@apipass/schemas 1.0.0 → 1.0.8

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.
Files changed (68) hide show
  1. package/base-schema.component.d.ts +12 -12
  2. package/{esm2020 → esm2022}/apipass-schemas.mjs +4 -4
  3. package/esm2022/base-schema.component.mjs +38 -0
  4. package/esm2022/public-api.mjs +17 -0
  5. package/esm2022/schema-custom-attributes/schema-custom-attributes.mjs +169 -0
  6. package/esm2022/schema-fields.service.mjs +81 -0
  7. package/esm2022/schema-form/schema-array/array-session/array-session.mjs +141 -0
  8. package/{esm2020 → esm2022}/schema-form/schema-array/schema-array.mjs +219 -220
  9. package/esm2022/schema-form/schema-form.mjs +107 -0
  10. package/esm2022/schema-form/schema-input/field-render/field-render.mjs +76 -0
  11. package/esm2022/schema-form/schema-input/input-render/boolean-input/boolean-input.component.mjs +51 -0
  12. package/esm2022/schema-form/schema-input/input-render/input-render.mjs +193 -0
  13. package/esm2022/schema-form/schema-input/input-render/number-input/number-input.component.mjs +49 -0
  14. package/esm2022/schema-form/schema-input/schema-input.mjs +95 -0
  15. package/esm2022/schema-form/schema-object/schema-object.mjs +125 -0
  16. package/esm2022/schema-form-render.mjs +126 -0
  17. package/esm2022/schema-form-render.module.mjs +109 -0
  18. package/esm2022/schema-validation-field.mjs +18 -0
  19. package/esm2022/struct.utils.mjs +9 -0
  20. package/esm2022/type-script-compile/type-script-compile.base.mjs +115 -0
  21. package/{fesm2020 → fesm2022}/apipass-schemas.mjs +1572 -1566
  22. package/fesm2022/apipass-schemas.mjs.map +1 -0
  23. package/index.d.ts +5 -5
  24. package/package.json +15 -21
  25. package/public-api.d.ts +16 -16
  26. package/schema-custom-attributes/schema-custom-attributes.d.ts +21 -21
  27. package/schema-fields.service.d.ts +14 -15
  28. package/schema-form/schema-array/array-session/array-session.d.ts +19 -19
  29. package/schema-form/schema-array/schema-array.d.ts +31 -32
  30. package/schema-form/schema-form.d.ts +31 -31
  31. package/schema-form/schema-input/field-render/field-render.d.ts +16 -16
  32. package/schema-form/schema-input/input-render/boolean-input/boolean-input.component.d.ts +15 -15
  33. package/schema-form/schema-input/input-render/input-render.d.ts +29 -29
  34. package/schema-form/schema-input/input-render/number-input/number-input.component.d.ts +15 -15
  35. package/schema-form/schema-input/schema-input.d.ts +18 -19
  36. package/schema-form/schema-object/schema-object.d.ts +34 -34
  37. package/schema-form-render.d.ts +31 -31
  38. package/schema-form-render.module.d.ts +23 -23
  39. package/schema-validation-field.d.ts +23 -23
  40. package/struct.utils.d.ts +1 -1
  41. package/type-script-compile/type-script-compile.base.d.ts +17 -17
  42. package/assets/css/buttons.scss +0 -118
  43. package/assets/css/colors.scss +0 -34
  44. package/assets/css/fonts.scss +0 -24
  45. package/assets/css/inputs.scss +0 -197
  46. package/assets/css/pt_sans.scss +0 -144
  47. package/assets/css/spacing.scss +0 -28
  48. package/assets/css/texts.scss +0 -18
  49. package/esm2020/base-schema.component.mjs +0 -38
  50. package/esm2020/public-api.mjs +0 -17
  51. package/esm2020/schema-custom-attributes/schema-custom-attributes.mjs +0 -169
  52. package/esm2020/schema-fields.service.mjs +0 -82
  53. package/esm2020/schema-form/schema-array/array-session/array-session.mjs +0 -143
  54. package/esm2020/schema-form/schema-form.mjs +0 -107
  55. package/esm2020/schema-form/schema-input/field-render/field-render.mjs +0 -69
  56. package/esm2020/schema-form/schema-input/input-render/boolean-input/boolean-input.component.mjs +0 -46
  57. package/esm2020/schema-form/schema-input/input-render/input-render.mjs +0 -192
  58. package/esm2020/schema-form/schema-input/input-render/number-input/number-input.component.mjs +0 -44
  59. package/esm2020/schema-form/schema-input/schema-input.mjs +0 -96
  60. package/esm2020/schema-form/schema-object/schema-object.mjs +0 -123
  61. package/esm2020/schema-form-render.mjs +0 -126
  62. package/esm2020/schema-form-render.module.mjs +0 -108
  63. package/esm2020/schema-validation-field.mjs +0 -14
  64. package/esm2020/struct.utils.mjs +0 -9
  65. package/esm2020/type-script-compile/type-script-compile.base.mjs +0 -112
  66. package/fesm2015/apipass-schemas.mjs +0 -1803
  67. package/fesm2015/apipass-schemas.mjs.map +0 -1
  68. package/fesm2020/apipass-schemas.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"apipass-schemas.mjs","sources":["../../../projects/schemas/src/base-schema.component.ts","../../../projects/schemas/src/struct.utils.ts","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.html","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.ts","../../../projects/schemas/src/schema-form/schema-form.html","../../../projects/schemas/src/schema-form/schema-form.ts","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.html","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.ts","../../../projects/schemas/src/schema-form/schema-array/schema-array.html","../../../projects/schemas/src/schema-form/schema-array/schema-array.ts","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.html","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.ts","../../../projects/schemas/src/schema-form/schema-input/schema-input.html","../../../projects/schemas/src/schema-form/schema-input/schema-input.ts","../../../projects/schemas/src/schema-form/schema-object/schema-object.html","../../../projects/schemas/src/schema-form/schema-object/schema-object.ts","../../../projects/schemas/src/schema-validation-field.ts","../../../projects/schemas/src/schema-fields.service.ts","../../../projects/schemas/src/schema-form-render.html","../../../projects/schemas/src/schema-form-render.ts","../../../projects/schemas/src/type-script-compile/type-script-compile.base.ts","../../../projects/schemas/src/schema-form-render.module.ts","../../../projects/schemas/src/apipass-schemas.ts"],"sourcesContent":["import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseSchemaComponent {\r\n\r\n @Input() model: any;\r\n @Input() public schema: any;\r\n @Output() modelChange: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n getSchemaProperties(): any {\r\n return this.schema.properties instanceof Array ? this.schema.properties : [this.schema.properties];\r\n }\r\n\r\n public canRender(property: any): boolean {\r\n // tslint:disable-next-line:no-eval\r\n property.canRender = property?.conditionExpression ? eval(property.conditionExpression) : true;\r\n return property.canRender;\r\n }\r\n\r\n public onDrop(event: any, attr: any): string {\r\n const data = event.data;\r\n if (!attr) {\r\n attr = '';\r\n }\r\n attr += `{{${data}}}`;\r\n return attr;\r\n }\r\n\r\n}\r\n","export function onDropStruct(event: any, attr: any): any {\r\n const data = event.data;\r\n if (!attr) {\r\n attr = '';\r\n }\r\n attr += `{{${data}}}`;\r\n return attr;\r\n}\r\n","<div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label bold\">{{ label }}</label>\r\n <div class=\"subsection-element\" *ngFor=\"let item of model; let index = index; trackBy:trackByIndex;\">\r\n <div class=\"subsection-item-title\">{{ removeLabel }} {{ index + 1 }}\r\n <i class=\"far fa-trash-alt\" (click)=\"remove(item)\"></i>\r\n </div>\r\n <div class=\"row\" *ngIf=\"item.mappingAttributes || item.mappingAttributes === ''\">\r\n <div class=\"col-md-8\">\r\n <label class=\"info-label\">Loop</label>\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.loop\" [ngModelOptions]=\"{standalone: true}\"\r\n dndDropzone (dndDrop)=\"item.loop = this.onDrop($event, item.loop)\" />\r\n </div>\r\n <div class=\"col-md-4\">\r\n <label class=\"info-label\">Alias</label>\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.alias\" [ngModelOptions]=\"{standalone: true}\"\r\n dndDropzone (dndDrop)=\"item.alias = this.onDrop($event, item.alias)\" />\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"subsectionItem, context: {\r\n $implicit: {\r\n items: model, index: index,\r\n mappingAttributes: (item.mappingAttributes || item.mappingAttributes === '') ? item.mappingAttributes : item\r\n }\r\n }\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row add-buttons\">\r\n <div class=\"col-md-12\">\r\n <button class=\"btn btn-outline-primary float-left btn-personal-edit\" (click)=\"add()\">{{ this.addItemLabel }}</button>\r\n <button class=\"btn btn-outline-primary float-left btn-personal-edit ml-2\" *ngIf=\"showAddLoop\" (click)=\"addLoop()\">{{ this.addLoopLabel }}</button>\r\n </div>\r\n</div>\r\n","import {Component, ContentChild, EventEmitter, Input, Output, TemplateRef} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../../../base-schema.component';\r\n\r\n@Component({\r\n selector: 'array-session',\r\n templateUrl: 'array-session.html',\r\n styleUrls: ['array-session.scss']\r\n})\r\nexport class ArraySessionComponent extends BaseSchemaComponent {\r\n\r\n @Input() public label = '';\r\n @Input() public removeLabel = 'Remove';\r\n @Input() public addItemLabel = 'Add Item';\r\n @Input() public addLoopLabel = 'Add Loop';\r\n\r\n @Input() public showAddLoop = true;\r\n\r\n @Output() public onAdd: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() public onAddLoop: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ContentChild(TemplateRef, { read: TemplateRef })\r\n public subsectionItem: TemplateRef<any> | null = null;\r\n\r\n public add(): void {\r\n this.onAdd.next();\r\n }\r\n\r\n public addLoop(): void {\r\n this.onAddLoop.next();\r\n }\r\n\r\n public remove(item: any): any {\r\n const values = this.model;\r\n const index = values.indexOf(item);\r\n values.splice(index, 1);\r\n this.model = values;\r\n }\r\n\r\n public trackByIndex(index: number, obj: any): any {\r\n return index;\r\n }\r\n\r\n}\r\n","<div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\r\n <schema-input\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"model\"\r\n [schema]=\"schema\"\r\n [editing]=\"this.editing\"\r\n [index]=\"i\">\r\n </schema-input>\r\n <schema-object\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [additionalAttributesLabel]=\"additionalAttributesLabel\"\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"model\"\r\n [schema]=\"schema\"\r\n [editing]=\"this.editing\"\r\n [index]=\"i\">\r\n </schema-object>\r\n <schema-array\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [additionalAttributesLabel]=\"additionalAttributesLabel\"\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"model\"\r\n [schema]=\"schema\"\r\n [editing]=\"this.editing\"\r\n [index]=\"i\">\r\n </schema-array>\r\n</div>\r\n","import {AfterContentInit, Component, Input} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../base-schema.component';\r\nimport {onDropStruct} from '../struct.utils';\r\nimport {DndDropEvent} from 'ngx-drag-drop';\r\n\r\n@Component({\r\n selector: 'schema-form',\r\n templateUrl: 'schema-form.html',\r\n styleUrls: ['./schema-form.scss']\r\n})\r\nexport class SchemaFormComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() public requiredLabel = '(required)';\r\n @Input() public addItemLabel = 'Add Item';\r\n @Input() public addLoopLabel = 'Add Loop';\r\n @Input() public additionalAttributesLabel = 'Additional Fields';\r\n @Input() public customAttributeRemoveLabel = 'Remove';\r\n @Input() public newCustomFieldNameLabel = 'Name';\r\n @Input() public newCustomFieldValueLabel = 'Value';\r\n @Input() public newCustomFieldAddLabel = 'Add';\r\n @Input() public newCustomFieldSaveLabel = 'Save';\r\n @Input() public newCustomFieldCancelLabel = 'Cancel';\r\n @Input() public selectPlaceHolderLabel = 'Select Item';\r\n @Input() public selectSearchPlaceHolderLabel = 'Search';\r\n @Input() public selectClearLabel = 'Clear';\r\n @Input() public selectNotFoundLabel = 'No Items Found';\r\n\r\n @Input() idPrefix: string | undefined;\r\n @Input() schemas = [];\r\n @Input() customProperties = false;\r\n @Input() editing = false;\r\n @Input() inputType: string | undefined;\r\n\r\n loaded = false;\r\n\r\n ngAfterContentInit(): void {\r\n this.loaded = true;\r\n }\r\n\r\n onDrop($event: DndDropEvent, modelElement: any): any {\r\n return onDropStruct($event, modelElement);\r\n }\r\n\r\n getId(index: number): string {\r\n return `${this.idPrefix}-struct-${index}`;\r\n }\r\n\r\n}\r\n\r\n","<div class=\"row custom-attributes\" *ngFor=\"let attribute of model; let i = index\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label\">{{ attribute.label }}</label>\r\n <span (click)=\"removeCustomAttribute(i)\" class=\"customAttributeDeleteIcon\">\r\n <i class=\"far fa-trash-alt\" [matTooltip]=\"this.customAttributeRemoveLabel\"></i>\r\n </span>\r\n\r\n <input\r\n class=\"form-control\"\r\n [(ngModel)]=\"attribute.value\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n dndDropzone\r\n (dndDrop)=\"onDropAttr($event, 'value', attribute)\"\r\n />\r\n </div>\r\n</div>\r\n<div *ngIf=\"newCustomField\" class=\"struct-custom-field\">\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label\">{{ this.newCustomFieldNameLabel }}<strong>*</strong></label>\r\n <input \r\n class=\"form-control\" \r\n [(ngModel)]=\"newCustomField.label\" \r\n [ngModelOptions]=\"{standalone: true}\"\r\n dndDropzone\r\n (dndDrop)=\"onDropAttr($event, 'label', newCustomField)\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label\">{{ this.newCustomFieldValueLabel }}<strong>*</strong></label>\r\n <input\r\n class=\"form-control\"\r\n [(ngModel)]=\"newCustomField.value\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n dndDropzone\r\n (dndDrop)=\"onDropAttr($event, 'value', newCustomField)\"\r\n />\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"row actions-buttons\">\r\n <div class=\"col-md-12 pull-right\">\r\n <button class=\"btn btn-outline-primary float-left\" *ngIf=\"!newCustomField\" (click)=\"newCustomField = {}\">\r\n {{ this.newCustomFieldAddLabel }}\r\n </button>\r\n <button\r\n class=\"btn btn-outline-danger float-left ml-2\"\r\n *ngIf=\"newCustomField\"\r\n (click)=\"newCustomField = null\"\r\n >\r\n {{ this.newCustomFieldCancelLabel }}\r\n </button>\r\n <button\r\n class=\"btn btn-outline-primary float-left\"\r\n *ngIf=\"newCustomField && newCustomField.label && newCustomField.value\"\r\n (click)=\"saveNewAttribute(newCustomField)\"\r\n >\r\n {{ this.newCustomFieldSaveLabel }}\r\n </button>\r\n </div>\r\n</div>\r\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../base-schema.component';\r\nimport {DndDropEvent} from \"ngx-drag-drop\";\r\n\r\n@Component({\r\n selector: 'schema-custom-attributes',\r\n templateUrl: 'schema-custom-attributes.html',\r\n styleUrls: ['./schema-custom-attributes.scss']\r\n})\r\nexport class SchemaCustomAttributesComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() onDropFunction: (($event: any, modelElement: any) => any | undefined) | undefined;\r\n\r\n @Input() customAttributeRemoveLabel = 'Remove';\r\n @Input() newCustomFieldNameLabel = 'Name';\r\n @Input() newCustomFieldValueLabel = 'Value';\r\n @Input() newCustomFieldAddLabel = 'Add';\r\n @Input() newCustomFieldSaveLabel = 'Save';\r\n @Input() newCustomFieldCancelLabel = 'Cancel';\r\n\r\n @Output() onSaveAttribute: EventEmitter<any> = new EventEmitter<any>();\r\n @Output() onDropOnAttribute: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public newCustomField: any;\r\n\r\n ngAfterContentInit(): void {\r\n if (!this.model) {\r\n this.model = [];\r\n }\r\n }\r\n\r\n public saveNewAttribute(newCustomField: any): void {\r\n this.onSaveAttribute.emit(newCustomField);\r\n this.model.push(newCustomField);\r\n this.newCustomField = null;\r\n this.modelChange.emit(this.model);\r\n }\r\n\r\n public removeCustomAttribute(attributeIndex: any): void {\r\n this.model.splice(attributeIndex, 1);\r\n this.modelChange.emit(this.model);\r\n }\r\n\r\n public onDropAttr($event: any, value: any, newCustomField: any): void {\r\n if (!newCustomField[value]) {\r\n newCustomField[value] = '';\r\n }\r\n newCustomField[value] += `{{${$event.data}}}`;\r\n }\r\n}\r\n","<div *ngIf=\"loaded && canRender(schema) && schema.type === 'array' && schema.properties\">\r\n <array-session\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [label]=\"schema.title\"\r\n [removeLabel]=\"schema.title\"\r\n [(model)]=\"this.model[schema.id]\"\r\n [showAddLoop]=\"schema.withoutLoop !== true\"\r\n (onAdd)=\"addArrayItem(schema.id, {})\"\r\n (onAddLoop)=\"addArrayLoop(schema.id, {})\">\r\n <ng-template let-item>\r\n <schema-form\r\n *ngIf=\"this.model[schema.id][item.index].loop !== undefined\"\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [additionalAttributesLabel]=\"additionalAttributesLabel\"\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"this.model[schema.id][item.index].mappingAttributes\"\r\n [schemas]=\"getSchemaProperties()\"\r\n [editing]=\"this.editing\">\r\n </schema-form>\r\n <schema-form\r\n *ngIf=\"this.model[schema.id][item.index].loop == undefined\"\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [additionalAttributesLabel]=\"additionalAttributesLabel\"\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"this.model[schema.id][item.index]\"\r\n [schemas]=\"getSchemaProperties()\"\r\n [editing]=\"this.editing\">\r\n </schema-form>\r\n\r\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id][item.index] && schema.customProperties\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label bold\">{{ this.additionalAttributesLabel }}</label>\r\n <schema-custom-attributes\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [(model)]=\"this.model[schema.id][item.index].customAttributes\"\r\n [onDropFunction]=\"onDrop\">\r\n </schema-custom-attributes>\r\n </div>\r\n </div>\r\n\r\n </ng-template>\r\n </array-session>\r\n</div>\r\n<div *ngIf=\"schema && canRender(schema) && schema.type === 'array' && !schema.properties\">\r\n <array-session\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [label]=\"schema.title\"\r\n [removeLabel]=\"schema.title\"\r\n [(model)]=\"this.model[schema.id]\"\r\n [showAddLoop]=\"schema.withoutLoop !== true\"\r\n (onAdd)=\"addArrayItem(schema.id, '')\"\r\n (onAddLoop)=\"addArrayLoop(schema.id, '')\"\r\n >\r\n <ng-template let-item>\r\n <label class=\"info-label\" [htmlFor]=\"getId(index)+'-'+item.index\">{{ schema.title }}</label>\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index].mappingAttributes\"\r\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\r\n (dndDrop)=\"item.items[item.index].mappingAttributes = this.onDrop($event, item.items[item.index].mappingAttributes)\"\r\n *ngIf=\"item.items[item.index].mappingAttributes || item.items[item.index].mappingAttributes === ''; else elseBlock\"\r\n [id]=\"getId(index)+'-'+item.index\"/>\r\n <ng-template #elseBlock>\r\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index]\"\r\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\r\n (dndDrop)=\"item.items[item.index] = this.onDrop($event, item.items[item.index])\"\r\n [id]=\"getId(index)+'-'+item.index\"/>\r\n </ng-template>\r\n </ng-template>\r\n </array-session>\r\n</div>\r\n","import {AfterContentInit, Component, Input} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../../base-schema.component';\r\nimport {onDropStruct} from '../../struct.utils';\r\nimport {DndDropEvent} from 'ngx-drag-drop';\r\n\r\n@Component({\r\n selector: 'schema-array',\r\n templateUrl: 'schema-array.html',\r\n styleUrls: ['./schema-array.scss']\r\n})\r\nexport class SchemaArrayComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() public requiredLabel = '(required)';\r\n @Input() public addItemLabel = 'Add Item';\r\n @Input() public addLoopLabel = 'Add Loop';\r\n @Input() public additionalAttributesLabel = 'Additional Fields';\r\n @Input() public customAttributeRemoveLabel = 'Remove';\r\n @Input() public newCustomFieldNameLabel = 'Name';\r\n @Input() public newCustomFieldValueLabel = 'Value';\r\n @Input() public newCustomFieldAddLabel = 'Add';\r\n @Input() public newCustomFieldSaveLabel = 'Save';\r\n @Input() public newCustomFieldCancelLabel = 'Cancel';\r\n @Input() public selectPlaceHolderLabel = 'Select Item';\r\n @Input() public selectSearchPlaceHolderLabel = 'Search';\r\n @Input() public selectClearLabel = 'Clear';\r\n @Input() public selectNotFoundLabel = 'No Items Found';\r\n\r\n @Input() idPrefix: string | undefined;\r\n @Input() schema: any;\r\n @Input() editing = false;\r\n @Input() index: number | undefined;\r\n\r\n loaded: boolean | undefined;\r\n\r\n ngAfterContentInit(): void {\r\n if (this.schema?.type === 'array' && this.model && !this.model[this.schema.id]) {\r\n this.model[this.schema.id] = [];\r\n }\r\n this.loaded = true;\r\n }\r\n\r\n onDrop($event: DndDropEvent, modelElement: any): any {\r\n return onDropStruct($event, modelElement);\r\n }\r\n\r\n getId(index: any): string {\r\n return `${this.idPrefix}-struct-${index}`;\r\n }\r\n\r\n addArrayItem(id: any, param: any): void {\r\n this.model[id] = this.model[id] || [];\r\n if (this.schema.properties) {\r\n param = {};\r\n Object.keys(this.schema.properties).forEach(key => {\r\n const schemaProperty = this.schema.properties[key];\r\n if (schemaProperty.type === 'object') {\r\n param[schemaProperty.id] = {};\r\n } else if (schemaProperty.type === 'array') {\r\n param[schemaProperty.id] = [];\r\n }\r\n });\r\n }\r\n this.model[id].push(param);\r\n }\r\n\r\n addArrayLoop(id: any, mappingAttributes: any): void {\r\n this.model[id] = this.model[id] || [];\r\n this.model[id].push({loop: '', alias: '', mappingAttributes});\r\n }\r\n\r\n}\r\n\r\n","<div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\r\n <label class=\"info-label bold\" [htmlFor]=\"inputId\">\r\n {{ label }}\r\n <small [ngClass]=\"{'has-error':state && !state.valid && state.errors}\" *ngIf=\"required\">{{this.requiredLabel}}</small>\r\n <span class=\"info-icon\" matTooltip=\"{{ tooltip }}\" *ngIf=\"tooltip\">\r\n <i class=\"far fa-question-circle\"></i>\r\n </span>\r\n </label>\r\n\r\n <!-- Input, textarea or select -->\r\n <ng-content></ng-content>\r\n</div>\r\n","import {Component, Input} from '@angular/core';\r\nimport {FormControl} from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'field-render',\r\n templateUrl: 'field-render.html',\r\n styleUrls: ['field-render.scss']\r\n})\r\nexport class FieldRenderComponent {\r\n\r\n @Input() requiredLabel = '(required)';\r\n @Input() label = '';\r\n @Input() inputId: string | undefined;\r\n @Input() tooltip: string | undefined;\r\n @Input() required = true;\r\n\r\n /**\r\n * Estado do input no formulário para validar quando\r\n * é necessário exibir as mensagens de erro.\r\n */\r\n @Input() state: FormControl | undefined;\r\n\r\n}\r\n","import {AfterContentInit, Component, Input} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\r\nimport {DndDropEvent} from 'ngx-drag-drop';\r\n\r\n@Component({\r\n selector: 'boolean-input',\r\n templateUrl: 'boolean-input.component.html',\r\n})\r\nexport class BooleanInputComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() placeholder: string | undefined;\r\n @Input() inputId: string | undefined;\r\n @Input() maxLength: any;\r\n\r\n value: string | undefined;\r\n\r\n ngAfterContentInit(): void {\r\n this.value = this.model;\r\n }\r\n\r\n onDropCallBack($event: DndDropEvent, value: any): void {\r\n this.value = value = super.onDrop($event, value);\r\n this.changeValue(value);\r\n }\r\n\r\n public changeValue($event: any): void {\r\n if ($event && ($event === 'true' || $event === 'false')) {\r\n this.model = $event === 'true';\r\n this.value = this.model;\r\n this.modelChange.emit(this.model);\r\n } else {\r\n this.model = $event;\r\n this.value = this.model;\r\n this.modelChange.emit(this.model);\r\n }\r\n }\r\n\r\n}\r\n","<input class=\"form-control\"\r\n [id]=\"inputId\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"changeValue($event)\"\r\n dndDropzone (dndDrop)=\"onDropCallBack($event, value)\"\r\n [maxlength]=\"maxLength\">\r\n","import {AfterContentInit, Component, Input} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\r\nimport {DndDropEvent} from 'ngx-drag-drop';\r\n\r\n@Component({\r\n selector: 'number-input',\r\n templateUrl: 'number-input.component.html'\r\n})\r\nexport class NumberInputComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() placeholder: string | undefined;\r\n @Input() inputId: string | undefined;\r\n @Input() maxLength: any;\r\n\r\n value: string | undefined;\r\n\r\n ngAfterContentInit(): void {\r\n this.value = this.model;\r\n }\r\n\r\n onDropCallBack($event: DndDropEvent, value: any): void {\r\n this.value = value = super.onDrop($event, value);\r\n this.changeValue(value);\r\n }\r\n\r\n public changeValue($event: any): void {\r\n if ($event && !isNaN($event)) {\r\n this.model = Number($event);\r\n this.modelChange.emit(this.model);\r\n } else {\r\n this.model = $event;\r\n this.modelChange.emit(this.model);\r\n }\r\n }\r\n\r\n}\r\n","<input class=\"form-control number-input\"\r\n [id]=\"inputId\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"changeValue($event)\"\r\n dndDropzone (dndDrop)=\"onDropCallBack($event, value)\"\r\n [maxlength]=\"maxLength\">\r\n","<div class=\"schema-input-container\" [ngClass]=\"{'schema-input-container-password' : schema.type === 'password' }\" >\r\n <div *ngIf=\"schema.type === 'password' && editing\" class=\"edit-icon\">\r\n <icon *ngIf=\"this.schema.readOnlyPassword\" size=\"15\" type=\"primary\" [name]=\"'fas fa-pencil-alt'\"\r\n (onClick)=\"editPassword()\">\r\n </icon>\r\n <icon *ngIf=\"!this.schema.readOnlyPassword\" size=\"15\" type=\"primary clickable\" [name]=\"'fas fa-ban'\"\r\n (mousedown)=\"cancelEditPassword(); $event.stopPropagation()\">\r\n </icon>\r\n </div>\r\n <input (blur)=\"onInputBlur()\"\r\n [disabled]=\"schema.readOnlyPassword\" class=\"form-control\"\r\n [type]=\"schema.type === 'password' ? 'password' : 'text'\"\r\n placeholder=\"{{schema.type === 'password' && this.schema.readOnlyPassword ? '*****' : schema.description}}\"\r\n *ngIf=\"(schema.type === 'string' || schema.type === 'password') && !schema.options\"\r\n [(ngModel)]=\"value\" [ngModelOptions]=\"{standalone: true}\"\r\n (ngModelChange)=\"onChange($event)\"\r\n dndDropzone (dndDrop)=\"onDropCallBack($event, value)\" [id]=\"inputId\" [maxlength]=\"schema.maxLength\"/>\r\n\r\n <select-box\r\n [id]=\"inputId\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event.key)\"\r\n [ngModelOptions]=\"{standalone: true}\"\r\n *ngIf=\"schema.type === 'string' && schema.options\"\r\n [placeholder]=\"schema.description || this.selectPlaceHolderLabel\"\r\n [searchPlaceHolder]=\"selectSearchPlaceHolderLabel\"\r\n [clearText]=\"this.selectClearLabel\"\r\n [notFoundText]=\"this.selectNotFoundLabel\"\r\n [bindKey]=\"'key'\"\r\n [bindValue]=\"'value'\"\r\n [enabledSearch]=\"true\"\r\n [limitItens]=\"30\"\r\n [data]=\"schema.options\">\r\n </select-box>\r\n\r\n <number-input [(model)]=\"value\" [inputId]=\"inputId\"\r\n *ngIf=\"schema.type === 'number'\"\r\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\"\r\n (modelChange)=\"onChange($event)\"></number-input>\r\n\r\n <boolean-input [(model)]=\"value\" [inputId]=\"inputId\"\r\n *ngIf=\"schema.type === 'boolean'\"\r\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\"\r\n (modelChange)=\"onChange($event)\"></boolean-input>\r\n</div>\r\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../../../base-schema.component';\r\nimport {DndDropEvent} from 'ngx-drag-drop';\r\n\r\n@Component({\r\n selector: 'input-render',\r\n templateUrl: 'input-render.html',\r\n styleUrls: ['./input-render.scss']\r\n})\r\nexport class InputRenderComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() public selectPlaceHolderLabel = 'Select Item';\r\n @Input() public selectSearchPlaceHolderLabel = 'Search';\r\n @Input() public selectClearLabel = 'Clear';\r\n @Input() public selectNotFoundLabel = 'No Items Found';\r\n\r\n @Input() public schema: any = {};\r\n @Input() public modelPropertiesPath: string | undefined;\r\n @Input() public inputId: string | undefined;\r\n @Input() public editing = false;\r\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\r\n\r\n value: any;\r\n\r\n ngAfterContentInit(): void {\r\n if (this.schema?.type !== 'object' && this.schema?.type !== 'array') {\r\n if (!this.editing && this.schema.options) {\r\n const $event = this.schema.options.filter((item: any) => item.selected === true);\r\n if ($event[0]) {\r\n this.onChange($event[0].key);\r\n this.value = $event[0];\r\n }\r\n } else if (this.editing && this.schema.options && this.model) {\r\n const $event = this.schema.options.filter((item: any) => item.key === this.model);\r\n if ($event[0]) {\r\n this.onChange($event[0].key);\r\n this.value = $event[0];\r\n }\r\n } else {\r\n this.value = this.model;\r\n }\r\n }\r\n if (this.editing && this.schema?.type === 'password') {\r\n this.schema.readOnlyPassword = true;\r\n }\r\n }\r\n\r\n onDropCallBack($event: DndDropEvent, value: any): void {\r\n this.value = value = super.onDrop($event, value);\r\n this.onChange(value);\r\n }\r\n\r\n onChange($event: any): void {\r\n if (this.schema.type !== 'password' || !this.editing) {\r\n this.model = $event;\r\n this.modelChange.emit(this.model);\r\n }\r\n }\r\n\r\n public onInputBlur(): void {\r\n if (this.schema?.type === 'password') {\r\n this.savePassword();\r\n }\r\n }\r\n\r\n savePassword(): void {\r\n this.model = this.value || '';\r\n this.modelChange.emit(this.model);\r\n this.setReadOnlyPassword(true);\r\n }\r\n\r\n cancelEditPassword(): void {\r\n setTimeout(() => {\r\n this.value = undefined;\r\n this.model = undefined;\r\n this.modelChange.emit(this.model);\r\n this.setReadOnlyPassword(true);\r\n }, 100);\r\n }\r\n\r\n editPassword(): void {\r\n this.setReadOnlyPassword(false);\r\n }\r\n\r\n setReadOnlyPassword(value: boolean): void {\r\n this.schema.readOnlyPassword = value;\r\n }\r\n\r\n}\r\n","<div class=\"row schema-input\"\r\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && schema.minLength && schema.minLength > 0\">\r\n <div class=\"col-md-12\">\r\n <field-render [requiredLabel]=\"requiredLabel\" [label]=\"schema.title\" [tooltip]=\"schema.help\" [inputId]=\"getId(index)\">\r\n <input-render\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [inputId]=\"getId(index)\"\r\n [schema]=\"schema\"\r\n [(model)]=\"this.model[schema.id]\"\r\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\r\n [editing]=\"this.editing\"></input-render>\r\n </field-render>\r\n </div>\r\n</div>\r\n<div class=\"row schema-input\"\r\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && (!schema.minLength || schema.minLength === 0)\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label bold\" [htmlFor]=\"getId(index)\">\r\n {{schema.title}}\r\n <span class=\"config-tooltip\" matTooltip=\"{{ schema.help }}\" *ngIf=\"schema.help\">?</span>\r\n </label>\r\n <input-render\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [inputId]=\"getId(index)\"\r\n [schema]=\"schema\"\r\n [(model)]=\"this.model[schema.id]\"\r\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\r\n [editing]=\"this.editing\"></input-render>\r\n </div>\r\n</div>\r\n","import {AfterContentInit, Component, Input} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../../base-schema.component';\r\n\r\n@Component({\r\n selector: 'schema-input',\r\n templateUrl: 'schema-input.html',\r\n styleUrls: ['./schema-input.scss']\r\n})\r\nexport class SchemaInputComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() public requiredLabel = '(required)';\r\n @Input() public selectPlaceHolderLabel = 'Select Item';\r\n @Input() public selectSearchPlaceHolderLabel = 'Search';\r\n @Input() public selectClearLabel = 'Clear';\r\n @Input() public selectNotFoundLabel = 'No Items Found';\r\n\r\n @Input() idPrefix: string | undefined;\r\n @Input() schema: any;\r\n @Input() editing = false;\r\n @Input() index: number | undefined;\r\n\r\n loaded: boolean | undefined;\r\n\r\n ngAfterContentInit(): void {\r\n this.loaded = true;\r\n }\r\n\r\n getId(index: any): string {\r\n return `${this.idPrefix}-struct-${index}`;\r\n }\r\n\r\n}\r\n\r\n","<div class=\"schema-object-container\" *ngIf=\"loaded && canRender(schema) && schema.type == 'object'\">\r\n <div class=\"schema-object-title\">{{schema.title}}</div>\r\n <schema-form\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [additionalAttributesLabel]=\"additionalAttributesLabel\"\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"model[schema.id]\"\r\n [schemas]=\"getSchemaProperties()\"\r\n [editing]=\"this.editing\">\r\n </schema-form>\r\n\r\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id] && schema.customProperties\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label bold\">{{ this.additionalAttributesLabel }}</label>\r\n <schema-custom-attributes\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [(model)]=\"this.model[schema.id].customAttributes\"\r\n [onDropFunction]=\"onDrop\">\r\n </schema-custom-attributes>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {BaseSchemaComponent} from '../../base-schema.component';\r\nimport {DndDropEvent} from 'ngx-drag-drop';\r\nimport {onDropStruct} from '../../struct.utils';\r\n\r\n@Component({\r\n selector: 'schema-object',\r\n templateUrl: 'schema-object.html',\r\n styleUrls: ['./schema-object.scss']\r\n})\r\nexport class SchemaObjectComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() public requiredLabel = '(required)';\r\n @Input() public addItemLabel = 'Add Item';\r\n @Input() public addLoopLabel = 'Add Loop';\r\n @Input() public additionalAttributesLabel = 'Additional Fields';\r\n @Input() public customAttributeRemoveLabel = 'Remove';\r\n @Input() public newCustomFieldNameLabel = 'Name';\r\n @Input() public newCustomFieldValueLabel = 'Value';\r\n @Input() public newCustomFieldAddLabel = 'Add';\r\n @Input() public newCustomFieldSaveLabel = 'Save';\r\n @Input() public newCustomFieldCancelLabel = 'Cancel';\r\n @Input() public selectPlaceHolderLabel = 'Select Item';\r\n @Input() public selectSearchPlaceHolderLabel = 'Search';\r\n @Input() public selectClearLabel = 'Clear';\r\n @Input() public selectNotFoundLabel = 'No Items Found';\r\n\r\n @Input() public idPrefix: string | undefined;\r\n @Input() public modelPropertiesPath: string | undefined;\r\n @Input() public inputId: string | undefined;\r\n @Input() public editing = false;\r\n @Input() index: number | undefined;\r\n\r\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\r\n loaded = false;\r\n\r\n ngAfterContentInit(): void {\r\n if (this.schema?.type === 'object' && this.model) {\r\n this.model[this.schema.id] = this.model[this.schema.id] || {};\r\n }\r\n this.loaded = true;\r\n }\r\n\r\n onDrop($event: DndDropEvent, modelElement: any): any {\r\n return onDropStruct($event, modelElement);\r\n }\r\n\r\n}\r\n","export type StructFieldType = Array<{\r\n title?: string,\r\n id: string,\r\n description?: string,\r\n propertyOrder?: number,\r\n minLength?: number,\r\n maxLength?: number\r\n}>;\r\n\r\nexport type ErrorsLabel = Array<{\r\n type: string,\r\n fieldName?: string,\r\n minLength?: number,\r\n maxLength?: number\r\n}>;\r\n\r\nexport class SchemaValidationField {\r\n\r\n emptyFields: StructFieldType;\r\n invalidMinLengthFields: StructFieldType;\r\n invalidMaxLengthFields: StructFieldType;\r\n validationErrorsLabel: ErrorsLabel | undefined;\r\n\r\n constructor(emptyFields: StructFieldType, invalidMinLengthFields: StructFieldType, invalidMaxLengthFields: StructFieldType) {\r\n this.emptyFields = emptyFields;\r\n this.invalidMinLengthFields = invalidMinLengthFields;\r\n this.invalidMaxLengthFields = invalidMaxLengthFields;\r\n }\r\n\r\n isValidSchemaFields(): boolean {\r\n return this.emptyFields?.length < 1 && this.invalidMinLengthFields?.length < 1 && this.invalidMaxLengthFields?.length < 1;\r\n }\r\n\r\n isInvalidSchemaFields(): boolean {\r\n return !this.isValidSchemaFields();\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {SchemaValidationField} from './schema-validation-field';\r\n\r\n@Injectable()\r\nexport class SchemaFieldsService {\r\n\r\n constructor() {\r\n }\r\n\r\n public async validateSchemaFields(propertiesRendered: Array<any>, model: any, editing: boolean): Promise<SchemaValidationField> {\r\n\r\n if (!propertiesRendered) {\r\n return new SchemaValidationField([], [], []);\r\n }\r\n\r\n const emptyFields: any[] = [];\r\n const invalidMinLengthFields: any[] = [];\r\n const invalidMaxLengthFields: any[] = [];\r\n this.processProperties(propertiesRendered, model, editing, emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\r\n\r\n const structValidationField = new SchemaValidationField(emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\r\n structValidationField.validationErrorsLabel = await this.getErrorsStringArray(structValidationField);\r\n\r\n return structValidationField;\r\n\r\n }\r\n\r\n private processProperties(propertiesRendered: Array<any>,\r\n model: any,\r\n editing: boolean,\r\n emptyFields: any[],\r\n invalidMinLengthFields: any[],\r\n invalidMaxLengthFields: any[],\r\n recursive?: boolean): void {\r\n for (const property of propertiesRendered) {\r\n if ((property.type === 'object' || property.type === 'array') && property.properties) {\r\n this.processProperties(property.properties, model[property.id], editing,\r\n emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\r\n } else if (property.type === 'array' && !property.properties) {\r\n const newProperty = {...property};\r\n newProperty.type = 'string';\r\n this.processProperties([newProperty], model[property.id], editing,\r\n emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\r\n } else {\r\n const validateModel = recursive ? model : model[property.id];\r\n if (property.type !== 'password' || !editing || validateModel !== undefined) {\r\n if (property?.canRender && property?.minLength > 0\r\n && (validateModel === undefined || validateModel === '' || validateModel === null)) {\r\n emptyFields.push(property);\r\n } else if (property?.canRender && property?.minLength > 0 && (validateModel?.length < property.minLength)) {\r\n invalidMinLengthFields.push(property);\r\n } else if (property?.canRender && property?.maxLength > 0 && (validateModel?.length > property.maxLength)) {\r\n invalidMaxLengthFields.push(property);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async getErrorsStringArray(structValidation: SchemaValidationField):\r\n Promise<{ type: string, fieldName?: string, minLength?: number, maxLength?: number }[]> {\r\n if (!structValidation.isInvalidSchemaFields()) {\r\n return [];\r\n }\r\n const errors = [];\r\n for (const field of structValidation.emptyFields) {\r\n const fieldName = field.title || field.id;\r\n errors.push({\r\n type: 'emptyFields',\r\n fieldName\r\n });\r\n }\r\n for (const field of structValidation.invalidMinLengthFields) {\r\n const fieldName = field.title || field.id;\r\n errors.push({\r\n type: 'invalidMinLengthFields',\r\n fieldName,\r\n minLength: field.minLength\r\n });\r\n }\r\n for (const field of structValidation.invalidMaxLengthFields) {\r\n const fieldName = field.title || field.id;\r\n errors.push({\r\n type: 'invalidMaxLengthFields',\r\n fieldName,\r\n maxLength: field.maxLength\r\n });\r\n }\r\n return errors;\r\n }\r\n\r\n}\r\n","<div class=\"schema\" *ngIf=\"loaded\">\r\n <schema-form\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [additionalAttributesLabel]=\"additionalAttributesLabel\"\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"model\"\r\n [schemas]=\"schemas\"\r\n [editing]=\"this.editing\"></schema-form>\r\n\r\n <div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\r\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model && customProperties\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label bold\">{{ this.additionalAttributesLabel }}</label>\r\n <schema-custom-attributes\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [(model)]=\"model.customAttributes\"\r\n [onDropFunction]=\"onDrop\">\r\n </schema-custom-attributes>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n","import {AfterContentInit, Component, Input} from '@angular/core';\r\nimport {BaseSchemaComponent} from './base-schema.component';\r\nimport {DndDropEvent} from 'ngx-drag-drop';\r\nimport {onDropStruct} from './struct.utils';\r\n\r\n@Component({\r\n selector: 'schema-form-render',\r\n templateUrl: 'schema-form-render.html',\r\n styleUrls: ['./schema-form-render.scss']\r\n})\r\nexport class SchemaFormRenderComponent extends BaseSchemaComponent implements AfterContentInit {\r\n\r\n @Input() public requiredLabel = '(required)';\r\n @Input() public addItemLabel = 'Add Item';\r\n @Input() public addLoopLabel = 'Add Loop';\r\n @Input() public additionalAttributesLabel = 'Additional Fields';\r\n @Input() public customAttributeRemoveLabel = 'Remove';\r\n @Input() public newCustomFieldNameLabel = 'Name';\r\n @Input() public newCustomFieldValueLabel = 'Value';\r\n @Input() public newCustomFieldAddLabel = 'Add';\r\n @Input() public newCustomFieldSaveLabel = 'Save';\r\n @Input() public newCustomFieldCancelLabel = 'Cancel';\r\n @Input() public selectPlaceHolderLabel = 'Select Item';\r\n @Input() public selectSearchPlaceHolderLabel = 'Search';\r\n @Input() public selectClearLabel = 'Clear';\r\n @Input() public selectNotFoundLabel = 'No Items Found';\r\n\r\n @Input() idPrefix: string | undefined;\r\n @Input() schemas = [];\r\n @Input() customProperties = false;\r\n @Input() editing = false;\r\n @Input() inputType: string | undefined;\r\n\r\n loaded = false;\r\n\r\n ngAfterContentInit(): void {\r\n this.loaded = true;\r\n }\r\n\r\n onDrop($event: DndDropEvent, modelElement: any): any {\r\n return onDropStruct($event, modelElement);\r\n }\r\n\r\n getId(index: number): string {\r\n return `${this.idPrefix}-struct-${index}`;\r\n }\r\n\r\n}\r\n\r\n","import {Injectable, Optional, SkipSelf} from '@angular/core';\r\nimport {FormControl, Validators} from '@angular/forms';\r\n\r\n@Injectable({providedIn: 'root'})\r\nexport class TypeScriptCompileBase {\r\n\r\n protected getTranslate(text: string): string {\r\n return text;\r\n }\r\n\r\n protected addItemToFormProperties(formProperties: any, item: any, key: string): void {\r\n this.translateProperties(item);\r\n if (item.minLength && item.minLength > 0) {\r\n formProperties[key] = new FormControl([null, [Validators.required]]);\r\n } else {\r\n formProperties[key] = new FormControl([null]);\r\n }\r\n }\r\n\r\n public compileProperties(input: any): {\r\n compiledProperties: any,\r\n formProperties: any,\r\n inputData: any\r\n } {\r\n const compiledProperties = [];\r\n const formProperties = {};\r\n let inputData: any = {};\r\n const inputToCompile = JSON.parse(JSON.stringify(input));\r\n this.translateProperties(inputToCompile);\r\n\r\n if (inputToCompile.properties) {\r\n if (inputToCompile.type === 'array') {\r\n inputData = [];\r\n }\r\n if (inputToCompile.type === 'object') {\r\n inputData = {};\r\n }\r\n inputToCompile.id = 'inputData';\r\n this.proccessProperties(inputToCompile, formProperties, 'inputData');\r\n this.translateProperties(inputToCompile);\r\n compiledProperties.push(inputToCompile);\r\n } else if (inputToCompile.type === 'array') {\r\n inputToCompile.id = 'inputData';\r\n inputData = [];\r\n this.addItemToFormProperties(formProperties, inputToCompile, 'inputData');\r\n compiledProperties.push(inputToCompile);\r\n } else if (!inputToCompile.type) {\r\n for (let index = 0; index < Object.keys(inputToCompile).length; index++) {\r\n const key = Object.keys(inputToCompile)[index];\r\n const item = inputToCompile[key];\r\n item.id = key;\r\n\r\n if (item.type === 'array') {\r\n inputData[item.id] = [];\r\n }\r\n\r\n if (item.type === 'object') {\r\n inputData[item.id] = {};\r\n }\r\n this.proccessProperties(item, formProperties, key);\r\n this.translateProperties(item);\r\n compiledProperties.push(item);\r\n }\r\n }\r\n\r\n compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);\r\n return {compiledProperties, formProperties, inputData};\r\n }\r\n\r\n protected translateProperties(input: any): void {\r\n if (input?.title) {\r\n input.title = this.getTranslate(input.title);\r\n }\r\n if (input?.description) {\r\n input.description = this.getTranslate(input.description);\r\n }\r\n if (input?.options instanceof Array) {\r\n input?.options.forEach((option: any) => option.value = this.getTranslate(option.value));\r\n }\r\n }\r\n\r\n protected proccessProperties(item: any, formProperties: {}, key: any): void {\r\n this.translateProperties(item);\r\n if (this.hasProperties(item)) {\r\n const arFieldsChild = [];\r\n for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {\r\n const keyChild = Object.keys(item.properties)[indexChild];\r\n const itemChild = item.properties[keyChild];\r\n itemChild.id = keyChild;\r\n if (this.hasProperties(itemChild)) {\r\n this.proccessProperties(itemChild, formProperties, keyChild);\r\n arFieldsChild.push(itemChild);\r\n } else {\r\n this.addItemToFormProperties(formProperties, itemChild, keyChild);\r\n arFieldsChild.push(itemChild);\r\n }\r\n }\r\n item.properties = arFieldsChild;\r\n } else {\r\n this.addItemToFormProperties(formProperties, item, key);\r\n }\r\n }\r\n\r\n protected hasProperties(item: any): any {\r\n return item.type === 'object' || (item.type === 'array' && item.properties);\r\n }\r\n\r\n}\r\n\r\nexport function APIPASS_TYPESCRIPT_COMPILE_BASE_PROVIDER_FACTORY(parentIntl: TypeScriptCompileBase): any {\r\n return parentIntl || new TypeScriptCompileBase();\r\n}\r\n\r\nexport const APIPASS_TYPESCRIPT_COMPILE_INTL_PROVIDER: any = {\r\n provide: TypeScriptCompileBase,\r\n deps: [[new Optional(), new SkipSelf(), TypeScriptCompileBase]],\r\n useFactory: APIPASS_TYPESCRIPT_COMPILE_BASE_PROVIDER_FACTORY,\r\n};\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {SchemaArrayComponent} from './schema-form/schema-array/schema-array';\r\nimport {SchemaInputComponent} from './schema-form/schema-input/schema-input';\r\nimport {FieldRenderComponent} from './schema-form/schema-input/field-render/field-render';\r\nimport {SchemaObjectComponent} from './schema-form/schema-object/schema-object';\r\nimport {ArraySessionComponent} from './schema-form/schema-array/array-session/array-session';\r\nimport {InputRenderComponent} from './schema-form/schema-input/input-render/input-render';\r\nimport {SchemaFieldsService} from './schema-fields.service';\r\nimport {SchemaFormComponent} from './schema-form/schema-form';\r\nimport {SchemaCustomAttributesComponent} from './schema-custom-attributes/schema-custom-attributes';\r\nimport {BooleanInputComponent} from './schema-form/schema-input/input-render/boolean-input/boolean-input.component';\r\nimport {NumberInputComponent} from './schema-form/schema-input/input-render/number-input/number-input.component';\r\nimport {DndModule} from 'ngx-drag-drop';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport {SchemaFormRenderComponent} from './schema-form-render';\r\nimport {InputsModule} from '@apipass/inputs';\r\nimport {APIPASS_TYPESCRIPT_COMPILE_INTL_PROVIDER} from './type-script-compile/type-script-compile.base';\r\nimport {IconsModule} from '@apipass/icons';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n DndModule,\r\n FormsModule,\r\n MatTooltipModule,\r\n InputsModule,\r\n IconsModule\r\n ],\r\n declarations: [\r\n ArraySessionComponent,\r\n SchemaArrayComponent,\r\n FieldRenderComponent,\r\n InputRenderComponent,\r\n BooleanInputComponent,\r\n NumberInputComponent,\r\n SchemaInputComponent,\r\n SchemaObjectComponent,\r\n SchemaFormRenderComponent,\r\n SchemaFormComponent,\r\n SchemaCustomAttributesComponent\r\n ],\r\n exports: [\r\n ArraySessionComponent,\r\n SchemaArrayComponent,\r\n FieldRenderComponent,\r\n InputRenderComponent,\r\n BooleanInputComponent,\r\n NumberInputComponent,\r\n SchemaInputComponent,\r\n SchemaObjectComponent,\r\n SchemaFormRenderComponent,\r\n SchemaFormComponent,\r\n SchemaCustomAttributesComponent\r\n ],\r\n providers: [\r\n SchemaFieldsService,\r\n APIPASS_TYPESCRIPT_COMPILE_INTL_PROVIDER\r\n ]\r\n})\r\nexport class SchemaFormRenderModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_c0","_c1"],"mappings":";;;;;;;;;;;;;;;MAKsB,mBAAmB,CAAA;AAHzC,IAAA,WAAA,GAAA;AAOY,QAAA,IAAA,CAAA,WAAW,GAAsB,IAAI,YAAY,EAAO,CAAC;AAqBpE,KAAA;IAnBC,mBAAmB,GAAA;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,YAAY,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;KACpG;AAEM,IAAA,SAAS,CAAC,QAAa,EAAA;;AAE5B,QAAA,QAAQ,CAAC,SAAS,GAAG,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;QAC/F,OAAO,QAAQ,CAAC,SAAS,CAAC;KAC3B;IAEM,MAAM,CAAC,KAAU,EAAE,IAAS,EAAA;AACjC,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,EAAE,CAAC;AACX,SAAA;AACD,QAAA,IAAI,IAAI,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,CAAI,CAAC;AACtB,QAAA,OAAO,IAAI,CAAC;KACb;;sFAvBmB,mBAAmB,GAAA,CAAA,EAAA,CAAA;sEAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,GAAA,EAAA,aAAA,EAAA,CAAA,EAAA,CAAA,CAAA;uFAAnB,mBAAmB,EAAA,CAAA;cAHxC,SAAS;AAAC,QAAA,IAAA,EAAA,CAAA;AACT,gBAAA,QAAQ,EAAE,EAAE;AACb,aAAA,CAAA;gBAGU,KAAK,EAAA,CAAA;kBAAb,KAAK;YACU,MAAM,EAAA,CAAA;kBAArB,KAAK;YACI,WAAW,EAAA,CAAA;kBAApB,MAAM;;;ACTO,SAAA,YAAY,CAAC,KAAU,EAAE,IAAS,EAAA;AAChD,IAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,CAAC,IAAI,EAAE;QACT,IAAI,GAAG,EAAE,CAAC;AACX,KAAA;AACD,IAAA,IAAI,IAAI,CAAA,EAAA,EAAK,IAAI,CAAA,EAAA,CAAI,CAAC;AACtB,IAAA,OAAO,IAAI,CAAC;AACd;;;;;ACAM,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAiF,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;IAEnD,EAAI,CAAA,MAAA,CAAA,CAAA,EAAA,MAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;IACtC,EAC4E,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AADpC,IAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,yEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,OAAa,qCAAiB,CAAP,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,mEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OACjC,EAAY,CAAA,WAAA,CAAA,OAAA,CAAA,IAAA,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,IAAA,CAA8B,CAAA,CADT,EAAA,CAAA,CAAA;AAA/D,IAAA,EAAA,CAAA,YAAA,EAC4E,EAAA,CAAA;AAE9E,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAsB,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;IACM,EAAK,CAAA,MAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;IACvC,EAC8E,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AADtC,IAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,yEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,OAAa,sCAAkB,CAAP,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,mEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAClC,EAAa,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,OAAA,CAAA,MAAA,CAAA,MAAA,EAAA,OAAA,CAAA,KAAA,CAA+B,CAAA,CADV,EAAA,CAAA,CAAA;AAAhE,IAAA,EAAA,CAAA,YAAA,EAC8E,EAAA,EAAA,CAAA;;;IANtC,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAvB,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,IAAA,CAAuB,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,CAAA,CAAA;IAKvB,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAxB,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,KAAA,CAAwB,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,CAAA,CAAA;;;IAIpE,EAKkB,CAAA,kBAAA,CAAA,CAAA,CAAA,CAAA;;;;;;AArBpB,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAqG,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;IAChE,EACjC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAmD,CAAA,cAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAAvB,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,uDAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAY,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;AAAC,IAAA,EAAA,CAAA,YAAA,EAAI,EAAA,CAAA;IAEzD,EAWM,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA;IACN,EAKkB,CAAA,UAAA,CAAA,CAAA,EAAA,mDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;IACpB,EAAM,CAAA,YAAA,EAAA,CAAA;;;;;IArB+B,EACjC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADiC,EACjC,CAAA,kBAAA,CAAA,EAAA,EAAA,MAAA,CAAA,WAAA,EAAA,GAAA,EAAA,QAAA,GAAA,CAAA,EAAA,GAAA,CAAA,CAAA;IAEgB,EAA6D,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAA7D,EAA6D,CAAA,UAAA,CAAA,MAAA,EAAA,OAAA,CAAA,iBAAA,IAAA,OAAA,CAAA,iBAAA,KAAA,EAAA,CAAA,CAAA;IAYhE,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,IAAA,EAAA,CAAA,UAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,cAAA,CAAkC,CAAA,yBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAC,KAAA,EAAA,MAAA,CAAA,KAAA,EAAA,QAAA,EAAA,OAAA,CAAA,iBAAA,IAAA,OAAA,CAAA,iBAAA,KAAA,EAAA,GAAA,OAAA,CAAA,iBAAA,GAAA,OAAA,CAAA,CAAA,CAAA,CAAA;;;;IAYnD,EAAkH,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;IAApB,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,+DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAS,CAAA,OAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;IAAC,EAAuB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;IAAhC,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAvB,EAAuB,CAAA,iBAAA,CAAA,MAAA,CAAA,YAAA,CAAA,CAAA;;ACvBvI,MAAO,qBAAsB,SAAQ,mBAAmB,CAAA;AAL9D,IAAA,WAAA,GAAA;;QAOkB,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QACX,IAAW,CAAA,WAAA,GAAG,QAAQ,CAAC;QACvB,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAE1B,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC;AAElB,QAAA,IAAA,CAAA,KAAK,GAAsB,IAAI,YAAY,EAAO,CAAC;AACnD,QAAA,IAAA,CAAA,SAAS,GAAsB,IAAI,YAAY,EAAO,CAAC;QAGjE,IAAc,CAAA,cAAA,GAA4B,IAAI,CAAC;AAqBvD,KAAA;IAnBQ,GAAG,GAAA;AACR,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACnB;IAEM,OAAO,GAAA;AACZ,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB;AAEM,IAAA,MAAM,CAAC,IAAS,EAAA;AACrB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;KACrB;IAEM,YAAY,CAAC,KAAa,EAAE,GAAQ,EAAA;AACzC,QAAA,OAAO,KAAK,CAAC;KACd;;AAhCU,qBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,kCAAA,CAAA,CAAA,OAAA,SAAA,6BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,kCAAA,KAAA,kCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,qBAAqB,SAArB,qBAAqB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;wEAArB,qBAAqB,EAAA,SAAA,EAAA,CAAA,CAAA,eAAA,CAAA,CAAA,EAAA,cAAA,EAAA,SAAA,oCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;AAYlB,QAAA,EAAA,CAAA,cAAA,CAAA,QAAA,EAAA,WAAW,KAAU,WAAW,CAAA,CAAA;;;;;ADpBhD,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAiB,aAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;QAEkB,EAAW,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;QAClD,EAsBM,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACR,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;AAER,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA6B,aAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAE4C,QAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,sDAAA,GAAA,EAAA,OAAS,SAAK,CAAC,EAAA,CAAA,CAAA;QAAC,EAAuB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAS,CAAA,YAAA,EAAA,CAAA;QACrH,EAAkJ,CAAA,UAAA,CAAA,CAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AACpJ,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;QA9B2B,EAAW,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAX,EAAW,CAAA,iBAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAA;QACO,EAAU,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAV,QAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAU,CAAA,cAAA,EAAA,GAAA,CAAA,YAAA,CAAA,CAAA;QA2B0B,EAAuB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAvB,EAAuB,CAAA,iBAAA,CAAA,GAAA,CAAA,YAAA,CAAA,CAAA;QACjC,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA;;uFCvBnF,qBAAqB,EAAA,CAAA;cALjC,SAAS;2BACE,eAAe,EAAA,QAAA,EAAA,80DAAA,EAAA,MAAA,EAAA,CAAA,smBAAA,CAAA,EAAA,CAAA;gBAMT,KAAK,EAAA,CAAA;kBAApB,KAAK;YACU,WAAW,EAAA,CAAA;kBAA1B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YAEU,WAAW,EAAA,CAAA;kBAA1B,KAAK;YAEW,KAAK,EAAA,CAAA;kBAArB,MAAM;YACU,SAAS,EAAA,CAAA;kBAAzB,MAAM;YAGA,cAAc,EAAA,CAAA;kBADpB,YAAY;AAAC,YAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA;;;;;ACpBlD,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA6E,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;IAQzE,EAAiB,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,sEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA;IAInB,EAAe,CAAA,YAAA,EAAA,CAAA;IACf,EAmBc,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;IAHZ,EAAiB,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,uEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA;IAInB,EAAgB,CAAA,YAAA,EAAA,CAAA;IAChB,EAmBc,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;IAHZ,EAAiB,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,sEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAInB,IAAA,EAAA,CAAA,YAAA,EAAe,EAAA,CAAA;;;;;IApDb,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjD,EAAiD,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAA,CAAA,8BAAA,EAAA,MAAA,CAAA,4BAAA,CAAA,6CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,QAAA,EAAA,SAAA,CAAA,2BAAA,CAAA,OAAA,EAAA,IAAA,CAAA,CAAA;IAYjD,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,yDAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,6BAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,QAAA,EAAA,SAAA,CAAA,2BAAA,CAAA,OAAA,EAAA,IAAA,CAAA,CAAA;IAqBjD,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,yDAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,6BAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,QAAA,EAAA,SAAA,CAAA,2BAAA,CAAA,OAAA,EAAA,IAAA,CAAA,CAAA;;ACzB/C,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;AAL5D,IAAA,WAAA,GAAA;;QAOkB,IAAa,CAAA,aAAA,GAAG,YAAY,CAAC;QAC7B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAyB,CAAA,yBAAA,GAAG,mBAAmB,CAAC;QAChD,IAA0B,CAAA,0BAAA,GAAG,QAAQ,CAAC;QACtC,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAwB,CAAA,wBAAA,GAAG,OAAO,CAAC;QACnC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAyB,CAAA,yBAAA,GAAG,QAAQ,CAAC;QACrC,IAAsB,CAAA,sBAAA,GAAG,aAAa,CAAC;QACvC,IAA4B,CAAA,4BAAA,GAAG,QAAQ,CAAC;QACxC,IAAgB,CAAA,gBAAA,GAAG,OAAO,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,gBAAgB,CAAC;QAG9C,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;QACb,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACzB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAGzB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAchB,KAAA;IAZC,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;IAED,MAAM,CAAC,MAAoB,EAAE,YAAiB,EAAA;AAC5C,QAAA,OAAO,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KAC3C;AAED,IAAA,KAAK,CAAC,KAAa,EAAA;AACjB,QAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAW,QAAA,EAAA,KAAK,EAAE,CAAC;KAC3C;;AAnCU,mBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,gCAAA,CAAA,CAAA,OAAA,SAAA,2BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,gCAAA,KAAA,gCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,mBAAmB,SAAnB,mBAAmB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;sEAAnB,mBAAmB,EAAA,SAAA,EAAA,CAAA,CAAA,aAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,OAAA,EAAA,aAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,4BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDVhC,EAuDM,CAAA,UAAA,CAAA,CAAA,EAAA,kCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;QAvD4C,EAAY,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;uFCUjD,mBAAmB,EAAA,CAAA;cAL/B,SAAS;2BACE,aAAa,EAAA,QAAA,EAAA,67EAAA,EAAA,CAAA;gBAMP,aAAa,EAAA,CAAA;kBAA5B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,0BAA0B,EAAA,CAAA;kBAAzC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,wBAAwB,EAAA,CAAA;kBAAvC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,4BAA4B,EAAA,CAAA;kBAA3C,KAAK;YACU,gBAAgB,EAAA,CAAA;kBAA/B,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YAEG,QAAQ,EAAA,CAAA;kBAAhB,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,gBAAgB,EAAA,CAAA;kBAAxB,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,SAAS,EAAA,CAAA;kBAAjB,KAAK;;;;;;AC/BR,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAkF,aAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAEpD,EAAqB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;IACvD,EAA2E,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IAArE,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,oEAAA,GAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,IAAA,GAAA,WAAA,CAAA,KAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAwB,CAAA,qBAAA,CAAA,IAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;IACtC,EAA+E,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,CAAA,CAAA;IACjF,EAAO,CAAA,YAAA,EAAA,CAAA;IAEP,EAME,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;IAJA,EAAa,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,6EAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,YAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,YAAA,CAAA,KAAA,GAAA,MAAA,CACd,IAD8B,CAGlB,SAAA,EAAA,SAAA,uEAAA,CAAA,MAAA,EAAA,EAAA,MAAA,WAAA,GAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,YAAA,GAAA,WAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,2BAAmB,OAAO,EAAA,YAAA,CAAY,CAAA,CAHpB,EAAA,CAAA,CAAA;AAF/B,IAAA,EAAA,CAAA,YAAA,EAME,EAAA,EAAA,CAAA;;;;IAXwB,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAArB,EAAqB,CAAA,iBAAA,CAAA,YAAA,CAAA,KAAA,CAAA,CAAA;IAEjB,EAA8C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAA9C,EAA8C,CAAA,UAAA,CAAA,YAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,CAAA;IAK1E,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,YAAA,CAAA,KAAA,CAA6B,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAD,KAAA,CAAA,CAAA,CAAA;;;;IAOnC,EAAwD,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAGxB,EAAkC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;IAAA,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;AAAA,IAAA,EAAA,CAAA,YAAA,EAAS,EAAA,CAAA;IAC9E,EAME,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;IAJA,EAAa,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,6EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,cAAA,CAAA,KAAA,GAAA,MAAA,CACjB,IADsC,CAGvB,SAAA,EAAA,SAAA,uEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,2BAAmB,OAAO,EAAA,OAAA,CAAA,cAAA,CAAiB,CAAA,CAHpB,EAAA,CAAA,CAAA;AAFpC,IAAA,EAAA,CAAA,YAAA,EAME,EAAA,EAAA,CAAA;AAGN,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAiB,aAAA,CAAA,EAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAEa,EAAmC,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,cAAA,CAAA,EAAA,EAAA,QAAA,CAAA,CAAA;IAAA,EAAC,CAAA,MAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA;AAAA,IAAA,EAAA,CAAA,YAAA,EAAS,EAAA,CAAA;IAC/E,EAME,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;IAJA,EAAa,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,8EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,cAAA,CAAA,KAAA,GAAA,MAAA,CAChB,IADqC,CAGvB,SAAA,EAAA,SAAA,wEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,2BAAmB,OAAO,EAAA,OAAA,CAAA,cAAA,CAAiB,CAAA,CAHpB,EAAA,CAAA,CAAA;IAFpC,EAME,CAAA,YAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;IAnBwB,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAlC,EAAkC,CAAA,iBAAA,CAAA,MAAA,CAAA,uBAAA,CAAA,CAAA;IAG1D,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,cAAA,CAAA,KAAA,CAAkC,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,CAAA,CAAA;IASV,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAnC,EAAmC,CAAA,iBAAA,CAAA,MAAA,CAAA,wBAAA,CAAA,CAAA;IAG3D,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAlC,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,cAAA,CAAA,KAAA,CAAkC,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,CAAA,CAAA;;;;IAUtC,EAAyG,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;IAA9B,EAA6B,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,cAAA,GAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;IACtG,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;IADP,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,sBAAA,EAAA,GAAA,CAAA,CAAA;;;;IACA,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AADC,IAAA,EAAA,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,cAAA,GAA0B,IAAI,CAAC,CAAA,EAAA,CAAA,CAAA;IAE/B,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;IADP,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,yBAAA,EAAA,GAAA,CAAA,CAAA;;;;IACA,EAIC,CAAA,cAAA,CAAA,CAAA,EAAA,QAAA,EAAA,EAAA,CAAA,CAAA;IADC,EAAS,CAAA,UAAA,CAAA,OAAA,EAAA,SAAA,yEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAgC,CAAA,gBAAA,CAAA,OAAA,CAAA,cAAA,CAAA,CAAA,CAAC,EAAA,CAAA,CAAA;IAE1C,EACF,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAS,CAAA,YAAA,EAAA,CAAA;;;IADP,EACF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADE,EACF,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,uBAAA,EAAA,GAAA,CAAA,CAAA;;ACnDE,MAAO,+BAAgC,SAAQ,mBAAmB,CAAA;AALxE,IAAA,WAAA,GAAA;;QASW,IAA0B,CAAA,0BAAA,GAAG,QAAQ,CAAC;QACtC,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAwB,CAAA,wBAAA,GAAG,OAAO,CAAC;QACnC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAyB,CAAA,yBAAA,GAAG,QAAQ,CAAC;AAEpC,QAAA,IAAA,CAAA,eAAe,GAAsB,IAAI,YAAY,EAAO,CAAC;AAC7D,QAAA,IAAA,CAAA,iBAAiB,GAAsB,IAAI,YAAY,EAAO,CAAC;AA4B1E,KAAA;IAxBC,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AACjB,SAAA;KACF;AAEM,IAAA,gBAAgB,CAAC,cAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;AAEM,IAAA,qBAAqB,CAAC,cAAmB,EAAA;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC;AAEM,IAAA,UAAU,CAAC,MAAW,EAAE,KAAU,EAAE,cAAmB,EAAA;AAC5D,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AAC1B,YAAA,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAC3B,SAAA;QACF,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAA,EAAA,CAAI,CAAC;KAC/C;;AAvCU,+BAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,4CAAA,CAAA,CAAA,OAAA,SAAA,uCAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,4CAAA,KAAA,4CAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,+BAA+B,SAA/B,+BAA+B,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;kFAA/B,+BAA+B,EAAA,SAAA,EAAA,CAAA,CAAA,0BAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,YAAA,CAAA,EAAA,CAAA,OAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,cAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,CAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,wCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDT5C,EAeM,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QACN,EAyBM,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACN,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAiC,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QAE7B,EAES,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAMS,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;QACT,EAMS,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AACX,QAAA,EAAA,CAAA,YAAA,EAAM,EAAA,CAAA;;QA7DiD,EAAU,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA;QAgB7D,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,cAAA,CAAA,CAAA;QA4B8B,EAAqB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAArB,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,cAAA,CAAA,CAAA;QAKtE,EAAoB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApB,EAAoB,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,cAAA,CAAA,CAAA;QAOpB,EAAoE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAApE,EAAoE,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,cAAA,IAAA,GAAA,CAAA,cAAA,CAAA,KAAA,IAAA,GAAA,CAAA,cAAA,CAAA,KAAA,CAAA,CAAA;;uFC/C9D,+BAA+B,EAAA,CAAA;cAL3C,SAAS;2BACE,0BAA0B,EAAA,QAAA,EAAA,6zEAAA,EAAA,MAAA,EAAA,CAAA,4OAAA,CAAA,EAAA,CAAA;gBAM3B,cAAc,EAAA,CAAA;kBAAtB,KAAK;YAEG,0BAA0B,EAAA,CAAA;kBAAlC,KAAK;YACG,uBAAuB,EAAA,CAAA;kBAA/B,KAAK;YACG,wBAAwB,EAAA,CAAA;kBAAhC,KAAK;YACG,sBAAsB,EAAA,CAAA;kBAA9B,KAAK;YACG,uBAAuB,EAAA,CAAA;kBAA/B,KAAK;YACG,yBAAyB,EAAA,CAAA;kBAAjC,KAAK;YAEI,eAAe,EAAA,CAAA;kBAAxB,MAAM;YACG,iBAAiB,EAAA,CAAA;kBAA1B,MAAM;;;;;ICVH,EAmB2B,CAAA,cAAA,CAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;AAFzB,IAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,kGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAW,wFACd,CADkE,EAAA,CAAA,CAAA;IAGjE,EAAc,CAAA,YAAA,EAAA,CAAA;;;;AAlBZ,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,yDAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,iBAAA,CAAA,yCAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;;;IAmBnD,EAmB2B,CAAA,cAAA,CAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;IAFzB,EAA6C,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,kGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;IAG/C,EAAc,CAAA,YAAA,EAAA,CAAA;;;;AAlBZ,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,yDAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,yCAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;;;AAoBnD,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA+G,aAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAE5E,EAAoC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;IAC3E,EAQ4B,CAAA,cAAA,CAAA,CAAA,EAAA,0BAAA,EAAA,CAAA,CAAA,CAAA;AAD1B,IAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,uGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAW,yFAClB,CADqE,EAAA,CAAA,CAAA;AAEhE,IAAA,EAAA,CAAA,YAAA,EAA2B,EAAA,EAAA,CAAA;;;;IAVI,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAApC,EAAoC,CAAA,iBAAA,CAAA,MAAA,CAAA,yBAAA,CAAA,CAAA;IAEjE,EAAyD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzD,IAAA,EAAA,CAAA,UAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAyD,2DAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,yEAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA;;;IA/C/D,EAoBc,CAAA,UAAA,CAAA,CAAA,EAAA,+DAAA,EAAA,CAAA,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;IACd,EAoBc,CAAA,UAAA,CAAA,CAAA,EAAA,+DAAA,EAAA,CAAA,EAAA,EAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;IAEd,EAcM,CAAA,UAAA,CAAA,CAAA,EAAA,uDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;;;IAxDH,EAA0D,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,IAAA,KAAA,SAAA,CAAA,CAAA;IAqB1D,EAAyD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAzD,EAAyD,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA,CAAA,IAAA,IAAA,SAAA,CAAA,CAAA;IAqBjB,EAAkE,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAlE,EAAkE,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,KAAA,CAAA,IAAA,MAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;;;;AAtDnH,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAAyF,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;IAMrF,EAAiC,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,wEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA,CAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAExB,eAAA,OAA2B,CAAA,YAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,IAFH,CAGpB,WAAA,EAAA,SAAA,sEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAA2B,CAAA,YAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAHP,EAAA,CAAA,CAAA;IAIjC,EA4Dc,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,CAAA,CAAA;AAChB,IAAA,EAAA,CAAA,YAAA,EAAgB,EAAA,CAAA;;;IArEd,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,IAAA,EAAA,CAAA,UAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAA6B,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,aAAA,EAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,CAAA,aAAA,EAAA,MAAA,CAAA,MAAA,CAAA,WAAA,KAAA,IAAA,CAAA,CAAA;;;;;IAoF3B,EAI2C,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAJH,IAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,wFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,OAAa,yEACtD,CAD+F,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,kFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAE5E,EAA2C,CAAA,WAAA,CAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,iBAAA,GAAA,OAAA,CAAA,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,iBAAA,CAA6D,CAAA,CAF5B,EAAA,CAAA,CAAA;IAA9F,EAI2C,CAAA,YAAA,EAAA,CAAA;;;;AAJH,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,iBAAA,CAAsD,gDAAA,CAAA,IAAA,EAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,GAAA,GAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;;;;IAM5F,EAG2C,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;IAHH,EAAoC,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,8FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,wFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,QAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,SAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,GAEjC,sDAA2C,EAFV,CAAA,EAAA,CAAA,CAAA;IAA5E,EAG2C,CAAA,YAAA,EAAA,CAAA;;;;AAHH,IAAA,EAAA,CAAA,UAAA,CAAA,SAAA,EAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAoC,gDAAA,CAAA,IAAA,EAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,GAAA,GAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;;;IAP9E,EAAkE,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAAA,EAAkB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;IAC5F,EAI2C,CAAA,UAAA,CAAA,CAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;IAC3C,EAKc,CAAA,UAAA,CAAA,CAAA,EAAA,+DAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,CAAA,sBAAA,CAAA,CAAA;;;;;IAXY,EAAuC,CAAA,UAAA,CAAA,SAAA,EAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,KAAA,CAAA,GAAA,GAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;IAAC,EAAkB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAlB,EAAkB,CAAA,iBAAA,CAAA,OAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;IAI5E,EAAmG,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAnG,IAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,iBAAA,IAAA,QAAA,CAAA,KAAA,CAAA,QAAA,CAAA,KAAA,CAAA,CAAA,iBAAA,KAAA,EAAA,CAAmG,CAAA,UAAA,EAAA,IAAA,CAAA,CAAA;;;;AAhBjH,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,CAA0F,CAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;AAMtF,IAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,wEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,OAAA,CAAA,KAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA,CAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAiC,CAExB,OAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAwB,CAAA,YAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAE,CAAC,CAAA,CAFH,EAAA,CAAA,CAAA,WAAA,EAAA,SAAA,sEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAGpB,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,MAAA,CAAA,EAAA,EAAwB,EAAE,CAAC,CAAA,CAHP,EAAA,CAAA,CAAA;IAKjC,EAac,CAAA,UAAA,CAAA,CAAA,EAAA,iDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,CAAA,CAAA;AAChB,IAAA,EAAA,CAAA,YAAA,EAAgB,EAAA,CAAA;;;IAvBd,EAA6B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAA7B,IAAA,EAAA,CAAA,UAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAA6B,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,aAAA,EAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,CAAA,aAAA,EAAA,MAAA,CAAA,MAAA,CAAA,WAAA,KAAA,IAAA,CAAA,CAAA;;ACjE3B,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAL7D,IAAA,WAAA,GAAA;;QAOkB,IAAa,CAAA,aAAA,GAAG,YAAY,CAAC;QAC7B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAyB,CAAA,yBAAA,GAAG,mBAAmB,CAAC;QAChD,IAA0B,CAAA,0BAAA,GAAG,QAAQ,CAAC;QACtC,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAwB,CAAA,wBAAA,GAAG,OAAO,CAAC;QACnC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAyB,CAAA,yBAAA,GAAG,QAAQ,CAAC;QACrC,IAAsB,CAAA,sBAAA,GAAG,aAAa,CAAC;QACvC,IAA4B,CAAA,4BAAA,GAAG,QAAQ,CAAC;QACxC,IAAgB,CAAA,gBAAA,GAAG,OAAO,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,gBAAgB,CAAC;QAI9C,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAyC1B,KAAA;IApCC,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACjC,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;IAED,MAAM,CAAC,MAAoB,EAAE,YAAiB,EAAA;AAC5C,QAAA,OAAO,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KAC3C;AAED,IAAA,KAAK,CAAC,KAAU,EAAA;AACd,QAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAW,QAAA,EAAA,KAAK,EAAE,CAAC;KAC3C;IAED,YAAY,CAAC,EAAO,EAAE,KAAU,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AACtC,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1B,KAAK,GAAG,EAAE,CAAC;AACX,YAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;gBAChD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACnD,gBAAA,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;AACpC,oBAAA,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AAC/B,iBAAA;AAAM,qBAAA,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1C,oBAAA,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AAC/B,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IAED,YAAY,CAAC,EAAO,EAAE,iBAAsB,EAAA;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAC,CAAC,CAAC;KAC/D;;AA1DU,oBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,iCAAA,CAAA,CAAA,OAAA,SAAA,4BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,iCAAA,KAAA,iCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,oBAAoB,SAApB,oBAAoB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;uEAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,cAAA,EAAA,cAAA,EAAA,OAAA,EAAA,aAAA,EAAA,OAAA,EAAA,aAAA,EAAA,aAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,8BAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,EAAA,EAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,eAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,WAAA,EAAA,EAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,eAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDVjC,EAwEM,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QACN,EA0BM,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;QAnGA,EAAiF,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,IAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,OAAA,IAAA,GAAA,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA;QAyEjF,EAAkF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAlF,EAAkF,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,IAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,OAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,UAAA,CAAA,CAAA;;uFC/D3E,oBAAoB,EAAA,CAAA;cALhC,SAAS;2BACE,cAAc,EAAA,QAAA,EAAA,isKAAA,EAAA,CAAA;gBAMR,aAAa,EAAA,CAAA;kBAA5B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,0BAA0B,EAAA,CAAA;kBAAzC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,wBAAwB,EAAA,CAAA;kBAAvC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,4BAA4B,EAAA,CAAA;kBAA3C,KAAK;YACU,gBAAgB,EAAA,CAAA;kBAA/B,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YAEG,QAAQ,EAAA,CAAA;kBAAhB,KAAK;YACG,MAAM,EAAA,CAAA;kBAAd,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,KAAK,EAAA,CAAA;kBAAb,KAAK;;;;;IC3BA,EAAwF,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAAA,EAAsB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;;;IAA/G,EAA+D,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,EAAA,MAAA,CAAA,KAAA,IAAA,CAAA,MAAA,CAAA,KAAA,CAAA,KAAA,IAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA;IAAkB,EAAsB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAtB,EAAsB,CAAA,iBAAA,CAAA,MAAA,CAAA,aAAA,CAAA,CAAA;;;IAC9G,EAAmE,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IAC/D,EAAsC,CAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA;IAC1C,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAFiB,EAA0B,CAAA,qBAAA,CAAA,YAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;;MCI7C,oBAAoB,CAAA;AALjC,IAAA,WAAA,GAAA;QAOW,IAAa,CAAA,aAAA,GAAG,YAAY,CAAC;QAC7B,IAAK,CAAA,KAAA,GAAG,EAAE,CAAC;QAGX,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAQ1B,KAAA;;wFAdY,oBAAoB,GAAA,CAAA,EAAA,CAAA;uEAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAAC,KAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,oBAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;;ADRjC,QAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAA2G,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;QAEnG,EACA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;QAAA,EAAsH,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;QACtH,EAEO,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;QACX,EAAQ,CAAA,YAAA,EAAA,CAAA;QAGR,EAAyB,CAAA,YAAA,CAAA,CAAA,CAAA,CAAA;QAC7B,EAAM,CAAA,YAAA,EAAA,CAAA;;QAXD,EAAqG,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAD,KAAA,EAAA,GAAA,CAAA,KAAA,IAAA,CAAA,GAAA,CAAA,KAAA,CAAA,KAAA,KAAA,CAAA,GAAA,CAAA,KAAA,CAAA,QAAA,IAAA,GAAA,CAAA,KAAA,CAAA,OAAA,CAAA,IAAA,GAAA,CAAA,KAAA,CAAA,MAAA,CAAA,CAAA,CAAA;QACvE,EAAmB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAnB,EAAmB,CAAA,UAAA,CAAA,SAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;QAC9C,EACA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QADA,EACA,CAAA,kBAAA,CAAA,GAAA,EAAA,GAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;QAAwE,EAAc,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAd,EAAc,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,QAAA,CAAA,CAAA;QAClC,EAAa,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAb,EAAa,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA;;uFCI5D,oBAAoB,EAAA,CAAA;cALhC,SAAS;2BACI,cAAc,EAAA,QAAA,EAAA,wlBAAA,EAAA,MAAA,EAAA,CAAA,wEAAA,CAAA,EAAA,CAAA;gBAMjB,aAAa,EAAA,CAAA;kBAArB,KAAK;YACG,KAAK,EAAA,CAAA;kBAAb,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,QAAQ,EAAA,CAAA;kBAAhB,KAAK;YAMG,KAAK,EAAA,CAAA;kBAAb,KAAK;;;;ACZF,MAAO,qBAAsB,SAAQ,mBAAmB,CAAA;IAQ5D,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KACzB;IAED,cAAc,CAAC,MAAoB,EAAE,KAAU,EAAA;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACzB;AAEM,IAAA,WAAW,CAAC,MAAW,EAAA;QAC5B,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,OAAO,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,KAAK,MAAM,CAAC;AAC/B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;AACpB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;KACF;;AA3BU,qBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,kCAAA,CAAA,CAAA,OAAA,SAAA,6BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,kCAAA,KAAA,kCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,qBAAqB,SAArB,qBAAqB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;wEAArB,qBAAqB,EAAA,SAAA,EAAA,CAAA,CAAA,eAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,aAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,aAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QCRlC,EAO+B,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAJxB,QAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,6DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,EAAA,CAAmB,CAEF,eAAA,EAAA,SAAA,6DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,WAAA,CAAA,MAAA,CAAmB,CAFjB,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,uDAAA,CAAA,MAAA,EAAA,EAAA,OAGI,qCAA6B,CAHjC,EAAA,CAAA,CAAA;QAH1B,EAO+B,CAAA,YAAA,EAAA,CAAA;;QANxB,EAAc,CAAA,UAAA,CAAA,IAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,aAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,CAAA,CAAA,WAAA,EAAA,GAAA,CAAA,SAAA,CAAA,CAAA;;uFDOR,qBAAqB,EAAA,CAAA;cAJjC,SAAS;2BACE,eAAe,EAAA,QAAA,EAAA,iVAAA,EAAA,CAAA;gBAKhB,WAAW,EAAA,CAAA;kBAAnB,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,SAAS,EAAA,CAAA;kBAAjB,KAAK;;;;AEJF,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;IAQ3D,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;KACzB;IAED,cAAc,CAAC,MAAoB,EAAE,KAAU,EAAA;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KACzB;AAEM,IAAA,WAAW,CAAC,MAAW,EAAA;AAC5B,QAAA,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;KACF;;AAzBU,oBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,iCAAA,CAAA,CAAA,OAAA,SAAA,4BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,iCAAA,KAAA,iCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,oBAAoB,SAApB,oBAAoB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;uEAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,aAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,aAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,eAAA,EAAA,SAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QCRjC,EAO+B,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;AAJxB,QAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,KAAA,GAAA,MAAA,CAAA,EAAA,CAAmB,CAEF,eAAA,EAAA,SAAA,4DAAA,CAAA,MAAA,EAAA,EAAA,OAAA,GAAA,CAAA,WAAA,CAAA,MAAA,CAAmB,CAFjB,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,sDAAA,CAAA,MAAA,EAAA,EAAA,OAGI,qCAA6B,CAHjC,EAAA,CAAA,CAAA;QAH1B,EAO+B,CAAA,YAAA,EAAA,CAAA;;QANxB,EAAc,CAAA,UAAA,CAAA,IAAA,EAAA,GAAA,CAAA,OAAA,CAAA,CAAA,aAAA,EAAA,GAAA,CAAA,WAAA,CAAA,CAAA,SAAA,EAAA,GAAA,CAAA,KAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAAA,KAAA,CAAA,CAAA,CAAA,WAAA,EAAA,GAAA,CAAA,SAAA,CAAA,CAAA;;uFDOR,oBAAoB,EAAA,CAAA;cAJhC,SAAS;2BACE,cAAc,EAAA,QAAA,EAAA,8VAAA,EAAA,CAAA;gBAKf,WAAW,EAAA,CAAA;kBAAnB,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,SAAS,EAAA,CAAA;kBAAjB,KAAK;;;;;IEVJ,EACiC,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IAA3B,EAAW,CAAA,UAAA,CAAA,SAAA,EAAA,SAAA,kEAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAc,CAAA,YAAA,EAAA,CAAA,CAAC,EAAA,CAAA,CAAA;IAChC,EAAO,CAAA,YAAA,EAAA,CAAA;;IAF6D,EAA4B,CAAA,UAAA,CAAA,MAAA,EAAA,mBAAA,CAAA,CAAA;;;;IAGhG,EACmE,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;AAA7D,IAAA,EAAA,CAAA,UAAA,CAAA,WAAA,EAAA,SAAA,oEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAa,MAAoB,CAAA,kBAAA,EAAA,CAAA,CAAA,OAAE,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,eAAA,EAAwB,CAAA,CAAC,EAAA,CAAA,CAAA;IAClE,EAAO,CAAA,YAAA,EAAA,CAAA;;IAFwE,EAAqB,CAAA,UAAA,CAAA,MAAA,EAAA,YAAA,CAAA,CAAA;;;IAJtG,EAAqE,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;IACnE,EAEO,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IACP,EAEO,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IACT,EAAM,CAAA,YAAA,EAAA,CAAA;;;IANG,EAAkC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAlC,EAAkC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;IAGlC,EAAmC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAnC,EAAmC,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,MAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;;;;;IAI5C,EAO4G,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,EAAA,EAAA,CAAA,CAAA;AAPrG,IAAA,EAAA,CAAA,UAAA,CAAA,MAAA,EAAA,SAAA,2DAAA,GAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAQ,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,WAAA,EAAa,CAAA,CAAA,EAAA,CAAC,uNAAA,CAML,eAAA,EAAA,SAAA,oEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAgB,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CANX,EAAA,CAAA,CAAA,SAAA,EAAA,SAAA,8DAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAOC,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,cAAA,CAAA,MAAA,EAAA,OAAA,CAAA,KAAA,CAA6B,CAAA,CAP9B,EAAA,CAAA,CAAA;IAA7B,EAO4G,CAAA,YAAA,EAAA,CAAA;;;IAJrG,EAA2G,CAAA,qBAAA,CAAA,aAAA,EAAA,MAAA,CAAA,MAAA,CAAA,IAAA,KAAA,UAAA,IAAA,MAAA,CAAA,MAAA,CAAA,gBAAA,GAAA,OAAA,GAAA,MAAA,CAAA,MAAA,CAAA,WAAA,CAAA,CAAA;AAF3G,IAAA,EAAA,CAAA,UAAA,CAAA,UAAA,EAAA,MAAA,CAAA,MAAA,CAAA,gBAAA,CAAoC,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,IAAA,KAAA,UAAA,GAAA,UAAA,GAAA,MAAA,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA,CAAA,IAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,WAAA,EAAA,MAAA,CAAA,MAAA,CAAA,SAAA,CAAA,CAAA;;;;IAQ3C,EAc0B,CAAA,cAAA,CAAA,CAAA,EAAA,YAAA,EAAA,EAAA,CAAA,CAAA;AAZxB,IAAA,EAAA,CAAA,UAAA,CAAA,eAAA,EAAA,SAAA,8EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAmB,CACF,eAAA,EAAA,SAAA,8EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAoB,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,CADlB,EAAA,CAAA,CAAA;IAarB,EAAa,CAAA,YAAA,EAAA,CAAA;;;IAdX,EAAc,CAAA,UAAA,CAAA,IAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA,CAAA,aAAA,EAAA,MAAA,CAAA,MAAA,CAAA,WAAA,IAAA,MAAA,CAAA,sBAAA,CAAA,CAAA,mBAAA,EAAA,MAAA,CAAA,4BAAA,CAAA,CAAA,WAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,4CAAA,CAAA,SAAA,EAAA,KAAA,CAAA,CAAA,WAAA,EAAA,OAAA,CAAA,CAAA,eAAA,EAAA,IAAA,CAAA,CAAA,YAAA,EAAA,EAAA,CAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;;;IAgBhB,EAG+C,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,EAAA,CAAA,CAAA;AAHjC,IAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,gFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAiB,CAGF,aAAA,EAAA,SAAA,gFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAgB,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAHd,EAAA,CAAA,CAAA;IAGgB,EAAe,CAAA,YAAA,EAAA,CAAA;;;IAHhD,EAAiB,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,0CAAA,CAAA,WAAA,EAAA,MAAA,CAAA,MAAA,CAAA,SAAA,CAAA,CAAA;;;;IAK/B,EAGgD,CAAA,cAAA,CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,CAAA;AAHjC,IAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,kFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAiB,CAGF,aAAA,EAAA,SAAA,kFAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,IAAA,CAAA,CAAA,CAAA,MAAA,OAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,OAAgB,CAAA,QAAA,CAAA,MAAA,CAAA,CAAA,CAHd,EAAA,CAAA,CAAA;IAGgB,EAAgB,CAAA,YAAA,EAAA,CAAA;;;IAHjD,EAAiB,CAAA,UAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,0CAAA,CAAA,WAAA,EAAA,MAAA,CAAA,MAAA,CAAA,SAAA,CAAA,CAAA;;;AC/B5B,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAL7D,IAAA,WAAA,GAAA;;QAOkB,IAAsB,CAAA,sBAAA,GAAG,aAAa,CAAC;QACvC,IAA4B,CAAA,4BAAA,GAAG,QAAQ,CAAC;QACxC,IAAgB,CAAA,gBAAA,GAAG,OAAO,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,gBAAgB,CAAC;QAEvC,IAAM,CAAA,MAAA,GAAQ,EAAE,CAAC;QAGjB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAA+C,CAAC;AAoEhG,KAAA;IAhEC,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,OAAO,EAAE;YACnE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;AACjF,gBAAA,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;oBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,iBAAA;AACF,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;AAClF,gBAAA,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;oBACb,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC7B,oBAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AACzB,aAAA;AACF,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,EAAE;AACpD,YAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACrC,SAAA;KACF;IAED,cAAc,CAAC,MAAoB,EAAE,KAAU,EAAA;AAC7C,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACtB;AAED,IAAA,QAAQ,CAAC,MAAW,EAAA;AAClB,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACpD,YAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;KACF;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,UAAU,EAAE;YACpC,IAAI,CAAC,YAAY,EAAE,CAAC;AACrB,SAAA;KACF;IAED,YAAY,GAAA;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;KAChC;IAED,kBAAkB,GAAA;QAChB,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;AACvB,YAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;SAChC,EAAE,GAAG,CAAC,CAAC;KACT;IAED,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;KACjC;AAED,IAAA,mBAAmB,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;KACtC;;AA7EU,oBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,iCAAA,CAAA,CAAA,OAAA,SAAA,4BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,iCAAA,KAAA,iCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,oBAAoB,SAApB,oBAAoB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;uEAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,EAAA,CAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,IAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,MAAA,EAAA,eAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,WAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,MAAA,EAAA,eAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,IAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,YAAA,EAAA,MAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDTjC,EAAmH,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QACjH,EAOM,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QACN,EAO4G,CAAA,UAAA,CAAA,CAAA,EAAA,qCAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;QAE5G,EAea,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,YAAA,EAAA,CAAA,CAAA,CAAA;QAEb,EAG8D,CAAA,UAAA,CAAA,CAAA,EAAA,4CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;QAE9D,EAGgE,CAAA,UAAA,CAAA,CAAA,EAAA,6CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,CAAA,CAAA;QAClE,EAAM,CAAA,YAAA,EAAA,CAAA;;QA5C8B,EAA6E,CAAA,UAAA,CAAA,SAAA,EAAA,EAAA,CAAA,eAAA,CAAA,CAAA,EAAA,GAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,UAAA,CAAA,CAAA,CAAA;QACzG,EAA2C,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA3C,EAA2C,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,UAAA,IAAA,GAAA,CAAA,OAAA,CAAA,CAAA;QAYzC,EAAiF,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAjF,EAAiF,CAAA,UAAA,CAAA,MAAA,EAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,QAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,UAAA,KAAA,CAAA,GAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;QAUtF,EAAgD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAAhD,EAAgD,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,QAAA,IAAA,GAAA,CAAA,MAAA,CAAA,OAAA,CAAA,CAAA;QAapC,EAA8B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA9B,EAA8B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,QAAA,CAAA,CAAA;QAK7B,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA/B,EAA+B,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,SAAA,CAAA,CAAA;;uFChCpC,oBAAoB,EAAA,CAAA;cALhC,SAAS;2BACE,cAAc,EAAA,QAAA,EAAA,04EAAA,EAAA,MAAA,EAAA,CAAA,gPAAA,CAAA,EAAA,CAAA;gBAMR,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,4BAA4B,EAAA,CAAA;kBAA3C,KAAK;YACU,gBAAgB,EAAA,CAAA;kBAA/B,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YAEU,MAAM,EAAA,CAAA;kBAArB,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YACU,OAAO,EAAA,CAAA;kBAAtB,KAAK;YACU,OAAO,EAAA,CAAA;kBAAtB,KAAK;YACW,WAAW,EAAA,CAAA;kBAA3B,MAAM;;;;;ICpBT,EAC4I,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,sBAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;IAUpI,EAAiC,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,uEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;IAER,EAAe,CAAA,YAAA,EAAA,EAAA,EAAA,EAAA,CAAA;;;IAV9B,EAA+B,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAA/B,EAA+B,CAAA,UAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,+BAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,CAAA;IAEzC,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,uCAAA,CAAA,QAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,gEAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;;IAiBnD,EAAgF,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IAAA,EAAC,CAAA,MAAA,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA;IAAA,EAAO,CAAA,YAAA,EAAA,CAAA;;;IAA3D,EAA8B,CAAA,qBAAA,CAAA,YAAA,EAAA,MAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;;;;AALjE,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CACkJ,aAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAG5I,EACA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAwF,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,CAAA;IAC1F,EAAQ,CAAA,YAAA,EAAA,CAAA;IACR,EAS2B,CAAA,cAAA,CAAA,CAAA,EAAA,cAAA,EAAA,CAAA,CAAA,CAAA;IAFzB,EAAiC,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,uEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;AAER,IAAA,EAAA,CAAA,YAAA,EAAe,EAAA,EAAA,CAAA;;;IAbX,EAAwB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAxB,EAAwB,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA,CAAA;IACrD,EACA,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IADA,EACA,CAAA,kBAAA,CAAA,GAAA,EAAA,MAAA,CAAA,MAAA,CAAA,KAAA,EAAA,GAAA,CAAA,CAAA;IAA6D,EAAiB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAjB,EAAiB,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,MAAA,CAAA,IAAA,CAAA,CAAA;IAG9E,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,uCAAA,CAAA,QAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,gEAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;ACjBjD,MAAO,oBAAqB,SAAQ,mBAAmB,CAAA;AAL7D,IAAA,WAAA,GAAA;;QAOkB,IAAa,CAAA,aAAA,GAAG,YAAY,CAAC;QAC7B,IAAsB,CAAA,sBAAA,GAAG,aAAa,CAAC;QACvC,IAA4B,CAAA,4BAAA,GAAG,QAAQ,CAAC;QACxC,IAAgB,CAAA,gBAAA,GAAG,OAAO,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,gBAAgB,CAAC;QAI9C,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAa1B,KAAA;IARC,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;AAED,IAAA,KAAK,CAAC,KAAU,EAAA;AACd,QAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAW,QAAA,EAAA,KAAK,EAAE,CAAC;KAC3C;;AArBU,oBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,iCAAA,CAAA,CAAA,OAAA,SAAA,4BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,iCAAA,KAAA,iCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,oBAAoB,SAApB,oBAAoB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;uEAApB,oBAAoB,EAAA,SAAA,EAAA,CAAA,CAAA,cAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,eAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,EAAA,SAAA,CAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,YAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,6BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDRjC,EAgBM,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;QACN,EAkBM,CAAA,UAAA,CAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;QAlCA,EAAoI,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,IAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,OAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,QAAA,IAAA,GAAA,CAAA,MAAA,CAAA,SAAA,IAAA,GAAA,CAAA,MAAA,CAAA,SAAA,GAAA,CAAA,CAAA,CAAA;QAiBpI,EAA0I,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;QAA1I,EAA0I,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,IAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,OAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,KAAA,QAAA,KAAA,CAAA,GAAA,CAAA,MAAA,CAAA,SAAA,IAAA,GAAA,CAAA,MAAA,CAAA,SAAA,KAAA,CAAA,CAAA,CAAA,CAAA;;uFCVnI,oBAAoB,EAAA,CAAA;cALhC,SAAS;2BACE,cAAc,EAAA,QAAA,EAAA,qzDAAA,EAAA,CAAA;gBAMR,aAAa,EAAA,CAAA;kBAA5B,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,4BAA4B,EAAA,CAAA;kBAA3C,KAAK;YACU,gBAAgB,EAAA,CAAA;kBAA/B,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YAEG,QAAQ,EAAA,CAAA;kBAAhB,KAAK;YACG,MAAM,EAAA,CAAA;kBAAd,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,KAAK,EAAA,CAAA;kBAAb,KAAK;;;;;ACIN,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAmG,aAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAEhE,EAAoC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;IAC3E,EAQ4B,CAAA,cAAA,CAAA,CAAA,EAAA,0BAAA,EAAA,CAAA,CAAA,CAAA;AAD1B,IAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,0FAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAW,wEACd,CADqD,EAAA,CAAA,CAAA;AAEpD,IAAA,EAAA,CAAA,YAAA,EAA2B,EAAA,EAAA,CAAA;;;IAVI,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAApC,EAAoC,CAAA,iBAAA,CAAA,MAAA,CAAA,yBAAA,CAAA,CAAA;IAEjE,EAAyD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzD,IAAA,EAAA,CAAA,UAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAyD,2DAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,0DAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA;;;;AA3BjE,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAoG,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;IACjE,EAAgB,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAM,CAAA,YAAA,EAAA,CAAA;IACvD,EAkB2B,CAAA,cAAA,CAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;IAFzB,EAA4B,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,uEAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA;IAG9B,EAAc,CAAA,YAAA,EAAA,CAAA;IAEd,EAcM,CAAA,UAAA,CAAA,CAAA,EAAA,0CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;IAER,EAAM,CAAA,YAAA,EAAA,CAAA;;;IAtC6B,EAAgB,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAhB,EAAgB,CAAA,iBAAA,CAAA,MAAA,CAAA,MAAA,CAAA,KAAA,CAAA,CAAA;IAE/C,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,yDAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,CAAA,yCAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;IAoBR,EAAsD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAtD,EAAsD,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,KAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,CAAA,IAAA,MAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;;ACb7F,MAAO,qBAAsB,SAAQ,mBAAmB,CAAA;AAL9D,IAAA,WAAA,GAAA;;QAOkB,IAAa,CAAA,aAAA,GAAG,YAAY,CAAC;QAC7B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAyB,CAAA,yBAAA,GAAG,mBAAmB,CAAC;QAChD,IAA0B,CAAA,0BAAA,GAAG,QAAQ,CAAC;QACtC,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAwB,CAAA,wBAAA,GAAG,OAAO,CAAC;QACnC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAyB,CAAA,yBAAA,GAAG,QAAQ,CAAC;QACrC,IAAsB,CAAA,sBAAA,GAAG,aAAa,CAAC;QACvC,IAA4B,CAAA,4BAAA,GAAG,QAAQ,CAAC;QACxC,IAAgB,CAAA,gBAAA,GAAG,OAAO,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,gBAAgB,CAAC;QAKvC,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAGf,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAA+C,CAAC;QAC/F,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAahB,KAAA;IAXC,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;YAChD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/D,SAAA;AACD,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;IAED,MAAM,CAAC,MAAoB,EAAE,YAAiB,EAAA;AAC5C,QAAA,OAAO,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KAC3C;;AAnCU,qBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,kCAAA,CAAA,CAAA,OAAA,SAAA,6BAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,kCAAA,KAAA,kCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,qBAAqB,SAArB,qBAAqB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;wEAArB,qBAAqB,EAAA,SAAA,EAAA,CAAA,CAAA,eAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,8BAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,8BAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDVlC,EAuCM,CAAA,UAAA,CAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;QAvCgC,EAA4D,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,IAAA,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,MAAA,CAAA,IAAA,GAAA,CAAA,MAAA,CAAA,IAAA,IAAA,QAAA,CAAA,CAAA;;uFCUrF,qBAAqB,EAAA,CAAA;cALjC,SAAS;2BACE,eAAe,EAAA,QAAA,EAAA,68DAAA,EAAA,MAAA,EAAA,CAAA,2SAAA,CAAA,EAAA,CAAA;gBAMT,aAAa,EAAA,CAAA;kBAA5B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,0BAA0B,EAAA,CAAA;kBAAzC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,wBAAwB,EAAA,CAAA;kBAAvC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,4BAA4B,EAAA,CAAA;kBAA3C,KAAK;YACU,gBAAgB,EAAA,CAAA;kBAA/B,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YAEU,QAAQ,EAAA,CAAA;kBAAvB,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YACU,OAAO,EAAA,CAAA;kBAAtB,KAAK;YACU,OAAO,EAAA,CAAA;kBAAtB,KAAK;YACG,KAAK,EAAA,CAAA;kBAAb,KAAK;YAEW,WAAW,EAAA,CAAA;kBAA3B,MAAM;;;MCjBI,qBAAqB,CAAA;AAOhC,IAAA,WAAA,CAAY,WAA4B,EAAE,sBAAuC,EAAE,sBAAuC,EAAA;AACxH,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;AACrD,QAAA,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;KACtD;IAED,mBAAmB,GAAA;QACjB,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,MAAM,GAAG,CAAC,CAAC;KAC3H;IAED,qBAAqB,GAAA;AACnB,QAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;KACpC;AAEF;;MCjCY,mBAAmB,CAAA;AAE9B,IAAA,WAAA,GAAA;KACC;AAEM,IAAA,MAAM,oBAAoB,CAAC,kBAA8B,EAAE,KAAU,EAAE,OAAgB,EAAA;QAE5F,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO,IAAI,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9C,SAAA;QAED,MAAM,WAAW,GAAU,EAAE,CAAC;QAC9B,MAAM,sBAAsB,GAAU,EAAE,CAAC;QACzC,MAAM,sBAAsB,GAAU,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;QAExH,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,WAAW,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;QACrH,qBAAqB,CAAC,qBAAqB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;AAErG,QAAA,OAAO,qBAAqB,CAAC;KAE9B;AAEO,IAAA,iBAAiB,CAAC,kBAA8B,EAC9B,KAAU,EACV,OAAgB,EAChB,WAAkB,EAClB,sBAA6B,EAC7B,sBAA6B,EAC7B,SAAmB,EAAA;AAC3C,QAAA,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE;AACzC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,KAAK,QAAQ,CAAC,UAAU,EAAE;gBACpF,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,EACrE,WAAW,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;AACtE,aAAA;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;AAC5D,gBAAA,MAAM,WAAW,GAAG,EAAC,GAAG,QAAQ,EAAC,CAAC;AAClC,gBAAA,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,EAC/D,WAAW,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;AACtE,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,aAAa,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC7D,gBAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,OAAO,IAAI,aAAa,KAAK,SAAS,EAAE;oBAC3E,IAAI,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,SAAS,GAAG,CAAC;AAC7C,4BAAC,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,EAAE,IAAI,aAAa,KAAK,IAAI,CAAC,EAAE;AACpF,wBAAA,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5B,qBAAA;AAAM,yBAAA,IAAI,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,SAAS,GAAG,CAAC,KAAK,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE;AACzG,wBAAA,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,qBAAA;AAAM,yBAAA,IAAI,QAAQ,EAAE,SAAS,IAAI,QAAQ,EAAE,SAAS,GAAG,CAAC,KAAK,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE;AACzG,wBAAA,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvC,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAEM,MAAM,oBAAoB,CAAC,gBAAuC,EAAA;AAEvE,QAAA,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,EAAE;AAC7C,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;QACD,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,QAAA,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,WAAW,EAAE;YAChD,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,IAAI,EAAE,aAAa;gBACnB,SAAS;AACV,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,sBAAsB,EAAE;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,IAAI,EAAE,wBAAwB;gBAC9B,SAAS;gBACT,SAAS,EAAE,KAAK,CAAC,SAAS;AAC3B,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,sBAAsB,EAAE;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;AACV,gBAAA,IAAI,EAAE,wBAAwB;gBAC9B,SAAS;gBACT,SAAS,EAAE,KAAK,CAAC,SAAS;AAC3B,aAAA,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACf;;sFArFU,mBAAmB,GAAA,CAAA,EAAA,CAAA;AAAnB,mBAAA,CAAA,KAAA,iBAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,KAAA,EAAA,mBAAmB,WAAnB,mBAAmB,CAAA,IAAA,EAAA,CAAA,CAAA;uFAAnB,mBAAmB,EAAA,CAAA;cAD/B,UAAU;;;;;ACmBP,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAiF,aAAA,CAAA,CAAA,EAAA,OAAA,EAAA,CAAA,CAAA,CAAA;IAE9C,EAAoC,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA;IAAA,EAAQ,CAAA,YAAA,EAAA,CAAA;IAC3E,EAQ4B,CAAA,cAAA,CAAA,CAAA,EAAA,0BAAA,EAAA,CAAA,CAAA,CAAA;AAD1B,IAAA,EAAA,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,oGAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAW,sDAChB,CADuC,EAAA,CAAA,CAAA;AAEpC,IAAA,EAAA,CAAA,YAAA,EAA2B,EAAA,EAAA,CAAA;;;IAVI,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAApC,EAAoC,CAAA,iBAAA,CAAA,MAAA,CAAA,yBAAA,CAAA,CAAA;IAEjE,EAAyD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAzD,IAAA,EAAA,CAAA,UAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAyD,2DAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,wCAAA,CAAA,gBAAA,EAAA,MAAA,CAAA,MAAA,CAAA,CAAA;;;IALjE,EAA6E,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;IAC3E,EAcM,CAAA,UAAA,CAAA,CAAA,EAAA,oDAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;IACR,EAAM,CAAA,YAAA,EAAA,CAAA;;;IAfuC,EAAoC,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAApC,EAAoC,CAAA,UAAA,CAAA,MAAA,EAAA,MAAA,CAAA,KAAA,IAAA,MAAA,CAAA,gBAAA,CAAA,CAAA;;;;AAtBnF,IAAA,EAAA,CAAA,cAAA,CAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAmC,CAAA,CAAA,EAAA,aAAA,EAAA,CAAA,CAAA,CAAA;IAiB/B,EAAiB,CAAA,UAAA,CAAA,aAAA,EAAA,SAAA,2EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,CAAA,MAAA,MAAA,GAAA,EAAA,CAAA,aAAA,EAAA,CAAA,CAAA,OAAA,EAAA,CAAA,WAAA,CAAA,MAAA,CAAA,KAAA,GAAA,MAAA,CAAA,CAAA,EAAA,CAAA,CAAA;IAEQ,EAAc,CAAA,YAAA,EAAA,CAAA;IAEzC,EAgBM,CAAA,UAAA,CAAA,CAAA,EAAA,8CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;IAER,EAAM,CAAA,YAAA,EAAA,CAAA;;;IArCF,EAAiD,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAAjD,IAAA,EAAA,CAAA,UAAA,CAAA,wBAAA,EAAA,MAAA,CAAA,sBAAA,CAAiD,qEAAA,CAAA,kBAAA,EAAA,MAAA,CAAA,gBAAA,CAAA,CAAA,qBAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,eAAA,EAAA,MAAA,CAAA,aAAA,CAAA,CAAA,cAAA,EAAA,MAAA,CAAA,YAAA,CAAA,qCAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,4BAAA,EAAA,MAAA,CAAA,0BAAA,CAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,0BAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,yDAAA,CAAA,yBAAA,EAAA,MAAA,CAAA,uBAAA,CAAA,CAAA,2BAAA,EAAA,MAAA,CAAA,yBAAA,CAAA,CAAA,UAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,KAAA,CAAA,2BAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;IAmBD,EAAY,CAAA,SAAA,CAAA,CAAA,CAAA,CAAA;IAAZ,EAAY,CAAA,UAAA,CAAA,SAAA,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;;ACX1D,MAAO,yBAA0B,SAAQ,mBAAmB,CAAA;AALlE,IAAA,WAAA,GAAA;;QAOkB,IAAa,CAAA,aAAA,GAAG,YAAY,CAAC;QAC7B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAY,CAAA,YAAA,GAAG,UAAU,CAAC;QAC1B,IAAyB,CAAA,yBAAA,GAAG,mBAAmB,CAAC;QAChD,IAA0B,CAAA,0BAAA,GAAG,QAAQ,CAAC;QACtC,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAwB,CAAA,wBAAA,GAAG,OAAO,CAAC;QACnC,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;QAC/B,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC;QACjC,IAAyB,CAAA,yBAAA,GAAG,QAAQ,CAAC;QACrC,IAAsB,CAAA,sBAAA,GAAG,aAAa,CAAC;QACvC,IAA4B,CAAA,4BAAA,GAAG,QAAQ,CAAC;QACxC,IAAgB,CAAA,gBAAA,GAAG,OAAO,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAG,gBAAgB,CAAC;QAG9C,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;QACb,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QACzB,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;QAGzB,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AAchB,KAAA;IAZC,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;KACpB;IAED,MAAM,CAAC,MAAoB,EAAE,YAAiB,EAAA;AAC5C,QAAA,OAAO,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KAC3C;AAED,IAAA,KAAK,CAAC,KAAa,EAAA;AACjB,QAAA,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAW,QAAA,EAAA,KAAK,EAAE,CAAC;KAC3C;;AAnCU,yBAAA,CAAA,IAAA,iBAAA,YAAA,EAAA,IAAA,sCAAA,CAAA,CAAA,OAAA,SAAA,iCAAA,CAAA,CAAA,EAAA,EAAA,OAAA,CAAA,sCAAA,KAAA,sCAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,yBAAyB,SAAzB,yBAAyB,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;4EAAzB,yBAAyB,EAAA,SAAA,EAAA,CAAA,CAAA,oBAAA,CAAA,CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,CAAA,OAAA,EAAA,QAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAAA,EAAA,wBAAA,EAAA,8BAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,2BAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,aAAA,CAAA,EAAA,CAAA,OAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,OAAA,EAAA,8BAAA,EAAA,CAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,KAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAAA,EAAA,4BAAA,EAAA,yBAAA,EAAA,0BAAA,EAAA,wBAAA,EAAA,yBAAA,EAAA,2BAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,CAAA,EAAA,QAAA,EAAA,SAAA,kCAAA,CAAA,EAAA,EAAA,GAAA,EAAA,EAAA,IAAA,EAAA,GAAA,CAAA,EAAA;QDVtC,EAuCM,CAAA,UAAA,CAAA,CAAA,EAAA,wCAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,CAAA,CAAA,CAAA;;QAvCe,EAAY,CAAA,UAAA,CAAA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,CAAA;;uFCUpB,yBAAyB,EAAA,CAAA;cALrC,SAAS;2BACE,oBAAoB,EAAA,QAAA,EAAA,64DAAA,EAAA,MAAA,EAAA,CAAA,81BAAA,CAAA,EAAA,CAAA;gBAMd,aAAa,EAAA,CAAA;kBAA5B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,YAAY,EAAA,CAAA;kBAA3B,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,0BAA0B,EAAA,CAAA;kBAAzC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,wBAAwB,EAAA,CAAA;kBAAvC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,uBAAuB,EAAA,CAAA;kBAAtC,KAAK;YACU,yBAAyB,EAAA,CAAA;kBAAxC,KAAK;YACU,sBAAsB,EAAA,CAAA;kBAArC,KAAK;YACU,4BAA4B,EAAA,CAAA;kBAA3C,KAAK;YACU,gBAAgB,EAAA,CAAA;kBAA/B,KAAK;YACU,mBAAmB,EAAA,CAAA;kBAAlC,KAAK;YAEG,QAAQ,EAAA,CAAA;kBAAhB,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,gBAAgB,EAAA,CAAA;kBAAxB,KAAK;YACG,OAAO,EAAA,CAAA;kBAAf,KAAK;YACG,SAAS,EAAA,CAAA;kBAAjB,KAAK;;;MC3BK,qBAAqB,CAAA;AAEtB,IAAA,YAAY,CAAC,IAAY,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC;KACb;AAES,IAAA,uBAAuB,CAAC,cAAmB,EAAE,IAAS,EAAE,GAAW,EAAA;AAC3E,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE;AACxC,YAAA,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtE,SAAA;AAAM,aAAA;YACL,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,SAAA;KACF;AAEM,IAAA,iBAAiB,CAAC,KAAU,EAAA;QAKjC,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,IAAI,SAAS,GAAQ,EAAE,CAAC;AACxB,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,QAAA,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAEzC,IAAI,cAAc,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;gBACnC,SAAS,GAAG,EAAE,CAAC;AAChB,aAAA;AACD,YAAA,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACpC,SAAS,GAAG,EAAE,CAAC;AAChB,aAAA;AACD,YAAA,cAAc,CAAC,EAAE,GAAG,WAAW,CAAC;YAChC,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AACrE,YAAA,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;AACzC,YAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzC,SAAA;AAAM,aAAA,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;AAC1C,YAAA,cAAc,CAAC,EAAE,GAAG,WAAW,CAAC;YAChC,SAAS,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;AAC1E,YAAA,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACzC,SAAA;AAAM,aAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;AAC/B,YAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBACvE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/C,gBAAA,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AACjC,gBAAA,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;AAEd,gBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACzB,oBAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACzB,iBAAA;AAED,gBAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC1B,oBAAA,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;AACzB,iBAAA;gBACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;AACnD,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC/B,gBAAA,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,aAAA;AACF,SAAA;AAED,QAAA,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;AACrE,QAAA,OAAO,EAAC,kBAAkB,EAAE,cAAc,EAAE,SAAS,EAAC,CAAC;KACxD;AAES,IAAA,mBAAmB,CAAC,KAAU,EAAA;QACtC,IAAI,KAAK,EAAE,KAAK,EAAE;YAChB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC9C,SAAA;QACD,IAAI,KAAK,EAAE,WAAW,EAAE;YACtB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC1D,SAAA;AACD,QAAA,IAAI,KAAK,EAAE,OAAO,YAAY,KAAK,EAAE;YACnC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAW,KAAK,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzF,SAAA;KACF;AAES,IAAA,kBAAkB,CAAC,IAAS,EAAE,cAAkB,EAAE,GAAQ,EAAA;AAClE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC5B,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;AACvF,gBAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC5C,gBAAA,SAAS,CAAC,EAAE,GAAG,QAAQ,CAAC;AACxB,gBAAA,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;oBACjC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;AAC7D,oBAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAClE,oBAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC;AACjC,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACzD,SAAA;KACF;AAES,IAAA,aAAa,CAAC,IAAS,EAAA;AAC/B,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;KAC7E;;0FArGU,qBAAqB,GAAA,CAAA,EAAA,CAAA;2EAArB,qBAAqB,EAAA,OAAA,EAArB,qBAAqB,CAAA,IAAA,EAAA,UAAA,EADT,MAAM,EAAA,CAAA,CAAA;uFAClB,qBAAqB,EAAA,CAAA;cADjC,UAAU;eAAC,EAAC,UAAU,EAAE,MAAM,EAAC,CAAA;;AA0G1B,SAAU,gDAAgD,CAAC,UAAiC,EAAA;AAChG,IAAA,OAAO,UAAU,IAAI,IAAI,qBAAqB,EAAE,CAAC;AACnD,CAAC;AAEY,MAAA,wCAAwC,GAAQ;AAC3D,IAAA,OAAO,EAAE,qBAAqB;AAC9B,IAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAC/D,IAAA,UAAU,EAAE,gDAAgD;;;MCvDjD,sBAAsB,CAAA;;4FAAtB,sBAAsB,GAAA,CAAA,EAAA,CAAA;wEAAtB,sBAAsB,EAAA,CAAA,CAAA;AALtB,sBAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,SAAA,EAAA;QACT,mBAAmB;QACnB,wCAAwC;AACzC,KAAA,EAAA,OAAA,EAAA,CApCC,YAAY;QACZ,SAAS;QACT,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,WAAW,CAAA,EAAA,CAAA,CAAA;uFAiCF,sBAAsB,EAAA,CAAA;cAxClC,QAAQ;AAAC,QAAA,IAAA,EAAA,CAAA;AACR,gBAAA,OAAO,EAAE;oBACP,YAAY;oBACZ,SAAS;oBACT,WAAW;oBACX,gBAAgB;oBAChB,YAAY;oBACZ,WAAW;AACZ,iBAAA;AACD,gBAAA,YAAY,EAAE;oBACZ,qBAAqB;oBACrB,oBAAoB;oBACpB,oBAAoB;oBACpB,oBAAoB;oBACpB,qBAAqB;oBACrB,oBAAoB;oBACpB,oBAAoB;oBACpB,qBAAqB;oBACrB,yBAAyB;oBACzB,mBAAmB;oBACnB,+BAA+B;AAChC,iBAAA;AACD,gBAAA,OAAO,EAAE;oBACP,qBAAqB;oBACrB,oBAAoB;oBACpB,oBAAoB;oBACpB,oBAAoB;oBACpB,qBAAqB;oBACrB,oBAAoB;oBACpB,oBAAoB;oBACpB,qBAAqB;oBACrB,yBAAyB;oBACzB,mBAAmB;oBACnB,+BAA+B;AAChC,iBAAA;AACD,gBAAA,SAAS,EAAE;oBACT,mBAAmB;oBACnB,wCAAwC;AACzC,iBAAA;AACF,aAAA,CAAA;;AACY,CAAA,YAAA,EAAA,CAAA,OAAA,SAAA,KAAA,WAAA,IAAA,SAAA,KAAA,EAAA,CAAA,kBAAA,CAAA,sBAAsB,mBA9B/B,qBAAqB;QACrB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,mBAAmB;AACnB,QAAA,+BAA+B,aAlB/B,YAAY;QACZ,SAAS;QACT,WAAW;QACX,gBAAgB;QAChB,YAAY;AACZ,QAAA,WAAW,aAgBX,qBAAqB;QACrB,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,yBAAyB;QACzB,mBAAmB;QACnB,+BAA+B,CAAA,EAAA,CAAA,CAAA,EAAA,GAAA,CAAA;AAd/B,EAAA,CAAA,mBAAA,CAAA,mBAAmB,eARnB,oBAAoB;IAKpB,oBAAoB;IACpB,qBAAqB,CAAA,EAAA,EAAA,CAAA;;ACtCzB;;AAEG;;;;"}