@obliczeniowo/elementary
Version:
Library made in Angular version 19
1 lines • 21.6 kB
Source Map (JSON)
{"version":3,"file":"obliczeniowo-elementary-marks-displayer.mjs","sources":["../../../../projects/components/marks-displayer/services/marks.service.ts","../../../../projects/components/marks-displayer/components/mark-displayer/mark-displayer.component.ts","../../../../projects/components/marks-displayer/components/mark-displayer/mark-displayer.component.html","../../../../projects/components/marks-displayer/components/marks-displayer/marks-displayer.component.ts","../../../../projects/components/marks-displayer/components/marks-displayer/marks-displayer.component.html","../../../../projects/components/marks-displayer/marks-displayer.module.ts","../../../../projects/components/marks-displayer/obliczeniowo-elementary-marks-displayer.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\ntype binary = 0 | 1;\r\ntype binaryRow = [binary, binary, binary, binary, binary];\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MarksService {\r\n protected marks: { [key: string]: [number, number, number, number, number, number, number, number] } = {\r\n ' ': [0, 0, 0, 0, 0, 0, 0, 0],\r\n a: [0, 0, 22, 25, 17, 25, 22, 0],\r\n ą: [0, 22, 25, 17, 25, 22, 8, 16],\r\n b: [1, 1, 13, 19, 17, 19, 13, 0],\r\n c: [0, 0, 14, 17, 1, 17, 14, 0],\r\n ć: [6, 0, 14, 17, 1, 17, 14, 0],\r\n d: [16, 16, 30, 17, 17, 17, 30, 0],\r\n e: [0, 0, 14, 17, 31, 1, 14, 0],\r\n ę: [0, 0, 14, 17, 15, 1, 14, 24],\r\n f: [8, 4, 12, 6, 4, 4, 4, 0],\r\n g: [0, 0, 14, 17, 17, 14, 1, 30],\r\n h: [1, 1, 15, 17, 17, 17, 17, 0],\r\n i: [4, 0, 4, 4, 4, 4, 4, 0],\r\n j: [4, 0, 4, 4, 4, 4, 4, 2],\r\n k: [1, 1, 9, 5, 3, 5, 9, 0],\r\n l: [4, 4, 4, 4, 4, 4, 8, 0],\r\n ł: [4, 12, 6, 4, 4, 4, 8, 0],\r\n m: [0, 0, 15, 21, 21, 21, 21, 0],\r\n n: [0, 0, 14, 18, 18, 18, 18, 0],\r\n ń: [12, 0, 30, 17, 17, 17, 17, 0],\r\n o: [0, 0, 14, 17, 17, 17, 14, 0],\r\n ó: [12, 0, 14, 17, 17, 17, 14, 0],\r\n p: [0, 0, 15, 17, 17, 31, 1, 1],\r\n q: [0, 0, 30, 17, 17, 30, 16, 16],\r\n r: [0, 0, 13, 3, 1, 1, 0, 0],\r\n s: [0, 0, 14, 1, 14, 16, 14, 0],\r\n ś: [6, 0, 14, 17, 6, 8, 17, 14],\r\n t: [4, 4, 14, 4, 4, 4, 8, 0],\r\n u: [0, 0, 17, 17, 17, 17, 15, 0],\r\n v: [0, 0, 17, 17, 10, 10, 4, 0],\r\n w: [0, 0, 17, 17, 21, 21, 10, 0],\r\n x: [0, 0, 17, 10, 4, 10, 17, 0],\r\n y: [0, 0, 17, 17, 10, 4, 2, 1],\r\n z: [0, 0, 31, 8, 4, 2, 31, 0],\r\n ż: [4, 0, 30, 8, 4, 30, 0, 0],\r\n ź: [12, 0, 30, 8, 4, 30, 0, 0],\r\n ',': [0, 0, 0, 0, 4, 4, 2, 0],\r\n '.': [0, 0, 0, 0, 0, 0, 4, 0],\r\n '!': [4, 4, 4, 4, 4, 0, 4, 0],\r\n '?': [14, 17, 17, 8, 4, 0, 4, 0],\r\n \"'\": [2, 4, 0, 0, 0, 0, 0, 0],\r\n '\"': [10, 10, 0, 0, 0, 0, 0, 0],\r\n 0: [14, 17, 17, 17, 17, 14, 0, 0],\r\n 1: [4, 6, 4, 4, 4, 4, 0, 0],\r\n 2: [14, 17, 8, 4, 2, 31, 0, 0],\r\n 3: [14, 17, 8, 16, 17, 14, 0, 0],\r\n 4: [12, 10, 9, 31, 8, 8, 0, 0],\r\n 5: [31, 1, 15, 16, 17, 14, 0, 0],\r\n 6: [4, 2, 15, 17, 17, 14, 0, 0],\r\n 7: [30, 16, 8, 8, 4, 4, 0, 0],\r\n 8: [12, 18, 12, 18, 18, 12, 0, 0],\r\n 9: [12, 18, 18, 28, 16, 12, 0, 0],\r\n };\r\n\r\n constructor() {\r\n this.registerBinary(\r\n '<',\r\n [\r\n [0, 0, 0, 0, 0],\r\n [0, 0, 0, 1, 0],\r\n [0, 0, 1, 0, 0],\r\n [0, 1, 0, 0, 0],\r\n [0, 0, 1, 0, 0],\r\n [0, 0, 0, 1, 0],\r\n [0, 0, 0, 0, 0],\r\n [0, 0, 0, 0, 0],\r\n ]\r\n )\r\n }\r\n\r\n /** register by using single number per row */\r\n register(mark: string, rows: [number, number, number, number, number, number, number, number]) {\r\n this.marks = { ...this.marks, [mark]: rows };\r\n }\r\n\r\n /** register by using rows tables 0/1 (on/off) */\r\n registerBinary(mark: string, table: [binaryRow, binaryRow, binaryRow, binaryRow, binaryRow, binaryRow, binaryRow, binaryRow]) {\r\n this.marks = { ...this.marks, [mark]: table.map(v => (v as any).reduce((p: number, c: number, index: number) => (p += c * (1 << index), p)), 0) as any };\r\n }\r\n\r\n /** get mark */\r\n get(mark: string) {\r\n return this.marks[mark] || this.marks[' '];\r\n }\r\n}\r\n","import { MarksService } from './../../services/marks.service';\r\nimport { Component, Input, ElementRef } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'obl-mark-displayer',\r\n templateUrl: './mark-displayer.component.html',\r\n styleUrls: ['./mark-displayer.component.scss'],\r\n standalone: false\r\n})\r\nexport class MarkDisplayerComponent {\r\n /** size of digit unit */\r\n @Input() size: number = 5;\r\n /** margin of digit unit */\r\n @Input() margin: number = 1;\r\n /** mark to display, if not find in table then ' ' is displayed */\r\n @Input() set mark(value: string) {\r\n this._mark = value;\r\n this.setMark(value);\r\n }\r\n\r\n public get mark(): string {\r\n return this._mark;\r\n }\r\n\r\n private _mark!: string;\r\n\r\n constructor(protected element: ElementRef, public marks: MarksService) {\r\n this.mark = ' ';\r\n }\r\n\r\n protected matrix: number[] = new Array(8).fill(0);\r\n\r\n protected setMark(mark: string) {\r\n this.matrix = this.marks.get(mark);\r\n }\r\n\r\n protected map(value: number, mask: number) {\r\n return (value & mask) !== 0;\r\n }\r\n}\r\n","@for (value of matrix; track value) {\r\n <div class=\"line\">\r\n @for ( mask of [1, 2, 4, 8, 16]; track mask) {\r\n <div\r\n [ngClass]=\"{ selected: map(value, mask), element: true }\"\r\n [ngStyle]=\"{\r\n margin: margin / 2 + 'px',\r\n width: size + 'px',\r\n height: size + 'px'\r\n }\"\r\n ></div>\r\n }\r\n </div>\r\n}","import { Component, Input } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'obl-marks-displayer',\r\n templateUrl: './marks-displayer.component.html',\r\n styleUrls: ['./marks-displayer.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: MarksDisplayerComponent\r\n },\r\n ],\r\n standalone: false\r\n})\r\nexport class MarksDisplayerComponent implements ControlValueAccessor {\r\n /** number of marks per line */\r\n @Input() set marksPerLine(marksPerLine: number) {\r\n this._marksPerLine = new Array(marksPerLine).fill(0);\r\n };\r\n\r\n protected _marksPerLine: number[] = [];\r\n\r\n /** number of rows */\r\n @Input() set rows(rows: number) {\r\n this._rows = new Array(rows).fill(0);\r\n };\r\n\r\n protected _rows: number[] = [];\r\n\r\n /** size of basic mark unit displayer */\r\n @Input() size: number = 5;\r\n\r\n /** margin for basic units */\r\n @Input() margin: number = 1;\r\n\r\n /** text to displayed (will be split by new line mark to display per line) */\r\n @Input() set text(text: string) {\r\n this.lines = text.split('\\n');\r\n };\r\n\r\n protected lines: string[] = [];\r\n\r\n protected connectors = new Array(16).fill(0);\r\n\r\n onChange = (value: string) => { };\r\n\r\n onTouched = () => { };\r\n\r\n registerOnValidatorChange(fn: () => void): void { this.onChange = fn; }\r\n\r\n writeValue(set?: string): void {\r\n this.text = set || '';\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouched: any): void {\r\n this.onTouched = onTouched;\r\n }\r\n\r\n getChar(line: number, index: number) {\r\n return this.lines[line].charAt(index);\r\n }\r\n\r\n constructor() {\r\n this.text = '';\r\n this.rows = 2;\r\n this.marksPerLine = 15;\r\n }\r\n}\r\n","<div class=\"circle gold\" style=\"top: 0; left: 0\">\r\n <div class=\"circle hole\"></div>\r\n</div>\r\n<div class=\"circle gold\" style=\"top: 0; right: 0\">\r\n <div class=\"circle hole\"></div>\r\n</div>\r\n<div class=\"circle gold\" style=\"bottom: 0; left: 0\">\r\n <div class=\"circle hole\"></div>\r\n</div>\r\n<div class=\"circle gold\" style=\"bottom: 0; right: 0\">\r\n <div class=\"circle hole\"></div>\r\n</div>\r\n<div class=\"number\">1616B</div>\r\n\r\n@for (i of connectors; track i) {\r\n <div class=\"connect\" [ngStyle]=\"{ left: (60 + $index * 25) + 'px', width: '15px', height: '30px' }\">\r\n <div>\r\n <div></div>\r\n </div>\r\n </div>\r\n}\r\n\r\n<div class=\"highlight\">\r\n <div class=\"triangle-bottom-left\"></div>\r\n <div class=\"center-square\"></div>\r\n <div class=\"triangle-top-left \"></div>\r\n</div>\r\n\r\n<div class=\"displayer-frame\">\r\n <div class=\"frame\"></div>\r\n <div class=\"screen-background\">\r\n @for (line of _rows; track $index; let lineIndex = $index) {\r\n <div class=\"text-line\">\r\n @for (sign of _marksPerLine; track $index; let signIndex = $index) {\r\n <obl-mark-displayer\r\n [mark]=\"lines[lineIndex] && lines[lineIndex].charAt(signIndex) || ' '\"\r\n [margin]=\"margin\"\r\n [size]=\"size\"\r\n [style.marginLeft.px] =\"margin\"\r\n [style.marginRight.px] =\"margin\"\r\n ></obl-mark-displayer>\r\n }\r\n </div>\r\n }\r\n </div>\r\n <div class=\"frame\"></div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MarkDisplayerComponent } from './components/mark-displayer/mark-displayer.component';\r\nimport { MarksDisplayerComponent } from './components/marks-displayer/marks-displayer.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n MarkDisplayerComponent,\r\n MarksDisplayerComponent,\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [\r\n MarkDisplayerComponent,\r\n MarksDisplayerComponent\r\n ]\r\n})\r\nexport class MarksDisplayerModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.MarksService","i1","i2.MarkDisplayerComponent"],"mappings":";;;;;;MAQa,YAAY,CAAA;AACb,IAAA,KAAK,GAAwF;AACrG,QAAA,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AACjC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACjC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACjC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACjC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7B,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAA,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACjC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAChC,QAAA,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACjC,QAAA,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;KAClC;AAED,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,cAAc,CACjB,GAAG,EACH;YACE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChB,SAAA,CACF;;;IAIH,QAAQ,CAAC,IAAY,EAAE,IAAsE,EAAA;AAC3F,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE;;;IAI9C,cAAc,CAAC,IAAY,EAAE,KAA+F,EAAA;QAC1H,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAK,CAAS,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAQ,EAAE;;;AAI1J,IAAA,GAAG,CAAC,IAAY,EAAA;AACd,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;;uGApFjC,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA;;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCEY,sBAAsB,CAAA;AAiBX,IAAA,OAAA;AAA4B,IAAA,KAAA;;IAfzC,IAAI,GAAW,CAAC;;IAEhB,MAAM,GAAW,CAAC;;IAE3B,IAAa,IAAI,CAAC,KAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;;AAGrB,IAAA,IAAW,IAAI,GAAA;QACb,OAAO,IAAI,CAAC,KAAK;;AAGX,IAAA,KAAK;IAEb,WAAsB,CAAA,OAAmB,EAAS,KAAmB,EAAA;QAA/C,IAAO,CAAA,OAAA,GAAP,OAAO;QAAqB,IAAK,CAAA,KAAA,GAAL,KAAK;AACrD,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;;IAGP,MAAM,GAAa,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvC,IAAA,OAAO,CAAC,IAAY,EAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;;IAG1B,GAAG,CAAC,KAAa,EAAE,IAAY,EAAA;AACvC,QAAA,OAAO,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC;;uGA5BlB,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,yICTnC,yYAaC,EAAA,MAAA,EAAA,CAAA,0NAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FDJY,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,cAGlB,KAAK,EAAA,QAAA,EAAA,yYAAA,EAAA,MAAA,EAAA,CAAA,0NAAA,CAAA,EAAA;uGAIV,IAAI,EAAA,CAAA;sBAAZ;gBAEQ,MAAM,EAAA,CAAA;sBAAd;gBAEY,IAAI,EAAA,CAAA;sBAAhB;;;MECU,uBAAuB,CAAA;;IAElC,IAAa,YAAY,CAAC,YAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;;;IAG5C,aAAa,GAAa,EAAE;;IAGtC,IAAa,IAAI,CAAC,IAAY,EAAA;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;;;IAG5B,KAAK,GAAa,EAAE;;IAGrB,IAAI,GAAW,CAAC;;IAGhB,MAAM,GAAW,CAAC;;IAG3B,IAAa,IAAI,CAAC,IAAY,EAAA;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;;;IAGrB,KAAK,GAAa,EAAE;IAEpB,UAAU,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5C,IAAA,QAAQ,GAAG,CAAC,KAAa,KAAI,GAAI;AAEjC,IAAA,SAAS,GAAG,MAAK,GAAI;IAErB,yBAAyB,CAAC,EAAc,EAAA,EAAU,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;AAErE,IAAA,UAAU,CAAC,GAAY,EAAA;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,EAAE;;AAGvB,IAAA,gBAAgB,CAAC,QAAa,EAAA;AAC5B,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;;AAG1B,IAAA,iBAAiB,CAAC,SAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;IAG5B,OAAO,CAAC,IAAY,EAAE,KAAa,EAAA;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;;AAGvC,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC;AACb,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;uGAvDb,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EATrB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,WAAW,EAAE;AAChB,aAAA;AACJ,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbL,wiDA+CA,EAAA,MAAA,EAAA,CAAA,sxEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FD/Ba,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAGpB,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,WAAW,EAAyB;AACvC,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,KAAK,EAAA,QAAA,EAAA,wiDAAA,EAAA,MAAA,EAAA,CAAA,sxEAAA,CAAA,EAAA;wDAIN,YAAY,EAAA,CAAA;sBAAxB;gBAOY,IAAI,EAAA,CAAA;sBAAhB;gBAOQ,IAAI,EAAA,CAAA;sBAAZ;gBAGQ,MAAM,EAAA,CAAA;sBAAd;gBAGY,IAAI,EAAA,CAAA;sBAAhB;;;MEpBU,oBAAoB,CAAA;uGAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,iBAX7B,sBAAsB;YACtB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAGvB,YAAY,CAAA,EAAA,OAAA,EAAA,CAGZ,sBAAsB;YACtB,uBAAuB,CAAA,EAAA,CAAA;AAGd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,YAP7B,YAAY,CAAA,EAAA,CAAA;;2FAOH,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB;AACD;AACF,iBAAA;;;ACjBD;;AAEG;;;;"}