barsa-novin-ray-core 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/esm2020/barsa-novin-ray-core.mjs +5 -0
- package/esm2020/lib/abstract-classes/application-base.mjs +24 -0
- package/esm2020/lib/abstract-classes/barsa-api.mjs +40 -0
- package/esm2020/lib/abstract-classes/field-base.mjs +167 -0
- package/esm2020/lib/abstract-classes/files-validation-helper.mjs +71 -0
- package/esm2020/lib/abstract-classes/form-base.mjs +101 -0
- package/esm2020/lib/abstract-classes/form-props.base.mjs +79 -0
- package/esm2020/lib/abstract-classes/form-toolbar-base.mjs +45 -0
- package/esm2020/lib/abstract-classes/index.mjs +21 -0
- package/esm2020/lib/abstract-classes/layout-item-base.mjs +33 -0
- package/esm2020/lib/abstract-classes/layout-panel-base.mjs +80 -0
- package/esm2020/lib/abstract-classes/models.mjs +172 -0
- package/esm2020/lib/abstract-classes/module-with-dynamic-components.mjs +2 -0
- package/esm2020/lib/abstract-classes/number-base.mjs +117 -0
- package/esm2020/lib/abstract-classes/page-base.mjs +97 -0
- package/esm2020/lib/abstract-classes/report-base.mjs +231 -0
- package/esm2020/lib/abstract-classes/report-item-base.mjs +53 -0
- package/esm2020/lib/abstract-classes/report-view-base.component.mjs +262 -0
- package/esm2020/lib/abstract-classes/system-base.mjs +24 -0
- package/esm2020/lib/auth-guard.mjs +37 -0
- package/esm2020/lib/barsa-novin-ray-core-routing.module.mjs +18 -0
- package/esm2020/lib/barsa-novin-ray-core.module.mjs +271 -0
- package/esm2020/lib/base-ulv-setting.component.mjs +37 -0
- package/esm2020/lib/base.component.mjs +59 -0
- package/esm2020/lib/base.module.mjs +28 -0
- package/esm2020/lib/constants.mjs +441 -0
- package/esm2020/lib/container.component.mjs +76 -0
- package/esm2020/lib/custom-route-reuse-strategy.mjs +32 -0
- package/esm2020/lib/date-services/date-hijri.service.mjs +127 -0
- package/esm2020/lib/date-services/date-info.mjs +2 -0
- package/esm2020/lib/date-services/date-miladi.service.mjs +124 -0
- package/esm2020/lib/date-services/date-shamsi.service.mjs +129 -0
- package/esm2020/lib/date-services/date.service.mjs +139 -0
- package/esm2020/lib/date-services/index.mjs +6 -0
- package/esm2020/lib/device.mjs +663 -0
- package/esm2020/lib/directives/anchor-scroll.directive.mjs +24 -0
- package/esm2020/lib/directives/attr-rtl.directive.mjs +35 -0
- package/esm2020/lib/directives/base.directive.mjs +51 -0
- package/esm2020/lib/directives/column-resizer.directive.mjs +39 -0
- package/esm2020/lib/directives/dynamic-command.directive.mjs +43 -0
- package/esm2020/lib/directives/ellipsify.directive.mjs +72 -0
- package/esm2020/lib/directives/field-binding.directive.mjs +17 -0
- package/esm2020/lib/directives/img-lazy.directive.mjs +75 -0
- package/esm2020/lib/directives/index.mjs +19 -0
- package/esm2020/lib/directives/intersection-observer.directive.mjs +49 -0
- package/esm2020/lib/directives/items-renderer.directive.mjs +59 -0
- package/esm2020/lib/directives/numbers-only-input.directive.mjs +26 -0
- package/esm2020/lib/directives/placeHolder.directive.mjs +15 -0
- package/esm2020/lib/directives/render-ulv-paging.directive.mjs +58 -0
- package/esm2020/lib/directives/render-ulv-viewer.directive.mjs +60 -0
- package/esm2020/lib/directives/table-resizer.directive.mjs +235 -0
- package/esm2020/lib/directives/ulv-command.directive.mjs +41 -0
- package/esm2020/lib/directives/until-inview.directive.mjs +51 -0
- package/esm2020/lib/dynamic-component/base-dynamic.component.mjs +89 -0
- package/esm2020/lib/dynamic-component/base-form-toolbaritem-props.mjs +50 -0
- package/esm2020/lib/dynamic-component/base-item-content-props.mjs +70 -0
- package/esm2020/lib/dynamic-component/base-view-content-props.mjs +26 -0
- package/esm2020/lib/dynamic-component/base-view-item-props.mjs +374 -0
- package/esm2020/lib/dynamic-component/base-view-props.mjs +127 -0
- package/esm2020/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +36 -0
- package/esm2020/lib/dynamic-component/dynamic-form.component.mjs +62 -0
- package/esm2020/lib/dynamic-component/dynamic-item.component.mjs +60 -0
- package/esm2020/lib/dynamic-component/index.mjs +10 -0
- package/esm2020/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +16 -0
- package/esm2020/lib/field-ui/field-ui.component.mjs +116 -0
- package/esm2020/lib/form/form.component.mjs +151 -0
- package/esm2020/lib/form-new/form-new.component.mjs +30 -0
- package/esm2020/lib/from-intersection-observer.mjs +53 -0
- package/esm2020/lib/global-error-handler.mjs +26 -0
- package/esm2020/lib/modal-root.component.mjs +31 -0
- package/esm2020/lib/not-found/not-found.component.mjs +16 -0
- package/esm2020/lib/pipes/barsa-icon-dict.pipe.mjs +18 -0
- package/esm2020/lib/pipes/bbb-translate.pipe.mjs +29 -0
- package/esm2020/lib/pipes/can-upload.pipe.mjs +30 -0
- package/esm2020/lib/pipes/context-menu.pipe.mjs +40 -0
- package/esm2020/lib/pipes/control-ui.pipe.mjs +31 -0
- package/esm2020/lib/pipes/convert-to-style.pipe.mjs +32 -0
- package/esm2020/lib/pipes/date-time-to-caption.pipe.mjs +34 -0
- package/esm2020/lib/pipes/fileinfo-count.pipe.mjs +20 -0
- package/esm2020/lib/pipes/filter-columns-by-details.pipe.mjs +20 -0
- package/esm2020/lib/pipes/filter-string.pipe.mjs +44 -0
- package/esm2020/lib/pipes/filter-tab.pipe.mjs +19 -0
- package/esm2020/lib/pipes/filter-toolbar-control.pipe.mjs +16 -0
- package/esm2020/lib/pipes/filter.pipe.mjs +33 -0
- package/esm2020/lib/pipes/find-column-by-db-name.pipe.mjs +17 -0
- package/esm2020/lib/pipes/fiori-icon.pipe.mjs +42 -0
- package/esm2020/lib/pipes/groupby.pipe.mjs +48 -0
- package/esm2020/lib/pipes/header-facet-value.pipe.mjs +22 -0
- package/esm2020/lib/pipes/index.mjs +33 -0
- package/esm2020/lib/pipes/list-count.pipe.mjs +17 -0
- package/esm2020/lib/pipes/merge-fields-to-columns.pipe.mjs +42 -0
- package/esm2020/lib/pipes/mo-info-ulv-data.pipe.mjs +24 -0
- package/esm2020/lib/pipes/mo-report-value-concat.pipe.mjs +35 -0
- package/esm2020/lib/pipes/mo-report-value.pipe.mjs +28 -0
- package/esm2020/lib/pipes/mo-value.pipe.mjs +31 -0
- package/esm2020/lib/pipes/multiple-groupby.pipe.mjs +97 -0
- package/esm2020/lib/pipes/numeral.pipe.mjs +40 -0
- package/esm2020/lib/pipes/picture-field-source.pipe.mjs +22 -0
- package/esm2020/lib/pipes/remove-newline.pipe.mjs +20 -0
- package/esm2020/lib/pipes/seperator-fix.pipe.mjs +23 -0
- package/esm2020/lib/pipes/sort.pipe.mjs +48 -0
- package/esm2020/lib/pipes/tlbButtons.pipe.mjs +58 -0
- package/esm2020/lib/pipes/total-summary.pipe.mjs +16 -0
- package/esm2020/lib/pipes/visible-value.pipe.mjs +24 -0
- package/esm2020/lib/portal-page/portal-page.component.mjs +13 -0
- package/esm2020/lib/redirect-home-guard.mjs +28 -0
- package/esm2020/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +33 -0
- package/esm2020/lib/report-container/report-container.component.mjs +52 -0
- package/esm2020/lib/resolvers/index.mjs +5 -0
- package/esm2020/lib/resolvers/portal-dynamic-page.resolver.mjs +49 -0
- package/esm2020/lib/resolvers/portal-form-page.resolver.mjs +18 -0
- package/esm2020/lib/resolvers/portal-page.resolver.mjs +30 -0
- package/esm2020/lib/resolvers/portal-report-page.resolver.mjs +37 -0
- package/esm2020/lib/root-page/root-page.component.mjs +21 -0
- package/esm2020/lib/root-portal/root-portal.component.mjs +51 -0
- package/esm2020/lib/services/api.service.mjs +60 -0
- package/esm2020/lib/services/barsa-dialog.service.mjs +80 -0
- package/esm2020/lib/services/breadcrumb.service.mjs +60 -0
- package/esm2020/lib/services/container.service.mjs +36 -0
- package/esm2020/lib/services/dynamic-component.service.mjs +55 -0
- package/esm2020/lib/services/form-panel.service.mjs +235 -0
- package/esm2020/lib/services/form.service.mjs +14 -0
- package/esm2020/lib/services/horizontal-layout.service.mjs +16 -0
- package/esm2020/lib/services/index.mjs +16 -0
- package/esm2020/lib/services/layout.service.mjs +42 -0
- package/esm2020/lib/services/log.service.mjs +50 -0
- package/esm2020/lib/services/network-status.service.mjs +15 -0
- package/esm2020/lib/services/portal.service.mjs +638 -0
- package/esm2020/lib/services/ui.service.mjs +23 -0
- package/esm2020/lib/services/ulvmain.service.mjs +594 -0
- package/esm2020/lib/services/upload.service.mjs +75 -0
- package/esm2020/public-api.mjs +33 -0
- package/fesm2015/barsa-novin-ray-core.mjs +9047 -0
- package/fesm2015/barsa-novin-ray-core.mjs.map +1 -0
- package/fesm2020/barsa-novin-ray-core.mjs +8945 -0
- package/fesm2020/barsa-novin-ray-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/abstract-classes/application-base.d.ts +53 -0
- package/lib/abstract-classes/barsa-api.d.ts +28 -0
- package/lib/abstract-classes/field-base.d.ts +81 -0
- package/lib/abstract-classes/files-validation-helper.d.ts +15 -0
- package/lib/abstract-classes/form-base.d.ts +59 -0
- package/lib/abstract-classes/form-props.base.d.ts +45 -0
- package/lib/abstract-classes/form-toolbar-base.d.ts +17 -0
- package/lib/abstract-classes/index.d.ts +20 -0
- package/lib/abstract-classes/layout-item-base.d.ts +15 -0
- package/lib/abstract-classes/layout-panel-base.d.ts +24 -0
- package/lib/abstract-classes/models.d.ts +660 -0
- package/lib/abstract-classes/module-with-dynamic-components.d.ts +4 -0
- package/lib/abstract-classes/number-base.d.ts +20 -0
- package/lib/abstract-classes/page-base.d.ts +31 -0
- package/lib/abstract-classes/report-base.d.ts +97 -0
- package/lib/abstract-classes/report-item-base.d.ts +33 -0
- package/lib/abstract-classes/report-view-base.component.d.ts +130 -0
- package/lib/abstract-classes/system-base.d.ts +45 -0
- package/lib/auth-guard.d.ts +12 -0
- package/lib/barsa-novin-ray-core-routing.module.d.ts +7 -0
- package/lib/barsa-novin-ray-core.module.d.ts +88 -0
- package/lib/base-ulv-setting.component.d.ts +18 -0
- package/lib/base.component.d.ts +15 -0
- package/lib/base.module.d.ts +13 -0
- package/lib/constants.d.ts +89 -0
- package/lib/container.component.d.ts +33 -0
- package/lib/custom-route-reuse-strategy.d.ts +11 -0
- package/lib/date-services/date-hijri.service.d.ts +40 -0
- package/lib/date-services/date-info.d.ts +15 -0
- package/lib/date-services/date-miladi.service.d.ts +39 -0
- package/lib/date-services/date-shamsi.service.d.ts +40 -0
- package/lib/date-services/date.service.d.ts +54 -0
- package/lib/date-services/index.d.ts +5 -0
- package/lib/device.d.ts +15 -0
- package/lib/directives/anchor-scroll.directive.d.ts +7 -0
- package/lib/directives/attr-rtl.directive.d.ts +13 -0
- package/lib/directives/base.directive.d.ts +13 -0
- package/lib/directives/column-resizer.directive.d.ts +13 -0
- package/lib/directives/dynamic-command.directive.d.ts +12 -0
- package/lib/directives/ellipsify.directive.d.ts +17 -0
- package/lib/directives/field-binding.directive.d.ts +7 -0
- package/lib/directives/img-lazy.directive.d.ts +20 -0
- package/lib/directives/index.d.ts +18 -0
- package/lib/directives/intersection-observer.directive.d.ts +17 -0
- package/lib/directives/items-renderer.directive.d.ts +17 -0
- package/lib/directives/numbers-only-input.directive.d.ts +9 -0
- package/lib/directives/placeHolder.directive.d.ts +6 -0
- package/lib/directives/render-ulv-paging.directive.d.ts +19 -0
- package/lib/directives/render-ulv-viewer.directive.d.ts +19 -0
- package/lib/directives/table-resizer.directive.d.ts +47 -0
- package/lib/directives/ulv-command.directive.d.ts +11 -0
- package/lib/directives/until-inview.directive.d.ts +17 -0
- package/lib/dynamic-component/base-dynamic.component.d.ts +26 -0
- package/lib/dynamic-component/base-form-toolbaritem-props.d.ts +28 -0
- package/lib/dynamic-component/base-item-content-props.d.ts +40 -0
- package/lib/dynamic-component/base-view-content-props.d.ts +11 -0
- package/lib/dynamic-component/base-view-item-props.d.ts +95 -0
- package/lib/dynamic-component/base-view-props.d.ts +65 -0
- package/lib/dynamic-component/dynamic-form-toolbar-item.component.d.ts +18 -0
- package/lib/dynamic-component/dynamic-form.component.d.ts +33 -0
- package/lib/dynamic-component/dynamic-item.component.d.ts +30 -0
- package/lib/dynamic-component/index.d.ts +9 -0
- package/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.d.ts +7 -0
- package/lib/field-ui/field-ui.component.d.ts +27 -0
- package/lib/form/form.component.d.ts +36 -0
- package/lib/form-new/form-new.component.d.ts +23 -0
- package/lib/from-intersection-observer.d.ts +7 -0
- package/lib/global-error-handler.d.ts +8 -0
- package/lib/modal-root.component.d.ts +15 -0
- package/lib/not-found/not-found.component.d.ts +8 -0
- package/lib/pipes/barsa-icon-dict.pipe.d.ts +9 -0
- package/lib/pipes/bbb-translate.pipe.d.ts +7 -0
- package/lib/pipes/can-upload.pipe.d.ts +8 -0
- package/lib/pipes/context-menu.pipe.d.ts +11 -0
- package/lib/pipes/control-ui.pipe.d.ts +9 -0
- package/lib/pipes/convert-to-style.pipe.d.ts +8 -0
- package/lib/pipes/date-time-to-caption.pipe.d.ts +9 -0
- package/lib/pipes/fileinfo-count.pipe.d.ts +10 -0
- package/lib/pipes/filter-columns-by-details.pipe.d.ts +8 -0
- package/lib/pipes/filter-string.pipe.d.ts +11 -0
- package/lib/pipes/filter-tab.pipe.d.ts +7 -0
- package/lib/pipes/filter-toolbar-control.pipe.d.ts +8 -0
- package/lib/pipes/filter.pipe.d.ts +10 -0
- package/lib/pipes/find-column-by-db-name.pipe.d.ts +8 -0
- package/lib/pipes/fiori-icon.pipe.d.ts +7 -0
- package/lib/pipes/groupby.pipe.d.ts +7 -0
- package/lib/pipes/header-facet-value.pipe.d.ts +8 -0
- package/lib/pipes/index.d.ts +32 -0
- package/lib/pipes/list-count.pipe.d.ts +8 -0
- package/lib/pipes/merge-fields-to-columns.pipe.d.ts +10 -0
- package/lib/pipes/mo-info-ulv-data.pipe.d.ts +7 -0
- package/lib/pipes/mo-report-value-concat.pipe.d.ts +9 -0
- package/lib/pipes/mo-report-value.pipe.d.ts +12 -0
- package/lib/pipes/mo-value.pipe.d.ts +9 -0
- package/lib/pipes/multiple-groupby.pipe.d.ts +23 -0
- package/lib/pipes/numeral.pipe.d.ts +9 -0
- package/lib/pipes/picture-field-source.pipe.d.ts +8 -0
- package/lib/pipes/remove-newline.pipe.d.ts +8 -0
- package/lib/pipes/seperator-fix.pipe.d.ts +7 -0
- package/lib/pipes/sort.pipe.d.ts +9 -0
- package/lib/pipes/tlbButtons.pipe.d.ts +9 -0
- package/lib/pipes/total-summary.pipe.d.ts +8 -0
- package/lib/pipes/visible-value.pipe.d.ts +8 -0
- package/lib/portal-page/portal-page.component.d.ts +6 -0
- package/lib/redirect-home-guard.d.ts +13 -0
- package/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.d.ts +14 -0
- package/lib/report-container/report-container.component.d.ts +24 -0
- package/lib/resolvers/index.d.ts +4 -0
- package/lib/resolvers/portal-dynamic-page.resolver.d.ts +12 -0
- package/lib/resolvers/portal-form-page.resolver.d.ts +8 -0
- package/lib/resolvers/portal-page.resolver.d.ts +12 -0
- package/lib/resolvers/portal-report-page.resolver.d.ts +12 -0
- package/lib/root-page/root-page.component.d.ts +10 -0
- package/lib/root-portal/root-portal.component.d.ts +14 -0
- package/lib/services/api.service.d.ts +18 -0
- package/lib/services/barsa-dialog.service.d.ts +31 -0
- package/lib/services/breadcrumb.service.d.ts +14 -0
- package/lib/services/container.service.d.ts +14 -0
- package/lib/services/dynamic-component.service.d.ts +13 -0
- package/lib/services/form-panel.service.d.ts +83 -0
- package/lib/services/form.service.d.ts +8 -0
- package/lib/services/horizontal-layout.service.d.ts +7 -0
- package/lib/services/index.d.ts +15 -0
- package/lib/services/layout.service.d.ts +23 -0
- package/lib/services/log.service.d.ts +17 -0
- package/lib/services/network-status.service.d.ts +7 -0
- package/lib/services/portal.service.d.ts +130 -0
- package/lib/services/ui.service.d.ts +14 -0
- package/lib/services/ulvmain.service.d.ts +178 -0
- package/lib/services/upload.service.d.ts +18 -0
- package/package.json +38 -0
- package/public-api.d.ts +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barsa-novin-ray-core.mjs","sources":["../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/barsa-api.ts","../../../projects/barsa-novin-ray-core/src/lib/base.component.ts","../../../projects/barsa-novin-ray-core/src/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.ts","../../../projects/barsa-novin-ray-core/src/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.html","../../../projects/barsa-novin-ray-core/src/lib/services/api.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/breadcrumb.service.ts","../../../projects/barsa-novin-ray-core/src/lib/modal-root.component.ts","../../../projects/barsa-novin-ray-core/src/lib/services/barsa-dialog.service.ts","../../../projects/barsa-novin-ray-core/src/lib/not-found/not-found.component.ts","../../../projects/barsa-novin-ray-core/src/lib/not-found/not-found.component.html","../../../projects/barsa-novin-ray-core/src/lib/services/dynamic-component.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/log.service.ts","../../../projects/barsa-novin-ray-core/src/lib/date-services/date.service.ts","../../../projects/barsa-novin-ray-core/src/lib/date-services/date-hijri.service.ts","../../../projects/barsa-novin-ray-core/src/lib/date-services/date-miladi.service.ts","../../../projects/barsa-novin-ray-core/src/lib/date-services/date-shamsi.service.ts","../../../projects/barsa-novin-ray-core/src/lib/device.ts","../../../projects/barsa-novin-ray-core/src/lib/constants.ts","../../../projects/barsa-novin-ray-core/src/lib/services/form-panel.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/form.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/container.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/horizontal-layout.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/layout.service.ts","../../../projects/barsa-novin-ray-core/src/lib/resolvers/portal-page.resolver.ts","../../../projects/barsa-novin-ray-core/src/lib/auth-guard.ts","../../../projects/barsa-novin-ray-core/src/lib/services/portal.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/ui.service.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/mo-report-value.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/numeral.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/groupby.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/bbb-translate.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/context-menu.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/header-facet-value.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/seperator-fix.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/convert-to-style.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/tlbButtons.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/remove-newline.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/mo-value.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/filter.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/filter-tab.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/mo-report-value-concat.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/filter-string.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/sort.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/barsa-icon-dict.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/fileinfo-count.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/control-ui.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/visible-value.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/date-time-to-caption.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/filter-toolbar-control.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/multiple-groupby.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/picture-field-source.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/fiori-icon.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/can-upload.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/list-count.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/total-summary.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/merge-fields-to-columns.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/find-column-by-db-name.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/filter-columns-by-details.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/pipes/mo-info-ulv-data.pipe.ts","../../../projects/barsa-novin-ray-core/src/lib/services/ulvmain.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/upload.service.ts","../../../projects/barsa-novin-ray-core/src/lib/services/network-status.service.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/field-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/form-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/form-toolbar-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/system-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/report-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/report-item-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/application-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/layout-item-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/layout-panel-base.ts","../../../projects/barsa-novin-ray-core/src/lib/container.component.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/page-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/number-base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/models.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/files-validation-helper.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/report-view-base.component.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/form-props.base.ts","../../../projects/barsa-novin-ray-core/src/lib/abstract-classes/index.ts","../../../projects/barsa-novin-ray-core/src/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.ts","../../../projects/barsa-novin-ray-core/src/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.html","../../../projects/barsa-novin-ray-core/src/lib/portal-page/portal-page.component.ts","../../../projects/barsa-novin-ray-core/src/lib/portal-page/portal-page.component.html","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/base-dynamic.component.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/dynamic-form.component.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/dynamic-item.component.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/base-view-props.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/base-view-content-props.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/base-view-item-props.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/base-item-content-props.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/base-form-toolbaritem-props.ts","../../../projects/barsa-novin-ray-core/src/lib/dynamic-component/dynamic-form-toolbar-item.component.ts","../../../projects/barsa-novin-ray-core/src/lib/root-portal/root-portal.component.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/anchor-scroll.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/base.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/attr-rtl.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/column-resizer.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/dynamic-command.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/ellipsify.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/field-binding.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/img-lazy.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/from-intersection-observer.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/intersection-observer.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/items-renderer.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/numbers-only-input.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/placeHolder.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/render-ulv-viewer.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/render-ulv-paging.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/table-resizer.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/ulv-command.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/directives/until-inview.directive.ts","../../../projects/barsa-novin-ray-core/src/lib/resolvers/portal-dynamic-page.resolver.ts","../../../projects/barsa-novin-ray-core/src/lib/resolvers/portal-form-page.resolver.ts","../../../projects/barsa-novin-ray-core/src/lib/resolvers/portal-report-page.resolver.ts","../../../projects/barsa-novin-ray-core/src/lib/form/form.component.ts","../../../projects/barsa-novin-ray-core/src/lib/form-new/form-new.component.ts","../../../projects/barsa-novin-ray-core/src/lib/report-container/report-container.component.ts","../../../projects/barsa-novin-ray-core/src/lib/report-container/report-container.component.html","../../../projects/barsa-novin-ray-core/src/lib/field-ui/field-ui.component.ts","../../../projects/barsa-novin-ray-core/src/lib/base-ulv-setting.component.ts","../../../projects/barsa-novin-ray-core/src/lib/custom-route-reuse-strategy.ts","../../../projects/barsa-novin-ray-core/src/lib/redirect-home-guard.ts","../../../projects/barsa-novin-ray-core/src/lib/root-page/root-page.component.ts","../../../projects/barsa-novin-ray-core/src/lib/root-page/root-page.component.html","../../../projects/barsa-novin-ray-core/src/lib/base.module.ts","../../../projects/barsa-novin-ray-core/src/lib/barsa-novin-ray-core-routing.module.ts","../../../projects/barsa-novin-ray-core/src/lib/global-error-handler.ts","../../../projects/barsa-novin-ray-core/src/lib/barsa-novin-ray-core.module.ts","../../../projects/barsa-novin-ray-core/src/barsa-novin-ray-core.ts"],"sourcesContent":["export declare const Common: any;\nexport declare const Ul: any;\nexport declare const Ui: any;\nexport declare const Util: any;\nexport declare const Bw: any;\nexport declare const BBB: any;\nexport declare const LoginAction: any;\nexport declare const UlvMainCtrl: any;\nexport declare const LoginFormUi: any;\nexport declare const LoginFormData: any;\nexport declare const LoginForm: any;\nexport declare const Ext: any;\nexport declare const GanttChartHelper: any;\nexport class BarsaApi {\n static idGenerator = -10000;\n static get GanttChartHelper(): any {\n return GanttChartHelper;\n }\n static get Ext(): any {\n return Ext;\n }\n static get Common(): any {\n return Common;\n }\n static get Util(): any {\n return Util;\n }\n static get Ul(): any {\n return Ul;\n }\n static get Ui(): any {\n return Ui;\n }\n static get Bw(): any {\n return Bw;\n }\n static get BBB(): any {\n return BBB;\n }\n static get LoginForm(): any {\n return LoginForm;\n }\n static get LoginAction(): any {\n return LoginAction;\n }\n static get LoginFormUi(): any {\n return LoginFormUi;\n }\n static get LoginFormData(): any {\n return LoginFormData;\n }\n}\n","import {\n OnInit,\n AfterViewInit,\n Component,\n OnDestroy,\n OnChanges,\n SimpleChanges,\n AfterContentInit,\n Input,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { BarsaApi } from './abstract-classes/barsa-api';\n\n@Component({\n selector: 'bnrc-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport abstract class BaseComponent implements OnInit, AfterViewInit, AfterContentInit, OnDestroy, OnChanges {\n // @Input() settings: any;\n @Input() rendered;\n protected readonly _onDestroy$: Subject<void> = new Subject<void>();\n constructor() {}\n ngAfterContentInit(): void {\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngAfterContentInit');\n console.log(this);\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log(changes);\n }\n ngOnInit(): void {\n this.rendered = true;\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngOnInit');\n console.log(this);\n }\n ngAfterViewInit(): void {\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngAfterViewInit');\n console.log(this);\n }\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngOnDestroy');\n console.log(this);\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { BaseComponent } from '../base.component';\n@Component({\n selector: 'bnrc-empty-page-with-router-and-router-outlet',\n templateUrl: './empty-page-with-router-and-router-outlet.component.html',\n styleUrls: ['./empty-page-with-router-and-router-outlet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EmptyPageWithRouterAndRouterOutletComponent extends BaseComponent {\n constructor() {\n super();\n }\n}\n","<ng-container #containerRef></ng-container>\n<router-outlet></router-outlet>\n<router-outlet name=\"main\"></router-outlet>\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable, from } from 'rxjs';\n\nimport { BarsaApi } from '../abstract-classes/barsa-api';\nimport { LoginResult, PortalDataModel } from '../abstract-classes/models';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n portalLoginUrl = `/api/auth/portal/login`;\n executeUrl = `api/base/execute`;\n constructor(private httpClient: HttpClient) {}\n\n public loginPortal(): Observable<LoginResult> {\n return this.httpClient.get<LoginResult>(this.portalLoginUrl);\n }\n public loadPortalPageData(pageId, typeDefId): Observable<any> {\n return from(\n this.loadFormAjax(\n {\n formParam: {\n IsNew: false,\n Mo: { Id: pageId, $TypeDefId: typeDefId }\n }\n },\n 'Form94.GetPortal'\n )\n );\n }\n public loadPortal(portalId, typeDefId): Observable<PortalDataModel> {\n return from(\n this.loadFormAjax(\n {\n formParam: {\n IsNew: false,\n Mo: { Id: portalId, $TypeDefId: typeDefId }\n }\n },\n 'Form94.GetPortal'\n )\n );\n }\n public loadPortalSync(portalId, typeDefId): PortalDataModel {\n return this.getServerDataSync(\n {\n formParam: {\n IsNew: false,\n Mo: { Id: portalId, $TypeDefId: typeDefId }\n }\n },\n 'Form94.GetPortal'\n );\n }\n private getServerDataSync(param, action): PortalDataModel {\n return BarsaApi.Common.Ajax.GetServerData_SyncReturn(action, param, false);\n }\n private loadFormAjax(param, action): Promise<PortalDataModel> {\n return new Promise((resolve, reject) => {\n BarsaApi.Common.Ajax.GetServerData(\n action,\n param,\n (m) => {\n resolve(m);\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRoute, Data, NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter, map, startWith } from 'rxjs/operators';\nimport { BreadCrumbInfo } from './portal.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreadcrumbService {\n // Observable exposing the breadcrumb hierarchy\n readonly breadcrumbs$: Observable<BreadCrumbInfo[]>;\n\n // Subject emitting the breadcrumb hierarchy\n private readonly _breadcrumbs$ = new BehaviorSubject<BreadCrumbInfo[]>([]);\n\n constructor(private router: Router) {\n this.breadcrumbs$ = this._breadcrumbs$.asObservable();\n this.router.events\n .pipe(\n // Filter the NavigationEnd events as the breadcrumb is updated only when the route reaches its end\n filter((event) => event instanceof NavigationEnd),\n startWith(this.router),\n map(() => this.router.routerState.root)\n )\n .subscribe((root) => {\n // Construct the breadcrumb hierarchy\n // const root = this.router.routerState.snapshot.root;\n const breadcrumbs: BreadCrumbInfo[] = [];\n this.addBreadcrumb(root, breadcrumbs);\n\n // Emit the new hierarchy\n this._breadcrumbs$.next(breadcrumbs);\n });\n }\n\n private addBreadcrumb(route: ActivatedRoute | null, breadcrumbs: BreadCrumbInfo[]): void {\n if (route) {\n // Add an element for the current route part\n if (route.snapshot.data?.breadcrumb || route.snapshot.data?.pageData?.BreadCrumb) {\n let url = '';\n const routeURL: string = route.snapshot.url.map((segment) => segment.path).join('/');\n if (routeURL !== '') {\n url += `/${routeURL}`;\n }\n const breadcrumb = {\n label: this.getLabel(route.snapshot.data),\n url,\n route\n };\n breadcrumbs.push(breadcrumb);\n }\n // Add another element for the next route part\n this.addBreadcrumb(route.firstChild, breadcrumbs);\n }\n }\n\n private getLabel(data: Data): string {\n // The breadcrumb can be defined as a static string or as a function to construct the breadcrumb element out of the route data\n const breadcrumb = data.breadcrumb || data.pageData.BreadCrumb;\n\n return typeof breadcrumb === 'function' ? data.breadcrumb(data) : breadcrumb;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ComponentFactoryResolver,\n Injector,\n OnInit,\n Type,\n ViewContainerRef\n} from '@angular/core';\nimport { BaseComponent } from './base.component';\n\n@Component({\n template: ``\n})\nexport class ModalRootComponent extends BaseComponent implements OnInit, AfterViewInit {\n componentType: Type<any>;\n constructor(\n private factoryResolver: ComponentFactoryResolver,\n private viewContainerRef: ViewContainerRef,\n private injector: Injector\n ) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.insertComponent();\n }\n close(): void {\n this.viewContainerRef.clear();\n }\n insertComponent(): void {\n const factoryResolver = this.factoryResolver.resolveComponentFactory(this.componentType);\n this.viewContainerRef.createComponent(factoryResolver, 0, this.injector);\n }\n}\n","import {\r\n ComponentFactoryResolver,\r\n Injectable,\r\n InjectFlags,\r\n InjectionToken,\r\n Injector,\r\n OnDestroy,\r\n Type,\r\n ViewContainerRef\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { ContainerComponent } from '../container.component';\r\n\r\nimport { ModalRootComponent } from '../modal-root.component';\r\n\r\nexport class CustomInjector implements Injector {\r\n constructor(\r\n private parentInjector: Injector,\r\n private additionalTokens: WeakMap<any, any>,\r\n private activatedRoute?: ActivatedRoute\r\n ) {}\r\n\r\n get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T;\r\n get(token: any, notFoundValue?: any): any {\r\n if (token === ActivatedRoute && this.activatedRoute) {\r\n return this.activatedRoute;\r\n }\r\n const value = this.additionalTokens.get(token);\r\n if (value) {\r\n return value;\r\n }\r\n return this.parentInjector.get<any>(token, notFoundValue);\r\n }\r\n}\r\n@Injectable() // check it later\r\nexport class DialogParams implements OnDestroy {\r\n context: any;\r\n afterClosed$: Observable<any>;\r\n private afterClosed: Subject<any> = new Subject<any>();\r\n constructor() {\r\n this.afterClosed$ = this.afterClosed?.asObservable();\r\n }\r\n close(result?: any): void {\r\n if (this.afterClosed != null) {\r\n this.afterClosed.next(result);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.afterClosed.unsubscribe();\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BarsaDialogService {\r\n containerComponent: ContainerComponent;\r\n constructor(protected factoryResolver: ComponentFactoryResolver, protected injector: Injector) {}\r\n\r\n showForm(component: Type<any>, context: any, container?: ViewContainerRef): Observable<any> {\r\n const weakMap = new WeakMap();\r\n\r\n const dialogParams = new DialogParams();\r\n dialogParams.context = context;\r\n weakMap.set(DialogParams, dialogParams);\r\n\r\n const viewContainerRef = container ?? this.containerComponent.vcr;\r\n const factory = this.factoryResolver.resolveComponentFactory(ModalRootComponent);\r\n const modalRootComponentRef = factory.create(new CustomInjector(viewContainerRef.injector, weakMap));\r\n\r\n modalRootComponentRef.instance.componentType = component;\r\n if (!context.inDialog) {\r\n // viewContainerRef.element.nativeElement.classList.add('deactive');\r\n }\r\n viewContainerRef.insert(modalRootComponentRef.hostView, 0);\r\n this.containerComponent.cdr.detectChanges();\r\n const sub = dialogParams.afterClosed$?.subscribe(() => {\r\n modalRootComponentRef.instance.close();\r\n viewContainerRef.remove(0);\r\n sub?.unsubscribe();\r\n // viewContainerRef.element.nativeElement.classList.remove('deactive');\r\n });\r\n this.containerComponent.cdr.detectChanges();\r\n // this.modalRootComponentRef.instance.navigate();\r\n return dialogParams.afterClosed$;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { BaseComponent } from '../base.component';\n\n@Component({\n selector: 'bnrc-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotFoundComponent extends BaseComponent {\n @Input() componentName: string;\n @Input() moduleName: string;\n}\n","<div fd-form-control>{{ moduleName + ' ' + componentName }}</div>\r\n","import { Injectable, Injector, ComponentRef, ComponentFactoryResolver } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { NotFoundComponent } from '../not-found/not-found.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DynamicComponentService {\n private _dynamicModuleWithComponents: {\n [key: string]: {\n ngModuleRef: any;\n };\n } = {};\n constructor(private cfr: ComponentFactoryResolver) {}\n addModuleWithComponents(moduleName: string, ngModuleRef: any): void {\n if (!this._dynamicModuleWithComponents[moduleName]) {\n this._dynamicModuleWithComponents[moduleName] = {\n ngModuleRef\n };\n }\n }\n getComponentBySelector(\n selector: string,\n moduleName: string,\n injector: Injector\n ): Observable<ComponentRef<unknown>> {\n const moName = moduleName + 'Module';\n const module = this._dynamicModuleWithComponents[moName];\n if (module && module.ngModuleRef.getComponentFactory) {\n const componentFactory = module.ngModuleRef.getComponentFactory(selector);\n if (componentFactory) {\n return of(componentFactory.create(injector));\n }\n }\n const componentRef = this.cfr.resolveComponentFactory(NotFoundComponent).create(injector);\n componentRef.instance.componentName = selector;\n componentRef.instance.moduleName = moduleName;\n return of(componentRef);\n }\n getComponentByName(\n componentName: string,\n moduleName: string,\n injector: Injector\n ): Observable<ComponentRef<unknown>> {\n const cmpName = componentName + 'Component';\n const moName = moduleName + 'Module';\n const module = this._dynamicModuleWithComponents[moName];\n if (module && module.ngModuleRef.getComponentFactory) {\n const componentFactory = module.ngModuleRef.getComponentFactory(cmpName);\n if (componentFactory) {\n return of(componentFactory.create(injector));\n }\n }\n const componentRef = this.cfr.resolveComponentFactory(NotFoundComponent).create(injector);\n componentRef.instance.componentName = componentName;\n componentRef.instance.moduleName = moduleName;\n return of(componentRef);\n }\n}\n","// angular\nimport { Injectable } from '@angular/core';\n\nexport interface IDebug {\n LEVEL_1: boolean;\n LEVEL_2: boolean;\n LEVEL_3: boolean;\n LEVEL_4: boolean;\n LEVEL_5: boolean;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LogService {\n public static DEBUG: IDebug = {\n LEVEL_1: false, // .warn only\n LEVEL_2: false, // .error only\n LEVEL_3: false, // .log + all the above\n LEVEL_4: false, // .log + all the above + info\n LEVEL_5: false // just info (excluding all else)\n };\n\n // info (extra messages like analytics)\n // use LEVEL_5 to see only these\n public info(...msg: Array<any>): void {\n if (LogService.DEBUG.LEVEL_5 || LogService.DEBUG.LEVEL_4) {\n // extra messages\n /* eslint-disable */\n console.info(msg);\n }\n }\n\n // debug (standard output)\n public debug(...msg: Array<any>): void {\n if (LogService.DEBUG.LEVEL_4 || LogService.DEBUG.LEVEL_3) {\n // console.debug does not work on {N} apps... use `log`\n /* eslint-disable */\n console.debug(msg);\n }\n }\n\n // error\n public error(...err: Array<any>): void {\n if (LogService.DEBUG.LEVEL_4 || LogService.DEBUG.LEVEL_3 || LogService.DEBUG.LEVEL_2) {\n console.error(err);\n }\n }\n\n // warn\n public warn(...warn: Array<any>): void {\n if (LogService.DEBUG.LEVEL_4 || LogService.DEBUG.LEVEL_3 || LogService.DEBUG.LEVEL_1) {\n console.warn(warn);\n }\n }\n}\n","import { Injectable, Optional } from '@angular/core';\nimport moment, { Duration, DurationInputArg1, DurationInputArg2 } from 'moment';\n\nimport { DateInfo } from './date-info';\nimport { LogService } from '../services/log.service';\nimport { Moment } from 'moment';\n\n@Injectable()\nexport abstract class DateService {\n protected abstract locale: string;\n\n constructor(@Optional() protected logService: LogService) {}\n protected get now(): Date {\n return new Date();\n }\n monthNames(): string[] {\n return moment.localeData(this.locale).months();\n }\n\n includeDay(date: Date, startDate: Date, endDate: Date): boolean {\n return moment(date).isBetween(startDate, endDate);\n }\n duration(inp: DurationInputArg1, unit?: DurationInputArg2): Duration {\n return moment.duration(inp);\n }\n\n day(date: Date): number {\n return moment(date).weekday();\n }\n\n getDayStr(mode: 'Today' | 'DaysBefore' | 'DaysAfter'): string {\n let date: Date;\n switch (mode) {\n case 'Today':\n date = this.now;\n break;\n case 'DaysBefore':\n date = new Date(this.now.setDate(this.now.getDate() - 1));\n break;\n case 'DaysAfter':\n date = new Date(this.now.setDate(this.now.getDate() + 1));\n break;\n }\n const momentOfDate = this.getMoment(date);\n return this.getDateString(momentOfDate, true, false);\n }\n\n getMonthStr(mode: 'ThisMonth' | 'NextMonth' | 'PrevMonth'): string {\n const momentOfDate = this.getMoment(this.now);\n let date: Date;\n switch (mode) {\n case 'ThisMonth':\n date = this.now;\n break;\n case 'NextMonth':\n date = this.addMonth(momentOfDate, 1);\n break;\n case 'PrevMonth':\n date = this.subtractMonth(momentOfDate, 1);\n break;\n default:\n date = this.now;\n break;\n }\n const dateInfo = this.getDateInfo(date);\n return dateInfo.monthName + ' ' + dateInfo.strYear;\n }\n\n getYearStr(mode: 'ThisYear' | 'PrevYear' | 'NextYear'): number {\n let year: number;\n const thisYear = this.getDateInfo(this.now).year;\n switch (mode) {\n case 'ThisYear':\n year = thisYear;\n break;\n case 'PrevYear':\n year = thisYear - 1;\n break;\n case 'NextYear':\n year = thisYear + 1;\n break;\n default:\n year = thisYear;\n break;\n }\n return year;\n }\n\n getWeekStr(mode: 'ThisWeek' | 'NextWeek' | 'PrevWeek'): string {\n const { from, to } = this.getWeekRange(mode);\n const strFirstDate = this.getDateString(from, true, false);\n const strLastDate = this.getDateString(to, true, false);\n return strFirstDate + this.toText() + strLastDate;\n }\n\n getWeekRange(mode: 'ThisWeek' | 'NextWeek' | 'PrevWeek'): {\n from: Moment;\n to: Moment;\n } {\n let from = moment();\n let to = moment();\n from.locale(this.locale);\n to.locale(this.locale);\n switch (mode) {\n case 'ThisWeek':\n from = from.startOf('week');\n to = to.endOf('week');\n break;\n case 'NextWeek':\n from = from.day(+7).startOf('week');\n to = to.day(+7).endOf('week');\n break;\n case 'PrevWeek':\n from = from.day(-7).startOf('week');\n to = to.day(-7).endOf('week');\n break;\n }\n\n return { from, to };\n }\n protected checkSame(moment1, moment2, mode, prefix: '' | 'i' | 'j'): boolean {\n const yearF = `${prefix}YYYY`;\n const monthF = `${prefix}MM`;\n const dayF = `${prefix}DD`;\n const dayCompare = yearF + monthF + dayF;\n const monthCompare = yearF + monthF;\n const yearCompare = yearF;\n let val1;\n let val2;\n switch (mode) {\n case 'day':\n val1 = moment1.format(dayCompare);\n val2 = moment2.format(dayCompare);\n break;\n case 'month':\n val1 = moment1.format(monthCompare);\n val2 = moment2.format(monthCompare);\n break;\n case 'year':\n val1 = moment1.format(yearCompare);\n val2 = moment2.format(yearCompare);\n break;\n }\n return val1 === val2;\n }\n\n abstract subtractMonth(moment: any, value: number): Date;\n\n abstract addMonth(moment: any, value: number): Date;\n\n abstract from(date1: Date, date2: Date): string;\n\n abstract to(date: Date, endDate: Date): string;\n\n abstract getTimes(date: string | Date): string;\n\n abstract getDateTimeString(date: Date): string;\n\n abstract weeksCount(momentObj: any): number;\n\n abstract isSame(date1: Date, date2: Date, mode: 'year' | 'month' | 'day'): boolean;\n\n abstract strDate(date: Date): string;\n\n abstract date(date: Date): number;\n\n abstract endOfMonth(moment: any): Date;\n\n abstract startOfMonth(moment: any): Date;\n\n abstract getDateInfo(date: any): DateInfo;\n\n abstract daysInMonth(year: any, month: any): number;\n\n abstract getMoment(date?: Date): any;\n\n abstract stringToMoment(str: string, format: string): any;\n\n abstract getStrMonthName(date: Date): string;\n\n abstract getDateString(date, showDate, showTime): string;\n\n abstract parse(payload: { year: number; month: number; day: number; hour: string; minutes: string }): any;\n\n abstract weekdaysMin(): string[];\n\n abstract weekDays(): string[];\n\n abstract toText();\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport moment from 'moment-hijri';\n\nimport { LogService } from '../services/log.service';\nimport { DateInfo } from './date-info';\nimport { DateService } from './date.service';\n\n@Injectable()\nexport class DateHijriService extends DateService {\n protected locale = 'ar-SA';\n constructor(@Optional() protected logService: LogService) {\n super(logService);\n }\n getTimes(date: string | Date): string {\n return moment(date).format('HH:mm');\n }\n weeksCount(momentObj: any): number {\n return moment.duration(moment(momentObj).endOf('iMonth') - moment(momentObj).startOf('iMonth')).weeks() + 1;\n }\n subtractMonth(momentOfDate: any, value: number): Date {\n return momentOfDate.subtract(value, 'iMonth').toDate();\n }\n addMonth(momentOfDate: any, value: number): Date {\n return momentOfDate.add(value, 'iMonth').toDate();\n }\n toText(): string {\n return 'الی ';\n }\n to(date1: Date, date2: Date): string {\n return moment(date1).to(date2);\n }\n from(date1: Date, date2: Date): string {\n return moment(date1).from(date2);\n }\n isSame(date1: Date, date2: Date, mode: 'year' | 'month' | 'day'): boolean {\n const m1 = moment(date1);\n const m2 = moment(date2);\n return this.checkSame(m1, m2, mode, 'i');\n }\n strDate(date: Date): string {\n return moment(date).format('iD');\n }\n weekdaysMin(): string[] {\n return moment.weekdaysMin();\n }\n weekDays(): string[] {\n return moment.weekdays();\n }\n date(date: Date): any {\n return moment(date).iDate();\n }\n endOfMonth(date: Date): any {\n return moment(date).endOf('iMonth').format('iYYYY-iMM-iDD hh:mm');\n }\n startOfMonth(date: Date): any {\n return moment(date).startOf('iMonth').format('iYYYY-iMM-iDD hh:mm');\n }\n getDateInfo(date: any): DateInfo {\n const m = moment(date);\n const shamsi = {\n year: m.iYear(),\n month: m.iMonth(),\n day: m.iDate(),\n hour: m.hour(),\n minutes: m.minute(),\n strYear: m.format('iYYYY'),\n strMonth: m.format('iM'),\n strDay: m.format('iD'),\n monthName: m.format('iMMMM'),\n dayInWeek: 0,\n dayName: m.format('dddd'),\n moment: m,\n date\n };\n shamsi.dayInWeek = m.daysInMonth(shamsi.year, shamsi.month);\n return shamsi;\n }\n daysInMonth(year: number, month: number): number {\n return moment.jDaysInMonth(year, month);\n }\n getMoment(date?: Date): any {\n if (!date) {\n date = new Date();\n }\n return moment(date);\n }\n stringToMoment(str: string, format: string): any {\n return moment(str, format);\n }\n getStrMonthName(date: Date): string {\n return moment(date).format('iMMMM');\n }\n parse(payload: { year: number; month: number; day: number; hour: string; minutes: string }): any {\n const { year, month, day, hour, minutes } = payload;\n const format = 'iYYYY-iM-iD HH:mm';\n const value = `${year}-${month}-${day} ${hour}:${minutes}`;\n if (this.logService) {\n this.logService.info(value, format);\n }\n\n return moment(value, format);\n }\n monthNames(): string[] {\n return moment.localeData()._iMonths;\n }\n getDateTimeString(date: Date): string {\n const m = moment(date);\n m.locale('ar-SA');\n return m.format('iYYYY-iMM-iDD HH:mm');\n }\n getDateString(date: Date, showDate: boolean, showTime: boolean): string {\n const m = moment(date);\n let format = 'dddd';\n if (showDate) {\n format = `${format} iYYYY/iMM/iDD `;\n }\n if (showTime) {\n format = `${format} HH:mm`;\n }\n return m.format(format);\n }\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport moment from 'moment';\n\nimport { LogService } from '../services/log.service';\nimport { DateInfo } from './date-info';\nimport { DateService } from './date.service';\n\n@Injectable()\nexport class DateMiladiService extends DateService {\n protected locale = 'en';\n constructor(@Optional() protected logService: LogService) {\n super(logService);\n moment.locale('en');\n }\n getTimes(date: string | Date): string {\n return moment(date).format('HH:mm');\n }\n weeksCount(momentObj: any): number {\n return moment.duration(moment(momentObj).endOf('month').diff(moment(momentObj).startOf('month'))).asWeeks() + 1;\n }\n subtractMonth(momentOfDate: any, value: number): Date {\n return momentOfDate.subtract(value, 'months').toDate();\n }\n addMonth(momentOfDate: any, value: number): Date {\n return momentOfDate.add(value, 'months').toDate();\n }\n to(date1: Date, date2: Date): string {\n return moment(date1).to(date2);\n }\n from(date1: Date, date2: Date): string {\n return moment(date1).from(date2);\n }\n isSame(date1: Date, date2: Date, mode: 'year' | 'month' | 'day'): boolean {\n return moment(date1).isSame(date2, mode);\n }\n strDate(date: Date): string {\n return moment(date).format('D');\n }\n toText(): string {\n return 'to ';\n }\n date(date: Date): number {\n return moment(date).date();\n }\n endOfMonth(date: Date): Date {\n return new Date(moment(date).endOf('month').format('YYYY-MM-DD hh:mm'));\n }\n startOfMonth(date: Date): Date {\n return new Date(moment(date).startOf('month').format('YYYY-MM-DD hh:mm'));\n }\n getDateInfo(date: any): DateInfo {\n const m = moment(date);\n const miladi = {\n year: m.year(),\n month: m.month(),\n day: m.date(),\n hour: m.hour(),\n minutes: m.minute(),\n strYear: m.format('YYYY'),\n strMonth: m.format('M'),\n strDay: m.format('D'),\n monthName: m.format('MMMM'),\n dayInWeek: 0,\n moment: m,\n dayName: m.format('dddd'),\n date\n };\n miladi.dayInWeek = m.daysInMonth();\n return miladi;\n }\n daysInMonth(year: number, month: number): number {\n return moment([year, month]).daysInMonth();\n }\n getMoment(date?: Date): any {\n if (!date) {\n date = new Date();\n }\n return moment(date);\n }\n stringToMoment(str: string, format: string): any {\n return moment(str, format);\n }\n getStrMonthName(date: Date): string {\n return moment(date).format('MMMM');\n }\n parse(payload: { year: number; month: number; day: number; hour: string; minutes: string }): any {\n const { year, month, day, hour, minutes } = payload;\n const format = 'YYYY-M-D HH:mm';\n const value = `${year}-${month}-${day} ${hour}:${minutes}`;\n if (this.logService) {\n this.logService.info(value, format);\n }\n\n return moment(value, format);\n }\n\n getDateString(date: Date, showDate: boolean, showTime: boolean): string {\n const m = moment(date);\n m.locale('en');\n\n let format = 'dddd';\n if (showDate) {\n format = `${format} DD MM YYYY`;\n }\n if (showTime) {\n format = `${format} HH:mm`;\n }\n return m.format(format);\n }\n getDateTimeString(date: Date): string {\n const m = moment(date);\n m.locale('en');\n return m.format('YYYY-MM-DD HH:mm');\n }\n weekdaysMin(): string[] {\n return moment.weekdaysMin();\n }\n weekDays(): string[] {\n return moment.weekdays();\n }\n}\n","import { Injectable, Optional } from '@angular/core';\n\nimport moment from 'moment-jalaali';\n\nimport { LogService } from '../services/log.service';\nimport { DateInfo } from './date-info';\nimport { DateService } from './date.service';\n\n@Injectable()\nexport class DateShamsiService extends DateService {\n protected locale = 'fa';\n\n constructor(@Optional() protected logService: LogService) {\n super(logService);\n moment.loadPersian({ usePersianDigits: true, dialect: 'persian-modern' });\n }\n\n getTimes(date: string | Date): string {\n return moment(date).format('HH:mm');\n }\n\n weeksCount(momentObj: any): number {\n return moment.duration(moment(momentObj).endOf('jMonth') - moment(momentObj).startOf('jMonth')).weeks() + 1;\n }\n\n subtractMonth(momentOfDate: any, value: number): Date {\n return momentOfDate.subtract(value, 'jMonth').toDate();\n }\n\n addMonth(momentOfDate: any, value: number): Date {\n return momentOfDate.add(value, 'jMonth').toDate();\n }\n\n to(date1: Date, date2: Date): string {\n return moment(date1).to(date2);\n }\n\n from(date1: Date, date2: Date): string {\n return moment(date1).from(date2);\n }\n\n isSame(date1: Date, date2: Date, mode: 'year' | 'month' | 'day'): boolean {\n const m1 = moment(date1);\n const m2 = moment(date2);\n return this.checkSame(m1, m2, mode, 'j');\n }\n\n strDate(date: Date): string {\n return moment(date).format('jD');\n }\n\n weekdaysMin(): Array<string> {\n return 'ش_ی_د_س_چ_پ_ج'.split('_');\n }\n\n weekDays(): Array<string> {\n return 'شنبه_یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه'.split('_');\n }\n toText(): string {\n return 'تا ';\n }\n date(date: Date): any {\n return moment(date).jDate();\n }\n\n endOfMonth(date: Date): Date {\n return moment(date).endOf('jMonth').toDate();\n }\n\n startOfMonth(date: Date): Date {\n return moment(date).startOf('jMonth').toDate();\n }\n\n monthNames(): string[] {\n return moment.localeData()._jMonths;\n }\n\n getDateInfo(date: any): DateInfo {\n const m = moment(date);\n const shamsi = {\n year: m.jYear(),\n month: m.jMonth(),\n day: m.jDate(),\n hour: m.hour(),\n minutes: m.minute(),\n strYear: m.format('jYYYY'),\n strMonth: m.format('jM'),\n strDay: m.format('jD'),\n monthName: m.format('jMMMM'),\n dayInWeek: 0,\n moment: m,\n dayName: m.format('dddd'),\n date\n };\n shamsi.dayInWeek = m.daysInMonth(shamsi.year, shamsi.month);\n return shamsi;\n }\n\n daysInMonth(year: number, month: number): number {\n return moment.jDaysInMonth(year, month);\n }\n\n getMoment(date?: Date): any {\n if (!date) {\n date = new Date();\n }\n return moment(date);\n }\n stringToMoment(str: string, format: string): any {\n return moment(str, format);\n }\n\n getStrMonthName(date: Date): string {\n return moment(date).format('jMMMM');\n }\n\n getDateTimeString(date: Date): string {\n const m = moment(date);\n m.locale('fa');\n return m.format('jYYYY/jMM/jDD HH:mm');\n }\n\n getDateString(date: Date, showDate: boolean, showTime: boolean): string {\n const m = moment(date);\n m.locale('fa');\n let format = '';\n if (showDate) {\n format = `dddd jYYYY/jMM/jDD`;\n }\n if (showTime) {\n format = `${format} HH:mm`;\n }\n return m.format(format);\n }\n\n parse(payload: { year: number; month: number; day: number; hour: string; minutes: string }): any {\n const { year, month, day, hour, minutes } = payload;\n const format = 'jYYYY-jM-jD HH:mm';\n const value = `${year}-${month}-${day} ${hour}:${minutes}`;\n if (this.logService) {\n this.logService.info(value, format);\n }\n\n return moment(value, format);\n }\n}\n","/* eslint-disable */\r\n\r\nconst Device: { [key: string]: any } = {};\r\n\r\n// * ******* OS Detection ********\r\n\r\n/**\r\n * Contains information about the operating system of the Device.\r\n * @name Device.os\r\n */\r\n\r\n/**\r\n * Enumeration containing the names of known operating systems.\r\n * @name Device.os.OS\r\n */\r\n\r\n/**\r\n * The name of the operating system.\r\n * @name Device.os.name\r\n * @type String\r\n */\r\n\r\n/**\r\n * The version of the operating system as <code>string</code>. Might be empty if no version can be determined.\r\n * @name Device.os.versionStr\r\n * @type String\r\n */\r\n\r\n/**\r\n * The version of the operating system as <code>float</code>. Might be <code>-1</code> if no version can be determined.\r\n * @name Device.os.version\r\n * @type float\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, a Windows operating system is used.\r\n * @name Device.os.windows\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, a Mac operating system is used.\r\n * @name Device.os.macintosh\r\n * @type boolean\r\n */\r\n\r\n/*\r\n * If this flag is set to <code>true</code>, an iOS operating system is used.\r\n * @name Device.os.ios\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, an Android operating system is used.\r\n * @name Device.os.android\r\n * @type boolean\r\n */\r\n\r\n/*\r\n * Windows operating system name.\r\n * @see Device.os.name\r\n * @name Device.os.OS.WINDOWS\r\n */\r\n\r\n/**\r\n * MAC operating system name.\r\n * @see Device.os.name\r\n * @name Device.os.OS.MACINTOSH\r\n */\r\n\r\n/**\r\n * iOS operating system name.\r\n * @see Device.os.name\r\n * @name Device.os.OS.IOS\r\n */\r\n\r\n/**\r\n * Android operating system name.\r\n * @see Device.os.name\r\n * @name Device.os.OS.ANDROID\r\n */\r\n\r\nconst OS = {\r\n WINDOWS: 'win',\r\n MACINTOSH: 'mac',\r\n IOS: 'iOS',\r\n ANDROID: 'Android'\r\n};\r\n\r\nconst _getMobileOS = () => {\r\n const userAgent = navigator.userAgent;\r\n\r\n // iOS, Android\r\n let rPlatform = /\\(([a-zA-Z ]+);\\s(?:[U]?[;]?)([\\D]+)((?:[\\d._]*))(?:.*[)][^\\d]*)([\\d.]*)\\s/;\r\n let aMatches = userAgent.match(rPlatform);\r\n\r\n if (aMatches) {\r\n const rAppleDevices = /iPhone|iPad|iPod/;\r\n\r\n if (aMatches[0].match(rAppleDevices)) {\r\n aMatches[3] = aMatches[3].replace(/_/g, '.');\r\n\r\n return {\r\n name: OS.IOS,\r\n versionStr: aMatches[3]\r\n };\r\n }\r\n\r\n if (aMatches[2].match(/Android/)) {\r\n aMatches[2] = aMatches[2].replace(/\\s/g, '');\r\n return {\r\n name: OS.ANDROID,\r\n versionStr: aMatches[3]\r\n };\r\n }\r\n }\r\n\r\n // Firefox on Android\r\n rPlatform = /\\((Android)[\\s]?([\\d][.\\d]*)?;.*Firefox\\/[\\d][.\\d]*/;\r\n aMatches = userAgent.match(rPlatform);\r\n if (aMatches) {\r\n return {\r\n name: OS.ANDROID,\r\n versionStr: aMatches.length === 3 ? aMatches[2] : ''\r\n };\r\n }\r\n return {};\r\n};\r\n\r\nconst _getDesktopOS = () => {\r\n const sPlatform = navigator.platform;\r\n if (sPlatform.indexOf('Win') !== -1) {\r\n const rVersion = /Windows NT (\\d+).(\\d)/i; // userAgent since windows 10: Windows NT 10[...]\r\n const uaResult = navigator.userAgent.match(rVersion);\r\n\r\n return {\r\n name: OS.WINDOWS,\r\n versionStr: (uaResult && uaResult[1]) || ''\r\n };\r\n }\r\n\r\n if (sPlatform.indexOf('Mac') !== -1) {\r\n return {\r\n name: OS.MACINTOSH,\r\n versionStr: ''\r\n };\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst _getOS = () => _getMobileOS() || _getDesktopOS();\r\n\r\nconst _setOS = () => {\r\n if (Device.os) {\r\n return;\r\n }\r\n\r\n Device.os = _getOS() || {};\r\n Device.os.OS = OS;\r\n Device.os.version = Device.os.versionStr ? parseFloat(Device.os.versionStr) : -1;\r\n\r\n if (Device.os.name) {\r\n Object.keys(OS).forEach((name) => {\r\n if (OS[name] === Device.os.name) {\r\n Device.os[name.toLowerCase()] = true;\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst getOS = () => {\r\n if (!Device.os) {\r\n _setOS();\r\n }\r\n\r\n return Device.os;\r\n};\r\n\r\nconst isAndroid = () => {\r\n if (!Device.os) {\r\n _setOS();\r\n }\r\n\r\n return !!Device.os.android;\r\n};\r\n\r\n// * ******* Browser Detection ********\r\n\r\n/**\r\n * Contains information about the used browser.\r\n * @name Device.browser\r\n */\r\n\r\n/**\r\n * Enumeration containing the names of known browsers.\r\n * @name Device.browser.BROWSER\r\n *\r\n * The name of the browser.\r\n * @name Device.browser.name\r\n * @type String\r\n */\r\n\r\n/**\r\n * The version of the browser as <code>string</code>. Might be empty if no version can be determined.\r\n * @name Device.browser.versionStr\r\n * @type String\r\n */\r\n\r\n/**\r\n * The version of the browser as <code>float</code>. Might be <code>-1</code> if no version can be determined.\r\n * @name Device.browser.version\r\n * @type float\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the mobile variant of the browser is used or\r\n * a tablet or phone device is detected. This information might not be available for all browsers.\r\n * @name Device.browser.mobile\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Microsoft Internet Explorer browser is used.\r\n * @name Device.browser.internet_explorer\r\n * @type boolean\r\n * @deprecated since 1.20, use {@link Device.browser.msie} instead.\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Microsoft Internet Explorer browser is used.\r\n * @name Device.browser.msie\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Microsoft Edge browser is used.\r\n * @name Device.browser.edge\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Mozilla Firefox browser is used.\r\n * @name Device.browser.firefox\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Google Chrome browser is used.\r\n * @name Device.browser.chrome\r\n * @type boolean\r\n *\r\n * If this flag is set to <code>true</code>, the Apple Safari browser is used.\r\n *\r\n * <b>Note:</b>\r\n * This flag is also <code>true</code> when the standalone (fullscreen) mode or webview is used on iOS devices.\r\n * Please also note the flags {@link Device.browser.fullscreen} and {@link Device.browser.webview}.\r\n *\r\n * @name Device.browser.safari\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, a browser featuring a Webkit engine is used.\r\n *\r\n * <b>Note:</b>\r\n * This flag is also <code>true</code> when the used browser was based on the Webkit engine, but\r\n * uses another rendering engine in the meantime. For example the Chrome browser started from version 28 and above\r\n * uses the Blink rendering engine.\r\n *\r\n * @name Device.browser.webkit\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Safari browser runs in standalone fullscreen mode on iOS.\r\n *\r\n * <b>Note:</b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,\r\n * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.\r\n * the availability of {@link Device.browser.version}.\r\n *\r\n * @name Device.browser.fullscreen\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Safari browser runs in webview mode on iOS.\r\n *\r\n * <b>Note:</b> This flag is only available if the Safari browser was detected. Furthermore, if this mode is detected,\r\n * technically not a standard Safari is used. There might be slight differences in behavior and detection, e.g.\r\n * the availability of {@link Device.browser.version}.\r\n *\r\n * @name Device.browser.webview\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the Phantom JS browser is used.\r\n * @name Device.browser.phantomJS\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * The version of the used Webkit engine, if available.\r\n * @name Device.browser.webkitVersion\r\n * @type String\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, a browser featuring a Mozilla engine is used.\r\n * @name Device.browser.mozilla\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * Internet Explorer browser name.\r\n * @name Device.browser.BROWSER.INTERNET_EXPLORER\r\n */\r\n\r\n/**\r\n * Edge browser name.\r\n * @name Device.browser.BROWSER.EDGE\r\n */\r\n\r\n/**\r\n * Firefox browser name.\r\n * @name Device.browser.BROWSER.FIREFOX\r\n */\r\n\r\n/**\r\n * Chrome browser name.\r\n * @name Device.browser.BROWSER.CHROME\r\n */\r\n\r\n/**\r\n * Safari browser name.\r\n * @name Device.browser.BROWSER.SAFARI\r\n */\r\n\r\n/**\r\n * Android stock browser name.\r\n * @name Device.browser.BROWSER.ANDROID\r\n */\r\n\r\nconst BROWSER = {\r\n INTERNET_EXPLORER: 'ie',\r\n EDGE: 'ed',\r\n FIREFOX: 'ff',\r\n CHROME: 'cr',\r\n SAFARI: 'sf',\r\n ANDROID: 'an'\r\n};\r\n\r\n/* !\r\n * Taken from jQuery JavaScript Library v1.7.1\r\n * http://jquery.com/\r\n *\r\n * Copyright 2011, John Resig\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * Includes Sizzle.js\r\n * http://sizzlejs.com/\r\n * Copyright 2011, The Dojo Foundation\r\n * Released under the MIT, BSD, and GPL Licenses.\r\n *\r\n * Date: Mon Nov 21 21:11:03 2011 -0500\r\n */\r\nconst _calcBrowser = () => {\r\n const sUserAgent = navigator.userAgent.toLowerCase();\r\n\r\n const rwebkit = /(webkit)[ /]([\\w.]+)/;\r\n const rmsie = /(msie) ([\\w.]+)/;\r\n const rmsie11 = /(trident)\\/[\\w.]+;.*rv:([\\w.]+)/;\r\n const redge = /(edge)[ /]([\\w.]+)/;\r\n const rmozilla = /(mozilla)(?:.*? rv:([\\w.]+))?/;\r\n\r\n // WinPhone IE11 and MS Edge userAgents contain \"WebKit\" and \"Mozilla\" and therefore must be checked first\r\n const browserMatch =\r\n redge.exec(sUserAgent) ||\r\n rmsie11.exec(sUserAgent) ||\r\n rwebkit.exec(sUserAgent) ||\r\n rmsie.exec(sUserAgent) ||\r\n (sUserAgent.indexOf('compatible') < 0 && rmozilla.exec(sUserAgent)) ||\r\n [];\r\n\r\n const oRes = {\r\n browser: browserMatch[1] || '',\r\n version: browserMatch[2] || '0'\r\n };\r\n oRes[oRes.browser] = true;\r\n return oRes;\r\n};\r\n\r\nconst _getBrowser = () => {\r\n const oBrowser: { [key: string]: any } = _calcBrowser();\r\n const sUserAgent = navigator.userAgent;\r\n const oNavigator: { [key: string]: any } = window.navigator;\r\n\r\n // jQuery checks for user agent strings. We differentiate between browsers\r\n let oExpMobile;\r\n let oResult;\r\n let fVersion;\r\n\r\n // Mozilla\r\n if (oBrowser.mozilla) {\r\n oExpMobile = /Mobile/;\r\n if (sUserAgent.match(/Firefox\\/(\\d+\\.\\d+)/)) {\r\n fVersion = parseFloat(RegExp.$1);\r\n oResult = {\r\n name: BROWSER.FIREFOX,\r\n versionStr: `${fVersion}`,\r\n version: fVersion,\r\n mozilla: true,\r\n mobile: oExpMobile.test(sUserAgent)\r\n };\r\n } else {\r\n // unknown mozilla browser\r\n oResult = {\r\n mobile: oExpMobile.test(sUserAgent),\r\n mozilla: true,\r\n version: -1\r\n };\r\n }\r\n } else if (oBrowser.webkit) {\r\n // webkit version is needed for calculation if the mobile android device is a tablet (calculation of other mobile devices work without)\r\n const regExpWebkitVersion = sUserAgent.toLowerCase().match(/webkit[/]([\\d.]+)/);\r\n let webkitVersion;\r\n if (regExpWebkitVersion) {\r\n webkitVersion = regExpWebkitVersion[1];\r\n }\r\n oExpMobile = /Mobile/;\r\n const aChromeMatch = sUserAgent.match(/(Chrome|CriOS)\\/(\\d+\\.\\d+).\\d+/);\r\n const aFirefoxMatch = sUserAgent.match(/FxiOS\\/(\\d+\\.\\d+)/);\r\n const aAndroidMatch = sUserAgent.match(/Android .+ Version\\/(\\d+\\.\\d+)/);\r\n\r\n if (aChromeMatch || aFirefoxMatch || aAndroidMatch) {\r\n let sName;\r\n let sVersion;\r\n let bMobile;\r\n\r\n if (aChromeMatch) {\r\n sName = BROWSER.CHROME;\r\n bMobile = oExpMobile.test(sUserAgent);\r\n sVersion = parseFloat(aChromeMatch[2]);\r\n } else if (aFirefoxMatch) {\r\n sName = BROWSER.FIREFOX;\r\n bMobile = true;\r\n sVersion = parseFloat(aFirefoxMatch[1]);\r\n } else if (aAndroidMatch) {\r\n sName = BROWSER.ANDROID;\r\n bMobile = oExpMobile.test(sUserAgent);\r\n sVersion = parseFloat(aAndroidMatch[1]);\r\n }\r\n\r\n oResult = {\r\n name: sName,\r\n mobile: bMobile,\r\n versionStr: `${sVersion}`,\r\n version: sVersion,\r\n webkit: true,\r\n webkitVersion\r\n };\r\n } else {\r\n // Safari might have an issue with sUserAgent.match(...); thus changing\r\n const oExp = /(Version|PhantomJS)\\/(\\d+\\.\\d+).*Safari/;\r\n const bStandalone: any = oNavigator.standalone;\r\n if (oExp.test(sUserAgent)) {\r\n const aParts: any = oExp.exec(sUserAgent);\r\n fVersion = parseFloat(aParts[2]);\r\n oResult = {\r\n name: BROWSER.SAFARI,\r\n versionStr: `${fVersion}`,\r\n fullscreen: false,\r\n webview: false,\r\n version: fVersion,\r\n mobile: oExpMobile.test(sUserAgent),\r\n webkit: true,\r\n webkitVersion,\r\n phantomJS: aParts[1] === 'PhantomJS'\r\n };\r\n } else if (\r\n /iPhone|iPad|iPod/.test(sUserAgent) &&\r\n !/CriOS/.test(sUserAgent) &&\r\n !/FxiOS/.test(sUserAgent) &&\r\n (bStandalone === true || bStandalone === false)\r\n ) {\r\n // WebView or Standalone mode on iOS\r\n oResult = {\r\n name: BROWSER.SAFARI,\r\n version: -1,\r\n fullscreen: bStandalone,\r\n webview: !bStandalone,\r\n mobile: oExpMobile.test(sUserAgent),\r\n webkit: true,\r\n webkitVersion\r\n };\r\n } else {\r\n // other webkit based browser\r\n oResult = {\r\n mobile: oExpMobile.test(sUserAgent),\r\n webkit: true,\r\n webkitVersion,\r\n version: -1\r\n };\r\n }\r\n }\r\n } else if (oBrowser.msie || oBrowser.trident) {\r\n fVersion = parseFloat(oBrowser.version);\r\n\r\n oResult = {\r\n name: BROWSER.INTERNET_EXPLORER,\r\n versionStr: `${fVersion}`,\r\n version: fVersion,\r\n msie: true,\r\n mobile: false\r\n };\r\n } else if (oBrowser.edge) {\r\n fVersion = parseFloat(oBrowser.version);\r\n oResult = {\r\n name: BROWSER.EDGE,\r\n versionStr: `${fVersion}`,\r\n version: fVersion,\r\n edge: true\r\n };\r\n } else {\r\n oResult = {\r\n name: '',\r\n versionStr: '',\r\n version: -1,\r\n mobile: false\r\n };\r\n }\r\n\r\n return oResult;\r\n};\r\n\r\nconst _setBrowser = () => {\r\n Device.browser = _getBrowser();\r\n Device.browser.BROWSER = BROWSER;\r\n\r\n if (Device.browser.name) {\r\n Object.keys(BROWSER).forEach((b) => {\r\n if (BROWSER[b] === Device.browser.name) {\r\n Device.browser[b.toLowerCase()] = true;\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst getBrowser = () => {\r\n if (!Device.browser) {\r\n _setBrowser();\r\n }\r\n return Device.browser;\r\n};\r\n\r\nconst isIE = () => {\r\n if (!Device.browser) {\r\n _setBrowser();\r\n }\r\n return !!Device.browser.msie;\r\n};\r\n\r\nconst isEdge = () => {\r\n if (!Device.browser) {\r\n _setBrowser();\r\n }\r\n return !!Device.browser.edge;\r\n};\r\n\r\nconst isChrome = () => {\r\n if (!Device.browser) {\r\n _setBrowser();\r\n }\r\n return !!Device.browser.chrome;\r\n};\r\n\r\nconst isFF = () => {\r\n if (!Device.browser) {\r\n _setBrowser();\r\n }\r\n return !!Device.browser.firefox;\r\n};\r\n\r\nconst isSafari = () => {\r\n if (!Device.browser) {\r\n _setBrowser();\r\n }\r\n return !!Device.browser.safari;\r\n};\r\n\r\n// * ******* Support Detection ********\r\n\r\nconst _setSupport = () => {\r\n if (Device.support) {\r\n return;\r\n }\r\n\r\n if (!Device.browser) {\r\n _setBrowser();\r\n }\r\n\r\n Device.support = {};\r\n Device.support.touch = !!(\r\n 'ontouchstart' in window ||\r\n navigator.maxTouchPoints > 0 ||\r\n ((window as any).DocumentTouch && document instanceof (window as any).DocumentTouch)\r\n );\r\n};\r\n\r\nconst supportTouch = () => {\r\n if (!Device.support) {\r\n _setSupport();\r\n }\r\n\r\n return !!Device.support.touch;\r\n};\r\n\r\n// * ******* System Detection ********\r\n\r\n/**\r\n * Provides a basic categorization of the used device based on various indicators.\r\n *\r\n * <b>Note:</b> Depending on the capabilities of the device it is also possible that multiple flags are set to <code>true</code>.\r\n *\r\n * @namespace\r\n * @name Device.system\r\n */\r\n\r\n/**\r\n * If this flag is set to <code>true</code>, the device is recognized as a phone.\r\n *\r\n * @name Device.system.phone\r\n * @type boolean\r\n */\r\n\r\n/**\r\n * @name Device.system.SYSTEMTYPE\r\n * Enumeration containing the names of known types of the devices.\r\n */\r\n\r\nconst SYSTEMTYPE = {\r\n TABLET: 'tablet',\r\n PHONE: 'phone',\r\n DESKTOP: 'desktop',\r\n COMBI: 'combi'\r\n};\r\n\r\nconst _isTablet = () => {\r\n const sUserAgent = navigator.userAgent;\r\n if (Device.os.name === Device.os.OS.IOS) {\r\n return /ipad/i.test(sUserAgent);\r\n }\r\n // in real mobile device\r\n if (supportTouch()) {\r\n if (Device.os.windows && Device.os.version >= 8) {\r\n return true;\r\n }\r\n\r\n if (Device.browser.chrome && Device.os.android && Device.os.version >= 4.4) {\r\n return !/Mobile Safari\\/[.0-9]+/.test(sUserAgent);\r\n }\r\n let densityFactor = window.devicePixelRatio ? window.devicePixelRatio : 1; // may be undefined in Windows Phone devices\r\n // On Android sometimes window.screen.width returns the logical CSS pixels, sometimes the physical device pixels;\r\n // Tests on multiple devices suggest this depends on the Webkit version.\r\n // The Webkit patch which changed the behavior was done here: https://bugs.webkit.org/show_bug.cgi?id=106460\r\n // Chrome 27 with Webkit 537.36 returns the logical pixels,\r\n // Chrome 18 with Webkit 535.19 returns the physical pixels.\r\n // The BlackBerry 10 browser with Webkit 537.10+ returns the physical pixels.\r\n // So it appears like somewhere above Webkit 537.10 we do not hve to divide by the devicePixelRatio anymore.\r\n if (Device.os.android && Device.browser.webkit && parseFloat(Device.browser.webkitVersion) > 537.1) {\r\n densityFactor = 1;\r\n }\r\n\r\n // this is how android distinguishes between tablet and phone\r\n // http://android-developers.blogspot.de/2011/07/new-tools-for-managing-screen-sizes.html\r\n const bTablet = Math.min(window.screen.width / densityFactor, window.screen.height / densityFactor) >= 600;\r\n\r\n // special workaround for Nexus 7 where the window.screen.width is 600px or 601px in portrait mode (=> tablet)\r\n // but window.screen.height 552px in landscape mode (=> phone), because the browser UI takes some space on top.\r\n // So the detected device type depends on the orientation :-(\r\n // actually this is a Chrome bug, as \"width\"/\"height\" should return the entire screen's dimensions and\r\n // \"availWidth\"/\"availHeight\" should return the size available after subtracting the browser UI\r\n\r\n /*\r\n if (isLandscape() &&\r\n (window.screen.height === 552 || window.screen.height === 553) // old/new Nexus 7\r\n &&\r\n (/Nexus 7/i.test(sUserAgent))) {\r\n bTablet = true;\r\n }\r\n */\r\n\r\n return bTablet;\r\n }\r\n // This simple android phone detection can be used here because this is the mobile emulation mode in desktop browser\r\n const bAndroidPhone = /(?=android)(?=.*mobile)/i.test(sUserAgent);\r\n // in desktop browser, it's detected as tablet when\r\n // 1. Windows 8 device with a touch screen where \"Touch\" is contained in the userAgent\r\n // 2. Android emulation and it's not an Android phone\r\n return (Device.browser.msie && sUserAgent.indexOf('Touch') !== -1) || (Device.os.android && !bAndroidPhone);\r\n};\r\n\r\nconst _getSystem = () => {\r\n const bTabletDetected = _isTablet();\r\n const isWin8Upwards = Device.os.windows && Device.os.version >= 8;\r\n\r\n const oSystem: { [key: string]: any } = {};\r\n oSystem.tablet = !!((Device.support.touch || isWin8Upwards) && bTabletDetected);\r\n oSystem.phone = !!((Device.os.windows_phone || Device.support.touch) && !bTabletDetected);\r\n oSystem.desktop = !!((!oSystem.tablet && !oSystem.phone) || isWin8Upwards);\r\n oSystem.combi = oSystem.desktop && oSystem.tablet;\r\n oSystem.SYSTEMTYPE = SYSTEMTYPE;\r\n\r\n return oSystem;\r\n};\r\n\r\nconst _setSystem = () => {\r\n _setSupport();\r\n _setOS();\r\n\r\n Device.system = {};\r\n Device.system = _getSystem();\r\n if (Device.system.tablet || Device.system.phone) {\r\n Device.browser.mobile = true;\r\n }\r\n};\r\n\r\nconst getSystem = () => {\r\n if (!Device.system) {\r\n _setSystem();\r\n }\r\n\r\n return Device.system;\r\n};\r\n\r\nconst isDesktop = () => {\r\n if (!Device.system) {\r\n _setSystem();\r\n }\r\n\r\n return Device.system.desktop;\r\n};\r\n\r\nconst isTablet = () => {\r\n if (!Device.system) {\r\n _setSystem();\r\n }\r\n\r\n return Device.system.tablet;\r\n};\r\n\r\nconst isPhone = () => {\r\n if (!Device.system) {\r\n _setSystem();\r\n }\r\n\r\n return Device.system.phone;\r\n};\r\n\r\nconst isMobile = () => {\r\n if (!Device.system) {\r\n _setSystem();\r\n }\r\n\r\n return Device.browser.mobile;\r\n};\r\n\r\nexport {\r\n isIE,\r\n isEdge,\r\n isChrome,\r\n isFF,\r\n isSafari,\r\n isMobile,\r\n isDesktop,\r\n isTablet,\r\n isPhone,\r\n isAndroid,\r\n getOS,\r\n getSystem,\r\n getBrowser,\r\n supportTouch\r\n};\r\n","/* eslint-disable */\nimport { _isNumberValue } from '@angular/cdk/coercion';\nimport { BarsaApi } from './abstract-classes/barsa-api';\nimport {\n AbbrevationDeviceSize,\n ColSetting,\n FormSetting,\n GeneralControlInfoModel,\n GridSetting,\n LayoutSetting,\n MetaobjectDataModel,\n ReportViewColumn\n} from './abstract-classes/models';\nimport { DateHijriService, DateMiladiService, DateService, DateShamsiService } from './date-services';\nimport * as Device from './device';\nimport { LogService } from './services/log.service';\n\nexport function throwIfAlreadyLoaded(parentModule: any, moduleName: string): void {\n if (parentModule) {\n throw new Error(`${moduleName} has already been loaded. Import ${moduleName} in the AppModule only.`);\n }\n}\nexport function genrateInlineMoId() {\n return (BarsaApi.idGenerator--).toString();\n}\nexport function enumValueToStringSize(value: string, defaultValue: string): string {\n switch (value) {\n case '1':\n return 's';\n case '2':\n return 'm';\n case '3':\n return 'l';\n default:\n return defaultValue;\n }\n}\nexport function getUniqueId(parts: number): string {\n const stringArr: string[] = [];\n for (let i = 0; i < parts; i++) {\n // eslint-disable-next-line no-bitwise\n const S4 = (((1 + Math.random()) * 0x10000) | 0).toString(16);\n const S4_: string = S4.length > 0 ? S4.substring(1) : '';\n stringArr.push(S4_);\n }\n return stringArr.join('-');\n}\n\nexport function getDateService(logService: LogService, culture?): DateService {\n const defaultCulture = culture ?? BarsaApi.LoginFormData.Culture;\n switch (defaultCulture) {\n case 'fa-IR':\n return new DateShamsiService(logService);\n case 'ar-AE':\n return new DateHijriService(logService);\n default:\n return new DateMiladiService(logService);\n }\n}\n\nexport function getImagePath(\n type: string,\n moId: string | null,\n fileId: string,\n fieldDefId?: string,\n size?: number,\n sizeH?: number\n): string {\n moId = moId == null ? '' : encodeURIComponent(moId);\n fileId = fileId == null ? '' : encodeURIComponent(fileId);\n fieldDefId = fieldDefId == null ? '' : encodeURIComponent(fieldDefId);\n size = size == null ? 128 : size;\n sizeH = sizeH == null ? size : sizeH;\n const url = `/IH.ashx?ty=${type}&moId=${moId}&id=${fileId}&fdId=${fieldDefId}&si=${size}&siH=${sizeH}`;\n return url;\n}\n\nexport function isFunction(functionToCheck): boolean {\n return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';\n}\nexport function DeviceWidth(): number {\n return window.innerWidth > 0 ? window.innerWidth : screen.width;\n}\nexport function getHeaderValue(fieldValue): any {\n if (typeof fieldValue !== 'object') {\n return fieldValue;\n }\n const value = fieldValue.Value;\n const valueCaption: string = fieldValue.Value$Caption;\n let valueObjectCaption = null;\n if (typeof value === 'object') {\n valueObjectCaption = fieldValue.Value.$Caption;\n }\n if (valueObjectCaption) {\n return valueObjectCaption;\n }\n if (valueCaption && !valueCaption.startsWith('tmp')) {\n return valueCaption;\n }\n return value;\n}\nexport function elementInViewport2(el: any): boolean {\n let top = el.offsetTop;\n let left = el.offsetLeft;\n const width = el.offsetWidth;\n const height = el.offsetHeight;\n\n while (el.offsetParent) {\n el = el.offsetParent;\n top += el.offsetTop;\n left += el.offsetLeft;\n }\n\n return (\n top < window.pageYOffset + window.innerHeight &&\n left < window.pageXOffset + window.innerWidth &&\n top + height > window.pageYOffset &&\n left + width > window.pageXOffset\n );\n}\nexport function PreventDefaulEvent(e): void {\n e.stopPropagation();\n e.preventDefault();\n}\n\nexport function getComponentDefined(\n controlUi: { originalXtype: string },\n customUiSetting: { Module: string; Name: string; Selector: string }\n): {\n moduleName: string;\n modulePath: string;\n componentName: string;\n selector: string;\n} {\n let moduleName = BarsaApi.LoginFormData.DefaultUiModule;\n let moduleKebabName = BarsaApi.Common.Util.GetKebabCase(moduleName);\n let componentName = controlUi.originalXtype.replace('.', '').replace('_', '');\n let selector: string = BarsaApi.Common.Util.GetKebabCase(componentName);\n selector = selector.substring(1, selector.length);\n selector = BarsaApi.LoginFormData.CustomUiPrefix + '-' + selector;\n if (customUiSetting && customUiSetting.Module) {\n moduleName = customUiSetting.Module;\n moduleKebabName = BarsaApi.Common.Util.GetKebabCase(moduleName);\n componentName = customUiSetting.Name;\n selector = customUiSetting.Selector;\n }\n const modulePath = moduleKebabName.slice(1, moduleKebabName.length);\n return { moduleName, modulePath, componentName, selector };\n}\n\nexport function getDeviceIsPhone(): boolean {\n return Device.isPhone();\n}\nexport function getDeviceIsDesktop(): boolean {\n return Device.isTablet();\n}\nexport function getDeviceIsTablet(): boolean {\n return Device.isTablet();\n}\nexport function getDeviceIsMobile(): boolean {\n return navigator.userAgent.indexOf('mobi') > 0;\n}\n\nexport function getControlSizeMode(el: HTMLElement, deviceSize: 's' | 'm' | 'l' | 'xl' = 'l'): AbbrevationDeviceSize {\n const containerWidth = el.offsetWidth;\n if (containerWidth === 0) {\n return deviceSize;\n }\n if (deviceSize === 's' || containerWidth < 600) {\n deviceSize = 's';\n } else if (deviceSize === 'm' || (containerWidth > 600 && containerWidth < 1200)) {\n deviceSize = 'm';\n }\n return deviceSize;\n}\n\nexport function formatBytes(\n bytes,\n decimals = 2,\n size: 'Bytes' | 'KB' | 'MB' | 'GB' | 'TB' | 'PB' | 'EB' | 'ZB' | 'YB'\n): string {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = sizes.findIndex((c) => c === size);\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n}\nexport function getValidExtension(validExtensions): string {\n let _validExtensions = '';\n if (Array.isArray(validExtensions)) {\n _validExtensions = validExtensions.map((c) => '.' + c.Extension).join(',');\n }\n return _validExtensions;\n}\nexport function getIcon(type: string): string {\n return BarsaApi.Common.File.FileIconDict128[type];\n}\nexport function isImage(type): boolean {\n if (!type) {\n return false;\n }\n type = type.toLowerCase();\n return ['img', 'png', 'jpeg', 'jpg', 'gif', 'bmp', 'tiff', 'image'].indexOf(type) > -1;\n}\n\nexport function GetAllColumnsSorted(context): Array<ReportViewColumn> {\n const allColumns = BarsaApi.Common.Util.TryGetValue(context, 'Setting.View.Columns', []).filter(\n (c) => c.Name !== 'Id' && c.Name !== '$StyleIndex' && !c.Hidden\n );\n\n const colList: ColSetting[] = BarsaApi.Common.Util.TryGetValue(\n context,\n 'Setting.View.GridSetting.ColSettingList',\n []\n );\n const columns = new Array<ReportViewColumn>();\n colList.forEach((colS) => {\n const column = allColumns.find((c) => c.Name === colS.Name);\n if (column) {\n columns.push({ ...column, Hidden: colS.IsHidden, Width: colS.Width });\n }\n });\n allColumns.forEach((column, index) => {\n const colSetting = colList.find((c) => c.Name === column.Name);\n if (!colSetting) {\n columns.splice(index, 0, { ...column, Hidden: colList.length > 0 ? true : false });\n }\n });\n return columns;\n}\nexport function getGridSettings(context): GridSetting {\n const gridSetting = BarsaApi.Common.Util.TryGetValue(context, 'Setting.View.GridSetting', null);\n return {\n ColSettingList: gridSetting?.ColSettingList ?? null,\n SortSettingList: gridSetting?.SortSettingList ?? [],\n AutoSizeColumns: gridSetting?.AutoSizeColumns ?? false\n };\n}\nexport function GetDefaultMoObjectInfo(typeDefId: string): MetaobjectDataModel {\n return {\n Id: '0',\n $Caption: '',\n $TypeDefId: typeDefId,\n $State: 'New',\n $Type: 'Common.MetaObjectWeb',\n $FieldDict: {}\n };\n}\nexport function getLayout94ObjectInfo(): LayoutSetting {\n return {\n Type: 'Root',\n ControlId: 'ریشه',\n xtype: 'Ly.LayoutContainer',\n Bounds: { x: 0, y: 0, width: 432, height: 24 },\n items: [\n {\n Type: 'VerticalJoin',\n xtype: 'Ly.LayoutJoin',\n IsVertical: true,\n Bounds: { x: 0, y: 0, width: 432, height: 82 },\n items: []\n }\n ]\n };\n}\nexport function getFormSettings(typeDefId: string): FormSetting {\n const mo = GetDefaultMoObjectInfo(typeDefId);\n\n const formPanelSettings: FormSetting = {\n View: {\n Layout94: getLayout94ObjectInfo,\n ControlInfo: [],\n TypeDefId: typeDefId\n },\n IsSearchPanel: true,\n Data: {\n Mo: mo\n }\n };\n return formPanelSettings;\n}\nexport function createFormPanelMetaConditions(\n typeDefId: string,\n controlsInfo: GeneralControlInfoModel[],\n controlName: string,\n value: any\n): any {\n const formSettings = getFormSettings(typeDefId);\n formSettings.View.ControlInfo = JSON.parse(JSON.stringify(controlsInfo));\n\n formSettings.View.Layout94.items[0].items.push(...controlsInfo.map((c) => getLayoutControl(c.ControlName)));\n formSettings.Data.Mo[controlName] = value;\n const formPanelCtrlr = new BarsaApi.Ul.FormPanelCtrlr({\n Setting: formSettings,\n Features: {\n Workflow: false,\n Toolbar: false,\n InfoBar: false\n }\n });\n return formPanelCtrlr;\n}\nexport function getNewMoGridEditor(formSettings: FormSetting, typedefId: string): Partial<FormSetting> {\n const newFormSettings: FormSetting = JSON.parse(JSON.stringify(formSettings));\n return { ...newFormSettings.Data.Mo, $TypeDefId: typedefId };\n}\nexport function createGridEditorFormPanel(\n formSettings: FormSetting,\n mo: MetaobjectDataModel,\n typedef: string,\n relation: any,\n rewriteLayout: boolean = true\n): any {\n const newFormSettings: FormSetting = JSON.parse(JSON.stringify(formSettings));\n newFormSettings.Data.Mo = { ...mo, $TypeDefId: typedef };\n if (rewriteLayout) {\n newFormSettings.View.Layout94 = getLayout94ObjectInfo();\n newFormSettings.View.Layout94.items[0].items.push(\n ...newFormSettings.View.ControlInfo.map((c) =>\n getLayoutControl(c.ControlName, c.ControlFieldCaptionTranslated, false)\n )\n );\n }\n const formPanelCtrlr = new BarsaApi.Ul.FormPanelCtrlr({\n Setting: newFormSettings,\n Relation: relation,\n Features: {\n Workflow: false,\n Toolbar: false,\n InfoBar: false\n }\n });\n return formPanelCtrlr;\n}\n\nexport function getLayoutControl(\n controlName: string,\n controlCaption: string = '',\n hide: boolean = true\n): Partial<GeneralControlInfoModel> {\n return {\n xtype: 'Ly.LayoutControl',\n Type: 'LayoutControlItem',\n ControlId: controlName,\n IsVertical: false,\n TextLocation: 'Right',\n TextVisible: false,\n Visible: !hide,\n hide,\n UseLayoutItemTextForControl: false,\n Caption: controlCaption,\n AccessibleName: '',\n Bounds: { x: 0, y: 0, width: 432, height: 24 },\n MinSize: { width: 89, height: 24 },\n MaxSize: { width: 0, height: 24 },\n ControlBounds: { width: 388, height: 20 },\n ControlMinSize: { width: 45, height: 20 },\n ControlMaxSize: { width: 0, height: 20 },\n Padding: [2, 2, 2, 2],\n LabelSize: { width: 35, height: 13 },\n originalXtype: ''\n };\n}\n\nexport function getControlList(\n mo: MetaobjectDataModel,\n controlDbNames: string[],\n isSearchPanel: boolean,\n isGridEditor: boolean\n): Promise<GeneralControlInfoModel[]> {\n return new Promise<GeneralControlInfoModel[]>((resolve, reject) => {\n BarsaApi.Common.Ajax.GetServerData(\n 'Form94.GetControlInfos',\n {\n controlInfoParameter: {\n FieldDbNames: controlDbNames,\n Mo: new BarsaApi.Common.MetaObjectWeb(mo),\n IsSearchPanel: isSearchPanel,\n IsGridEditor: isGridEditor\n }\n },\n (m) => {\n resolve(m);\n },\n (err) => {\n reject(err);\n }\n );\n });\n}\n\nexport type NzSafeAny = any;\nexport type NumberInput = number | string | undefined | null;\nexport interface NgStyleInterface {\n [klass: string]: NzSafeAny;\n}\n\nexport interface IndexableObject {\n [key: string]: NzSafeAny;\n}\nexport function shallowEqual(objA?: IndexableObject, objB?: IndexableObject): boolean {\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n const bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let idx = 0; idx < keysA.length; idx++) {\n const key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n}\nexport function toNumber(value: number | string): number;\nexport function toNumber<D>(value: number | string, fallback: D): number | D;\nexport function toNumber(value: number | string, fallbackValue: number = 0): number {\n return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\nfunction propDecoratorFactory<T, D>(\n name: string,\n fallback: (v: T) => D\n): (target: NzSafeAny, propName: string) => void {\n function propDecorator(\n target: NzSafeAny,\n propName: string,\n originalDescriptor?: TypedPropertyDescriptor<NzSafeAny>\n ): NzSafeAny {\n const privatePropName = `$$__zorroPropDecorator__${propName}`;\n\n if (Object.prototype.hasOwnProperty.call(target, privatePropName)) {\n // warn(`The prop \"${privatePropName}\" is already exist, it will be overrided by ${name} decorator.`);\n }\n\n Object.defineProperty(target, privatePropName, {\n configurable: true,\n writable: true\n });\n\n return {\n get(): string {\n return originalDescriptor && originalDescriptor.get\n ? originalDescriptor.get.bind(this)()\n : this[privatePropName];\n },\n set(value: T): void {\n if (originalDescriptor && originalDescriptor.set) {\n originalDescriptor.set.bind(this)(fallback(value));\n }\n this[privatePropName] = fallback(value);\n }\n };\n }\n\n return propDecorator;\n}\nexport function InputNumber(fallbackValue?: NzSafeAny): NzSafeAny {\n return propDecoratorFactory('InputNumber', (value: string | number) => toNumber(value, fallbackValue));\n}\nexport enum AffixRespondEvents {\n resize = 'resize',\n scroll = 'scroll',\n touchstart = 'touchstart',\n touchmove = 'touchmove',\n touchend = 'touchend',\n pageshow = 'pageshow',\n load = 'LOAD'\n}\nexport interface SimpleRect {\n top: number;\n left: number;\n width?: number;\n height?: number;\n bottom?: number;\n}\n\nexport function isTargetWindow(target: Element | Window): target is Window {\n return typeof window !== 'undefined' && target === window;\n}\n\nexport function getTargetRect(target: Element | Window): SimpleRect {\n return !isTargetWindow(target)\n ? target.getBoundingClientRect()\n : {\n top: 0,\n left: 0,\n bottom: 0\n };\n}\n/* eslint-disable no-invalid-this */\nexport const availablePrefixes = ['moz', 'ms', 'webkit'];\n\nexport function requestAnimationFramePolyfill(): typeof requestAnimationFrame {\n let lastTime = 0;\n return function (callback: FrameRequestCallback): any {\n const currTime = new Date().getTime();\n const timeToCall = Math.max(0, 16 - (currTime - lastTime));\n const id = setTimeout(() => {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return id;\n };\n}\n\nexport function getRequestAnimationFrame(): typeof requestAnimationFrame {\n if (typeof window === 'undefined') {\n return () => 0;\n }\n if (window.requestAnimationFrame) {\n // https://github.com/vuejs/vue/issues/4465\n return window.requestAnimationFrame.bind(window);\n }\n\n const prefix = availablePrefixes.filter((key) => `${key}RequestAnimationFrame` in window)[0];\n\n return prefix ? (window as NzSafeAny)[`${prefix}RequestAnimationFrame`] : requestAnimationFramePolyfill();\n}\nexport function cancelRequestAnimationFrame(id: number): NzSafeAny {\n if (typeof window === 'undefined') {\n return null;\n }\n if (window.cancelAnimationFrame) {\n return window.cancelAnimationFrame(id);\n }\n const prefix = availablePrefixes.filter(\n (key) => `${key}CancelAnimationFrame` in window || `${key}CancelRequestAnimationFrame` in window\n )[0];\n\n return prefix\n ? (\n (window as NzSafeAny)[`${prefix}CancelAnimationFrame`] ||\n (window as NzSafeAny)[`${prefix}CancelRequestAnimationFrame`]\n )\n // @ts-ignore\n .call(this, id)\n : clearTimeout(id);\n}\n\nexport type EasyingFn = (t: number, b: number, c: number, d: number) => number;\n\nexport function easeInOutCubic(t: number, b: number, c: number, d: number): number {\n const cc = c - b;\n let tt = t / (d / 2);\n if (tt < 1) {\n return (cc / 2) * tt * tt * tt + b;\n } else {\n return (cc / 2) * ((tt -= 2) * tt * tt + 2) + b;\n }\n}\n\nexport interface NzScrollToOptions {\n /** Animation duration, default as 450 */\n duration?: number;\n /** Scroll container, default as window */\n easing?: EasyingFn;\n /** Scroll end callback */\n callback?(): void;\n}\n","import { BehaviorSubject, Subject, Observable, combineLatest } from 'rxjs';\nimport { debounceTime, delay, filter, map, takeUntil, tap } from 'rxjs/operators';\nimport { FormViewSetting, IHeaderLayout, LayoutSetting, MetaobjectDataModel } from '../abstract-classes/models';\nimport { BarsaApi } from '../abstract-classes/barsa-api';\nimport { BaseComponent } from '../base.component';\nimport { DeviceWidth, getHeaderValue } from '../constants';\n\nexport class FormPanelService extends BaseComponent {\n context$: Observable<any>;\n searchPanelIsObject$: Observable<boolean>;\n isSearchPanel$: Observable<boolean>;\n workflowPanelUi$: Observable<any>;\n mo$: Observable<MetaobjectDataModel>;\n view$: Observable<any>;\n toolbarItems$: Observable<any[]>;\n maxContentWidth$: Observable<string>;\n wizardNextStep$: Observable<void>;\n layout$: Observable<any>;\n forceClose$: Observable<void>;\n groupLayout$: Observable<LayoutSetting>;\n isSimpleForm$: Observable<boolean>;\n formWidth$: Observable<string>;\n toolbarVisible$: Observable<boolean>;\n headerLayout$: Observable<IHeaderLayout>;\n _hideClose$ = new BehaviorSubject<boolean>(false);\n _hideTitle$ = new BehaviorSubject<boolean>(false);\n _hidePin$ = new BehaviorSubject<boolean>(false);\n title$: Observable<string>;\n headerDescription$: Observable<string>;\n headerRemoveContentPadding$: Observable<boolean>;\n headerSubtitle$: Observable<string>;\n avatar$: Observable<any>;\n mask$: Observable<boolean>;\n fieldDict$: Observable<{ [key: string]: string } | undefined>;\n\n private _context;\n private _contextSource = new BehaviorSubject<any>(null);\n private _searchPanelIsObjectSource = new BehaviorSubject<boolean>(false);\n private _isSearchPanelSource = new BehaviorSubject<boolean>(false);\n private _workflowPanelUiSource = new BehaviorSubject<any>(null);\n private _moSource = new BehaviorSubject<any>(null);\n private _viewSource = new BehaviorSubject<any>(null);\n private _toolbarItemsSource = new BehaviorSubject<any[]>([]);\n private _titleSource = new BehaviorSubject<string>('');\n private _maxContentWidthSource = new BehaviorSubject<string>('auto');\n private _wizardNextStepSource = new Subject<void>();\n private _layoutSource = new BehaviorSubject<any>(null);\n private _forceCloseSource = new Subject<void>();\n private _groupBRuleSource = new Subject<LayoutSetting>();\n private _isSimpleFormSource = new BehaviorSubject<boolean>(false);\n private _formWidthSource = new BehaviorSubject<string>('100%');\n private _toolbarVisibleSource = new BehaviorSubject<boolean>(true);\n private _headerLayoutSource = new BehaviorSubject<any>(null);\n private _headerTitleSource = new BehaviorSubject<string>('');\n private _maskSource = new BehaviorSubject<boolean>(false);\n private _headerRemoveContentPaddingSource = new BehaviorSubject<boolean>(false);\n private _headerDescriptionSource = new BehaviorSubject<string>('');\n private _canSend$ = new BehaviorSubject<boolean>(false);\n\n constructor() {\n super();\n this.context$ = this._contextSource.asObservable().pipe(\n tap((context) => this._prepareContext(context)),\n takeUntil(this._onDestroy$)\n );\n\n this.searchPanelIsObject$ = this._searchPanelIsObjectSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.isSearchPanel$ = this._isSearchPanelSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.workflowPanelUi$ = this._workflowPanelUiSource.asObservable().pipe(takeUntil(this._onDestroy$));\n\n this.mo$ = this._moSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.fieldDict$ = this.mo$.pipe(\n map((c) => c.$FieldDict),\n takeUntil(this._onDestroy$)\n );\n\n this.view$ = this._viewSource.asObservable().pipe(\n tap((view) => this._prepareView(view)),\n takeUntil(this._onDestroy$)\n );\n\n this.toolbarItems$ = this._toolbarItemsSource.asObservable().pipe(\n map((items) => this._filterToolbarItems(items)),\n takeUntil(this._onDestroy$)\n );\n\n this.maxContentWidth$ = this._maxContentWidthSource.asObservable().pipe(\n map((width) => (width ? width + 'px' : 'auto')),\n takeUntil(this._onDestroy$)\n );\n\n this.wizardNextStep$ = this._wizardNextStepSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.layout$ = this._layoutSource.asObservable().pipe(\n map((layout) => {\n if (!layout) {\n return layout;\n }\n const deviceWidth = DeviceWidth();\n if (deviceWidth < layout.Bounds.width) {\n layout.Bounds.width = deviceWidth;\n }\n return { ...layout };\n }),\n takeUntil(this._onDestroy$)\n );\n\n this.forceClose$ = this._forceCloseSource.asObservable().pipe(takeUntil(this._onDestroy$));\n\n this.groupLayout$ = this._groupBRuleSource.asObservable().pipe(takeUntil(this._onDestroy$));\n\n this.isSimpleForm$ = this._isSimpleFormSource.asObservable().pipe(takeUntil(this._onDestroy$));\n\n this.formWidth$ = this._formWidthSource.asObservable().pipe(takeUntil(this._onDestroy$));\n\n this.toolbarVisible$ = this._toolbarVisibleSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.title$ = combineLatest([this._headerTitleSource.asObservable(), this._titleSource.asObservable()]).pipe(\n map(([headerTitle, title]) => (headerTitle ? headerTitle : title)),\n takeUntil(this._onDestroy$)\n );\n this.headerLayout$ = this._headerLayoutSource.asObservable().pipe(\n filter((headerLayout) => !!headerLayout),\n tap((headerLayout) => this._headerTitleSource.next(getHeaderValue(headerLayout?.Title))),\n tap((headerLayout) => this._hideClose$.next(headerLayout?.HideClose)),\n tap((headerLayout) => this._hideTitle$.next(headerLayout?.HideTitle)),\n tap((headerLayout) => this._hidePin$.next(headerLayout?.HidePin)),\n tap((headerLayout) => this._headerDescriptionSource.next(getHeaderValue(headerLayout?.Description))),\n tap((headerLayout) =>\n this._headerRemoveContentPaddingSource.next(getHeaderValue(headerLayout?.RemoveContentPadding))\n ),\n takeUntil(this._onDestroy$)\n );\n\n this.headerDescription$ = this._headerDescriptionSource.asObservable().pipe(takeUntil(this._onDestroy$));\n\n this.headerRemoveContentPadding$ = this._headerRemoveContentPaddingSource\n .asObservable()\n .pipe(delay(0), takeUntil(this._onDestroy$));\n\n this.headerSubtitle$ = this.headerLayout$.pipe(\n map((headerLayout) => getHeaderValue(headerLayout?.SubTitle)),\n takeUntil(this._onDestroy$)\n );\n\n this.avatar$ = this.headerLayout$.pipe(\n map((headerLayout) => getHeaderValue(headerLayout?.Avatar)),\n takeUntil(this._onDestroy$)\n );\n\n this.mask$ = this._maskSource.asObservable().pipe(debounceTime(200), takeUntil(this._onDestroy$));\n }\n get hidePin$(): Observable<boolean> {\n return this._hidePin$.asObservable();\n }\n get hideClose$(): Observable<boolean> {\n return this._hideClose$.asObservable();\n }\n get hideTitle$(): Observable<boolean> {\n return this._hideTitle$.asObservable();\n }\n get canSend$(): Observable<boolean> {\n return this._canSend$.asObservable();\n }\n get mo(): MetaobjectDataModel {\n return this._moSource.getValue();\n }\n set context(val: any) {\n if (this._context) {\n this.destroy();\n }\n this._contextSource.next(val);\n }\n destroy(): void {\n if (!this._context) {\n return;\n }\n this._context.un('GroupBRuleChanged', this._groupBRuleChanged);\n this._context.un('TitleChanged', this._titleChanged);\n this._context.un('WizardNextStep', this._wizardNextStep);\n this._context.un('DoLayout', this._doLayout);\n this._context.un('MaskChanged', this._maskChanged);\n this._context.un('ForceClose', this._forceClose);\n this._context.toolbar.un('ToolbarItemsChanged', this._toolbarItemsChanged);\n this._context = null;\n this._layoutSource.next(null);\n // this._onDestroy$.next();\n }\n\n toolbarClick(btn): void {\n btn.handler(btn, this._context);\n }\n wfChoice(btn): void {\n this._context.WorkflowPanelUi.fireEvent('ChoiceSelect', btn, this._context);\n }\n\n protected _initialize(context: any): void {\n this._workflowPanelUiSource.next(context?.WorkflowPanelUi);\n this._isSearchPanelSource.next(context?.Setting?.IsSearchPanel);\n this._canSend$.next(context?.Setting?.CanSend);\n this._searchPanelIsObjectSource.next(context?.Setting?.ParameterTypeIsObject);\n this._moSource.next(context?.Mo);\n this._viewSource.next(context?.Setting?.View);\n this._toolbarItemsSource.next(context?.toolbar?.items);\n if (context?.toolbar) {\n context.toolbar.on({\n ToolbarItemsChanged: this._toolbarItemsChanged.bind(this)\n });\n }\n this._titleSource?.next(context?.title);\n this._toolbarVisibleSource.next(this._getToolbarVisibility(context));\n }\n\n protected _prepareView(view): void {\n this._layoutSource.next(view?.Layout94);\n this._maxContentWidthSource.next(this._getMaxContentWidth(view));\n this._isSimpleFormSource.next(this._getIsSimpleForm(view));\n this._headerLayoutSource.next(this._getHeaderLayout(view));\n this._formWidthSource.next(view?.inDialog ? view.Layout94.Bounds.width + 'px' : '100%');\n }\n protected _filterToolbarItems(items: Array<any>): Array<any> {\n if (!items) {\n return [];\n }\n const newItems = items.filter((c) => !c.hidden);\n newItems.forEach((item) => {\n if (item.menu) {\n item.menu.items = item.menu.items.filter((c) => !c.hidden);\n }\n });\n return newItems.sort((a): number => (typeof a == 'string' ? 0 : a.IAmMenu ? 1 : -1));\n }\n protected _getHeaderLayout(view): IHeaderLayout {\n const headerLayout = BarsaApi.Common.Util.TryGetValue(view, 'HeaderLayout', null);\n\n if (headerLayout) {\n // this.setHeaderTitleAndSubtitleAndAvatar(headerLayout);\n const t: any[] = [];\n headerLayout.FacetList.MoDataList.forEach((facetColumn) => {\n t.push({\n type: facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo.Type,\n mo: facetColumn.ColumnSettings.$FormPanelSetting.Data.Mo\n });\n });\n headerLayout.FacetList2 = t;\n }\n return headerLayout;\n }\n\n protected _getIsSimpleForm(view: FormViewSetting): boolean {\n const isSimple = BarsaApi.Common.Util.TryGetValue(view, 'ExtraJsonProp.IsSimple', false);\n return isSimple;\n }\n protected _getToolbarVisibility(context): boolean {\n if (!context) {\n return false;\n }\n const hideToolbar = BarsaApi.Common.Util.TryGetValue(context, 'toolbar.hideToolbar', false);\n if (hideToolbar) {\n return false;\n }\n const { FormSettings } = context.Setting.View;\n if (FormSettings) {\n const showToolbar = FormSettings.ShowToolbar === false ? false : true;\n const featureToolbar = BarsaApi.Common.Util.TryGetValue(context, 'Features.Toolbar', false);\n\n const visible = (featureToolbar && showToolbar) !== false;\n return visible;\n }\n return true;\n }\n protected _getMaxContentWidth(view): string {\n const maxContentWidth = BarsaApi.Common.Util.TryGetValue(view, 'ExtraJsonProp.MaxWidth', '0');\n return maxContentWidth;\n }\n protected _addListener(context): void {\n if (!context) {\n return;\n }\n context.on({\n GroupBRuleChanged: this._groupBRuleChanged.bind(this),\n TitleChanged: this._titleChanged.bind(this),\n WizardNextStep: this._wizardNextStep.bind(this),\n DoLayout: this._doLayout.bind(this),\n MaskChanged: this._maskChanged.bind(this),\n ForceClose: this._forceClose.bind(this),\n Refresh: this._refresh.bind(this)\n });\n context.toolbar.on({\n ToolbarItemsChanged: this._toolbarItemsChanged.bind(this)\n });\n }\n protected _refresh(): void {\n this._initialize(this._context);\n // this._prepareView(this._context.Setting.View);\n }\n protected _forceClose(): void {\n this._forceCloseSource.next();\n }\n protected _maskChanged(mask): void {\n this._maskSource.next(mask);\n }\n protected _toolbarItemsChanged(items): void {\n this._toolbarItemsSource.next(items);\n }\n protected _titleChanged(title): void {\n this._titleSource.next(title);\n }\n protected _wizardNextStep(): void {\n this._wizardNextStepSource.next();\n }\n protected _doLayout(context): void {\n const view = context.Setting.View;\n this._viewSource.next(view);\n }\n protected _groupBRuleChanged(groupItem: LayoutSetting): void {\n this._groupBRuleSource.next(groupItem);\n }\n protected _prepareContext(context): void {\n this._addListener(context);\n this._initialize(context);\n this._context = context;\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\n\nexport class FormService {\n formList$: Observable<string[]>;\n private fromListSubject = new BehaviorSubject<string[]>([]);\n constructor() {\n this.formList$ = this.fromListSubject.asObservable();\n }\n openCompose(formComposeId: string): void {\n this.fromListSubject.next([...this.fromListSubject.value, formComposeId]);\n }\n closeCompose(formComposeId: string): void {\n this.fromListSubject.next(this.fromListSubject.value.filter((id) => id !== formComposeId));\n }\n}\n","import { Injectable, OnDestroy, Optional, SkipSelf, ViewContainerRef, ViewRef } from '@angular/core';\n@Injectable()\nexport class ContainerService implements OnDestroy {\n private _viewContainerRef: ViewContainerRef;\n private _viewRef: ViewRef | null;\n\n constructor(@SkipSelf() @Optional() private _parentService: ContainerService) {}\n ngOnDestroy(): void {\n if (this._parentService) {\n this._parentService.insert();\n }\n }\n setViewContainerRef(viewContainerRef: ViewContainerRef): void {\n this._viewContainerRef = viewContainerRef;\n if (this._parentService) {\n this._parentService.detach();\n }\n }\n private detach(): void {\n this._viewRef = this._viewContainerRef.detach();\n }\n private insert(): void {\n if (this._viewRef) {\n this._viewContainerRef.insert(this._viewRef);\n }\n }\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nexport class HorizontalLayoutService {\n displayTextFlexColumn$: Observable<boolean>;\n private controlFlexColumnSource = new BehaviorSubject<DisplayTextFlex>({});\n\n constructor() {\n this.displayTextFlexColumn$ = this.controlFlexColumnSource\n .asObservable()\n .pipe(map((controlFlexColumn) => Object.keys(controlFlexColumn).some((c) => controlFlexColumn[c])));\n }\n setFlexColumn(id, val: boolean): void {\n const flexColumn = this.controlFlexColumnSource.getValue();\n flexColumn[id] = val;\n this.controlFlexColumnSource.next(flexColumn);\n }\n}\ninterface DisplayTextFlex {\n [key: string]: boolean;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Injectable()\nexport class LayoutService {\n rootRendered$: Observable<boolean>;\n maxWidth$: Observable<number>;\n refreshLayout$: Observable<void>;\n horizontal$: Observable<any[]>;\n id: string;\n isTab: boolean;\n\n private rendered = new BehaviorSubject<boolean>(false);\n private maxWidth = new BehaviorSubject<number>(0);\n private refreshLayoutSource = new Subject<void>();\n private horizontalSource = new Subject<any[]>();\n private _listOfHorizontal: any[] = [];\n\n constructor() {\n this.rootRendered$ = this.rendered.asObservable();\n this.maxWidth$ = this.maxWidth.asObservable();\n this.refreshLayout$ = this.refreshLayoutSource.asObservable();\n this.horizontal$ = this.horizontalSource.asObservable().pipe(distinctUntilChanged((a, b) => a === b));\n }\n setRendered(val: boolean): void {\n this.rendered.next(val);\n }\n setMaxWidth(val): void {\n if (this.maxWidth.value < val) {\n this.maxWidth.next(val);\n }\n }\n refreshLayout(): void {\n this.refreshLayoutSource.next();\n }\n addHorizontal(id): void {\n this._listOfHorizontal = [...this._listOfHorizontal, id];\n this.horizontalSource.next(this._listOfHorizontal);\n }\n removeHorizontal(id): void {\n this._listOfHorizontal = this._listOfHorizontal.filter((c) => c !== id);\n this.horizontalSource.next(this._listOfHorizontal);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { PageDataModel } from '../abstract-classes/models';\nimport { PortalService } from '../services/portal.service';\n\n@Injectable({ providedIn: 'root' })\nexport class PortalPageResolver implements Resolve<PageDataModel | null> {\n constructor(private portalService: PortalService) {}\n\n resolve(\n route: ActivatedRouteSnapshot\n // state: RouterStateSnapshot\n ): Observable<PageDataModel | null> {\n // const url = decodeURI(route['_routerState'].url);\n // let url2=route.routeConfig?.path;\n // if(route.routeConfig?.path=='')\n // {\n // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';\n // }\n // if(url2=='**'){\n // url2=route.url[0].path;\n // }\n // url2 = '/' + url2;\n\n return this.portalService.resolveData(route.data.pageData);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, CanActivate, Router, UrlTree } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { BarsaApi } from './abstract-classes/barsa-api';\nimport { PortalService } from './services/portal.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n constructor(private router: Router, protected portalService: PortalService) {}\n\n canActivate(\n activatedRouteSnapshot: ActivatedRouteSnapshot\n\n // state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n const url = decodeURI((activatedRouteSnapshot as any)._routerState.url);\n let url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';\n url2 = '/' + url2;\n return this.portalService.getPageData(url2, false).pipe(\n map((pageData) => {\n const pageNeedAuthorize = pageData?.HasAuthorize || pageData == null ? true : false;\n const hasAuthorized: boolean =\n (!BarsaApi.LoginFormData.IsAnonymous && BarsaApi.LoginFormData.IsUserLoggedIn) ||\n !pageNeedAuthorize;\n return hasAuthorized;\n }),\n withLatestFrom(this.portalService.portalData$),\n tap(([hasAuthorized, portalData]) => {\n if (!hasAuthorized) {\n const loginPage = portalData?.ChildPageList.MoDataList.find((c) => c.IsLoginRoute);\n const loginRoute = loginPage?.Route || 'login';\n this.router.navigate([loginRoute]);\n }\n }),\n map(([hasAuthorized]) => hasAuthorized)\n );\n }\n}\n","import { Compiler, ComponentRef, Injectable, Injector, NgModuleFactory, Type, ViewContainerRef } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ActivatedRoute, NavigationEnd, NavigationStart, Route, Router } from '@angular/router';\nimport { Observable, BehaviorSubject, of, from, forkJoin, fromEvent, Subject } from 'rxjs';\nimport {\n tap,\n map,\n concatMap,\n finalize,\n publishReplay,\n refCount,\n exhaustMap,\n distinctUntilChanged,\n startWith,\n debounceTime\n} from 'rxjs/operators';\n\nimport {\n AbbrevationDeviceSize,\n LoginResult,\n MetaobjectDataModel,\n MoForReportModel,\n PageDataModel,\n PortalDataModel,\n ReportModel\n} from '../abstract-classes/models';\nimport { ApiService } from './api.service';\nimport { LogService } from './log.service';\nimport { BarsaApi } from '../abstract-classes/barsa-api';\nimport { BarsaDialogService } from './barsa-dialog.service';\n\nimport { getComponentDefined, getDeviceIsMobile, getDeviceIsTablet, getHeaderValue, getUniqueId } from '../constants';\nimport { PortalPageResolver } from '../resolvers/portal-page.resolver';\nimport { AuthGuard } from '../auth-guard';\nimport { DynamicComponentService } from './dynamic-component.service';\nimport { SafeResourceUrl } from '@angular/platform-browser';\n\ndeclare let AjaxHelper: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PortalService {\n public offsetTop = 0;\n\n loginLoading = new BehaviorSubject<boolean>(false);\n loaded = false;\n formPanels: any = {};\n cachedImages: any = {};\n dateText$: Observable<string>;\n defaultRoute: string;\n cachedPageData: { [key: string]: Observable<PageDataModel> } = {};\n pages: PageDataModel[] = [];\n rtlSource = new BehaviorSubject<boolean>(BarsaApi.LoginFormData.IsRtl);\n userLoggedIn$: Observable<boolean>;\n dictionary: { [key: string]: BehaviorSubject<any> } = {};\n portalDataSource = new BehaviorSubject<PortalDataModel | null>(null);\n portalSettings$: Observable<MetaobjectDataModel>;\n portalData$: Observable<PortalDataModel | null>;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n rtl$: Observable<boolean>;\n dirValue$: Observable<'rtl' | 'ltr'>;\n routeInitialized$: Observable<boolean>;\n _isAnonumousSource = new BehaviorSubject<boolean>(true);\n private _deviceSizeSource = new BehaviorSubject<AbbrevationDeviceSize>('l');\n private _loggedInSource = new BehaviorSubject<boolean>(false);\n private routeInitializedSource = new BehaviorSubject<boolean>(false);\n private dateTextSource = new BehaviorSubject<string>('');\n private _navigationStart$ = new BehaviorSubject<NavigationStart | null>(null);\n private _navigationEnd$ = new BehaviorSubject<NavigationEnd | null>(null);\n private _userPortalSettings$ = new BehaviorSubject<MetaobjectDataModel | null>(null);\n private _notifications$ = new BehaviorSubject<MetaobjectDataModel[]>([]);\n private _cssUrlSource = new BehaviorSubject<SafeResourceUrl | null>(null);\n private _cssCustomUrlSource = new BehaviorSubject<SafeResourceUrl | null>(null);\n private _searchTerm$ = new BehaviorSubject<string>('');\n private _windowResize$ = new Subject<void>();\n constructor(\n private dcm: DynamicComponentService,\n private apiService: ApiService,\n private logService: LogService,\n private dialogService: BarsaDialogService,\n private compiler: Compiler,\n private _router: Router,\n private _location: Location\n ) {\n this.initialize();\n this._isAnonumousSource.next(BarsaApi.LoginFormData.IsAnonymous);\n }\n get windowResize$(): Observable<void> {\n return this._windowResize$.asObservable();\n }\n get notifications$(): Observable<MetaobjectDataModel[]> {\n return this._notifications$.asObservable();\n }\n get notificationsCount$(): Observable<number> {\n return this._notifications$.asObservable().pipe(map((items) => items.filter((c) => c.Unread).length));\n }\n\n get portalData(): PortalDataModel | null {\n return this.portalDataSource.getValue();\n }\n get searchTerm$(): Observable<string> {\n return this._searchTerm$.asObservable();\n }\n get cssUrl$(): Observable<SafeResourceUrl | null> {\n return this._cssUrlSource.asObservable();\n }\n get cssCustomUrl$(): Observable<SafeResourceUrl | null> {\n return this._cssCustomUrlSource.asObservable();\n }\n get userPortalSettings(): MetaobjectDataModel | null {\n return this._userPortalSettings$.getValue();\n }\n get userPortalSettings$(): Observable<MetaobjectDataModel | null> {\n return this._userPortalSettings$.asObservable();\n }\n get deviceSize(): AbbrevationDeviceSize {\n return this._deviceSizeSource.getValue();\n }\n get isAnonymous$(): Observable<boolean> {\n return this._isAnonumousSource.asObservable();\n }\n get navigationEnd$(): Observable<NavigationEnd | null> {\n return this._navigationEnd$.asObservable();\n }\n get navigationStart$(): Observable<NavigationStart | null> {\n return this._navigationStart$.asObservable();\n }\n public loadNotifications(): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [],\n Method: 'GetShellbarNotifications',\n SuccessFn: (moList: MetaobjectDataModel[]) => {\n this._notifications$.next(moList);\n },\n FailFn: (e) => {\n this.logService.error(e);\n }\n });\n }\n setSearchTerm(term: string): void {\n this._searchTerm$.next(term);\n }\n windowResize(): void {\n this._windowResize$.next();\n }\n naviationEnd(event: NavigationEnd): void {\n this._navigationEnd$.next(event);\n }\n naviationStart(event: NavigationStart): void {\n this._navigationStart$.next(event);\n }\n setUserPortalSettings(userPortalSettings: MetaobjectDataModel): void {\n this._userPortalSettings$.next(userPortalSettings);\n }\n setTheme(themeUrl: SafeResourceUrl): void {\n this._cssUrlSource.next(themeUrl);\n this._cssCustomUrlSource.next(themeUrl);\n }\n setData(key, data): void {\n if (!this.dictionary[key]) {\n this.dictionary[key] = new BehaviorSubject<any>(data);\n this.dictionary[key].next(data);\n } else {\n const oldVal = this.dictionary[key].getValue();\n if (oldVal !== data) {\n this.dictionary[key].next(data);\n }\n }\n }\n getData(key, defaultValue: any = null): Observable<any> {\n if (!this.dictionary[key]) {\n this.dictionary[key] = new BehaviorSubject<any>(defaultValue);\n }\n return this.dictionary[key].asObservable();\n }\n getDataSync<T>(key, defaultValue: any = null): T | null {\n if (!this.dictionary[key]) {\n return defaultValue;\n }\n return this.dictionary[key].getValue();\n }\n createForReport(navItem): Observable<any> {\n return from(\n new Promise((resolve, reject) => {\n BarsaApi.Ul.UlvMainCtrlr.CreateForReport({}, navItem, (err, result) => {\n if (err) {\n reject(err);\n } else {\n resolve(result);\n }\n });\n })\n );\n }\n renderUlvMainUi(\n navItem,\n vcr: ViewContainerRef,\n injector: Injector,\n isReportPage: boolean = false\n ): Observable<any> {\n return this.createForReport(navItem).pipe(\n exhaustMap((ulvMainCtrlr) =>\n this.getUlvMainUiComponent(ulvMainCtrlr.Adapter.Control, injector, isReportPage).pipe(\n tap((ulvManiUiComponent) => vcr.insert(ulvManiUiComponent.hostView)),\n map(() => ulvMainCtrlr)\n )\n )\n );\n }\n getUlvMainUiComponent(customUlvMainUi, injector: Injector, isReportPage): Observable<ComponentRef<any>> {\n const customUiSetting = BarsaApi.Common.Util.TryGetValue(customUlvMainUi.Setting, 'CustomUi', null);\n const { moduleName, modulePath, componentName, selector } = getComponentDefined(\n customUlvMainUi,\n customUiSetting\n );\n return this.getComponent(moduleName, modulePath, componentName, selector, injector).pipe(\n map((component) => {\n const componentInstance = component.instance;\n componentInstance.id = customUlvMainUi.id;\n componentInstance.context = customUlvMainUi;\n componentInstance.isReportPage = isReportPage;\n customUlvMainUi.controlUi = componentInstance;\n return component;\n })\n );\n }\n initialize(): void {\n this.deviceSize$ = this._deviceSizeSource.asObservable().pipe(distinctUntilChanged());\n this.portalData$ = this.portalDataSource.asObservable();\n this.rtl$ = this.rtlSource.asObservable().pipe(distinctUntilChanged());\n this.dirValue$ = this.rtl$.pipe(map((isRtl) => (isRtl ? 'rtl' : 'ltr')));\n this.routeInitialized$ = this.routeInitializedSource.asObservable().pipe(distinctUntilChanged());\n\n this.dateText$ = this.dateTextSource.asObservable();\n this.portalSettings$ = this.portalDataSource\n .asObservable()\n .pipe(map((portalData) => (portalData ? portalData.PortalSettings : ({} as any))));\n fromEvent(window, 'resize')\n .pipe(\n startWith(null),\n debounceTime(1000),\n map(() => this._initalizeDeviceSize())\n )\n .subscribe((c) => {\n this._windowResize$.next();\n this._deviceSizeSource.next(c);\n });\n\n this.setUserLoginStatus(BarsaApi.LoginFormData.IsUserLoggedIn);\n\n this.userLoggedIn$ = this._loggedInSource\n .asObservable()\n .pipe(map((isLoggedIn) => isLoggedIn && BarsaApi.LoginFormData.IsAnonymous === false));\n }\n _setDeviceSize(): void {\n const deviceSize = this._initalizeDeviceSize();\n this._deviceSizeSource.next(deviceSize);\n }\n _initalizeDeviceSize(): AbbrevationDeviceSize {\n const _ismobile = getDeviceIsMobile();\n const _isTablet = getDeviceIsTablet();\n let _windoWSize: AbbrevationDeviceSize = 's';\n if (window.innerWidth <= 600) {\n _windoWSize = 's';\n } else if (window.innerWidth > 600 && window.innerWidth <= 992) {\n _windoWSize = 'm';\n } else if (window.innerWidth > 992 && window.innerWidth <= 1200) {\n _windoWSize = 'l';\n } else {\n _windoWSize = 'xl';\n }\n if (_ismobile) {\n return 's';\n }\n if (_isTablet && _windoWSize !== 'l' && _windoWSize !== 'xl') {\n return 'm';\n }\n return _windoWSize;\n }\n compileModule(dependency: LibraryDepenecy): Observable<NgModuleFactory<any>> {\n const module$ = this.getModule(dependency);\n return module$.pipe(\n concatMap((modules) => {\n const moduleFactory = this.getNgModuleFactory(modules, dependency.name);\n return of(moduleFactory);\n })\n );\n }\n getModule(dependency: LibraryDepenecy): Observable<any> {\n const { name, kebabName, umd, exportAs } = dependency;\n const base = `/assets/modules/${kebabName}/bundles`;\n const date = BarsaApi.LoginFormData.abc;\n const path = `${base}/${kebabName}.umd.js?t=${date}`;\n return of(true).pipe(\n concatMap(() => {\n const modules = this.getRegisteredModules(umd, exportAs, name);\n if (modules) {\n return of(modules);\n }\n return this.loadJs$(path).pipe(map(() => this.getRegisteredModules(umd, exportAs, name)));\n })\n );\n }\n\n setValueOnObject(path, index, modules, object): void {\n const splited = path.split('.');\n const prop = splited[index];\n if (typeof object[prop] === typeof undefined) {\n object[prop] = {};\n }\n if (index === splited.length - 1) {\n object[prop] = modules;\n return;\n }\n this.setValueOnObject(path, index + 1, modules, object[prop]);\n }\n\n getComponent(\n moduleName: string,\n modulePath: string,\n componentName: string,\n selector: string,\n parentInjector: Injector\n ): Observable<ComponentRef<any>> {\n return this.dcm.getComponentBySelector(selector, moduleName, parentInjector);\n }\n loadJs$(path): Observable<string> {\n return from(\n new Promise<string>((resolve, reject) => {\n const script = document.createElement('script');\n script.setAttribute('type', 'text/javascript');\n script.setAttribute('src', path);\n script.onload = () => {\n resolve(path);\n };\n document.getElementsByTagName('head')[0].appendChild(script);\n setTimeout(() => {\n reject();\n }, 5000);\n })\n );\n }\n\n ReportExecute(reportName: string): Observable<MoForReportModel> {\n return from(this.ReportExecutePromise(reportName));\n }\n ReportExecutePromise(reportName: string): Promise<MoForReportModel> {\n const ulvParams = {\n Flags: {\n Data: 'True',\n Extra: 'False',\n Search: 'False',\n View: 'False'\n // General:\"False\", // ulvmainctrl does not craete ui control raise error\n },\n ReportName: reportName,\n UsageEnum: 'SystemContainer'\n };\n return new Promise<MoForReportModel>((resolve, reject) => {\n BarsaApi.Bw.ExecuteReport(\n { ulvParams },\n (result: ReportModel) => {\n resolve(result.Data);\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n addFormPanelCtrlr(id, formpanelCtrlr: any): void {\n this.formPanels[id] = formpanelCtrlr;\n }\n setUserLoginStatus(status: boolean): void {\n this._loggedInSource.next(status);\n }\n extractAllPages(portalData: PortalDataModel | null): void {\n if (!portalData) {\n return;\n }\n portalData.ChildPageList.MoDataList.forEach((pageData) => {\n this.addChildPages(pageData);\n });\n }\n extractAllPages_Old(portalData: PortalDataModel | null): void {\n if (!portalData) {\n return;\n }\n\n const config = this._router.config;\n portalData.ChildPageList.MoDataList.forEach((pageData) => {\n const path = pageData.Route.replace('/', '');\n config.push(\n this.createRoute(pageData, path, pageData.HasAuthorize, pageData.PageModule?.$Caption, null, null)\n );\n if (pageData.IsDefaultRoute) {\n this.defaultRoute = path;\n config.push(this.createRoute(pageData, '', false, portalData.PageModule?.$Caption, path, null));\n }\n\n this.addChildPages(pageData);\n });\n this._router.resetConfig(config);\n if (this._location.path() === '') {\n // this._router.navigate([this.defaultRoute]);\n this._router.navigate(['']);\n }\n // this.routeInitialized();\n }\n ssoLogin(): void {\n AjaxHelper.AjaxRequest(\n '/api/base/ssologin',\n null,\n false,\n () => {\n // console.log(response);\n },\n () => {\n alert('error in sso login.');\n },\n null\n );\n }\n ssoLogout(): void {\n AjaxHelper.AjaxRequest(\n '/api/base/ssologout',\n null,\n false,\n () => {\n // console.log(response);\n },\n () => {\n alert('error in sso logout.');\n },\n null\n );\n }\n addChildPages(pageData: PageDataModel): void {\n this.pages.push(pageData);\n if (!pageData.ChildPageList?.MoDataList?.length) {\n return;\n }\n pageData.ChildPageList.MoDataList.forEach((childPage) => {\n this.addChildPages(childPage);\n });\n }\n /* eslint-disable */\n createRoute(pageData, path, hasAuthorized, moduleName, redirectTo, isDynamicRoute): Route {\n return {};\n }\n createRoute2(\n pageData,\n path,\n hasAuthorized,\n moduleName,\n redirectTo: string | null = null,\n isDynamicRoute: boolean = false\n ): Route {\n let modulePath: string = BarsaApi.Common.Util.GetKebabCase(moduleName);\n const umd = moduleName;\n modulePath = modulePath.substring(1, modulePath.length);\n const dynamicRoute: Route = {};\n dynamicRoute.path = path;\n dynamicRoute.data = { pageData };\n if (!isDynamicRoute) {\n dynamicRoute.resolve = {\n pageData: PortalPageResolver\n };\n }\n if (path === '') {\n dynamicRoute.pathMatch = 'full';\n }\n if (redirectTo) {\n dynamicRoute.redirectTo = redirectTo;\n } else {\n if (hasAuthorized) {\n dynamicRoute.canActivate = [AuthGuard];\n }\n dynamicRoute.loadChildren = () => {\n const dependencies: LibraryDepenecy[] = JSON.parse(pageData.Dependencies); // eval(pageData.Dependencies);\n const pageLibrary = {\n name: moduleName,\n kebabName: modulePath,\n umd,\n exportAs: [moduleName]\n };\n const dependencies$ = from(dependencies).pipe(\n concatMap((dependency: LibraryDepenecy) => this.compileModule(dependency))\n );\n return forkJoin([dependencies$]).pipe(\n concatMap(() => this.getModule(pageLibrary)),\n map((modules) => modules[moduleName + 'Module']),\n tap(() => this.routeInitialized())\n );\n };\n }\n\n return dynamicRoute;\n }\n routeInitialized(): void {\n this.routeInitializedSource.next(true);\n }\n public loginByAnonymous(): Observable<boolean> {\n this.loginLoading.next(true);\n return this.apiService.loginPortal().pipe(\n map((result: LoginResult) => {\n if (typeof result === 'object' && result !== null) {\n this.logService.debug(result);\n window.localStorage.setItem(BarsaApi.LoginAction.token2StorageKey, result.data.sth);\n return true;\n } else {\n return false;\n }\n }),\n finalize(() => {\n this.loginLoading.next(false);\n })\n );\n }\n public getPageData(url: string, isRoot: boolean): Observable<PageDataModel | null> {\n if (isRoot || url === '' || url === '/') {\n return this.portalData$;\n }\n\n if (url.indexOf('?') > -1) {\n url = url.substr(0, url.indexOf('?'));\n }\n if (this.cachedPageData[url]) {\n return this.cachedPageData[url];\n }\n const pageData = this.findPageByRoute(url);\n AjaxHelper.UseCache = !pageData?.HasAuthorize;\n\n this.cachedPageData[url] = this.apiService\n .loadPortalPageData(pageData?.Id, this.portalDataSource.getValue()?.ChildPageList.TypeDefId)\n .pipe(\n map((pageMo) => pageMo.Data.Mo),\n tap((pageMo) => {\n this.addChildRoute(pageMo, pageMo.ChildPageList);\n this.addChildPages(pageMo);\n }),\n publishReplay(1),\n refCount()\n );\n // this.cachedPageData[url] = this.portalData$.pipe(\n // filter((portalData) => portalData != null),\n // map((portalData) => ),\n // concatMap((pageData) => {\n // return\n // }),\n\n // tap(pageData=>{})\n // );\n return this.cachedPageData[url];\n }\n public resolveData(routePageData): Observable<PageDataModel | null> {\n // const pageData = this.pages.find((c) => c.Route === routePageData.Route && c.Module === routePageData.Module);\n const pageData = this.pages.find((c) => c.Route === routePageData.Route);\n if (!pageData) {\n return of(null);\n }\n const id = pageData.Id;\n\n if (this.cachedPageData[id]) {\n return this.cachedPageData[id];\n }\n\n AjaxHelper.UseCache = !pageData?.HasAuthorize;\n this.cachedPageData[id] = this.apiService\n .loadPortalPageData(id, this.portalDataSource.getValue()?.ChildPageList.TypeDefId)\n .pipe(\n map((pageMo) => pageMo.Data.Mo),\n tap((pageMo) => {\n this.addChildRoute(pageMo, pageMo.ChildPageList);\n this.addChildPages(pageMo);\n }),\n publishReplay(1),\n refCount()\n );\n // this.cachedPageData[url] = this.portalData$.pipe(\n // filter((portalData) => portalData != null),\n // map((portalData) => ),\n // concatMap((pageData) => {\n // return\n // }),\n\n // tap(pageData=>{})\n // );\n return this.cachedPageData[id];\n }\n\n addChildRoute(pageMo: MetaobjectDataModel, ChildPageList: MoForReportModel): void {\n return;\n }\n addChildRoute_Old(pageMo: MetaobjectDataModel, ChildPageList: MoForReportModel): void {\n if (!ChildPageList?.MoDataList?.length) {\n return;\n }\n\n const config = this._router.config;\n const parentPath = pageMo.Route.replace('/', '');\n const parentRoute = config.find((c) => (c.path = parentPath));\n const children: Route[] = [];\n if (parentRoute) {\n ChildPageList.MoDataList.forEach((child) => {\n const path = child.Route.replace('/', '');\n const childroute = this.createRoute(\n child,\n path,\n child.HasAuthorize,\n child.PageModule?.$Caption,\n null,\n true\n );\n children.push(childroute);\n });\n // debugger;\n\n (parentRoute as any)._loadedConfig.routes[0].children = children;\n\n this._router.resetConfig(config);\n }\n }\n\n public loadPortalData_Old1(): Observable<PortalDataModel> {\n return this.apiService.loadPortal(BarsaApi.LoginFormData.PortalId, BarsaApi.LoginFormData.PortalTypeDefId).pipe(\n tap((portalSetting) => {\n const portalData = portalSetting.Data.Mo;\n this.extractAllPages(portalData);\n this.portalDataSource.next(portalData);\n }),\n concatMap(() => from(this.loadSystems())),\n tap((all) => this.dateTextSource.next(BarsaApi.LoginFormData.DateText))\n );\n }\n public loadPortalDataSync_Old2(): void {\n const portalSetting = this.apiService.loadPortalSync(\n BarsaApi.LoginFormData.PortalId,\n BarsaApi.LoginFormData.PortalTypeDefId\n );\n const portalData = portalSetting.Data.Mo;\n\n this.extractAllPages(portalData);\n\n this.portalDataSource.next(portalData);\n\n this.loadSystems();\n this.dateTextSource.next(BarsaApi.LoginFormData.DateText);\n }\n public loadPortalDataSync(): void {\n const portalSettingStr = BarsaApi.Bw.RunBlMethod('GetPortal', BarsaApi.LoginFormData.PortalId);\n const portalSetting = BarsaApi.Ext.decode(portalSettingStr);\n const portalData = portalSetting;\n\n this.extractAllPages(portalData);\n\n this.portalDataSource.next(portalData);\n\n this.dateTextSource.next(BarsaApi.LoginFormData.DateText);\n }\n public loadUserPortalSetting(): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [],\n Method: 'GetUserPortalSettings',\n SuccessFn: (userPortalSetting: MetaobjectDataModel) => {\n this._userPortalSettings$.next(userPortalSetting);\n },\n FailFn: (e) => {\n this.logService.error(e);\n }\n });\n }\n\n ShowFormPanelControl(\n formpanelCtrlr: any,\n router: Router,\n activatedRoute: ActivatedRoute,\n dialogComponent: Type<any>,\n isPage: boolean,\n isReload: boolean = false\n ): void {\n if (!formpanelCtrlr) {\n console.warn('form panel controler is undefined!');\n return;\n }\n const mo = formpanelCtrlr.Mo;\n const headerLayout = BarsaApi.Common.Util.TryGetValue(formpanelCtrlr, 'Setting.View.HeaderLayout', null);\n let isModal = BarsaApi.Common.Util.TryGetValue(formpanelCtrlr, 'Setting.View.ExtraJsonProp.Modal', false);\n const modalSetting = BarsaApi.Common.Util.TryGetValue(\n formpanelCtrlr,\n 'Setting.View.CustomUi.Parameters.ModalSetting',\n null\n );\n if (modalSetting) {\n isModal = true;\n }\n formpanelCtrlr.Setting.IsModal = isModal;\n formpanelCtrlr.IsModal = isModal;\n const breadCrumb = getHeaderValue(headerLayout?.BreadCrumb);\n const queryParams = {\n id: mo.$State === 'New' ? '0' : mo.Id,\n tyid: mo.$TypeDefId,\n tycp: mo.$Caption ? mo.$Caption : null,\n repid: mo.$ReportId,\n vid: formpanelCtrlr?.Setting?.View?.TypeViewId,\n bc: breadCrumb ? breadCrumb : mo.$State === 'New' ? mo.$TypeDefName : mo.$Caption\n };\n const id = getUniqueId(4);\n this.addFormPanelCtrlr(id, formpanelCtrlr);\n if (isModal) {\n this.dialogService.showForm(dialogComponent, {\n ...queryParams,\n formpanelCtrlr\n });\n } else {\n const state = { formPanelCtrlrId: id };\n if (isPage) {\n router.navigate(\n [\n 'form',\n {\n outlets: {\n main: ['show', { ...queryParams, formPanelCtrlrId: id, isFirst: true }]\n }\n }\n ],\n {\n state,\n relativeTo: activatedRoute,\n skipLocationChange: isReload\n }\n );\n } else {\n router.navigate(\n [\n 'popup',\n {\n outlets: {\n main: ['show', { ...queryParams, formPanelCtrlrId: id }]\n }\n }\n ],\n {\n relativeTo: activatedRoute,\n state,\n queryParamsHandling: 'preserve',\n skipLocationChange: isReload\n }\n );\n }\n }\n }\n public loadSystems(): Promise<PortalDataModel> {\n return new Promise((resolve, reject) => {\n BarsaApi.Ul.ApplicationCtrlr._loadSystem(\n 0,\n true,\n (data) => {\n resolve(data);\n },\n (err) => {\n reject(err);\n }\n );\n });\n }\n private findPageByRoute(url: string): PageDataModel | null {\n const findedPage = this.pages.find((c) => c.Route === url);\n return findedPage || null;\n }\n private getNgModuleFactory(modules: { [key: string]: any }, moduleName: string): NgModuleFactory<any> {\n const moduleClass = modules[moduleName + 'Module'];\n let moduleFactory: NgModuleFactory<any>;\n if (moduleClass instanceof NgModuleFactory) {\n moduleFactory = moduleClass;\n } else {\n const compiled = this.compiler.compileModuleAndAllComponentsSync(moduleClass);\n moduleFactory = compiled.ngModuleFactory;\n }\n return moduleFactory;\n }\n\n private getRegisteredModules(umd: string, exportAs: string[], moduleName: string): { [key: string]: any } {\n let modules;\n if (umd !== '') {\n modules = window;\n umd.split('.').forEach((c) => {\n if (typeof modules !== typeof undefined) {\n modules = modules[c];\n }\n });\n } else {\n modules = window[moduleName];\n }\n if (exportAs.length > 0 && modules) {\n exportAs.forEach((c) => {\n this.setValueOnObject(c, 0, modules, window);\n });\n }\n return modules;\n }\n}\nexport interface LibraryDepenecy {\n name: string;\n kebabName: string;\n umd: string;\n exportAs: string[];\n}\nexport interface BreadCrumbInfo {\n label: string;\n url: string;\n route: ActivatedRoute;\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n@Injectable()\nexport class UiService {\n tabSelected = new Subject<any>();\n tabSelected$ = this.tabSelected.asObservable();\n id: string;\n menuToggle$: Observable<boolean>;\n\n private menuToggleSubject = new Subject<boolean>();\n constructor() {\n this.menuToggle$ = this.menuToggleSubject.asObservable();\n }\n toggleMenu(toggle: boolean): void {\n this.menuToggleSubject.next(toggle);\n }\n setTabSelected(val: any): void {\n this.tabSelected.next(val);\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { MetaobjectDataModel } from '../abstract-classes/models';\n\n@Pipe({\n name: 'rval'\n})\nexport class MoReportValuePipe implements PipeTransform {\n transform(\n name: string,\n mo: MetaobjectDataModel,\n Columns?: { [key: string]: any; Name: string; Caption: string }[],\n caption?: boolean\n ): any {\n const fieldName = Columns ? Columns.find((c) => c.Name === name || c.Alias === name)?.Name : name;\n let val = fieldName ? mo[fieldName] : undefined;\n if (caption) {\n let captionVal = fieldName ? mo[fieldName]?.$Caption : undefined;\n if (typeof captionVal === 'undefined') {\n captionVal = mo[fieldName + '$Caption'];\n }\n if (typeof captionVal === 'undefined') {\n captionVal = val;\n }\n val = captionVal;\n }\n return val;\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\ndeclare const BigNumber: any;\n@Pipe({\n name: 'numeral'\n})\nexport class NumeralPipe implements PipeTransform {\n transform(value: string | number, decimalPrecision: number, showThousandSeperator: boolean): string | number {\n if (value === '') {\n return value;\n }\n if (!value) {\n return '';\n }\n decimalPrecision = Number(decimalPrecision);\n const newVal = value.toString().replace(/,/g, '');\n if (typeof decimalPrecision === 'number' && decimalPrecision > 0) {\n return new BigNumber(newVal).toFormat(decimalPrecision);\n } else if (!showThousandSeperator) {\n return value;\n }\n return new BigNumber(newVal).toFormat(0);\n }\n floor(num, precision): number {\n const factor = Math.pow(10, precision);\n const tempNumber = num * factor;\n const roundedTempNumber = Math.floor(tempNumber);\n\n return roundedTempNumber / factor;\n }\n getValue(value): string {\n const newVal = value.toString().replace(/,/g, '');\n return newVal;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { getUniqueId } from '../constants';\r\n\r\n@Pipe({\r\n name: 'groupBy'\r\n})\r\nexport class GroupByPipe implements PipeTransform {\r\n transform(collection: any[], property: string): any[] {\r\n // prevents the application from breaking if the array of objects doesn't exist yet\r\n if (!collection) {\r\n return [];\r\n }\r\n\r\n const groupedCollection = collection.reduce((previous, current) => {\r\n if (current[property + '$Caption']) {\r\n property = property + '$Caption';\r\n } else if (typeof current[property] === 'object' && current[property].$Caption) {\r\n if (!previous[current[property].$Caption]) {\r\n previous[current[property].$Caption] = [current];\r\n } else {\r\n previous[current[property].$Caption].push(current);\r\n }\r\n } else {\r\n if (!previous[current[property]]) {\r\n previous[current[property]] = [current];\r\n } else {\r\n previous[current[property]].push(current);\r\n }\r\n }\r\n return previous;\r\n }, {});\r\n\r\n // this will return an array of objects, each object containing a group of objects\r\n return Object.keys(groupedCollection).map((key) => ({\r\n id: getUniqueId(2),\r\n key,\r\n value: groupedCollection[key]\r\n }));\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { BarsaApi } from '../abstract-classes';\r\n\r\n@Pipe({\r\n name: 'bbbTranslate'\r\n})\r\nexport class BbbTranslatePipe implements PipeTransform {\r\n transform(key: string): string {\r\n if (!key) {\r\n return key;\r\n }\r\n let hasStar = false;\r\n if (key.indexOf('*') > 0) {\r\n hasStar = true;\r\n }\r\n const key2 = key.replace('*', '').trim();\r\n\r\n let result = BarsaApi.BBB[key2] ?? key2;\r\n if (hasStar) {\r\n result += '*';\r\n }\r\n return result;\r\n }\r\n}\r\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { MenuItem } from '../abstract-classes';\nimport { BbbTranslatePipe } from './bbb-translate.pipe';\n\n@Pipe({\n name: 'contextMenu'\n})\nexport class ContextMenuPipe implements PipeTransform {\n constructor(private bbbPipe: BbbTranslatePipe) {}\n transform(commands: MenuItem[] | null, checkList: boolean = false): any[] {\n if (!commands) {\n return [];\n }\n return commands.filter((c) => {\n const isObject = typeof c === 'object';\n if (!isObject) {\n return false;\n }\n const EditText = this.bbbPipe.transform('Edit');\n if (c.text === EditText && c.Command?.IsBuiltin) {\n return false;\n }\n const DeleteText = this.bbbPipe.transform('Delete');\n if (checkList && c.text === DeleteText && c.Command?.IsBuiltin) {\n return false;\n }\n if (c.Command._isVisible === false || c.Command._isEnable === false) {\n return false;\n }\n return true;\n });\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { getHeaderValue } from '../constants';\n\n@Pipe({\n name: 'facetValue'\n})\nexport class HeaderFacetValuePipe implements PipeTransform {\n constructor() {}\n transform(value: any, type?: string): any {\n if (!type) {\n return getHeaderValue(value);\n }\n // rating-indicator && progress-indicator\n return Number(value.Value);\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({\n name: 'seperatorFix'\n})\nexport class SeperatorFixPipe implements PipeTransform {\n transform(buttons: any[]): any[] {\n if (Array.isArray(buttons)) {\n buttons?.forEach((c, i) => {\n if (typeof c === 'string') {\n buttons[i] = { text: '', type: 'seperator' };\n }\n });\n }\n return buttons;\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({\n name: 'convertToStyle'\n})\nexport class ConvertToStylePipe implements PipeTransform {\n constructor() {}\n transform(text: string | undefined): any {\n if (text) {\n const style = text.replace(/\\r?\\n|\\r/g, '');\n const styles: string[] = style.split(';');\n styles.splice(styles.length - 1, 1);\n let styleString = '{';\n styles.forEach((element, index) => {\n const keyVal = element.split(':');\n styleString += `\"${keyVal[0]}\":\"${keyVal[1]}\"`;\n if (index < styles.length - 1) {\n styleString += `,`;\n }\n });\n\n styleString += '}';\n return JSON.parse(styleString);\n }\n return {};\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { BarsaApi } from '../abstract-classes';\n\n@Pipe({\n name: 'tlbButtons'\n})\nexport class TlbButtonsPipe implements PipeTransform {\n constructor() {}\n transform(buttons: any[] | null, property: string | string[], value?: any | any[]): any[] {\n if (!buttons) {\n return [];\n }\n let lastIsString = false;\n return buttons.filter((btn) => {\n let filter = false;\n if (typeof btn === 'string') {\n if (lastIsString) {\n filter = false;\n } else {\n filter = true;\n lastIsString = true;\n }\n } else if (typeof property === 'string') {\n filter = this.filterBtn(btn, property, value);\n if (lastIsString && filter) {\n lastIsString = false;\n }\n } else if (Array.isArray(property)) {\n property.forEach((prop, i) => {\n if (!filter) {\n filter = this.filterBtn(btn, prop, value[i]);\n }\n });\n if (filter && lastIsString) {\n lastIsString = false;\n }\n }\n\n return filter;\n });\n }\n filterBtn(btn, property, value): boolean {\n const val = BarsaApi.Common.Util.TryGetValue(btn, property);\n if (\n (val === null && (typeof value === 'undefined' || value === null)) ||\n (val === null && typeof value === typeof false && !value)\n ) {\n return !btn.hidden && !btn.Command?.hide;\n }\n return value === val && !btn.hidden && !btn.Command?.hide;\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({\n name: 'removeNewline'\n})\nexport class RemoveNewlinePipe implements PipeTransform {\n constructor() {}\n transform(text: string | undefined): string | undefined {\n if (text) {\n return text.replace(/\\r?\\n|\\r/g, '');\n }\n return text;\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { MetaobjectDataModel } from '../abstract-classes/models';\n\n@Pipe({\n name: 'val'\n})\nexport class MoValuePipe implements PipeTransform {\n constructor() {}\n transform(name: string, mo: MetaobjectDataModel, caption?: boolean): string {\n const fieldName = mo.$FieldDict && mo.$FieldDict[name] ? mo.$FieldDict[name] : name;\n let val = mo[fieldName];\n if (caption) {\n let captionVal = mo[fieldName]?.$Caption;\n if (typeof captionVal !== 'string') {\n if (!captionVal) {\n captionVal = mo[fieldName + '$Caption'];\n }\n if (!captionVal) {\n captionVal = val;\n }\n }\n val = captionVal;\n }\n return val;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BarsaApi } from '../abstract-classes';\n\n@Pipe({\n name: 'filter'\n})\nexport class FilterPipe implements PipeTransform {\n transform(collection: any[], filterArgs: { [key: string]: any }): any[] {\n if (!collection || !filterArgs) {\n return [];\n }\n return collection.filter((val) => this.matchFilter(val, filterArgs));\n }\n matchFilter(value, fitlerArgs): boolean {\n const match = Object.keys(fitlerArgs).some((key) => {\n const filterValue = fitlerArgs[key];\n if (typeof filterValue === typeof true && !filterValue) {\n const val = BarsaApi.Common.Util.TryGetValue(value, key);\n return !val;\n } else {\n return BarsaApi.Common.Util.TryGetValue(value, key) === filterValue;\n }\n });\n return match;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filterTab'\n})\nexport class FilterTabPipe implements PipeTransform {\n transform(collection: any[]): any[] {\n if (!collection) {\n return [];\n }\n return collection.filter((val) => val.Visible !== false);\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { MetaobjectDataModel } from '../abstract-classes/models';\n\n@Pipe({\n name: 'rvalConcat'\n})\nexport class MoReportValueConcatPipe implements PipeTransform {\n constructor() {}\n transform(names: string[], symbol: string, mo: MetaobjectDataModel, Columns?: any[]): string {\n let result = '';\n names.forEach((name, i) => {\n const fieldName = Columns ? Columns.find((c) => c.Name === name || c.Alias === name)?.Name : name;\n if (i > 0) {\n result += symbol;\n }\n const caption = mo[fieldName]?.$Caption;\n const caption1 = mo[fieldName + '$Caption'];\n if (caption) {\n result += caption;\n } else if (caption1) {\n result += caption1;\n } else {\n result += mo[fieldName];\n }\n });\n\n return result;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { BarsaApi } from '../abstract-classes';\n\n@Pipe({\n name: 'filterStr'\n})\nexport class FilterStringPipe implements PipeTransform {\n transform(\n collection: any[] | undefined | null,\n filterArgs: {\n [key: string]: any;\n mode: 'contains' | 'equals' | 'startWith' | 'endWith';\n }\n ): any[] {\n if (!collection || !filterArgs) {\n return [];\n }\n return collection.filter((val) => this.matchFilter(val, filterArgs));\n }\n matchFilter(value, filterArgs): boolean {\n const match = Object.keys(filterArgs).some((key) => {\n const filterVal = filterArgs[key];\n if (!filterVal) {\n return true;\n }\n const val: string = BarsaApi.Common.Util.TryGetValue(value, key);\n if (!val) {\n return false;\n }\n switch (filterArgs.mode) {\n case 'contains':\n return val.indexOf(filterVal) > -1;\n case 'equals':\n return val === filterVal;\n case 'startWith':\n return val.startsWith(filterVal);\n case 'endWith':\n return val.endsWith(filterVal);\n }\n return false;\n });\n return match;\n }\n}\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\n\nexport type SortOrder = 'asc' | 'desc';\n\n@Injectable()\n@Pipe({\n name: 'sort'\n})\nexport class SortPipe implements PipeTransform {\n transform(value: any[], sortOrder: SortOrder | string = 'asc', sortKey?: string): any {\n sortOrder = sortOrder && (sortOrder.toLowerCase() as any);\n\n if (!value || (sortOrder !== 'asc' && sortOrder !== 'desc')) {\n return value;\n }\n\n let numberArray: any[] = [];\n let stringArray: any[] = [];\n\n if (!sortKey) {\n numberArray = value.filter((item) => typeof item === 'number').sort();\n stringArray = value.filter((item) => typeof item === 'string').sort();\n } else {\n numberArray = value\n .filter((item) => typeof item[sortKey] === 'number')\n .sort((a, b) => a[sortKey] - b[sortKey]);\n stringArray = value\n .filter((item) => typeof item[sortKey] === 'string')\n .sort((a, b) => {\n if (a[sortKey] < b[sortKey]) {\n return -1;\n } else if (a[sortKey] > b[sortKey]) {\n return 1;\n } else {\n return 0;\n }\n });\n }\n const sorted = numberArray.concat(stringArray);\n return sortOrder === 'asc' ? sorted : sorted.reverse();\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { IconFont } from '@fundamental-ngx/core';\nimport { BarsaApi } from '../abstract-classes';\n\n@Pipe({\n name: 'barsaIconDict'\n})\nexport class BarsaIconDictPipe implements PipeTransform {\n constructor() {}\n transform(type: string): IconFont {\n return BarsaApi.Common.File.FileIconDict16[type];\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({\n name: 'fileinfoCount'\n})\nexport class FileInfoCountPipe implements PipeTransform {\n constructor() {}\n transform(value: { Files: any[] }): number {\n if (!value || !value.Files) {\n return 0;\n }\n return value.Files.filter((c) => !c.IsDeleted).length;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LayoutSetting } from '../abstract-classes';\r\n\r\n@Pipe({\r\n name: 'controlUi'\r\n})\r\nexport class ControlUiPipe implements PipeTransform {\r\n transform(caption: string, layout94: LayoutSetting): LayoutSetting | null {\r\n return this.findLayoutItem(caption, layout94);\r\n }\r\n findLayoutItem(caption, layoutItem): LayoutSetting | null {\r\n if (!layoutItem) {\r\n return null;\r\n }\r\n if (layoutItem.Caption === caption) {\r\n return layoutItem;\r\n }\r\n let finded: LayoutSetting | null = null;\r\n layoutItem.items?.forEach((childItem) => {\r\n if (!finded) {\r\n finded = this.findLayoutItem(caption, childItem);\r\n }\r\n });\r\n return finded;\r\n }\r\n}\r\n","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({\n name: 'barsaVisibleValue'\n})\nexport class VisibleValuePipe implements PipeTransform {\n constructor() {}\n\n transform(object, feild): string {\n let outputValue;\n if (object[feild]?.$Caption !== undefined) {\n outputValue = object[feild].$Caption;\n } else {\n outputValue = object[feild + '$Caption'] !== undefined ? object[feild + '$Caption'] : object[feild];\n }\n return outputValue;\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { getDateService } from '../constants';\nimport { DateService } from '../date-services';\nimport { LogService } from '../services/log.service';\n\n@Pipe({\n name: 'dateTimeToCaption'\n})\nexport class DateTimeToCaptionPipe implements PipeTransform {\n _dateService: DateService;\n transform(\n value: Date | undefined,\n format: string,\n culture: string,\n showDate: boolean | undefined = true,\n showTime: boolean | undefined = true\n ): string {\n if (!value) {\n return '';\n }\n this._dateService = this._dateService ?? getDateService(new LogService(), culture);\n let formatPattern = format;\n if (!showDate) {\n formatPattern = format.split(' ')[1];\n } else if (!showTime) {\n formatPattern = format.split(' ')[0];\n }\n if (culture === 'fa-IR') {\n formatPattern = formatPattern.replace('YYYY', 'jYYYY');\n formatPattern = formatPattern.replace('MM', 'jMM');\n formatPattern = formatPattern.replace('DD', 'jDD');\n }\n return this._dateService.getMoment(value).format(formatPattern);\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { LayoutSetting } from '../abstract-classes';\n\n@Pipe({\n name: 'filterToolbarControl'\n})\nexport class FilterToolbarControlPipe implements PipeTransform {\n transform(config: LayoutSetting): LayoutSetting[] {\n return config.items.filter(\n (c) => c.xtype !== 'Ly.LayoutControl' || (c.xtype === 'Ly.LayoutControl' && c.FieldUi)\n ); // filter toolbar button.fieldui is undefined in toolbar layout control.\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { SortSetting } from '../abstract-classes';\nimport { BbbTranslatePipe } from '../pipes/bbb-translate.pipe';\nimport { VisibleValuePipe } from './visible-value.pipe';\n\n@Pipe({\n name: 'multipleGroupBy'\n})\nexport class MultipleGroupByPipe implements PipeTransform {\n constructor(private bbbPipe: BbbTranslatePipe, private visibleValuePipe: VisibleValuePipe) {}\n\n transform(collection: any[], sortSettings: SortSetting[]): any {\n const grouped: any = {};\n if (sortSettings.length === 0) {\n collection.forEach((c) => {\n delete c.$Parent;\n });\n return collection;\n }\n const groups = sortSettings.map((c) => c.Name);\n const getTitle = (mo, fieldName): string => this.visibleValuePipe.transform(mo, fieldName);\n collection.forEach((a) => {\n groups\n .reduce((o, g, i) => {\n const groupTitle = getTitle(a, g);\n o[groupTitle] = o[groupTitle] || (i + 1 === groups.length ? [] : {});\n if (Array.isArray(o[groupTitle])) {\n a.$Level = groups.length;\n let title = getTitle(a, groups[0]);\n let parent = grouped[title];\n parent.$Count = (parent.$Count ?? 0) + 1;\n for (let j = 1; j < groups.length - 1; j++) {\n title = getTitle(a, groups[j]);\n parent = parent[title];\n parent.$Count = o[groupTitle].length + 1;\n }\n }\n return o[groupTitle];\n }, grouped)\n .push(a);\n });\n const arr = [];\n this.prepareArr(arr, null, grouped, groups.length, 0);\n return arr;\n }\n\n prepareArr(arr, parent: Group | null, item: Group, maxlevel, level): void {\n const keys = Object.keys(item);\n item.$Level = level;\n keys.forEach((key) => {\n if (key !== '$Count' && key !== '$Level' && key !== '$Parent') {\n const row: Group = item[key];\n\n const newRow: Group = {\n $Group: !key ? (!parent ? this.bbbPipe.transform('Empty_Bracket') : key) : key,\n $Level: level,\n $Count: row.$Count,\n $Expanded: true,\n $Parent: parent,\n $Children: [],\n $Visibility: true\n };\n if (newRow.$Parent) {\n if (newRow.$Parent?.$Children) {\n newRow.$Parent.$Children.push(newRow);\n } else {\n newRow.$Parent.$Children = [newRow];\n }\n }\n if (Array.isArray(row)) {\n if (row.length) {\n newRow.$Expanded = row[0].$Parent?.$Expanded === false ? false : true;\n }\n arr.push(newRow);\n row.forEach((c) => {\n c.$Parent = newRow;\n c.$Visibility = true;\n newRow.$Children.push(c);\n });\n arr.push(...row);\n } else {\n arr.push(newRow);\n if (level < maxlevel) {\n this.prepareArr(arr, newRow, row, maxlevel, level + 1);\n }\n }\n }\n });\n }\n}\n\nexport interface Group {\n $Group: any;\n $Level: number;\n $Count: number;\n $Expanded: boolean;\n $Parent: any;\n $Children: any[];\n $Visibility: boolean;\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { getImagePath } from '../constants';\n@Pipe({\n name: 'picFieldSrc'\n})\nexport class PictureFieldSourcePipe implements PipeTransform {\n constructor() {}\n transform(\n value: string | any,\n type: string,\n moId: string | null,\n fieldDefId?: string,\n sw?: number,\n sh?: number\n ): string {\n if (typeof value === 'object') {\n value = value?.FileId;\n }\n const url = getImagePath(type, moId, value, fieldDefId, sw, sh);\n return url;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'fioriIcon'\n})\nexport class FioriIconPipe implements PipeTransform {\n transform(value: string, defaultIcon: string): string {\n if (!value) {\n return defaultIcon;\n }\n switch (value) {\n case 'New':\n return 'add';\n case 'Edit':\n return 'edit';\n case 'Delete':\n return 'delete';\n case 'MoveUp':\n return 'arrow-top';\n case 'MoveDown':\n return 'arrow-bottom';\n case 'RefreshReport':\n return 'refresh';\n case 'AddToList':\n return 'chain-link';\n case 'RemoveFromList':\n return 'broken-link';\n case 'ExportToExcel':\n return 'broken-link';\n case 'WorkflowHistory':\n return 'work-history';\n\n default:\n return defaultIcon;\n }\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({\n name: 'canUploadFile'\n})\nexport class CanUploadFilePipe implements PipeTransform {\n constructor() {}\n transform(\n value: any[],\n maxFileCount: number = 1,\n disable: boolean = false,\n readonly: boolean = false\n // fileCount: number\n ): boolean {\n let canUpload = true;\n if (disable || readonly) {\n canUpload = false;\n }\n\n let existFilesCount = 0;\n if (value) {\n existFilesCount = value.filter((c) => !c.IsDeleted).length;\n }\n if (maxFileCount !== 0 && maxFileCount <= existFilesCount) {\n canUpload = false;\n }\n return canUpload;\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\n\n@Pipe({\n name: 'listCount'\n})\nexport class ListCountPipe implements PipeTransform {\n constructor() {}\n transform(list: Array<any>): number {\n return list.length;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { MetaobjectDataModel } from '../abstract-classes';\r\n\r\n@Pipe({\r\n name: 'totalSummary'\r\n})\r\nexport class TotalSummaryPipe implements PipeTransform {\r\n transform(moDataList: MetaobjectDataModel[], columnName: string): number {\r\n return moDataList.reduce(\r\n (curr, prev, currIndex): number =>\r\n currIndex === 0 ? Number(prev[columnName]) : curr + Number(prev[columnName]),\r\n 0\r\n );\r\n }\r\n // Number('') == 0\r\n // Number('a') == NaN it will never be happen because value of\r\n}\r\n","import { Injectable, Pipe, PipeTransform } from '@angular/core';\nimport { MetaobjectDataModel, ReportViewColumn } from '../abstract-classes';\n\n@Injectable()\n@Pipe({\n name: 'mergeFieldsToColumns'\n})\nexport class MergeFieldsToColumnsPipe implements PipeTransform {\n transform(\n columns: ReportViewColumn[],\n mergeColumnMoDataList: MetaobjectDataModel[] | undefined\n ): ReportViewColumn[] {\n if (!mergeColumnMoDataList || !mergeColumnMoDataList.length) {\n return columns;\n }\n return this._mergeFieldsToColumns(columns, mergeColumnMoDataList);\n }\n protected _mergeFieldsToColumns(\n columns: ReportViewColumn[],\n mergeColumnMoDataList: MetaobjectDataModel[] | undefined\n ): ReportViewColumn[] {\n let mergeFieldsToColumns;\n if (mergeColumnMoDataList) {\n mergeFieldsToColumns = {};\n mergeColumnMoDataList\n .map((c) => c as MergeCell)\n .forEach(\n (c) =>\n (mergeFieldsToColumns[c.ColumnName] = mergeFieldsToColumns[c.ColumnName]\n ? [...mergeFieldsToColumns[c.ColumnName], c.FieldCaption]\n : [c.FieldCaption])\n );\n }\n if (mergeFieldsToColumns) {\n columns.forEach((c) => {\n const columnMerged = mergeFieldsToColumns[c.Alias];\n if (columnMerged) {\n c.$MergedFieldsToColumn = columnMerged;\n }\n });\n }\n return columns;\n }\n}\ninterface MergeCell extends MetaobjectDataModel {\n ColumnName: string;\n MergeTo: string;\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ReportViewColumn } from '../abstract-classes';\n\n@Pipe({\n name: 'findColumnByDbName',\n pure: true\n})\nexport class FindColumnByDbNamePipe implements PipeTransform {\n transform(columns: ReportViewColumn[], name: string): ReportViewColumn | undefined {\n return columns.find((column) => column.Name === name || column.Caption === name);\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\nimport { ReportViewColumn } from '../abstract-classes';\n\n@Pipe({\n name: 'filterColumnsByDetails'\n})\nexport class FilterColumnsByDetailsPipe implements PipeTransform {\n transform(columns: ReportViewColumn[], detailsColumns: ReportViewColumn[]): ReportViewColumn[] {\n if (!columns?.length) {\n return columns;\n }\n return columns.filter(\n (column) =>\n detailsColumns.map((c) => c.Caption).indexOf(column.Caption) === -1 &&\n detailsColumns.map((c) => c.Name).indexOf(column.Name) === -1\n );\n }\n}\n","import { PipeTransform, Pipe } from '@angular/core';\n@Pipe({\n name: 'moInfoUlvMoList'\n})\nexport class MoInfoUlvMoListPipe implements PipeTransform {\n transform(loading: boolean, isDataLoadedFirstTime: boolean, ulvAdapter?: any, ulvUi?: any): any {\n return loading && !isDataLoadedFirstTime\n ? [{ $Caption: '', $isLoading: true }]\n : ulvAdapter && ulvAdapter.Setting.Data\n ? ulvAdapter.Setting.Data.MoDataList.length === 0\n ? [{ $Caption: '', isEmpty: true }]\n : ulvAdapter.Setting.Data.MoDataList\n : ulvUi\n ? ulvUi.Setting.Data.MoDataList\n : [];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, combineLatest, Observable, of, Subject, Subscription } from 'rxjs';\nimport { delay, distinctUntilChanged, map, shareReplay, switchMap, takeUntil, tap } from 'rxjs/operators';\nimport {\n BarsaApi,\n MenuItem,\n MetaobjectDataModel,\n PagingSetting,\n SearchPanelSettings,\n GeneralControlInfoModel,\n ColumnInfoType,\n FormSetting\n} from '../abstract-classes';\nimport { genrateInlineMoId, getControlList, GetDefaultMoObjectInfo, getNewMoGridEditor } from '../constants';\nimport { BbbTranslatePipe } from '../pipes';\n@Injectable()\nexport class UlvMainService {\n moDataListSource = new BehaviorSubject<MetaobjectDataModel[]>([]);\n context$: Subscription;\n viewer$: Observable<any>;\n conditionalFormats$: Observable<any>;\n hideToolbar$: Observable<boolean>;\n mask$: Observable<boolean>;\n viwerMask$: Observable<boolean>;\n visible$: Observable<boolean>;\n enable$: Observable<boolean>;\n readonly$: Observable<boolean>;\n menuItems$: Observable<MenuItem[]>;\n title$: Observable<{ text: string; image: string }>;\n formPanelControlShowWindow$: Observable<{ formpanelControl: any; hasParentMo: boolean }>;\n searchPanelUi$: Observable<any>;\n pagingSetting$: Observable<PagingSetting | null>;\n toolbarButtons$: Observable<any[]>;\n destroy$: Observable<void>;\n moDataList$: Observable<MetaobjectDataModel[]>;\n reportId$: Observable<string>;\n allowInlineEdit$: Observable<boolean>;\n inlineEditMode$: Observable<boolean>;\n onlyInlineEdit$: Observable<boolean>;\n context: any;\n openSearchPanelHiddenSettings$: Observable<void>;\n openSearchFilesManage$: Observable<void>;\n searchPanelMoChanged$: Observable<boolean>;\n allSearchPanelSettings$: Observable<SearchPanelSettings[]>;\n layoutInfo$: Observable<any>;\n selectedSearchPanelSettingsId$: Observable<string>;\n selectedSearchPanelSettings$: Observable<SearchPanelSettings | undefined>;\n newInlineEditMo$: Observable<MetaobjectDataModel | null>;\n _cartableTemplates$ = new BehaviorSubject<{ [key: string]: FormSetting } | null>({});\n _cartableChildsMo$ = new BehaviorSubject<{ [key: string]: MetaobjectDataModel } | null>({});\n\n private _layoutInfoSource = new Subject<any>();\n private _contextSource = new Subject<any>();\n private _inDialog$ = new BehaviorSubject<boolean>(false);\n private _fullscreen$ = new BehaviorSubject<boolean>(false);\n private _conditionalFormatsSource = new BehaviorSubject<any[]>([]);\n private _reportSource = new BehaviorSubject<any>(null);\n private _viewerControlSource = new BehaviorSubject<any>(null);\n private _hideToolbarSource = new BehaviorSubject<boolean>(true);\n private _onDestroy$ = new Subject<void>();\n private _maskSource = new BehaviorSubject<boolean>(false);\n private _viewerMaskSource = new BehaviorSubject<boolean>(false);\n private _visibleSource = new BehaviorSubject<boolean>(true);\n private _enableSource = new BehaviorSubject<boolean>(true);\n private _readonlySource = new BehaviorSubject<boolean>(false);\n private _menuItemsSource = new BehaviorSubject<MenuItem[]>([]);\n private _onlyInlineEditSource = new BehaviorSubject<boolean>(false);\n private _inlineEditModeSource = new BehaviorSubject<boolean>(false);\n private _allowInlineEditSource = new BehaviorSubject<boolean>(false);\n private _titleSource = new BehaviorSubject<{ text: string; image: string }>({\n text: '',\n image: ''\n });\n private _formPanelControlShowWindowSource = new Subject<{\n formpanelControl: any;\n hasParentMo: any;\n }>();\n private _searchPanelUiSource = new BehaviorSubject<any>(null);\n\n private _pagingSettingSource = new BehaviorSubject<PagingSetting | null>(null);\n private _toolbarButtonsSource = new BehaviorSubject<any[]>([]);\n private _destroySource = new Subject<void>();\n private _firstApplyAutomatically = true;\n private _controlInfosMetaobject: GeneralControlInfoModel[] = [];\n private _selectedSearchPanelSettingsIdSource = new BehaviorSubject<string>('');\n private _defaultSearchPanelSettingsSource = new Subject<SearchPanelSettings>();\n private _allSearchPanelSettingsSource = new BehaviorSubject<SearchPanelSettings[]>([]);\n private _openSearchPanelHiddenSettingsSource = new Subject<void>();\n private _openSearchFilesManageSource = new Subject<void>();\n private _searchPanelMoChangedSource = new BehaviorSubject<boolean>(false);\n private _newInlineEditMoSource = new BehaviorSubject<MetaobjectDataModel | null>(null);\n private _hideSearchapanelSource = new BehaviorSubject<boolean>(false);\n constructor(private _bbbPipe: BbbTranslatePipe) {\n this.context$ = this._contextSource\n .asObservable()\n .pipe(\n takeUntil(this._onDestroy$),\n tap((context) => (this.context = context)),\n tap((context) => this._initialize(context)),\n tap((context) => this._addEventListener(context))\n )\n .subscribe();\n this.newInlineEditMo$ = this._newInlineEditMoSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.viewer$ = this._viewerControlSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.conditionalFormats$ = this._conditionalFormatsSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.hideToolbar$ = this._hideToolbarSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.mask$ = this._maskSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.viwerMask$ = this._viewerMaskSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.visible$ = this._visibleSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.enable$ = this._enableSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.readonly$ = this._readonlySource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.menuItems$ = this._menuItemsSource.asObservable().pipe(\n takeUntil(this._onDestroy$),\n map((items) => items.filter((c) => c.itemId !== 'ExportToExcel'))\n );\n this.title$ = this._titleSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.formPanelControlShowWindow$ = this._formPanelControlShowWindowSource\n .asObservable()\n .pipe(takeUntil(this._onDestroy$));\n this.searchPanelUi$ = this._searchPanelUiSource.asObservable().pipe(\n takeUntil(this._onDestroy$),\n tap((searchPanel) => this._addDefaultSearchPanelSettings(searchPanel))\n );\n this.openSearchPanelHiddenSettings$ = this._openSearchPanelHiddenSettingsSource.asObservable();\n this.pagingSetting$ = this._pagingSettingSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.toolbarButtons$ = this._toolbarButtonsSource.asObservable().pipe(\n takeUntil(this._onDestroy$),\n map((c) =>\n !c ? [] : c.map((d) => ({ ...d, hideText: d.Command?.IsBuiltin && d.itemId !== 'New' ? true : false }))\n ),\n map((c) =>\n !c ? [] : [...c.filter((d) => !d.Command?.IsBuiltin), ...c.filter((d) => d.Command?.IsBuiltin)]\n )\n );\n this.destroy$ = this._destroySource.asObservable().pipe(tap(() => this._unscubscribeContext()));\n this.moDataList$ = this.moDataListSource.asObservable().pipe();\n this.reportId$ = this._reportSource.asObservable().pipe(map((report) => report?.Id));\n\n this.allowInlineEdit$ = this._allowInlineEditSource.asObservable();\n this.inlineEditMode$ = this._inlineEditModeSource.asObservable();\n this.onlyInlineEdit$ = this._onlyInlineEditSource.asObservable();\n this.openSearchFilesManage$ = this._openSearchFilesManageSource.asObservable();\n this.searchPanelMoChanged$ = this._searchPanelMoChangedSource.asObservable().pipe(distinctUntilChanged());\n this.layoutInfo$ = this._layoutInfoSource.asObservable().pipe(shareReplay(1));\n this.allSearchPanelSettings$ = combineLatest([\n this._allSearchPanelSettingsSource.asObservable(),\n this._defaultSearchPanelSettingsSource.asObservable()\n ]).pipe(\n map(([allSettings, defaultSettings]) => {\n if (defaultSettings && allSettings) {\n defaultSettings.IsDefault = !allSettings.some((c) => c.IsDefault);\n allSettings = [defaultSettings, ...allSettings];\n }\n return allSettings;\n }),\n delay(0),\n shareReplay(1)\n );\n this.selectedSearchPanelSettingsId$ = this._selectedSearchPanelSettingsIdSource\n .asObservable()\n .pipe(distinctUntilChanged());\n this.selectedSearchPanelSettings$ = combineLatest([\n this.selectedSearchPanelSettingsId$,\n this.allSearchPanelSettings$\n ]).pipe(\n map(([id, settings]) => settings?.find((c) => c.Id === id)),\n shareReplay(1)\n );\n }\n get inDialog$(): Observable<boolean> {\n return this._inDialog$.asObservable();\n }\n get fullscreen$(): Observable<boolean> {\n return this._fullscreen$.asObservable();\n }\n get cartableChildsMo$(): Observable<{ [key: string]: MetaobjectDataModel } | null> {\n return this._cartableChildsMo$.asObservable();\n }\n get cartableTemplates$(): Observable<{ [key: string]: FormSetting } | null> {\n return this._cartableTemplates$.asObservable();\n }\n get searchPanelUi(): any {\n return this._searchPanelUiSource.getValue();\n }\n get reportId(): string | undefined {\n return this._reportSource.getValue()?.Id;\n }\n get allSearchPanelSettings(): SearchPanelSettings[] {\n return this._allSearchPanelSettingsSource.getValue();\n }\n get hideSearchpanel$(): Observable<boolean> {\n return this._hideSearchapanelSource.asObservable().pipe(distinctUntilChanged());\n }\n get hideSearchpanel(): boolean {\n return this._hideSearchapanelSource.getValue();\n }\n setTitle(title: string): void {\n this._titleSource.next({ text: title, image: '' });\n }\n toggleHideSearchpanel(val?: boolean): void {\n this._hideSearchapanelSource.next(typeof val !== 'undefined' ? val : !this._hideSearchapanelSource.getValue());\n }\n setContext(context): void {\n this._contextSource.next(context);\n }\n setInDialog(val: boolean): void {\n this._inDialog$.next(val);\n }\n setFullscreen(val: boolean): void {\n this._fullscreen$.next(val);\n }\n\n createNewInlineMo(isChecked: boolean): MetaobjectDataModel {\n const context = this.context;\n const formSetting = context.Setting.FormTemplate;\n const typeDefId = context.Setting.Extra.Report.TypeDefId;\n const newMo = getNewMoGridEditor(formSetting, typeDefId) as MetaobjectDataModel;\n newMo.Id = genrateInlineMoId();\n newMo.$IsChecked = isChecked;\n newMo.$NewInlineMo = true;\n if (this._isComposite(context)) {\n const relation = BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation');\n newMo[relation.ParentFdName] = relation.ParentMoId;\n }\n // this._newInlineEditMoSource.next(newMo);\n return newMo;\n }\n setLayoutInfo(layoutInfo): void {\n this._layoutInfoSource.next(layoutInfo);\n }\n\n destroy(): void {\n this._onDestroy$.next();\n this._unscubscribeContext();\n }\n\n pageSizeChanged(pageIndex): void {\n this.context.fireEvent('PageChange', this.context, pageIndex);\n }\n\n pageChanged(pageIndex): void {\n this.context.currentPage = pageIndex;\n this.context.fireEvent('PageChange', this.context, pageIndex);\n }\n\n reSetMoDataList(moDataList?: MetaobjectDataModel[]): void {\n const newMoDataList = moDataList ?? this.moDataListSource.getValue();\n this._moDataListChanged([...newMoDataList]);\n }\n // Search Setting Manager\n clearSearch(): void {\n const searchPanelUi = this.searchPanelUi;\n const fieldUi = searchPanelUi._dictFieldUi.$Search ?? searchPanelUi._dictFieldUi.جستجو;\n fieldUi.fireEvent('ClearClick');\n }\n search(): void {\n const searchPanelUi = this.searchPanelUi;\n const fieldUi = searchPanelUi._dictFieldUi.$Search ?? searchPanelUi._dictFieldUi.جستجو;\n fieldUi.fireEvent('SearchClick');\n }\n\n getValueInlineEdit(): boolean {\n return this._inlineEditModeSource.getValue();\n }\n\n getAllowInlineEdit(): boolean {\n return this._allowInlineEditSource.getValue();\n }\n setInlineEdit(value: boolean): void {\n this._inlineEditModeSource.next(value);\n }\n\n openSearchFieldsHiddenSettings(): void {\n this._openSearchPanelHiddenSettingsSource.next();\n }\n\n openSearchFilesManage(): void {\n this._openSearchFilesManageSource.next();\n }\n\n searchPanelMoChanged(change: boolean): void {\n this._searchPanelMoChangedSource.next(change);\n }\n\n loadSearchPanelSettings(): void {\n if (this.context.FormPanelUi) {\n return;\n }\n this.reportId$\n .pipe(\n takeUntil(this._onDestroy$),\n tap((reportId) => this._loadSearchPanelSettings(reportId))\n )\n .subscribe();\n }\n\n addSearchPanelSettings(searchPanelSettings: SearchPanelSettings): void {\n const allSearchPanelSettings = this._allSearchPanelSettingsSource.getValue();\n allSearchPanelSettings.push(searchPanelSettings);\n this._allSearchPanelSettingsSource.next(allSearchPanelSettings);\n }\n saveSearchPanelSetting(selectedSearchPanelSettings: SearchPanelSettings): void {\n const searchMo = this.getSearchPanelMo();\n const fieldsSetting = this.getSearchPanelFieldsSetting();\n if (!selectedSearchPanelSettings) {\n return;\n }\n selectedSearchPanelSettings.SearchMo = JSON.stringify(searchMo);\n selectedSearchPanelSettings.FieldsSetting = JSON.stringify(fieldsSetting);\n BarsaApi.Bw.RunBlMethod(\n 'SaveSearchPanelSettings',\n new BarsaApi.Common.MetaObjectWeb({\n Id: selectedSearchPanelSettings.Id,\n $Caption: selectedSearchPanelSettings.Title,\n ReportId: selectedSearchPanelSettings.Report?.Id,\n Title: selectedSearchPanelSettings.Title,\n IsDefault: selectedSearchPanelSettings.IsDefault,\n IsPublic: selectedSearchPanelSettings.IsPublic,\n ApplyAutomatically: selectedSearchPanelSettings.ApplyAutomatically,\n HideSearchPanel: selectedSearchPanelSettings.HideSearchPanel,\n SearchMo: selectedSearchPanelSettings.SearchMo,\n FieldsSetting: selectedSearchPanelSettings.FieldsSetting\n }),\n true\n );\n this.searchPanelMoChanged(false);\n }\n\n applySearchPanelSettings(searchPanelSettings: SearchPanelSettings | undefined): void {\n const searchPanelUi = this.searchPanelUi;\n if (!searchPanelSettings) {\n return;\n }\n if (this._firstApplyAutomatically && searchPanelSettings.IsPrimary) {\n this._firstApplyAutomatically = false;\n return;\n }\n this._firstApplyAutomatically = false;\n\n this.resetSearchPanelSettings(searchPanelUi);\n if (searchPanelSettings.SearchMo) {\n const searchMo = JSON.parse(searchPanelSettings.SearchMo);\n Object.keys(searchMo).forEach((c) => {\n const field = searchPanelUi._dictFieldUi[c];\n if (field && c.indexOf('$') === -1) {\n field.SetValue(searchMo[c]);\n searchPanelUi.Mo.SetFValue(c, searchMo[c]);\n }\n });\n if (searchPanelSettings.IsPrimary && !searchPanelUi.Setting.ImmediateExecute) {\n this.searchPanelMoChanged(false);\n return;\n }\n if (searchPanelSettings.ApplyAutomatically) {\n this.search();\n }\n }\n // TODO set hidden fields\n if (searchPanelSettings.FieldsSetting) {\n const settings = JSON.parse(searchPanelSettings.FieldsSetting);\n this.setAndApplySearchPanelSettingFieldsSetting(\n typeof settings === 'string' ? JSON.parse(settings) : settings\n );\n }\n this.searchPanelMoChanged(false);\n }\n getSearchPanelMo(): MetaobjectDataModel {\n return this.searchPanelUi.Mo;\n }\n getSearchPanelFieldsSetting(): Array<Partial<GeneralControlInfoModel>> {\n const searchPanelUi = this.searchPanelUi;\n const fields: Array<GeneralControlInfoModel> = searchPanelUi.Setting.View.ControlInfo.filter(\n (c) => c.ControlName !== '$Search' && c.ControlName !== 'جستجو'\n );\n const fieldsSetting = fields.map((c) => ({\n Name: c.ControlName,\n Caption: c.ControlFieldCaptionTranslated,\n Hidden: searchPanelUi._dictFieldUi[c.ControlName].Setting.IsVisible === false ? true : false,\n IsMandatory: c.IsMandatory\n }));\n return fieldsSetting;\n }\n setAndApplySearchPanelSettingFieldsSetting(fieldsSetting: ColumnInfoType[]): void {\n const searchPanelUi = this.searchPanelUi;\n fieldsSetting.forEach((c) => {\n const field = searchPanelUi._dictFieldUi[c.Name];\n if (field) {\n searchPanelUi.fireEvent('ChangeFieldVisible', field.Setting.ControlFieldCaption, !c.Hidden);\n }\n });\n }\n updateSearchPanelSettings(allSearchPanelSettings: SearchPanelSettings[]): void {\n allSearchPanelSettings = allSearchPanelSettings.filter((c) => !c.IsPrimary && !c.IsDeleted);\n this._allSearchPanelSettingsSource.next(allSearchPanelSettings);\n }\n\n removeSearchPanelSettings(searchPanelSettingsId: string): void {\n const allSearchPanelSettings = this._allSearchPanelSettingsSource.getValue();\n allSearchPanelSettings.filter((c) => c.Id !== searchPanelSettingsId);\n this._allSearchPanelSettingsSource.next(allSearchPanelSettings);\n }\n\n changeSelectedSearchPanel(selectedSearchPanelSettingsId: string): void {\n this._selectedSearchPanelSettingsIdSource.next(selectedSearchPanelSettingsId);\n }\n\n loadMetaConditionsControlInfos(typeDefId: string, fieldDbNames: string[]): Observable<GeneralControlInfoModel[]> {\n const mo = GetDefaultMoObjectInfo(typeDefId);\n return of(this._controlInfosMetaobject).pipe(\n switchMap((controlsInfo) => {\n if (controlsInfo.length > 0) {\n return of(controlsInfo);\n }\n return getControlList(mo, fieldDbNames, true, false);\n }),\n tap((controlsInfo: GeneralControlInfoModel[]) => (this._controlInfosMetaobject = controlsInfo))\n );\n }\n protected _initCreateNewInlineMo(context): void {\n if (!context) {\n return;\n }\n const formSetting = context.Setting.FormTemplate;\n if (formSetting) {\n this.createNewInlineMo(false);\n }\n }\n\n protected _isComposite(context): boolean {\n const relationType = BarsaApi.Common.Util.TryGetValue(context.Setting, 'Extra.Relation.RelationType');\n return relationType === BarsaApi.Common.Enums.RelationType.Composition;\n }\n protected _addEventListener(context: any): void {\n context.on({\n MaskChanged: this._maskChanged.bind(this),\n ViewerMaskChanged: this._viewerMaskChanged.bind(this),\n ViewerControlChanged: this._viewerControlChanged.bind(this),\n VisibleChanged: this._visibleChanged.bind(this),\n ReadonlyChanged: this._readonlyChanged.bind(this),\n MenuItemsChanged: this._menuItemsChanged.bind(this),\n TitleChanged: this._titleChanged.bind(this),\n FormPanelControlShowWindow: this._formPanelControlShowWindowChanged.bind(this),\n SearchPanelChanged: this._searchPanelChanged.bind(this),\n PagingSettingChanged: this._pagingSettingChanged.bind(this),\n ToolbarButtonsChanged: this._toolbarButtonsChanged.bind(this),\n EnableChanged: this._enableChanged.bind(this),\n Destroy: this._destroyChanged.bind(this),\n ExitInlineEdit: this._existInlineEdit.bind(this)\n });\n }\n\n protected _initialize(context: any): void {\n this._initCartablesFormTemplate(context);\n this._initConditionalFormats(context);\n this._initAllowInlineEdit(context);\n this._initOnlyInlineEdit(context);\n this._initInlineEditMode(context);\n this._initReport(context);\n this._initViewerControl(context);\n this._initHideToolbar(context);\n this._initToolbarButtons(context);\n this._initVisible(context);\n this._initEnable(context);\n this._initTitle(context);\n this._initReadonly(context);\n this._initMoDataList(context);\n this._initPagingSetting(context);\n this._initMenuItems(context);\n this._initSearchpanel(context);\n this._initCreateNewInlineMo(context);\n }\n protected _initCartablesFormTemplate(context): void {\n const cartableTemplates = context.Setting.CartableTemplates;\n if (cartableTemplates) {\n const ids = Object.keys(cartableTemplates);\n ids.forEach((id) => {\n if (typeof cartableTemplates[id] === 'string') {\n cartableTemplates[id] = BarsaApi.Ext.decode(cartableTemplates[id]);\n }\n });\n this._cartableTemplates$.next(cartableTemplates);\n }\n this._cartableChildsMo(context);\n }\n protected _initSearchpanel(context): void {\n if (context && context._searchPanelControl) {\n this._searchPanelChanged(context._searchPanelControl);\n }\n }\n\n protected _initConditionalFormats(context): void {\n if (context && context.Setting.View?.ConditionalFormats) {\n this._conditionalFormatsChanged(context.Setting.View?.ConditionalFormats);\n }\n }\n\n protected _initMenuItems(context): void {\n if (context && context.menuItems) {\n // const newItems = context.menuItems;\n const newItems = context.menuItems.filter((c) => c.itemId !== 'Delete');\n this._menuItemsChanged(newItems);\n }\n }\n\n protected _initReport(context): void {\n const report = BarsaApi.Common.Util.TryGetValue(context, 'Setting.Extra.Report', []);\n this._reportSource.next(report);\n }\n\n protected _initMoDataList(context): void {\n const moDataList = BarsaApi.Common.Util.TryGetValue(context, 'Setting.Data.MoDataList', []);\n this._moDataListChanged(moDataList);\n }\n protected _cartableChildsMo(context): void {\n if (context.Setting.CartableChildsMo) {\n this._cartableChildsMo$.next(context.Setting.CartableChildsMo);\n }\n }\n\n protected _initPagingSetting(context): void {\n const pagingSetting = BarsaApi.Common.Util.TryGetValue(context, 'Setting.Data.Paging', null);\n this._pagingSettingChanged(pagingSetting);\n }\n\n protected _initTitle(context): void {\n let title = BarsaApi.Common.Util.TryGetValue(context, 'title', null);\n if (title === null) {\n title = BarsaApi.Common.Util.TryGetValue(context, 'Setting.Extra.Report.Caption', '');\n }\n this._titleChanged({ text: title, image: '' });\n }\n\n protected _initReadonly(context): void {\n const readonly = context.readonly === true ? true : false;\n this._readonlyChanged(readonly);\n }\n\n protected _initEnable(context): void {\n const enable = context.enable === false ? false : true;\n this._enableChanged(enable);\n }\n\n protected _initVisible(context): void {\n const visible = context.visible === false ? false : true;\n this._visibleChanged(visible);\n }\n\n protected _initToolbarButtons(context): void {\n const buttons = context.tlbButtons;\n if (Array.isArray(buttons)) {\n this._toolbarButtonsChanged(buttons);\n }\n }\n\n protected _initInlineEditMode(context): void {\n const inlineEditMode: boolean = context.Setting?.View?.AutoInlineEdit;\n this._inlineEditModeSource.next(inlineEditMode);\n }\n\n protected _initAllowInlineEdit(context): void {\n const allowInlineEdit: boolean = context.Setting?.View?.AllowInlineEdit;\n const allowEdit = context.Setting.Extra?.DefaultCommandsAccess?.Edit;\n this._allowInlineEditSource.next(allowInlineEdit && allowEdit);\n }\n\n protected _initOnlyInlineEdit(context): void {\n const onlyInlineEdit: boolean = context.Setting?.View?.OnlyInlineEdit;\n this._onlyInlineEditSource.next(onlyInlineEdit);\n }\n\n protected _initViewerControl(context): void {\n const viewerControl = context.viewerControl;\n if (viewerControl) {\n this._viewerControlChanged(viewerControl);\n }\n }\n\n protected _initHideToolbar(context): void {\n const hideToolbar = BarsaApi.Common.Util.TryGetValue(context, 'Setting.Extra.Report.HideToolbar', false);\n this._hideToolbarSource.next(hideToolbar);\n }\n\n protected _unscubscribeContext(): void {\n this.context.un('MaskChanged', this._maskChanged);\n this.context.un('ViewerControlChanged', this._viewerControlChanged);\n this.context.un('ViewerMaskChanged', this._viewerMaskChanged);\n this.context.un('VisibleChanged', this._visibleChanged);\n this.context.un('ReadonlyChanged', this._readonlyChanged);\n this.context.un('MenuItemsChanged', this._menuItemsChanged);\n this.context.un('TitleChanged', this._titleChanged);\n this.context.un('FormPanelControlShowWindow', this._formPanelControlShowWindowChanged);\n this.context.un('PagingSettingChanged', this._pagingSettingChanged);\n this.context.un('ToolbarButtonsChanged', this._toolbarButtonsChanged);\n this.context.un('EnableChanged', this._enableChanged);\n this.context.un('Destroy', this._destroyChanged);\n this.context.un('ExitInlineEdit', this._existInlineEdit);\n }\n protected _conditionalFormatsChanged(conditionalFormats: any): void {\n this._conditionalFormatsSource.next(conditionalFormats);\n }\n protected _moDataListChanged(moDataList): void {\n this.moDataListSource.next(moDataList);\n if (this.context) {\n this._cartableChildsMo(this.context);\n this._initCartablesFormTemplate(this.context);\n }\n }\n\n protected _viewerControlChanged(viewerControl): void {\n this._viewerControlSource.next(viewerControl);\n this._initConditionalFormats(this.context);\n this._initInlineEditMode(this.context);\n this._initAllowInlineEdit(this.context);\n this._initOnlyInlineEdit(this.context);\n }\n\n protected _maskChanged(mask: boolean): void {\n this._maskSource.next(mask);\n }\n\n protected _viewerMaskChanged(viewerMask: boolean): void {\n this._viewerMaskSource.next(viewerMask);\n }\n\n protected _readonlyChanged(readonly: boolean): void {\n this._readonlySource.next(readonly);\n }\n\n protected _visibleChanged(viewerMask: boolean): void {\n this._visibleSource.next(viewerMask);\n }\n\n protected _menuItemsChanged(menuItems: any[]): void {\n this._menuItemsSource.next(menuItems);\n }\n\n protected _titleChanged(titleObj: { text: string; image: string }): void {\n this._titleSource.next(titleObj);\n }\n\n protected _formPanelControlShowWindowChanged(formpanelObj: { formpanelControl: any; hasParentMo: any }): void {\n this._formPanelControlShowWindowSource.next(formpanelObj);\n }\n\n protected _searchPanelChanged(searchPanel: any): void {\n this._searchPanelUiSource.next(searchPanel);\n }\n\n protected _pagingSettingChanged(pageingSetting: any): void {\n this._pagingSettingSource.next(pageingSetting);\n }\n\n protected _toolbarButtonsChanged(buttons: any[]): void {\n this._toolbarButtonsSource.next(buttons);\n }\n\n protected _enableChanged(enable: boolean): void {\n this._enableSource.next(enable);\n }\n\n protected _destroyChanged(): void {\n this._destroySource.next();\n }\n protected _existInlineEdit(): void {\n this._inlineEditModeSource.next(false);\n }\n\n protected _addDefaultSearchPanelSettings(searchPanel: any): void {\n const searchMo = JSON.stringify(searchPanel?.Mo ?? new MetaobjectDataModel());\n const StandardText = this._bbbPipe.transform('Standard');\n const standardSettings = {\n Id: '',\n $Caption: StandardText,\n IsStandard: true,\n IsDefault: true,\n IsPublic: true,\n IsPrimary: true,\n ApplyAutomatically: true,\n HideSearchPanel: false,\n Title: StandardText,\n SearchMo: searchMo,\n ReportId: ''\n };\n this._defaultSearchPanelSettingsSource.next(standardSettings);\n }\n\n protected _loadSearchPanelSettings(reportId): void {\n BarsaApi.Bw.RunBlMethodAsync({\n Parameters: [reportId],\n Method: 'LoadAllUserSearchPanelSettings',\n SuccessFn: (allSearchPanelSettings) => {\n if (Array.isArray(allSearchPanelSettings)) {\n allSearchPanelSettings = BarsaApi.Bw._unwrap(allSearchPanelSettings);\n this._allSearchPanelSettingsSource.next(allSearchPanelSettings);\n const defaultSearch = allSearchPanelSettings.find((c) => c.IsDefault);\n if (defaultSearch) {\n this._selectedSearchPanelSettingsIdSource.next(defaultSearch.Id);\n }\n }\n },\n FailFn: () => {}\n });\n }\n protected resetSearchPanelSettings(searchPanelUi): void {\n this.clearSearch();\n const fieldUi = searchPanelUi._dictFieldUi;\n const changed = searchPanelUi.Mo.GetChangedObject();\n Object.keys(changed).forEach((c) => {\n const field = searchPanelUi._dictFieldUi[c];\n if (field) {\n field.SetValue(null);\n searchPanelUi.Mo.SetFValue(c, null);\n }\n searchPanelUi.Mo.SetState('New');\n });\n Object.keys(fieldUi).forEach((c) => {\n if (c !== '$Search' && fieldUi[c].LayoutControl) {\n searchPanelUi.fireEvent('ChangeFieldVisible', fieldUi[c].Setting.ControlFieldCaption, true);\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpEventType } from '@angular/common/http';\n\nimport { Subject, Observable, throwError } from 'rxjs';\nimport { catchError, finalize, map, takeUntil } from 'rxjs/operators';\nimport { BarsaApi } from '../abstract-classes';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UploadService {\n uploadStateSource = new Subject<string>();\n uploadState$ = this.uploadStateSource.asObservable();\n progressSource = new Subject<any>();\n progress$ = this.progressSource.asObservable();\n uploadingSource = new Subject<boolean>();\n uploading$ = this.uploadingSource.asObservable();\n cancelation$ = new Subject<void>();\n uploadURL = `/Fields/File/Base/FileUploadFormMulti.ashx`;\n constructor(private httpClient: HttpClient) {}\n public upload(data, fdId): Observable<any> {\n this.uploadStateSource.next('Uploading');\n return this.httpClient\n .post<any>(this.uploadURL, data, {\n reportProgress: true,\n observe: 'events',\n headers: { fdId }\n })\n .pipe(\n map((event) => {\n switch (event.type) {\n case HttpEventType.UploadProgress: {\n const total = event.total || 0;\n const progress = Math.round((100 * event.loaded) / total);\n return { status: 'progress', message: progress };\n }\n case HttpEventType.Response:\n return event.body;\n default:\n return `Unhandled event: ${event.type}`;\n }\n }),\n map((res) => {\n if (Array.isArray(res)) {\n this.uploadStateSource.next('Complete');\n this.uploadingSource.next(false);\n } else if (res !== null && typeof res === 'object') {\n if (res.status === 'error') {\n this.uploadingSource.next(false);\n this.uploadStateSource.next('Error');\n } else if (res.status === 'progress') {\n this.uploadStateSource.next('Uploading');\n this.progressSource.next(res.message);\n this.uploadingSource.next(true);\n }\n }\n return res;\n }),\n takeUntil(this.cancelation$.asObservable()),\n catchError((err) => {\n if (err instanceof HttpErrorResponse) {\n BarsaApi.Bw.Toast.Error(`${err.status} : ${err.message}`);\n }\n\n return throwError(() => new Error(err));\n }),\n finalize(() => {\n this.uploadingSource.next(false);\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { fromEvent, merge, Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Injectable()\nexport class NetworkStatusService {\n get networkStatus$(): Observable<boolean> {\n return merge(of(null), fromEvent(window, 'online'), fromEvent(window, 'offline')).pipe(\n map(() => navigator.onLine)\n );\n }\n}\n","import {\n Input,\n Output,\n EventEmitter,\n Component,\n ChangeDetectorRef,\n ElementRef,\n OnInit,\n OnDestroy,\n AfterViewInit,\n ChangeDetectionStrategy,\n Renderer2,\n Self,\n Optional,\n Inject\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ActivatedRoute } from '@angular/router';\nimport { BehaviorSubject, combineLatest, Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged, map, takeUntil } from 'rxjs/operators';\nimport { DIALOG_SERVICE } from '../../public-api';\n\nimport { BaseComponent } from '../base.component';\nimport { DateService } from '../date-services';\nimport { BbbTranslatePipe, NumeralPipe, PictureFieldSourcePipe } from '../pipes';\nimport { PortalService, UploadService } from '../services';\nimport { BarsaApi } from './barsa-api';\nimport { GeneralControlInfoModel } from './models';\n\nexport interface FieldSetting {\n [key: string]: any;\n ControlFieldCaption: string;\n ControlFieldCaptionTranslated: string;\n ControlFieldDefId: string;\n ControlName: string;\n RelatedFieldList: [];\n Hide: boolean;\n xtype: string;\n LabelPosition: string;\n IsMandatory: boolean;\n IsVisible: boolean;\n ShowLabel: boolean;\n IsReadOnly: boolean;\n IsEnabled: boolean;\n IsBold: boolean;\n IsAutomatic: boolean;\n JsonExtraProp: any | null;\n FieldIcon: string;\n IsLtr: boolean;\n}\n@Component({\n selector: 'bnrc-field-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport abstract class FieldBaseComponent extends BaseComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() context: any;\n @Input() focusControl: boolean;\n @Input() layoutInfo: any;\n @Input() value: any;\n @Input() width: number;\n @Input() height: number;\n @Input() inlineEdit: boolean;\n @Input() id: string;\n @Output() valueChange = new EventEmitter<any>();\n @Output() formmatedValue = new EventEmitter<any>();\n JsonExtraProp: any;\n parameters: any;\n Setting: GeneralControlInfoModel;\n refresh$: Observable<any>;\n value$: Observable<any>;\n disable$: Observable<boolean>;\n readonly$: Observable<boolean>;\n disableOrReadonly$: Observable<boolean>;\n el: any;\n private _refreshSource = new Subject<any>();\n private _valueChangedSource = new Subject<any>();\n private _disableChangedSource = new BehaviorSubject<boolean>(false);\n private _readonlyChangedSource = new BehaviorSubject<boolean>(false);\n\n constructor(\n protected _portalService: PortalService,\n protected _bbbPipe: BbbTranslatePipe,\n protected _picFieldSrc: PictureFieldSourcePipe,\n protected _numeralPipe: NumeralPipe,\n protected _el: ElementRef,\n protected _cdr: ChangeDetectorRef,\n protected _renderer2: Renderer2,\n protected _activatedRoute: ActivatedRoute,\n protected _domSanitizer: DomSanitizer,\n @Optional() @Inject(DIALOG_SERVICE) protected _dialogService: any,\n @Self() @Optional() protected _uploadService: UploadService,\n @Self() @Optional() protected _dateService: DateService\n ) {\n super();\n this.refresh$ = this._refreshSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.value$ = this._valueChangedSource.asObservable().pipe(takeUntil(this._onDestroy$));\n this.disable$ = this._disableChangedSource\n .asObservable()\n .pipe(takeUntil(this._onDestroy$), distinctUntilChanged());\n this.readonly$ = this._readonlyChangedSource\n .asObservable()\n .pipe(takeUntil(this._onDestroy$), distinctUntilChanged());\n this.disableOrReadonly$ = combineLatest([this.readonly$, this.disable$]).pipe(\n map(([disable, readonly]) => disable || readonly),\n distinctUntilChanged()\n );\n this.el = _el;\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.context) {\n this.Setting = this.context ? this.context.Setting : null;\n const readonly = this.context?.readOnly;\n this._setReadonly(readonly, false);\n this._setDisable(this.context.disable, false);\n this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.CustomUi.Parameters', null);\n this.JsonExtraProp = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.JsonExtraProp', null);\n }\n this._addListener();\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._removeListener();\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n if (this.focusControl) {\n const elDom = this._el.nativeElement as HTMLElement;\n const focusableNodeList: NodeListOf<HTMLElement> = elDom.querySelectorAll(\n ' button, [href], input, select, textarea, [tabindex]:not([tabindex=”-1″])'\n );\n let focused = false;\n focusableNodeList.forEach((el: HTMLElement) => {\n const tagName: string = el.tagName.toLocaleLowerCase();\n if (\n !focused &&\n el.offsetWidth > 0 &&\n el.offsetHeight > 0 &&\n el.getAttribute('disabled') !== 'true' &&\n el.getAttribute('ng-reflect-disabled') !== 'true' &&\n !tagName.startsWith('fdp')\n ) {\n el.focus();\n focused = true;\n }\n });\n }\n }\n\n fireContextEvent(event: string, value: any, value1?: any, value2?: any): void {\n this.context.fireEvent(event, value, value1, value2);\n }\n protected _addListener(): void {\n if (this.context && this.context.on) {\n this.context.on({\n ControlValueChanged: this._setValue.bind(this),\n ControlDisableChanged: this._setDisable.bind(this),\n ControlReadonlyChanged: this._setReadonly.bind(this),\n ControlRefresh: this._setRefresh.bind(this)\n });\n }\n }\n protected _removeListener(): void {\n if (this.context && this.context.un) {\n this.context.un('ControlValueChanged', this._setValue);\n this.context.un('ControlDisableChanged', this._setDisable);\n this.context.un('ControlReadonlyChanged', this._setReadonly);\n this.context.un('ControlRefresh', this._setRefresh);\n }\n }\n protected _setValue(value): void {\n this.value = value;\n this._valueChangedSource.next(value);\n this._cdr.detectChanges();\n }\n protected _setRefresh(value): void {\n this._refreshSource.next(value);\n this._cdr.detectChanges();\n }\n protected _setDisable(value, changeDetect = true): void {\n this._disableChangedSource.next(value);\n if (changeDetect) {\n this._cdr.detectChanges();\n }\n }\n protected _setReadonly(value, changeDetect = true): void {\n this._readonlyChangedSource.next(value);\n if (changeDetect) {\n this._cdr.detectChanges();\n }\n }\n}\n","import { Input, Component, Output, EventEmitter, OnInit, OnDestroy, ChangeDetectionStrategy } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { filter, map, takeUntil, merge } from 'rxjs/operators';\n\nimport { BaseComponent } from '../base.component';\nimport { getDeviceIsMobile } from '../constants';\nimport { FormPanelService } from '../services/form-panel.service';\nimport { BarsaApi } from './barsa-api';\nimport { FormSetting, FormViewSetting, IHeaderLayout, LayoutSetting, MetaobjectDataModel } from './models';\n\n@Component({\n selector: 'bnrc-form-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormBaseComponent extends BaseComponent implements OnInit, OnDestroy {\n @Input() context: {\n [key: string]: any;\n config: any;\n Setting: FormSetting;\n };\n @Output() formClose = new EventEmitter();\n listFieldUi: any;\n isWizard: boolean;\n parameters: MetaobjectDataModel;\n isMobile: boolean;\n\n toolbarVisible$: Observable<boolean>;\n hideClose$: Observable<boolean>;\n hideTitle$: Observable<boolean>;\n hidePin$: Observable<boolean>;\n title$: Observable<string>;\n toolbarItems$: Observable<any[]>;\n headerLayout$: Observable<IHeaderLayout | null>;\n layout94$: Observable<any>;\n layout94: any;\n maxContentWidth$: Observable<string>;\n formWidth$: Observable<string>;\n headerDescription$: Observable<string>;\n headerRemoveContentPadding$: Observable<boolean>;\n headerSubtitle$: Observable<string>;\n avatar$: Observable<any>;\n workflowPanelUi$: Observable<any>;\n view$: Observable<FormViewSetting>;\n mo$: Observable<MetaobjectDataModel | null>;\n isSimple$: Observable<boolean>;\n fieldDict$: Observable<{ [key: string]: string } | undefined>;\n mask$: Observable<boolean>;\n isSearchPanel: boolean;\n isModal: boolean;\n isSubForm: boolean;\n modernTabs$: Observable<LayoutSetting[]>;\n isFormReport: boolean;\n constructor(protected _formPanelService: FormPanelService) {\n super();\n this._formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {\n this.isSearchPanel = isSearchPanel;\n });\n this.hideClose$ = this._formPanelService.hideClose$;\n this.hideTitle$ = this._formPanelService.hideTitle$;\n this.hidePin$ = this._formPanelService.hidePin$;\n this.toolbarVisible$ = this._formPanelService.toolbarVisible$;\n this.title$ = this._formPanelService.title$;\n this.toolbarItems$ = this._formPanelService.toolbarItems$;\n this.headerLayout$ = this._formPanelService.headerLayout$;\n this.layout94$ = this._formPanelService.layout$;\n this.maxContentWidth$ = this._formPanelService.maxContentWidth$;\n this.formWidth$ = this._formPanelService.formWidth$;\n this.headerSubtitle$ = this._formPanelService.headerSubtitle$;\n this.avatar$ = this._formPanelService.avatar$;\n this.workflowPanelUi$ = this._formPanelService.workflowPanelUi$;\n this.view$ = this._formPanelService.view$;\n this.mo$ = this._formPanelService.mo$;\n this.fieldDict$ = this._formPanelService.fieldDict$;\n this.isSimple$ = this._formPanelService.isSimpleForm$;\n this.mask$ = this._formPanelService.mask$;\n this.headerDescription$ = this._formPanelService.headerDescription$;\n this.headerRemoveContentPadding$ = this._formPanelService.headerRemoveContentPadding$;\n this._formPanelService.context$.pipe(takeUntil(this._onDestroy$)).subscribe();\n this._formPanelService.view$.pipe(takeUntil(this._onDestroy$)).subscribe();\n }\n get forceClose$(): Observable<void> {\n return this._formPanelService.forceClose$;\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this._formPanelService.context = this.context;\n this.isMobile = getDeviceIsMobile();\n this.listFieldUi = this.context._dictFieldUi;\n\n this.isModal = this.context.Setting?.IsModal;\n this.isSubForm = this.context.IsSubForm;\n this.isFormReport = this.context.IsFormReport;\n this._setParamters();\n this.modernTabs$ = this.layout94$.pipe(\n filter((c) => c),\n map((layout94) => (this.layout94 = layout94)),\n /* eslint-disable */\n merge(this._formPanelService.groupLayout$),\n map((_) => {\n if (this.layout94.items[0].xtype !== 'Ly.LayoutTabPanel') {\n return [];\n }\n const tabs: LayoutSetting[] = this.layout94.items[0].items;\n return tabs.filter((c) => c.Visible !== false);\n })\n );\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this._formPanelService.destroy();\n }\n onClose(): void {\n this.context.fireEvent('RequestForClose', this.context);\n }\n onToolbarClick(btn): void {\n this._formPanelService.toolbarClick(btn);\n }\n onWorkflowChoiceClick(wfChoice): void {\n this._formPanelService.wfChoice(wfChoice);\n }\n fieldChange(fieldName, value): void {\n const fieldUi = this.context._listFieldUi.find((c) => c.Setting.ControlName === fieldName);\n fieldUi.value = value;\n fieldUi.fireEvent('change', fieldUi);\n }\n searchClick(): void {\n const fieldUi = this.context._listFieldUi.find((c) => c.originalXtype === 'Ui.SearchCommandInfoUi');\n\n fieldUi.fireEvent(BarsaApi.Ul.FormPanelCtrlr.EventEnum.SearchClick, fieldUi);\n }\n private _setParamters(): void {\n this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.CustomUi.Parameters', null);\n }\n}\n","import { Input, Component, EventEmitter, Output, HostBinding, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { BaseComponent } from '../base.component';\n@Component({\n selector: 'bnrc-form-toolbar-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormToolbarBaseComponent extends BaseComponent implements OnInit {\n @Input() buttons: any[];\n @Input() visible = true;\n @Input() size: any;\n @Input() device: any;\n @Input() deviceSize: any;\n @Input() rtl: boolean;\n @Output() toolClick = new EventEmitter<any>();\n @HostBinding('attr.rtl') _rtl;\n ngOnInit(): void {\n super.ngOnInit();\n this._rtl = this.rtl;\n }\n\n onToolClick(btn): void {\n this.toolClick.emit(btn);\n }\n}\n","import { Input, Component, ChangeDetectionStrategy } from '@angular/core';\nimport { BaseComponent } from '../base.component';\n\nexport interface NavigatorItem {\n [key: string]: any;\n Caption: string;\n FolderId: string;\n IconUrl: string;\n Id: string;\n IsRoot: boolean;\n IsTab: boolean;\n Name: string;\n NotLoaded: boolean;\n ReportId: string;\n Parent?: NavigatorItem;\n Items: NavigatorItem[];\n}\nexport interface SystemSetting {\n Id: string;\n Name: string;\n Caption: string;\n IconName: string;\n RootFolderId: string;\n IsLoaded: boolean;\n IsUiCreated: boolean;\n IsActive: boolean;\n FormSetting: string;\n CustomCodeError: string;\n HasVerifyPassword: boolean;\n Navigator: {\n Root: NavigatorItem;\n };\n /// <summary>\n /// ExtraData is an inline object consisting some complementary properties like Navigator, Commands and Workflow list\n /// </summary>\n ExtraData: any;\n}\n@Component({\n selector: 'bnrc-system-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SystemBaseComponent extends BaseComponent {\n @Input() context: {\n [key: string]: any;\n SystemData: SystemSetting;\n SystemNavUi: any;\n SystemContainerUi: any;\n };\n constructor() {\n super();\n }\n @Input() showFormPanel = (): void => {};\n}\n","import {\n Input,\n Component,\n EventEmitter,\n Output,\n OnInit,\n AfterViewInit,\n OnDestroy,\n ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { debounceTime, map, pluck, takeUntil, tap } from 'rxjs/operators';\n\nimport { BaseComponent } from '../base.component';\nimport { GetAllColumnsSorted, getUniqueId } from '../constants';\nimport { PortalService } from '../services/portal.service';\nimport { UlvMainService } from '../services/ulvmain.service';\nimport { BarsaApi } from './barsa-api';\nimport {\n MetaobjectDataModel,\n GridSetting,\n ColSetting,\n ReportViewColumn,\n SortSetting,\n MenuItem,\n PagingSetting,\n AbbrevationDeviceSize,\n columnsResizedEventArgs,\n FormSetting\n} from './models';\n\nexport interface ReportSetting {\n [key: string]: any;\n Id: string;\n Extra: any;\n}\n@Component({\n selector: 'bnrc-report-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportBaseComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() context: {\n [key: string]: any;\n Setting: ReportSetting;\n };\n @Input() currentPage: number;\n\n @Output() pageChange = new EventEmitter<number>();\n @Output() pageSizeChange = new EventEmitter<number>();\n\n defaultGridSetting = {\n ColSettingList: [],\n AutoSizeColumns: false,\n SortSettingList: [],\n Hidden: true\n };\n itemSelector: string;\n allColumns: ReportViewColumn[];\n id: string;\n\n sortSettings: { IsGrouped: boolean; Name: string; SortDirection: string }[] | null = null;\n parameters: any;\n fields: any;\n containerWidth: number;\n\n visibleColumns$: Observable<ReportViewColumn[]>;\n searchTerm$: Observable<string>;\n moDataList$: Observable<MetaobjectDataModel[]>;\n gridSetting$: Observable<GridSetting>;\n groupby$: Observable<SortSetting[]>;\n allChecked$: Observable<boolean>;\n pagingSetting$: Observable<PagingSetting | null>;\n deviceSize$: Observable<AbbrevationDeviceSize>;\n mask$: Observable<boolean>;\n title$: Observable<string>;\n inDialog$: Observable<boolean>;\n fullscreen$: Observable<boolean>;\n menuItems$: Observable<MenuItem[]>;\n toolbarButtons$: Observable<any[]>;\n toolbarEnable$: Observable<boolean>;\n hideToolbar$: Observable<boolean>;\n selectedMo$: Observable<MetaobjectDataModel | undefined>;\n conditionalFormats$: Observable<any[]>;\n newInlineEditMo$: Observable<MetaobjectDataModel | null>;\n cartableTemplates$: Observable<{ [key: string]: FormSetting } | null>;\n cartableChildsMo$: Observable<{ [key: string]: MetaobjectDataModel } | null>;\n\n protected _visibleColumnsSource = new BehaviorSubject<ReportViewColumn[]>([]);\n protected searchTermSource = new BehaviorSubject<string>('');\n protected gridSettingSource = new BehaviorSubject<GridSetting>(this.defaultGridSetting);\n protected groupbySource = new BehaviorSubject<SortSetting[]>([]);\n private _allCheckedSource = new BehaviorSubject<boolean>(false);\n\n constructor(protected _portalService: PortalService, protected _ulvMainService: UlvMainService) {\n super();\n this.visibleColumns$ = this._visibleColumnsSource.asObservable();\n this.searchTerm$ = this.searchTermSource.asObservable();\n this.gridSetting$ = this.gridSettingSource.asObservable();\n this.groupby$ = this.groupbySource.asObservable();\n this.allChecked$ = this._allCheckedSource.asObservable();\n this.fields = {};\n this.toolbarButtons$ = this._ulvMainService.toolbarButtons$;\n }\n get moDataList(): MetaobjectDataModel[] {\n return this._ulvMainService.moDataListSource.getValue();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.rendered = true;\n this.context.rendered = true;\n this.inDialog$ = this._ulvMainService.inDialog$;\n this.fullscreen$ = this._ulvMainService.fullscreen$;\n this.deviceSize$ = this._portalService.deviceSize$;\n this.hideToolbar$ = this._ulvMainService.hideToolbar$;\n this.newInlineEditMo$ = this._ulvMainService.newInlineEditMo$;\n this.conditionalFormats$ = this._ulvMainService.conditionalFormats$;\n this.cartableTemplates$ = this._ulvMainService.cartableTemplates$;\n this.cartableChildsMo$ = this._ulvMainService.cartableChildsMo$;\n this.title$ = this._ulvMainService.title$.pipe(pluck('text'));\n this.menuItems$ = this._ulvMainService.menuItems$;\n this.pagingSetting$ = this._ulvMainService.pagingSetting$;\n this.toolbarEnable$ = this._ulvMainService.enable$;\n this.mask$ = this._ulvMainService.viwerMask$.pipe(debounceTime(200));\n this.selectedMo$ = this._ulvMainService.moDataList$.pipe(map((items) => items.find((c) => c.$IsChecked)));\n this.moDataList$ = this._ulvMainService.moDataList$.pipe(tap((items) => this._setAllChecked(items)));\n this.context.on({\n MoDataListChanged: this._moDataListChanged.bind(this),\n GridSettingChanged: this._gridSettingChanged.bind(this)\n });\n // in gheire faal bood chon moshkel eijad mikard\n // va dar ulv event baiad raise shavad\n // ke data amade shode va ulvmainservice an ra begirad.gozaresh mortabet\n this._ulvMainService.reSetMoDataList(this.context.moDataList);\n let gridSetting = this.defaultGridSetting;\n if (this.context.GetGridSetting) {\n gridSetting = this.context.GetGridSetting() || this.defaultGridSetting;\n }\n\n this._setVisibleColumns();\n\n gridSetting.SortSettingList ||= [];\n this.updateGridSetting(gridSetting, false, false);\n this.allColumns = this.context.allColumns || [];\n this.parameters = BarsaApi.Common.Util.TryGetValue(\n this.context,\n 'Setting.ClassNames.CustomUi.Parameters',\n null\n );\n this.id = getUniqueId(4);\n\n this.itemSelector = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUiRow.Selector');\n if (!this.itemSelector) {\n console.warn('no selector defined for report item row template.');\n }\n this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUi.Parameters');\n const fieldSettings = BarsaApi.Common.Util.TryGetValue(this.parameters, 'FieldSettings.MoDataList', []);\n\n fieldSettings.forEach((c) => {\n this.fields[c.ComponentParameter.$Caption] = c.$Caption;\n });\n }\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n\n this.deviceSize$\n .pipe(\n takeUntil(this._onDestroy$),\n tap((deviceSize) => this._deviceSizeChanged(deviceSize))\n )\n .subscribe();\n this._portalService.windowResize$.pipe(takeUntil(this._onDestroy$)).subscribe(() => this._windowResized());\n this.context?.fireEvent('afterrender', this);\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.context.un('MoDataListChanged', this._moDataListChanged);\n this.context.un('GridSettingChanged', this._gridSettingChanged);\n }\n protected _gridSettingChanged(setting): void {\n this.gridSettingSource.next(setting);\n }\n protected _moDataListChanged(moDataList): void {\n this._ulvMainService.reSetMoDataList(moDataList);\n }\n protected _setAllChecked(items: MetaobjectDataModel[]): void {\n this._allCheckedSource.next(!items.some((c) => !c.$IsChecked));\n }\n\n protected _handleColumnsResized(e: columnsResizedEventArgs): void {\n const gridSetting: GridSetting = this.gridSettingSource.getValue();\n const { columns, resized } = e;\n const colList: ColSetting[] = gridSetting.ColSettingList;\n resized.forEach((column1) => {\n const resizedColumn = columns.find((c) => c.Name === column1.name);\n const column = colList.find((c) => c.Name === resizedColumn?.Name);\n if (column) {\n column.Width = column1.width;\n } else if (resizedColumn) {\n colList.push({ IsHidden: resizedColumn.Hidden, Name: resizedColumn.Name, Width: column1.width });\n }\n });\n this.updateGridSetting(gridSetting, false);\n this._setVisibleColumns();\n }\n protected _setVisibleColumns(): void {\n const columns = GetAllColumnsSorted(this.context);\n this._visibleColumnsSource.next(columns.filter((c) => !c.Hidden));\n }\n protected applyGroupby(): void {\n const sortList: SortSetting[] = BarsaApi.Common.Util.TryGetValue(\n this.context,\n 'Setting.View.GridSetting.SortSettingList',\n []\n );\n this.groupbySource.next(sortList.filter((c) => c.IsGrouped));\n }\n protected _raiseRowClick(index, mo): void {\n this.context?.fireEvent('rowdblclick', this.context, index, mo);\n }\n /* eslint-disable */\n protected _deviceSizeChanged(_: string): void {}\n protected _windowResized(): void {}\n\n protected _openMo(mo, i): void {\n this._raiseRowClick(i, mo);\n }\n\n protected updateGridSetting(setting, isSort = false, raiseEvent = true): void {\n if (!setting) {\n return;\n }\n this.context.Setting.View.GridSetting = setting;\n this.gridSettingSource.next(setting);\n this.applyGroupby();\n if (isSort) {\n setting.Event = 'SortChange';\n } else {\n setting.Event = '';\n }\n this._deviceSizeChanged(this._portalService.deviceSize);\n if (raiseEvent) {\n this.context.fireEvent('UserSettingChange', this.context, setting);\n }\n }\n protected _ulvCommandClicked(mo, index): void {\n this._removeCheckedAll();\n this._select(mo, index);\n }\n protected _checkedAll(): void {\n const moDataList = this.moDataList;\n moDataList.forEach((mo) => (mo.$IsChecked = true));\n this._ulvMainService.reSetMoDataList();\n this.context.fireEvent('rowSelectAll', this.context);\n }\n protected _removeCheckedAll(): void {\n this._deselctAll();\n this.context.fireEvent('rowDeselectAll', this.context);\n }\n\n protected _deselctAll(): void {\n const moDataList = this.moDataList;\n moDataList.forEach((mo) => (mo.$IsChecked = false));\n this._ulvMainService.reSetMoDataList();\n }\n protected _deselect(mo, index): MetaobjectDataModel {\n mo.$IsChecked = false;\n this._ulvMainService.reSetMoDataList();\n this.context.fireEvent('rowdeselect', this.context, index, mo);\n return mo;\n }\n\n protected _select(mo, index): MetaobjectDataModel {\n // this._deselctAll();\n mo.$IsChecked = true;\n this._ulvMainService.reSetMoDataList();\n this.context.fireEvent('rowselect', this.context, index, mo);\n return mo;\n }\n\n protected _doCheckedAll(checked): void {\n if (checked) {\n this._checkedAll();\n } else {\n this._removeCheckedAll();\n }\n }\n\n protected _getSelected(): MetaobjectDataModel | null {\n const selectedMo = this.moDataList.find((mo) => mo.$IsChecked);\n if (!selectedMo) {\n return null;\n }\n selectedMo.json = selectedMo;\n return selectedMo;\n }\n protected refreshContextMoDataList(moDataList): void {\n this.context.fireEvent('RefreshContextMoDataList', moDataList);\n }\n}\n","import {\n Input,\n Component,\n HostBinding,\n HostListener,\n Output,\n EventEmitter,\n OnInit,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { BaseComponent } from '../base.component';\nimport { BarsaApi } from './barsa-api';\nimport { MetaobjectDataModel } from './models';\nimport { ReportSetting } from './report-base';\n\nexport interface FieldSettings extends MetaobjectDataModel {\n ComponentParameter: MetaobjectDataModel;\n RelatedField: string;\n}\nexport interface ReportItemSetting extends MetaobjectDataModel {\n FieldSettings: {\n MoDataList: Array<FieldSettings>;\n };\n}\n\n@Component({\n selector: 'bnrc-report-item-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportItemBaseComponent extends BaseComponent implements OnInit {\n @Output() itemClick = new EventEmitter();\n @HostBinding('class') classNames2: string;\n @Input() classNames: string;\n @Input() context: {\n [key: string]: any;\n Setting: ReportSetting;\n } | null;\n @Input() mo: MetaobjectDataModel;\n @Input() allColumns: any[];\n @Input() index = -1;\n fields: any;\n parameters: ReportItemSetting | null;\n constructor() {\n super();\n this.fields = {};\n }\n\n @HostListener('click', ['$event.target'])\n onClick(): void {\n this.itemClick.emit({ index: this.index, mo: this.mo });\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n this.classNames2 = this.classNames;\n this.parameters = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ClassNames.CustomUiRow.Parameters');\n const fieldSettings = BarsaApi.Common.Util.TryGetValue(this.parameters, 'FieldSettings.MoDataList', []);\n\n fieldSettings.forEach((c) => {\n this.fields[c.ComponentParameter.$Caption] = c.$Caption;\n });\n }\n}\n","import { Input, Component, ChangeDetectionStrategy } from '@angular/core';\nimport { BaseComponent } from '../base.component';\nimport { SystemSetting } from './system-base';\n\nexport interface ApplicationSetting {\n [key: string]: any;\n ConnectionInfo: string;\n AllowManagementWindow: boolean;\n DefaultSystemId: string;\n EnableCompactArray: boolean;\n EnableNotification: boolean;\n EnableScanner: boolean;\n ForceFormHelpButton: boolean;\n HideDeleteInForms: boolean;\n HideThemeButton: boolean;\n IsAdmin: boolean;\n IsInitializing: boolean;\n IsOnActivityDirectory: boolean;\n IsUser: boolean;\n MaxExcelExportRows: number;\n NewDateFix: boolean;\n NoLogout: boolean;\n ScannerAgentValidVersion: string;\n SecurityType: string;\n ShowDebugToolbar: boolean;\n ShowNextPrivious: boolean;\n SystemDict: { [key: string]: SystemSetting };\n Version: string;\n VersionSpl: string;\n User: {\n DispalyName: string;\n Id: string;\n Name: string;\n };\n WebConfig: {\n Workflow: {\n ShowInfoBar: true;\n ShowToolbar: true;\n ShowUserMsg: true;\n };\n };\n}\n@Component({\n selector: 'bnrc-application-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ApplicationBaseComponent extends BaseComponent {\n // @ViewChildren(PlaceHolderDirective) placeHoldersRef: QueryList<\n // PlaceHolderDirective\n // >;\n @Input() context: {\n [key: string]: any;\n Setting: ApplicationSetting;\n };\n @Input() selectedSystemId: string;\n systemList: any[] = [];\n}\n","import { Input, Component, ChangeDetectionStrategy } from '@angular/core';\nimport { BaseComponent } from '../base.component';\nimport { getUniqueId } from '../constants';\nimport { FormPanelService } from '../services/form-panel.service';\nimport { LayoutSetting } from './models';\n\n@Component({\n selector: 'bnrc-layout-item-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutItemBaseComponent extends BaseComponent {\n @Input() config: LayoutSetting;\n @Input() isPanel: boolean;\n isSearchPanel: boolean;\n searchPanelIsObject: boolean;\n id: string;\n constructor(protected formPanelService: FormPanelService) {\n super();\n this.id = getUniqueId(4);\n this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {\n this.isSearchPanel = isSearchPanel;\n });\n this.formPanelService.searchPanelIsObject$.subscribe((searchPanelIsObject) => {\n this.searchPanelIsObject = searchPanelIsObject;\n });\n }\n}\n","import { Input, Component, Self, ViewChild, ElementRef, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { getUniqueId } from '../constants';\nimport { FormPanelService } from '../services/form-panel.service';\nimport { LayoutService } from '../services/layout.service';\nimport { LayoutItemBaseComponent } from './layout-item-base';\nimport { LayoutSetting } from './models';\n\n@Component({\n selector: 'bnrc-layout-panel-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LayoutPanelBaseComponent extends LayoutItemBaseComponent implements OnInit {\n @Input() isPanel: boolean;\n @Input() config: LayoutSetting;\n @ViewChild('canvas', { static: true }) canvasRef: ElementRef;\n maxLabelWidth$: Observable<number>;\n isSearchPanel: boolean;\n id: string;\n constructor(\n public el: ElementRef,\n protected formPanelService: FormPanelService,\n @Self() protected layoutService: LayoutService\n ) {\n super(formPanelService);\n this.id = getUniqueId(4);\n layoutService.id = 'panel' + this.id;\n this.formPanelService.isSearchPanel$.subscribe((isSearchPanel) => {\n this.isSearchPanel = isSearchPanel;\n });\n }\n ngOnInit(): void {\n super.ngOnInit();\n this.maxLabelWidth$ = this.layoutService.maxWidth$;\n this._calcWidth(this.config);\n }\n _calcWidth(config): void {\n config.items.forEach((item) => {\n switch (item.xtype) {\n case 'Ly.LayoutJoin':\n this._calcWidth(item);\n break;\n case 'Ly.LayoutControl':\n this._setLabelWidth(item);\n break;\n }\n });\n }\n _setLabelWidth(item: any): void {\n const fieldXtype = item.FieldUi?.originalXtype;\n if (fieldXtype === 'Ui.Button' || fieldXtype === 'Ui.CheckBox' || !item.TextVisible) {\n return;\n }\n const ctx = this.canvasRef.nativeElement.getContext('2d');\n ctx.font = 'normal 0.885rem IRANYekanDigits';\n let labelCaption = item.Caption;\n if (item.FieldUi?.Setting?.IsMandatory) {\n if (labelCaption.indexOf('*') < 0) {\n labelCaption = labelCaption + ' *';\n }\n } else {\n labelCaption = labelCaption.replace('*', '');\n }\n\n const labelWidth = ctx.measureText(labelCaption).width;\n let labelWithPadding = labelWidth + 10;\n if (item.FieldUi.Setting.FieldIcon) {\n labelWithPadding += 21;\n }\n const controlWidth = Math.ceil(labelWithPadding);\n this.layoutService.setMaxWidth(controlWidth);\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n Self,\n ViewChild,\n ViewContainerRef,\n ViewRef\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { BarsaApi } from './abstract-classes/barsa-api';\nimport { BaseComponent } from './base.component';\nimport { getUniqueId } from './constants';\nimport { BarsaDialogService } from './services/barsa-dialog.service';\nimport { ContainerService } from './services/container.service';\nimport { PortalService } from './services/portal.service';\n@Component({\n selector: 'bnrc-container',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport abstract class ContainerComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild('containerRef', { static: true, read: ViewContainerRef })\n containerRef: ViewContainerRef;\n oldContainerContainer: ContainerComponent;\n parentContainer: any;\n public id = getUniqueId(6);\n private _viewRef: ViewRef | null;\n\n constructor(\n protected _el: ElementRef,\n protected _activatedRoute: ActivatedRoute,\n protected _portalService: PortalService,\n protected _vcr: ViewContainerRef,\n protected _dialogService: BarsaDialogService,\n protected _injector: Injector,\n protected _router: Router,\n protected _cdr: ChangeDetectorRef,\n @Self() @Optional() protected _containerService: ContainerService\n ) {\n super();\n this.oldContainerContainer = this._dialogService.containerComponent;\n this._dialogService.containerComponent = this;\n }\n get injector(): Injector {\n return this._injector;\n }\n get cdr(): ChangeDetectorRef {\n return this._cdr;\n }\n get vcr(): ViewContainerRef {\n return this.containerRef;\n }\n ngOnInit(): void {\n this.parentContainer = BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter;\n BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter = this;\n super.ngOnInit();\n if (this._containerService) {\n this._containerService.setViewContainerRef(this.containerRef);\n }\n }\n ngOnDestroy(): void {\n BarsaApi.Ul.ApplicationCtrlr.CurrentSystemAdapter = this.parentContainer;\n super.ngOnDestroy();\n this._dialogService.containerComponent = this.oldContainerContainer;\n }\n detach(): void {\n this._viewRef = this.containerRef.detach();\n this._cdr.detectChanges();\n }\n reAttach(): void {\n if (this._viewRef) {\n this.containerRef.insert(this._viewRef);\n this._cdr.detectChanges();\n }\n }\n}\n","import { AfterViewInit, ComponentRef, Component, ChangeDetectionStrategy } from '@angular/core';\nimport { from, Observable, Subscription } from 'rxjs';\nimport { takeUntil, map, filter, tap, concatMap } from 'rxjs/operators';\n\nimport { BarsaApi } from './barsa-api';\nimport { ModuleDataModel, PageDataModel, PlaceHolderDataModel, PortalDataModel } from './models';\nimport { ContainerComponent } from '../container.component';\n\n@Component({\n selector: 'bnrc-page-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageBaseComponent extends ContainerComponent implements AfterViewInit {\n portalData$: Observable<PortalDataModel>;\n portalSubscription: Subscription;\n isRoot: boolean;\n hasRouterOutlet: PlaceHolderDataModel;\n hasRoute = true;\n fullscreen = true;\n pageData: PageDataModel | null;\n\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this.addModulesToDom();\n }\n protected addModulesToDom(): void {\n this.getData$()\n .pipe(filter((c) => c != null))\n .subscribe((pageData) => {\n this.renderPlaceHolders(pageData);\n });\n }\n protected getData$(): Observable<PortalDataModel | null> {\n if (this.isRoot) {\n return this._portalService.portalData$;\n }\n return this._activatedRoute.data.pipe(\n map((data) => data.pageData),\n takeUntil(this._onDestroy$)\n );\n }\n\n protected renderPlaceHolders(pageData: PageDataModel | null): void {\n this.pageData = pageData;\n const modules = this.getModules(pageData);\n this.addModulesToPage(modules);\n }\n protected preparePlaceholder(\n placeHolderElement: HTMLElement | DocumentFragment,\n placeHolderName: string,\n pageData: PageDataModel | null\n ): void {\n // remove old attached component . when we use rxjs for update data\n const hasChild = placeHolderElement.hasChildNodes();\n if (hasChild) {\n placeHolderElement.removeChild(placeHolderElement.childNodes[0]);\n }\n const placeHolders = this.getPlaceHolders(pageData);\n const placeHolder = placeHolders.find((c) => c.Name === placeHolderName);\n if (placeHolder != null) {\n const modules = this.getModules(pageData);\n const module = modules.find((c) => c.PlaceHolder.Id === placeHolder.Id);\n if (module) {\n const controlUi = this.getModuleControlUi(module.Component);\n placeHolderElement.appendChild(controlUi);\n }\n } else {\n console.error('placeholder not found ' + placeHolderName);\n }\n }\n protected getModuleControlUi(component): any {\n const controlUi = document.createElement(component.Selector) as any;\n controlUi.settings = component.Settings;\n controlUi.activatedRoute = this._activatedRoute;\n return controlUi;\n }\n protected addModulesToPage(modules: Array<any>): void {\n modules = modules.sort((a, b) => (Number(a.OrderNumber) > Number(b.OrderNumber) ? 1 : -1));\n from(modules)\n .pipe(\n takeUntil(this._onDestroy$),\n concatMap((module) =>\n this.getComponentFactory(module.Component).pipe(\n tap((controlUi) => {\n controlUi.instance.settings = module.Component.Settings;\n controlUi.instance.activatedRoute = this._activatedRoute;\n if (this.containerRef) {\n this.containerRef.insert(controlUi.hostView);\n } else {\n this._vcr.insert(controlUi.hostView);\n }\n })\n )\n )\n )\n .subscribe(() => this._cdr.detectChanges());\n }\n protected getComponentFactory(uiComponent: {\n Selector: string;\n Name: string;\n Module: string;\n ModuleFileName: string;\n }): Observable<ComponentRef<any>> {\n return this._portalService.getComponent(\n uiComponent.Module,\n uiComponent.ModuleFileName,\n uiComponent.Name,\n uiComponent.Selector,\n this._injector\n );\n }\n\n protected getPlaceHolders(pageData): Array<PlaceHolderDataModel> {\n const placeholders = BarsaApi.Common.Util.TryGetValue(\n pageData,\n 'Component.Settings.PlaceHolders.MoDataList',\n []\n );\n return placeholders;\n }\n protected getModules(pageData): Array<ModuleDataModel> {\n return BarsaApi.Common.Util.TryGetValue(pageData, 'ModuleList.MoDataList', []);\n }\n}\n","import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';\n\nimport { FieldBaseComponent } from './field-base';\nimport { BarsaApi } from './barsa-api';\n@Component({\n selector: 'bnrc-number-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NumberBaseComponent extends FieldBaseComponent implements OnInit, OnDestroy {\n hasMask: boolean;\n tickRef: any;\n protected inputElement: HTMLInputElement | null | undefined;\n\n ngOnInit(): void {\n super.ngOnInit();\n\n if (this.inputElement) {\n const formated = this._getFormated(this.value).toString();\n this.inputElement.value = formated;\n }\n this.hasMask =\n BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.ShowThousandSeperator', false) ||\n BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.DecimalPrecision', 0) > 0;\n }\n\n ngOnDestroy(): void {\n this._clearInterval();\n super.ngOnDestroy();\n }\n onKeyDown(e): void {\n const isCharacter = this._isCharacter(e);\n if (!isCharacter) {\n return;\n }\n const isValid = new RegExp('^[0-9,.]*$').test(e.currentTarget.value + e.key);\n if (!isValid || e.key === '.') {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n onValueChange(e): void {\n const text: string = e.currentTarget?.value || '';\n this.reFormatValue(text, e);\n }\n protected _setValue(value): void {\n super._setValue(value);\n this.reFormatValue(this.value, { target: this.inputElement });\n }\n protected _clearInterval(): void {\n if (this.tickRef) {\n clearInterval(this.tickRef);\n this.tickRef = null;\n }\n }\n protected _isCharacter(evt): boolean {\n if (typeof evt.which === 'undefined') {\n return true;\n } else if (typeof evt.which === 'number' && evt.which > 0) {\n return !evt.ctrlKey && !evt.metaKey && !evt.altKey && evt.which !== 8 && evt.key.length === 1;\n }\n return false;\n }\n\n protected _getFormated(val): string {\n return this._numeralPipe\n .transform(val, this.Setting.DecimalPrecision, this.Setting.ShowThousandSeperator)\n .toString();\n }\n protected _setCursorPosition(cursorPosition): void {\n if (this.inputElement) {\n if (cursorPosition > this.inputElement.value.length) {\n cursorPosition = this.inputElement.value.length;\n }\n\n this.inputElement.setSelectionRange(cursorPosition, cursorPosition);\n }\n }\n private reFormatValue(text: string | number, e: any): void {\n if (typeof text === 'number') {\n text = text.toString();\n }\n let formated: string = this._getFormated(text).toString();\n let newVal = this._numeralPipe.getValue(formated);\n\n let indexofDot = text.indexOf('.');\n let indexOfDotFormated = formated.indexOf('.');\n const decimalPersicion = Number(this.Setting.DecimalPrecision);\n\n if (decimalPersicion === 0) {\n indexofDot = text.length;\n indexOfDotFormated = formated.length;\n }\n if (this.hasMask) {\n let cursorPosition = this.inputElement?.selectionStart;\n let diff = 0;\n if (indexofDot < 0 && decimalPersicion > 0) {\n formated = this._getFormated(text);\n newVal = this._numeralPipe.getValue(formated);\n } else if (cursorPosition != null && cursorPosition <= indexofDot) {\n diff = indexOfDotFormated - indexofDot;\n cursorPosition += diff;\n }\n if (this.inputElement) {\n this.inputElement.value = formated;\n }\n e.target.value = formated;\n this._setCursorPosition(cursorPosition);\n } else {\n if (this.inputElement) {\n this.inputElement.value = newVal;\n }\n }\n this.value = newVal;\n this.valueChange.emit(this.value);\n this.formmatedValue.emit(this.inputElement?.value);\n }\n}\n","import { DateInfo as DateInfoService } from '../date-services';\n\nexport class GeneralControlInfoModel {\n [key: string]: any;\n ControlFieldCaption: string;\n ControlFieldCaptionTranslated: string;\n ControlFieldDefId: string;\n ControlName: string;\n RelatedFieldList: [];\n Hide: boolean;\n xtype: string;\n LabelPosition: string;\n IsMandatory: boolean;\n IsVisible: boolean;\n ShowLabel = true;\n IsReadOnly: boolean;\n IsEnabled: boolean;\n IsBold: boolean;\n IsAutomatic: boolean;\n JsonExtraProp: any | null;\n Component: string;\n Info: ControlInfoTypes;\n FieldIcon: string;\n IsLtr: boolean;\n DisplayType: string;\n}\nexport interface FileAttachmentInfo {\n [key: string]: any;\n Id: string;\n IsNew: boolean;\n IsDeleted: boolean;\n Type: string;\n}\nexport class StringControlInfoModel extends GeneralControlInfoModel {\n MaxLength: number;\n MinLength: number;\n RegularExpression: string;\n IsPassword: boolean;\n IsMultiLine: boolean;\n NullText: string;\n AllowedStringChars: string;\n OnlyAcceptCurrentCulture: boolean;\n}\nexport class RichStringControlInfoModel extends StringControlInfoModel {\n IsHtmlViewer: boolean;\n}\nexport class NumberControlInfoModel extends GeneralControlInfoModel {\n MinValue: number;\n MaxValue: number;\n DecimalPrecision: number;\n ShowThousandSeperator: boolean;\n NumberType: string;\n CurrencySymbol: string;\n}\nexport class FilePictureInfoModel extends GeneralControlInfoModel {\n Ext: string;\n FileId: string;\n IsDeleted: boolean;\n}\nexport class FileControlInfoModel extends GeneralControlInfoModel {\n CanDelete: boolean;\n CanSave: boolean;\n CanView: boolean;\n IsMultiSelect: boolean;\n MaxFileCount: number;\n MaxFileSizeKb: number;\n OfficeOnline: boolean;\n ValidExtensions: string;\n ViewType: string;\n}\nexport class CommandControlInfoModel extends GeneralControlInfoModel {\n MenuName: string;\n DisableWhenReadonly: boolean;\n DisplayType: string;\n DynamicCommand: string;\n}\nexport class IconControlInfoModel extends GeneralControlInfoModel {}\nexport class PictureFileControlInfoModel extends GeneralControlInfoModel {\n SizeMode: number;\n MaxFileSizeKb: number;\n ValidExtensions: string;\n}\nexport class GaugeControlInfoModel extends GeneralControlInfoModel {\n IsAutomatic: boolean;\n MaxValue: number;\n MaxValue2: number;\n MinValue: number;\n MinValue2: number;\n Value: number;\n}\nexport type RelationListTypes =\n | RelationListControlInfoModel\n | HistoryControlInfoModel\n | RabetehAkseTakiListiControlInfoModel\n | SingleRelationControlInfoModel;\nexport class RelationListControlInfoModel extends GeneralControlInfoModel {\n RelationViewType: string;\n UlvSetting: ReportModel;\n}\nexport class HistoryControlInfoModel extends RelationListControlInfoModel {\n HasExternalParameter: boolean;\n ParamName1: string;\n}\nexport class RabetehAkseTakiListiControlInfoModel extends RelationListControlInfoModel {\n AutoSave;\n}\nexport class RelatedReportControlInfoModel extends GeneralControlInfoModel {\n HasExternalParameter: boolean;\n ParamName1: string;\n UlvSetting: ReportModel;\n}\nexport class CodeEditorControlInfoModel extends GeneralControlInfoModel {\n ExtraText: string;\n Suggestions: string;\n}\nexport class EnumControlInfoModel extends GeneralControlInfoModel {\n IsMultiSelect: boolean;\n ShowAsRadioButton: boolean;\n IconDisplayType: string;\n DataSource: {\n Rows: RowDataOption[];\n };\n EmptyRowData: RowDataOption;\n}\nexport class RowDataOption {\n id: string;\n IsEmpty: boolean;\n txt: string;\n txt_safe?: string;\n url: string;\n}\nexport class DateTimeControlInfoModel extends GeneralControlInfoModel {\n CalendarType: string;\n DateFormat: string;\n ShowDate1: boolean;\n ShowTime1: boolean;\n TimeFormat: string;\n}\nexport class BoolControlInfoModel extends GeneralControlInfoModel {\n FalseCaption: string;\n TrueCaption: string;\n TrueIcon: string;\n ViewType: string;\n FalseIcon: string;\n}\nexport class CalculateControlInfoModel extends GeneralControlInfoModel {\n InnerCtrlr: ControlInfoTypes;\n ExecutaionTime: string;\n EditType: string;\n DontShowRecalculateButton: boolean;\n}\nexport class SubformControlInfoModel extends GeneralControlInfoModel {\n TypeDefId: any;\n TypeDefIcon: string;\n IsComposedRelation: string;\n DropDownReportId: string;\n TypeViewId: string;\n FormPanelSetting: FormSetting;\n}\nexport interface DownloadFileInfo {\n fileId: string;\n fileUrl: string;\n viewInBrowser: boolean;\n convertTo: string;\n isOfficeOnline: boolean;\n forOcx: boolean;\n}\nexport interface DownloadFileInfoResult {\n filename: string;\n content: string;\n contentType: string;\n succeed: boolean;\n}\nexport class LinearListControlInfoModel extends GeneralControlInfoModel {\n DefaultField: string;\n ExtraJsonPropField: string;\n FillBeforeDropDown: boolean;\n IsGeneralInfo: boolean;\n IsMultiSelect: boolean;\n Relation: ListRelationModel;\n RelationViewType: string;\n RowIcon: string;\n TargetTypeDefId: string;\n}\nexport class ListRelationModel {\n [key: string]: any;\n ChildFdId: string;\n ChildFdName: string;\n IsAutoSave: boolean;\n ParentMoId: string;\n RelationType: string;\n}\nexport class SingleRelationControlInfoModel extends GeneralControlInfoModel {\n ColumnRequestEnum: string;\n DropDownReportId: string;\n FillBeforeDropDown: boolean;\n HideCombo: boolean;\n RelationViewType: string;\n PassParentForm: boolean;\n ShowNewButton: boolean;\n ShowOkCancel: boolean;\n ViewRelatedFormType: string;\n TargetTypeDefId: string;\n DataSource: {\n Rows: RowDataOption[];\n };\n PreviewFieldCaption: string;\n PreviewFieldId: string;\n PreviewFieldName: string;\n}\n\nexport type ControlInfoTypes =\n | SubformControlInfoModel\n | CalculateControlInfoModel\n | BoolControlInfoModel\n | EnumControlInfoModel\n | IconControlInfoModel\n | FileControlInfoModel\n | DateTimeControlInfoModel\n | NumberControlInfoModel\n | StringControlInfoModel\n | PictureFileControlInfoModel\n | GaugeControlInfoModel\n | CommandControlInfoModel\n | CodeEditorControlInfoModel;\n\nexport interface FormViewSetting {\n [key: string]: any;\n Layout94: any;\n ControlInfo: GeneralControlInfoModel[];\n}\nexport interface FormSetting {\n [key: string]: any;\n Data: {\n [key: string]: any;\n Mo: MetaobjectDataModel;\n };\n View: FormViewSetting;\n}\n\nexport class MetaobjectDataModel {\n [key: string]: any;\n $FieldDict?: { [key: string]: string };\n $ReportId?: string;\n $Type?: string;\n $StyleIndex?: number[];\n $Caption: string;\n $Icon?: string;\n $State?: string;\n $TypeDefId?: string;\n $TypeDefName?: string;\n $Children?: MetaobjectDataModel[];\n Id: string;\n}\nexport declare class CalendarMetaobjectDataModel extends MetaobjectDataModel {\n $Color: string;\n $MomentStartDate: string;\n $MomentEndDate: string;\n $StartTimes: string;\n $EndTimes: string;\n $Title: string;\n $Notes: string;\n $StartDateInfo?: DateInfoService;\n $EndDateInfo?: DateInfoService;\n}\n\nexport class MoForReportModel {\n $Type?: string;\n TypeDefId: string;\n ReportId: string;\n Icon?: string;\n MoDataList: Array<MetaobjectDataModel>;\n DeletedList: Array<{ Id: string; TypeDefId: string }>;\n AddedList: Array<{ Id: string; TypeDefId: string }>;\n Paging: PagingSetting;\n Relation?: {\n RelationType: string;\n ParentMoId: string;\n ParentFdId: string;\n ChildFdId: string;\n ParentFdName: string;\n ChildFdName: string;\n PassParentMoField: string;\n IsAutoSave: boolean;\n IsAutoSave_ReloadParentForms: boolean;\n IsAutoSave_ReloadRootParentList: boolean;\n };\n constructor() {\n this.DeletedList = this.AddedList = this.MoDataList = [];\n }\n}\nexport class ReportBaseInfo {\n Id: string;\n Caption: string;\n FolderId: string;\n IconUrl: string;\n Name: string;\n ReportId: string;\n}\nexport class ReportExtraInfo extends ReportBaseInfo {\n TypeDefId: string;\n TypeDefCaption: string;\n ReportType: string;\n HideToolbar: boolean;\n}\n\nexport class MetaobjectRelationModel extends ListRelationModel {\n ParentFdId: string;\n PassParentMoField: string;\n}\n\nexport enum FieldInfoTypeEnum {\n IntInfo = 0,\n StringInfo = 2,\n DateInfo = 3,\n BoolInfo = 5,\n EnumInfo = 6,\n UserInfo = 7,\n CategoryInfo = 8,\n MetaObjectInfo = 9,\n CommandInfo = 10, // 0x0000000A\n PicturesInfo = 11, // 0x0000000B\n RelationInfo = 12, // 0x0000000C\n HistoryInfo = 13, // 0x0000000D\n RelationInfoReverse_AksListi = 14, // 0x0000000E\n CreatorUserInfo = 15, // 0x0000000F\n CreationDateInfo = 16, // 0x00000010\n LastUpdateDateInfo = 17, // 0x00000011\n ReminderInfo = 18, // 0x00000012\n RichStringInfo = 19, // 0x00000013\n ConvertCommandInfo = 20, // 0x00000014\n RelationInfoSingleReverse_AksTakiListi = 21, // 0x00000015\n DialCommandInfo = 22, // 0x00000016\n FindContactCommandInfo = 23, // 0x00000017\n SequenceCommandInfo = 24, // 0x00000018\n CurrencyInfo = 25, // 0x00000019\n SinglePictureInfo = 26, // 0x0000001A\n WordReportCommandInfo = 27, // 0x0000001B\n HierarchicalInfo = 28, // 0x0000001C\n TimeSpanInfo = 29, // 0x0000001D\n ReportInfo = 30, // 0x0000001E\n FileInfo = 31, // 0x0000001F\n WordFileInfo = 32, // 0x00000020\n PictureFileInfo = 33, // 0x00000021\n GaugeInfo = 34, // 0x00000022\n CodeInfo = 35, // 0x00000023\n WorkCenterInfo = 36, // 0x00000024\n IsDeletedInfo = 37, // 0x00000025\n RowNumberInfo = 38, // 0x00000026\n BinaryInfo = 39, // 0x00000027\n ReverseMetaObjectInfo_AksTakiTaki = 40, // 0x00000028\n ColorInfo = 41, // 0x00000029\n IconInfo = 42, // 0x0000002A\n RefreshFieldCommandInfo = 43, // 0x0000002B\n ReferenceFieldInfo = 44, // 0x0000002C\n SearchCommandInfo = 45, // 0x0000002D\n OrderInfo = 46 // 0x0000002E\n}\nexport interface ClassNamesModel {\n CommandBarClass: string;\n DataClass: string;\n SelectionClass: string;\n ViewerClass: string;\n}\nexport interface ExtraModel {\n CustomCommands?: CustomCommand[];\n DefaultCommandsAccess?: DefaultCommandsAccess;\n ParentUlvConfig?: any;\n Relation?: MetaobjectRelationModel;\n Report?: ReportExtraInfo;\n ExtraJsonPropReport?: any;\n}\n\nexport class BaseReportModel {\n ClassNames: ClassNamesModel;\n Extra: ExtraModel;\n View: ViewTypes;\n SearchPanel: any;\n DefaultItemComponent = 'ReportDefaultItemComponent';\n}\nexport interface DefaultCommandsAccess {\n Add: boolean;\n AddToList: boolean;\n Delete: boolean;\n Edit: boolean;\n Export: boolean;\n Print: boolean;\n Refresh: boolean;\n RemoveFromList: boolean;\n View: boolean;\n}\nexport class CustomCommand {\n Data: any;\n DisableWhenReadonly: boolean;\n HideDisable: boolean;\n IconUrl: string;\n IsLarge: boolean;\n Mytype: string;\n Order: number;\n ShowOnContext: boolean;\n ShowOnToolbar: boolean;\n Text: string;\n UseAlways: boolean;\n UseForMulti: boolean;\n UseForSingle: boolean;\n}\nexport class ReportModel extends BaseReportModel {\n Data: MoForReportModel;\n constructor() {\n super();\n }\n}\nexport class ReportListModel extends BaseReportModel {\n View: GridView;\n}\nexport class ReportFormModel extends BaseReportModel {\n View: FormView;\n}\nexport interface TreeView {\n ConditionalFormats: [];\n ParentIdDbName: string;\n ShowSelectionChecks: boolean;\n TreeAutoOpenLevels: number;\n}\n\nexport interface GridView {\n AllowGridColumnSort: boolean;\n AutoInlineEdit: boolean;\n ColumnRequestEnum: string;\n Columns: Array<ReportViewColumn>;\n ConditionalFormats: [];\n DisableRowReload: boolean;\n GridSetting: GridSetting;\n Grid_FreeColumnSizing: boolean;\n Grid_GridLines: string;\n Grid_HideHeader: boolean;\n Grid_ShowRowNumber: boolean;\n HasConditionalFormat: boolean;\n HasSummaryRow: boolean;\n HideIcon: boolean;\n IsCheckList: boolean;\n}\nexport interface CalendarView {\n CalendarFields: CalendarFields;\n}\nexport interface FormView {\n FormPanelSetting: any;\n}\nexport type ViewTypes = GridView | CalendarView | TreeView | FormView;\n\nexport type ReportModelTypes = ReportListModel | ReportCalendarModel | ReportFormModel | ReportTreeModel;\n\nexport class ReportCalendarModel extends BaseReportModel {\n View: CalendarView;\n}\nexport class ReportTreeModel extends BaseReportModel {\n View: TreeView;\n}\nexport interface CalendarFields {\n EndDate: string;\n Notes: string;\n StartDate: string;\n Title: string;\n Color: string;\n}\n\nexport class ReportViewColumn {\n Alias: string;\n Caption: string;\n FieldDefId: string;\n FieldTypeId: number;\n FieldType: string;\n HasSummary: boolean;\n Hidden: boolean;\n IsLtr: boolean;\n IsPreview: boolean;\n MetaFieldTypeId: string;\n Name: string;\n Width: number;\n Tag?: string;\n Icon: string;\n OnlyImage?: boolean;\n Extra?: any;\n $Width: string;\n $Width2?: string;\n $MergedFieldsToColumn?: string[];\n $CSSClassName?: string;\n $CustomComponent?: MetaobjectDataModel;\n}\n\nexport class GridSetting {\n ColSettingList: Array<ColSetting>;\n SortSettingList: Array<SortSetting>;\n AutoSizeColumns: boolean;\n}\nexport class ColSetting {\n Name: string;\n Width: number;\n IsHidden: boolean;\n}\nexport class SortSetting {\n Name: string;\n SortDirection: string;\n IsGrouped: boolean;\n}\n\nexport class ReportField {\n public key: string;\n public value: string;\n public caption: string;\n constructor(public column: ReportViewColumn, public item: any) {\n const name = column.Name;\n this.caption = column.Caption;\n this.value = this.item[name];\n if (Number(column.FieldTypeId) === FieldInfoTypeEnum.DateInfo) {\n this.value = this.item[name + '$Caption'];\n }\n if (Number(column.FieldTypeId) === FieldInfoTypeEnum.IconInfo) {\n this.value = this.item[name].Url;\n }\n }\n}\n\nexport interface LoginResult {\n data: { sth: string };\n}\nexport interface ComponentSettingsDataModel extends MetaobjectDataModel {\n PlaceHolders?: PlaceHolderDataModel[];\n}\nexport interface ComponentDataModel extends MetaobjectDataModel {\n Selector: string;\n Settings: ComponentSettingsDataModel;\n}\nexport interface PlaceHolderDataModel extends MetaobjectDataModel {\n Name: string;\n Title: string;\n IsPage: boolean;\n OrderNumber: string;\n}\n\nexport interface ModuleDataModel extends MetaobjectDataModel {\n Title: string;\n PlaceHolder: PlaceHolderDataModel;\n Component: ComponentDataModel;\n}\nexport interface PageListReportModel extends MoForReportModel {\n MoDataList: Array<PageDataModel>;\n}\nexport interface ModuleListReportModel extends MoForReportModel {\n MoDataList: Array<ModuleDataModel>;\n}\nexport interface PageDataModel extends MetaobjectDataModel {\n Component: ComponentDataModel;\n ModuleList: ModuleListReportModel;\n ChildPageList: PageListReportModel;\n Title: string;\n Route: string;\n IsDefaultRoute: boolean;\n IsLoginRoute: boolean;\n}\n\nexport interface PortalDataModel extends PageDataModel {\n IsActive: boolean;\n IsPwa: boolean;\n PortalSettings: MetaobjectDataModel;\n}\nexport interface GroupVisibility {\n enable: boolean;\n visible: boolean;\n readonly: boolean;\n}\n\nexport interface IHeaderLayout {\n [key: string]: any;\n Title: string;\n Subtitle: string;\n Avatar: any;\n FacetList: { MoDataList: MetaobjectDataModel[] };\n}\n\nexport interface MenuItem {\n icon: string;\n text: string;\n itemId: string;\n Data: any;\n Command: any;\n handler: () => void;\n IsBuiltin?: boolean;\n}\nexport interface PagingSetting {\n EndIndex: number;\n HasPaging: boolean;\n Page: number;\n PageSize: number;\n RowCount: number;\n StartIndex: number;\n TotalPages: number;\n TotalRows: number;\n}\nexport interface ColumnInfoType {\n Name: string;\n Hidden: boolean;\n Caption: string;\n IsMandatory?: boolean;\n Width: number;\n}\nexport interface SearchPanelSettings extends MetaobjectDataModel {\n Title: string;\n ReportId: string;\n IsDefault: boolean;\n IsPublic: boolean;\n ApplyAutomatically: boolean;\n SearchMo?: string;\n FieldsSetting?: string;\n}\nexport declare type DeviceSize = 'desktop' | 'mobile' | 'tablet';\nexport const DateRanges = [\n 'DateR_None',\n 'DateR_SpecificRange',\n 'DateR_Today',\n 'DateR_ThisWeek',\n 'DateR_ThisMonth',\n 'DateR_ThisYear',\n 'DateR_DaysBefore',\n 'DateR_PrevWeek',\n 'DateR_PrevMonth',\n 'DateR_PrevYear',\n 'DateR_DaysAfter',\n 'DateR_NextWeek',\n 'DateR_NextMonth',\n 'DateR_NextYear'\n];\n\nexport interface UiReportViewBase {\n UiComponent: {\n Component: boolean;\n Module: string;\n ModuleFileName: string;\n Name: string;\n Selector: string;\n Settings: UiReportViewBaseSetting;\n };\n}\nexport interface UiReportViewBaseSetting {\n [key: string]: any;\n Type: string;\n Icon: string;\n IsDefault: boolean;\n Hidden: boolean;\n EnableSearch: boolean;\n DisableResponsive?: boolean;\n DisableOverflowContextMenu?: boolean;\n HorizontalGroupBy: boolean;\n}\n\nexport interface LayoutSetting {\n [key: string]: any;\n Title?: string;\n xtype: string;\n TextVisible?: boolean;\n items: LayoutSetting[];\n IsRoot?: boolean;\n SelectedTabPageName?: string;\n}\nexport declare type AbbrevationDeviceSize = 's' | 'm' | 'l' | 'xl';\nexport interface TreeNodeObj {\n isExpand: boolean;\n visibility: boolean;\n expand: () => void;\n collapse: () => void;\n Data: MetaobjectDataModel;\n children: TreeNodeObj[];\n icon: string;\n key: string;\n leaf: boolean;\n text: string;\n level: number;\n loading?: boolean;\n hasOneDepthLevel?: boolean;\n parentNode: TreeNodeObj | null;\n firstChild: TreeNodeObj | null;\n lastChild: TreeNodeObj | null;\n previousSibling: TreeNodeObj | null;\n nextSibling: TreeNodeObj | null;\n attributes: { Data: MetaobjectDataModel | null };\n hasChildNodes: () => boolean;\n noDrop: boolean;\n $Children?: TreeNodeObj[];\n}\n\nexport interface ColumnResizedArgs {\n name: string;\n width: number;\n}\nexport type columnsResizedEventArgs = { columns: Array<ReportViewColumn>; resized: Array<ColumnResizedArgs> };\nexport type RelationItemType = {\n Id: string;\n SourceTypeDefId: string;\n ObjectInRelationName: string;\n GroupCaption: string;\n};\n\nexport type EjrayOlgo = {\n Module: string;\n ModuleFileName: string;\n Name: string;\n Selector: string;\n Parameters?: MetaobjectDataModel;\n};\n","import { Observable, of, throwError } from 'rxjs';\nimport { concatMap, map, mergeMap, takeUntil, toArray } from 'rxjs/operators';\nimport { BaseComponent } from '../base.component';\nimport { formatBytes } from '../constants';\nimport { BarsaApi } from './barsa-api';\nimport { BbbTranslatePipe } from '../pipes/bbb-translate.pipe';\n\nexport class FilesValidationHelper extends BaseComponent {\n maxFileCount: number;\n maxFileSize: number;\n maxTotalFileSize: number;\n\n constructor(\n maxFileCount: number,\n maxFileSizeKb: number,\n maxTotalFileSizeKb: number,\n private bbbPipe?: BbbTranslatePipe\n ) {\n super();\n this.maxFileCount = Number(maxFileCount);\n if (maxTotalFileSizeKb) {\n this.maxTotalFileSize = Number(maxTotalFileSizeKb);\n if (this.maxTotalFileSize > 0) {\n this.maxTotalFileSize *= 1024;\n }\n }\n if (maxFileSizeKb) {\n this.maxFileSize = Number(maxFileSizeKb);\n if (this.maxFileSize > 0) {\n this.maxFileSize *= 1024;\n }\n }\n }\n\n public validateFiles(validateFiles: File[]): Observable<File[]> {\n return of(validateFiles).pipe(\n takeUntil(this._onDestroy$),\n map((files) => files),\n concatMap((files) => this._validateTotalSize(files)),\n concatMap((files) => this.filesCountError(files)),\n mergeMap((files) => files),\n concatMap((file) => this._validateSize(file)),\n toArray(),\n map((files) => files.filter((c) => !c.error).map((c) => c.file)),\n map((files) => this._validateMaxPictureCount(files))\n );\n }\n\n private filesCountError(files: File[]): Observable<File[]> {\n if (files.length > 0) {\n return of(files);\n }\n return throwError('files count is 0');\n }\n\n private _validateTotalSize(files: File[]): Promise<File[]> {\n return new Promise<File[]>((resolve) => {\n const totalFileSize = files.reduce((accumulator, currFile) => accumulator + currFile.size, 0);\n const uplaodTotalSizeTooBigText = this.bbbPipe?.transform('Uplaod_TotalSizeTooBig');\n if (this.maxTotalFileSize > 0 && totalFileSize > this.maxTotalFileSize) {\n const invalidFileSize = uplaodTotalSizeTooBigText\n ?.replace('{{{filesize}}}', formatBytes(totalFileSize, 2, 'MB'))\n .replace('{{maxFilesize}}', formatBytes(this.maxTotalFileSize, 2, 'MB'));\n BarsaApi.Ul.MsgBox.Error(invalidFileSize, () => {\n resolve([]);\n });\n } else {\n resolve(files);\n }\n });\n }\n\n private _validateSize(file: File): Promise<{ file: File; error?: string }> {\n return new Promise<{ file: File; error?: string }>((resolve, reject) => {\n const uplaodFileTooBigText = this.bbbPipe?.transform('Uplaod_FileTooBig');\n if (this.maxFileSize > 0 && file.size > this.maxFileSize) {\n const invalidFileSize = uplaodFileTooBigText\n ?.replace('{{{filesize}}}', formatBytes(file.size, 2, 'MB'))\n .replace('{{maxFilesize}}', formatBytes(this.maxFileSize, 2, 'MB'));\n BarsaApi.Ul.MsgBox.Error(invalidFileSize, () => {\n resolve({ file, error: invalidFileSize });\n });\n } else {\n resolve({ file });\n }\n reject();\n });\n }\n\n private _validateMaxPictureCount(files: File[]): File[] {\n return this.maxFileCount ? files.slice(0, this.maxFileCount) : files;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef\n} from '@angular/core';\nimport { ContentDensity } from '@fundamental-ngx/core';\n\nimport { BaseComponent } from '../base.component';\nimport { FindColumnByDbNamePipe } from '../pipes';\nimport { PortalService, UlvMainService } from '../services';\nimport {\n AbbrevationDeviceSize,\n ColumnResizedArgs,\n columnsResizedEventArgs,\n DefaultCommandsAccess,\n DeviceSize,\n FormSetting,\n MetaobjectDataModel,\n RelationItemType,\n ReportViewColumn,\n UiReportViewBaseSetting\n} from './models';\n\n@Component({\n selector: 'bnrc-report-view-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportViewBaseComponent<T extends UiReportViewBaseSetting> extends BaseComponent implements OnInit {\n @Input() contextView: any;\n @Input() viewSetting: T;\n @Input() allColumns: any;\n @Input() isCheckList: boolean;\n @Input() allChecked: boolean;\n @Input() moDataList: any;\n @Input() access: DefaultCommandsAccess;\n @Input() groupby: any;\n @Input() conditionalFormats: any;\n @Input() parentHeight: number;\n @Input() deviceName: DeviceSize;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() contextMenuItems: any[];\n @Input() columns: any;\n @Input() allowInlineEdit: any;\n @Input() secondaryColumns: any;\n @Input() popin: boolean;\n @Input() hasSummary: boolean;\n @Input() columnsCount: any;\n @Input() hideOpenIcon: boolean;\n @Input() openOnClick: boolean;\n @Input() typeDefId: string;\n @Input() extraRelation: any;\n @Input() relationList: Array<RelationItemType>;\n @Input() disableResponsive: boolean;\n @Input() rowItem: TemplateRef<any>;\n @Input() mobileOrTablet: boolean;\n @Input() inDialog: boolean;\n @Input() fullscreen: boolean;\n\n @Input() newInlineEditMo: MetaobjectDataModel | null;\n @Input() inlineEditMode: boolean;\n @Input() onlyInlineEdit: boolean;\n @Input() rowHoverable: boolean;\n @Input() tlbButtons: any[];\n @Input() formSetting: FormSetting;\n @Input() disableOverflowContextMenu: boolean;\n @Input() rowActivable = true;\n @Input() contentDensity: ContentDensity;\n @Input() rtl = true;\n @Input() showOkCancelButtons;\n @Input() title;\n @Input() navigationArrow: string;\n @Input() cartableTemplates: { [key: string]: FormSetting };\n @Input() cartableChildsMo: { [key: string]: MetaobjectDataModel };\n @Output() editFormPanelCancel = new EventEmitter<MetaobjectDataModel>();\n @Output() editFormPanelSave = new EventEmitter<MetaobjectDataModel>();\n @Output() selectNextInlineRecord = new EventEmitter<MetaobjectDataModel>();\n @Output() editFormPanelValueChange = new EventEmitter<MetaobjectDataModel>();\n @Output() ulvCommandClick = new EventEmitter<any>();\n @Output() sortAscending = new EventEmitter<any>();\n @Output() sortDescending = new EventEmitter<any>();\n @Output() filter = new EventEmitter<any>();\n @Output() rowCheck = new EventEmitter<{ mo; index; cause? }>();\n @Output() rowClick = new EventEmitter<{ mo; index }>();\n @Output() expandClick = new EventEmitter<MetaobjectDataModel>();\n @Output() trackBySelectedFn = new EventEmitter<{ index; record }>();\n @Output() allCheckbox = new EventEmitter<boolean>();\n @Output() columnResized = new EventEmitter<columnsResizedEventArgs>();\n @Input() set containerWidth(val: number) {\n this._containerWidth = val;\n this._containerWidthChanged(val);\n }\n\n resizedByUser: boolean;\n elWidth: number;\n canView = false;\n fitWidth: boolean;\n private _singleClicked: boolean;\n protected _containerWidth = 0;\n constructor(\n protected _el: ElementRef,\n protected _cdr: ChangeDetectorRef,\n protected _renderer2: Renderer2,\n protected _findColumnByDbName: FindColumnByDbNamePipe,\n protected _ulvMainService: UlvMainService,\n protected _portalService: PortalService\n ) {\n super();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n if (this.access.View && !this.showOkCancelButtons) {\n this.canView = true;\n }\n this.elWidth = this._el.nativeElement.clientWidth;\n this.fitWidth = this.viewSetting?.FitWidth === true ? true : false;\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n let detectChanges = false;\n Object.keys(changes).forEach((key) => {\n if (!changes[key].firstChange) {\n this[key] = changes[key].currentValue;\n detectChanges = true;\n }\n });\n if (detectChanges) {\n this.detectChanges();\n }\n }\n onColumnResized(e: Array<ColumnResizedArgs>): void {\n this.resizedByUser = true;\n this.columnResized.emit({ columns: this.columns, resized: e });\n }\n onRowCheck({ mo, index }): void {\n this._singleClicked = true;\n setTimeout(() => {\n if (this._singleClicked) {\n this.rowCheck.emit({ mo, index });\n }\n }, 30);\n // this.rowCheck.emit({ mo, index, cause });\n }\n\n onRowClick({ mo, index }): void {\n this._singleClicked = false;\n this.rowClick.emit({ mo, index });\n }\n\n onExpandClick(mo: MetaobjectDataModel): void {\n this.expandClick.emit(mo);\n }\n\n onAllCheckbox(checked): void {\n this.allCheckbox.emit(checked);\n }\n onSelectNextInlineRecord(mo): void {\n this.selectNextInlineRecord.emit(mo);\n }\n onEditFormPanelSave(mo): void {\n this.editFormPanelSave.emit(mo);\n }\n onEditFormPanelCancel(mo: MetaobjectDataModel): void {\n this.editFormPanelCancel.emit(mo);\n }\n onEditFormPanelValueChange(mo: MetaobjectDataModel): void {\n this.editFormPanelValueChange.emit(mo);\n }\n onUlvCommand({ mo, index }): void {\n this.ulvCommandClick.emit({ mo, index });\n }\n\n onSortAscending(column): void {\n this.sortAscending.emit(column);\n }\n\n onSortDescending(column): void {\n this.sortDescending.emit(column);\n }\n\n onFilter(column): void {\n this.filter.emit(column);\n }\n onDynamicComponentEvents(e: { title: string; data?: any }, mo: MetaobjectDataModel, index: number): void {\n switch (e.title) {\n case 'rowCheck':\n this.onRowCheck({ mo, index });\n break;\n case 'rowClick':\n this.onRowClick({ mo, index });\n break;\n case 'ulvCommand':\n this.onUlvCommand({ mo, index });\n break;\n }\n }\n detectChanges(): void {\n this._cdr.detectChanges();\n }\n _trackBySelectedFn(index, record): void {\n this.trackBySelectedFn?.emit({ index, record });\n }\n\n _trackByColumn(index: number, column: ReportViewColumn): string {\n return `${column.Name}${index}`;\n }\n _trackByRow(index: number, row: MetaobjectDataModel): string {\n return `${row.$Group ? row.$Group : row.Id}${index}`;\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected _containerWidthChanged(_: number): void {}\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n Input,\n OnInit,\n Renderer2,\n ViewContainerRef\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { BaseComponent } from '../base.component';\n\nimport { ControlUiPipe } from '../pipes';\nimport { BreadCrumbInfo, FormPanelService } from '../services';\nimport { LayoutSetting, MetaobjectDataModel } from './models';\n\n@Component({\n selector: 'bnrc-form-props-base',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormPropsBaseComponent extends BaseComponent implements OnInit {\n @Input() breadCrumbs: BreadCrumbInfo[] | null;\n @Input() toolbarVisible: boolean;\n @Input() toolbarItems: any[];\n @Input() layoutActions: any[];\n @Input() layout94;\n @Input() settings: MetaobjectDataModel;\n @Input() workflowPanelUi: any;\n @Input() title: string;\n @Input() subtitle: string;\n @Input() description: string;\n @Input() facetList: any[];\n @Input() removeHeaderBorder: boolean;\n @Input() removeContentPadding: boolean;\n @Input() isMobile: boolean;\n @Input() avatar: any;\n @Input() rtl: boolean;\n @Input() mask: boolean;\n @Input() fieldDict: { [key: string]: string } | undefined;\n @Input() contentDensity: any;\n @Input() deviceSize: 's' | 'm' | 'l' | 'xl';\n @Input() dirValue: 'rtl' | 'ltr';\n @Input() modernTabs: LayoutSetting[];\n @Input() mo: MetaobjectDataModel;\n constructor(\n protected _controlUiPipe: ControlUiPipe,\n protected _formPanelService: FormPanelService,\n protected _sanitizer: DomSanitizer,\n protected _cdr: ChangeDetectorRef,\n protected _renderer2: Renderer2,\n protected _vcr: ViewContainerRef,\n protected _factoryResolver: ComponentFactoryResolver\n ) {\n super();\n }\n ngOnInit(): void {\n // this.mo = this._formPanelService.mo;\n super.ngOnInit();\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport * from './field-base';\nexport * from './form-base';\nexport * from './form-toolbar-base';\nexport * from './system-base';\nexport * from './report-base';\nexport * from './report-item-base';\nexport * from './application-base';\nexport * from './layout-item-base';\nexport * from './layout-panel-base';\nexport * from './page-base';\nexport * from './number-base';\nexport * from './models';\nexport * from './module-with-dynamic-components';\nexport * from './files-validation-helper';\nexport * from './barsa-api';\nexport * from './report-view-base.component';\nexport * from './form-props.base';\nexport const APP_VERSION = new InjectionToken<string>('AppVersion');\nexport const DIALOG_SERVICE = new InjectionToken<string>('DIALOG_SERVICE');\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { BarsaApi, MetaobjectDataModel } from '../abstract-classes';\nimport { BaseComponent } from '../base.component';\n@Component({\n selector: 'bnrc-redirect-report-navigator-command',\n templateUrl: './redirect-report-navigator-command.component.html',\n styleUrls: ['./redirect-report-navigator-command.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RedirectReportNavigatorCommandComponent extends BaseComponent {\n settings: MetaobjectDataModel;\n _Object = {\n ShowSystemContainerPage: (navItem) => {\n if (navItem.DynamicCommand) {\n const logParams = { CommandId: navItem.FolderId };\n const finish = BarsaApi.Common.LogManager.StartLog('Navigator.Command', logParams);\n const e = { Command: navItem, DynamicSetting: navItem.DynamicCommand };\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(navItem.Id, e, finish);\n BarsaApi.Common.LogManager.EndLog();\n } else {\n this.router.navigate([this.settings.ReportPageUrl, navItem.Id + '__' + navItem.Caption]);\n }\n }\n };\n constructor(private router: Router) {\n super();\n BarsaApi.Bw.App.GetActiveSystem = () => this;\n }\n}\n","","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\n\r\nimport { PageBaseComponent } from '../abstract-classes';\r\n\r\n@Component({\r\n selector: 'bnrc-portal-page',\r\n templateUrl: './portal-page.component.html',\r\n styleUrls: ['./portal-page.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PortalPageComponent extends PageBaseComponent {}\r\n","<ng-container #containerRef></ng-container>\n<router-outlet></router-outlet>\n","import {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n EventEmitter,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntil, tap } from 'rxjs';\nimport { EjrayOlgo } from '../abstract-classes';\nimport { BaseComponent } from '../base.component';\nimport { PortalService } from '../services';\n\n@Component({\n selector: 'bnrc-dynamic-component',\n template: `<ng-container #componentContainer></ng-container>`,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseDynamicComponent extends BaseComponent implements OnInit, OnDestroy, OnChanges {\n @ViewChild('componentContainer', { read: ViewContainerRef, static: true })\n _container: ViewContainerRef;\n @Input() component: EjrayOlgo;\n @Input() value: any;\n @Output() events = new EventEmitter<{ title: string; data?: any }>();\n public _component: ComponentRef<any>;\n constructor(protected _portalService: PortalService, protected _injector: Injector) {\n super();\n }\n async ngOnInit(): Promise<void> {\n super.ngOnInit();\n this._renderComponentInstance();\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (!this._component?.instance) {\n return;\n }\n // const changesKey = Object.keys(changes);\n // changesKey\n // .filter((c) => !changes[c].firstChange)\n // .forEach((c) => (this._component.instance[c] = changes[c].currentValue));\n\n this._component.instance.ngOnChanges(changes);\n }\n ngOnDestroy(): void {\n this._destroyComponentInstance();\n }\n\n protected async _renderComponentInstance(): Promise<void> {\n this._destroyComponentInstance();\n if (!this.component) {\n return;\n }\n const { Module, ModuleFileName, Name, Selector } = this.component;\n this._portalService\n .getComponent(Module, ModuleFileName, Name, Selector, this._injector)\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((componentRef: ComponentRef<any>) => {\n this._container.insert(componentRef.hostView);\n this._component = componentRef;\n if (this.component.Parameters) {\n this._component.instance.parameters = this.component.Parameters;\n }\n if (this.value) {\n this._component.instance.value = this.value;\n }\n this.setComponentInputs();\n const events = this._component.instance.events as EventEmitter<{ title: string; data?: any }>;\n if (events) {\n events\n .pipe(\n takeUntil(this._onDestroy$),\n tap((c) => this.events.emit(c))\n )\n .subscribe();\n }\n });\n this.setComponentInputs();\n }\n\n protected setComponentInputs(): void {\n const inputProperties = Object.keys(this).filter((c) => !c.startsWith('_') && c !== 'events');\n inputProperties.forEach((c) => {\n this._component.instance[c] = this[c];\n });\n }\n\n protected _destroyComponentInstance(): void {\n if (this._component) {\n this._component.destroy();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LayoutSetting, MetaobjectDataModel } from '../abstract-classes';\nimport { BreadCrumbInfo } from '../services';\nimport { BaseDynamicComponent } from './base-dynamic.component';\n\n@Component({\n selector: 'bnrc-dynamic-form-component',\n template: `<ng-container #componentContainer></ng-container>`,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicFormComponent extends BaseDynamicComponent {\n @Input() breadCrumbs: BreadCrumbInfo[] | null;\n @Input() toolbarVisible: boolean;\n @Input() toolbarItems: any[];\n @Input() layoutActions: any[];\n @Input() layout94;\n @Input() settings: MetaobjectDataModel;\n @Input() workflowPanelUi: any;\n @Input() title: string;\n @Input() subtitle: string;\n @Input() description: string;\n @Input() facetList: any[];\n @Input() removeHeaderBorder: boolean;\n @Input() removeContentPadding: boolean;\n @Input() isMobile: boolean;\n @Input() avatar: any;\n @Input() rtl: boolean;\n @Input() mask: boolean;\n @Input() mo: MetaobjectDataModel;\n @Input() contentDensity: any;\n @Input() deviceSize: 's' | 'm' | 'l' | 'xl';\n @Input() dirValue: 'rtl' | 'ltr';\n @Input() fieldDict: { [key: string]: string } | undefined;\n @Input() modernTabs: LayoutSetting[];\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n AbbrevationDeviceSize,\n DeviceSize,\n MetaobjectDataModel,\n ReportViewColumn,\n UiReportViewBaseSetting\n} from '../abstract-classes';\nimport { BaseDynamicComponent } from './base-dynamic.component';\n\n@Component({\n selector: 'bnrc-dynamic-item-component',\n template: `<ng-container #componentContainer></ng-container>`,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicItemComponent extends BaseDynamicComponent {\n @Input() mo: MetaobjectDataModel;\n @Input() allColumns: ReportViewColumn[];\n @Input() column: ReportViewColumn;\n @Input() index: number;\n @Input() deviceName: DeviceSize;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() rtl: boolean;\n @Input() editMode: boolean;\n @Input() setting: UiReportViewBaseSetting;\n @Input() parameters?: MetaobjectDataModel;\n @Input() contextMenuItems: any[];\n @Input() canView: boolean;\n @Input() conditionalFormats: any;\n @Input() disableOverflowContextMenu: boolean;\n @Input() navigationArrow: string;\n @Input() isCheckList: boolean;\n\n @Input() fields: MetaobjectDataModel;\n @Input() isChecked: boolean;\n @Input() layout94$: Observable<any>;\n @Input() inlineEditMode: boolean;\n @Input() isNewInlineMo: boolean;\n @Input() allowInlineEdit: boolean;\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { AbbrevationDeviceSize, DefaultCommandsAccess, DeviceSize, MetaobjectDataModel } from '../abstract-classes';\nimport { BaseComponent } from '../base.component';\n\n@Component({\n selector: 'bnrc-base-view-props',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseViewPropsComponent extends BaseComponent {\n @Input() reportId: string;\n @Input() allColumns: any;\n @Input() isCheckList: boolean;\n @Input() allChecked: boolean;\n @Input() canView: boolean;\n @Input() visibility: boolean;\n @Input() level: number;\n @Input() expanded: boolean;\n @Input() parentExpanded: boolean;\n @Input() access: DefaultCommandsAccess;\n @Input() groupby: any;\n @Input() conditionalFormats: any;\n @Input() deviceName: DeviceSize;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() contextMenuItems: any[];\n @Input() columns: any;\n @Input() allowInlineEdit: any;\n @Input() secondaryColumns: any;\n @Input() popin: boolean;\n @Input() typeDefId: string;\n @Input() columnsCount: any;\n @Input() mobileOrTablet: boolean;\n @Input() containerWidth: number;\n @Input() newInlineEditMo: MetaobjectDataModel | null;\n @Input() inlineEditMode: boolean;\n @Input() onlyInlineEdit: boolean;\n @Input() rowHoverable: boolean;\n @Input() tlbButtons: any[];\n @Input() setting: any | null | undefined;\n @Input() formSetting: any;\n @Input() disableOverflowContextMenu: boolean;\n @Input() rowActivable = true;\n @Input() contentDensity: any;\n @Input() rtl = true;\n @Input() showOkCancelButtons;\n @Input() title;\n @Input() isChecked;\n @Input() navigationArrow: string;\n @Output() rowCheck = new EventEmitter<{ mo: MetaobjectDataModel; index: number }>();\n @Output() rowClick = new EventEmitter<{ mo: MetaobjectDataModel; index: number }>();\n @Output() ulvCommand = new EventEmitter<{ mo: MetaobjectDataModel; index: number }>();\n @Output() editFormPanelCancel = new EventEmitter<MetaobjectDataModel>();\n @Output() editFormPanelSave = new EventEmitter<MetaobjectDataModel>();\n @Output() selectNextInlineRecord = new EventEmitter<MetaobjectDataModel>();\n @Output() action = new EventEmitter<string>();\n @Output() expandClick = new EventEmitter<MetaobjectDataModel>();\n @Output() editFormPanelValueChange = new EventEmitter<MetaobjectDataModel>();\n _trackByRow(index: number, row: MetaobjectDataModel): string {\n return `${row.$Group ? row.$Group : row.Id}${index}`;\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MetaobjectDataModel, UiReportViewBaseSetting } from '../abstract-classes';\nimport { BaseViewPropsComponent } from './base-view-props';\n\n@Component({\n selector: 'bnrc-base-view-content-props',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseViewContentPropsComponent<T extends UiReportViewBaseSetting> extends BaseViewPropsComponent {\n @Input() moDataList: MetaobjectDataModel[];\n @Output() expandClick = new EventEmitter<MetaobjectDataModel>();\n @Input() setting: T;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnInit,\n Optional,\n Self,\n SimpleChanges,\n SkipSelf\n} from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { catchError, debounceTime, from, tap, Observable, Subject, switchMap, takeUntil, throwError } from 'rxjs';\n\nimport { MetaobjectDataModel, ReportViewColumn, FormSetting } from '../abstract-classes';\nimport { createGridEditorFormPanel } from '../constants';\nimport { FormPanelService, UlvMainService } from '../services';\nimport { BaseViewPropsComponent } from './base-view-props';\ntype ReasonToSave = 'TAB' | 'CTRL+ENTER' | 'CHECK_CHANGED';\n@Component({\n selector: 'bnrc-base-view-item-props',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseViewItemPropsComponent extends BaseViewPropsComponent implements OnInit, OnChanges {\n @Input() mo: MetaobjectDataModel;\n @Input() moDataListCount: number;\n @Input() index: number;\n @Input() isChecked: boolean;\n @Input() isNewInlineMo: boolean;\n @Input() extraRelation: any;\n @Input() hideOpenIcon: boolean;\n\n @Input() set cartableTemplate(val: FormSetting) {\n this._cartableTemplate = val;\n this._createCartableParams();\n }\n @Input() set cartableMo(val: MetaobjectDataModel) {\n this._cartableMo = val;\n this._createCartableParams();\n }\n @Input() set cartableWorkflowData(val: string) {\n this._cartableWorkflowData = val;\n this._createCartableParams();\n }\n hasError = false;\n inlineEditInReport = true;\n layout$: Observable<any>;\n formPanelCtrlr: any;\n saving: boolean;\n saved: boolean;\n inRow = true;\n hasCartableTemplate = false;\n cartableParams: {\n formSetting: FormSetting;\n moId: string;\n typeDefId: string | undefined;\n viewId: any;\n inDialog: boolean;\n };\n bruleActionMessage: BruleActionMessage | null = null;\n private _saveEditedMo$ = new Subject<ReasonToSave>();\n private _formpanelValueChanged$ = new Subject<void>();\n private _formPanelLoaded: boolean;\n private _cartableMo: MetaobjectDataModel;\n private _cartableTemplate: FormSetting;\n private _cartableWorkflowData: string;\n\n constructor(\n protected _el: ElementRef,\n protected _domSanitizer: DomSanitizer,\n protected _cdr: ChangeDetectorRef,\n @Optional() @SkipSelf() protected _parentFormPanelService: FormPanelService,\n @Optional() @Self() protected _formPanelService: FormPanelService,\n @Optional() protected _ulvMainService: UlvMainService\n ) {\n super();\n this._saveEditedMo$\n .asObservable()\n .pipe(\n takeUntil(this._onDestroy$),\n switchMap((reason: ReasonToSave) => this._inlineEditSaveFormPanel(reason)),\n catchError((err) => throwError(() => err))\n )\n .subscribe((res: { reason: ReasonToSave; succeed: boolean; saved: boolean }) => {\n if (res.saved) {\n this._formpanelValueChanged$.next();\n this._cdr.markForCheck();\n }\n if (res.reason === 'TAB' || res.reason === 'CTRL+ENTER') {\n this.selectNextInlineRecord.emit(this.mo);\n }\n });\n this._formpanelValueChanged$\n .asObservable()\n .pipe(\n takeUntil(this._onDestroy$),\n debounceTime(100),\n switchMap(() => this._syncMo()),\n tap(() => {\n if (typeof this.mo.$InlineMoChanged === 'undefined') {\n this.mo.$InlineMoChanged = true;\n }\n })\n )\n .subscribe(() => {\n this.editFormPanelValueChange.emit(this.mo);\n });\n }\n private get _hasFormPanelService(): boolean {\n return this._formPanelService !== null && this.formSetting;\n }\n private get _focusableControls(): NodeList {\n return this._el.nativeElement.querySelectorAll(\n `button,button:not([disabled]),[href],input:not([disabled]),input,\n select,select:not([disabled]),textarea,textarea:not([disabled]),[tabindex]:not([tabindex=\"-1\"])`\n );\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n if (this._hasFormPanelService) {\n this._formPanelService.context$.pipe(takeUntil(this._onDestroy$)).subscribe();\n this._formPanelService.view$.pipe(takeUntil(this._onDestroy$)).subscribe();\n this.layout$ = this._formPanelService.layout$;\n }\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { isChecked } = changes;\n if (this.inlineEditMode) {\n if (isChecked) {\n if (!isChecked.currentValue && isChecked.previousValue) {\n if (this._needToSave()) {\n this._saveEditedMo$.next('CHECK_CHANGED');\n }\n } else if (isChecked.currentValue) {\n this._loadAndCreateFormPanelCtrlr();\n }\n }\n }\n // if (mo && !mo.firstChange && this._hasFormPanelService && this.isChecked && this.inlineEditMode) {\n // //this.formPanelCtrlr.SetValue(changes.mo.currentValue);\n // }\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this.formPanelCtrlr) {\n this.formPanelCtrlr.un('bruleShowMessageAction', this._handleBruleShowMessageAction);\n }\n }\n OnCartableFormClick(e): void {\n if (this.isChecked) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n onTabKeyDown(): void {\n setTimeout(() => {\n this._checkfocusOutFromRow(document.activeElement);\n }, 0);\n }\n\n onRowCheck(): void {\n this._rowCheck();\n }\n\n onRowClick(): void {\n this.rowClick.emit({ mo: this.mo, index: this.index });\n }\n onEditFormPanelSave(): void {\n this._saveEditedMo$.next('CTRL+ENTER');\n }\n onEditFormPanelCancel(): void {\n this.editFormPanelCancel.emit(this.formPanelCtrlr.Mo);\n }\n onUlvCommand(): void {\n this.ulvCommand.emit({ mo: this.mo, index: this.index });\n }\n onAction(commandBody: string): void {\n this.action.emit(commandBody);\n }\n onExpandClick(): void {\n this.expandClick.emit(this.mo);\n }\n onDynamicComponentEvents(e: { title: string; data?: any }): void {\n switch (e.title) {\n case 'rowCheck':\n this.onRowCheck();\n break;\n case 'rowClick':\n this.onRowClick();\n break;\n case 'ulvCommand':\n this.onUlvCommand();\n break;\n }\n }\n _trackByColumn(index: number, column: ReportViewColumn): string {\n return `${column.Name}${index}`;\n }\n protected _createCartableParams(): void {\n const cartableTemplate = this._cartableTemplate;\n const cartableMo = this._cartableMo;\n const cartableWorkflowData = this._cartableWorkflowData;\n if (this.hasCartableTemplate) {\n // TODO update cartable mo;\n return;\n }\n if (cartableTemplate && cartableMo && typeof cartableWorkflowData !== 'undefined') {\n const view = cartableTemplate.View;\n cartableTemplate.Data = { Mo: { ...cartableMo } };\n cartableTemplate.Workflow = cartableWorkflowData === '' ? null : JSON.parse(cartableWorkflowData);\n if (!view.ExtraJsonProp) {\n view.ExtraJsonProp = {};\n }\n view.ExtraJsonProp.IsSimple = true;\n\n this.cartableParams = {\n formSetting: cartableTemplate,\n moId: cartableMo.Id,\n typeDefId: cartableMo.$TypeDefId,\n viewId: view.TypeViewId,\n inDialog: false\n };\n this.hasCartableTemplate = true;\n this._cdr.markForCheck();\n }\n }\n protected _needToSave(): boolean {\n // if (!this.isChecked) {\n // return false;\n // }\n // const isChildNode = (this._el.nativeElement as HTMLElement).contains(e.target);\n // if (isChildNode) {\n // return false;\n // }\n const t = this.inlineEditMode && this._hasFormPanelService;\n if (!t) {\n return false;\n }\n\n return this.formPanelCtrlr && this.formPanelCtrlr.IsMoChanged();\n }\n protected _focustToFirstControl(): void {\n const focusable = this._focusableControls;\n const lastFocusable = focusable[0];\n (lastFocusable as HTMLElement)?.focus();\n }\n protected _checkfocusOutFromRow(target): void {\n const focusable: NodeList = this._focusableControls;\n let foundInFocusable = false;\n focusable.forEach((c) => {\n if (c === target) {\n foundInFocusable = true;\n }\n });\n if (!foundInFocusable) {\n this._saveEditedMo$.next('TAB');\n }\n }\n protected _rowCheck(): void {\n // if (this.isChecked) {\n // return;\n // }\n this.rowCheck.emit({ mo: this.mo, index: this.index });\n }\n\n protected _handleValueChange(): void {\n if (!this.isChecked) {\n this.onRowCheck();\n }\n this._formpanelValueChanged$.next();\n }\n protected _syncMo(): Observable<void> {\n const syncWithFormpanelMo = this.mo;\n const _isChecked = this.mo.$IsChecked;\n const formPanelCtrlrMo = this.formPanelCtrlr.Mo;\n Object.keys(formPanelCtrlrMo.$OriginalValues).forEach((c: any) => {\n syncWithFormpanelMo[c] = formPanelCtrlrMo[c];\n if (formPanelCtrlrMo[c + '$Caption']) {\n syncWithFormpanelMo[c + '$Caption'] = formPanelCtrlrMo[c + '$Caption'];\n }\n if (formPanelCtrlrMo[c + '$Icon']) {\n syncWithFormpanelMo[c + '$Icon'] = formPanelCtrlrMo[c + '$Icon'];\n }\n });\n syncWithFormpanelMo['$State'] = formPanelCtrlrMo['$State']; // this add because if we edit unchanged mo it does not reflect to mo of ulv.\n this.mo = { ...syncWithFormpanelMo };\n this.mo.$IsChecked = _isChecked;\n return from(Promise.resolve());\n }\n\n protected _raiseFormPanelValueChanged(): void {\n this.editFormPanelValueChange.emit(this.mo);\n }\n\n protected _handleBruleShowMessageAction(action: BruleActionMessage): void {\n action.MessageExpressionHtml = this._domSanitizer.bypassSecurityTrustHtml(action.MessageExpression);\n this.bruleActionMessage = action;\n // if (action.MessageType === BarsaApi.Common.Enums.ShowMessageRuleAction_Type.Information) {\n // if (action.EscapeCharacters) Ul.MsgBox.Info(action.MessageExpression, doReturn);\n // else Ul.MsgBox.Info_ShowHtml(action.MessageExpression, doReturn);\n // } else if (action.MessageType === BarsaApi.Common.Enums.ShowMessageRuleAction_Type.Error) {\n // var doReturn0 = function () {\n // this._formPanel.RefocusCurrentField();\n // doReturn(new Common.SilentException());\n // };\n // if (action.EscapeCharacters) Ul.MsgBox.Error(action.MessageExpression, doReturn0.bind(this));\n // else Ul.MsgBox.Error_ShowHtml(action.MessageExpression, doReturn0.bind(this));\n // } else if (action.MessageType === BarsaApi.Common.Enums.ShowMessageRuleAction_Type.OkCancel) {\n // Ul.MsgBox.ConfirmYesNo_Safe(true, action.MessageExpression, BBB.Select, action.EscapeCharacters, doReturn);\n // }\n }\n protected _createFormPanelCtrlr(mo: MetaobjectDataModel, typeDefId: string): any {\n if (!this.formPanelCtrlr) {\n this.formPanelCtrlr = createGridEditorFormPanel(\n this.formSetting,\n { ...mo },\n typeDefId,\n this.extraRelation,\n this.inRow\n // BarsaApi.Common.Util.TryGetValue(this.context.Setting, 'Extra.Relation')\n );\n }\n this.formPanelCtrlr.InlineEditInReport = true;\n this.formPanelCtrlr.on({\n bruleShowMessageAction: this._handleBruleShowMessageAction.bind(this),\n valueChange: this._handleValueChange.bind(this)\n });\n\n return this.formPanelCtrlr;\n }\n\n protected _loadAndCreateFormPanelCtrlr(): void {\n const formSettingData = this.formSetting.Data;\n const formMo = {\n ...this.mo,\n $FieldDict: formSettingData.Mo.$FieldDict,\n $TypeDefId: formSettingData.Mo.$TypeDefId,\n $OriginalValues: {}\n };\n if (this._formPanelLoaded) {\n this.formPanelCtrlr.SetValue(formMo);\n return;\n }\n\n this._createFormPanelCtrlr(formMo, this.typeDefId);\n this._formPanelLoaded = true;\n const formPanelCtrlr = this.formPanelCtrlr;\n this.formPanelCtrlr.UlvMoDataListCount = this.moDataListCount - 1;\n formPanelCtrlr.LoadAndCreate(null, false, false, () => {\n const customFormPanelUi = formPanelCtrlr.Adapter.Control;\n const parentMo = this._parentFormPanelService ? this._parentFormPanelService.mo : null;\n if (this.extraRelation && parentMo && this.extraRelation.RelationType === 'Composition') {\n formPanelCtrlr.Mo.SetFValue(this.extraRelation.ParentFdName, parentMo);\n // newFormSettings.Data.Mo[relation.ParentFdName] = parentMo.GetChangedObject();\n // newFormSettings.Data.Mo[relation.ParentFdName].$State = parentMo.$State;\n }\n customFormPanelUi.Refresh = () => {};\n this._formPanelService.context = formPanelCtrlr.Adapter.Control;\n setTimeout(() => {\n this._focustToFirstControl();\n }, 0);\n });\n }\n protected _resetSavingStates(): void {\n this.hasError = false;\n this.bruleActionMessage = null;\n this.saved = false;\n this._cdr.markForCheck();\n }\n protected _setSavingState(err): void {\n if (err) {\n this.hasError = true;\n return;\n }\n this.hasError = false;\n this.saved = true;\n }\n protected _inlineEditSaveFormPanel(reason): Promise<{ reason: ReasonToSave; succeed: boolean; saved: boolean }> {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return new Promise<{ reason: ReasonToSave; succeed: boolean; saved: boolean }>((resolve, _) => {\n if (!this.formPanelCtrlr.IsMoChanged()) {\n // if state of mo is new or modidfied then it needs to update\n resolve({ reason, succeed: true, saved: false });\n }\n const formPanelCtrlrMo = this.formPanelCtrlr.Mo;\n delete formPanelCtrlrMo.json;\n // this.saving = true;\n\n this.mo.$InlineMoChanged = false;\n this.editFormPanelSave.emit(this.mo);\n this.formPanelCtrlr.Save(false, (err) => {\n // this.saving = false;\n this.formPanelCtrlr.SetIsChanged(false);\n this._setSavingState(err);\n resolve({ reason, succeed: true, saved: true });\n });\n });\n }\n}\ninterface BruleActionMessage {\n MessageType: number;\n EscapeCharacters: boolean;\n MessageExpression: string;\n MessageExpressionHtml: SafeHtml;\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n AbbrevationDeviceSize,\n DeviceSize,\n MetaobjectDataModel,\n ReportViewColumn,\n UiReportViewBaseSetting\n} from '../abstract-classes';\nimport { BaseComponent } from '../base.component';\nimport { FindColumnByDbNamePipe, MoReportValuePipe } from '../pipes';\n\n@Component({\n selector: 'bnrc-base-item-content-props',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseItemContentPropsComponent<T extends UiReportViewBaseSetting> extends BaseComponent {\n @Output() events = new EventEmitter<{ title: string; data?: any }>();\n @Input() mo: MetaobjectDataModel;\n @Input() allColumns: ReportViewColumn[];\n @Input() column: ReportViewColumn;\n @Input() index: number;\n @Input() deviceName: DeviceSize;\n @Input() deviceSize: AbbrevationDeviceSize;\n @Input() rtl: boolean;\n @Input() editMode: boolean;\n @Input() setting: T;\n @Input() parameters: MetaobjectDataModel;\n @Input() contextMenuItems: any[];\n @Input() canView: boolean;\n @Input() conditionalFormats: any;\n @Input() disableOverflowContextMenu: boolean;\n @Input() navigationArrow: string;\n @Input() isCheckList: boolean;\n @Input() fields: MetaobjectDataModel;\n @Input() isChecked: boolean;\n @Input() layout94$: Observable<any>;\n @Input() inlineEditMode: boolean;\n @Input() allowInlineEdit: boolean;\n @Input() isNewInlineMo: boolean;\n\n constructor(\n protected _rval: MoReportValuePipe,\n protected _findColumnPipe: FindColumnByDbNamePipe,\n protected _cdr: ChangeDetectorRef\n ) {\n super();\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { DeviceSize, MetaobjectDataModel, ReportViewColumn } from '../abstract-classes';\nimport { BaseComponent } from '../base.component';\nimport { MoReportValuePipe } from '../pipes';\n\n@Component({\n selector: 'bnrc-form-toolbaritem-props',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BaseFormToolbaritemPropsComponent extends BaseComponent {\n @Input() deviceName: DeviceSize;\n @Input() btn: any;\n @Input() context: any;\n @Input() isEnable: boolean;\n @Input() inlineEditMode: boolean;\n @Input() parameters: MetaobjectDataModel;\n @Output() ulvClick = new EventEmitter<{ title: string; data?: any }>();\n @Input() mo: MetaobjectDataModel;\n @Input() allColumns: ReportViewColumn[];\n @Input() index: number;\n @Input() showText: boolean;\n @Input() conditionalFormats: any;\n @Output() commandClick = new EventEmitter<any>();\n constructor(protected _reportValuePipe: MoReportValuePipe, protected _cdr: ChangeDetectorRef) {\n super();\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { DeviceSize, MetaobjectDataModel, ReportViewColumn } from '../abstract-classes';\nimport { BaseDynamicComponent } from './base-dynamic.component';\n\n@Component({\n selector: 'bnrc-dynamic-form-toolbaritem',\n template: `<ng-container #componentContainer></ng-container>`,\n styles: [':host { display: block;}'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DynamicFormToolbaritemComponent extends BaseDynamicComponent {\n @Output() btnClick = new EventEmitter<any>();\n @Input() mo: MetaobjectDataModel;\n @Input() index: number;\n @Input() deviceName: DeviceSize;\n @Input() context: any;\n @Input() btn: any;\n @Input() isEnable: boolean;\n @Input() showText: boolean;\n @Input() allColumns: ReportViewColumn[];\n @Input() conditionalFormats: any;\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\n\nimport { NavigationEnd, NavigationStart, RouterEvent } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { PageBaseComponent } from '../abstract-classes';\n\n@Component({\n selector: 'bnrc-root-portal',\n template: `<section class=\"section\" id=\"mainpage\" #sectionRef>\n <div #containerRef></div>\n </section>\n <div class=\"page-wrapper\">\n <router-outlet></router-outlet>\n </div>\n <footer #footerRef></footer> `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RootPortalComponent extends PageBaseComponent implements OnInit {\n @ViewChild('sectionRef') sectionRef: ElementRef;\n @ViewChild('footerRef') footerRef: ElementRef;\n portalLoading$: Observable<boolean>;\n modules: any;\n isRoot = true;\n ngOnInit(): void {\n super.ngOnInit();\n this._router.events.subscribe((event) => {\n if (event instanceof NavigationStart && event instanceof RouterEvent) {\n this._portalService.naviationStart(event);\n }\n if (event instanceof NavigationEnd && event instanceof RouterEvent) {\n this._portalService.naviationEnd(event);\n }\n });\n }\n}\n","import { Directive, HostListener, Input } from '@angular/core';\n\n@Directive({\n selector: '[anchorScroll]'\n})\nexport class AnchorScrollDirective {\n @Input() anchorScroll: string;\n @HostListener('click')\n scrollInto(): void {\n const element = document.querySelector('#' + this.anchorScroll);\n if (element != null) {\n element.scrollIntoView();\n }\n }\n}\n","import { OnInit, AfterViewInit, Directive, OnDestroy, OnChanges, SimpleChanges, AfterContentInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { BarsaApi } from '../abstract-classes/barsa-api';\n\n@Directive()\nexport abstract class BaseDirective implements OnInit, AfterViewInit, AfterContentInit, OnDestroy, OnChanges {\n protected readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n ngAfterContentInit(): void {\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngAfterContentInit');\n console.log(this);\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log(changes);\n }\n ngOnInit(): void {\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngOnInit');\n console.log(this);\n }\n ngAfterViewInit(): void {\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngAfterViewInit');\n console.log(this);\n }\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n if (!BarsaApi.Common.Debug?.Data?.CustomUi) {\n return;\n }\n console.log('ngOnDestroy');\n console.log(this);\n }\n}\n","import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { BaseDirective } from './base.directive';\n\nimport { PortalService } from '../services/portal.service';\n\n@Directive({\n selector: '[attrRtl]'\n})\nexport class AttrRtlDirective extends BaseDirective {\n @Input('attrRtl') rtl: boolean | undefined;\n constructor(private _renderer2: Renderer2, private _el: ElementRef, _portalService: PortalService) {\n super();\n const rtl = this.rtl;\n if (rtl === false) {\n this._setRtlAttribute(rtl);\n return;\n }\n _portalService.rtl$.pipe(takeUntil(this._onDestroy$)).subscribe((rtlValue) => {\n this._setRtlAttribute(rtlValue);\n });\n }\n\n private _setRtlAttribute(rtl: boolean): void {\n this._renderer2.setAttribute(this._el.nativeElement, 'rtl', `${rtl}`);\n }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\r\nimport { BaseDirective } from './base.directive';\r\n\r\n@Directive({\r\n selector: '[columnResizer]'\r\n})\r\nexport class ColumnResizerDirective extends BaseDirective implements OnInit {\r\n @Input() disableResizer: boolean;\r\n constructor(private el: ElementRef, private renderer: Renderer2) {\r\n super();\r\n }\r\n ngOnInit(): void {\r\n super.ngOnInit();\r\n if (!this.disableResizer) {\r\n this._addColumnsResizer();\r\n }\r\n }\r\n\r\n private _addColumnsResizer(): void {\r\n const cell: HTMLTableCellElement = this.el.nativeElement;\r\n if (cell.hasAttribute('NoResizable')) {\r\n return;\r\n }\r\n const columnResizer = this.renderer.createElement('div');\r\n\r\n this.renderer.appendChild(cell, columnResizer);\r\n columnResizer.setAttribute('class', 'column-resizer');\r\n this.renderer.setAttribute(\r\n columnResizer,\r\n 'style',\r\n 'cursor: col-resize; width: 8px;position: absolute;left:0; top:0; bottom:0'\r\n );\r\n this.renderer.setStyle(cell, 'padding-left', 0);\r\n this.renderer.setStyle(cell, 'position', 'relative');\r\n }\r\n}\r\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { BarsaApi, MetaobjectDataModel } from '../abstract-classes';\n\n@Directive({\n selector: '[dynCommand]'\n})\nexport class DynamicCommandDirective {\n @Input() dynCommand: MetaobjectDataModel;\n @Input() mo: MetaobjectDataModel;\n @Input() enableCommand;\n @Output() commandClick = new EventEmitter();\n @HostListener('click', ['$event'])\n onClick(event: any): boolean {\n if (typeof this.enableCommand === typeof undefined) {\n this.enableCommand = true;\n }\n if (!this.enableCommand) {\n return true;\n }\n const command = this.dynCommand;\n event.stopPropagation();\n event.preventDefault();\n const e = { command, DynamicSetting: this.mo };\n BarsaApi.Common.CustomCodeManager.RunDynamicCommand(command.Id, e);\n this.commandClick.emit();\n return false;\n }\n}\n","import { AfterViewInit, Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';\r\nimport { BaseDirective } from './base.directive';\r\n\r\n@Directive({\r\n selector: '[ellipsify]'\r\n})\r\nexport class EllipsifyDirective extends BaseDirective implements AfterViewInit {\r\n @Input() limitLine;\r\n childes: ElementRef[];\r\n\r\n constructor(protected el: ElementRef, protected renderer: Renderer2) {\r\n super();\r\n }\r\n @HostListener('mousemove', ['$event'])\r\n moseMove(e): void {\r\n if (e.buttons) {\r\n this._heightChange();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n setTimeout(() => {\r\n this.childes = this.el.nativeElement.querySelectorAll('span, h5, p');\r\n this._initStyle();\r\n this._handleNoEllipsis();\r\n this._heightChange();\r\n }, 100);\r\n }\r\n\r\n private _heightChange(): void {\r\n this.childes.forEach((child: any) => {\r\n if (child.childElementCount === 0) {\r\n const height = child.clientHeight;\r\n const lineHeightStr = getComputedStyle(child).lineHeight.replace('px', '');\r\n const lineHeight = Number(lineHeightStr);\r\n let limitLine = this.limitLine ? this.limitLine : Math.round(height / lineHeight);\r\n limitLine = limitLine && limitLine !== 0 ? limitLine : 1;\r\n this.renderer.setStyle(child, '-webkit-line-clamp', limitLine.toString());\r\n }\r\n });\r\n }\r\n\r\n private _initStyle(): void {\r\n this.childes.forEach((child: any) => {\r\n if (child.childElementCount === 0) {\r\n this.renderer.setStyle(child, 'height', 'inherit');\r\n this.renderer.setStyle(child, 'overflow', 'hidden');\r\n this.renderer.setStyle(child, '-webkit-box-orient', 'vertical');\r\n this.renderer.setStyle(child, 'display', '-webkit-box');\r\n this.renderer.setStyle(child, 'width', 'fit-content');\r\n }\r\n });\r\n }\r\n\r\n private _handleNoEllipsis(): void {\r\n const noEllipsisEls = this.el.nativeElement.querySelectorAll('[ellipsis=no-ellipsis]');\r\n noEllipsisEls.forEach((el: any) => {\r\n const all = el.querySelectorAll('span, h5, p');\r\n all.forEach((el2) => {\r\n if (el2.childElementCount === 0) {\r\n this.renderer.setStyle(el2, 'white-space', 'break-spaces');\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[field]'\n})\nexport class FieldDirective {\n @Input() field: string;\n @Input() value: any;\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { fromEvent, timer, Subject, merge } from 'rxjs';\nimport { debounceTime, filter, takeUntil, tap } from 'rxjs/operators';\n\nimport { BaseDirective } from './base.directive';\nimport { PortalService } from '../services/portal.service';\n\n@Directive({\n selector: '[imgLazy]'\n})\nexport class ImageLazyDirective extends BaseDirective implements OnInit {\n @Input() auto = true;\n @Input() threshold = 20;\n @Output() imageLoaded = new EventEmitter();\n @Input() imgLazy: string;\n private _imgEl: HTMLImageElement;\n private _imageViewed$ = new Subject<void>();\n constructor(private elementRef: ElementRef, private portalService: PortalService) {\n super();\n this._imgEl = this.elementRef.nativeElement as HTMLImageElement;\n }\n ngOnInit(): void {\n super.ngOnInit();\n const supports = 'loading' in HTMLImageElement.prototype;\n\n if (supports) {\n this._imgEl.src = this.imgLazy;\n this._imgEl.setAttribute('loading', 'lazy');\n return;\n }\n const timer1 = timer(1000);\n if (this.auto) {\n const isCached = this.portalService.cachedImages[this.imgLazy];\n if (isCached) {\n this._imgEl.src = this.imgLazy;\n return;\n }\n merge([timer1, fromEvent(window, 'scroll')])\n .pipe(\n takeUntil(this._imageViewed$),\n takeUntil(this._onDestroy$),\n debounceTime(20),\n filter(() => this.isInViewport()),\n tap(() => this.showImage())\n )\n .subscribe();\n }\n }\n public showImage(): void {\n if (this.imgLazy === this._imgEl.src) {\n return;\n }\n const imgEl = this._imgEl;\n imgEl.src = this.imgLazy;\n\n this.portalService.cachedImages[this.imgLazy] = true;\n imgEl.addEventListener('load', () => {\n this.imageLoaded.emit();\n });\n this._imageViewed$.next();\n }\n private isInViewport(): boolean {\n const rect = this._imgEl.getBoundingClientRect();\n const isInViewport =\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom - this.threshold <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth);\n return isInViewport;\n }\n}\n","import { Observable, Subject } from 'rxjs';\r\nimport { debounceTime, filter } from 'rxjs/operators';\r\n\r\nexport enum IntersectionStatus {\r\n Visible = 'Visible',\r\n Pending = 'Pending',\r\n NotVisible = 'NotVisible'\r\n}\r\n/* eslint-disable */\r\nexport const fromIntersectionObserver = (element: HTMLElement, config: IntersectionObserverInit, debounce = 0) =>\r\n new Observable<IntersectionStatus>((subscriber) => {\r\n const subject$ = new Subject<{\r\n entry: IntersectionObserverEntry;\r\n observer: IntersectionObserver;\r\n }>();\r\n\r\n const intersectionObserver = new IntersectionObserver((entries, observer) => {\r\n entries.forEach((entry) => {\r\n if (isIntersecting(entry)) {\r\n subject$.next({ entry, observer });\r\n }\r\n });\r\n }, config);\r\n\r\n subject$.subscribe(() => {\r\n subscriber.next(IntersectionStatus.Pending);\r\n });\r\n\r\n subject$.pipe(debounceTime(debounce), filter(Boolean)).subscribe(async (x: any) => {\r\n const { entry, observer } = x;\r\n const isEntryVisible = await isVisible(entry.target as HTMLElement);\r\n\r\n if (isEntryVisible) {\r\n subscriber.next(IntersectionStatus.Visible);\r\n observer.unobserve(entry.target);\r\n } else {\r\n subscriber.next(IntersectionStatus.NotVisible);\r\n }\r\n });\r\n\r\n intersectionObserver.observe(element);\r\n\r\n return {\r\n unsubscribe(): void {\r\n intersectionObserver.disconnect();\r\n subject$.unsubscribe();\r\n }\r\n };\r\n });\r\n\r\nasync function isVisible(element: HTMLElement): Promise<boolean> {\r\n return new Promise((resolve) => {\r\n const observer = new IntersectionObserver(([entry]) => {\r\n resolve(entry.isIntersecting);\r\n observer.disconnect();\r\n });\r\n\r\n observer.observe(element);\r\n });\r\n}\r\n\r\nfunction isIntersecting(entry: IntersectionObserverEntry): boolean {\r\n return entry.isIntersecting || entry.intersectionRatio > 0;\r\n}\r\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, OnDestroy, Output } from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { fromIntersectionObserver, IntersectionStatus } from '../from-intersection-observer';\n\n@Directive({\n selector: '[intersectionObserver]'\n})\nexport class IntersectionObserverDirective implements OnInit, OnDestroy {\n @Input() intersectionDebounce = 0;\n @Input() intersectionRootMargin = '0px';\n @Input() intersectionRoot: HTMLElement;\n @Input() intersectionThreshold: number | number[];\n\n @Output() visibilityChange = new EventEmitter<IntersectionStatus>();\n\n private destroy$ = new Subject<void>();\n\n constructor(private element: ElementRef) {}\n\n ngOnInit(): void {\n const element = this.element.nativeElement;\n const config = {\n root: this.intersectionRoot,\n rootMargin: this.intersectionRootMargin,\n threshold: this.intersectionThreshold\n };\n\n fromIntersectionObserver(element, config, this.intersectionDebounce)\n .pipe(takeUntil(this.destroy$))\n .subscribe((status) => {\n this.visibilityChange.emit(status);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n }\n}\n","import { Directive, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\n\nimport { MetaobjectDataModel } from '../abstract-classes/models';\nimport { BaseDirective } from './base.directive';\n\n@Directive({\n selector: '[itemsRenderer]'\n})\nexport class ItemsRendererDirective extends BaseDirective implements OnInit {\n @Input() itemsRenderer: any;\n @Input() moDataList: MetaobjectDataModel[];\n @Input() itemClass: string;\n @Output() itemClick = new EventEmitter();\n @Input() handleClick = false;\n private _fragmentDoc: DocumentFragment;\n constructor(public el: ElementRef) {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n const context = this.itemsRenderer.context;\n const { itemSelector } = this.itemsRenderer;\n const fragmentDoc = document.createDocumentFragment();\n if (!this.moDataList) {\n this.moDataList = this.itemsRenderer.moDataList;\n }\n\n this.moDataList.forEach((mo, index) => {\n const itemComponentElement = document.createElement(itemSelector);\n itemComponentElement.addEventListener('itemClick', (e) => {\n if (this.handleClick) {\n this.itemClick.emit(e.detail);\n } else {\n mo.$IsChecked = true;\n context?.fireEvent('rowdblclick', context, index, mo);\n }\n });\n itemComponentElement.context = context;\n itemComponentElement.mo = mo;\n itemComponentElement.index = index;\n itemComponentElement.classNames = this.itemClass;\n itemComponentElement.allColumns = this.itemsRenderer.allColumns;\n fragmentDoc.appendChild(itemComponentElement);\n });\n this.el.nativeElement.appendChild(fragmentDoc);\n this._fragmentDoc = fragmentDoc;\n }\n}\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n selector: 'input[type=number], input[numbersOnly]'\n})\nexport class NumbersOnlyInputDirective {\n constructor(private elRef: ElementRef) {}\n\n @HostListener('input', ['$event']) onInputChange(event): void {\n const initalValue = this.elRef.nativeElement.value;\n this.elRef.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\n if (initalValue !== this.elRef.nativeElement.value) {\n event.stopPropagation();\n }\n }\n}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[placeHolder]'\n})\nexport class PlaceHolderDirective {\n @Input() placeHolder: string;\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n Injector,\n Input,\n OnDestroy,\n ViewContainerRef\n} from '@angular/core';\nimport { delay, takeUntil, tap } from 'rxjs/operators';\nimport { BarsaApi } from '../abstract-classes';\n\nimport { BaseDirective } from './base.directive';\nimport { getComponentDefined, getUniqueId } from '../constants';\nimport { PortalService } from '../services/portal.service';\n\n@Directive({\n selector: '[renderUlvViewer]'\n})\nexport class RenderUlvViewerDirective extends BaseDirective implements AfterViewInit, OnDestroy {\n @Input() mask: boolean;\n @Input('renderUlvViewer') viewer;\n component: ComponentRef<any>;\n constructor(\n private _injector: Injector,\n private _portalService: PortalService,\n private _vcr: ViewContainerRef,\n private _cdr: ChangeDetectorRef\n ) {\n super();\n }\n ngAfterViewInit(): void {\n super.ngAfterViewInit();\n this._render();\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this.component) {\n this.component.destroy();\n }\n }\n _render(): void {\n const context = this.viewer;\n if (context) {\n const customUiSetting = BarsaApi.Common.Util.TryGetValue(context.Setting, 'ClassNames.CustomUi', null);\n const { moduleName, modulePath, componentName, selector } = getComponentDefined(context, customUiSetting);\n this._portalService\n .getComponent(moduleName, modulePath, componentName, selector, this._injector)\n .pipe(\n takeUntil(this._onDestroy$),\n delay(0),\n tap((component) => {\n component.instance.id = getUniqueId(4);\n component.instance.context = context;\n // component.instance.moDataList=BarsaApi.Common.Util.TryGetValue(context,'moDataList',[]);\n context.controlUi = component.instance;\n // context.viewer = component.instance;\n this.component = component;\n this._vcr.insert(component.hostView);\n this._cdr.detectChanges();\n })\n )\n .subscribe();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n ViewContainerRef\n} from '@angular/core';\nimport { delay, takeUntil, tap } from 'rxjs/operators';\n\nimport { BaseDirective } from './base.directive';\nimport { getComponentDefined, getUniqueId } from '../constants';\nimport { PortalService } from '../services/portal.service';\nimport { BarsaApi } from '../abstract-classes';\n\n@Directive({\n selector: '[renderUlvPaging]'\n})\nexport class RenderUlvPaginDirective extends BaseDirective implements OnInit, OnDestroy {\n @Input() mask: boolean;\n @Input('renderUlvPaging') context;\n component: ComponentRef<any>;\n constructor(\n private _injector: Injector,\n private _portalService: PortalService,\n private _vcr: ViewContainerRef,\n private _cdr: ChangeDetectorRef\n ) {\n super();\n }\n async ngOnInit(): Promise<void> {\n super.ngOnInit();\n this._render();\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n this.component.destroy();\n }\n async _render(): Promise<void> {\n const context = this.context;\n if (context) {\n const customUiSetting = BarsaApi.Common.Util.TryGetValue(context.Setting, 'ClassNames.CustomUi', null);\n const {\n moduleName,\n modulePath\n // componentName,\n // selector\n } = getComponentDefined(context, customUiSetting);\n\n this._portalService\n .getComponent(moduleName, modulePath, 'UlvPaging', 'bsu-ulv-paging', this._injector)\n .pipe(\n takeUntil(this._onDestroy$),\n delay(0),\n tap((component) => {\n component.instance.id = getUniqueId(4);\n component.instance.context = context;\n this.component = component;\n this._vcr.insert(component.hostView);\n this._cdr.detectChanges();\n })\n )\n .subscribe();\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n HostListener,\n SimpleChanges,\n OnInit,\n OnDestroy,\n AfterViewInit,\n OnChanges,\n EventEmitter,\n Output\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ColumnResizedArgs } from '../abstract-classes';\nimport { BaseDirective } from './base.directive';\nconst enum Resizer {\n Row = 'Row',\n Column = 'Column'\n}\n\n@Directive({\n selector: '[tableResizer]'\n})\nexport class TableResizerDirective extends BaseDirective implements OnInit, OnDestroy, AfterViewInit, OnChanges {\n @Input() fitWidth: boolean;\n @Input() minWidth;\n @Input() minHeight;\n @Input() containerWidth: number;\n @Input() rowResizer: boolean;\n @Input() enableResizing: boolean;\n @Output() columnResized = new EventEmitter<Array<ColumnResizedArgs>>();\n private _currentCell: HTMLTableCellElement;\n private _sideCell;\n private _startX;\n private _startY;\n private _currentColumnWidth;\n private _sideColumnWidth;\n private _currentRowHeight;\n private _currentResizer: Resizer | null;\n private _isInitTable: boolean;\n constructor(private el: ElementRef, private renderer: Renderer2) {\n super();\n fromEvent(document, 'mouseup')\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => {\n this._mouseUp();\n });\n fromEvent(document, 'mousemove')\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((e) => {\n this._mouseMove(e);\n });\n }\n private get _table(): HTMLTableElement {\n return this.el.nativeElement as HTMLTableElement;\n }\n\n @HostListener('mousedown', ['$event'])\n moseDown(e): void {\n this._mouseDown(e);\n }\n\n @HostListener('mousemove', ['$event'])\n moseMove(e): void {\n this._mouseMove(e);\n }\n\n ngAfterViewInit(): void {\n if (this.rowResizer) {\n this._putBodyCellsContentIntoDiv();\n }\n if (this.rowResizer) {\n this._addRowsResizer();\n }\n this._setTableMode(this.fitWidth);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n const { fitWidth } = changes;\n if (this.enableResizing && fitWidth && !fitWidth.firstChange) {\n const newFitWidth = fitWidth.currentValue;\n this._setTableMode(newFitWidth);\n }\n }\n private _initializeTable(): void {\n this._initTable();\n this._setTableMode(this.fitWidth);\n }\n private _resizeRow(event): void {\n this._currentResizer = Resizer.Row;\n const elementFromPoint = document.elementFromPoint(event.pageX, event.pageY);\n this._currentCell = elementFromPoint?.closest('td') as HTMLTableCellElement;\n this._startY = event.pageY;\n this._currentRowHeight = this._currentCell?.clientHeight || 0;\n }\n\n private _resizeColumn(event): void {\n if (!this.fitWidth) {\n this._setTableFreeSize();\n }\n this._currentResizer = Resizer.Column;\n const elementFromPoint = document.elementFromPoint(event.pageX, event.pageY);\n this._currentCell = elementFromPoint?.closest('th') as HTMLTableCellElement;\n this._startX = event.pageX;\n this._currentColumnWidth = this._currentCell?.clientWidth || 0;\n this._sideCell = this._getSideCell(this._currentCell);\n this._sideColumnWidth = this._sideCell?.clientWidth;\n }\n\n private _addRowsResizer(): void {\n const table = this._table;\n const rowsLabel = table.querySelectorAll('.vertical-label');\n rowsLabel.forEach((cell) => {\n const rowResizer = this.renderer.createElement('div');\n\n this.renderer.appendChild(cell, rowResizer);\n\n rowResizer.setAttribute('class', 'row-resizer');\n this.renderer.setStyle(cell, 'height', 'inherit');\n this.renderer.setStyle(cell, 'position', 'relative');\n this.renderer.setAttribute(\n rowResizer,\n 'style',\n 'cursor: row-resize; height:8px; position:absolute;bottom:0;left:0;right:0'\n );\n });\n }\n\n private _putBodyCellsContentIntoDiv(): void {\n const table = this._table as any;\n const bodyCells = table.querySelectorAll('body td:not(.vertical-label)');\n bodyCells.forEach((cell) => {\n const contentContainer = this.renderer.createElement('div');\n cell.children.forEach((child) => {\n contentContainer.appendChild(child);\n });\n this.renderer.setStyle(cell, 'overflow', 'hidden');\n this.renderer.setStyle(cell, 'height', 'inherit');\n this.renderer.setStyle(contentContainer, 'height', 'inherit');\n this.renderer.setStyle(contentContainer, 'display', 'block');\n\n cell.appendChild(contentContainer);\n });\n }\n\n private _getSideCell(currentCell): Element | null {\n const currentRow = this._currentCell.parentNode?.children;\n if (currentRow) {\n const cellIndexInRow = Array.from(currentRow).indexOf(currentCell);\n return Array.from(currentRow)[cellIndexInRow + 1];\n }\n return null;\n }\n\n private _changeWidth(\n fitWidth: boolean,\n sideCell,\n currentCell,\n changedCurrentCellWidth,\n changedSideCellWidth\n ): void {\n if (fitWidth) {\n if (sideCell && changedCurrentCellWidth >= this.minWidth && changedSideCellWidth >= this.minWidth) {\n this.renderer.setStyle(sideCell, 'width', changedSideCellWidth + 'px');\n this.renderer.setStyle(sideCell, 'min-width', changedSideCellWidth + 'px');\n this.renderer.setStyle(currentCell, 'width', changedCurrentCellWidth + 'px');\n this.renderer.setStyle(currentCell, 'min-width', changedCurrentCellWidth + 'px');\n }\n } else if (changedCurrentCellWidth >= this.minWidth) {\n this.renderer.setStyle(currentCell, 'width', changedCurrentCellWidth + 'px');\n this.renderer.setStyle(currentCell, 'min-width', changedCurrentCellWidth + 'px');\n }\n }\n\n private _changeHeight(currentCell, changedHeight, minHeight): void {\n if (changedHeight > minHeight) {\n this.renderer.setStyle(currentCell.closest('tr'), 'height', changedHeight + 'px');\n }\n }\n private _initTable(): void {\n if (this._isInitTable) {\n return;\n }\n this._isInitTable = true;\n const table: HTMLTableElement = this._table;\n const parent = table.parentElement;\n this.renderer.setStyle(parent, 'overflow-x', this.fitWidth ? 'hidden' : 'auto');\n // this.renderer.setStyle(parent, 'overflow-y', 'auto');\n this.renderer.setStyle(parent, 'width', '100%');\n }\n\n private _setTableMode(isFitWidth): void {\n if (isFitWidth) {\n this._setTableFitSize();\n }\n }\n\n private _setTableFreeSize(): void {\n const table = this._table;\n this.renderer.setStyle(table, 'width', this.containerWidth + 'px');\n this.renderer.setStyle(table, 'max-width', 'unset');\n this.renderer.setStyle(table, 'min-width', this.containerWidth + 'px');\n const headCells = table.querySelectorAll('th');\n headCells.forEach((cell) => {\n const width = cell.offsetWidth;\n this.renderer.setStyle(cell, 'width', width + 'px');\n this.renderer.setStyle(cell, 'min-width', width + 'px');\n });\n }\n\n private _setTableFitSize(): void {\n const table = this._table;\n this.renderer.setStyle(table, 'width', '100%');\n this.renderer.setStyle(table, 'max-width', '100%');\n }\n\n private _mouseDown(e): void {\n if (e.srcElement.className === 'row-resizer') {\n this._resizeRow(e);\n this.renderer.setStyle(this.el.nativeElement, 'cursor', 'row-resize');\n } else if (e.srcElement.className === 'column-resizer') {\n this._resizeColumn(e);\n this.renderer.setStyle(this.el.nativeElement, 'cursor', 'col-resize');\n }\n }\n\n private _mouseMove(e): void {\n if (e.buttons !== 0) {\n if (this._currentResizer === Resizer.Column) {\n if (!this._isInitTable) {\n this._initializeTable();\n }\n const endX = e.pageX;\n const dx = endX - this._startX;\n const changedCurrentCellWidth = this._currentColumnWidth - dx;\n const changedSideCellWidth = this._sideColumnWidth + dx;\n this._changeWidth(\n this.fitWidth,\n this._sideCell,\n this._currentCell,\n changedCurrentCellWidth,\n changedSideCellWidth\n );\n } else if (this._currentResizer === Resizer.Row) {\n const endY = e.pageY;\n const dy = endY - this._startY;\n const changedCurrentRowHeight = this._currentRowHeight + dy;\n this._changeHeight(this._currentCell, changedCurrentRowHeight, this.minHeight);\n }\n }\n }\n\n private _mouseUp(): void {\n if (this._currentResizer) {\n const table = this.el.nativeElement;\n const headers = table.querySelectorAll('th');\n const columnResized: ColumnResizedArgs[] = [];\n for (let i = 0; i < headers.length; i++) {\n const header = headers[i];\n const columnName = header.attributes['columnname']?.value;\n if (typeof columnName !== 'undefined') {\n columnResized.push({ name: columnName, width: header.offsetWidth });\n }\n }\n this.columnResized.emit(columnResized);\n }\n this._currentResizer = null;\n this.renderer.setStyle(this.el.nativeElement, 'cursor', 'default');\n }\n}\n","import { Directive, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { BaseDirective } from './base.directive';\n\n@Directive({\n selector: '[ulvCommandHandler]'\n})\nexport class UlvCommandDirective extends BaseDirective {\n @Input() ulvCommandHandler: any;\n @Output() commandClick = new EventEmitter();\n constructor() {\n super();\n }\n @HostListener('click', ['$event'])\n onClick(event: any): boolean {\n const button = this.ulvCommandHandler;\n event.stopPropagation();\n event.preventDefault();\n this.commandClick.emit(button);\n setTimeout(() => {\n // add settimeout because we need select row before execute row\n if (button.Command && button.Command.Handler) {\n button.Command.Handler(button);\n } else if (button.handler) {\n button.handler.bind(button.scope)(button);\n }\n });\n\n return false;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { BaseDirective } from './base.directive';\nimport { fromIntersectionObserver } from '../from-intersection-observer';\n\n@Directive({\n selector: '[untilInView]'\n})\nexport class UntilInViewDirective extends BaseDirective implements OnInit, OnDestroy {\n @Input() untilInView: ElementRef;\n @Input() intersectionDebounce = 100;\n private viewed$ = new Subject<void>();\n constructor(\n private _templateRef: TemplateRef<any>,\n private _vcr: ViewContainerRef,\n private _cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n public viewed(): void {\n this.viewed$.next();\n this._vcr.createEmbeddedView(this._templateRef);\n this._cdr.detectChanges();\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n const element = this.untilInView.nativeElement;\n const config = {\n root: null,\n rootMargin: '0px',\n threshold: 0\n };\n fromIntersectionObserver(element, config, this.intersectionDebounce)\n .pipe(takeUntil(this.viewed$), takeUntil(this._onDestroy$))\n .subscribe(() => {\n this.viewed();\n });\n }\n\n ngOnDestroy(): void {\n this._onDestroy$.next();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\nimport { Observable } from 'rxjs';\n\nimport { PageDataModel } from '../abstract-classes';\nimport { PortalService } from '../services/portal.service';\n\n@Injectable({ providedIn: 'root' })\nexport class PortalDynamicPageResolver implements Resolve<PageDataModel | null> {\n constructor(private portalService: PortalService) {}\n\n resolve(\n route: ActivatedRouteSnapshot\n // state: RouterStateSnapshot\n ): Observable<PageDataModel | null> {\n // const url = decodeURI(route['_routerState'].url);\n // let url2=route.routeConfig?.path;\n // if(route.params.path)\n // url2=route.params.path;\n\n // if(route.url.length==0)\n // return of(null);\n // if(route.routeConfig?.path=='')\n // {\n // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';\n // }\n // else if(url2=='**'){\n // url2=route.url[0].path;\n // }\n // url2 = '/' + url2;\n // const url=route.params.path;\n const _route: any = route;\n let pageData = route.data?.pageData;\n // if (!pageData && url) {\n // pageData = this.portalService.pages.find((c) => c.Route == '/' + url);\n // }\n const urlSegments = _route._urlSegment.segments;\n const lastUrlSegment = urlSegments[urlSegments.length - 1];\n if (urlSegments.length === 1) {\n pageData = this.portalService.pages.find(\n (c) => c.ParentRoute === '/' + lastUrlSegment.path && c.IsDefaultRoute\n );\n } else {\n pageData = this.portalService.pages.find((c) => c.Route === '/' + lastUrlSegment.path);\n }\n\n // }\n return this.portalService.resolveData(pageData);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\n@Injectable({ providedIn: 'root' })\nexport class PortalFormPageResolver implements Resolve<string> {\n constructor() {}\n resolve(\n route: ActivatedRouteSnapshot\n // state: RouterStateSnapshot\n ): string {\n const breadcrumb = route.params.bc; // means breadCrumb\n return breadcrumb;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { PageDataModel } from '../abstract-classes';\nimport { PortalService } from '../services/portal.service';\n\n@Injectable({ providedIn: 'root' })\nexport class PortalReportPageResolver implements Resolve<PageDataModel | null> {\n constructor(private portalService: PortalService) {}\n\n resolve(\n route: ActivatedRouteSnapshot\n // state: RouterStateSnapshot\n ): Observable<PageDataModel | null> {\n // const url = decodeURI(route['_routerState'].url);\n // let url2=route.routeConfig?.path;\n // if(route.routeConfig?.path=='')\n // {\n // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';\n // }\n // if(url2=='**'){\n // url2=route.url[0].path;\n // }\n // url2 = '/' + url2;\n const caption = route.params.id.split('__')[1];\n return this.portalService.resolveData(route.data.pageData).pipe(\n map((pageData) => {\n if (pageData) {\n pageData.BreadCrumb = caption;\n }\n return pageData;\n })\n );\n }\n}\n","import {\n Component,\n ElementRef,\n ViewChild,\n Input,\n Output,\n EventEmitter,\n SimpleChanges,\n ViewContainerRef,\n Injector,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ComponentRef,\n OnInit,\n OnChanges,\n OnDestroy\n} from '@angular/core';\nimport { takeUntil, tap } from 'rxjs/operators';\n\nimport { getComponentDefined, getUniqueId } from '../constants';\nimport { BaseComponent } from '../base.component';\nimport { MetaobjectDataModel } from '../abstract-classes/models';\nimport { PortalService } from '../services/portal.service';\nimport { BarsaApi } from '../abstract-classes/barsa-api';\n\n@Component({\n selector: 'bnrc-form',\n template: '<ng-container #placeholder> </ng-container>',\n styleUrls: ['./form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormComponent extends BaseComponent implements OnInit, OnChanges, OnDestroy {\n @Input() params: {\n formSetting?: any;\n moId: string;\n typeDefId: string | undefined;\n reportId?: string;\n viewId?: string | undefined;\n inDialog?: boolean;\n };\n @Input() customFormPanelUi;\n @Input() formPanelCtrl;\n @Input() formPanelCtrlId: string;\n @Output() titleChanged = new EventEmitter<string>();\n @Output() moChanged = new EventEmitter<MetaobjectDataModel>();\n @Output() formClose = new EventEmitter();\n @Output() formRendered = new EventEmitter();\n @ViewChild('placeholder', { read: ViewContainerRef, static: true })\n vcr: ViewContainerRef;\n uniqueId: string;\n uiFormComponent: ComponentRef<any>;\n constructor(\n private portalService: PortalService,\n private injector: Injector,\n private cdr: ChangeDetectorRef,\n el: ElementRef\n ) {\n super();\n el.nativeElement.id = this.uniqueId = getUniqueId(4);\n }\n ngOnInit(): void {\n super.ngOnInit();\n if (this.formPanelCtrlId && !this.formPanelCtrl) {\n this.formPanelCtrl = this.portalService.formPanels[this.formPanelCtrlId];\n }\n this.appendForm(this.params);\n }\n ngOnChanges(changes: SimpleChanges): void {\n super.ngOnChanges(changes);\n if (changes.params && !changes.params.firstChange) {\n const params = changes.params;\n const currVal = JSON.stringify(params.currentValue);\n const prevVal = JSON.stringify(params.previousValue);\n if (currVal !== prevVal) {\n // this.uiFormComponent.instance.formPanelService.destroy();\n this.vcr.clear();\n this.appendForm(currVal);\n }\n }\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this.uiFormComponent) {\n this.uiFormComponent.destroy();\n }\n }\n appendForm(params): void {\n if (this.formPanelCtrl || this.customFormPanelUi) {\n const customFromPanelUi = this.customFormPanelUi || this.formPanelCtrl.Adapter.Control;\n this._renderFormPanelUi(customFromPanelUi);\n return;\n }\n\n const { formSetting, moId, typeDefId, reportId, viewId } = params;\n let options: any = null;\n if (formSetting) {\n options = {\n Mo: formSetting.Data.Mo,\n TypeDefId: formSetting.Data.Mo.$TypeDefId\n };\n } else if (moId && (typeDefId || reportId)) {\n options = {\n MoId: moId,\n MoContext: {\n ReportId: reportId,\n ViewId: viewId\n },\n TypeDefId: typeDefId,\n ReportId: reportId\n };\n }\n const frmParam = new BarsaApi.Ul.FormRequestParams(options);\n const formpanelCtrlr = new BarsaApi.Ul.FormPanelCtrlr({\n FormRequestParams: frmParam\n });\n formpanelCtrlr.inDialog = this.params.inDialog;\n formpanelCtrlr.Setting = formSetting;\n this.formPanelCtrl = formpanelCtrlr;\n this.portalService.formPanels[this.formPanelCtrlId] = formpanelCtrlr;\n BarsaApi.Common.Async.Waterfall(\n 'Ul.SystemContainerCtrlr.CreateFormPanel',\n [\n formpanelCtrlr.LoadAndCreate.bind(formpanelCtrlr, frmParam, false, formSetting ? false : true),\n (doReturn0) => {\n this._renderFormPanelUi(formpanelCtrlr.Adapter.Control);\n doReturn0();\n }\n ],\n (err, result) => {\n // me.UnmaskPage(),\n if (err) {\n console.error(err);\n }\n BarsaApi.Common.Async.Finalize(err, result);\n }\n );\n }\n\n private async _renderFormPanelUi(customFormPanelUi: any): Promise<void> {\n const customUiSetting = BarsaApi.Common.Util.TryGetValue(customFormPanelUi.Setting, 'View.CustomUi', null);\n const { moduleName, modulePath, componentName, selector } = getComponentDefined(\n customFormPanelUi,\n customUiSetting\n );\n this.portalService\n .getComponent(moduleName, modulePath, componentName, selector, this.injector)\n .pipe(\n takeUntil(this._onDestroy$),\n tap((component) => {\n const componentInstance = component.instance;\n componentInstance.FormPanelCtrlr = this.formPanelCtrl;\n componentInstance.context = customFormPanelUi;\n componentInstance.toolbar = customFormPanelUi.toolbar;\n componentInstance.setting = customFormPanelUi.Setting;\n componentInstance.title = customFormPanelUi.title;\n componentInstance.groupVisibility = customFormPanelUi.groupVisibility;\n this.vcr.insert(component.hostView);\n componentInstance.mo$.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {\n this.moChanged.emit(mo);\n });\n componentInstance.title$.pipe(takeUntil(this._onDestroy$)).subscribe((title) => {\n this.titleChanged.emit(title);\n });\n componentInstance.forceClose$.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this.formClose.emit();\n });\n // component.instance.addEventListener('formClose', this.close);\n // el.appendChild(htmlElement);\n this.formRendered.emit(customFormPanelUi);\n })\n )\n .subscribe((component) => {\n this.uiFormComponent = component;\n this.cdr.detectChanges();\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { MetaobjectDataModel } from '../abstract-classes/models';\nimport { BaseComponent } from '../base.component';\nimport { getUniqueId } from '../constants';\n\ninterface FormNewSetting {\n MetaTypeDef: MetaobjectDataModel;\n MetaView: MetaobjectDataModel;\n DisableGenerateId: boolean;\n}\n@Component({\n selector: 'bnrc-form-new',\n template: '<bnrc-form [params]=\"params\"></bnrc-form>',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FormNewComponent extends BaseComponent implements OnInit {\n @Input() settings: FormNewSetting;\n newId: string;\n params: { moId: string; typeDefId: string; viewId: string };\n constructor() {\n super();\n }\n ngOnInit(): void {\n super.ngOnInit();\n const moId = this.settings.DisableGenerateId ? '0' : getUniqueId(4);\n const typeDefId = this.settings?.MetaTypeDef?.Id;\n const viewId = this.settings?.MetaView?.Id;\n this.params = { moId, typeDefId, viewId };\n }\n}\n","import { ChangeDetectionStrategy, Component, Injector, Input, OnInit, ViewContainerRef } from '@angular/core';\nimport { Observable, Subject, throwError } from 'rxjs';\nimport { catchError, debounceTime, finalize, takeUntil } from 'rxjs/operators';\n\nimport { MetaobjectDataModel } from '../abstract-classes/models';\nimport { BaseComponent } from '../base.component';\nimport { PortalService } from '../services/portal.service';\ninterface ReportSetting extends MetaobjectDataModel {\n RelatedReport: MetaobjectDataModel;\n RowClick: string;\n DataOnly: boolean;\n}\n@Component({\n selector: 'bnrc-report-container',\n templateUrl: './report-container.component.html',\n styleUrls: ['./report-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ReportContainerComponent extends BaseComponent implements OnInit {\n @Input() settings: ReportSetting;\n loading$: Observable<boolean>;\n private _loadingSource = new Subject<boolean>();\n constructor(private portalService: PortalService, private injector: Injector, private vcr: ViewContainerRef) {\n super();\n this.loading$ = this._loadingSource.asObservable().pipe(takeUntil(this._onDestroy$), debounceTime(200));\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n let ulvParam;\n if (this.settings.DataOnly) {\n ulvParam = {\n Flags: {\n Data: 'True',\n Extra: 'False',\n Search: 'False',\n View: 'False'\n // General:\"False\", // ulvmainctrl does not craete ui control raise error\n }\n };\n ulvParam.ReportId = this.settings.RelatedReport.Id;\n ulvParam.UsageEnum = 'SystemContainer';\n }\n this._loadingSource.next(true);\n this.portalService\n .renderUlvMainUi(\n {\n Id: null,\n ReportId: this.settings.RelatedReport.Id,\n UlvParams: ulvParam\n },\n this.vcr,\n this.injector\n )\n .pipe(\n takeUntil(this._onDestroy$),\n catchError((err) => throwError(err)),\n finalize(() => this._loadingSource.next(false))\n )\n .subscribe();\n }\n}\n","<bsu-mask *ngIf=\"(loading$ | async)!!\"></bsu-mask>\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ElementRef,\n HostBinding,\n Injector,\n Input,\n OnChanges,\n OnInit,\n SimpleChanges,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { mergeWith, takeUntil, tap } from 'rxjs/operators';\n\nimport { BarsaApi } from '../abstract-classes';\n\nimport { BaseComponent } from '../base.component';\nimport { getComponentDefined, getUniqueId } from '../constants';\nimport { PortalService } from '../services/portal.service';\n\n@Component({\n selector: 'bnrc-field-ui',\n template: '<ng-container #placeholder></ng-container>',\n styleUrls: ['./field-ui.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FieldUiComponent extends BaseComponent implements OnInit, OnChanges {\n @Input() isSearchPanel: boolean;\n @Input() customField: any;\n @Input() layoutInfo: any;\n @Input() inlineEdit: boolean;\n @Input() focusControl: boolean;\n @HostBinding('style.width') width = '100%';\n @ViewChild('placeholder', { read: ViewContainerRef, static: true })\n vcr: ViewContainerRef;\n uniquId: any;\n private _component: ComponentRef<any>;\n private _customFieldChange$ = new Subject<void>();\n constructor(\n el: ElementRef,\n private _portalService: PortalService,\n private _injector: Injector,\n private _cdr: ChangeDetectorRef\n ) {\n super();\n el.nativeElement.id = this.uniquId = getUniqueId(4);\n }\n async ngOnInit(): Promise<void> {\n super.ngOnInit();\n if (this.customField.originalXtype === 'Ui.CheckBox') {\n // this.width = 'auto';\n }\n // if (this.isSearchPanel) {\n // this.width = '320px';\n // }\n this.inserFieldToContainer();\n }\n async ngOnChanges(changes: SimpleChanges): Promise<void> {\n super.ngOnChanges(changes);\n const { customField } = changes;\n if (customField && !customField.firstChange && this._component) {\n this._customFieldChange$.next();\n this._setContext(this._component.instance, customField.currentValue);\n }\n }\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this._component) {\n this._component.destroy();\n }\n }\n async inserFieldToContainer(): Promise<void> {\n const customField = this.customField;\n if (!customField) {\n console.error('item does not exist.');\n return;\n }\n const customUiSetting = BarsaApi.Common.Util.TryGetValue(customField.Setting, 'CustomUi', null);\n const { moduleName, modulePath, componentName, selector } = getComponentDefined(customField, customUiSetting);\n this._portalService\n .getComponent(moduleName, modulePath, componentName, selector, this._injector)\n .pipe(\n takeUntil(this._onDestroy$),\n tap((component) => {\n const componentInstance = component.instance;\n componentInstance.id = getUniqueId(4);\n componentInstance.layoutInfo = this.layoutInfo;\n componentInstance.inlineEdit = this.inlineEdit;\n this._setContext(componentInstance, customField);\n componentInstance.focusControl = this.focusControl;\n this._component = component;\n this.vcr.insert(component.hostView);\n this._cdr.detectChanges();\n })\n )\n .subscribe();\n }\n\n private _setContext(componentInstance: any, customField: any): void {\n componentInstance.context = customField;\n componentInstance.value = customField.value;\n componentInstance.disable = customField.disable;\n componentInstance.readonly = customField.readonly;\n customField.controlUi = componentInstance;\n if (componentInstance.valueChange) {\n componentInstance.valueChange\n .pipe(\n takeUntil(this._onDestroy$.pipe(mergeWith(this._customFieldChange$)))\n // distinctUntilChanged((oldVal, newVal) => customField.value != newVal)\n )\n .subscribe((value) => {\n customField.value = value;\n customField.caption = componentInstance.caption;\n customField.fireEvent('change', value);\n });\n }\n if (componentInstance.formmatedValue) {\n componentInstance.formmatedValue\n .pipe(\n takeUntil(this._onDestroy$.pipe(mergeWith(this._customFieldChange$)))\n // distinctUntilChanged((oldVal, newVal) => customField.value != newVal)\n )\n .subscribe((formmatedValue) => {\n customField.formmatedValue = formmatedValue; // this event call from number base\n });\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';\n\nimport { GridSetting, ReportViewColumn, SortSetting } from './abstract-classes';\nimport { BarsaApi } from './abstract-classes/barsa-api';\nimport { BaseComponent } from './base.component';\nimport { getGridSettings, GetAllColumnsSorted } from './constants';\n\n@Component({\n selector: 'bnrc-base-ulv-setting',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport abstract class BaseUlvSettingComponent extends BaseComponent implements OnInit {\n context: any;\n originalSetting: any;\n allColumns: ReportViewColumn[];\n sortSettings: SortSetting[];\n\n ngOnInit(): void {\n super.ngOnInit();\n this.originalSetting = BarsaApi.Common.Util.TryGetValue(this.context, 'Setting.View.GridSetting', null);\n this.allColumns = GetAllColumnsSorted(this.context);\n\n this.sortSettings = BarsaApi.Common.Util.TryGetValue(\n this.context,\n 'Setting.View.GridSetting.SortSettingList',\n []\n );\n }\n\n onCancelSettings(): void {\n this.close(null);\n }\n onOkClick(): void {\n const setting = this.getSettings();\n this.close(setting);\n }\n onClose(): void {\n this.close(null);\n }\n protected getSettings(): GridSetting {\n return getGridSettings(this.context);\n }\n protected abstract close(setting: any): void;\n}\n","import { RouteReuseStrategy, ActivatedRouteSnapshot, DetachedRouteHandle } from '@angular/router';\r\n\r\nexport class CustomRouteReuseStategy implements RouteReuseStrategy {\r\n handlers: { [key: string]: DetachedRouteHandle } = {};\r\n\r\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\r\n return route.data.shouldReuse || false;\r\n }\r\n\r\n store(route: ActivatedRouteSnapshot, handle: Record<string, unknown>): void {\r\n if (route.data.shouldReuse && route?.routeConfig?.path) {\r\n this.handlers[route.routeConfig.path] = handle;\r\n }\r\n }\r\n\r\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\r\n if (route.routeConfig?.path) {\r\n return !!this.handlers[route.routeConfig.path];\r\n }\r\n // return !!route.routeConfig && !!this.handlers[route.routeConfig.path];\r\n return false;\r\n }\r\n\r\n retrieve(route: ActivatedRouteSnapshot): Record<string, unknown> | null {\r\n if (!route.routeConfig?.path) {\r\n return null;\r\n }\r\n return this.handlers[route.routeConfig.path];\r\n }\r\n\r\n shouldReuseRoute(\r\n future: ActivatedRouteSnapshot\r\n // curr: ActivatedRouteSnapshot\r\n ): boolean {\r\n return future.data.shouldReuse || false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { CanActivate, Router, UrlTree } from '@angular/router';\nimport { Observable, of } from 'rxjs';\nimport { map, tap, withLatestFrom } from 'rxjs/operators';\n\nimport { BarsaApi } from './abstract-classes';\nimport { PortalService } from './services/portal.service';\n\n@Injectable()\nexport class RedirectHomeGuard implements CanActivate {\n constructor(private router: Router, protected portalService: PortalService) {}\n\n canActivate(): // activatedRouteSnapshot: ActivatedRouteSnapshot,\n // state: RouterStateSnapshot\n Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n return of(!BarsaApi.LoginFormData.IsAnonymous && BarsaApi.LoginFormData.IsUserLoggedIn).pipe(\n withLatestFrom(this.portalService.portalData$),\n tap(([hasAuthorized, portalData]) => {\n if (hasAuthorized) {\n const homePage = portalData?.ChildPageList.MoDataList.find((c) => c.IsDefaultRoute);\n const homeRoute = homePage?.Route || 'home';\n this.router.navigate([homeRoute]);\n }\n }),\n map(([hasAuthorized]) => !hasAuthorized)\n );\n }\n}\n","import { Component, ViewContainerRef, HostBinding, ChangeDetectionStrategy } from '@angular/core';\nimport { BaseComponent } from '../base.component';\n\n@Component({\n selector: 'bnrc-root-page',\n templateUrl: './root-page.component.html',\n styleUrls: ['./root-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RootPageComponent extends BaseComponent {\n @HostBinding('class.page-content') _pageContent = true;\n constructor(protected viewContainerRef: ViewContainerRef) {\n super();\n }\n}\n","<router-outlet></router-outlet>\r\n<router-outlet name=\"main\"></router-outlet>\r\n","import { ComponentFactory, ComponentFactoryResolver, Type } from '@angular/core';\nimport { DynamicComponentService } from './services/dynamic-component.service';\n\nexport abstract class BaseModule {\n private selectorToFactoryMap: { [key: string]: ComponentFactory<any> } = {};\n private isInitialize = false;\n protected abstract dynamicComponents: Type<any>[]; // similar to entryComponents\n\n constructor(\n protected dcm: DynamicComponentService,\n protected componentFactoryResolver: ComponentFactoryResolver,\n protected moduleName: string\n ) {\n dcm?.addModuleWithComponents(moduleName, this);\n }\n\n public getComponentFactory(componentName: string): ComponentFactory<any> {\n if (!this.isInitialize) {\n // lazy initialisation\n this.populateRegistry();\n }\n return this.selectorToFactoryMap[componentName];\n }\n\n private populateRegistry(): void {\n this.selectorToFactoryMap = {};\n this.isInitialize = true;\n if (Array.isArray(this.dynamicComponents) && this.dynamicComponents.length > 0) {\n this.dynamicComponents.forEach((compType) => {\n const componentFactory: ComponentFactory<any> =\n this.componentFactoryResolver.resolveComponentFactory(compType);\n this.selectorToFactoryMap[componentFactory.selector] = componentFactory;\n });\n }\n }\n}\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nconst routes: Routes = [];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class BarsaNovinRayCoreRoutingModule {}\r\n","import { ErrorHandler, Injectable } from '@angular/core';\r\nimport * as _ from 'lodash';\r\n\r\n@Injectable()\r\nexport class GlobalErrorHandler implements ErrorHandler {\r\n constructor() {}\r\n handleError(error): void {\r\n // if (environment.production)\r\n {\r\n console.group();\r\n console.error('global error handler error', error);\r\n console.error('global error handler stack', _.get(error, 'stack', ''));\r\n console.groupEnd();\r\n if (error.Execute) {\r\n error.Execute();\r\n }\r\n }\r\n // IMPORTANT: Rethrow the error otherwise it gets swallowed\r\n // throw error;\r\n }\r\n}\r\n","import {\n APP_INITIALIZER,\n ComponentFactoryResolver,\n ErrorHandler,\n ModuleWithProviders,\n NgModule,\n NO_ERRORS_SCHEMA\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { FormComponent } from './form/form.component';\nimport { FieldUiComponent } from './field-ui/field-ui.component';\n\nimport { ReportContainerComponent } from './report-container/report-container.component';\nimport { AnchorScrollDirective } from './directives/anchor-scroll.directive';\nimport { BarsaNovinRayCoreRoutingModule } from './barsa-novin-ray-core-routing.module';\nimport { ModalRootComponent } from './modal-root.component';\nimport { FormNewComponent } from './form-new/form-new.component';\nimport { RootPortalComponent } from './root-portal/root-portal.component';\nimport { AuthGuard } from './auth-guard';\n\nimport {\n DynamicFormComponent,\n DynamicItemComponent,\n BaseDynamicComponent,\n DynamicFormToolbaritemComponent\n} from './dynamic-component';\nimport { RedirectHomeGuard } from './redirect-home-guard';\nimport { NotFoundComponent } from './not-found/not-found.component';\nimport { RootPageComponent } from './root-page/root-page.component';\nimport { BaseModule } from './base.module';\nimport { PortalPageComponent } from './portal-page/portal-page.component';\nimport { GlobalErrorHandler } from './global-error-handler';\n\nimport { RedirectReportNavigatorCommandComponent } from './redirect-report-navigator-command/redirect-report-navigator-command.component';\nimport { EmptyPageWithRouterAndRouterOutletComponent } from './empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component';\nimport {\n BreadcrumbService,\n UploadService,\n ApiService,\n LogService,\n BarsaDialogService,\n PortalService,\n UiService,\n LayoutService,\n DynamicComponentService,\n NetworkStatusService\n} from './services';\nimport {\n DynamicCommandDirective,\n ItemsRendererDirective,\n NumbersOnlyInputDirective,\n PlaceHolderDirective,\n RenderUlvPaginDirective,\n ImageLazyDirective,\n UntilInViewDirective,\n IntersectionObserverDirective,\n EllipsifyDirective,\n TableResizerDirective,\n ColumnResizerDirective,\n AttrRtlDirective,\n RenderUlvViewerDirective,\n UlvCommandDirective\n} from './directives';\nimport {\n NumeralPipe,\n CanUploadFilePipe,\n RemoveNewlinePipe,\n ConvertToStylePipe,\n FilterPipe,\n FilterTabPipe,\n FilterStringPipe,\n FioriIconPipe,\n SortPipe,\n GroupByPipe,\n MultipleGroupByPipe,\n MoValuePipe,\n MoReportValuePipe,\n HeaderFacetValuePipe,\n PictureFieldSourcePipe,\n TlbButtonsPipe,\n SeperatorFixPipe,\n MoReportValueConcatPipe,\n ContextMenuPipe,\n BbbTranslatePipe,\n BarsaIconDictPipe,\n FileInfoCountPipe,\n ControlUiPipe,\n VisibleValuePipe,\n DateTimeToCaptionPipe,\n FilterToolbarControlPipe,\n ListCountPipe,\n TotalSummaryPipe,\n MergeFieldsToColumnsPipe,\n FindColumnByDbNamePipe,\n FilterColumnsByDetailsPipe,\n MoInfoUlvMoListPipe\n} from './pipes';\nimport { Title } from '@angular/platform-browser';\n\nconst components = [\n FormComponent,\n FieldUiComponent,\n NotFoundComponent,\n RootPageComponent,\n RootPortalComponent,\n ReportContainerComponent,\n FormNewComponent,\n ModalRootComponent,\n PortalPageComponent,\n RedirectReportNavigatorCommandComponent,\n EmptyPageWithRouterAndRouterOutletComponent,\n DynamicItemComponent,\n DynamicFormComponent,\n BaseDynamicComponent,\n DynamicFormToolbaritemComponent\n];\nconst directives = [\n PlaceHolderDirective,\n NumbersOnlyInputDirective,\n RenderUlvViewerDirective,\n RenderUlvPaginDirective,\n AnchorScrollDirective,\n ItemsRendererDirective,\n UlvCommandDirective,\n DynamicCommandDirective,\n ImageLazyDirective,\n UntilInViewDirective,\n IntersectionObserverDirective,\n EllipsifyDirective,\n TableResizerDirective,\n ColumnResizerDirective,\n AttrRtlDirective\n];\nconst pipes = [\n NumeralPipe,\n CanUploadFilePipe,\n RemoveNewlinePipe,\n ConvertToStylePipe,\n FilterPipe,\n FilterTabPipe,\n FilterStringPipe,\n FioriIconPipe,\n SortPipe,\n GroupByPipe,\n MultipleGroupByPipe,\n MoValuePipe,\n MoReportValuePipe,\n HeaderFacetValuePipe,\n PictureFieldSourcePipe,\n TlbButtonsPipe,\n SeperatorFixPipe,\n MoReportValueConcatPipe,\n ContextMenuPipe,\n BbbTranslatePipe,\n BarsaIconDictPipe,\n FileInfoCountPipe,\n ControlUiPipe,\n VisibleValuePipe,\n DateTimeToCaptionPipe,\n FilterToolbarControlPipe,\n ListCountPipe,\n TotalSummaryPipe,\n MergeFieldsToColumnsPipe,\n FindColumnByDbNamePipe,\n FilterColumnsByDetailsPipe,\n MoInfoUlvMoListPipe\n];\n@NgModule({\n declarations: [...components, ...pipes, ...directives],\n imports: [CommonModule, HttpClientModule, BarsaNovinRayCoreRoutingModule],\n exports: [...components, ...pipes, ...directives],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class BarsaNovinRayCoreModule extends BaseModule {\n protected dynamicComponents = [...components];\n constructor(protected dcm: DynamicComponentService, protected componentFactoryResolver: ComponentFactoryResolver) {\n super(dcm, componentFactoryResolver, 'BarsaNovinRayCoreModule');\n }\n static forRoot(): ModuleWithProviders<BarsaNovinRayCoreModule> {\n return {\n ngModule: BarsaNovinRayCoreModule,\n providers: [\n ...pipes,\n UploadService,\n ApiService,\n LogService,\n BarsaDialogService,\n PortalService,\n UiService,\n LayoutService,\n DynamicComponentService,\n BreadcrumbService,\n AuthGuard,\n NetworkStatusService,\n RedirectHomeGuard,\n {\n provide: ErrorHandler,\n useClass: GlobalErrorHandler\n },\n {\n provide: APP_INITIALIZER,\n useFactory: (portalService: PortalService, titleService: Title) => () => {\n portalService.loadUserPortalSetting();\n portalService.loadPortalDataSync();\n if (portalService.portalData?.Title) {\n titleService.setTitle(portalService.portalData?.Title);\n }\n return portalService.loadSystems();\n },\n deps: [PortalService, Title],\n multi: true\n }\n ]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i1.LogService","moment","Device.isPhone","Device.isTablet","i1.PortalService","i2.PortalService","i1.DynamicComponentService","i2.ApiService","i3.LogService","i4.BarsaDialogService","i5","i1.BbbTranslatePipe","i2.VisibleValuePipe","i1.UploadService","i5.DateService","merge","i1.FormPanelService","i2.UlvMainService","i2.LayoutService","i3.BarsaDialogService","i4.ContainerService","i1.FindColumnByDbNamePipe","i1.ControlUiPipe","i2.FormPanelService","i3","takeUntil","tap","switchMap","catchError","debounceTime","i1.MoReportValuePipe","i1.FormComponent","i2"],"mappings":";;;;;;;;;;;;;;;;;;;MAaa,QAAQ,CAAA;AAEjB,IAAA,WAAW,gBAAgB,GAAA;AACvB,QAAA,OAAO,gBAAgB,CAAC;KAC3B;AACD,IAAA,WAAW,GAAG,GAAA;AACV,QAAA,OAAO,GAAG,CAAC;KACd;AACD,IAAA,WAAW,MAAM,GAAA;AACb,QAAA,OAAO,MAAM,CAAC;KACjB;AACD,IAAA,WAAW,IAAI,GAAA;AACX,QAAA,OAAO,IAAI,CAAC;KACf;AACD,IAAA,WAAW,EAAE,GAAA;AACT,QAAA,OAAO,EAAE,CAAC;KACb;AACD,IAAA,WAAW,EAAE,GAAA;AACT,QAAA,OAAO,EAAE,CAAC;KACb;AACD,IAAA,WAAW,EAAE,GAAA;AACT,QAAA,OAAO,EAAE,CAAC;KACb;AACD,IAAA,WAAW,GAAG,GAAA;AACV,QAAA,OAAO,GAAG,CAAC;KACd;AACD,IAAA,WAAW,SAAS,GAAA;AAChB,QAAA,OAAO,SAAS,CAAC;KACpB;AACD,IAAA,WAAW,WAAW,GAAA;AAClB,QAAA,OAAO,WAAW,CAAC;KACtB;AACD,IAAA,WAAW,WAAW,GAAA;AAClB,QAAA,OAAO,WAAW,CAAC;KACtB;AACD,IAAA,WAAW,aAAa,GAAA;AACpB,QAAA,OAAO,aAAa,CAAC;KACxB;;AApCM,QAAW,CAAA,WAAA,GAAG,CAAC,KAAK;;MCKT,aAAa,CAAA;AAI/B,IAAA,WAAA,GAAA;AADmB,QAAA,IAAA,CAAA,WAAW,GAAkB,IAAI,OAAO,EAAQ,CAAC;KACpD;IAChB,kBAAkB,GAAA;;AACd,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAClC,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAC9B,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACxB;IACD,QAAQ,GAAA;;AACJ,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;IACD,eAAe,GAAA;;AACX,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;IACD,WAAW,GAAA;;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5B,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;;0GAzCiB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,wGAHrB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGM,aAAa,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;0EAGY,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;ACbJ,MAAO,2CAA4C,SAAQ,aAAa,CAAA;AAC1E,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;KACX;;wIAHQ,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3C,2CAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2CAA2C,4GCRxD,+HAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDKa,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBANvD,SAAS;+BACI,+CAA+C,EAAA,eAAA,EAGxC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+HAAA,EAAA,CAAA;;;MEItC,UAAU,CAAA;AAGnB,IAAA,WAAA,CAAoB,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF1C,QAAA,IAAc,CAAA,cAAA,GAAG,CAAA,sBAAA,CAAwB,CAAC;AAC1C,QAAA,IAAU,CAAA,UAAA,GAAG,CAAA,gBAAA,CAAkB,CAAC;KACc;IAEvC,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAc,IAAI,CAAC,cAAc,CAAC,CAAC;KAChE;IACM,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAA;AACvC,QAAA,OAAO,IAAI,CACP,IAAI,CAAC,YAAY,CACb;AACI,YAAA,SAAS,EAAE;AACP,gBAAA,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE;AAC5C,aAAA;SACJ,EACD,kBAAkB,CACrB,CACJ,CAAC;KACL;IACM,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAA;AACjC,QAAA,OAAO,IAAI,CACP,IAAI,CAAC,YAAY,CACb;AACI,YAAA,SAAS,EAAE;AACP,gBAAA,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;AAC9C,aAAA;SACJ,EACD,kBAAkB,CACrB,CACJ,CAAC;KACL;IACM,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAA;QACrC,OAAO,IAAI,CAAC,iBAAiB,CACzB;AACI,YAAA,SAAS,EAAE;AACP,gBAAA,KAAK,EAAE,KAAK;gBACZ,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;AAC9C,aAAA;SACJ,EACD,kBAAkB,CACrB,CAAC;KACL;IACO,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAA;AACnC,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KAC9E;IACO,YAAY,CAAC,KAAK,EAAE,MAAM,EAAA;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAC9B,MAAM,EACN,KAAK,EACL,CAAC,CAAC,KAAI;gBACF,OAAO,CAAC,CAAC,CAAC,CAAC;AACf,aAAC,EACD,CAAC,GAAG,KAAI;gBACJ,MAAM,CAAC,GAAG,CAAC,CAAC;AAChB,aAAC,CACJ,CAAC;AACN,SAAC,CAAC,CAAC;KACN;;uGA7DQ,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAV,UAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFP,MAAM,EAAA,CAAA,CAAA;2FAET,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;MCAY,iBAAiB,CAAA;AAO1B,IAAA,WAAA,CAAoB,MAAc,EAAA;AAAd,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;;QAFjB,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAmB,EAAE,CAAC,CAAC;QAGvE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,MAAM;aACb,IAAI;;AAED,QAAA,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,aAAa,CAAC,EACjD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EACtB,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAC1C;AACA,aAAA,SAAS,CAAC,CAAC,IAAI,KAAI;;;YAGhB,MAAM,WAAW,GAAqB,EAAE,CAAC;AACzC,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;;AAGtC,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACzC,SAAC,CAAC,CAAC;KACV;IAEO,aAAa,CAAC,KAA4B,EAAE,WAA6B,EAAA;;AAC7E,QAAA,IAAI,KAAK,EAAE;;YAEP,IAAI,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,MAAI,CAAA,EAAA,GAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,0CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAA,EAAE;gBAC9E,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,MAAM,QAAQ,GAAW,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrF,IAAI,QAAQ,KAAK,EAAE,EAAE;AACjB,oBAAA,GAAG,IAAI,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE,CAAC;AACzB,iBAAA;AACD,gBAAA,MAAM,UAAU,GAAG;oBACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACzC,GAAG;oBACH,KAAK;iBACR,CAAC;AACF,gBAAA,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,aAAA;;YAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACrD,SAAA;KACJ;AAEO,IAAA,QAAQ,CAAC,IAAU,EAAA;;QAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;AAE/D,QAAA,OAAO,OAAO,UAAU,KAAK,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;KAChF;;8GArDQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFd,MAAM,EAAA,CAAA,CAAA;2FAET,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;ACMK,MAAO,kBAAmB,SAAQ,aAAa,CAAA;AAEjD,IAAA,WAAA,CACY,eAAyC,EACzC,gBAAkC,EAClC,QAAkB,EAAA;AAE1B,QAAA,KAAK,EAAE,CAAC;AAJA,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAA0B;AACzC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAClC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAG7B;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IACD,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;KACjC;IACD,eAAe,GAAA;AACX,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzF,QAAA,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5E;;+GApBQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,2EAFjB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;2FAEH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAE,CAAA;iBACf,CAAA;;;MCGY,cAAc,CAAA;AACvB,IAAA,WAAA,CACY,cAAwB,EACxB,gBAAmC,EACnC,cAA+B,EAAA;AAF/B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAU;AACxB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;AACnC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAiB;KACvC;IAGJ,GAAG,CAAC,KAAU,EAAE,aAAmB,EAAA;AAC/B,QAAA,IAAI,KAAK,KAAK,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YACjD,OAAO,IAAI,CAAC,cAAc,CAAC;AAC9B,SAAA;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAM,KAAK,EAAE,aAAa,CAAC,CAAC;KAC7D;AACJ,CAAA;MAEY,YAAY,CAAA;AAIrB,IAAA,WAAA,GAAA;;AADQ,QAAA,IAAA,CAAA,WAAW,GAAiB,IAAI,OAAO,EAAO,CAAC;QAEnD,IAAI,CAAC,YAAY,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,EAAE,CAAC;KACxD;AACD,IAAA,KAAK,CAAC,MAAY,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,SAAA;KACJ;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;KAClC;;yGAfQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;6GAAZ,YAAY,EAAA,CAAA,CAAA;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;;MAsBE,kBAAkB,CAAA;IAE3B,WAAsB,CAAA,eAAyC,EAAY,QAAkB,EAAA;AAAvE,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAA0B;AAAY,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;AAEjG,IAAA,QAAQ,CAAC,SAAoB,EAAE,OAAY,EAAE,SAA4B,EAAA;;AACrE,QAAA,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,QAAA,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AACxC,QAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,QAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAExC,QAAA,MAAM,gBAAgB,GAAG,SAAS,KAAA,IAAA,IAAT,SAAS,KAAA,KAAA,CAAA,GAAT,SAAS,GAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;AACjF,QAAA,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAErG,QAAA,qBAAqB,CAAC,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAC;AACzD,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;;AAEtB,SAAA;QACD,gBAAgB,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,CAAA,EAAA,GAAA,YAAY,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAC,MAAK;AAClD,YAAA,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;AACvC,YAAA,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,YAAA,GAAG,aAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,WAAW,EAAE,CAAC;;AAEvB,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;;QAE5C,OAAO,YAAY,CAAC,YAAY,CAAC;KACpC;;+GA9BQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFf,MAAM,EAAA,CAAA,CAAA;2FAET,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;AC/CK,MAAO,iBAAkB,SAAQ,aAAa,CAAA;;8GAAvC,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,mJCT9B,uEACA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDQa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACI,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,iGAAA,CAAA,EAAA,CAAA;8BAGtC,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;MEJG,uBAAuB,CAAA;AAMhC,IAAA,WAAA,CAAoB,GAA6B,EAAA;AAA7B,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAA0B;AALzC,QAAA,IAA4B,CAAA,4BAAA,GAIhC,EAAE,CAAC;KAC8C;IACrD,uBAAuB,CAAC,UAAkB,EAAE,WAAgB,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE;AAChD,YAAA,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,GAAG;gBAC5C,WAAW;aACd,CAAC;AACL,SAAA;KACJ;AACD,IAAA,sBAAsB,CAClB,QAAgB,EAChB,UAAkB,EAClB,QAAkB,EAAA;AAElB,QAAA,MAAM,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACzD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE;YAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC1E,YAAA,IAAI,gBAAgB,EAAE;gBAClB,OAAO,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,aAAA;AACJ,SAAA;AACD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1F,QAAA,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,QAAQ,CAAC;AAC/C,QAAA,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9C,QAAA,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;KAC3B;AACD,IAAA,kBAAkB,CACd,aAAqB,EACrB,UAAkB,EAClB,QAAkB,EAAA;AAElB,QAAA,MAAM,OAAO,GAAG,aAAa,GAAG,WAAW,CAAC;AAC5C,QAAA,MAAM,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;AACzD,QAAA,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,CAAC,mBAAmB,EAAE;YAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACzE,YAAA,IAAI,gBAAgB,EAAE;gBAClB,OAAO,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,aAAA;AACJ,SAAA;AACD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1F,QAAA,YAAY,CAAC,QAAQ,CAAC,aAAa,GAAG,aAAa,CAAC;AACpD,QAAA,YAAY,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;AAC9C,QAAA,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;KAC3B;;oHAlDQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAET,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;ACND;MAca,UAAU,CAAA;;;IAWZ,IAAI,CAAC,GAAG,GAAe,EAAA;QAC1B,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;;;AAGtD,YAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,SAAA;KACJ;;IAGM,KAAK,CAAC,GAAG,GAAe,EAAA;QAC3B,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;;;AAGtD,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,SAAA;KACJ;;IAGM,KAAK,CAAC,GAAG,GAAe,EAAA;AAC3B,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;AAClF,YAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,SAAA;KACJ;;IAGM,IAAI,CAAC,GAAG,IAAgB,EAAA;AAC3B,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;AAClF,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,SAAA;KACJ;;AAvCa,UAAA,CAAA,KAAK,GAAW;AAC1B,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACjB,CAAC;uGAPO,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAV,UAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,cAFP,MAAM,EAAA,CAAA,CAAA;2FAET,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;MCLqB,WAAW,CAAA;AAG7B,IAAA,WAAA,CAAkC,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAC5D,IAAA,IAAc,GAAG,GAAA;QACb,OAAO,IAAI,IAAI,EAAE,CAAC;KACrB;IACD,UAAU,GAAA;QACN,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;KAClD;AAED,IAAA,UAAU,CAAC,IAAU,EAAE,SAAe,EAAE,OAAa,EAAA;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KACrD;IACD,QAAQ,CAAC,GAAsB,EAAE,IAAwB,EAAA;AACrD,QAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;KAC/B;AAED,IAAA,GAAG,CAAC,IAAU,EAAA;AACV,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;KACjC;AAED,IAAA,SAAS,CAAC,IAA0C,EAAA;AAChD,QAAA,IAAI,IAAU,CAAC;AACf,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;gBAChB,MAAM;AACV,YAAA,KAAK,YAAY;gBACb,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM;AACV,YAAA,KAAK,WAAW;gBACZ,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM;AACb,SAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;KACxD;AAED,IAAA,WAAW,CAAC,IAA6C,EAAA;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,QAAA,IAAI,IAAU,CAAC;AACf,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;gBAChB,MAAM;AACV,YAAA,KAAK,WAAW;gBACZ,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACtC,MAAM;AACV,YAAA,KAAK,WAAW;gBACZ,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM;AACV,YAAA;AACI,gBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;gBAChB,MAAM;AACb,SAAA;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;KACtD;AAED,IAAA,UAAU,CAAC,IAA0C,EAAA;AACjD,QAAA,IAAI,IAAY,CAAC;AACjB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACjD,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,UAAU;gBACX,IAAI,GAAG,QAAQ,CAAC;gBAChB,MAAM;AACV,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACpB,MAAM;AACV,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC;gBACpB,MAAM;AACV,YAAA;gBACI,IAAI,GAAG,QAAQ,CAAC;gBAChB,MAAM;AACb,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AAED,IAAA,UAAU,CAAC,IAA0C,EAAA;AACjD,QAAA,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC7C,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3D,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC;KACrD;AAED,IAAA,YAAY,CAAC,IAA0C,EAAA;AAInD,QAAA,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;AACpB,QAAA,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzB,QAAA,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvB,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC5B,gBAAA,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM;AACV,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,gBAAA,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;AACV,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AACpC,gBAAA,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM;AACb,SAAA;AAED,QAAA,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACvB;AACS,IAAA,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAsB,EAAA;AAC9D,QAAA,MAAM,KAAK,GAAG,CAAG,EAAA,MAAM,MAAM,CAAC;AAC9B,QAAA,MAAM,MAAM,GAAG,CAAG,EAAA,MAAM,IAAI,CAAC;AAC7B,QAAA,MAAM,IAAI,GAAG,CAAG,EAAA,MAAM,IAAI,CAAC;AAC3B,QAAA,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;AACzC,QAAA,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;QACpC,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,IAAI,CAAC;AACT,QAAA,IAAI,IAAI,CAAC;AACT,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClC,gBAAA,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAClC,MAAM;AACV,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACpC,gBAAA,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACpC,MAAM;AACV,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACnC,gBAAA,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM;AACb,SAAA;QACD,OAAO,IAAI,KAAK,IAAI,CAAC;KACxB;;wGAxIiB,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4GAAX,WAAW,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;8BAIM,QAAQ;;;;ACFnB,MAAO,gBAAiB,SAAQ,WAAW,CAAA;AAE7C,IAAA,WAAA,CAAkC,UAAsB,EAAA;QACpD,KAAK,CAAC,UAAU,CAAC,CAAC;AADY,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9C,QAAA,IAAM,CAAA,MAAA,GAAG,OAAO,CAAC;KAG1B;AACD,IAAA,QAAQ,CAAC,IAAmB,EAAA;QACxB,OAAOC,QAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACvC;AACD,IAAA,UAAU,CAAC,SAAc,EAAA;AACrB,QAAA,OAAOA,QAAM,CAAC,QAAQ,CAACA,QAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAGA,QAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KAC/G;IACD,aAAa,CAAC,YAAiB,EAAE,KAAa,EAAA;QAC1C,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KAC1D;IACD,QAAQ,CAAC,YAAiB,EAAE,KAAa,EAAA;QACrC,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KACrD;IACD,MAAM,GAAA;AACF,QAAA,OAAO,MAAM,CAAC;KACjB;IACD,EAAE,CAAC,KAAW,EAAE,KAAW,EAAA;QACvB,OAAOA,QAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KAClC;IACD,IAAI,CAAC,KAAW,EAAE,KAAW,EAAA;QACzB,OAAOA,QAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;AACD,IAAA,MAAM,CAAC,KAAW,EAAE,KAAW,EAAE,IAA8B,EAAA;AAC3D,QAAA,MAAM,EAAE,GAAGA,QAAM,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,MAAM,EAAE,GAAGA,QAAM,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;KAC5C;AACD,IAAA,OAAO,CAAC,IAAU,EAAA;QACd,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACpC;IACD,WAAW,GAAA;AACP,QAAA,OAAOA,QAAM,CAAC,WAAW,EAAE,CAAC;KAC/B;IACD,QAAQ,GAAA;AACJ,QAAA,OAAOA,QAAM,CAAC,QAAQ,EAAE,CAAC;KAC5B;AACD,IAAA,IAAI,CAAC,IAAU,EAAA;AACX,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;KAC/B;AACD,IAAA,UAAU,CAAC,IAAU,EAAA;AACjB,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;KACrE;AACD,IAAA,YAAY,CAAC,IAAU,EAAA;AACnB,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;KACvE;AACD,IAAA,WAAW,CAAC,IAAS,EAAA;AACjB,QAAA,MAAM,CAAC,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,MAAM,MAAM,GAAG;AACX,YAAA,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;AACf,YAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AACjB,YAAA,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACd,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;AACnB,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1B,YAAA,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AACtB,YAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5B,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACzB,YAAA,MAAM,EAAE,CAAC;YACT,IAAI;SACP,CAAC;AACF,QAAA,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,QAAA,OAAO,MAAM,CAAC;KACjB;IACD,WAAW,CAAC,IAAY,EAAE,KAAa,EAAA;QACnC,OAAOA,QAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC3C;AACD,IAAA,SAAS,CAAC,IAAW,EAAA;QACjB,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AACrB,SAAA;AACD,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC;KACvB;IACD,cAAc,CAAC,GAAW,EAAE,MAAc,EAAA;AACtC,QAAA,OAAOA,QAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC9B;AACD,IAAA,eAAe,CAAC,IAAU,EAAA;QACtB,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACvC;AACD,IAAA,KAAK,CAAC,OAAoF,EAAA;AACtF,QAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAI,CAAA,EAAA,GAAG,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,OAAO,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,SAAA;AAED,QAAA,OAAOA,QAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAChC;IACD,UAAU,GAAA;AACN,QAAA,OAAOA,QAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;KACvC;AACD,IAAA,iBAAiB,CAAC,IAAU,EAAA;AACxB,QAAA,MAAM,CAAC,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClB,QAAA,OAAO,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;KAC1C;AACD,IAAA,aAAa,CAAC,IAAU,EAAE,QAAiB,EAAE,QAAiB,EAAA;AAC1D,QAAA,MAAM,CAAC,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,MAAM,GAAG,MAAM,CAAC;AACpB,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,gBAAA,CAAkB,CAAC;AACxC,SAAA;AACD,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,MAAA,CAAQ,CAAC;AAC9B,SAAA;AACD,QAAA,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3B;;6GAhHQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iHAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;8BAGM,QAAQ;;;;ACFnB,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAE9C,IAAA,WAAA,CAAkC,UAAsB,EAAA;QACpD,KAAK,CAAC,UAAU,CAAC,CAAC;AADY,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAD9C,QAAA,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;AAGpB,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACvB;AACD,IAAA,QAAQ,CAAC,IAAmB,EAAA;QACxB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACvC;AACD,IAAA,UAAU,CAAC,SAAc,EAAA;AACrB,QAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KACnH;IACD,aAAa,CAAC,YAAiB,EAAE,KAAa,EAAA;QAC1C,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KAC1D;IACD,QAAQ,CAAC,YAAiB,EAAE,KAAa,EAAA;QACrC,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KACrD;IACD,EAAE,CAAC,KAAW,EAAE,KAAW,EAAA;QACvB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KAClC;IACD,IAAI,CAAC,KAAW,EAAE,KAAW,EAAA;QACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;AACD,IAAA,MAAM,CAAC,KAAW,EAAE,KAAW,EAAE,IAA8B,EAAA;QAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAC5C;AACD,IAAA,OAAO,CAAC,IAAU,EAAA;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACnC;IACD,MAAM,GAAA;AACF,QAAA,OAAO,KAAK,CAAC;KAChB;AACD,IAAA,IAAI,CAAC,IAAU,EAAA;AACX,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;KAC9B;AACD,IAAA,UAAU,CAAC,IAAU,EAAA;AACjB,QAAA,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;KAC3E;AACD,IAAA,YAAY,CAAC,IAAU,EAAA;AACnB,QAAA,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;KAC7E;AACD,IAAA,WAAW,CAAC,IAAS,EAAA;AACjB,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,MAAM,MAAM,GAAG;AACX,YAAA,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACd,YAAA,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE;AAChB,YAAA,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACd,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;AACnB,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AACzB,YAAA,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACvB,YAAA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACrB,YAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAC3B,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACzB,IAAI;SACP,CAAC;AACF,QAAA,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACnC,QAAA,OAAO,MAAM,CAAC;KACjB;IACD,WAAW,CAAC,IAAY,EAAE,KAAa,EAAA;QACnC,OAAO,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;KAC9C;AACD,IAAA,SAAS,CAAC,IAAW,EAAA;QACjB,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AACrB,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;KACvB;IACD,cAAc,CAAC,GAAW,EAAE,MAAc,EAAA;AACtC,QAAA,OAAO,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC9B;AACD,IAAA,eAAe,CAAC,IAAU,EAAA;QACtB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KACtC;AACD,IAAA,KAAK,CAAC,OAAoF,EAAA;AACtF,QAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC,QAAA,MAAM,KAAK,GAAG,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAI,CAAA,EAAA,GAAG,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,OAAO,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,SAAA;AAED,QAAA,OAAO,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAChC;AAED,IAAA,aAAa,CAAC,IAAU,EAAE,QAAiB,EAAE,QAAiB,EAAA;AAC1D,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEf,IAAI,MAAM,GAAG,MAAM,CAAC;AACpB,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,WAAA,CAAa,CAAC;AACnC,SAAA;AACD,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,MAAA,CAAQ,CAAC;AAC9B,SAAA;AACD,QAAA,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3B;AACD,IAAA,iBAAiB,CAAC,IAAU,EAAA;AACxB,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,QAAA,OAAO,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;KACvC;IACD,WAAW,GAAA;AACP,QAAA,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;KAC/B;IACD,QAAQ,GAAA;AACJ,QAAA,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;KAC5B;;8GA/GQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;8BAGM,QAAQ;;;;ACFnB,MAAO,iBAAkB,SAAQ,WAAW,CAAA;AAG9C,IAAA,WAAA,CAAkC,UAAsB,EAAA;QACpD,KAAK,CAAC,UAAU,CAAC,CAAC;AADY,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAF9C,QAAA,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;AAIpB,QAAAC,QAAM,CAAC,WAAW,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;KAC7E;AAED,IAAA,QAAQ,CAAC,IAAmB,EAAA;QACxB,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACvC;AAED,IAAA,UAAU,CAAC,SAAc,EAAA;AACrB,QAAA,OAAOA,QAAM,CAAC,QAAQ,CAACA,QAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAGA,QAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KAC/G;IAED,aAAa,CAAC,YAAiB,EAAE,KAAa,EAAA;QAC1C,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KAC1D;IAED,QAAQ,CAAC,YAAiB,EAAE,KAAa,EAAA;QACrC,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KACrD;IAED,EAAE,CAAC,KAAW,EAAE,KAAW,EAAA;QACvB,OAAOA,QAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,IAAI,CAAC,KAAW,EAAE,KAAW,EAAA;QACzB,OAAOA,QAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;AAED,IAAA,MAAM,CAAC,KAAW,EAAE,KAAW,EAAE,IAA8B,EAAA;AAC3D,QAAA,MAAM,EAAE,GAAGA,QAAM,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,MAAM,EAAE,GAAGA,QAAM,CAAC,KAAK,CAAC,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;KAC5C;AAED,IAAA,OAAO,CAAC,IAAU,EAAA;QACd,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACpC;IAED,WAAW,GAAA;AACP,QAAA,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACrC;IAED,QAAQ,GAAA;AACJ,QAAA,OAAO,mEAAmE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACzF;IACD,MAAM,GAAA;AACF,QAAA,OAAO,KAAK,CAAC;KAChB;AACD,IAAA,IAAI,CAAC,IAAU,EAAA;AACX,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;KAC/B;AAED,IAAA,UAAU,CAAC,IAAU,EAAA;AACjB,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KAChD;AAED,IAAA,YAAY,CAAC,IAAU,EAAA;AACnB,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;KAClD;IAED,UAAU,GAAA;AACN,QAAA,OAAOA,QAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC;KACvC;AAED,IAAA,WAAW,CAAC,IAAS,EAAA;AACjB,QAAA,MAAM,CAAC,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,MAAM,MAAM,GAAG;AACX,YAAA,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;AACf,YAAA,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;AACjB,YAAA,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE;AACd,YAAA,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AACd,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;AACnB,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1B,YAAA,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AACtB,YAAA,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC5B,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YACzB,IAAI;SACP,CAAC;AACF,QAAA,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5D,QAAA,OAAO,MAAM,CAAC;KACjB;IAED,WAAW,CAAC,IAAY,EAAE,KAAa,EAAA;QACnC,OAAOA,QAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC3C;AAED,IAAA,SAAS,CAAC,IAAW,EAAA;QACjB,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AACrB,SAAA;AACD,QAAA,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC;KACvB;IACD,cAAc,CAAC,GAAW,EAAE,MAAc,EAAA;AACtC,QAAA,OAAOA,QAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;KAC9B;AAED,IAAA,eAAe,CAAC,IAAU,EAAA;QACtB,OAAOA,QAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;KACvC;AAED,IAAA,iBAAiB,CAAC,IAAU,EAAA;AACxB,QAAA,MAAM,CAAC,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACf,QAAA,OAAO,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;KAC1C;AAED,IAAA,aAAa,CAAC,IAAU,EAAE,QAAiB,EAAE,QAAiB,EAAA;AAC1D,QAAA,MAAM,CAAC,GAAGA,QAAM,CAAC,IAAI,CAAC,CAAC;AACvB,QAAA,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,EAAE,CAAC;AAChB,QAAA,IAAI,QAAQ,EAAE;YACV,MAAM,GAAG,oBAAoB,CAAC;AACjC,SAAA;AACD,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,MAAA,CAAQ,CAAC;AAC9B,SAAA;AACD,QAAA,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3B;AAED,IAAA,KAAK,CAAC,OAAoF,EAAA;AACtF,QAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC;AACnC,QAAA,MAAM,KAAK,GAAG,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAI,CAAA,EAAA,GAAG,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,OAAO,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,SAAA;AAED,QAAA,OAAOA,QAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAChC;;8GAvIQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;8BAIM,QAAQ;;;;ACZzB;AAEA,MAAM,MAAM,GAA2B,EAAE,CAAC;AAE1C;AAEA;;;AAGG;AAEH;;;AAGG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH,MAAM,EAAE,GAAG;AACP,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,SAAS,EAAE,KAAK;AAChB,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,OAAO,EAAE,SAAS;CACrB,CAAC;AAEF,MAAM,YAAY,GAAG,MAAK;AACtB,IAAA,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;;IAGtC,IAAI,SAAS,GAAG,4EAA4E,CAAC;IAC7F,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE1C,IAAA,IAAI,QAAQ,EAAE;QACV,MAAM,aAAa,GAAG,kBAAkB,CAAC;QAEzC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;AAClC,YAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAE7C,OAAO;gBACH,IAAI,EAAE,EAAE,CAAC,GAAG;AACZ,gBAAA,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;aAC1B,CAAC;AACL,SAAA;QAED,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;AAC9B,YAAA,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7C,OAAO;gBACH,IAAI,EAAE,EAAE,CAAC,OAAO;AAChB,gBAAA,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;aAC1B,CAAC;AACL,SAAA;AACJ,KAAA;;IAGD,SAAS,GAAG,qDAAqD,CAAC;AAClE,IAAA,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACtC,IAAA,IAAI,QAAQ,EAAE;QACV,OAAO;YACH,IAAI,EAAE,EAAE,CAAC,OAAO;AAChB,YAAA,UAAU,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE;SACvD,CAAC;AACL,KAAA;AACD,IAAA,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,MAAK;AACvB,IAAA,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;IACrC,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AACjC,QAAA,MAAM,QAAQ,GAAG,wBAAwB,CAAC;QAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO;YACH,IAAI,EAAE,EAAE,CAAC,OAAO;YAChB,UAAU,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE;SAC9C,CAAC;AACL,KAAA;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;QACjC,OAAO;YACH,IAAI,EAAE,EAAE,CAAC,SAAS;AAClB,YAAA,UAAU,EAAE,EAAE;SACjB,CAAC;AACL,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,IAAI,aAAa,EAAE,CAAC;AAEvD,MAAM,MAAM,GAAG,MAAK;IAChB,IAAI,MAAM,CAAC,EAAE,EAAE;QACX,OAAO;AACV,KAAA;AAED,IAAA,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;AAC3B,IAAA,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjF,IAAA,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAChB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YAC7B,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;gBAC7B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;AACxC,aAAA;AACL,SAAC,CAAC,CAAC;AACN,KAAA;AACL,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,MAAK;AACf,IAAA,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AACZ,QAAA,MAAM,EAAE,CAAC;AACZ,KAAA;IAED,OAAO,MAAM,CAAC,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAK;AACnB,IAAA,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AACZ,QAAA,MAAM,EAAE,CAAC;AACZ,KAAA;AAED,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEF;AAEA;;;AAGG;AAEH;;;;;;;AAOG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;;AAKG;AAEH;;;;;AAKG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;AAGG;AAEH;;;;;;;;;;;;;AAaG;AAEH;;;;;;;;;;AAUG;AAEH;;;;;;;;;AASG;AAEH;;;;;;;;;AASG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;;AAIG;AAEH;;;AAGG;AAEH;;;AAGG;AAEH;;;AAGG;AAEH;;;AAGG;AAEH;;;AAGG;AAEH;;;AAGG;AAEH,MAAM,OAAO,GAAG;AACZ,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,OAAO,EAAE,IAAI;AACb,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,OAAO,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;;;;;;;;;AAcG;AACH,MAAM,YAAY,GAAG,MAAK;IACtB,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,sBAAsB,CAAC;IACvC,MAAM,KAAK,GAAG,iBAAiB,CAAC;IAChC,MAAM,OAAO,GAAG,iCAAiC,CAAC;IAClD,MAAM,KAAK,GAAG,oBAAoB,CAAC;IACnC,MAAM,QAAQ,GAAG,+BAA+B,CAAC;;AAGjD,IAAA,MAAM,YAAY,GACd,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AACtB,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AACxB,QAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AACxB,QAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;AACtB,SAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnE,QAAA,EAAE,CAAC;AAEP,IAAA,MAAM,IAAI,GAAG;AACT,QAAA,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE;AAC9B,QAAA,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG;KAClC,CAAC;AACF,IAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AAC1B,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAK;AACrB,IAAA,MAAM,QAAQ,GAA2B,YAAY,EAAE,CAAC;AACxD,IAAA,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC;AACvC,IAAA,MAAM,UAAU,GAA2B,MAAM,CAAC,SAAS,CAAC;;AAG5D,IAAA,IAAI,UAAU,CAAC;AACf,IAAA,IAAI,OAAO,CAAC;AACZ,IAAA,IAAI,QAAQ,CAAC;;IAGb,IAAI,QAAQ,CAAC,OAAO,EAAE;QAClB,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE;AACzC,YAAA,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACjC,YAAA,OAAO,GAAG;gBACN,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,UAAU,EAAE,CAAG,EAAA,QAAQ,CAAE,CAAA;AACzB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;aACtC,CAAC;AACL,SAAA;AAAM,aAAA;;AAEH,YAAA,OAAO,GAAG;AACN,gBAAA,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,gBAAA,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,CAAC;aACd,CAAC;AACL,SAAA;AACJ,KAAA;SAAM,IAAI,QAAQ,CAAC,MAAM,EAAE;;QAExB,MAAM,mBAAmB,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAChF,QAAA,IAAI,aAAa,CAAC;AAClB,QAAA,IAAI,mBAAmB,EAAE;AACrB,YAAA,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC1C,SAAA;QACD,UAAU,GAAG,QAAQ,CAAC;QACtB,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;AAEzE,QAAA,IAAI,YAAY,IAAI,aAAa,IAAI,aAAa,EAAE;AAChD,YAAA,IAAI,KAAK,CAAC;AACV,YAAA,IAAI,QAAQ,CAAC;AACb,YAAA,IAAI,OAAO,CAAC;AAEZ,YAAA,IAAI,YAAY,EAAE;AACd,gBAAA,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;AACvB,gBAAA,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtC,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,aAAA;AAAM,iBAAA,IAAI,aAAa,EAAE;AACtB,gBAAA,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;gBACxB,OAAO,GAAG,IAAI,CAAC;gBACf,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,aAAA;AAAM,iBAAA,IAAI,aAAa,EAAE;AACtB,gBAAA,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;AACxB,gBAAA,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtC,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,aAAA;AAED,YAAA,OAAO,GAAG;AACN,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,MAAM,EAAE,OAAO;gBACf,UAAU,EAAE,CAAG,EAAA,QAAQ,CAAE,CAAA;AACzB,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,MAAM,EAAE,IAAI;gBACZ,aAAa;aAChB,CAAC;AACL,SAAA;AAAM,aAAA;;YAEH,MAAM,IAAI,GAAG,yCAAyC,CAAC;AACvD,YAAA,MAAM,WAAW,GAAQ,UAAU,CAAC,UAAU,CAAC;AAC/C,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBACvB,MAAM,MAAM,GAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1C,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,gBAAA,OAAO,GAAG;oBACN,IAAI,EAAE,OAAO,CAAC,MAAM;oBACpB,UAAU,EAAE,CAAG,EAAA,QAAQ,CAAE,CAAA;AACzB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE,QAAQ;AACjB,oBAAA,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,oBAAA,MAAM,EAAE,IAAI;oBACZ,aAAa;AACb,oBAAA,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,WAAW;iBACvC,CAAC;AACL,aAAA;AAAM,iBAAA,IACH,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,gBAAA,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;AACzB,gBAAA,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;iBACxB,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,KAAK,CAAC,EACjD;;AAEE,gBAAA,OAAO,GAAG;oBACN,IAAI,EAAE,OAAO,CAAC,MAAM;oBACpB,OAAO,EAAE,CAAC,CAAC;AACX,oBAAA,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,CAAC,WAAW;AACrB,oBAAA,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,oBAAA,MAAM,EAAE,IAAI;oBACZ,aAAa;iBAChB,CAAC;AACL,aAAA;AAAM,iBAAA;;AAEH,gBAAA,OAAO,GAAG;AACN,oBAAA,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACnC,oBAAA,MAAM,EAAE,IAAI;oBACZ,aAAa;oBACb,OAAO,EAAE,CAAC,CAAC;iBACd,CAAC;AACL,aAAA;AACJ,SAAA;AACJ,KAAA;AAAM,SAAA,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC1C,QAAA,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAExC,QAAA,OAAO,GAAG;YACN,IAAI,EAAE,OAAO,CAAC,iBAAiB;YAC/B,UAAU,EAAE,CAAG,EAAA,QAAQ,CAAE,CAAA;AACzB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,MAAM,EAAE,KAAK;SAChB,CAAC;AACL,KAAA;SAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;AACtB,QAAA,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACxC,QAAA,OAAO,GAAG;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,CAAG,EAAA,QAAQ,CAAE,CAAA;AACzB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,IAAI,EAAE,IAAI;SACb,CAAC;AACL,KAAA;AAAM,SAAA;AACH,QAAA,OAAO,GAAG;AACN,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,CAAC,CAAC;AACX,YAAA,MAAM,EAAE,KAAK;SAChB,CAAC;AACL,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAK;AACrB,IAAA,MAAM,CAAC,OAAO,GAAG,WAAW,EAAE,CAAC;AAC/B,IAAA,MAAM,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AAEjC,IAAA,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;AAC1C,aAAA;AACL,SAAC,CAAC,CAAC;AACN,KAAA;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,MAAK;AACpB,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;IACD,OAAO,MAAM,CAAC,OAAO,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,MAAK;AACd,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;AACD,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,MAAK;AAChB,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;AACD,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAK;AAClB,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;AACD,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,MAAK;AACd,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;AACD,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAK;AAClB,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;AACD,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,CAAC,CAAC;AAEF;AAEA,MAAM,WAAW,GAAG,MAAK;IACrB,IAAI,MAAM,CAAC,OAAO,EAAE;QAChB,OAAO;AACV,KAAA;AAED,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;AAED,IAAA,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,EACpB,cAAc,IAAI,MAAM;QACxB,SAAS,CAAC,cAAc,GAAG,CAAC;SAC1B,MAAc,CAAC,aAAa,IAAI,QAAQ,YAAa,MAAc,CAAC,aAAa,CAAC,CACvF,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,MAAK;AACtB,IAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACjB,QAAA,WAAW,EAAE,CAAC;AACjB,KAAA;AAED,IAAA,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;AAClC,CAAC,CAAC;AAEF;AAEA;;;;;;;AAOG;AAEH;;;;;AAKG;AAEH;;;AAGG;AAEH,MAAM,UAAU,GAAG;AACf,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,OAAO;CACjB,CAAC;AAEF,MAAM,SAAS,GAAG,MAAK;AACnB,IAAA,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC;AACvC,IAAA,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE;AACrC,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnC,KAAA;;IAED,IAAI,YAAY,EAAE,EAAE;AAChB,QAAA,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE;AAC7C,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,GAAG,EAAE;AACxE,YAAA,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrD,SAAA;AACD,QAAA,IAAI,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;;;;;;;;QAQ1E,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE;YAChG,aAAa,GAAG,CAAC,CAAC;AACrB,SAAA;;;QAID,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC;;;;;;AAQ3G;;;;;;;AAOW;AAEX,QAAA,OAAO,OAAO,CAAC;AAClB,KAAA;;IAED,MAAM,aAAa,GAAG,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;;;AAIlE,IAAA,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;AAChH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,MAAK;AACpB,IAAA,MAAM,eAAe,GAAG,SAAS,EAAE,CAAC;AACpC,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC;IAElE,MAAM,OAAO,GAA2B,EAAE,CAAC;AAC3C,IAAA,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,KAAK,eAAe,CAAC,CAAC;IAChF,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1F,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;IAC3E,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;AAClD,IAAA,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;AAEhC,IAAA,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,MAAK;AACpB,IAAA,WAAW,EAAE,CAAC;AACd,IAAA,MAAM,EAAE,CAAC;AAET,IAAA,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;AACnB,IAAA,MAAM,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AAC7C,QAAA,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;AAChC,KAAA;AACL,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAK;AACnB,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAChB,QAAA,UAAU,EAAE,CAAC;AAChB,KAAA;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAK;AACnB,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAChB,QAAA,UAAU,EAAE,CAAC;AAChB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAK;AAClB,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAChB,QAAA,UAAU,EAAE,CAAC;AAChB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,MAAK;AACjB,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAChB,QAAA,UAAU,EAAE,CAAC;AAChB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAK;AAClB,IAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AAChB,QAAA,UAAU,EAAE,CAAC;AAChB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;AACjC,CAAC;;AC9vBD;AAiBgB,SAAA,oBAAoB,CAAC,YAAiB,EAAE,UAAkB,EAAA;AACtE,IAAA,IAAI,YAAY,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,UAAU,CAAoC,iCAAA,EAAA,UAAU,CAAyB,uBAAA,CAAA,CAAC,CAAC;AACzG,KAAA;AACL,CAAC;SACe,iBAAiB,GAAA;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/C,CAAC;AACe,SAAA,qBAAqB,CAAC,KAAa,EAAE,YAAoB,EAAA;AACrE,IAAA,QAAQ,KAAK;AACT,QAAA,KAAK,GAAG;AACJ,YAAA,OAAO,GAAG,CAAC;AACf,QAAA,KAAK,GAAG;AACJ,YAAA,OAAO,GAAG,CAAC;AACf,QAAA,KAAK,GAAG;AACJ,YAAA,OAAO,GAAG,CAAC;AACf,QAAA;AACI,YAAA,OAAO,YAAY,CAAC;AAC3B,KAAA;AACL,CAAC;AACK,SAAU,WAAW,CAAC,KAAa,EAAA;IACrC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;;QAE5B,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,OAAO,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAW,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACzD,QAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,KAAA;AACD,IAAA,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAEe,SAAA,cAAc,CAAC,UAAsB,EAAE,OAAQ,EAAA;AAC3D,IAAA,MAAM,cAAc,GAAG,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAP,OAAO,GAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC;AACjE,IAAA,QAAQ,cAAc;AAClB,QAAA,KAAK,OAAO;AACR,YAAA,OAAO,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAC7C,QAAA,KAAK,OAAO;AACR,YAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA;AACI,YAAA,OAAO,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAChD,KAAA;AACL,CAAC;AAEe,SAAA,YAAY,CACxB,IAAY,EACZ,IAAmB,EACnB,MAAc,EACd,UAAmB,EACnB,IAAa,EACb,KAAc,EAAA;AAEd,IAAA,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACpD,IAAA,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC1D,IAAA,UAAU,GAAG,UAAU,IAAI,IAAI,GAAG,EAAE,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACtE,IAAA,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AACjC,IAAA,KAAK,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AACrC,IAAA,MAAM,GAAG,GAAG,CAAe,YAAA,EAAA,IAAI,SAAS,IAAI,CAAA,IAAA,EAAO,MAAM,CAAA,MAAA,EAAS,UAAU,CAAO,IAAA,EAAA,IAAI,CAAQ,KAAA,EAAA,KAAK,EAAE,CAAC;AACvG,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAEK,SAAU,UAAU,CAAC,eAAe,EAAA;AACtC,IAAA,OAAO,eAAe,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,mBAAmB,CAAC;AACxF,CAAC;SACe,WAAW,GAAA;AACvB,IAAA,OAAO,MAAM,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;AACpE,CAAC;AACK,SAAU,cAAc,CAAC,UAAU,EAAA;AACrC,IAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAChC,QAAA,OAAO,UAAU,CAAC;AACrB,KAAA;AACD,IAAA,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;AAC/B,IAAA,MAAM,YAAY,GAAW,UAAU,CAAC,aAAa,CAAC;IACtD,IAAI,kBAAkB,GAAG,IAAI,CAAC;AAC9B,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3B,QAAA,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;AAClD,KAAA;AACD,IAAA,IAAI,kBAAkB,EAAE;AACpB,QAAA,OAAO,kBAAkB,CAAC;AAC7B,KAAA;IACD,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AACjD,QAAA,OAAO,YAAY,CAAC;AACvB,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AACK,SAAU,kBAAkB,CAAC,EAAO,EAAA;AACtC,IAAA,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;AACvB,IAAA,IAAI,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC;AACzB,IAAA,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC;AAC7B,IAAA,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC;IAE/B,OAAO,EAAE,CAAC,YAAY,EAAE;AACpB,QAAA,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC;AACrB,QAAA,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC;AACpB,QAAA,IAAI,IAAI,EAAE,CAAC,UAAU,CAAC;AACzB,KAAA;IAED,QACI,GAAG,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW;AAC7C,QAAA,IAAI,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU;AAC7C,QAAA,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW;AACjC,QAAA,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,WAAW,EACnC;AACN,CAAC;AACK,SAAU,kBAAkB,CAAC,CAAC,EAAA;IAChC,CAAC,CAAC,eAAe,EAAE,CAAC;IACpB,CAAC,CAAC,cAAc,EAAE,CAAC;AACvB,CAAC;AAEe,SAAA,mBAAmB,CAC/B,SAAoC,EACpC,eAAmE,EAAA;AAOnE,IAAA,IAAI,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC;AACxD,IAAA,IAAI,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AACpE,IAAA,IAAI,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC9E,IAAA,IAAI,QAAQ,GAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACxE,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClD,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,cAAc,GAAG,GAAG,GAAG,QAAQ,CAAC;AAClE,IAAA,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,EAAE;AAC3C,QAAA,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC;QACpC,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAChE,QAAA,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC;AACrC,QAAA,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC;AACvC,KAAA;AACD,IAAA,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC/D,CAAC;SAEe,gBAAgB,GAAA;AAC5B,IAAA,OAAOE,OAAc,EAAE,CAAC;AAC5B,CAAC;SACe,kBAAkB,GAAA;AAC9B,IAAA,OAAOC,QAAe,EAAE,CAAC;AAC7B,CAAC;SACe,iBAAiB,GAAA;AAC7B,IAAA,OAAOA,QAAe,EAAE,CAAC;AAC7B,CAAC;SACe,iBAAiB,GAAA;IAC7B,OAAO,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC;SAEe,kBAAkB,CAAC,EAAe,EAAE,aAAqC,GAAG,EAAA;AACxF,IAAA,MAAM,cAAc,GAAG,EAAE,CAAC,WAAW,CAAC;IACtC,IAAI,cAAc,KAAK,CAAC,EAAE;AACtB,QAAA,OAAO,UAAU,CAAC;AACrB,KAAA;AACD,IAAA,IAAI,UAAU,KAAK,GAAG,IAAI,cAAc,GAAG,GAAG,EAAE;QAC5C,UAAU,GAAG,GAAG,CAAC;AACpB,KAAA;AAAM,SAAA,IAAI,UAAU,KAAK,GAAG,KAAK,cAAc,GAAG,GAAG,IAAI,cAAc,GAAG,IAAI,CAAC,EAAE;QAC9E,UAAU,GAAG,GAAG,CAAC;AACpB,KAAA;AACD,IAAA,OAAO,UAAU,CAAC;AACtB,CAAC;AAEK,SAAU,WAAW,CACvB,KAAK,EACL,QAAQ,GAAG,CAAC,EACZ,IAAqE,EAAA;IAErE,IAAI,KAAK,KAAK,CAAC,EAAE;AACb,QAAA,OAAO,SAAS,CAAC;AACpB,KAAA;IAED,MAAM,CAAC,GAAG,IAAI,CAAC;AACf,IAAA,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACvC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACxE,IAAA,MAAM,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AACK,SAAU,iBAAiB,CAAC,eAAe,EAAA;IAC7C,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAC1B,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAChC,gBAAgB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9E,KAAA;AACD,IAAA,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACK,SAAU,OAAO,CAAC,IAAY,EAAA;IAChC,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AACK,SAAU,OAAO,CAAC,IAAI,EAAA;IACxB,IAAI,CAAC,IAAI,EAAE;AACP,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AACD,IAAA,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC1B,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3F,CAAC;AAEK,SAAU,mBAAmB,CAAC,OAAO,EAAA;AACvC,IAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC,MAAM,CAC3F,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,CAAC,MAAM,CAClE,CAAC;AAEF,IAAA,MAAM,OAAO,GAAiB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAC1D,OAAO,EACP,yCAAyC,EACzC,EAAE,CACL,CAAC;AACF,IAAA,MAAM,OAAO,GAAG,IAAI,KAAK,EAAoB,CAAC;AAC9C,IAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACrB,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,OAAO,CAAC,IAAI,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAA,EAAA,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAG,CAAC;AACzE,SAAA;AACL,KAAC,CAAC,CAAC;IACH,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,KAAI;AACjC,QAAA,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,EAAA,EAAA,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,EAAA,CAAA,CAAG,CAAC;AACtF,SAAA;AACL,KAAC,CAAC,CAAC;AACH,IAAA,OAAO,OAAO,CAAC;AACnB,CAAC;AACK,SAAU,eAAe,CAAC,OAAO,EAAA;;AACnC,IAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;IAChG,OAAO;QACH,cAAc,EAAE,CAAA,EAAA,GAAA,WAAW,KAAX,IAAA,IAAA,WAAW,uBAAX,WAAW,CAAE,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI;QACnD,eAAe,EAAE,CAAA,EAAA,GAAA,WAAW,KAAX,IAAA,IAAA,WAAW,uBAAX,WAAW,CAAE,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;QACnD,eAAe,EAAE,CAAA,EAAA,GAAA,WAAW,KAAX,IAAA,IAAA,WAAW,uBAAX,WAAW,CAAE,eAAe,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK;KACzD,CAAC;AACN,CAAC;AACK,SAAU,sBAAsB,CAAC,SAAiB,EAAA;IACpD,OAAO;AACH,QAAA,EAAE,EAAE,GAAG;AACP,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,KAAK,EAAE,sBAAsB;AAC7B,QAAA,UAAU,EAAE,EAAE;KACjB,CAAC;AACN,CAAC;SACe,qBAAqB,GAAA;IACjC,OAAO;AACH,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,KAAK,EAAE,oBAAoB;AAC3B,QAAA,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;AAC9C,QAAA,KAAK,EAAE;AACH,YAAA;AACI,gBAAA,IAAI,EAAE,cAAc;AACpB,gBAAA,KAAK,EAAE,eAAe;AACtB,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;AAC9C,gBAAA,KAAK,EAAE,EAAE;AACZ,aAAA;AACJ,SAAA;KACJ,CAAC;AACN,CAAC;AACK,SAAU,eAAe,CAAC,SAAiB,EAAA;AAC7C,IAAA,MAAM,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAE7C,IAAA,MAAM,iBAAiB,GAAgB;AACnC,QAAA,IAAI,EAAE;AACF,YAAA,QAAQ,EAAE,qBAAqB;AAC/B,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,SAAS,EAAE,SAAS;AACvB,SAAA;AACD,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,IAAI,EAAE;AACF,YAAA,EAAE,EAAE,EAAE;AACT,SAAA;KACJ,CAAC;AACF,IAAA,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AACK,SAAU,6BAA6B,CACzC,SAAiB,EACjB,YAAuC,EACvC,WAAmB,EACnB,KAAU,EAAA;AAEV,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAChD,IAAA,YAAY,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;AAEzE,IAAA,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC5G,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IAC1C,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC;AAClD,QAAA,OAAO,EAAE,YAAY;AACrB,QAAA,QAAQ,EAAE;AACN,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA;AACJ,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,cAAc,CAAC;AAC1B,CAAC;AACe,SAAA,kBAAkB,CAAC,YAAyB,EAAE,SAAiB,EAAA;AAC3E,IAAA,MAAM,eAAe,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9E,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,eAAe,CAAC,IAAI,CAAC,EAAE,CAAE,EAAA,EAAA,UAAU,EAAE,SAAS,EAAG,CAAA,CAAA;AACjE,CAAC;AACe,SAAA,yBAAyB,CACrC,YAAyB,EACzB,EAAuB,EACvB,OAAe,EACf,QAAa,EACb,aAAA,GAAyB,IAAI,EAAA;AAE7B,IAAA,MAAM,eAAe,GAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9E,eAAe,CAAC,IAAI,CAAC,EAAE,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,EAAE,CAAA,EAAA,EAAE,UAAU,EAAE,OAAO,EAAA,CAAE,CAAC;AACzD,IAAA,IAAI,aAAa,EAAE;AACf,QAAA,eAAe,CAAC,IAAI,CAAC,QAAQ,GAAG,qBAAqB,EAAE,CAAC;AACxD,QAAA,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAC7C,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KACtC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC1E,CACJ,CAAC;AACL,KAAA;IACD,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC;AAClD,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,QAAQ,EAAE,QAAQ;AAClB,QAAA,QAAQ,EAAE;AACN,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,OAAO,EAAE,KAAK;AACjB,SAAA;AACJ,KAAA,CAAC,CAAC;AACH,IAAA,OAAO,cAAc,CAAC;AAC1B,CAAC;AAEK,SAAU,gBAAgB,CAC5B,WAAmB,EACnB,cAAyB,GAAA,EAAE,EAC3B,IAAA,GAAgB,IAAI,EAAA;IAEpB,OAAO;AACH,QAAA,KAAK,EAAE,kBAAkB;AACzB,QAAA,IAAI,EAAE,mBAAmB;AACzB,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,UAAU,EAAE,KAAK;AACjB,QAAA,YAAY,EAAE,OAAO;AACrB,QAAA,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,CAAC,IAAI;QACd,IAAI;AACJ,QAAA,2BAA2B,EAAE,KAAK;AAClC,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,cAAc,EAAE,EAAE;AAClB,QAAA,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QAClC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACjC,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QACzC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACzC,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;AACpC,QAAA,aAAa,EAAE,EAAE;KACpB,CAAC;AACN,CAAC;AAEK,SAAU,cAAc,CAC1B,EAAuB,EACvB,cAAwB,EACxB,aAAsB,EACtB,YAAqB,EAAA;IAErB,OAAO,IAAI,OAAO,CAA4B,CAAC,OAAO,EAAE,MAAM,KAAI;QAC9D,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAC9B,wBAAwB,EACxB;AACI,YAAA,oBAAoB,EAAE;AAClB,gBAAA,YAAY,EAAE,cAAc;gBAC5B,EAAE,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;AACzC,gBAAA,aAAa,EAAE,aAAa;AAC5B,gBAAA,YAAY,EAAE,YAAY;AAC7B,aAAA;SACJ,EACD,CAAC,CAAC,KAAI;YACF,OAAO,CAAC,CAAC,CAAC,CAAC;AACf,SAAC,EACD,CAAC,GAAG,KAAI;YACJ,MAAM,CAAC,GAAG,CAAC,CAAC;AAChB,SAAC,CACJ,CAAC;AACN,KAAC,CAAC,CAAC;AACP,CAAC;AAWe,SAAA,YAAY,CAAC,IAAsB,EAAE,IAAsB,EAAA;IACvE,IAAI,IAAI,KAAK,IAAI,EAAE;AACf,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AAED,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,EAAE;AACxE,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEhC,IAAA,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;AAC/B,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AAED,IAAA,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;AAGnE,IAAA,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;AACzC,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;AACvB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE;AACzB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AAChB,CAAC;SAGe,QAAQ,CAAC,KAAsB,EAAE,gBAAwB,CAAC,EAAA;AACtE,IAAA,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;AACjE,CAAC;AACD,SAAS,oBAAoB,CACzB,IAAY,EACZ,QAAqB,EAAA;AAErB,IAAA,SAAS,aAAa,CAClB,MAAiB,EACjB,QAAgB,EAChB,kBAAuD,EAAA;AAEvD,QAAA,MAAM,eAAe,GAAG,CAA2B,wBAAA,EAAA,QAAQ,EAAE,CAAC;AAE9D,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE;;AAElE,SAAA;AAED,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE;AAC3C,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;QAEH,OAAO;YACH,GAAG,GAAA;AACC,gBAAA,OAAO,kBAAkB,IAAI,kBAAkB,CAAC,GAAG;sBAC7C,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACrC,sBAAE,IAAI,CAAC,eAAe,CAAC,CAAC;aAC/B;AACD,YAAA,GAAG,CAAC,KAAQ,EAAA;AACR,gBAAA,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,GAAG,EAAE;AAC9C,oBAAA,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,iBAAA;gBACD,IAAI,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC3C;SACJ,CAAC;KACL;AAED,IAAA,OAAO,aAAa,CAAC;AACzB,CAAC;AACK,SAAU,WAAW,CAAC,aAAyB,EAAA;AACjD,IAAA,OAAO,oBAAoB,CAAC,aAAa,EAAE,CAAC,KAAsB,KAAK,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;AAC3G,CAAC;AACW,IAAA,mBAQX;AARD,CAAA,UAAY,kBAAkB,EAAA;AAC1B,IAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AACzB,IAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;AACvB,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;AACrB,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACjB,CAAC,EARW,kBAAkB,KAAlB,kBAAkB,GAQ7B,EAAA,CAAA,CAAA,CAAA;AASK,SAAU,cAAc,CAAC,MAAwB,EAAA;IACnD,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,MAAM,CAAC;AAC9D,CAAC;AAEK,SAAU,aAAa,CAAC,MAAwB,EAAA;AAClD,IAAA,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;AAC1B,UAAE,MAAM,CAAC,qBAAqB,EAAE;AAChC,UAAE;AACI,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,MAAM,EAAE,CAAC;SACZ,CAAC;AACZ,CAAC;AACD;AACa,MAAA,iBAAiB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;SAEzC,6BAA6B,GAAA;IACzC,IAAI,QAAQ,GAAG,CAAC,CAAC;AACjB,IAAA,OAAO,UAAU,QAA8B,EAAA;QAC3C,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;AACtC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC3D,QAAA,MAAM,EAAE,GAAG,UAAU,CAAC,MAAK;AACvB,YAAA,QAAQ,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC;SACnC,EAAE,UAAU,CAAC,CAAC;AACf,QAAA,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AACjC,QAAA,OAAO,EAAE,CAAC;AACd,KAAC,CAAC;AACN,CAAC;SAEe,wBAAwB,GAAA;AACpC,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC/B,QAAA,OAAO,MAAM,CAAC,CAAC;AAClB,KAAA;IACD,IAAI,MAAM,CAAC,qBAAqB,EAAE;;QAE9B,OAAO,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpD,KAAA;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAG,EAAA,GAAG,uBAAuB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7F,IAAA,OAAO,MAAM,GAAI,MAAoB,CAAC,CAAA,EAAG,MAAM,CAAA,qBAAA,CAAuB,CAAC,GAAG,6BAA6B,EAAE,CAAC;AAC9G,CAAC;AACK,SAAU,2BAA2B,CAAC,EAAU,EAAA;AAClD,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC/B,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IACD,IAAI,MAAM,CAAC,oBAAoB,EAAE;AAC7B,QAAA,OAAO,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAC1C,KAAA;IACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CACnC,CAAC,GAAG,KAAK,CAAG,EAAA,GAAG,sBAAsB,IAAI,MAAM,IAAI,CAAA,EAAG,GAAG,CAAA,2BAAA,CAA6B,IAAI,MAAM,CACnG,CAAC,CAAC,CAAC,CAAC;AAEL,IAAA,OAAO,MAAM;AACT,UAAE,CACK,MAAoB,CAAC,CAAG,EAAA,MAAM,sBAAsB,CAAC;AACrD,YAAA,MAAoB,CAAC,CAAA,EAAG,MAAM,CAAA,2BAAA,CAA6B,CAAC;;AAG5D,aAAA,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;AACrB,UAAE,YAAY,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAIK,SAAU,cAAc,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAA;AACrE,IAAA,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,EAAE;AACR,QAAA,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACtC,KAAA;AAAM,SAAA;QACH,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACnD,KAAA;AACL;;ACnjBM,MAAO,gBAAiB,SAAQ,aAAa,CAAA;AAoD/C,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;QApCZ,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAClD,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAClD,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAUxC,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QAChD,IAAA,CAAA,0BAA0B,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACjE,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC3D,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QACxD,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QAC3C,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QAC7C,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAQ,EAAE,CAAC,CAAC;QACrD,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;QAC/C,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAAS,MAAM,CAAC,CAAC;AAC7D,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,OAAO,EAAQ,CAAC;QAC5C,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAQ,CAAC;AACxC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAiB,CAAC;QACjD,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC1D,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAS,MAAM,CAAC,CAAC;QACvD,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC;QAC3D,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QACrD,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;QACrD,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAClD,IAAA,CAAA,iCAAiC,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACxE,IAAA,CAAA,wBAAwB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;QAC3D,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAIpD,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI,CACnD,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAC/C,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7G,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACjG,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAErG,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAC3B,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EACxB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAC7C,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EACtC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAC7D,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAC/C,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC,IAAI,CACnE,GAAG,CAAC,CAAC,KAAK,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,EAC/C,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACnG,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,IAAI,CACjD,GAAG,CAAC,CAAC,MAAM,KAAI;YACX,IAAI,CAAC,MAAM,EAAE;AACT,gBAAA,OAAO,MAAM,CAAC;AACjB,aAAA;AACD,YAAA,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC;AAClC,YAAA,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACnC,gBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;AACrC,aAAA;AACD,YAAA,OAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,MAAM,CAAG,CAAA;SACxB,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAE3F,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAE5F,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAE/F,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAEzF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnG,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CACxG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC,CAAC,EAClE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAC7D,MAAM,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,YAAY,CAAC,EACxC,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,KAAK,CAAC,CAAC,CAAC,EACxF,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,SAAS,CAAC,CAAC,EACrE,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,SAAS,CAAC,CAAC,EACrE,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,OAAO,CAAC,CAAC,EACjE,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,WAAW,CAAC,CAAC,CAAC,EACpG,GAAG,CAAC,CAAC,YAAY,KACb,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,oBAAoB,CAAC,CAAC,CAClG,EACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAEzG,QAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,iCAAiC;AACpE,aAAA,YAAY,EAAE;AACd,aAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAEjD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAC1C,GAAG,CAAC,CAAC,YAAY,KAAK,cAAc,CAAC,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,QAAQ,CAAC,CAAC,EAC7D,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;AAEF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAClC,GAAG,CAAC,CAAC,YAAY,KAAK,cAAc,CAAC,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,MAAM,CAAC,CAAC,EAC3D,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACrG;AACD,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KACxC;AACD,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KAC1C;AACD,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KAC1C;AACD,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KACxC;AACD,IAAA,IAAI,EAAE,GAAA;AACF,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;KACpC;IACD,IAAI,OAAO,CAAC,GAAQ,EAAA;QAChB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,OAAO,EAAE,CAAC;AAClB,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACjC;IACD,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;AACV,SAAA;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;KAEjC;AAED,IAAA,YAAY,CAAC,GAAG,EAAA;QACZ,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnC;AACD,IAAA,QAAQ,CAAC,GAAG,EAAA;AACR,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC/E;AAES,IAAA,WAAW,CAAC,OAAY,EAAA;;AAC9B,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,eAAe,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,CAAC,CAAC;AAChE,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,qBAAqB,CAAC,CAAC;AAC9E,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC,CAAC;AACvD,QAAA,IAAI,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;AAClB,YAAA,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACf,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5D,aAAA,CAAC,CAAC;AACN,SAAA;AACD,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,KAAK,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;KACxE;AAES,IAAA,YAAY,CAAC,IAAI,EAAA;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,QAAQ,IAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;KAC3F;AACS,IAAA,mBAAmB,CAAC,KAAiB,EAAA;QAC3C,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACtB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACX,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAc,OAAO,CAAC,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACxF;AACS,IAAA,gBAAgB,CAAC,IAAI,EAAA;AAC3B,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;AAElF,QAAA,IAAI,YAAY,EAAE;;YAEd,MAAM,CAAC,GAAU,EAAE,CAAC;YACpB,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,KAAI;gBACtD,CAAC,CAAC,IAAI,CAAC;oBACH,IAAI,EAAE,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;oBAC/D,EAAE,EAAE,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;AAC3D,iBAAA,CAAC,CAAC;AACP,aAAC,CAAC,CAAC;AACH,YAAA,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC;AAC/B,SAAA;AACD,QAAA,OAAO,YAAY,CAAC;KACvB;AAES,IAAA,gBAAgB,CAAC,IAAqB,EAAA;AAC5C,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;AACzF,QAAA,OAAO,QAAQ,CAAC;KACnB;AACS,IAAA,qBAAqB,CAAC,OAAO,EAAA;QACnC,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC5F,QAAA,IAAI,WAAW,EAAE;AACb,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AAC9C,QAAA,IAAI,YAAY,EAAE;AACd,YAAA,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,KAAK,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AACtE,YAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAE5F,MAAM,OAAO,GAAG,CAAC,cAAc,IAAI,WAAW,MAAM,KAAK,CAAC;AAC1D,YAAA,OAAO,OAAO,CAAC;AAClB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;AACS,IAAA,mBAAmB,CAAC,IAAI,EAAA;AAC9B,QAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,wBAAwB,EAAE,GAAG,CAAC,CAAC;AAC9F,QAAA,OAAO,eAAe,CAAC;KAC1B;AACS,IAAA,YAAY,CAAC,OAAO,EAAA;QAC1B,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;AACV,SAAA;QACD,OAAO,CAAC,EAAE,CAAC;YACP,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACrD,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YACvC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACpC,SAAA,CAAC,CAAC;AACH,QAAA,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACf,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC5D,SAAA,CAAC,CAAC;KACN;IACS,QAAQ,GAAA;AACd,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;KAEnC;IACS,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;KACjC;AACS,IAAA,YAAY,CAAC,IAAI,EAAA;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;AACS,IAAA,oBAAoB,CAAC,KAAK,EAAA;AAChC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACxC;AACS,IAAA,aAAa,CAAC,KAAK,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjC;IACS,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;KACrC;AACS,IAAA,SAAS,CAAC,OAAO,EAAA;AACvB,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;AACS,IAAA,kBAAkB,CAAC,SAAwB,EAAA;AACjD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC1C;AACS,IAAA,eAAe,CAAC,OAAO,EAAA;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KAC3B;AACJ;;MC/TY,WAAW,CAAA;AAGpB,IAAA,WAAA,GAAA;QADQ,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAW,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KACxD;AACD,IAAA,WAAW,CAAC,aAAqB,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;KAC7E;AACD,IAAA,YAAY,CAAC,aAAqB,EAAA;QAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC;KAC9F;AACJ;;MCZY,gBAAgB,CAAA;AAIzB,IAAA,WAAA,CAA4C,cAAgC,EAAA;AAAhC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkB;KAAI;IAChF,WAAW,GAAA;QACP,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;AAChC,SAAA;KACJ;AACD,IAAA,mBAAmB,CAAC,gBAAkC,EAAA;AAClD,QAAA,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;AAChC,SAAA;KACJ;IACO,MAAM,GAAA;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;KACnD;IACO,MAAM,GAAA;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChD,SAAA;KACJ;;6GAvBQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;iHAAhB,gBAAgB,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;;;8BAKM,QAAQ;;8BAAI,QAAQ;;;;MCHxB,uBAAuB,CAAA;AAIhC,IAAA,WAAA,GAAA;QAFQ,IAAA,CAAA,uBAAuB,GAAG,IAAI,eAAe,CAAkB,EAAE,CAAC,CAAC;AAGvE,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,uBAAuB;AACrD,aAAA,YAAY,EAAE;AACd,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,KAAK,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3G;IACD,aAAa,CAAC,EAAE,EAAE,GAAY,EAAA;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;AAC3D,QAAA,UAAU,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACrB,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACjD;AACJ;;MCZY,aAAa,CAAA;AActB,IAAA,WAAA,GAAA;QANQ,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC/C,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAC;AAC1C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAAQ,CAAC;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,OAAO,EAAS,CAAC;AACxC,QAAA,IAAiB,CAAA,iBAAA,GAAU,EAAE,CAAC;QAGlC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;QAC9D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACzG;AACD,IAAA,WAAW,CAAC,GAAY,EAAA;AACpB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC3B;AACD,IAAA,WAAW,CAAC,GAAG,EAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,SAAA;KACJ;IACD,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;KACnC;AACD,IAAA,aAAa,CAAC,EAAE,EAAA;QACZ,IAAI,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACtD;AACD,IAAA,gBAAgB,CAAC,EAAE,EAAA;AACf,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACtD;;0GAtCQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;MCIE,kBAAkB,CAAA;AAC3B,IAAA,WAAA,CAAoB,aAA4B,EAAA;AAA5B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAI;AAEpD,IAAA,OAAO,CACH,KAA6B;;;;;;;;;;;;;AAc7B,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC9D;;+GAnBQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cADL,MAAM,EAAA,CAAA,CAAA;2FACnB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCErB,SAAS,CAAA;IAClB,WAAoB,CAAA,MAAc,EAAY,aAA4B,EAAA;AAAtD,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAAY,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAI;AAE9E,IAAA,WAAW,CACP,sBAA8C;;;;QAI9C,MAAM,GAAG,GAAG,SAAS,CAAE,sBAA8B,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AACxE,QAAA,IAAI,IAAI,GAAG,CAAA,EAAA,GAAA,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;AACrE,QAAA,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;AAClB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CACnD,GAAG,CAAC,CAAC,QAAQ,KAAI;YACb,MAAM,iBAAiB,GAAG,CAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,YAAY,KAAI,QAAQ,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AACpF,YAAA,MAAM,aAAa,GACf,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc;AAC7E,gBAAA,CAAC,iBAAiB,CAAC;AACvB,YAAA,OAAO,aAAa,CAAC;SACxB,CAAC,EACF,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC9C,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,KAAI;YAChC,IAAI,CAAC,aAAa,EAAE;gBAChB,MAAM,SAAS,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;AACnF,gBAAA,MAAM,UAAU,GAAG,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,KAAK,KAAI,OAAO,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACtC,aAAA;AACL,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,aAAa,CAAC,CAC1C,CAAC;KACL;;sGA7BQ,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;0GAAT,SAAS,EAAA,CAAA,CAAA;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB,UAAU;;;MCkCE,aAAa,CAAA;AAkCtB,IAAA,WAAA,CACY,GAA4B,EAC5B,UAAsB,EACtB,UAAsB,EACtB,aAAiC,EACjC,QAAkB,EAClB,OAAe,EACf,SAAmB,EAAA;AANnB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAyB;AAC5B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AACtB,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAoB;AACjC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AAxCxB,QAAA,IAAS,CAAA,SAAA,GAAG,CAAC,CAAC;QAErB,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AACnD,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;AACf,QAAA,IAAU,CAAA,UAAA,GAAQ,EAAE,CAAC;AACrB,QAAA,IAAY,CAAA,YAAA,GAAQ,EAAE,CAAC;AAGvB,QAAA,IAAc,CAAA,cAAA,GAAiD,EAAE,CAAC;AAClE,QAAA,IAAK,CAAA,KAAA,GAAoB,EAAE,CAAC;AAC5B,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,eAAe,CAAU,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAEvE,QAAA,IAAU,CAAA,UAAA,GAA4C,EAAE,CAAC;QACzD,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAyB,IAAI,CAAC,CAAC;QAOrE,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC;QAChD,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAwB,GAAG,CAAC,CAAC;QACpE,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACtD,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC7D,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;QACjD,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAyB,IAAI,CAAC,CAAC;QACtE,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAuB,IAAI,CAAC,CAAC;QAClE,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAA6B,IAAI,CAAC,CAAC;QAC7E,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAwB,EAAE,CAAC,CAAC;QACjE,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAyB,IAAI,CAAC,CAAC;QAClE,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAyB,IAAI,CAAC,CAAC;QACxE,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AAC/C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;QAUzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;KACpE;AACD,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;KAC7C;AACD,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC9C;AACD,IAAA,IAAI,mBAAmB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KACzG;AAED,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;KAC3C;AACD,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;KAC3C;AACD,IAAA,IAAI,OAAO,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC5C;AACD,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;KAClD;AACD,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;KAC/C;AACD,IAAA,IAAI,mBAAmB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;KACnD;AACD,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;KAC5C;AACD,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACjD;AACD,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;KAC9C;AACD,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KAChD;IACM,iBAAiB,GAAA;AACpB,QAAA,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC;AACzB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,MAAM,EAAE,0BAA0B;AAClC,YAAA,SAAS,EAAE,CAAC,MAA6B,KAAI;AACzC,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrC;AACD,YAAA,MAAM,EAAE,CAAC,CAAC,KAAI;AACV,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC5B;AACJ,SAAA,CAAC,CAAC;KACN;AACD,IAAA,aAAa,CAAC,IAAY,EAAA;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAChC;IACD,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC9B;AACD,IAAA,YAAY,CAAC,KAAoB,EAAA;AAC7B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpC;AACD,IAAA,cAAc,CAAC,KAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACtC;AACD,IAAA,qBAAqB,CAAC,kBAAuC,EAAA;AACzD,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KACtD;AACD,IAAA,QAAQ,CAAC,QAAyB,EAAA;AAC9B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC3C;IACD,OAAO,CAAC,GAAG,EAAE,IAAI,EAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,SAAA;AAAM,aAAA;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,MAAM,KAAK,IAAI,EAAE;gBACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,aAAA;AACJ,SAAA;KACJ;AACD,IAAA,OAAO,CAAC,GAAG,EAAE,YAAA,GAAoB,IAAI,EAAA;AACjC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,eAAe,CAAM,YAAY,CAAC,CAAC;AACjE,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC;KAC9C;AACD,IAAA,WAAW,CAAI,GAAG,EAAE,YAAA,GAAoB,IAAI,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AACvB,YAAA,OAAO,YAAY,CAAC;AACvB,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC1C;AACD,IAAA,eAAe,CAAC,OAAO,EAAA;QACnB,OAAO,IAAI,CACP,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AAC5B,YAAA,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAI;AAClE,gBAAA,IAAI,GAAG,EAAE;oBACL,MAAM,CAAC,GAAG,CAAC,CAAC;AACf,iBAAA;AAAM,qBAAA;oBACH,OAAO,CAAC,MAAM,CAAC,CAAC;AACnB,iBAAA;AACL,aAAC,CAAC,CAAC;SACN,CAAC,CACL,CAAC;KACL;IACD,eAAe,CACX,OAAO,EACP,GAAqB,EACrB,QAAkB,EAClB,eAAwB,KAAK,EAAA;AAE7B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CACrC,UAAU,CAAC,CAAC,YAAY,KACpB,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CACjF,GAAG,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EACpE,GAAG,CAAC,MAAM,YAAY,CAAC,CAC1B,CACJ,CACJ,CAAC;KACL;AACD,IAAA,qBAAqB,CAAC,eAAe,EAAE,QAAkB,EAAE,YAAY,EAAA;AACnE,QAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACpG,QAAA,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAC3E,eAAe,EACf,eAAe,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CACpF,GAAG,CAAC,CAAC,SAAS,KAAI;AACd,YAAA,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;AAC7C,YAAA,iBAAiB,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC;AAC1C,YAAA,iBAAiB,CAAC,OAAO,GAAG,eAAe,CAAC;AAC5C,YAAA,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;AAC9C,YAAA,eAAe,CAAC,SAAS,GAAG,iBAAiB,CAAC;AAC9C,YAAA,OAAO,SAAS,CAAC;SACpB,CAAC,CACL,CAAC;KACL;IACD,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;AACxD,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AACvE,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAEjG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AACpD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB;AACvC,aAAA,YAAY,EAAE;aACd,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,GAAI,EAAU,CAAC,CAAC,CAAC,CAAC;AACvF,QAAA,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;aACtB,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,EACf,YAAY,CAAC,IAAI,CAAC,EAClB,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CACzC;AACA,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACb,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AAC3B,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnC,SAAC,CAAC,CAAC;QAEP,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAE/D,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe;AACpC,aAAA,YAAY,EAAE;AACd,aAAA,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC;KAC9F;IACD,cAAc,GAAA;AACV,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC/C,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC3C;IACD,oBAAoB,GAAA;AAChB,QAAA,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;AACtC,QAAA,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,IAAI,WAAW,GAA0B,GAAG,CAAC;AAC7C,QAAA,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,EAAE;YAC1B,WAAW,GAAG,GAAG,CAAC;AACrB,SAAA;aAAM,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,GAAG,EAAE;YAC5D,WAAW,GAAG,GAAG,CAAC;AACrB,SAAA;aAAM,IAAI,MAAM,CAAC,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;YAC7D,WAAW,GAAG,GAAG,CAAC;AACrB,SAAA;AAAM,aAAA;YACH,WAAW,GAAG,IAAI,CAAC;AACtB,SAAA;AACD,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;QACD,IAAI,SAAS,IAAI,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,IAAI,EAAE;AAC1D,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACtB;AACD,IAAA,aAAa,CAAC,UAA2B,EAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,IAAI,CACf,SAAS,CAAC,CAAC,OAAO,KAAI;AAClB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;AACxE,YAAA,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC;SAC5B,CAAC,CACL,CAAC;KACL;AACD,IAAA,SAAS,CAAC,UAA2B,EAAA;QACjC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC;AACtD,QAAA,MAAM,IAAI,GAAG,CAAmB,gBAAA,EAAA,SAAS,UAAU,CAAC;AACpD,QAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;QACxC,MAAM,IAAI,GAAG,CAAG,EAAA,IAAI,IAAI,SAAS,CAAA,UAAA,EAAa,IAAI,CAAA,CAAE,CAAC;QACrD,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAChB,SAAS,CAAC,MAAK;AACX,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC/D,YAAA,IAAI,OAAO,EAAE;AACT,gBAAA,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;AACtB,aAAA;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SAC7F,CAAC,CACL,CAAC;KACL;AAED,IAAA,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAA;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAChC,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,OAAO,SAAS,EAAE;AAC1C,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,SAAA;AACD,QAAA,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YACvB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACjE;IAED,YAAY,CACR,UAAkB,EAClB,UAAkB,EAClB,aAAqB,EACrB,QAAgB,EAChB,cAAwB,EAAA;AAExB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;KAChF;AACD,IAAA,OAAO,CAAC,IAAI,EAAA;QACR,OAAO,IAAI,CACP,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;YACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,YAAA,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC/C,YAAA,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACjC,YAAA,MAAM,CAAC,MAAM,GAAG,MAAK;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,aAAC,CAAC;AACF,YAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,UAAU,CAAC,MAAK;AACZ,gBAAA,MAAM,EAAE,CAAC;aACZ,EAAE,IAAI,CAAC,CAAC;SACZ,CAAC,CACL,CAAC;KACL;AAED,IAAA,aAAa,CAAC,UAAkB,EAAA;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;KACtD;AACD,IAAA,oBAAoB,CAAC,UAAkB,EAAA;AACnC,QAAA,MAAM,SAAS,GAAG;AACd,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,MAAM,EAAE,OAAO;AACf,gBAAA,IAAI,EAAE,OAAO;;AAEhB,aAAA;AACD,YAAA,UAAU,EAAE,UAAU;AACtB,YAAA,SAAS,EAAE,iBAAiB;SAC/B,CAAC;QACF,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,KAAI;AACrD,YAAA,QAAQ,CAAC,EAAE,CAAC,aAAa,CACrB,EAAE,SAAS,EAAE,EACb,CAAC,MAAmB,KAAI;AACpB,gBAAA,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzB,aAAC,EACD,CAAC,GAAG,KAAI;gBACJ,MAAM,CAAC,GAAG,CAAC,CAAC;AAChB,aAAC,CACJ,CAAC;AACN,SAAC,CAAC,CAAC;KACN;IACD,iBAAiB,CAAC,EAAE,EAAE,cAAmB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;KACxC;AACD,IAAA,kBAAkB,CAAC,MAAe,EAAA;AAC9B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrC;AACD,IAAA,eAAe,CAAC,UAAkC,EAAA;QAC9C,IAAI,CAAC,UAAU,EAAE;YACb,OAAO;AACV,SAAA;QACD,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AACrD,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;KACN;AACD,IAAA,mBAAmB,CAAC,UAAkC,EAAA;QAClD,IAAI,CAAC,UAAU,EAAE;YACb,OAAO;AACV,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;;AACrD,YAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CACP,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAA,EAAA,GAAA,QAAQ,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CACrG,CAAC;YACF,IAAI,QAAQ,CAAC,cAAc,EAAE;AACzB,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAA,EAAA,GAAA,UAAU,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACnG,aAAA;AAED,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACjC,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;YAE9B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/B,SAAA;;KAEJ;IACD,QAAQ,GAAA;QACJ,UAAU,CAAC,WAAW,CAClB,oBAAoB,EACpB,IAAI,EACJ,KAAK,EACL,MAAK;;SAEJ,EACD,MAAK;YACD,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAChC,EACD,IAAI,CACP,CAAC;KACL;IACD,SAAS,GAAA;QACL,UAAU,CAAC,WAAW,CAClB,qBAAqB,EACrB,IAAI,EACJ,KAAK,EACL,MAAK;;SAEJ,EACD,MAAK;YACD,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACjC,EACD,IAAI,CACP,CAAC;KACL;AACD,IAAA,aAAa,CAAC,QAAuB,EAAA;;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1B,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA,EAAE;YAC7C,OAAO;AACV,SAAA;QACD,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AACpD,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;KACN;;IAED,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAA;AAC7E,QAAA,OAAO,EAAE,CAAC;KACb;AACD,IAAA,YAAY,CACR,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,UAAU,EACV,UAAA,GAA4B,IAAI,EAChC,iBAA0B,KAAK,EAAA;AAE/B,QAAA,IAAI,UAAU,GAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,UAAU,CAAC;QACvB,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,YAAY,GAAU,EAAE,CAAC;AAC/B,QAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AACzB,QAAA,YAAY,CAAC,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE;YACjB,YAAY,CAAC,OAAO,GAAG;AACnB,gBAAA,QAAQ,EAAE,kBAAkB;aAC/B,CAAC;AACL,SAAA;QACD,IAAI,IAAI,KAAK,EAAE,EAAE;AACb,YAAA,YAAY,CAAC,SAAS,GAAG,MAAM,CAAC;AACnC,SAAA;AACD,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,YAAY,CAAC,UAAU,GAAG,UAAU,CAAC;AACxC,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,aAAa,EAAE;AACf,gBAAA,YAAY,CAAC,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC;AAC1C,aAAA;AACD,YAAA,YAAY,CAAC,YAAY,GAAG,MAAK;AAC7B,gBAAA,MAAM,YAAY,GAAsB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC1E,gBAAA,MAAM,WAAW,GAAG;AAChB,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,SAAS,EAAE,UAAU;oBACrB,GAAG;oBACH,QAAQ,EAAE,CAAC,UAAU,CAAC;iBACzB,CAAC;gBACF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CACzC,SAAS,CAAC,CAAC,UAA2B,KAAK,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAC7E,CAAC;gBACF,OAAO,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CACjC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAC5C,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC,EAChD,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CACrC,CAAC;AACN,aAAC,CAAC;AACL,SAAA;AAED,QAAA,OAAO,YAAY,CAAC;KACvB;IACD,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1C;IACM,gBAAgB,GAAA;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CACrC,GAAG,CAAC,CAAC,MAAmB,KAAI;YACxB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAC/C,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9B,gBAAA,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpF,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AACL,SAAC,CAAC,EACF,QAAQ,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC,CAAC,CACL,CAAC;KACL;IACM,WAAW,CAAC,GAAW,EAAE,MAAe,EAAA;;QAC3C,IAAI,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE;YACrC,OAAO,IAAI,CAAC,WAAW,CAAC;AAC3B,SAAA;QAED,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;AACvB,YAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;AACnC,SAAA;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC3C,QAAA,UAAU,CAAC,QAAQ,GAAG,EAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,YAAY,CAAA,CAAC;QAE9C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU;aACrC,kBAAkB,CAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,EAAE,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,0CAAE,aAAa,CAAC,SAAS,CAAC;aAC3F,IAAI,CACD,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAC/B,GAAG,CAAC,CAAC,MAAM,KAAI;YACX,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC9B,CAAC,EACF,aAAa,CAAC,CAAC,CAAC,EAChB,QAAQ,EAAE,CACb,CAAC;;;;;;;;;AAUN,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;KACnC;AACM,IAAA,WAAW,CAAC,aAAa,EAAA;;;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;AACnB,SAAA;AACD,QAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;AAEvB,QAAA,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;AAClC,SAAA;AAED,QAAA,UAAU,CAAC,QAAQ,GAAG,EAAC,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,YAAY,CAAA,CAAC;QAC9C,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU;AACpC,aAAA,kBAAkB,CAAC,EAAE,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC,SAAS,CAAC;aACjF,IAAI,CACD,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAC/B,GAAG,CAAC,CAAC,MAAM,KAAI;YACX,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SAC9B,CAAC,EACF,aAAa,CAAC,CAAC,CAAC,EAChB,QAAQ,EAAE,CACb,CAAC;;;;;;;;;AAUN,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KAClC;IAED,aAAa,CAAC,MAA2B,EAAE,aAA+B,EAAA;QACtE,OAAO;KACV;IACD,iBAAiB,CAAC,MAA2B,EAAE,aAA+B,EAAA;;AAC1E,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,aAAa,KAAb,IAAA,IAAA,aAAa,KAAb,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAa,CAAE,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;YACpC,OAAO;AACV,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACnC,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACjD,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAY,EAAE,CAAC;AAC7B,QAAA,IAAI,WAAW,EAAE;YACb,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;;AACvC,gBAAA,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAC/B,KAAK,EACL,IAAI,EACJ,KAAK,CAAC,YAAY,EAClB,CAAA,EAAA,GAAA,KAAK,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAC1B,IAAI,EACJ,IAAI,CACP,CAAC;AACF,gBAAA,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,aAAC,CAAC,CAAC;;YAGF,WAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAEjE,YAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;KACJ;IAEM,mBAAmB,GAAA;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,IAAI,CAC3G,GAAG,CAAC,CAAC,aAAa,KAAI;AAClB,YAAA,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;AACzC,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AACjC,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC3C,SAAC,CAAC,EACF,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EACzC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAC1E,CAAC;KACL;IACM,uBAAuB,GAAA;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAChD,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAC/B,QAAQ,CAAC,aAAa,CAAC,eAAe,CACzC,CAAC;AACF,QAAA,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;AAEzC,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AAEjC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KAC7D;IACM,kBAAkB,GAAA;AACrB,QAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/F,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,aAAa,CAAC;AAEjC,QAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AAEjC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KAC7D;IACM,qBAAqB,GAAA;AACxB,QAAA,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC;AACzB,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,MAAM,EAAE,uBAAuB;AAC/B,YAAA,SAAS,EAAE,CAAC,iBAAsC,KAAI;AAClD,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;aACrD;AACD,YAAA,MAAM,EAAE,CAAC,CAAC,KAAI;AACV,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC5B;AACJ,SAAA,CAAC,CAAC;KACN;AAED,IAAA,oBAAoB,CAChB,cAAmB,EACnB,MAAc,EACd,cAA8B,EAC9B,eAA0B,EAC1B,MAAe,EACf,QAAA,GAAoB,KAAK,EAAA;;QAEzB,IAAI,CAAC,cAAc,EAAE;AACjB,YAAA,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACnD,OAAO;AACV,SAAA;AACD,QAAA,MAAM,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;AAC7B,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,2BAA2B,EAAE,IAAI,CAAC,CAAC;AACzG,QAAA,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;AAC1G,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CACjD,cAAc,EACd,+CAA+C,EAC/C,IAAI,CACP,CAAC;AACF,QAAA,IAAI,YAAY,EAAE;YACd,OAAO,GAAG,IAAI,CAAC;AAClB,SAAA;AACD,QAAA,cAAc,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;AACzC,QAAA,cAAc,CAAC,OAAO,GAAG,OAAO,CAAC;AACjC,QAAA,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,UAAU,CAAC,CAAC;AAC5D,QAAA,MAAM,WAAW,GAAG;AAChB,YAAA,EAAE,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE;YACrC,IAAI,EAAE,EAAE,CAAC,UAAU;AACnB,YAAA,IAAI,EAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,GAAG,IAAI;YACtC,KAAK,EAAE,EAAE,CAAC,SAAS;AACnB,YAAA,GAAG,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAc,KAAd,IAAA,IAAA,cAAc,KAAd,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,cAAc,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,0CAAE,UAAU;YAC9C,EAAE,EAAE,UAAU,GAAG,UAAU,GAAG,EAAE,CAAC,MAAM,KAAK,KAAK,GAAG,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,QAAQ;SACpF,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;AAC3C,QAAA,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACpC,WAAW,CAAA,EAAA,EACd,cAAc,EAAA,CAAA,CAChB,CAAC;AACN,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,KAAK,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;AACvC,YAAA,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,QAAQ,CACX;oBACI,MAAM;AACN,oBAAA;AACI,wBAAA,OAAO,EAAE;AACL,4BAAA,IAAI,EAAE,CAAC,MAAM,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,WAAW,CAAA,EAAA,EAAE,gBAAgB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAG,CAAA,CAAA;AAC1E,yBAAA;AACJ,qBAAA;iBACJ,EACD;oBACI,KAAK;AACL,oBAAA,UAAU,EAAE,cAAc;AAC1B,oBAAA,kBAAkB,EAAE,QAAQ;AAC/B,iBAAA,CACJ,CAAC;AACL,aAAA;AAAM,iBAAA;gBACH,MAAM,CAAC,QAAQ,CACX;oBACI,OAAO;AACP,oBAAA;AACI,wBAAA,OAAO,EAAE;4BACL,IAAI,EAAE,CAAC,MAAM,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,WAAW,CAAE,EAAA,EAAA,gBAAgB,EAAE,EAAE,EAAG,CAAA,CAAA;AAC3D,yBAAA;AACJ,qBAAA;iBACJ,EACD;AACI,oBAAA,UAAU,EAAE,cAAc;oBAC1B,KAAK;AACL,oBAAA,mBAAmB,EAAE,UAAU;AAC/B,oBAAA,kBAAkB,EAAE,QAAQ;AAC/B,iBAAA,CACJ,CAAC;AACL,aAAA;AACJ,SAAA;KACJ;IACM,WAAW,GAAA;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,CACpC,CAAC,EACD,IAAI,EACJ,CAAC,IAAI,KAAI;gBACL,OAAO,CAAC,IAAI,CAAC,CAAC;AAClB,aAAC,EACD,CAAC,GAAG,KAAI;gBACJ,MAAM,CAAC,GAAG,CAAC,CAAC;AAChB,aAAC,CACJ,CAAC;AACN,SAAC,CAAC,CAAC;KACN;AACO,IAAA,eAAe,CAAC,GAAW,EAAA;AAC/B,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;QAC3D,OAAO,UAAU,IAAI,IAAI,CAAC;KAC7B;IACO,kBAAkB,CAAC,OAA+B,EAAE,UAAkB,EAAA;QAC1E,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;AACnD,QAAA,IAAI,aAAmC,CAAC;QACxC,IAAI,WAAW,YAAY,eAAe,EAAE;YACxC,aAAa,GAAG,WAAW,CAAC;AAC/B,SAAA;AAAM,aAAA;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,WAAW,CAAC,CAAC;AAC9E,YAAA,aAAa,GAAG,QAAQ,CAAC,eAAe,CAAC;AAC5C,SAAA;AACD,QAAA,OAAO,aAAa,CAAC;KACxB;AAEO,IAAA,oBAAoB,CAAC,GAAW,EAAE,QAAkB,EAAE,UAAkB,EAAA;AAC5E,QAAA,IAAI,OAAO,CAAC;QACZ,IAAI,GAAG,KAAK,EAAE,EAAE;YACZ,OAAO,GAAG,MAAM,CAAC;YACjB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACzB,gBAAA,IAAI,OAAO,OAAO,KAAK,OAAO,SAAS,EAAE;AACrC,oBAAA,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACxB,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAChC,SAAA;AACD,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,EAAE;AAChC,YAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;gBACnB,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACjD,aAAC,CAAC,CAAC;AACN,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;;0GAvvBQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFV,MAAM,EAAA,CAAA,CAAA;2FAET,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;MCtCY,SAAS,CAAA;AAOlB,IAAA,WAAA,GAAA;AANA,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAO,CAAC;QACjC,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;AAIvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAW,CAAC;QAE/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KAC5D;AACD,IAAA,UAAU,CAAC,MAAe,EAAA;AACtB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACvC;AACD,IAAA,cAAc,CAAC,GAAQ,EAAA;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC9B;;sGAfQ,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;0GAAT,SAAS,EAAA,CAAA,CAAA;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB,UAAU;;;MCIE,iBAAiB,CAAA;AAC1B,IAAA,SAAS,CACL,IAAY,EACZ,EAAuB,EACvB,OAAiE,EACjE,OAAiB,EAAA;;AAEjB,QAAA,MAAM,SAAS,GAAG,OAAO,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,0CAAE,IAAI,GAAG,IAAI,CAAC;AAClG,QAAA,IAAI,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;AAChD,QAAA,IAAI,OAAO,EAAE;AACT,YAAA,IAAI,UAAU,GAAG,SAAS,GAAG,CAAA,EAAA,GAAA,EAAE,CAAC,SAAS,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,GAAG,SAAS,CAAC;AACjE,YAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACnC,gBAAA,UAAU,GAAG,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AAC3C,aAAA;AACD,YAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;gBACnC,UAAU,GAAG,GAAG,CAAC;AACpB,aAAA;YACD,GAAG,GAAG,UAAU,CAAC;AACpB,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACd;;8GApBQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAjB,iBAAiB,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,MAAM;iBACf,CAAA;;;MCAY,WAAW,CAAA;AACpB,IAAA,SAAS,CAAC,KAAsB,EAAE,gBAAwB,EAAE,qBAA8B,EAAA;QACtF,IAAI,KAAK,KAAK,EAAE,EAAE;AACd,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC5C,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,GAAG,CAAC,EAAE;YAC9D,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAC3D,SAAA;aAAM,IAAI,CAAC,qBAAqB,EAAE;AAC/B,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,KAAK,CAAC,GAAG,EAAE,SAAS,EAAA;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AACvC,QAAA,MAAM,UAAU,GAAG,GAAG,GAAG,MAAM,CAAC;QAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEjD,OAAO,iBAAiB,GAAG,MAAM,CAAC;KACrC;AACD,IAAA,QAAQ,CAAC,KAAK,EAAA;AACV,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClD,QAAA,OAAO,MAAM,CAAC;KACjB;;wGA3BQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAX,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,SAAS;iBAClB,CAAA;;;MCEY,WAAW,CAAA;IACpB,SAAS,CAAC,UAAiB,EAAE,QAAgB,EAAA;;QAEzC,IAAI,CAAC,UAAU,EAAE;AACb,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;QAED,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAI;AAC9D,YAAA,IAAI,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE;AAChC,gBAAA,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AACpC,aAAA;AAAM,iBAAA,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE;gBAC5E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE;AACvC,oBAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpD,iBAAA;AAAM,qBAAA;AACH,oBAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtD,iBAAA;AACJ,aAAA;AAAM,iBAAA;gBACH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;oBAC9B,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC3C,iBAAA;AAAM,qBAAA;oBACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7C,iBAAA;AACJ,aAAA;AACD,YAAA,OAAO,QAAQ,CAAC;SACnB,EAAE,EAAE,CAAC,CAAC;;AAGP,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;AAChD,YAAA,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;YAClB,GAAG;AACH,YAAA,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC;AAChC,SAAA,CAAC,CAAC,CAAC;KACP;;wGAhCQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAX,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,SAAS;iBAClB,CAAA;;;MCCY,gBAAgB,CAAA;AACzB,IAAA,SAAS,CAAC,GAAW,EAAA;;QACjB,IAAI,CAAC,GAAG,EAAE;AACN,YAAA,OAAO,GAAG,CAAC;AACd,SAAA;QACD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,OAAO,GAAG,IAAI,CAAC;AAClB,SAAA;AACD,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzC,IAAI,MAAM,GAAG,CAAA,EAAA,GAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;AACxC,QAAA,IAAI,OAAO,EAAE;YACT,MAAM,IAAI,GAAG,CAAC;AACjB,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;;6GAhBQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,cAAc;iBACvB,CAAA;;;MCEY,eAAe,CAAA;AACxB,IAAA,WAAA,CAAoB,OAAyB,EAAA;AAAzB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;KAAI;AACjD,IAAA,SAAS,CAAC,QAA2B,EAAE,SAAA,GAAqB,KAAK,EAAA;QAC7D,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI;;AACzB,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC;YACvC,IAAI,CAAC,QAAQ,EAAE;AACX,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChD,YAAA,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,KAAI,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAA,EAAE;AAC7C,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpD,YAAA,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,KAAI,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAA,EAAE;AAC5D,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AACD,YAAA,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE;AACjE,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AAChB,SAAC,CAAC,CAAC;KACN;;4GAxBQ,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0GAAf,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,aAAa;iBACtB,CAAA;;;MCAY,oBAAoB,CAAA;AAC7B,IAAA,WAAA,GAAA,GAAgB;IAChB,SAAS,CAAC,KAAU,EAAE,IAAa,EAAA;QAC/B,IAAI,CAAC,IAAI,EAAE;AACP,YAAA,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;AAChC,SAAA;;AAED,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9B;;iHARQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;iBACrB,CAAA;;;MCAY,gBAAgB,CAAA;AACzB,IAAA,SAAS,CAAC,OAAc,EAAA;AACpB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACxB,YAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACtB,gBAAA,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AACvB,oBAAA,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;AAChD,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;;6GAVQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,cAAc;iBACvB,CAAA;;;MCCY,kBAAkB,CAAA;AAC3B,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,IAAwB,EAAA;AAC9B,QAAA,IAAI,IAAI,EAAE;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,WAAW,GAAG,GAAG,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,KAAI;gBAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClC,gBAAA,WAAW,IAAI,CAAA,CAAA,EAAI,MAAM,CAAC,CAAC,CAAC,CAAM,GAAA,EAAA,MAAM,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,CAAC;AAC/C,gBAAA,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3B,WAAW,IAAI,GAAG,CAAC;AACtB,iBAAA;AACL,aAAC,CAAC,CAAC;YAEH,WAAW,IAAI,GAAG,CAAC;AACnB,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAClC,SAAA;AACD,QAAA,OAAO,EAAE,CAAC;KACb;;+GApBQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAlB,kBAAkB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,gBAAgB;iBACzB,CAAA;;;MCEY,cAAc,CAAA;AACvB,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,OAAqB,EAAE,QAA2B,EAAE,KAAmB,EAAA;QAC7E,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;QACD,IAAI,YAAY,GAAG,KAAK,CAAC;AACzB,QAAA,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI;YAC1B,IAAI,MAAM,GAAG,KAAK,CAAC;AACnB,YAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACzB,gBAAA,IAAI,YAAY,EAAE;oBACd,MAAM,GAAG,KAAK,CAAC;AAClB,iBAAA;AAAM,qBAAA;oBACH,MAAM,GAAG,IAAI,CAAC;oBACd,YAAY,GAAG,IAAI,CAAC;AACvB,iBAAA;AACJ,aAAA;AAAM,iBAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBACrC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC9C,IAAI,YAAY,IAAI,MAAM,EAAE;oBACxB,YAAY,GAAG,KAAK,CAAC;AACxB,iBAAA;AACJ,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAChC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;oBACzB,IAAI,CAAC,MAAM,EAAE;AACT,wBAAA,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,qBAAA;AACL,iBAAC,CAAC,CAAC;gBACH,IAAI,MAAM,IAAI,YAAY,EAAE;oBACxB,YAAY,GAAG,KAAK,CAAC;AACxB,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,MAAM,CAAC;AAClB,SAAC,CAAC,CAAC;KACN;AACD,IAAA,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAA;;AAC1B,QAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC5D,QAAA,IACI,CAAC,GAAG,KAAK,IAAI,KAAK,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC;AACjE,aAAC,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,EAC3D;AACE,YAAA,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAC,CAAA,EAAA,GAAA,GAAG,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAA,CAAC;AAC5C,SAAA;AACD,QAAA,OAAO,KAAK,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,EAAC,MAAA,GAAG,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAA,CAAC;KAC7D;;2GA5CQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yGAAd,cAAc,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;iBACrB,CAAA;;;MCAY,iBAAiB,CAAA;AAC1B,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,IAAwB,EAAA;AAC9B,QAAA,IAAI,IAAI,EAAE;YACN,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACxC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;;8GAPQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;iBACxB,CAAA;;;MCEY,WAAW,CAAA;AACpB,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,IAAY,EAAE,EAAuB,EAAE,OAAiB,EAAA;;QAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACpF,QAAA,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACxB,QAAA,IAAI,OAAO,EAAE;YACT,IAAI,UAAU,GAAG,CAAA,EAAA,GAAA,EAAE,CAAC,SAAS,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC;AACzC,YAAA,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;gBAChC,IAAI,CAAC,UAAU,EAAE;AACb,oBAAA,UAAU,GAAG,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AAC3C,iBAAA;gBACD,IAAI,CAAC,UAAU,EAAE;oBACb,UAAU,GAAG,GAAG,CAAC;AACpB,iBAAA;AACJ,aAAA;YACD,GAAG,GAAG,UAAU,CAAC;AACpB,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACd;;wGAlBQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sGAAX,WAAW,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,KAAK;iBACd,CAAA;;;MCCY,UAAU,CAAA;IACnB,SAAS,CAAC,UAAiB,EAAE,UAAkC,EAAA;AAC3D,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;AAC5B,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;KACxE;IACD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AAC/C,YAAA,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,OAAO,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE;AACpD,gBAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC;AACf,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,WAAW,CAAC;AACvE,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KAChB;;uGAlBQ,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qGAAV,UAAU,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAHtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,QAAQ;iBACjB,CAAA;;;MCAY,aAAa,CAAA;AACtB,IAAA,SAAS,CAAC,UAAiB,EAAA;QACvB,IAAI,CAAC,UAAU,EAAE;AACb,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;KAC5D;;0GANQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,WAAW;iBACpB,CAAA;;;MCEY,uBAAuB,CAAA;AAChC,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,KAAe,EAAE,MAAc,EAAE,EAAuB,EAAE,OAAe,EAAA;QAC/E,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;;AACtB,YAAA,MAAM,SAAS,GAAG,OAAO,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,0CAAE,IAAI,GAAG,IAAI,CAAC;YAClG,IAAI,CAAC,GAAG,CAAC,EAAE;gBACP,MAAM,IAAI,MAAM,CAAC;AACpB,aAAA;YACD,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,EAAE,CAAC,SAAS,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC;YACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;AAC5C,YAAA,IAAI,OAAO,EAAE;gBACT,MAAM,IAAI,OAAO,CAAC;AACrB,aAAA;AAAM,iBAAA,IAAI,QAAQ,EAAE;gBACjB,MAAM,IAAI,QAAQ,CAAC;AACtB,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC;AAC3B,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,MAAM,CAAC;KACjB;;oHArBQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kHAAvB,uBAAuB,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;iBACrB,CAAA;;;MCCY,gBAAgB,CAAA;IACzB,SAAS,CACL,UAAoC,EACpC,UAGC,EAAA;AAED,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE;AAC5B,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC;KACxE;IACD,WAAW,CAAC,KAAK,EAAE,UAAU,EAAA;AACzB,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAI;AAC/C,YAAA,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,SAAS,EAAE;AACZ,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AACD,YAAA,MAAM,GAAG,GAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,GAAG,EAAE;AACN,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;YACD,QAAQ,UAAU,CAAC,IAAI;AACnB,gBAAA,KAAK,UAAU;oBACX,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACvC,gBAAA,KAAK,QAAQ;oBACT,OAAO,GAAG,KAAK,SAAS,CAAC;AAC7B,gBAAA,KAAK,WAAW;AACZ,oBAAA,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACrC,gBAAA,KAAK,SAAS;AACV,oBAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACtC,aAAA;AACD,YAAA,OAAO,KAAK,CAAC;AACjB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,KAAK,CAAC;KAChB;;6GApCQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,WAAW;iBACpB,CAAA;;;MCGY,QAAQ,CAAA;AACjB,IAAA,SAAS,CAAC,KAAY,EAAE,SAAgC,GAAA,KAAK,EAAE,OAAgB,EAAA;AAC3E,QAAA,SAAS,GAAG,SAAS,IAAK,SAAS,CAAC,WAAW,EAAU,CAAC;AAE1D,QAAA,IAAI,CAAC,KAAK,KAAK,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE;AACzD,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QAED,IAAI,WAAW,GAAU,EAAE,CAAC;QAC5B,IAAI,WAAW,GAAU,EAAE,CAAC;QAE5B,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AACtE,YAAA,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;AACzE,SAAA;AAAM,aAAA;AACH,YAAA,WAAW,GAAG,KAAK;AACd,iBAAA,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AACnD,iBAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,YAAA,WAAW,GAAG,KAAK;AACd,iBAAA,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AACnD,iBAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;gBACX,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE;oBACzB,OAAO,CAAC,CAAC,CAAC;AACb,iBAAA;qBAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE;AAChC,oBAAA,OAAO,CAAC,CAAC;AACZ,iBAAA;AAAM,qBAAA;AACH,oBAAA,OAAO,CAAC,CAAC;AACZ,iBAAA;AACL,aAAC,CAAC,CAAC;AACV,SAAA;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC/C,QAAA,OAAO,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;KAC1D;;qGAhCQ,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;yGAAR,QAAQ,EAAA,CAAA,CAAA;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,UAAU;;kBACV,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,MAAM;iBACf,CAAA;;;MCAY,iBAAiB,CAAA;AAC1B,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,IAAY,EAAA;QAClB,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KACpD;;8GAJQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;iBACxB,CAAA;;;MCDY,iBAAiB,CAAA;AAC1B,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,KAAuB,EAAA;AAC7B,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AACxB,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;KACzD;;8GAPQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;iBACxB,CAAA;;;MCEY,aAAa,CAAA;IACtB,SAAS,CAAC,OAAe,EAAE,QAAuB,EAAA;QAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KACjD;IACD,cAAc,CAAC,OAAO,EAAE,UAAU,EAAA;;QAC9B,IAAI,CAAC,UAAU,EAAE;AACb,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,IAAI,UAAU,CAAC,OAAO,KAAK,OAAO,EAAE;AAChC,YAAA,OAAO,UAAU,CAAC;AACrB,SAAA;QACD,IAAI,MAAM,GAAyB,IAAI,CAAC;QACxC,CAAA,EAAA,GAAA,UAAU,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,CAAC,SAAS,KAAI;YACpC,IAAI,CAAC,MAAM,EAAE;gBACT,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACpD,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,MAAM,CAAC;KACjB;;0GAlBQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,WAAW;iBACpB,CAAA;;;MCAY,gBAAgB,CAAA;AACzB,IAAA,WAAA,GAAA,GAAgB;IAEhB,SAAS,CAAC,MAAM,EAAE,KAAK,EAAA;;AACnB,QAAA,IAAI,WAAW,CAAC;QAChB,IAAI,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,KAAK,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,MAAK,SAAS,EAAE;AACvC,YAAA,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AACxC,SAAA;AAAM,aAAA;YACH,WAAW,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AACvG,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACtB;;6GAXQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,mBAAmB;iBAC5B,CAAA;;;MCIY,qBAAqB,CAAA;AAE9B,IAAA,SAAS,CACL,KAAuB,EACvB,MAAc,EACd,OAAe,EACf,QAAgC,GAAA,IAAI,EACpC,QAAA,GAAgC,IAAI,EAAA;;QAEpC,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,cAAc,CAAC,IAAI,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;QACnF,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE;YACX,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,SAAA;aAAM,IAAI,CAAC,QAAQ,EAAE;YAClB,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,SAAA;QACD,IAAI,OAAO,KAAK,OAAO,EAAE;YACrB,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACtD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;KACnE;;kHAzBQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;gHAArB,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,mBAAmB;iBAC5B,CAAA;;;MCDY,wBAAwB,CAAA;AACjC,IAAA,SAAS,CAAC,MAAqB,EAAA;AAC3B,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CACtB,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,kBAAkB,KAAK,CAAC,CAAC,KAAK,KAAK,kBAAkB,IAAI,CAAC,CAAC,OAAO,CAAC,CACzF,CAAC;KACL;;qHALQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mHAAxB,wBAAwB,EAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,sBAAsB;iBAC/B,CAAA;;;MCIY,mBAAmB,CAAA;IAC5B,WAAoB,CAAA,OAAyB,EAAU,gBAAkC,EAAA;AAArE,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkB;AAAU,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAAI;IAE7F,SAAS,CAAC,UAAiB,EAAE,YAA2B,EAAA;QACpD,MAAM,OAAO,GAAQ,EAAE,CAAC;AACxB,QAAA,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,YAAA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;gBACrB,OAAO,CAAC,CAAC,OAAO,CAAC;AACrB,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,UAAU,CAAC;AACrB,SAAA;AACD,QAAA,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,QAAA,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,SAAS,KAAa,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;AAC3F,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACrB,MAAM;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAI;;gBAChB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBACrE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE;AAC9B,oBAAA,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBACzB,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,oBAAA,IAAI,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC5B,oBAAA,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA,EAAA,GAAA,MAAM,CAAC,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,CAAC,IAAI,CAAC,CAAC;AACzC,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBACxC,KAAK,GAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/B,wBAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,qBAAA;AACJ,iBAAA;AACD,gBAAA,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;aACxB,EAAE,OAAO,CAAC;iBACV,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,SAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC;AACf,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACtD,QAAA,OAAO,GAAG,CAAC;KACd;IAED,UAAU,CAAC,GAAG,EAAE,MAAoB,EAAE,IAAW,EAAE,QAAQ,EAAE,KAAK,EAAA;QAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;;YACjB,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE;AAC3D,gBAAA,MAAM,GAAG,GAAU,IAAI,CAAC,GAAG,CAAC,CAAC;AAE7B,gBAAA,MAAM,MAAM,GAAU;AAClB,oBAAA,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,GAAG,IAAI,GAAG;AAC9E,oBAAA,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,GAAG,CAAC,MAAM;AAClB,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,SAAS,EAAE,EAAE;AACb,oBAAA,WAAW,EAAE,IAAI;iBACpB,CAAC;gBACF,IAAI,MAAM,CAAC,OAAO,EAAE;AAChB,oBAAA,IAAI,MAAA,MAAM,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,EAAE;wBAC3B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzC,qBAAA;AAAM,yBAAA;wBACH,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC;AACvC,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACpB,IAAI,GAAG,CAAC,MAAM,EAAE;wBACZ,MAAM,CAAC,SAAS,GAAG,CAAA,MAAA,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,0CAAE,SAAS,MAAK,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AACzE,qBAAA;AACD,oBAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjB,oBAAA,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACd,wBAAA,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;AACnB,wBAAA,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC;AACrB,wBAAA,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,qBAAC,CAAC,CAAC;AACH,oBAAA,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACpB,iBAAA;AAAM,qBAAA;AACH,oBAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjB,IAAI,KAAK,GAAG,QAAQ,EAAE;AAClB,wBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAC1D,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACL,SAAC,CAAC,CAAC;KACN;;gHAhFQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,iBAAiB;iBAC1B,CAAA;;;MCHY,sBAAsB,CAAA;AAC/B,IAAA,WAAA,GAAA,GAAgB;IAChB,SAAS,CACL,KAAmB,EACnB,IAAY,EACZ,IAAmB,EACnB,UAAmB,EACnB,EAAW,EACX,EAAW,EAAA;AAEX,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,KAAK,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;AACzB,SAAA;AACD,QAAA,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAChE,QAAA,OAAO,GAAG,CAAC;KACd;;mHAfQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iHAAtB,sBAAsB,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,aAAa;iBACtB,CAAA;;;MCCY,aAAa,CAAA;IACtB,SAAS,CAAC,KAAa,EAAE,WAAmB,EAAA;QACxC,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,WAAW,CAAC;AACtB,SAAA;AACD,QAAA,QAAQ,KAAK;AACT,YAAA,KAAK,KAAK;AACN,gBAAA,OAAO,KAAK,CAAC;AACjB,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC;AAClB,YAAA,KAAK,QAAQ;AACT,gBAAA,OAAO,QAAQ,CAAC;AACpB,YAAA,KAAK,QAAQ;AACT,gBAAA,OAAO,WAAW,CAAC;AACvB,YAAA,KAAK,UAAU;AACX,gBAAA,OAAO,cAAc,CAAC;AAC1B,YAAA,KAAK,eAAe;AAChB,gBAAA,OAAO,SAAS,CAAC;AACrB,YAAA,KAAK,WAAW;AACZ,gBAAA,OAAO,YAAY,CAAC;AACxB,YAAA,KAAK,gBAAgB;AACjB,gBAAA,OAAO,aAAa,CAAC;AACzB,YAAA,KAAK,eAAe;AAChB,gBAAA,OAAO,aAAa,CAAC;AACzB,YAAA,KAAK,iBAAiB;AAClB,gBAAA,OAAO,cAAc,CAAC;AAE1B,YAAA;AACI,gBAAA,OAAO,WAAW,CAAC;AAC1B,SAAA;KACJ;;0GA9BQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,WAAW;iBACpB,CAAA;;;MCCY,iBAAiB,CAAA;AAC1B,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CACL,KAAY,EACZ,YAAuB,GAAA,CAAC,EACxB,OAAmB,GAAA,KAAK,EACxB,QAAA,GAAoB,KAAK;;;QAGzB,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,OAAO,IAAI,QAAQ,EAAE;YACrB,SAAS,GAAG,KAAK,CAAC;AACrB,SAAA;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;AAC9D,SAAA;AACD,QAAA,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,IAAI,eAAe,EAAE;YACvD,SAAS,GAAG,KAAK,CAAC;AACrB,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;;8GAtBQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,eAAe;iBACxB,CAAA;;;MCCY,aAAa,CAAA;AACtB,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,SAAS,CAAC,IAAgB,EAAA;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;;0GAJQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;wGAAb,aAAa,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,WAAW;iBACpB,CAAA;;;MCEY,gBAAgB,CAAA;IACzB,SAAS,CAAC,UAAiC,EAAE,UAAkB,EAAA;AAC3D,QAAA,OAAO,UAAU,CAAC,MAAM,CACpB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,KAClB,SAAS,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAChF,CAAC,CACJ,CAAC;KACL;;6GAPQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,cAAc;iBACvB,CAAA;;;MCEY,wBAAwB,CAAA;IACjC,SAAS,CACL,OAA2B,EAC3B,qBAAwD,EAAA;AAExD,QAAA,IAAI,CAAC,qBAAqB,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE;AACzD,YAAA,OAAO,OAAO,CAAC;AAClB,SAAA;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;KACrE;IACS,qBAAqB,CAC3B,OAA2B,EAC3B,qBAAwD,EAAA;AAExD,QAAA,IAAI,oBAAoB,CAAC;AACzB,QAAA,IAAI,qBAAqB,EAAE;YACvB,oBAAoB,GAAG,EAAE,CAAC;YAC1B,qBAAqB;AAChB,iBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAc,CAAC;AAC1B,iBAAA,OAAO,CACJ,CAAC,CAAC,MACG,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC;AACpE,kBAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC;kBACvD,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAC9B,CAAC;AACT,SAAA;AACD,QAAA,IAAI,oBAAoB,EAAE;AACtB,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;gBAClB,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnD,gBAAA,IAAI,YAAY,EAAE;AACd,oBAAA,CAAC,CAAC,qBAAqB,GAAG,YAAY,CAAC;AAC1C,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;AACD,QAAA,OAAO,OAAO,CAAC;KAClB;;qHAnCQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mHAAxB,wBAAwB,EAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,CAAA;yHAAxB,wBAAwB,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,UAAU;;kBACV,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,sBAAsB;iBAC/B,CAAA;;;MCCY,sBAAsB,CAAA;IAC/B,SAAS,CAAC,OAA2B,EAAE,IAAY,EAAA;QAC/C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;KACpF;;mHAHQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iHAAtB,sBAAsB,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,oBAAoB;AAC1B,oBAAA,IAAI,EAAE,IAAI;iBACb,CAAA;;;MCAY,0BAA0B,CAAA;IACnC,SAAS,CAAC,OAA2B,EAAE,cAAkC,EAAA;QACrE,IAAI,EAAC,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE;AAClB,YAAA,OAAO,OAAO,CAAC;AAClB,SAAA;AACD,QAAA,OAAO,OAAO,CAAC,MAAM,CACjB,CAAC,MAAM,KACH,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACpE,CAAC;KACL;;uHAVQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qHAA1B,0BAA0B,EAAA,IAAA,EAAA,wBAAA,EAAA,CAAA,CAAA;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,wBAAwB;iBACjC,CAAA;;;MCDY,mBAAmB,CAAA;AAC5B,IAAA,SAAS,CAAC,OAAgB,EAAE,qBAA8B,EAAE,UAAgB,EAAE,KAAW,EAAA;QACrF,OAAO,OAAO,IAAI,CAAC,qBAAqB;cAClC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACtC,cAAE,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI;kBACrC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;sBAC3C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACnC,sBAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU;AACxC,kBAAE,KAAK;AACP,sBAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU;sBAC7B,EAAE,CAAC;KACZ;;gHAXQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,iBAAiB;iBAC1B,CAAA;;;MCaY,cAAc,CAAA;AA4EvB,IAAA,WAAA,CAAoB,QAA0B,EAAA;AAA1B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;QA3E9C,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAwB,EAAE,CAAC,CAAC;QA+BlE,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAwC,EAAE,CAAC,CAAC;QACrF,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAgD,EAAE,CAAC,CAAC;AAEpF,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAO,CAAC;AACvC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAO,CAAC;QACpC,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACjD,IAAA,CAAA,YAAY,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACnD,IAAA,CAAA,yBAAyB,GAAG,IAAI,eAAe,CAAQ,EAAE,CAAC,CAAC;QAC3D,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QAC/C,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QACtD,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC;AACxD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAQ,CAAC;QAClC,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAClD,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACxD,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC;QACpD,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC,CAAC;QACnD,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACtD,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAa,EAAE,CAAC,CAAC;QACvD,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC5D,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC5D,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAC7D,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,eAAe,CAAkC;AACxE,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,KAAK,EAAE,EAAE;AACZ,SAAA,CAAC,CAAC;AACK,QAAA,IAAA,CAAA,iCAAiC,GAAG,IAAI,OAAO,EAGnD,CAAC;QACG,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAM,IAAI,CAAC,CAAC;QAEtD,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAuB,IAAI,CAAC,CAAC;QACvE,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAQ,EAAE,CAAC,CAAC;AACvD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAQ,CAAC;AACrC,QAAA,IAAwB,CAAA,wBAAA,GAAG,IAAI,CAAC;AAChC,QAAA,IAAuB,CAAA,uBAAA,GAA8B,EAAE,CAAC;QACxD,IAAA,CAAA,oCAAoC,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;AACvE,QAAA,IAAA,CAAA,iCAAiC,GAAG,IAAI,OAAO,EAAuB,CAAC;QACvE,IAAA,CAAA,6BAA6B,GAAG,IAAI,eAAe,CAAwB,EAAE,CAAC,CAAC;AAC/E,QAAA,IAAA,CAAA,oCAAoC,GAAG,IAAI,OAAO,EAAQ,CAAC;AAC3D,QAAA,IAAA,CAAA,4BAA4B,GAAG,IAAI,OAAO,EAAQ,CAAC;QACnD,IAAA,CAAA,2BAA2B,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAClE,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAA6B,IAAI,CAAC,CAAC;QAC/E,IAAA,CAAA,uBAAuB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAElE,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc;AAC9B,aAAA,YAAY,EAAE;aACd,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,EAC1C,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAC3C,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CACpD;AACA,aAAA,SAAS,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrG,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3G,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7F,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACnF,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACvF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,CACvD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CACpE,CAAC;AACF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACjF,QAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,iCAAiC;AACpE,aAAA,YAAY,EAAE;aACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAC/D,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC,CACzE,CAAC;QACF,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,oCAAoC,CAAC,YAAY,EAAE,CAAC;AAC/F,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACjG,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC,IAAI,CACjE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,CAAC,KACF,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAA,IAAA,EAAA,CAAA,CAAA,QAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,CAAC,CAAE,EAAA,EAAA,QAAQ,EAAE,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,KAAI,CAAC,CAAC,MAAM,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK,EAAA,CAAA,EAAG,EAAA,CAAC,CAC1G,EACD,GAAG,CAAC,CAAC,CAAC,KACF,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAK,OAAA,EAAC,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAA,CAAA,EAAA,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,CAAC,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAA,EAAA,CAAC,CAAC,CAClG,CACJ,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;AAChG,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/D,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,EAAE,CAAC,CAAC,CAAC;QAErF,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;QACnE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;QACjE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,CAAC;AAC/E,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAC1G,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,QAAA,IAAI,CAAC,uBAAuB,GAAG,aAAa,CAAC;AACzC,YAAA,IAAI,CAAC,6BAA6B,CAAC,YAAY,EAAE;AACjD,YAAA,IAAI,CAAC,iCAAiC,CAAC,YAAY,EAAE;AACxD,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,eAAe,CAAC,KAAI;YACnC,IAAI,eAAe,IAAI,WAAW,EAAE;AAChC,gBAAA,eAAe,CAAC,SAAS,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;AAClE,gBAAA,WAAW,GAAG,CAAC,eAAe,EAAE,GAAG,WAAW,CAAC,CAAC;AACnD,aAAA;AACD,YAAA,OAAO,WAAW,CAAC;AACvB,SAAC,CAAC,EACF,KAAK,CAAC,CAAC,CAAC,EACR,WAAW,CAAC,CAAC,CAAC,CACjB,CAAC;AACF,QAAA,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,oCAAoC;AAC1E,aAAA,YAAY,EAAE;AACd,aAAA,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,4BAA4B,GAAG,aAAa,CAAC;AAC9C,YAAA,IAAI,CAAC,8BAA8B;AACnC,YAAA,IAAI,CAAC,uBAAuB;AAC/B,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,QAAQ,KAAR,IAAA,IAAA,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAC3D,WAAW,CAAC,CAAC,CAAC,CACjB,CAAC;KACL;AACD,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;KACzC;AACD,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;KAC3C;AACD,IAAA,IAAI,iBAAiB,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACjD;AACD,IAAA,IAAI,kBAAkB,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;KAClD;AACD,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;KAC/C;AACD,IAAA,IAAI,QAAQ,GAAA;;QACR,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAE,CAAC;KAC5C;AACD,IAAA,IAAI,sBAAsB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,CAAC;KACxD;AACD,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;KACnF;AACD,IAAA,IAAI,eAAe,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;KAClD;AACD,IAAA,QAAQ,CAAC,KAAa,EAAA;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;KACtD;AACD,IAAA,qBAAqB,CAAC,GAAa,EAAA;QAC/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,GAAG,KAAK,WAAW,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC,CAAC;KAClH;AACD,IAAA,UAAU,CAAC,OAAO,EAAA;AACd,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACrC;AACD,IAAA,WAAW,CAAC,GAAY,EAAA;AACpB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;AACD,IAAA,aAAa,CAAC,GAAY,EAAA;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/B;AAED,IAAA,iBAAiB,CAAC,SAAkB,EAAA;AAChC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACjD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;QACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAwB,CAAC;AAChF,QAAA,KAAK,CAAC,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC/B,QAAA,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;AAC7B,QAAA,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;AAC5B,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAC1F,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;AACtD,SAAA;;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;AACD,IAAA,aAAa,CAAC,UAAU,EAAA;AACpB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC3C;IAED,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC/B;AAED,IAAA,eAAe,CAAC,SAAS,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;KACjE;AAED,IAAA,WAAW,CAAC,SAAS,EAAA;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;AACrC,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;KACjE;AAED,IAAA,eAAe,CAAC,UAAkC,EAAA;AAC9C,QAAA,MAAM,aAAa,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,UAAU,GAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACrE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;KAC/C;;IAED,WAAW,GAAA;;AACP,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,aAAa,CAAC,YAAY,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC;AACvF,QAAA,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;KACnC;IACD,MAAM,GAAA;;AACF,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,aAAa,CAAC,YAAY,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC;AACvF,QAAA,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;KACpC;IAED,kBAAkB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;KAChD;IAED,kBAAkB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC;KACjD;AACD,IAAA,aAAa,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;IAED,8BAA8B,GAAA;AAC1B,QAAA,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,CAAC;KACpD;IAED,qBAAqB,GAAA;AACjB,QAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC;KAC5C;AAED,IAAA,oBAAoB,CAAC,MAAe,EAAA;AAChC,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACjD;IAED,uBAAuB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAC1B,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,SAAS;aACT,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAC7D;AACA,aAAA,SAAS,EAAE,CAAC;KACpB;AAED,IAAA,sBAAsB,CAAC,mBAAwC,EAAA;QAC3D,MAAM,sBAAsB,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,CAAC;AAC7E,QAAA,sBAAsB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACnE;AACD,IAAA,sBAAsB,CAAC,2BAAgD,EAAA;;AACnE,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;AACzC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACzD,IAAI,CAAC,2BAA2B,EAAE;YAC9B,OAAO;AACV,SAAA;QACD,2BAA2B,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAChE,2BAA2B,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AAC1E,QAAA,QAAQ,CAAC,EAAE,CAAC,WAAW,CACnB,yBAAyB,EACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9B,EAAE,EAAE,2BAA2B,CAAC,EAAE;YAClC,QAAQ,EAAE,2BAA2B,CAAC,KAAK;AAC3C,YAAA,QAAQ,EAAE,CAAA,EAAA,GAAA,2BAA2B,CAAC,MAAM,0CAAE,EAAE;YAChD,KAAK,EAAE,2BAA2B,CAAC,KAAK;YACxC,SAAS,EAAE,2BAA2B,CAAC,SAAS;YAChD,QAAQ,EAAE,2BAA2B,CAAC,QAAQ;YAC9C,kBAAkB,EAAE,2BAA2B,CAAC,kBAAkB;YAClE,eAAe,EAAE,2BAA2B,CAAC,eAAe;YAC5D,QAAQ,EAAE,2BAA2B,CAAC,QAAQ;YAC9C,aAAa,EAAE,2BAA2B,CAAC,aAAa;SAC3D,CAAC,EACF,IAAI,CACP,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;KACpC;AAED,IAAA,wBAAwB,CAAC,mBAAoD,EAAA;AACzE,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,mBAAmB,EAAE;YACtB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,wBAAwB,IAAI,mBAAmB,CAAC,SAAS,EAAE;AAChE,YAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACtC,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;AAEtC,QAAA,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,mBAAmB,CAAC,QAAQ,EAAE;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;gBAChC,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBAChC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,oBAAA,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,iBAAA;AACL,aAAC,CAAC,CAAC;YACH,IAAI,mBAAmB,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,EAAE;AAC1E,gBAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACjC,OAAO;AACV,aAAA;YACD,IAAI,mBAAmB,CAAC,kBAAkB,EAAE;gBACxC,IAAI,CAAC,MAAM,EAAE,CAAC;AACjB,aAAA;AACJ,SAAA;;QAED,IAAI,mBAAmB,CAAC,aAAa,EAAE;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC,0CAA0C,CAC3C,OAAO,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CACjE,CAAC;AACL,SAAA;AACD,QAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;KACpC;IACD,gBAAgB,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;KAChC;IACD,2BAA2B,GAAA;AACvB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,MAAM,MAAM,GAAmC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CACxF,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAClE,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;YACrC,IAAI,EAAE,CAAC,CAAC,WAAW;YACnB,OAAO,EAAE,CAAC,CAAC,6BAA6B;YACxC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK;YAC5F,WAAW,EAAE,CAAC,CAAC,WAAW;AAC7B,SAAA,CAAC,CAAC,CAAC;AACJ,QAAA,OAAO,aAAa,CAAC;KACxB;AACD,IAAA,0CAA0C,CAAC,aAA+B,EAAA;AACtE,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AACzC,QAAA,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACxB,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,YAAA,IAAI,KAAK,EAAE;AACP,gBAAA,aAAa,CAAC,SAAS,CAAC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/F,aAAA;AACL,SAAC,CAAC,CAAC;KACN;AACD,IAAA,yBAAyB,CAAC,sBAA6C,EAAA;QACnE,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC5F,QAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACnE;AAED,IAAA,yBAAyB,CAAC,qBAA6B,EAAA;QACnD,MAAM,sBAAsB,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,CAAC;AAC7E,QAAA,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,qBAAqB,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACnE;AAED,IAAA,yBAAyB,CAAC,6BAAqC,EAAA;AAC3D,QAAA,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;KACjF;IAED,8BAA8B,CAAC,SAAiB,EAAE,YAAsB,EAAA;AACpE,QAAA,MAAM,EAAE,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC7C,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,IAAI,CACxC,SAAS,CAAC,CAAC,YAAY,KAAI;AACvB,YAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,gBAAA,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;AAC3B,aAAA;YACD,OAAO,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACzD,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,YAAuC,MAAM,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC,CAAC,CAClG,CAAC;KACL;AACS,IAAA,sBAAsB,CAAC,OAAO,EAAA;QACpC,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;AACV,SAAA;AACD,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;AACjD,QAAA,IAAI,WAAW,EAAE;AACb,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACjC,SAAA;KACJ;AAES,IAAA,YAAY,CAAC,OAAO,EAAA;AAC1B,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;QACtG,OAAO,YAAY,KAAK,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC;KAC1E;AACS,IAAA,iBAAiB,CAAC,OAAY,EAAA;QACpC,OAAO,CAAC,EAAE,CAAC;YACP,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACrD,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3D,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,eAAe,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,0BAA0B,EAAE,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9E,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;YACvD,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3D,qBAAqB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7D,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7C,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;AACnD,SAAA,CAAC,CAAC;KACN;AAES,IAAA,WAAW,CAAC,OAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;AACzC,QAAA,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAC9B,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;KACxC;AACS,IAAA,0BAA0B,CAAC,OAAO,EAAA;AACxC,QAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAC5D,QAAA,IAAI,iBAAiB,EAAE;YACnB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC3C,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;AACf,gBAAA,IAAI,OAAO,iBAAiB,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE;AAC3C,oBAAA,iBAAiB,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;AACtE,iBAAA;AACL,aAAC,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AACpD,SAAA;AACD,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACnC;AACS,IAAA,gBAAgB,CAAC,OAAO,EAAA;AAC9B,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE;AACxC,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACzD,SAAA;KACJ;AAES,IAAA,uBAAuB,CAAC,OAAO,EAAA;;QACrC,IAAI,OAAO,KAAI,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,kBAAkB,CAAA,EAAE;AACrD,YAAA,IAAI,CAAC,0BAA0B,CAAC,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,kBAAkB,CAAC,CAAC;AAC7E,SAAA;KACJ;AAES,IAAA,cAAc,CAAC,OAAO,EAAA;AAC5B,QAAA,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;;AAE9B,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACpC,SAAA;KACJ;AAES,IAAA,WAAW,CAAC,OAAO,EAAA;AACzB,QAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,sBAAsB,EAAE,EAAE,CAAC,CAAC;AACrF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;AAES,IAAA,eAAe,CAAC,OAAO,EAAA;AAC7B,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC;AAC5F,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;KACvC;AACS,IAAA,iBAAiB,CAAC,OAAO,EAAA;AAC/B,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAClC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAClE,SAAA;KACJ;AAES,IAAA,kBAAkB,CAAC,OAAO,EAAA;AAChC,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAC7F,QAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;KAC7C;AAES,IAAA,UAAU,CAAC,OAAO,EAAA;AACxB,QAAA,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,YAAA,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,8BAA8B,EAAE,EAAE,CAAC,CAAC;AACzF,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;KAClD;AAES,IAAA,aAAa,CAAC,OAAO,EAAA;AAC3B,QAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAC1D,QAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KACnC;AAES,IAAA,WAAW,CAAC,OAAO,EAAA;AACzB,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AACvD,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KAC/B;AAES,IAAA,YAAY,CAAC,OAAO,EAAA;AAC1B,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AACzD,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;KACjC;AAES,IAAA,mBAAmB,CAAC,OAAO,EAAA;AACjC,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;AACnC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACxB,YAAA,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AACxC,SAAA;KACJ;AAES,IAAA,mBAAmB,CAAC,OAAO,EAAA;;QACjC,MAAM,cAAc,GAAY,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAc,CAAC;AACtE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACnD;AAES,IAAA,oBAAoB,CAAC,OAAO,EAAA;;QAClC,MAAM,eAAe,GAAY,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAe,CAAC;AACxE,QAAA,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC;QACrE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,CAAC;KAClE;AAES,IAAA,mBAAmB,CAAC,OAAO,EAAA;;QACjC,MAAM,cAAc,GAAY,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAc,CAAC;AACtE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACnD;AAES,IAAA,kBAAkB,CAAC,OAAO,EAAA;AAChC,QAAA,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;AAC5C,QAAA,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC7C,SAAA;KACJ;AAES,IAAA,gBAAgB,CAAC,OAAO,EAAA;AAC9B,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,CAAC,CAAC;AACzG,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC7C;IAES,oBAAoB,GAAA;QAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,4BAA4B,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC5D;AACS,IAAA,0BAA0B,CAAC,kBAAuB,EAAA;AACxD,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC3D;AACS,IAAA,kBAAkB,CAAC,UAAU,EAAA;AACnC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACrC,YAAA,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjD,SAAA;KACJ;AAES,IAAA,qBAAqB,CAAC,aAAa,EAAA;AACzC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC1C;AAES,IAAA,YAAY,CAAC,IAAa,EAAA;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;AAES,IAAA,kBAAkB,CAAC,UAAmB,EAAA;AAC5C,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC3C;AAES,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AACxC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACvC;AAES,IAAA,eAAe,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACxC;AAES,IAAA,iBAAiB,CAAC,SAAgB,EAAA;AACxC,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzC;AAES,IAAA,aAAa,CAAC,QAAyC,EAAA;AAC7D,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACpC;AAES,IAAA,kCAAkC,CAAC,YAAyD,EAAA;AAClG,QAAA,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC7D;AAES,IAAA,mBAAmB,CAAC,WAAgB,EAAA;AAC1C,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/C;AAES,IAAA,qBAAqB,CAAC,cAAmB,EAAA;AAC/C,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAClD;AAES,IAAA,sBAAsB,CAAC,OAAc,EAAA;AAC3C,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5C;AAES,IAAA,cAAc,CAAC,MAAe,EAAA;AACpC,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;IAES,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;KAC9B;IACS,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;AAES,IAAA,8BAA8B,CAAC,WAAgB,EAAA;;AACrD,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAA,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,EAAE,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,mBAAmB,EAAE,CAAC,CAAC;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AACzD,QAAA,MAAM,gBAAgB,GAAG;AACrB,YAAA,EAAE,EAAE,EAAE;AACN,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,QAAQ,EAAE,EAAE;SACf,CAAC;AACF,QAAA,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KACjE;AAES,IAAA,wBAAwB,CAAC,QAAQ,EAAA;AACvC,QAAA,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACzB,UAAU,EAAE,CAAC,QAAQ,CAAC;AACtB,YAAA,MAAM,EAAE,gCAAgC;AACxC,YAAA,SAAS,EAAE,CAAC,sBAAsB,KAAI;AAClC,gBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;oBACvC,sBAAsB,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACrE,oBAAA,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAChE,oBAAA,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;AACtE,oBAAA,IAAI,aAAa,EAAE;wBACf,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACpE,qBAAA;AACJ,iBAAA;aACJ;AACD,YAAA,MAAM,EAAE,MAAK,GAAG;AACnB,SAAA,CAAC,CAAC;KACN;AACS,IAAA,wBAAwB,CAAC,aAAa,EAAA;QAC5C,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC;QAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAC5C,YAAA,IAAI,KAAK,EAAE;AACP,gBAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACrB,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACvC,aAAA;AACD,YAAA,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrC,SAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YAC/B,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE;AAC7C,gBAAA,aAAa,CAAC,SAAS,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;AAC/F,aAAA;AACL,SAAC,CAAC,CAAC;KACN;;2GAhsBQ,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;;MCLE,aAAa,CAAA;AAStB,IAAA,WAAA,CAAoB,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAR1C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,OAAO,EAAU,CAAC;QAC1C,IAAA,CAAA,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACrD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAO,CAAC;QACpC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;AAC/C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAW,CAAC;QACzC,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;AACjD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;AACnC,QAAA,IAAS,CAAA,SAAA,GAAG,CAAA,0CAAA,CAA4C,CAAC;KACX;IACvC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAA;AACpB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,UAAU;AACjB,aAAA,IAAI,CAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE;AAC7B,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,EAAE,IAAI,EAAE;SACpB,CAAC;AACD,aAAA,IAAI,CACD,GAAG,CAAC,CAAC,KAAK,KAAI;YACV,QAAQ,KAAK,CAAC,IAAI;AACd,gBAAA,KAAK,aAAa,CAAC,cAAc,EAAE;AAC/B,oBAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AAC/B,oBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;oBAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpD,iBAAA;gBACD,KAAK,aAAa,CAAC,QAAQ;oBACvB,OAAO,KAAK,CAAC,IAAI,CAAC;AACtB,gBAAA;AACI,oBAAA,OAAO,CAAoB,iBAAA,EAAA,KAAK,CAAC,IAAI,EAAE,CAAC;AAC/C,aAAA;AACL,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,GAAG,KAAI;AACR,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACpB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACxC,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpC,aAAA;iBAAM,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAChD,gBAAA,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE;AACxB,oBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,oBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACxC,iBAAA;AAAM,qBAAA,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;AAClC,oBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACtC,oBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,iBAAA;AACJ,aAAA;AACD,YAAA,OAAO,GAAG,CAAC;AACf,SAAC,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,EAC3C,UAAU,CAAC,CAAC,GAAG,KAAI;YACf,IAAI,GAAG,YAAY,iBAAiB,EAAE;AAClC,gBAAA,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,EAAG,GAAG,CAAC,MAAM,CAAM,GAAA,EAAA,GAAG,CAAC,OAAO,CAAA,CAAE,CAAC,CAAC;AAC7D,aAAA;YAED,OAAO,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,SAAC,CAAC,EACF,QAAQ,CAAC,MAAK;AACV,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC,CAAC,CACL,CAAC;KACT;;0GA5DQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAZ,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFV,MAAM,EAAA,CAAA,CAAA;2FAET,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,UAAU,EAAE,MAAM;iBACrB,CAAA;;;MCHY,oBAAoB,CAAA;AAC7B,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAClF,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,CAAC,CAC9B,CAAC;KACL;;iHALQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;qHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;;;ACkDL,MAAgB,kBAAmB,SAAQ,aAAa,CAAA;IAyB1D,WACc,CAAA,cAA6B,EAC7B,QAA0B,EAC1B,YAAoC,EACpC,YAAyB,EACzB,GAAe,EACf,IAAuB,EACvB,UAAqB,EACrB,eAA+B,EAC/B,aAA2B,EACS,cAAmB,EACnC,cAA6B,EAC7B,YAAyB,EAAA;AAEvD,QAAA,KAAK,EAAE,CAAC;AAbE,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAkB;AAC1B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAwB;AACpC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAa;AACzB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AACf,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AACvB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AACrB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;AAC/B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AACS,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAK;AACnC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAa;AA5BjD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;AACtC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAO,CAAC;AAU3C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAO,CAAC;AACpC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAAO,CAAC;QACzC,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAC5D,IAAA,CAAA,sBAAsB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;AAiBjE,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACrF,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB;AACrC,aAAA,YAAY,EAAE;aACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,sBAAsB;AACvC,aAAA,YAAY,EAAE;aACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACzE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,OAAO,IAAI,QAAQ,CAAC,EACjD,oBAAoB,EAAE,CACzB,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;KACjB;IAED,QAAQ,GAAA;;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1D,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC;AACxC,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC9C,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;AACtG,YAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC;AACtG,SAAA;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;KACvB;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IACD,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAA4B,CAAC;YACpD,MAAM,iBAAiB,GAA4B,KAAK,CAAC,gBAAgB,CACrE,2EAA2E,CAC9E,CAAC;YACF,IAAI,OAAO,GAAG,KAAK,CAAC;AACpB,YAAA,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAe,KAAI;gBAC1C,MAAM,OAAO,GAAW,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;AACvD,gBAAA,IACI,CAAC,OAAO;oBACR,EAAE,CAAC,WAAW,GAAG,CAAC;oBAClB,EAAE,CAAC,YAAY,GAAG,CAAC;AACnB,oBAAA,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,MAAM;AACtC,oBAAA,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,MAAM;AACjD,oBAAA,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAC5B;oBACE,EAAE,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,GAAG,IAAI,CAAC;AAClB,iBAAA;AACL,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AAED,IAAA,gBAAgB,CAAC,KAAa,EAAE,KAAU,EAAE,MAAY,EAAE,MAAY,EAAA;AAClE,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KACxD;IACS,YAAY,GAAA;QAClB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC9C,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClD,sBAAsB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpD,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9C,aAAA,CAAC,CAAC;AACN,SAAA;KACJ;IACS,eAAe,GAAA;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACvD,SAAA;KACJ;AACS,IAAA,SAAS,CAAC,KAAK,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;KAC7B;AACS,IAAA,WAAW,CAAC,KAAK,EAAA;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;KAC7B;AACS,IAAA,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,EAAA;AAC5C,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,QAAA,IAAI,YAAY,EAAE;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC7B,SAAA;KACJ;AACS,IAAA,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,EAAA;AAC7C,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxC,QAAA,IAAI,YAAY,EAAE;AACd,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC7B,SAAA;KACJ;;AAzIiB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kRAmCZ,cAAc,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAc,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAnCpB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,uUAH1B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGM,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;;;8BAoCQ,QAAQ;;8BAAI,MAAM;+BAAC,cAAc,CAAA;;8BACjC,IAAI;;8BAAI,QAAQ;;8BAChB,IAAI;;8BAAI,QAAQ;;yBApCZ,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;AClDL,MAAO,iBAAkB,SAAQ,aAAa,CAAA;AAsChD,IAAA,WAAA,CAAsB,iBAAmC,EAAA;AACrD,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;AAhC/C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;QAkCrC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,aAAa,KAAI;AAC9D,YAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACvC,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;QAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;QACpE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC;AACtF,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9E,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;KAC9E;AACD,IAAA,IAAI,WAAW,GAAA;AACX,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;KAC7C;IAED,QAAQ,GAAA;;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC9C,QAAA,IAAI,CAAC,QAAQ,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAE7C,IAAI,CAAC,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAClC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAChB,GAAG,CAAC,CAAC,QAAQ,MAAM,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;;AAE7C,QAAAC,OAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAC1C,GAAG,CAAC,CAAC,CAAC,KAAI;AACN,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,mBAAmB,EAAE;AACtD,gBAAA,OAAO,EAAE,CAAC;AACb,aAAA;AACD,YAAA,MAAM,IAAI,GAAoB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3D,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;SAClD,CAAC,CACL,CAAC;KACL;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;KACpC;IACD,OAAO,GAAA;QACH,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3D;AACD,IAAA,cAAc,CAAC,GAAG,EAAA;AACd,QAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;KAC5C;AACD,IAAA,qBAAqB,CAAC,QAAQ,EAAA;AAC1B,QAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;KAC7C;IACD,WAAW,CAAC,SAAS,EAAE,KAAK,EAAA;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;AAC3F,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AACtB,QAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACxC;IACD,WAAW,GAAA;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,wBAAwB,CAAC,CAAC;AAEpG,QAAA,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;KAChF;IACO,aAAa,GAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,kCAAkC,EAAE,IAAI,CAAC,CAAC;KAC9G;;8GAvHQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,kJAHhB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;oGAEY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAKI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;ACdL,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAL3D,IAAA,WAAA,GAAA;;AAOa,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;AAKd,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAO,CAAC;KAUjD;IARG,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;KACxB;AAED,IAAA,WAAW,CAAC,GAAG,EAAA;AACX,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC5B;;qHAhBQ,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,uSAHvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8BAEY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACI,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACkB,IAAI,EAAA,CAAA;sBAA5B,WAAW;uBAAC,UAAU,CAAA;;;AC2BrB,MAAO,mBAAoB,SAAQ,aAAa,CAAA;AAOlD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AAEH,QAAA,IAAA,CAAA,aAAa,GAAG,MAAW,GAAG,CAAC;KADvC;;gHATQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+IAHlB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;0EAEY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBASG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;ACVJ,MAAO,mBAAoB,SAAQ,aAAa,CAAA;IAqDlD,WAAsB,CAAA,cAA6B,EAAY,eAA+B,EAAA;AAC1F,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAAY,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;AA9CpF,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU,CAAC;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAU,CAAC;QAEtD,IAAA,CAAA,kBAAkB,GAAG;AACjB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,eAAe,EAAE,EAAE;AACnB,YAAA,MAAM,EAAE,IAAI;SACf,CAAC;AAKF,QAAA,IAAY,CAAA,YAAA,GAAyE,IAAI,CAAC;QA2BhF,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAqB,EAAE,CAAC,CAAC;QACpE,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;QACnD,IAAiB,CAAA,iBAAA,GAAG,IAAI,eAAe,CAAc,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9E,IAAA,CAAA,aAAa,GAAG,IAAI,eAAe,CAAgB,EAAE,CAAC,CAAC;QACzD,IAAA,CAAA,iBAAiB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QAI5D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;AACzD,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;KAC/D;AACD,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;KAC3D;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;QAC9D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;AAChE,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;AACnD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrG,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACZ,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YACrD,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1D,SAAA,CAAC,CAAC;;;;QAIH,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC9D,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAC1C,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC7B,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC;AAC1E,SAAA;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,WAAW,CAAC,eAAe,KAA3B,WAAW,CAAC,eAAe,GAAK,EAAE,CAAC,CAAA;QACnC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;AAChD,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAC9C,IAAI,CAAC,OAAO,EACZ,wCAAwC,EACxC,IAAI,CACP,CAAC;AACF,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEzB,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,yCAAyC,CAAC,CAAC;AAC9G,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACpB,YAAA,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;AACrE,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,wCAAwC,CAAC,CAAC;AAC3G,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAExG,QAAA,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAC5D,SAAC,CAAC,CAAC;KACN;IAED,eAAe,GAAA;;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;AAExB,QAAA,IAAI,CAAC,WAAW;aACX,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAC3D;AACA,aAAA,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3G,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;KAChD;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;KACnE;AACS,IAAA,mBAAmB,CAAC,OAAO,EAAA;AACjC,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxC;AACS,IAAA,kBAAkB,CAAC,UAAU,EAAA;AACnC,QAAA,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACpD;AACS,IAAA,cAAc,CAAC,KAA4B,EAAA;QACjD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;KAClE;AAES,IAAA,qBAAqB,CAAC,CAA0B,EAAA;QACtD,MAAM,WAAW,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AACnE,QAAA,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC/B,QAAA,MAAM,OAAO,GAAiB,WAAW,CAAC,cAAc,CAAC;AACzD,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;AACxB,YAAA,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,MAAK,aAAa,KAAA,IAAA,IAAb,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAb,aAAa,CAAE,IAAI,CAAA,CAAC,CAAC;AACnE,YAAA,IAAI,MAAM,EAAE;AACR,gBAAA,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAChC,aAAA;AAAM,iBAAA,IAAI,aAAa,EAAE;gBACtB,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AACpG,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC7B;IACS,kBAAkB,GAAA;QACxB,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;KACrE;IACS,YAAY,GAAA;AAClB,QAAA,MAAM,QAAQ,GAAkB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAC5D,IAAI,CAAC,OAAO,EACZ,0CAA0C,EAC1C,EAAE,CACL,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;KAChE;IACS,cAAc,CAAC,KAAK,EAAE,EAAE,EAAA;;AAC9B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;KACnE;;IAES,kBAAkB,CAAC,CAAS,EAAA,GAAU;AACtC,IAAA,cAAc,MAAW;IAEzB,OAAO,CAAC,EAAE,EAAE,CAAC,EAAA;AACnB,QAAA,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;KAC9B;IAES,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE,UAAU,GAAG,IAAI,EAAA;QAClE,IAAI,CAAC,OAAO,EAAE;YACV,OAAO;AACV,SAAA;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;AAChD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;AAChC,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;AACtB,SAAA;QACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;AACxD,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACtE,SAAA;KACJ;IACS,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAA;QAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KAC3B;IACS,WAAW,GAAA;AACjB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACxD;IACS,iBAAiB,GAAA;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC1D;IAES,WAAW,GAAA;AACjB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;KAC1C;IACS,SAAS,CAAC,EAAE,EAAE,KAAK,EAAA;AACzB,QAAA,EAAE,CAAC,UAAU,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAC/D,QAAA,OAAO,EAAE,CAAC;KACb;IAES,OAAO,CAAC,EAAE,EAAE,KAAK,EAAA;;AAEvB,QAAA,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC;AACrB,QAAA,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;AACvC,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AAC7D,QAAA,OAAO,EAAE,CAAC;KACb;AAES,IAAA,aAAa,CAAC,OAAO,EAAA;AAC3B,QAAA,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;AACtB,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC5B,SAAA;KACJ;IAES,YAAY,GAAA;AAClB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE;AACb,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC;AAC7B,QAAA,OAAO,UAAU,CAAC;KACrB;AACS,IAAA,wBAAwB,CAAC,UAAU,EAAA;QACzC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;KAClE;;gHAnQQ,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAZ,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAa,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,oNAHlB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;2HAEY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAIG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;ACpBL,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAatD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AAbF,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;AAShC,QAAA,IAAK,CAAA,KAAA,GAAG,CAAC,CAAC,CAAC;AAKhB,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;KACpB;IAGD,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;KAC3D;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;AACnC,QAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,2CAA2C,CAAC,CAAC;AAC9G,QAAA,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;AAExG,QAAA,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;AAC5D,SAAC,CAAC,CAAC;KACN;;oHAhCQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,gVAHtB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;0EAEa,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACe,WAAW,EAAA,CAAA;sBAAhC,WAAW;uBAAC,OAAO,CAAA;gBACX,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAIG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBASN,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,eAAe,CAAC,CAAA;;;ACDtC,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAL3D,IAAA,WAAA,GAAA;;AAcI,QAAA,IAAU,CAAA,UAAA,GAAU,EAAE,CAAC;KAC1B;;qHAVY,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,0JAHvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8BAKY,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAIG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;;;AC5CJ,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAMtD,IAAA,WAAA,CAAsB,gBAAkC,EAAA;AACpD,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAEpD,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,aAAa,KAAI;AAC7D,YAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACvC,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,mBAAmB,KAAI;AACzE,YAAA,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;AACnD,SAAC,CAAC,CAAC;KACN;;oHAfQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,sIAHtB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;oGAEY,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;;;ACAJ,MAAO,wBAAyB,SAAQ,uBAAuB,CAAA;AAOjE,IAAA,WAAA,CACW,EAAc,EACX,gBAAkC,EAC1B,aAA4B,EAAA;QAE9C,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAJjB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AACX,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAC1B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAG9C,QAAA,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACzB,aAAa,CAAC,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,aAAa,KAAI;AAC7D,YAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACvC,SAAC,CAAC,CAAC;KACN;IACD,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AACnD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChC;AACD,IAAA,UAAU,CAAC,MAAM,EAAA;QACb,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YAC1B,QAAQ,IAAI,CAAC,KAAK;AACd,gBAAA,KAAK,eAAe;AAChB,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACtB,MAAM;AACV,gBAAA,KAAK,kBAAkB;AACnB,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAC1B,MAAM;AACb,aAAA;AACL,SAAC,CAAC,CAAC;KACN;AACD,IAAA,cAAc,CAAC,IAAS,EAAA;;QACpB,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,aAAa,CAAC;AAC/C,QAAA,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACjF,OAAO;AACV,SAAA;AACD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1D,QAAA,GAAG,CAAC,IAAI,GAAG,iCAAiC,CAAC;AAC7C,QAAA,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,IAAI,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE;YACpC,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC/B,gBAAA,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;AACtC,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAChD,SAAA;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;AACvD,QAAA,IAAI,gBAAgB,GAAG,UAAU,GAAG,EAAE,CAAC;AACvC,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE;YAChC,gBAAgB,IAAI,EAAE,CAAC;AAC1B,SAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;KAChD;;qHA3DQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,aAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,0PAHvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;;;8BAWQ,IAAI;;yBATA,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACiC,SAAS,EAAA,CAAA;sBAA/C,SAAS;gBAAC,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;ACWnC,MAAgB,kBAAmB,SAAQ,aAAa,CAAA;AAQ1D,IAAA,WAAA,CACc,GAAe,EACf,eAA+B,EAC/B,cAA6B,EAC7B,IAAsB,EACtB,cAAkC,EAClC,SAAmB,EACnB,OAAe,EACf,IAAuB,EACH,iBAAmC,EAAA;AAEjE,QAAA,KAAK,EAAE,CAAC;AAVE,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AACf,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;AAC/B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;AACtB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAoB;AAClC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AACnB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;AACf,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AACH,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;AAZ9D,QAAA,IAAA,CAAA,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAevB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC;AACpE,QAAA,IAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,IAAI,CAAC;KACjD;AACD,IAAA,IAAI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;AACD,IAAA,IAAI,GAAG,GAAA;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;KACpB;AACD,IAAA,IAAI,GAAG,GAAA;QACH,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IACD,QAAQ,GAAA;QACJ,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;QACzE,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACzD,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACjE,SAAA;KACJ;IACD,WAAW,GAAA;QACP,QAAQ,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC;QACzE,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC;KACvE;IACD,MAAM,GAAA;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;KAC7B;IACD,QAAQ,GAAA;QACJ,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC7B,SAAA;KACJ;;+GAtDiB,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAb,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAc,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACa,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJvD,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGM,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;;;8BAkBQ,IAAI;;8BAAI,QAAQ;;yBAfrB,YAAY,EAAA,CAAA;sBADX,SAAS;uBAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAA;;;ACfjE,MAAO,iBAAkB,SAAQ,kBAAkB,CAAA;AALzD,IAAA,WAAA,GAAA;;AAUI,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAChB,QAAA,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;KAyGrB;IAtGG,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IACS,eAAe,GAAA;QACrB,IAAI,CAAC,QAAQ,EAAE;AACV,aAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;AAC9B,aAAA,SAAS,CAAC,CAAC,QAAQ,KAAI;AACpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACtC,SAAC,CAAC,CAAC;KACV;IACS,QAAQ,GAAA;QACd,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;AAC1C,SAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CACjC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,EAC5B,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,CAAC;KACL;AAES,IAAA,kBAAkB,CAAC,QAA8B,EAAA;AACvD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAClC;AACS,IAAA,kBAAkB,CACxB,kBAAkD,EAClD,eAAuB,EACvB,QAA8B,EAAA;;AAG9B,QAAA,MAAM,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,CAAC;AACpD,QAAA,IAAI,QAAQ,EAAE;YACV,kBAAkB,CAAC,WAAW,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,SAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACpD,QAAA,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QACzE,IAAI,WAAW,IAAI,IAAI,EAAE;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,WAAW,CAAC,EAAE,CAAC,CAAC;AACxE,YAAA,IAAI,MAAM,EAAE;gBACR,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5D,gBAAA,kBAAkB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC7C,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,GAAG,eAAe,CAAC,CAAC;AAC7D,SAAA;KACJ;AACS,IAAA,kBAAkB,CAAC,SAAS,EAAA;QAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAQ,CAAC;AACpE,QAAA,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AACxC,QAAA,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;AAChD,QAAA,OAAO,SAAS,CAAC;KACpB;AACS,IAAA,gBAAgB,CAAC,OAAmB,EAAA;AAC1C,QAAA,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,OAAO,CAAC;AACR,aAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,SAAS,CAAC,CAAC,MAAM,KACb,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAC3C,GAAG,CAAC,CAAC,SAAS,KAAI;YACd,SAAS,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;YACxD,SAAS,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;YACzD,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAChD,aAAA;AAAM,iBAAA;gBACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxC,aAAA;SACJ,CAAC,CACL,CACJ,CACJ;aACA,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;KACnD;AACS,IAAA,mBAAmB,CAAC,WAK7B,EAAA;QACG,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CACnC,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,QAAQ,EACpB,IAAI,CAAC,SAAS,CACjB,CAAC;KACL;AAES,IAAA,eAAe,CAAC,QAAQ,EAAA;AAC9B,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CACjD,QAAQ,EACR,4CAA4C,EAC5C,EAAE,CACL,CAAC;AACF,QAAA,OAAO,YAAY,CAAC;KACvB;AACS,IAAA,UAAU,CAAC,QAAQ,EAAA;AACzB,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;KAClF;;8GA9GQ,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,6EAHhB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;;;ACHK,MAAO,mBAAoB,SAAQ,kBAAkB,CAAA;IAKvD,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC1D,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;AACtC,SAAA;AACD,QAAA,IAAI,CAAC,OAAO;AACR,YAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,+BAA+B,EAAE,KAAK,CAAC;AACtF,gBAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;KACzF;IAED,WAAW,GAAA;QACP,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,KAAK,CAAC,WAAW,EAAE,CAAC;KACvB;AACD,IAAA,SAAS,CAAC,CAAC,EAAA;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE;YACd,OAAO;AACV,SAAA;QACD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;YAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACvB,SAAA;KACJ;AACD,IAAA,aAAa,CAAC,CAAC,EAAA;;QACX,MAAM,IAAI,GAAW,CAAA,CAAA,EAAA,GAAA,CAAC,CAAC,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,KAAI,EAAE,CAAC;AAClD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KAC/B;AACS,IAAA,SAAS,CAAC,KAAK,EAAA;AACrB,QAAA,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACjE;IACS,cAAc,GAAA;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC5B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACvB,SAAA;KACJ;AACS,IAAA,YAAY,CAAC,GAAG,EAAA;AACtB,QAAA,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,WAAW,EAAE;AAClC,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAAM,aAAA,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;AACvD,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;AACjG,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;AAES,IAAA,YAAY,CAAC,GAAG,EAAA;QACtB,OAAO,IAAI,CAAC,YAAY;AACnB,aAAA,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC;AACjF,aAAA,QAAQ,EAAE,CAAC;KACnB;AACS,IAAA,kBAAkB,CAAC,cAAc,EAAA;QACvC,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjD,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;AACnD,aAAA;YAED,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AACvE,SAAA;KACJ;IACO,aAAa,CAAC,IAAqB,EAAE,CAAM,EAAA;;AAC/C,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1B,SAAA;QACD,IAAI,QAAQ,GAAW,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1D,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE/D,IAAI,gBAAgB,KAAK,CAAC,EAAE;AACxB,YAAA,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;AACzB,YAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC;AACxC,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,cAAc,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,cAAc,CAAC;YACvD,IAAI,IAAI,GAAG,CAAC,CAAC;AACb,YAAA,IAAI,UAAU,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE;AACxC,gBAAA,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,IAAI,UAAU,EAAE;AAC/D,gBAAA,IAAI,GAAG,kBAAkB,GAAG,UAAU,CAAC;gBACvC,cAAc,IAAI,IAAI,CAAC;AAC1B,aAAA;YACD,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,QAAQ,CAAC;AACtC,aAAA;AACD,YAAA,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;AAC1B,YAAA,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAC3C,SAAA;AAAM,aAAA;YACH,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,MAAM,CAAC;AACpC,aAAA;AACJ,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,CAAC;KACtD;;gHA3GQ,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+EAHlB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;;;MCNY,uBAAuB,CAAA;AAApC,IAAA,WAAA,GAAA;AAYI,QAAA,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC;KAWpB;AAAA,CAAA;AAQK,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;AASlE,CAAA;AACK,MAAO,0BAA2B,SAAQ,sBAAsB,CAAA;AAErE,CAAA;AACK,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;AAOlE,CAAA;AACK,MAAO,oBAAqB,SAAQ,uBAAuB,CAAA;AAIhE,CAAA;AACK,MAAO,oBAAqB,SAAQ,uBAAuB,CAAA;AAUhE,CAAA;AACK,MAAO,uBAAwB,SAAQ,uBAAuB,CAAA;AAKnE,CAAA;AACK,MAAO,oBAAqB,SAAQ,uBAAuB,CAAA;AAAG,CAAA;AAC9D,MAAO,2BAA4B,SAAQ,uBAAuB,CAAA;AAIvE,CAAA;AACK,MAAO,qBAAsB,SAAQ,uBAAuB,CAAA;AAOjE,CAAA;AAMK,MAAO,4BAA6B,SAAQ,uBAAuB,CAAA;AAGxE,CAAA;AACK,MAAO,uBAAwB,SAAQ,4BAA4B,CAAA;AAGxE,CAAA;AACK,MAAO,oCAAqC,SAAQ,4BAA4B,CAAA;AAErF,CAAA;AACK,MAAO,6BAA8B,SAAQ,uBAAuB,CAAA;AAIzE,CAAA;AACK,MAAO,0BAA2B,SAAQ,uBAAuB,CAAA;AAGtE,CAAA;AACK,MAAO,oBAAqB,SAAQ,uBAAuB,CAAA;AAQhE,CAAA;MACY,aAAa,CAAA;AAMzB,CAAA;AACK,MAAO,wBAAyB,SAAQ,uBAAuB,CAAA;AAMpE,CAAA;AACK,MAAO,oBAAqB,SAAQ,uBAAuB,CAAA;AAMhE,CAAA;AACK,MAAO,yBAA0B,SAAQ,uBAAuB,CAAA;AAKrE,CAAA;AACK,MAAO,uBAAwB,SAAQ,uBAAuB,CAAA;AAOnE,CAAA;AAeK,MAAO,0BAA2B,SAAQ,uBAAuB,CAAA;AAUtE,CAAA;MACY,iBAAiB,CAAA;AAO7B,CAAA;AACK,MAAO,8BAA+B,SAAQ,uBAAuB,CAAA;AAiB1E,CAAA;MA+BY,mBAAmB,CAAA;AAa/B,CAAA;MAaY,gBAAgB,CAAA;AAqBzB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KAC5D;AACJ,CAAA;MACY,cAAc,CAAA;AAO1B,CAAA;AACK,MAAO,eAAgB,SAAQ,cAAc,CAAA;AAKlD,CAAA;AAEK,MAAO,uBAAwB,SAAQ,iBAAiB,CAAA;AAG7D,CAAA;AAEW,IAAA,kBA8CX;AA9CD,CAAA,UAAY,iBAAiB,EAAA;IACzB,iBAAA,CAAA,iBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;IACX,iBAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;IACd,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY,CAAA;IACZ,iBAAA,CAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB,CAAA;IAChB,iBAAA,CAAA,iBAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAkB,CAAA;IAClB,iBAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAgB,CAAA;IAChB,iBAAA,CAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAiB,CAAA;IACjB,iBAAA,CAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAiB,CAAA;IACjB,iBAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAgB,CAAA;IAChB,iBAAA,CAAA,iBAAA,CAAA,8BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,8BAAiC,CAAA;IACjC,iBAAA,CAAA,iBAAA,CAAA,iBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,iBAAoB,CAAA;IACpB,iBAAA,CAAA,iBAAA,CAAA,kBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,kBAAqB,CAAA;IACrB,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB,CAAA;IACvB,iBAAA,CAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAiB,CAAA;IACjB,iBAAA,CAAA,iBAAA,CAAA,gBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,gBAAmB,CAAA;IACnB,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB,CAAA;IACvB,iBAAA,CAAA,iBAAA,CAAA,wCAAA,CAAA,GAAA,EAAA,CAAA,GAAA,wCAA2C,CAAA;IAC3C,iBAAA,CAAA,iBAAA,CAAA,iBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,iBAAoB,CAAA;IACpB,iBAAA,CAAA,iBAAA,CAAA,wBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,wBAA2B,CAAA;IAC3B,iBAAA,CAAA,iBAAA,CAAA,qBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,qBAAwB,CAAA;IACxB,iBAAA,CAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAiB,CAAA;IACjB,iBAAA,CAAA,iBAAA,CAAA,mBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,mBAAsB,CAAA;IACtB,iBAAA,CAAA,iBAAA,CAAA,uBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,uBAA0B,CAAA;IAC1B,iBAAA,CAAA,iBAAA,CAAA,kBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,kBAAqB,CAAA;IACrB,iBAAA,CAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAiB,CAAA;IACjB,iBAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe,CAAA;IACf,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa,CAAA;IACb,iBAAA,CAAA,iBAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAiB,CAAA;IACjB,iBAAA,CAAA,iBAAA,CAAA,iBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,iBAAoB,CAAA;IACpB,iBAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc,CAAA;IACd,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa,CAAA;IACb,iBAAA,CAAA,iBAAA,CAAA,gBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,gBAAmB,CAAA;IACnB,iBAAA,CAAA,iBAAA,CAAA,eAAA,CAAA,GAAA,EAAA,CAAA,GAAA,eAAkB,CAAA;IAClB,iBAAA,CAAA,iBAAA,CAAA,eAAA,CAAA,GAAA,EAAA,CAAA,GAAA,eAAkB,CAAA;IAClB,iBAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe,CAAA;IACf,iBAAA,CAAA,iBAAA,CAAA,mCAAA,CAAA,GAAA,EAAA,CAAA,GAAA,mCAAsC,CAAA;IACtC,iBAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAc,CAAA;IACd,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAa,CAAA;IACb,iBAAA,CAAA,iBAAA,CAAA,yBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,yBAA4B,CAAA;IAC5B,iBAAA,CAAA,iBAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB,CAAA;IACvB,iBAAA,CAAA,iBAAA,CAAA,mBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,mBAAsB,CAAA;AACtB,IAAA,iBAAc,CAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,EAAA,CAAA,GAAA,WAAA,CAAA;AAClB,CAAC,EA9CW,iBAAiB,KAAjB,iBAAiB,GA8C5B,EAAA,CAAA,CAAA,CAAA;MAgBY,eAAe,CAAA;AAA5B,IAAA,WAAA,GAAA;AAKI,QAAA,IAAoB,CAAA,oBAAA,GAAG,4BAA4B,CAAC;KACvD;AAAA,CAAA;MAYY,aAAa,CAAA;AAczB,CAAA;AACK,MAAO,WAAY,SAAQ,eAAe,CAAA;AAE5C,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;KACX;AACJ,CAAA;AACK,MAAO,eAAgB,SAAQ,eAAe,CAAA;AAEnD,CAAA;AACK,MAAO,eAAgB,SAAQ,eAAe,CAAA;AAEnD,CAAA;AAmCK,MAAO,mBAAoB,SAAQ,eAAe,CAAA;AAEvD,CAAA;AACK,MAAO,eAAgB,SAAQ,eAAe,CAAA;AAEnD,CAAA;MASY,gBAAgB,CAAA;AAsB5B,CAAA;MAEY,WAAW,CAAA;AAIvB,CAAA;MACY,UAAU,CAAA;AAItB,CAAA;MACY,WAAW,CAAA;AAIvB,CAAA;MAEY,WAAW,CAAA;IAIpB,WAAmB,CAAA,MAAwB,EAAS,IAAS,EAAA;AAA1C,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;AAAS,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAK;AACzD,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,iBAAiB,CAAC,QAAQ,EAAE;YAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;AAC7C,SAAA;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,iBAAiB,CAAC,QAAQ,EAAE;YAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;AACpC,SAAA;KACJ;AACJ,CAAA;AA+FY,MAAA,UAAU,GAAG;IACtB,YAAY;IACZ,qBAAqB;IACrB,aAAa;IACb,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;IAChB,iBAAiB;IACjB,gBAAgB;;;AC/mBd,MAAO,qBAAsB,SAAQ,aAAa,CAAA;AAKpD,IAAA,WAAA,CACI,YAAoB,EACpB,aAAqB,EACrB,kBAA0B,EAClB,OAA0B,EAAA;AAElC,QAAA,KAAK,EAAE,CAAC;AAFA,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAmB;AAGlC,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACzC,QAAA,IAAI,kBAAkB,EAAE;AACpB,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACnD,YAAA,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,EAAE;AAC3B,gBAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;AACjC,aAAA;AACJ,SAAA;AACD,QAAA,IAAI,aAAa,EAAE;AACf,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AACzC,YAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE;AACtB,gBAAA,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;AAC5B,aAAA;AACJ,SAAA;KACJ;AAEM,IAAA,aAAa,CAAC,aAAqB,EAAA;AACtC,QAAA,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CACzB,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EACrB,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EACpD,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EACjD,QAAQ,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAC1B,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAC7C,OAAO,EAAE,EACT,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAChE,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CACvD,CAAC;KACL;AAEO,IAAA,eAAe,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AAClB,YAAA,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;AACpB,SAAA;AACD,QAAA,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;KACzC;AAEO,IAAA,kBAAkB,CAAC,KAAa,EAAA;AACpC,QAAA,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,KAAI;;YACnC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9F,MAAM,yBAAyB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;AACpE,gBAAA,MAAM,eAAe,GAAG,yBAAyB,KAAzB,IAAA,IAAA,yBAAyB,uBAAzB,yBAAyB,CAC3C,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAAC,EAC9D,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC7E,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,MAAK;oBAC3C,OAAO,CAAC,EAAE,CAAC,CAAC;AAChB,iBAAC,CAAC,CAAC;AACN,aAAA;AAAM,iBAAA;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;AAClB,aAAA;AACL,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,aAAa,CAAC,IAAU,EAAA;QAC5B,OAAO,IAAI,OAAO,CAAiC,CAAC,OAAO,EAAE,MAAM,KAAI;;YACnE,MAAM,oBAAoB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAC1E,YAAA,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;AACtD,gBAAA,MAAM,eAAe,GAAG,oBAAoB,KAApB,IAAA,IAAA,oBAAoB,uBAApB,oBAAoB,CACtC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAC1D,CAAA,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxE,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,MAAK;oBAC3C,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAC9C,iBAAC,CAAC,CAAC;AACN,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACrB,aAAA;AACD,YAAA,MAAM,EAAE,CAAC;AACb,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,wBAAwB,CAAC,KAAa,EAAA;QAC1C,OAAO,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;KACxE;AACJ;;ACxDK,MAAO,uBAA2D,SAAQ,aAAa,CAAA;IAuEzF,WACc,CAAA,GAAe,EACf,IAAuB,EACvB,UAAqB,EACrB,mBAA2C,EAC3C,eAA+B,EAC/B,cAA6B,EAAA;AAEvC,QAAA,KAAK,EAAE,CAAC;AAPE,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AACf,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AACvB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AACrB,QAAA,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAwB;AAC3C,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;AAC/B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAvClC,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;AAEpB,QAAA,IAAG,CAAA,GAAA,GAAG,IAAI,CAAC;AAMV,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAuB,CAAC;AAC9D,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAuB,CAAC;AAC5D,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAAuB,CAAC;AACjE,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,YAAY,EAAuB,CAAC;AACnE,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAO,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAO,CAAC;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAO,CAAC;AACzC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAyB,CAAC;AACrD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAiB,CAAC;AAC7C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAuB,CAAC;AACtD,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAqB,CAAC;AAC1D,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAW,CAAC;AAC1C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAA2B,CAAC;AAQtE,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;AAGN,QAAA,IAAe,CAAA,eAAA,GAAG,CAAC,CAAC;KAU7B;IApBD,IAAa,cAAc,CAAC,GAAW,EAAA;AACnC,QAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;AAC3B,QAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;KACpC;IAmBD,QAAQ,GAAA;;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC/C,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACvB,SAAA;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,CAAA,MAAA,IAAI,CAAC,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,MAAK,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;KACtE;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;gBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;gBACtC,aAAa,GAAG,IAAI,CAAC;AACxB,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,aAAa,EAAE,CAAC;AACxB,SAAA;KACJ;AACD,IAAA,eAAe,CAAC,CAA2B,EAAA;AACvC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KAClE;AACD,IAAA,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA;AACpB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,UAAU,CAAC,MAAK;YACZ,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACrC,aAAA;SACJ,EAAE,EAAE,CAAC,CAAC;;KAEV;AAED,IAAA,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA;AACpB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;KACrC;AAED,IAAA,aAAa,CAAC,EAAuB,EAAA;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC7B;AAED,IAAA,aAAa,CAAC,OAAO,EAAA;AACjB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAClC;AACD,IAAA,wBAAwB,CAAC,EAAE,EAAA;AACvB,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACxC;AACD,IAAA,mBAAmB,CAAC,EAAE,EAAA;AAClB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACnC;AACD,IAAA,qBAAqB,CAAC,EAAuB,EAAA;AACzC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACrC;AACD,IAAA,0BAA0B,CAAC,EAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC1C;AACD,IAAA,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAA;QACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;KAC5C;AAED,IAAA,eAAe,CAAC,MAAM,EAAA;AAClB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACnC;AAED,IAAA,gBAAgB,CAAC,MAAM,EAAA;AACnB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpC;AAED,IAAA,QAAQ,CAAC,MAAM,EAAA;AACX,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC5B;AACD,IAAA,wBAAwB,CAAC,CAAgC,EAAE,EAAuB,EAAE,KAAa,EAAA;QAC7F,QAAQ,CAAC,CAAC,KAAK;AACX,YAAA,KAAK,UAAU;gBACX,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/B,MAAM;AACV,YAAA,KAAK,UAAU;gBACX,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/B,MAAM;AACV,YAAA,KAAK,YAAY;gBACb,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjC,MAAM;AACb,SAAA;KACJ;IACD,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;KAC7B;IACD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAA;;AAC5B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;KACnD;IAED,cAAc,CAAC,KAAa,EAAE,MAAwB,EAAA;AAClD,QAAA,OAAO,GAAG,MAAM,CAAC,IAAI,CAAG,EAAA,KAAK,EAAE,CAAC;KACnC;IACD,WAAW,CAAC,KAAa,EAAE,GAAwB,EAAA;AAC/C,QAAA,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAG,EAAA,KAAK,EAAE,CAAC;KACxD;;IAES,sBAAsB,CAAC,CAAS,EAAA,GAAU;;oHAvL3C,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAZ,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,k6DAHtB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8OAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,0BAA0B,EAAA,CAAA;sBAAlC,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACI,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBACG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBACG,wBAAwB,EAAA,CAAA;sBAAjC,MAAM;gBACG,eAAe,EAAA,CAAA;sBAAxB,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBACM,cAAc,EAAA,CAAA;sBAA1B,KAAK;;;AC1EJ,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAwBrD,IAAA,WAAA,CACc,cAA6B,EAC7B,iBAAmC,EACnC,UAAwB,EACxB,IAAuB,EACvB,UAAqB,EACrB,IAAsB,EACtB,gBAA0C,EAAA;AAEpD,QAAA,KAAK,EAAE,CAAC;AARE,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;AACnC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;AACxB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AACvB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AACrB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;AACtB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAA0B;KAGvD;IACD,QAAQ,GAAA;;QAEJ,KAAK,CAAC,QAAQ,EAAE,CAAC;KACpB;;mHAtCQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAiB,aAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,6qBAHrB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;sRAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;;;MC1BG,WAAW,GAAG,IAAI,cAAc,CAAS,YAAY,EAAE;MACvD,cAAc,GAAG,IAAI,cAAc,CAAS,gBAAgB;;ACTnE,MAAO,uCAAwC,SAAQ,aAAa,CAAA;AAetE,IAAA,WAAA,CAAoB,MAAc,EAAA;AAC9B,QAAA,KAAK,EAAE,CAAC;AADQ,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAblC,IAAA,CAAA,OAAO,GAAG;AACN,YAAA,uBAAuB,EAAE,CAAC,OAAO,KAAI;gBACjC,IAAI,OAAO,CAAC,cAAc,EAAE;oBACxB,MAAM,SAAS,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AAClD,oBAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;AACnF,oBAAA,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;AACvE,oBAAA,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC3E,oBAAA,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;AACvC,iBAAA;AAAM,qBAAA;oBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5F,iBAAA;aACJ;SACJ,CAAC;QAGE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC;KAChD;;oIAlBQ,uCAAuC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,uCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uCAAuC,qGCXpD,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDWa,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBANnD,SAAS;+BACI,wCAAwC,EAAA,eAAA,EAGjC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;;AEC7C,MAAO,mBAAoB,SAAQ,iBAAiB,CAAA;;gHAA7C,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,+ECVhC,gFAEA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDQa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;+BACI,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gFAAA,EAAA,CAAA;;;AEiB7C,MAAO,oBAAqB,SAAQ,aAAa,CAAA;IAOnD,WAAsB,CAAA,cAA6B,EAAY,SAAmB,EAAA;AAC9E,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAAY,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AAFxE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAiC,CAAC;KAIpE;IACK,QAAQ,GAAA;;;;;AACV,YAAA,MAAA,CAAM,QAAQ,CAAG,IAAA,CAAA,IAAA,CAAA,CAAA;YACjB,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACnC,CAAA,CAAA;AAAA,KAAA;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;;QAC9B,IAAI,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAA,EAAE;YAC5B,OAAO;AACV,SAAA;;;;;QAMD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KACjD;IACD,WAAW,GAAA;QACP,IAAI,CAAC,yBAAyB,EAAE,CAAC;KACpC;IAEe,wBAAwB,GAAA;;YACpC,IAAI,CAAC,yBAAyB,EAAE,CAAC;AACjC,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,OAAO;AACV,aAAA;AACD,YAAA,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;AAClE,YAAA,IAAI,CAAC,cAAc;AACd,iBAAA,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;AACpE,iBAAA,IAAI,CAACC,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjC,iBAAA,SAAS,CAAC,CAAC,YAA+B,KAAI;gBAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC9C,gBAAA,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;AAC/B,gBAAA,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;AAC3B,oBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;AACnE,iBAAA;gBACD,IAAI,IAAI,CAAC,KAAK,EAAE;oBACZ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;AAC/C,iBAAA;gBACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAqD,CAAC;AAC9F,gBAAA,IAAI,MAAM,EAAE;oBACR,MAAM;yBACD,IAAI,CACDA,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3BC,KAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAClC;AACA,yBAAA,SAAS,EAAE,CAAC;AACpB,iBAAA;AACL,aAAC,CAAC,CAAC;YACP,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B,CAAA,CAAA;AAAA,KAAA;IAES,kBAAkB,GAAA;AACxB,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC9F,QAAA,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AAC1B,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACN;IAES,yBAAyB,GAAA;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAC7B,SAAA;KACJ;;iHAxEQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAtB,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACY,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJ/C,CAAA,iDAAA,CAAmD,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGpD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE,CAAmD,iDAAA,CAAA;oBAC7D,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;wHAGG,UAAU,EAAA,CAAA;sBADT,SAAS;uBAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;gBAEhE,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACI,MAAM,EAAA,CAAA;sBAAf,MAAM;;;ACpBL,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;;iHAAjD,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,orBAHnB,CAAmD,iDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGpD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,QAAQ,EAAE,CAAmD,iDAAA,CAAA;oBAC7D,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8BAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;ACjBJ,MAAO,oBAAqB,SAAQ,oBAAoB,CAAA;;iHAAjD,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,srBAHnB,CAAmD,iDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGpD,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,QAAQ,EAAE,CAAmD,iDAAA,CAAA;oBAC7D,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8BAEY,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,0BAA0B,EAAA,CAAA;sBAAlC,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;;;AC7BJ,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AALzD,IAAA,WAAA,GAAA;;AAqCa,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;AAEpB,QAAA,IAAG,CAAA,GAAA,GAAG,IAAI,CAAC;AAKV,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAA8C,CAAC;AAC1E,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAA8C,CAAC;AAC1E,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAA8C,CAAC;AAC5E,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAuB,CAAC;AAC9D,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAuB,CAAC;AAC5D,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,YAAY,EAAuB,CAAC;AACjE,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAU,CAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAuB,CAAC;AACtD,QAAA,IAAA,CAAA,wBAAwB,GAAG,IAAI,YAAY,EAAuB,CAAC;KAIhF;IAHG,WAAW,CAAC,KAAa,EAAE,GAAwB,EAAA;AAC/C,QAAA,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAG,EAAA,KAAK,EAAE,CAAC;KACxD;;mHAlDQ,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,w9CAHrB,CAAA,CAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8BAEY,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,0BAA0B,EAAA,CAAA;sBAAlC,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBACG,mBAAmB,EAAA,CAAA;sBAA5B,MAAM;gBACG,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;gBACG,sBAAsB,EAAA,CAAA;sBAA/B,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACG,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,wBAAwB,EAAA,CAAA;sBAAjC,MAAM;;;AChDL,MAAO,6BAAiE,SAAQ,sBAAsB,CAAA;AAL5G,IAAA,WAAA,GAAA;;AAOc,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAuB,CAAC;KAEnE;;0HAJY,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,8LAH5B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8BAEY,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACE,OAAO,EAAA,CAAA;sBAAf,KAAK;;;ACcJ,MAAO,0BAA2B,SAAQ,sBAAsB,CAAA;IA4ClE,WACc,CAAA,GAAe,EACf,aAA2B,EAC3B,IAAuB,EACC,uBAAyC,EAC7C,iBAAmC,EAC3C,eAA+B,EAAA;AAErD,QAAA,KAAK,EAAE,CAAC;AAPE,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AACf,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;AAC3B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AACC,QAAA,IAAuB,CAAA,uBAAA,GAAvB,uBAAuB,CAAkB;AAC7C,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAkB;AAC3C,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;AA7BzD,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAkB,CAAA,kBAAA,GAAG,IAAI,CAAC;AAK1B,QAAA,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACb,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;AAQ5B,QAAA,IAAkB,CAAA,kBAAA,GAA8B,IAAI,CAAC;AAC7C,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAgB,CAAC;AAC7C,QAAA,IAAA,CAAA,uBAAuB,GAAG,IAAI,OAAO,EAAQ,CAAC;AAelD,QAAA,IAAI,CAAC,cAAc;AACd,aAAA,YAAY,EAAE;AACd,aAAA,IAAI,CACDqB,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3BE,WAAS,CAAC,CAAC,MAAoB,KAAK,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,EAC1EC,YAAU,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAC7C;AACA,aAAA,SAAS,CAAC,CAAC,GAA+D,KAAI;YAC3E,IAAI,GAAG,CAAC,KAAK,EAAE;AACX,gBAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;AACpC,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,aAAA;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,EAAE;gBACrD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7C,aAAA;AACL,SAAC,CAAC,CAAC;AACP,QAAA,IAAI,CAAC,uBAAuB;AACvB,aAAA,YAAY,EAAE;aACd,IAAI,CACDH,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3BI,cAAY,CAAC,GAAG,CAAC,EACjBF,WAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,EAC/BD,KAAG,CAAC,MAAK;YACL,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC,gBAAgB,KAAK,WAAW,EAAE;AACjD,gBAAA,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,IAAI,CAAC;AACnC,aAAA;AACL,SAAC,CAAC,CACL;aACA,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,SAAC,CAAC,CAAC;KACV;IA3ED,IAAa,gBAAgB,CAAC,GAAgB,EAAA;AAC1C,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAChC;IACD,IAAa,UAAU,CAAC,GAAwB,EAAA;AAC5C,QAAA,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAChC;IACD,IAAa,oBAAoB,CAAC,GAAW,EAAA;AACzC,QAAA,IAAI,CAAC,qBAAqB,GAAG,GAAG,CAAC;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAChC;AAiED,IAAA,IAAY,oBAAoB,GAAA;QAC5B,OAAO,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;KAC9D;AACD,IAAA,IAAY,kBAAkB,GAAA;AAC1B,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAC1C,CAAA;AACgG,2GAAA,CAAA,CACnG,CAAC;KACL;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,oBAAoB,EAAE;AAC3B,YAAA,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAACD,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;AAC9E,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAACA,WAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACjD,SAAA;KACJ;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC9B,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,aAAa,EAAE;AACpD,oBAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACpB,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC7C,qBAAA;AACJ,iBAAA;qBAAM,IAAI,SAAS,CAAC,YAAY,EAAE;oBAC/B,IAAI,CAAC,4BAA4B,EAAE,CAAC;AACvC,iBAAA;AACJ,aAAA;AACJ,SAAA;;;;KAIJ;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;AACxF,SAAA;KACJ;AACD,IAAA,mBAAmB,CAAC,CAAC,EAAA;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;AACvB,SAAA;KACJ;IACD,YAAY,GAAA;QACR,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;SACtD,EAAE,CAAC,CAAC,CAAC;KACT;IAED,UAAU,GAAA;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;KACpB;IAED,UAAU,GAAA;AACN,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAC1D;IACD,mBAAmB,GAAA;AACf,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC1C;IACD,qBAAqB,GAAA;QACjB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KACzD;IACD,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAC5D;AACD,IAAA,QAAQ,CAAC,WAAmB,EAAA;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACjC;IACD,aAAa,GAAA;QACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAClC;AACD,IAAA,wBAAwB,CAAC,CAAgC,EAAA;QACrD,QAAQ,CAAC,CAAC,KAAK;AACX,YAAA,KAAK,UAAU;gBACX,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;AACV,YAAA,KAAK,UAAU;gBACX,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,MAAM;AACV,YAAA,KAAK,YAAY;gBACb,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM;AACb,SAAA;KACJ;IACD,cAAc,CAAC,KAAa,EAAE,MAAwB,EAAA;AAClD,QAAA,OAAO,GAAG,MAAM,CAAC,IAAI,CAAG,EAAA,KAAK,EAAE,CAAC;KACnC;IACS,qBAAqB,GAAA;AAC3B,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAChD,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;AACpC,QAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,IAAI,IAAI,CAAC,mBAAmB,EAAE;;YAE1B,OAAO;AACV,SAAA;QACD,IAAI,gBAAgB,IAAI,UAAU,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE;AAC/E,YAAA,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;YACnC,gBAAgB,CAAC,IAAI,GAAG,EAAE,EAAE,EAAO,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,UAAU,CAAE,EAAE,CAAC;AAClD,YAAA,gBAAgB,CAAC,QAAQ,GAAG,oBAAoB,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;AAClG,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACrB,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAC3B,aAAA;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;YAEnC,IAAI,CAAC,cAAc,GAAG;AAClB,gBAAA,WAAW,EAAE,gBAAgB;gBAC7B,IAAI,EAAE,UAAU,CAAC,EAAE;gBACnB,SAAS,EAAE,UAAU,CAAC,UAAU;gBAChC,MAAM,EAAE,IAAI,CAAC,UAAU;AACvB,gBAAA,QAAQ,EAAE,KAAK;aAClB,CAAC;AACF,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAChC,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,SAAA;KACJ;IACS,WAAW,GAAA;;;;;;;;QAQjB,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAC3D,IAAI,CAAC,CAAC,EAAE;AACJ,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QAED,OAAO,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;KACnE;IACS,qBAAqB,GAAA;AAC3B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;AAC1C,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,aAA6B,aAA7B,aAA6B,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA7B,aAA6B,CAAE,KAAK,EAAE,CAAC;KAC3C;AACS,IAAA,qBAAqB,CAAC,MAAM,EAAA;AAClC,QAAA,MAAM,SAAS,GAAa,IAAI,CAAC,kBAAkB,CAAC;QACpD,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAC7B,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;YACpB,IAAI,CAAC,KAAK,MAAM,EAAE;gBACd,gBAAgB,GAAG,IAAI,CAAC;AAC3B,aAAA;AACL,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,EAAE;AACnB,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;KACJ;IACS,SAAS,GAAA;;;;AAIf,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;KAC1D;IAES,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;AACrB,SAAA;AACD,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;KACvC;IACS,OAAO,GAAA;AACb,QAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC;AACpC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;AACtC,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AAChD,QAAA,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAM,KAAI;YAC7D,mBAAmB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC7C,YAAA,IAAI,gBAAgB,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE;AAClC,gBAAA,mBAAmB,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AAC1E,aAAA;AACD,YAAA,IAAI,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,EAAE;AAC/B,gBAAA,mBAAmB,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;AACpE,aAAA;AACL,SAAC,CAAC,CAAC;QACH,mBAAmB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,EAAE,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,mBAAmB,CAAE,CAAC;AACrC,QAAA,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC;AAChC,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;KAClC;IAES,2BAA2B,GAAA;QACjC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/C;AAES,IAAA,6BAA6B,CAAC,MAA0B,EAAA;AAC9D,QAAA,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACpG,QAAA,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;;;;;;;;;;;;;;KAcpC;IACS,qBAAqB,CAAC,EAAuB,EAAE,SAAiB,EAAA;AACtE,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,cAAc,GAAG,yBAAyB,CAC3C,IAAI,CAAC,WAAW,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACX,EAAE,CACP,EAAA,SAAS,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,KAAK;;aAEb,CAAC;AACL,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC9C,QAAA,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACnB,sBAAsB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YACrE,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AAClD,SAAA,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IAES,4BAA4B,GAAA;AAClC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAC9C,MAAM,MAAM,GACL,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,EAAE,CACV,EAAA,EAAA,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC,UAAU,EACzC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC,UAAU,EACzC,eAAe,EAAE,EAAE,EAAA,CACtB,CAAC;QACF,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrC,OAAO;AACV,SAAA;QAED,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;AAC7B,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,kBAAkB,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAClE,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAK;AAClD,YAAA,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;AACzD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,EAAE,GAAG,IAAI,CAAC;AACvF,YAAA,IAAI,IAAI,CAAC,aAAa,IAAI,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,KAAK,aAAa,EAAE;AACrF,gBAAA,cAAc,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;;;AAG1E,aAAA;AACD,YAAA,iBAAiB,CAAC,OAAO,GAAG,MAAK,GAAG,CAAC;YACrC,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;YAChE,UAAU,CAAC,MAAK;gBACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAChC,EAAE,CAAC,CAAC,CAAC;AACV,SAAC,CAAC,CAAC;KACN;IACS,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;KAC5B;AACS,IAAA,eAAe,CAAC,GAAG,EAAA;AACzB,QAAA,IAAI,GAAG,EAAE;AACL,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KACrB;AACS,IAAA,wBAAwB,CAAC,MAAM,EAAA;;QAErC,OAAO,IAAI,OAAO,CAA6D,CAAC,OAAO,EAAE,CAAC,KAAI;AAC1F,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE;;AAEpC,gBAAA,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACpD,aAAA;AACD,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,OAAO,gBAAgB,CAAC,IAAI,CAAC;;AAG7B,YAAA,IAAI,CAAC,EAAE,CAAC,gBAAgB,GAAG,KAAK,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,KAAI;;AAEpC,gBAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACxC,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAC1B,gBAAA,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;;uHAzXQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA1B,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAwB,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAN,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,2ZAHzB,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;;;8BAiDQ,QAAQ;;8BAAI,QAAQ;;8BACpB,QAAQ;;8BAAI,IAAI;;8BAChB,QAAQ;;yBAjDJ,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEO,gBAAgB,EAAA,CAAA;sBAA5B,KAAK;gBAIO,UAAU,EAAA,CAAA;sBAAtB,KAAK;gBAIO,oBAAoB,EAAA,CAAA;sBAAhC,KAAK;;;AC1BJ,MAAO,6BAAiE,SAAQ,aAAa,CAAA;AAyB/F,IAAA,WAAA,CACc,KAAwB,EACxB,eAAuC,EACvC,IAAuB,EAAA;AAEjC,QAAA,KAAK,EAAE,CAAC;AAJE,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;AACxB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAwB;AACvC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AA3B3B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAiC,CAAC;KA8BpE;;0HA/BQ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAa,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAT,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,stBAH5B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;uKAEa,MAAM,EAAA,CAAA;sBAAf,MAAM;gBACE,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACG,0BAA0B,EAAA,CAAA;sBAAlC,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;;;AC9BJ,MAAO,iCAAkC,SAAQ,aAAa,CAAA;IAchE,WAAsB,CAAA,gBAAmC,EAAY,IAAuB,EAAA;AACxF,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;AAAY,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AAPlF,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAiC,CAAC;AAM7D,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAO,CAAC;KAGhD;;8HAhBQ,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAS,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,iCAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,uaAHhC,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGH,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAL7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6BAA6B;AACvC,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;qIAEY,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACE,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;;;ACbL,MAAO,+BAAgC,SAAQ,oBAAoB,CAAA;AANzE,IAAA,WAAA,GAAA;;AAOc,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAO,CAAC;KAUhD;;4HAXY,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,+BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,+UAJ9B,CAAmD,iDAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAIpD,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAN3C,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAC/B,QAAA,EAAA,CAAmD,iDAAA,CAAA,EAE5C,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;8BAGrC,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACE,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,kBAAkB,EAAA,CAAA;sBAA1B,KAAK;;;ACFJ,MAAO,mBAAoB,SAAQ,iBAAiB,CAAA;AAX1D,IAAA,WAAA,GAAA;;AAgBI,QAAA,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;KAYjB;IAXG,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACpC,YAAA,IAAI,KAAK,YAAY,eAAe,IAAI,KAAK,YAAY,WAAW,EAAE;AAClE,gBAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAC7C,aAAA;AACD,YAAA,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,YAAY,WAAW,EAAE;AAChE,gBAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC3C,aAAA;AACL,SAAC,CAAC,CAAC;KACN;;gHAhBQ,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EATlB,QAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;sCAMwB,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGzB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAX/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMwB,qCAAA,CAAA;oBAClC,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;8BAE4B,UAAU,EAAA,CAAA;sBAAlC,SAAS;uBAAC,YAAY,CAAA;gBACC,SAAS,EAAA,CAAA;sBAAhC,SAAS;uBAAC,WAAW,CAAA;;;MCfb,qBAAqB,CAAA;IAG9B,UAAU,GAAA;AACN,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,OAAO,IAAI,IAAI,EAAE;YACjB,OAAO,CAAC,cAAc,EAAE,CAAC;AAC5B,SAAA;KACJ;;kHARQ,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;iBAC7B,CAAA;8BAEY,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEN,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,OAAO,CAAA;;;MCFH,aAAa,CAAA;AADnC,IAAA,WAAA,GAAA;AAEuB,QAAA,IAAA,CAAA,WAAW,GAAkB,IAAI,OAAO,EAAQ,CAAC;KAsCvE;IApCG,kBAAkB,GAAA;;AACd,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAClC,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;;AAC9B,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KACxB;IACD,QAAQ,GAAA;;AACJ,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxB,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;IACD,eAAe,GAAA;;AACX,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;IACD,WAAW,GAAA;;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC5B,QAAA,IAAI,EAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAA,EAAE;YACxC,OAAO;AACV,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3B,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACrB;;0GAtCiB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8FAAb,aAAa,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADlC,SAAS;;;ACKJ,MAAO,gBAAiB,SAAQ,aAAa,CAAA;AAE/C,IAAA,WAAA,CAAoB,UAAqB,EAAU,GAAe,EAAE,cAA6B,EAAA;AAC7F,QAAA,KAAK,EAAE,CAAC;AADQ,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAW;AAAU,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;AAE9D,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,GAAG,KAAK,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAC3B,OAAO;AACV,SAAA;AACD,QAAA,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AACzE,YAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,gBAAgB,CAAC,GAAY,EAAA;AACjC,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA,CAAE,CAAC,CAAC;KACzE;;6GAhBQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA1B,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAAhB,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,CAAA,SAAA,EAAA,KAAA,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;iBACxB,CAAA;kJAEqB,GAAG,EAAA,CAAA;sBAApB,KAAK;uBAAC,SAAS,CAAA;;;ACJd,MAAO,sBAAuB,SAAQ,aAAa,CAAA;IAErD,WAAoB,CAAA,EAAc,EAAU,QAAmB,EAAA;AAC3D,QAAA,KAAK,EAAE,CAAC;AADQ,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;KAE9D;IACD,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC7B,SAAA;KACJ;IAEO,kBAAkB,GAAA;AACtB,QAAA,MAAM,IAAI,GAAyB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;AACzD,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;YAClC,OAAO;AACV,SAAA;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEzD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC/C,QAAA,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,YAAY,CACtB,aAAa,EACb,OAAO,EACP,2EAA2E,CAC9E,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;KACxD;;mHA5BQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;iBAC9B,CAAA;yHAEY,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;MCDG,uBAAuB,CAAA;AAHpC,IAAA,WAAA,GAAA;AAOc,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAiB/C;AAfG,IAAA,OAAO,CAAC,KAAU,EAAA;AACd,QAAA,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,OAAO,SAAS,EAAE;AAChD,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC7B,SAAA;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;QAChC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;AAC/C,QAAA,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AACnE,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,QAAA,OAAO,KAAK,CAAC;KAChB;;oHApBQ,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;iBAC3B,CAAA;8BAEY,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAEP,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ACL/B,MAAO,kBAAmB,SAAQ,aAAa,CAAA;IAIjD,WAAsB,CAAA,EAAc,EAAY,QAAmB,EAAA;AAC/D,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AAAY,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;KAElE;AAED,IAAA,QAAQ,CAAC,CAAC,EAAA;QACN,IAAI,CAAC,CAAC,OAAO,EAAE;YACX,IAAI,CAAC,aAAa,EAAE,CAAC;AACxB,SAAA;KACJ;IAED,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB,EAAE,GAAG,CAAC,CAAC;KACX;IAEO,aAAa,GAAA;QACjB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;AAChC,YAAA,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,EAAE;AAC/B,gBAAA,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;AAClC,gBAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3E,gBAAA,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBACzC,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;AAClF,gBAAA,SAAS,GAAG,SAAS,IAAI,SAAS,KAAK,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC;AACzD,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7E,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAEO,UAAU,GAAA;QACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAU,KAAI;AAChC,YAAA,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,EAAE;gBAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACzD,aAAA;AACL,SAAC,CAAC,CAAC;KACN;IAEO,iBAAiB,GAAA;AACrB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;AACvF,QAAA,aAAa,CAAC,OAAO,CAAC,CAAC,EAAO,KAAI;YAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AAC/C,YAAA,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAChB,gBAAA,IAAI,GAAG,CAAC,iBAAiB,KAAK,CAAC,EAAE;oBAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;AAC9D,iBAAA;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;KACN;;+GA3DQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;iBAC1B,CAAA;yHAEY,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAON,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCR5B,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;+FAAd,cAAc,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,SAAS;iBACtB,CAAA;8BAEY,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;ACGJ,MAAO,kBAAmB,SAAQ,aAAa,CAAA;IAOjD,WAAoB,CAAA,UAAsB,EAAU,aAA4B,EAAA;AAC5E,QAAA,KAAK,EAAE,CAAC;AADQ,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;AAAU,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AANvE,QAAA,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AACZ,QAAA,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AACd,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AAGnC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAQ,CAAC;QAGxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,aAAiC,CAAC;KACnE;IACD,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,MAAM,QAAQ,GAAG,SAAS,IAAI,gBAAgB,CAAC,SAAS,CAAC;AAEzD,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO;AACV,SAAA;AACD,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,EAAE;AACX,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/D,YAAA,IAAI,QAAQ,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/B,OAAO;AACV,aAAA;YACD,KAAK,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvC,iBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,YAAY,CAAC,EAAE,CAAC,EAChB,MAAM,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,EACjC,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAC9B;AACA,iBAAA,SAAS,EAAE,CAAC;AACpB,SAAA;KACJ;IACM,SAAS,GAAA;QACZ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YAClC,OAAO;AACV,SAAA;AACD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1B,QAAA,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;QAEzB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AACrD,QAAA,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAK;AAChC,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IACO,YAAY,GAAA;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;AACjD,QAAA,MAAM,YAAY,GACd,IAAI,CAAC,GAAG,IAAI,CAAC;YACb,IAAI,CAAC,IAAI,IAAI,CAAC;AACd,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC;AAC7F,YAAA,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AAC9E,QAAA,OAAO,YAAY,CAAC;KACvB;;+GA3DQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAlB,kBAAkB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;iBACxB,CAAA;0HAEY,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACE,OAAO,EAAA,CAAA;sBAAf,KAAK;;;ACXE,IAAA,mBAIX;AAJD,CAAA,UAAY,kBAAkB,EAAA;AAC1B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB,CAAA;AAC7B,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,GAI7B,EAAA,CAAA,CAAA,CAAA;AACD;MACa,wBAAwB,GAAG,CAAC,OAAoB,EAAE,MAAgC,EAAE,QAAQ,GAAG,CAAC,KACzG,IAAI,UAAU,CAAqB,CAAC,UAAU,KAAI;AAC9C,IAAA,MAAM,QAAQ,GAAG,IAAI,OAAO,EAGxB,CAAC;IAEL,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,QAAQ,KAAI;AACxE,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AACtB,YAAA,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;gBACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtC,aAAA;AACL,SAAC,CAAC,CAAC;KACN,EAAE,MAAM,CAAC,CAAC;AAEX,IAAA,QAAQ,CAAC,SAAS,CAAC,MAAK;AACpB,QAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAChD,KAAC,CAAC,CAAC;AAEH,IAAA,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAO,CAAM,KAAI,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AAC9E,QAAA,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC9B,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,MAAqB,CAAC,CAAC;AAEpE,QAAA,IAAI,cAAc,EAAE;AAChB,YAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5C,YAAA,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;AAAM,aAAA;AACH,YAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAClD,SAAA;KACJ,CAAA,CAAC,CAAC;AAEH,IAAA,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO;QACH,WAAW,GAAA;YACP,oBAAoB,CAAC,UAAU,EAAE,CAAC;YAClC,QAAQ,CAAC,WAAW,EAAE,CAAC;SAC1B;KACJ,CAAC;AACN,CAAC,EAAE;AAEP,SAAe,SAAS,CAAC,OAAoB,EAAA;;AACzC,QAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;YAC3B,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAI;AAClD,gBAAA,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC9B,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC1B,aAAC,CAAC,CAAC;AAEH,YAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;KACN,CAAA,CAAA;AAAA,CAAA;AAED,SAAS,cAAc,CAAC,KAAgC,EAAA;IACpD,OAAO,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;AAC/D;;MCrDa,6BAA6B,CAAA;AAUtC,IAAA,WAAA,CAAoB,OAAmB,EAAA;AAAnB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;AAT9B,QAAA,IAAoB,CAAA,oBAAA,GAAG,CAAC,CAAC;AACzB,QAAA,IAAsB,CAAA,sBAAA,GAAG,KAAK,CAAC;AAI9B,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAsB,CAAC;AAE5D,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;KAEI;IAE3C,QAAQ,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AAC3C,QAAA,MAAM,MAAM,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,UAAU,EAAE,IAAI,CAAC,sBAAsB;YACvC,SAAS,EAAE,IAAI,CAAC,qBAAqB;SACxC,CAAC;QAEF,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAC/D,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,aAAA,SAAS,CAAC,CAAC,MAAM,KAAI;AAClB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;KACV;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACxB;;0HA7BQ,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8GAA7B,6BAA6B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;iBACrC,CAAA;iGAEY,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBACG,sBAAsB,EAAA,CAAA;sBAA9B,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,qBAAqB,EAAA,CAAA;sBAA7B,KAAK;gBAEI,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;;;ACRL,MAAO,sBAAuB,SAAQ,aAAa,CAAA;AAOrD,IAAA,WAAA,CAAmB,EAAc,EAAA;AAC7B,QAAA,KAAK,EAAE,CAAC;AADO,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AAHvB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;AAChC,QAAA,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;KAI5B;IACD,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;AAC3C,QAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;AAC5C,QAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;AACtD,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AACnD,SAAA;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,KAAI;YAClC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAClE,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,KAAI;gBACrD,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,iBAAA;AAAM,qBAAA;AACH,oBAAA,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC;AACrB,oBAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;AACzD,iBAAA;AACL,aAAC,CAAC,CAAC;AACH,YAAA,oBAAoB,CAAC,OAAO,GAAG,OAAO,CAAC;AACvC,YAAA,oBAAoB,CAAC,EAAE,GAAG,EAAE,CAAC;AAC7B,YAAA,oBAAoB,CAAC,KAAK,GAAG,KAAK,CAAC;AACnC,YAAA,oBAAoB,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;YACjD,oBAAoB,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AAChE,YAAA,WAAW,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;KACnC;;mHAtCQ,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;uGAAtB,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;iBAC9B,CAAA;iGAEY,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACI,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACE,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;MCRG,yBAAyB,CAAA;AAClC,IAAA,WAAA,CAAoB,KAAiB,EAAA;AAAjB,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;KAAI;AAEN,IAAA,aAAa,CAAC,KAAK,EAAA;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC;AACnD,QAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;YAChD,KAAK,CAAC,eAAe,EAAE,CAAC;AAC3B,SAAA;KACJ;;sHATQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAzB,yBAAyB,EAAA,QAAA,EAAA,wCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wCAAwC;iBACrD,CAAA;iGAIsC,aAAa,EAAA,CAAA;sBAA/C,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCHxB,oBAAoB,CAAA;;iHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;iBAC5B,CAAA;8BAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;;;ACcJ,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAIvD,IAAA,WAAA,CACY,SAAmB,EACnB,cAA6B,EAC7B,IAAsB,EACtB,IAAuB,EAAA;AAE/B,QAAA,KAAK,EAAE,CAAC;AALA,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AACnB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;AACtB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;KAGlC;IACD,eAAe,GAAA;QACX,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;AAC5B,SAAA;KACJ;IACD,OAAO,GAAA;AACH,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,OAAO,EAAE;AACT,YAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;AACvG,YAAA,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC1G,YAAA,IAAI,CAAC,cAAc;AACd,iBAAA,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;AAC7E,iBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,KAAK,CAAC,CAAC,CAAC,EACR,GAAG,CAAC,CAAC,SAAS,KAAI;gBACd,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACvC,gBAAA,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;;AAErC,gBAAA,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;;AAEvC,gBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACrC,gBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC9B,aAAC,CAAC,CACL;AACA,iBAAA,SAAS,EAAE,CAAC;AACpB,SAAA;KACJ;;qHA7CQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;yGAAxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;iBAChC,CAAA;uLAEY,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACoB,MAAM,EAAA,CAAA;sBAA/B,KAAK;uBAAC,iBAAiB,CAAA;;;ACFtB,MAAO,uBAAwB,SAAQ,aAAa,CAAA;AAItD,IAAA,WAAA,CACY,SAAmB,EACnB,cAA6B,EAC7B,IAAsB,EACtB,IAAuB,EAAA;AAE/B,QAAA,KAAK,EAAE,CAAC;AALA,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AACnB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;AACtB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;KAGlC;IACK,QAAQ,GAAA;;;;;AACV,YAAA,MAAA,CAAM,QAAQ,CAAG,IAAA,CAAA,IAAA,CAAA,CAAA;YACjB,IAAI,CAAC,OAAO,EAAE,CAAC;SAClB,CAAA,CAAA;AAAA,KAAA;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;KAC5B;IACK,OAAO,GAAA;;AACT,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;AAC7B,YAAA,IAAI,OAAO,EAAE;AACT,gBAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;gBACvG,MAAM,EACF,UAAU,EACV,UAAU;;;AAGb,kBAAA,GAAG,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAElD,gBAAA,IAAI,CAAC,cAAc;AACd,qBAAA,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC;AACnF,qBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,KAAK,CAAC,CAAC,CAAC,EACR,GAAG,CAAC,CAAC,SAAS,KAAI;oBACd,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACvC,oBAAA,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;AACrC,oBAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACrC,oBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC9B,iBAAC,CAAC,CACL;AACA,qBAAA,SAAS,EAAE,CAAC;AACpB,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;;oHA9CQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,SAAA,CAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAHnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;iBAChC,CAAA;uLAEY,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACoB,OAAO,EAAA,CAAA;sBAAhC,KAAK;uBAAC,iBAAiB,CAAA;;;ACItB,MAAO,qBAAsB,SAAQ,aAAa,CAAA;IAiBpD,WAAoB,CAAA,EAAc,EAAU,QAAmB,EAAA;AAC3D,QAAA,KAAK,EAAE,CAAC;AADQ,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAVrD,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAA4B,CAAC;AAYnE,QAAA,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;AACzB,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACjC,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,QAAQ,EAAE,CAAC;AACpB,SAAC,CAAC,CAAC;AACP,QAAA,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;AAC3B,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjC,aAAA,SAAS,CAAC,CAAC,CAAC,KAAI;AACb,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,SAAC,CAAC,CAAC;KACV;AACD,IAAA,IAAY,MAAM,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,EAAE,CAAC,aAAiC,CAAC;KACpD;AAGD,IAAA,QAAQ,CAAC,CAAC,EAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KACtB;AAGD,IAAA,QAAQ,CAAC,CAAC,EAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,2BAA2B,EAAE,CAAC;AACtC,SAAA;QACD,IAAI,IAAI,CAAC,UAAU,EAAE;YACjB,IAAI,CAAC,eAAe,EAAE,CAAC;AAC1B,SAAA;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrC;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC3B,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAC7B,IAAI,IAAI,CAAC,cAAc,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;AAC1D,YAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAY,CAAC;AAC1C,YAAA,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACnC,SAAA;KACJ;IACO,gBAAgB,GAAA;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrC;AACO,IAAA,UAAU,CAAC,KAAK,EAAA;;AACpB,QAAA,IAAI,CAAC,eAAe,GAAA,KAAA,mBAAe;AACnC,QAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,YAAY,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAgB,CAAE,OAAO,CAAC,IAAI,CAAyB,CAAC;AAC5E,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,KAAI,CAAC,CAAC;KACjE;AAEO,IAAA,aAAa,CAAC,KAAK,EAAA;;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC5B,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,GAAA,QAAA,sBAAkB;AACtC,QAAA,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7E,QAAA,IAAI,CAAC,YAAY,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,KAAhB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,gBAAgB,CAAE,OAAO,CAAC,IAAI,CAAyB,CAAC;AAC5E,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,KAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,CAAC;KACvD;IAEO,eAAe,GAAA;AACnB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;AAC5D,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAEtD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAE5C,YAAA,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,YAAY,CACtB,UAAU,EACV,OAAO,EACP,2EAA2E,CAC9E,CAAC;AACN,SAAC,CAAC,CAAC;KACN;IAEO,2BAA2B,GAAA;AAC/B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAa,CAAC;QACjC,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC;AACzE,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC5B,gBAAA,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACxC,aAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAE7D,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACvC,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,YAAY,CAAC,WAAW,EAAA;;QAC5B,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,YAAY,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC;AAC1D,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;AACrD,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;IAEO,YAAY,CAChB,QAAiB,EACjB,QAAQ,EACR,WAAW,EACX,uBAAuB,EACvB,oBAAoB,EAAA;AAEpB,QAAA,IAAI,QAAQ,EAAE;AACV,YAAA,IAAI,QAAQ,IAAI,uBAAuB,IAAI,IAAI,CAAC,QAAQ,IAAI,oBAAoB,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC/F,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAAC;AACvE,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAAC;AAC3E,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAAC;AAC7E,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAAC;AACpF,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,uBAAuB,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjD,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAAC;AAC7E,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAAC;AACpF,SAAA;KACJ;AAEO,IAAA,aAAa,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAA;QACvD,IAAI,aAAa,GAAG,SAAS,EAAE;AAC3B,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC;AACrF,SAAA;KACJ;IACO,UAAU,GAAA;QACd,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,MAAM,KAAK,GAAqB,IAAI,CAAC,MAAM,CAAC;AAC5C,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;;QAEhF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KACnD;AAEO,IAAA,aAAa,CAAC,UAAU,EAAA;AAC5B,QAAA,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC3B,SAAA;KACJ;IAEO,iBAAiB,GAAA;AACrB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC/C,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACvB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AACpD,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC5D,SAAC,CAAC,CAAC;KACN;IAEO,gBAAgB,GAAA;AACpB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;KACtD;AAEO,IAAA,UAAU,CAAC,CAAC,EAAA;AAChB,QAAA,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,KAAK,aAAa,EAAE;AAC1C,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACzE,SAAA;AAAM,aAAA,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,KAAK,gBAAgB,EAAE;AACpD,YAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AACzE,SAAA;KACJ;AAEO,IAAA,UAAU,CAAC,CAAC,EAAA;AAChB,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE;AACjB,YAAA,IAAI,IAAI,CAAC,eAAe,KAAA,QAAA,uBAAqB;AACzC,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;oBACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC3B,iBAAA;AACD,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;AACrB,gBAAA,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;AAC/B,gBAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;AAC9D,gBAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;AACxD,gBAAA,IAAI,CAAC,YAAY,CACb,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,EACjB,uBAAuB,EACvB,oBAAoB,CACvB,CAAC;AACL,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,eAAe,KAAA,KAAA,oBAAkB;AAC7C,gBAAA,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;AACrB,gBAAA,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;AAC/B,gBAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AAC5D,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAClF,aAAA;AACJ,SAAA;KACJ;IAEO,QAAQ,GAAA;;QACZ,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAwB,EAAE,CAAC;AAC9C,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,UAAU,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;AAC1D,gBAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACnC,oBAAA,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AACvE,iBAAA;AACJ,aAAA;AACD,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;AAC5B,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;KACtE;;kHAtPQ,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAArB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;iBAC7B,CAAA;yHAEY,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACI,aAAa,EAAA,CAAA;sBAAtB,MAAM;gBA4BP,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAMrC,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AC3DnC,MAAO,mBAAoB,SAAQ,aAAa,CAAA;AAGlD,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;AAFF,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;KAG3C;AAED,IAAA,OAAO,CAAC,KAAU,EAAA;AACd,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACtC,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/B,UAAU,CAAC,MAAK;;YAEZ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE;AAC1C,gBAAA,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAClC,aAAA;iBAAM,IAAI,MAAM,CAAC,OAAO,EAAE;AACvB,gBAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7C,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK,CAAC;KAChB;;gHAtBQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;oGAAnB,mBAAmB,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;iBAClC,CAAA;0EAEY,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAKP,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ACO/B,MAAO,oBAAqB,SAAQ,aAAa,CAAA;AAInD,IAAA,WAAA,CACY,YAA8B,EAC9B,IAAsB,EACtB,IAAuB,EAAA;AAE/B,QAAA,KAAK,EAAE,CAAC;AAJA,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAkB;AAC9B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;AACtB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AAL1B,QAAA,IAAoB,CAAA,oBAAA,GAAG,GAAG,CAAC;AAC5B,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;KAOrC;IAEM,MAAM,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;KAC7B;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;AAC/C,QAAA,MAAM,MAAM,GAAG;AACX,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,SAAS,EAAE,CAAC;SACf,CAAC;QACF,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC;AAC/D,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC1D,SAAS,CAAC,MAAK;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;AAClB,SAAC,CAAC,CAAC;KACV;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;KAC3B;;iHAnCQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qGAApB,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;iBAC5B,CAAA;iKAEY,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;;;MCbG,yBAAyB,CAAA;AAClC,IAAA,WAAA,CAAoB,aAA4B,EAAA;AAA5B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAI;AAEpD,IAAA,OAAO,CACH,KAA6B;;;;;;;;;;;;;;;;;;;QAmB7B,MAAM,MAAM,GAAQ,KAAK,CAAC;QAC1B,IAAI,QAAQ,GAAG,CAAA,EAAA,GAAA,KAAK,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC;;;;AAIpC,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;QAChD,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3D,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CACpC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK,GAAG,GAAG,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,cAAc,CACzE,CAAC;AACL,SAAA;AAAM,aAAA;YACH,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,GAAG,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AAC1F,SAAA;;QAGD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;KACnD;;sHAxCQ,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,cADZ,MAAM,EAAA,CAAA,CAAA;2FACnB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBADrC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCJrB,sBAAsB,CAAA;AAC/B,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,OAAO,CACH,KAA6B;;;QAG7B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AACnC,QAAA,OAAO,UAAU,CAAC;KACrB;;mHARQ,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA,CAAA;2FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCOrB,wBAAwB,CAAA;AACjC,IAAA,WAAA,CAAoB,aAA4B,EAAA;AAA5B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAI;AAEpD,IAAA,OAAO,CACH,KAA6B;;;;;;;;;;;;;AAa7B,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC3D,GAAG,CAAC,CAAC,QAAQ,KAAI;AACb,YAAA,IAAI,QAAQ,EAAE;AACV,gBAAA,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC;AACjC,aAAA;AACD,YAAA,OAAO,QAAQ,CAAC;SACnB,CAAC,CACL,CAAC;KACL;;qHA1BQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADX,MAAM,EAAA,CAAA,CAAA;2FACnB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACuB5B,MAAO,aAAc,SAAQ,aAAa,CAAA;AAoB5C,IAAA,WAAA,CACY,aAA4B,EAC5B,QAAkB,EAClB,GAAsB,EAC9B,EAAc,EAAA;AAEd,QAAA,KAAK,EAAE,CAAC;AALA,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAClB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;AAXxB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;AAC1C,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAuB,CAAC;AACpD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAE,CAAC;AAC/B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAYxC,QAAA,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;KACxD;IACD,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AAC7C,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC5E,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChC;AACD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAC9B,QAAA,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;AAC/C,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACrD,IAAI,OAAO,KAAK,OAAO,EAAE;;AAErB,gBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;AACjB,gBAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,aAAA;AACJ,SAAA;KACJ;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;AACtB,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;AAClC,SAAA;KACJ;AACD,IAAA,UAAU,CAAC,MAAM,EAAA;AACb,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC9C,YAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;AACvF,YAAA,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;YAC3C,OAAO;AACV,SAAA;AAED,QAAA,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAClE,IAAI,OAAO,GAAQ,IAAI,CAAC;AACxB,QAAA,IAAI,WAAW,EAAE;AACb,YAAA,OAAO,GAAG;AACN,gBAAA,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU;aAC5C,CAAC;AACL,SAAA;AAAM,aAAA,IAAI,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE;AACxC,YAAA,OAAO,GAAG;AACN,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,MAAM,EAAE,MAAM;AACjB,iBAAA;AACD,gBAAA,SAAS,EAAE,SAAS;AACpB,gBAAA,QAAQ,EAAE,QAAQ;aACrB,CAAC;AACL,SAAA;QACD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,cAAc,CAAC;AAClD,YAAA,iBAAiB,EAAE,QAAQ;AAC9B,SAAA,CAAC,CAAC;QACH,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC/C,QAAA,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;AACrC,QAAA,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC;QACrE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAC3B,yCAAyC,EACzC;YACI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC;YAC9F,CAAC,SAAS,KAAI;gBACV,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACxD,gBAAA,SAAS,EAAE,CAAC;aACf;AACJ,SAAA,EACD,CAAC,GAAG,EAAE,MAAM,KAAI;;AAEZ,YAAA,IAAI,GAAG,EAAE;AACL,gBAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,aAAA;YACD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAChD,SAAC,CACJ,CAAC;KACL;AAEa,IAAA,kBAAkB,CAAC,iBAAsB,EAAA;;AACnD,YAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;AAC3G,YAAA,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAC3E,iBAAiB,EACjB,eAAe,CAClB,CAAC;AACF,YAAA,IAAI,CAAC,aAAa;AACb,iBAAA,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC5E,iBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,SAAS,KAAI;AACd,gBAAA,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;AAC7C,gBAAA,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;AACtD,gBAAA,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC;AAC9C,gBAAA,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACtD,gBAAA,iBAAiB,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACtD,gBAAA,iBAAiB,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAClD,gBAAA,iBAAiB,CAAC,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC;gBACtE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpC,gBAAA,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAI;AACrE,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,iBAAC,CAAC,CAAC;AACH,gBAAA,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AAC3E,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,iBAAC,CAAC,CAAC;AACH,gBAAA,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;AAC3E,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC1B,iBAAC,CAAC,CAAC;;;AAGH,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC9C,aAAC,CAAC,CACL;AACA,iBAAA,SAAS,CAAC,CAAC,SAAS,KAAI;AACrB,gBAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;AACjC,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;AAC7B,aAAC,CAAC,CAAC;SACV,CAAA,CAAA;AAAA,KAAA;;0GAhJQ,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8FAAb,aAAa,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAgBY,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApBxC,6CAA6C,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAI9C,aAAa,EAAA,UAAA,EAAA,CAAA;kBANzB,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACX,QAAA,EAAA,6CAA6C,EAEtC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA;iLAGtC,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAQG,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBACG,YAAY,EAAA,CAAA;sBAArB,MAAM;gBAEP,GAAG,EAAA,CAAA;sBADF,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;AChChE,MAAO,gBAAiB,SAAQ,aAAa,CAAA;AAI/C,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE,CAAC;KACX;IACD,QAAQ,GAAA;;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KAC7C;;6GAbQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,8GAHf,2CAA2C,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA2B,aAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAG5C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,QAAQ,EAAE,2CAA2C;oBACrD,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;0EAEY,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;ACEJ,MAAO,wBAAyB,SAAQ,aAAa,CAAA;AAIvD,IAAA,WAAA,CAAoB,aAA4B,EAAU,QAAkB,EAAU,GAAqB,EAAA;AACvG,QAAA,KAAK,EAAE,CAAC;AADQ,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAAU,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AAAU,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;AADnG,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAW,CAAC;QAG5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3G;IAED,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,QAAQ,CAAC;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACxB,YAAA,QAAQ,GAAG;AACP,gBAAA,KAAK,EAAE;AACH,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,MAAM,EAAE,OAAO;AACf,oBAAA,IAAI,EAAE,OAAO;;AAEhB,iBAAA;aACJ,CAAC;YACF,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;AACnD,YAAA,QAAQ,CAAC,SAAS,GAAG,iBAAiB,CAAC;AAC1C,SAAA;AACD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,aAAa;AACb,aAAA,eAAe,CACZ;AACI,YAAA,EAAE,EAAE,IAAI;AACR,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AACxC,YAAA,SAAS,EAAE,QAAQ;AACtB,SAAA,EACD,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,QAAQ,CAChB;AACA,aAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,UAAU,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,EACpC,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAClD;AACA,aAAA,SAAS,EAAE,CAAC;KACpB;;qHA1CQ,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA3B,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,sHClBrC,0DACA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA4B,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDiBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;+BACI,uBAAuB,EAAA,eAAA,EAGhB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0DAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;uJAGtC,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AEWJ,MAAO,gBAAiB,SAAQ,aAAa,CAAA;AAY/C,IAAA,WAAA,CACI,EAAc,EACN,cAA6B,EAC7B,SAAmB,EACnB,IAAuB,EAAA;AAE/B,QAAA,KAAK,EAAE,CAAC;AAJA,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;AAC7B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAU;AACnB,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAmB;AAVP,QAAA,IAAK,CAAA,KAAA,GAAG,MAAM,CAAC;AAKnC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,OAAO,EAAQ,CAAC;AAQ9C,QAAA,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;KACvD;IACK,QAAQ,GAAA;;;;;AACV,YAAA,MAAA,CAAM,QAAQ,CAAG,IAAA,CAAA,IAAA,CAAA,CAAA;AACjB,YAAA,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,KAAK,aAAa,EAAE;;AAErD,aAAA;;;;YAID,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC,CAAA,CAAA;AAAA,KAAA;AACK,IAAA,WAAW,CAAC,OAAsB,EAAA;;;;;YACpC,MAAM,CAAA,WAAW,CAAC,IAAA,CAAA,IAAA,EAAA,OAAO,CAAE,CAAA;AAC3B,YAAA,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;YAChC,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;AAC5D,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;AAChC,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;AACxE,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;IACD,WAAW,GAAA;QACP,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;AAC7B,SAAA;KACJ;IACK,qBAAqB,GAAA;;AACvB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,WAAW,EAAE;AACd,gBAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACtC,OAAO;AACV,aAAA;AACD,YAAA,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AAChG,YAAA,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAC9G,YAAA,IAAI,CAAC,cAAc;AACd,iBAAA,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;AAC7E,iBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAC3B,GAAG,CAAC,CAAC,SAAS,KAAI;AACd,gBAAA,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC;AAC7C,gBAAA,iBAAiB,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACtC,gBAAA,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,gBAAA,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;AAC/C,gBAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AACjD,gBAAA,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACnD,gBAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AACpC,gBAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;AAC9B,aAAC,CAAC,CACL;AACA,iBAAA,SAAS,EAAE,CAAC;SACpB,CAAA,CAAA;AAAA,KAAA;IAEO,WAAW,CAAC,iBAAsB,EAAE,WAAgB,EAAA;AACxD,QAAA,iBAAiB,CAAC,OAAO,GAAG,WAAW,CAAC;AACxC,QAAA,iBAAiB,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;AAC5C,QAAA,iBAAiB,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAChD,QAAA,iBAAiB,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;AAClD,QAAA,WAAW,CAAC,SAAS,GAAG,iBAAiB,CAAC;QAC1C,IAAI,iBAAiB,CAAC,WAAW,EAAE;AAC/B,YAAA,iBAAiB,CAAC,WAAW;AACxB,iBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;;AAExE,aAAA;AACA,iBAAA,SAAS,CAAC,CAAC,KAAK,KAAI;AACjB,gBAAA,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;AAC1B,gBAAA,WAAW,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAChD,gBAAA,WAAW,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC3C,aAAC,CAAC,CAAC;AACV,SAAA;QACD,IAAI,iBAAiB,CAAC,cAAc,EAAE;AAClC,YAAA,iBAAiB,CAAC,cAAc;AAC3B,iBAAA,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;;AAExE,aAAA;AACA,iBAAA,SAAS,CAAC,CAAC,cAAc,KAAI;AAC1B,gBAAA,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;AAChD,aAAC,CAAC,CAAC;AACV,SAAA;KACJ;;6GApGQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA5B,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;iGAAhB,gBAAgB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,YAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,KAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAOS,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAXxC,4CAA4C,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAI7C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;YACI,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACf,QAAA,EAAA,4CAA4C,EAErC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,qEAAA,CAAA,EAAA,CAAA;iLAGtC,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACsB,KAAK,EAAA,CAAA;sBAAhC,WAAW;uBAAC,aAAa,CAAA;gBAE1B,GAAG,EAAA,CAAA;sBADF,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;ACzBhE,MAAgB,uBAAwB,SAAQ,aAAa,CAAA;IAM/D,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,EAAE,IAAI,CAAC,CAAC;QACxG,IAAI,CAAC,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEpD,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAChD,IAAI,CAAC,OAAO,EACZ,0CAA0C,EAC1C,EAAE,CACL,CAAC;KACL;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACpB;IACD,SAAS,GAAA;AACL,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACvB;IACD,OAAO,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACpB;IACS,WAAW,GAAA;AACjB,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxC;;oHA9BiB,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,oFAH/B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAGM,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAL5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD,CAAA;;;MCTY,uBAAuB,CAAA;AAApC,IAAA,WAAA,GAAA;AACI,QAAA,IAAQ,CAAA,QAAA,GAA2C,EAAE,CAAC;KAiCzD;AA/BG,IAAA,YAAY,CAAC,KAA6B,EAAA;AACtC,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;KAC1C;IAED,KAAK,CAAC,KAA6B,EAAE,MAA+B,EAAA;;AAChE,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,KAAI,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,WAAW,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAA,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAClD,SAAA;KACJ;AAED,IAAA,YAAY,CAAC,KAA6B,EAAA;;AACtC,QAAA,IAAI,MAAA,KAAK,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,EAAE;AACzB,YAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAClD,SAAA;;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;AAED,IAAA,QAAQ,CAAC,KAA6B,EAAA;;QAClC,IAAI,EAAC,CAAA,EAAA,GAAA,KAAK,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAA,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAChD;AAED,IAAA,gBAAgB,CACZ,MAA8B;;;AAG9B,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC;KAC3C;AACJ;;MC3BY,iBAAiB,CAAA;IAC1B,WAAoB,CAAA,MAAc,EAAY,aAA4B,EAAA;AAAtD,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAAY,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;KAAI;IAE9E,WAAW,GAAA;AAGP,QAAA,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CACxF,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAC9C,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,KAAI;AAChC,YAAA,IAAI,aAAa,EAAE;gBACf,MAAM,QAAQ,GAAG,UAAU,KAAA,IAAA,IAAV,UAAU,KAAV,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAU,CAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;AACpF,gBAAA,MAAM,SAAS,GAAG,CAAA,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAE,KAAK,KAAI,MAAM,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AACrC,aAAA;AACL,SAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAC3C,CAAC;KACL;;8GAjBQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,UAAU;;;ACCL,MAAO,iBAAkB,SAAQ,aAAa,CAAA;AAEhD,IAAA,WAAA,CAAsB,gBAAkC,EAAA;AACpD,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AADrB,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;KAGtD;;8GAJQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,kJCT9B,sFAEA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FDOa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;+BACI,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sFAAA,EAAA,MAAA,EAAA,CAAA,0CAAA,CAAA,EAAA,CAAA;uGAGZ,YAAY,EAAA,CAAA;sBAA9C,WAAW;uBAAC,oBAAoB,CAAA;;;MEPf,UAAU,CAAA;AAK5B,IAAA,WAAA,CACc,GAA4B,EAC5B,wBAAkD,EAClD,UAAkB,EAAA;AAFlB,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAyB;AAC5B,QAAA,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AAClD,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;AAPxB,QAAA,IAAoB,CAAA,oBAAA,GAA6C,EAAE,CAAC;AACpE,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;QAQzB,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;KAClD;AAEM,IAAA,mBAAmB,CAAC,aAAqB,EAAA;AAC5C,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;YAEpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAC3B,SAAA;AACD,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;KACnD;IAEO,gBAAgB,GAAA;AACpB,QAAA,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5E,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;gBACxC,MAAM,gBAAgB,GAClB,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBACpE,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC;AAC5E,aAAC,CAAC,CAAC;AACN,SAAA;KACJ;AACJ;;AChCD,MAAM,MAAM,GAAW,EAAE,CAAC;MAMb,8BAA8B,CAAA;;2HAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,wCAF7B,YAAY,CAAA,EAAA,CAAA,CAAA;4HAEb,8BAA8B,EAAA,OAAA,EAAA,CAH7B,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,YAAY,CAAA,EAAA,CAAA,CAAA;2FAEb,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,OAAO,EAAE,CAAC,YAAY,CAAC;iBAC1B,CAAA;;;MCJY,kBAAkB,CAAA;AAC3B,IAAA,WAAA,GAAA,GAAgB;AAChB,IAAA,WAAW,CAAC,KAAK,EAAA;;AAEb,QAAA;YACI,OAAO,CAAC,KAAK,EAAE,CAAC;AAChB,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AACnD,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,CAAC,OAAO,EAAE;gBACf,KAAK,CAAC,OAAO,EAAE,CAAC;AACnB,aAAA;AACJ,SAAA;;;KAGJ;;+GAfQ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAAlB,kBAAkB,EAAA,CAAA,CAAA;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,UAAU;;;ACkGX,MAAM,UAAU,GAAG;IACf,aAAa;IACb,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,wBAAwB;IACxB,gBAAgB;IAChB,kBAAkB;IAClB,mBAAmB;IACnB,uCAAuC;IACvC,2CAA2C;IAC3C,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,+BAA+B;CAClC,CAAC;AACF,MAAM,UAAU,GAAG;IACf,oBAAoB;IACpB,yBAAyB;IACzB,wBAAwB;IACxB,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,6BAA6B;IAC7B,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,gBAAgB;CACnB,CAAC;AACF,MAAM,KAAK,GAAG;IACV,WAAW;IACX,iBAAiB;IACjB,iBAAiB;IACjB,kBAAkB;IAClB,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,QAAQ;IACR,WAAW;IACX,mBAAmB;IACnB,WAAW;IACX,iBAAiB;IACjB,oBAAoB;IACpB,sBAAsB;IACtB,cAAc;IACd,gBAAgB;IAChB,uBAAuB;IACvB,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;IACtB,0BAA0B;IAC1B,mBAAmB;CACtB,CAAC;AAOI,MAAO,uBAAwB,SAAQ,UAAU,CAAA;IAEnD,WAAsB,CAAA,GAA4B,EAAY,wBAAkD,EAAA;AAC5G,QAAA,KAAK,CAAC,GAAG,EAAE,wBAAwB,EAAE,yBAAyB,CAAC,CAAC;AAD9C,QAAA,IAAG,CAAA,GAAA,GAAH,GAAG,CAAyB;AAAY,QAAA,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;AADtG,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;KAG7C;AACD,IAAA,OAAO,OAAO,GAAA;QACV,OAAO;AACH,YAAA,QAAQ,EAAE,uBAAuB;AACjC,YAAA,SAAS,EAAE;AACP,gBAAA,GAAG,KAAK;gBACR,aAAa;gBACb,UAAU;gBACV,UAAU;gBACV,kBAAkB;gBAClB,aAAa;gBACb,SAAS;gBACT,aAAa;gBACb,uBAAuB;gBACvB,iBAAiB;gBACjB,SAAS;gBACT,oBAAoB;gBACpB,iBAAiB;AACjB,gBAAA;AACI,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,QAAQ,EAAE,kBAAkB;AAC/B,iBAAA;AACD,gBAAA;AACI,oBAAA,OAAO,EAAE,eAAe;oBACxB,UAAU,EAAE,CAAC,aAA4B,EAAE,YAAmB,KAAK,MAAK;;wBACpE,aAAa,CAAC,qBAAqB,EAAE,CAAC;wBACtC,aAAa,CAAC,kBAAkB,EAAE,CAAC;AACnC,wBAAA,IAAI,MAAA,aAAa,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE;4BACjC,YAAY,CAAC,QAAQ,CAAC,CAAA,EAAA,GAAA,aAAa,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,CAAC;AAC1D,yBAAA;AACD,wBAAA,OAAO,aAAa,CAAC,WAAW,EAAE,CAAC;qBACtC;AACD,oBAAA,IAAI,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC;AAC5B,oBAAA,KAAK,EAAE,IAAI;AACd,iBAAA;AACJ,aAAA;SACJ,CAAC;KACL;;oHAzCQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAzEhC,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,wBAAwB;QACxB,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;QACnB,uCAAuC;QACvC,2CAA2C;QAC3C,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;AACpB,QAAA,+BAA+B,EAoB/B,WAAW;QACX,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;QAClB,UAAU;QACV,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,QAAQ;QACR,WAAW;QACX,mBAAmB;QACnB,WAAW;QACX,iBAAiB;QACjB,oBAAoB;QACpB,sBAAsB;QACtB,cAAc;QACd,gBAAgB;QAChB,uBAAuB;QACvB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,qBAAqB;QACrB,wBAAwB;QACxB,aAAa;QACb,gBAAgB;QAChB,wBAAwB;QACxB,sBAAsB;QACtB,0BAA0B;AAC1B,QAAA,mBAAmB,EAhDnB,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QACxB,uBAAuB;QACvB,qBAAqB;QACrB,sBAAsB;QACtB,mBAAmB;QACnB,uBAAuB;QACvB,kBAAkB;QAClB,oBAAoB;QACpB,6BAA6B;QAC7B,kBAAkB;QAClB,qBAAqB;QACrB,sBAAsB;AACtB,QAAA,gBAAgB,aAsCN,YAAY,EAAE,gBAAgB,EAAE,8BAA8B,aArExE,aAAa;QACb,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,mBAAmB;QACnB,wBAAwB;QACxB,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB;QACnB,uCAAuC;QACvC,2CAA2C;QAC3C,oBAAoB;QACpB,oBAAoB;QACpB,oBAAoB;AACpB,QAAA,+BAA+B,EAoB/B,WAAW;QACX,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;QAClB,UAAU;QACV,aAAa;QACb,gBAAgB;QAChB,aAAa;QACb,QAAQ;QACR,WAAW;QACX,mBAAmB;QACnB,WAAW;QACX,iBAAiB;QACjB,oBAAoB;QACpB,sBAAsB;QACtB,cAAc;QACd,gBAAgB;QAChB,uBAAuB;QACvB,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,iBAAiB;QACjB,aAAa;QACb,gBAAgB;QAChB,qBAAqB;QACrB,wBAAwB;QACxB,aAAa;QACb,gBAAgB;QAChB,wBAAwB;QACxB,sBAAsB;QACtB,0BAA0B;AAC1B,QAAA,mBAAmB,EAhDnB,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QACxB,uBAAuB;QACvB,qBAAqB;QACrB,sBAAsB;QACtB,mBAAmB;QACnB,uBAAuB;QACvB,kBAAkB;QAClB,oBAAoB;QACpB,6BAA6B;QAC7B,kBAAkB;QAClB,qBAAqB;QACrB,sBAAsB;QACtB,gBAAgB,CAAA,EAAA,CAAA,CAAA;AA0CP,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAJtB,OAAA,EAAA,CAAA,YAAY,EAAE,gBAAgB,EAAE,8BAA8B,CAAA,EAAA,CAAA,CAAA;2FAI/D,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBANnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;AACtD,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,8BAA8B,CAAC;oBACzE,OAAO,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC;oBACjD,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC9B,CAAA;;;AC9KD;;AAEG;;;;"}
|