@mtna/web-form-angular 1.0.4 → 1.0.5
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/_index.scss +20 -0
- package/bundles/mtna-web-form-angular.umd.js +5912 -359
- package/bundles/mtna-web-form-angular.umd.js.map +1 -1
- package/esm2015/lib/components/acknowledge-dialog/acknowledge-dialog.component.js +1 -1
- package/esm2015/lib/components/base-form/base-form.component.js +11 -2
- package/esm2015/lib/components/base-items/base-form-item.component.js +11 -2
- package/esm2015/lib/components/base-items/base-section-item.component.js +1 -2
- package/esm2015/lib/components/form/form.component.js +2 -2
- package/esm2015/lib/components/form-item/form-item.component.js +11 -2
- package/esm2015/lib/components/form-item-dialog/form-item-dialog.component.js +1 -1
- package/esm2015/lib/components/form-item-impl/boolean/boolean.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/checkbox/checkbox.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/date/date.component.js +1 -1
- package/esm2015/lib/components/form-item-impl/date/date.module.js +5 -2
- package/esm2015/lib/components/form-item-impl/date-range/date-range.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/file-upload/file-upload.component.js +1 -1
- package/esm2015/lib/components/form-item-impl/form-group/form-group.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/form-section/form-section.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.component.js +3 -2
- package/esm2015/lib/components/form-item-impl/i18n-input/i18n-input.module.js +6 -3
- package/esm2015/lib/components/form-item-impl/multiple-choice/multiple-choice.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.js +11 -10
- package/esm2015/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.js +6 -2
- package/esm2015/lib/components/form-item-impl/search/resource-search.component.js +9 -8
- package/esm2015/lib/components/form-item-impl/table-item/table-item.component.js +2 -2
- package/esm2015/lib/components/form-item-impl/year-quarter/year-quarter.component.js +3 -3
- package/esm2015/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.js +2 -2
- package/esm2015/lib/components/form-item-injector/form-item-injector.component.js +12 -2
- package/esm2015/lib/components/index.js +2 -1
- package/esm2015/lib/components/progressive-form/progressive-form/progressive-form.component.js +2 -2
- package/esm2015/lib/components/step-card/step-card.component.js +1 -2
- package/esm2015/lib/components/template-item-impl/base/base-template-item-with-list.component.js +26 -0
- package/esm2015/lib/components/template-item-impl/base/base-template-item.component.js +80 -0
- package/esm2015/lib/components/template-item-impl/base/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.component.js +24 -0
- package/esm2015/lib/components/template-item-impl/boolean-item/boolean-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/boolean-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.component.js +37 -0
- package/esm2015/lib/components/template-item-impl/checkbox-item/checkbox-item.module.js +24 -0
- package/esm2015/lib/components/template-item-impl/checkbox-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/index.js +4 -0
- package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.js +41 -0
- package/esm2015/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.js +59 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.js +48 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.js +22 -0
- package/esm2015/lib/components/template-item-impl/date-item/date-item.component.js +85 -0
- package/esm2015/lib/components/template-item-impl/date-item/date-item.module.js +52 -0
- package/esm2015/lib/components/template-item-impl/date-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.js +29 -0
- package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.js +41 -0
- package/esm2015/lib/components/template-item-impl/decimal-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.component.js +23 -0
- package/esm2015/lib/components/template-item-impl/dropdown-item/dropdown-item.module.js +48 -0
- package/esm2015/lib/components/template-item-impl/dropdown-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.component.js +25 -0
- package/esm2015/lib/components/template-item-impl/file-upload-item/file-upload-item.module.js +45 -0
- package/esm2015/lib/components/template-item-impl/file-upload-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.js +51 -0
- package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.js +45 -0
- package/esm2015/lib/components/template-item-impl/i18n-paragraph-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.js +50 -0
- package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.js +48 -0
- package/esm2015/lib/components/template-item-impl/i18n-short-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/index.js +29 -0
- package/esm2015/lib/components/template-item-impl/models/index.js +2 -0
- package/esm2015/lib/components/template-item-impl/models/step-aware.model.js +6 -0
- package/esm2015/lib/components/template-item-impl/multiple-choice-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/option/template-option-group-item.component.js +17 -0
- package/esm2015/lib/components/template-item-impl/option/template-option-item.component.js +17 -0
- package/esm2015/lib/components/template-item-impl/ordered-list-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/paragraph-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.js +28 -0
- package/esm2015/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.js +41 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.component.js +23 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item/repeatable-item.module.js +18 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item-container/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.js +46 -0
- package/esm2015/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.js +50 -0
- package/esm2015/lib/components/template-item-impl/short-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.component.js +28 -0
- package/esm2015/lib/components/template-item-impl/short-answer-item/short-answer-item.module.js +41 -0
- package/esm2015/lib/components/template-item-impl/template/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template/template.component.js +89 -0
- package/esm2015/lib/components/template-item-impl/template/template.module.js +46 -0
- package/esm2015/lib/components/template-item-impl/template-display-viewer/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.js +44 -0
- package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.js +57 -0
- package/esm2015/lib/components/template-item-impl/template-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item/template-item.component.js +81 -0
- package/esm2015/lib/components/template-item-impl/template-item/template-item.module.js +21 -0
- package/esm2015/lib/components/template-item-impl/template-item-component-provider/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.js +8 -0
- package/esm2015/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.js +107 -0
- package/esm2015/lib/components/template-item-impl/template-item-group/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.component.js +52 -0
- package/esm2015/lib/components/template-item-impl/template-item-group/template-item-group.module.js +22 -0
- package/esm2015/lib/components/template-item-impl/template-item-header/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.component.js +68 -0
- package/esm2015/lib/components/template-item-impl/template-item-header/template-item-header.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/template-item-injector/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.component.js +115 -0
- package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.module.js +18 -0
- package/esm2015/lib/components/template-item-impl/template-section/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/template-section/template-section.component.js +32 -0
- package/esm2015/lib/components/template-item-impl/template-section/template-section.module.js +44 -0
- package/esm2015/lib/components/template-item-impl/text-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/text-item/text-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/text-item/text-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/title-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/title-item/title-item.component.js +20 -0
- package/esm2015/lib/components/template-item-impl/title-item/title-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/unordered-list-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.js +21 -0
- package/esm2015/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.js +19 -0
- package/esm2015/lib/components/template-item-impl/whole-number-answer-item/index.js +3 -0
- package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.js +28 -0
- package/esm2015/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.js +41 -0
- package/esm2015/lib/models/custom-date-format-provider.model.js +13 -0
- package/esm2015/lib/models/date/default-year-range.model.js +3 -0
- package/esm2015/lib/models/date/index.js +2 -0
- package/esm2015/lib/models/design/conditional-processing-resources.model.js +2 -0
- package/esm2015/lib/models/design/design-mapper/boolean-item-template-mapper.js +15 -0
- package/esm2015/lib/models/design/design-mapper/bulleted-list-item-template-mapper.js +27 -0
- package/esm2015/lib/models/design/design-mapper/checkbox-item-template-mapper.js +15 -0
- package/esm2015/lib/models/design/design-mapper/date-item-template-mapper.js +39 -0
- package/esm2015/lib/models/design/design-mapper/dropdown-item-template-mapper.js +26 -0
- package/esm2015/lib/models/design/design-mapper/file-upload-item-template-mapper.js +31 -0
- package/esm2015/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.js +28 -0
- package/esm2015/lib/models/design/design-mapper/index.js +27 -0
- package/esm2015/lib/models/design/design-mapper/mapper-classes.model.js +89 -0
- package/esm2015/lib/models/design/design-mapper/mapping-logic-core.js +19 -0
- package/esm2015/lib/models/design/design-mapper/multiple-choice-item-template-mapper.js +25 -0
- package/esm2015/lib/models/design/design-mapper/numbered-list-item-template-mapper.js +27 -0
- package/esm2015/lib/models/design/design-mapper/numeric-response-item-template-mapper.js +37 -0
- package/esm2015/lib/models/design/design-mapper/offset-date-range-template-mapper.js +32 -0
- package/esm2015/lib/models/design/design-mapper/option-group-item-mapper.js +59 -0
- package/esm2015/lib/models/design/design-mapper/option-item-mapper.js +54 -0
- package/esm2015/lib/models/design/design-mapper/option-selector-mapper.js +117 -0
- package/esm2015/lib/models/design/design-mapper/repeatable-item-template-mapper.js +50 -0
- package/esm2015/lib/models/design/design-mapper/template-item-group-mapper.js +34 -0
- package/esm2015/lib/models/design/design-mapper/template-item-mapper.js +79 -0
- package/esm2015/lib/models/design/design-mapper/template-mapper.js +64 -0
- package/esm2015/lib/models/design/design-mapper/template-section-mapper.js +40 -0
- package/esm2015/lib/models/design/design-mapper/text-item-template-mapper.js +26 -0
- package/esm2015/lib/models/design/design-mapper/text-response-item-template-mapper.js +32 -0
- package/esm2015/lib/models/design/design-mapper/time-item-template-mapper.js +30 -0
- package/esm2015/lib/models/design/design-mapper/title-item-template-mapper.js +26 -0
- package/esm2015/lib/models/design/design-mapper/year-quarter-range-template-mapper.js +28 -0
- package/esm2015/lib/models/design/enumerations/date-enumeration.model.js +33 -0
- package/esm2015/lib/models/design/enumerations/index.js +2 -0
- package/esm2015/lib/models/design/index.js +9 -0
- package/esm2015/lib/models/design/option-group-item-section-display-name-map.model.js +8 -0
- package/esm2015/lib/models/design/option-item-section-display-name-map.model.js +6 -0
- package/esm2015/lib/models/design/potential-designs.model.js +160 -0
- package/esm2015/lib/models/design/template-design-constants.model.js +48 -0
- package/esm2015/lib/models/design/template-design-context.model.js +10 -0
- package/esm2015/lib/models/i18n-constants.model.js +185 -0
- package/esm2015/lib/models/index.js +5 -1
- package/esm2015/lib/pipes/filter-hidden-items.pipe.js +1 -1
- package/esm2015/lib/pipes/get-i18n-string-value-from-locale.pipe.js +36 -0
- package/esm2015/lib/pipes/get-i18n-strings-value-from-locale.pipe.js +36 -0
- package/esm2015/lib/pipes/get-progressive-form-item.pipe.js +1 -2
- package/esm2015/lib/pipes/index.js +6 -1
- package/esm2015/lib/pipes/instance-of-template-item-group-impl.pipe.js +33 -0
- package/esm2015/lib/pipes/instance-of-template-item.pipe.js +29 -0
- package/esm2015/lib/pipes/instance-of-template.pipe.js +29 -0
- package/esm2015/lib/pipes/items-with-value.pipe.js +1 -3
- package/esm2015/lib/services/api.service.js +8 -2
- package/esm2015/lib/services/dialog.service.js +9 -9
- package/esm2015/lib/services/index.js +2 -1
- package/esm2015/lib/services/template-transformation.service.js +27 -0
- package/esm2015/lib/state/design/index.js +2 -0
- package/esm2015/lib/state/design/template-design.facade.js +239 -0
- package/esm2015/lib/state/form/index.js +8 -0
- package/esm2015/lib/state/form/template-form-api.actions.js +6 -0
- package/esm2015/lib/state/form/template-form.actions.js +5 -0
- package/esm2015/lib/state/form/template-form.effects.js +39 -0
- package/esm2015/lib/state/form/template-form.facade.js +28 -0
- package/esm2015/lib/state/form/template-form.reducer.js +18 -0
- package/esm2015/lib/state/form/template-form.selectors.js +8 -0
- package/esm2015/lib/state/index.js +3 -0
- package/esm2015/lib/utilities/design-conditionals-util.js +124 -0
- package/esm2015/lib/utilities/form-option-design-util.js +88 -0
- package/esm2015/lib/utilities/generate-form-steps.js +1 -1
- package/esm2015/lib/utilities/index.js +6 -2
- package/esm2015/lib/utilities/merge-template-util.js +116 -0
- package/esm2015/lib/utilities/new-base-designs.util.js +193 -0
- package/esm2015/lib/utilities/serializer-util.js +33 -2
- package/esm2015/lib/utilities/template-design-core-util.js +34 -0
- package/esm2015/lib/utilities/template-design-util.js +113 -0
- package/esm2015/public-api.js +2 -1
- package/fesm2015/mtna-web-form-angular.js +4649 -138
- package/fesm2015/mtna-web-form-angular.js.map +1 -1
- package/lib/_index.scss +45 -0
- package/lib/components/base-form/base-form.component.d.ts +6 -2
- package/lib/components/base-items/base-form-item.component.d.ts +4 -1
- package/lib/components/form-item/form-item.component.d.ts +4 -1
- package/lib/components/form-item-impl/checkbox/_checkbox-theme.scss +3 -20
- package/lib/components/form-item-impl/i18n-input/i18n-input.module.d.ts +2 -1
- package/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +2 -1
- package/lib/components/form-item-impl/search/resource-search.component.d.ts +3 -3
- package/lib/components/form-item-impl/year-quarter/year-quarter.component.d.ts +2 -6
- package/lib/components/form-item-injector/form-item-injector.component.d.ts +5 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/template-item-impl/base/base-template-item-with-list.component.d.ts +12 -0
- package/lib/components/template-item-impl/base/base-template-item.component.d.ts +30 -0
- package/lib/components/template-item-impl/base/index.d.ts +2 -0
- package/lib/components/template-item-impl/boolean-item/boolean-item.component.d.ts +11 -0
- package/lib/components/template-item-impl/boolean-item/boolean-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/boolean-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/checkbox-item/_checkbox-item-template-theme.scss +47 -0
- package/lib/components/template-item-impl/checkbox-item/checkbox-item.component.d.ts +11 -0
- package/lib/components/template-item-impl/checkbox-item/checkbox-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/checkbox-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/index.d.ts +3 -0
- package/lib/components/template-item-impl/date/offset-date-range-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.d.ts +13 -0
- package/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/date/year-quarter-item/_year-quarter-item-template-theme.scss +28 -0
- package/lib/components/template-item-impl/date/year-quarter-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.d.ts +23 -0
- package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/date/year-quarter-range-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.d.ts +12 -0
- package/lib/components/template-item-impl/date-item/_date-item-template-theme.scss +29 -0
- package/lib/components/template-item-impl/date-item/date-item.component.d.ts +22 -0
- package/lib/components/template-item-impl/date-item/date-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/date-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/decimal-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/dropdown-item/_dropdown-item-template-theme.scss +35 -0
- package/lib/components/template-item-impl/dropdown-item/dropdown-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/dropdown-item/dropdown-item.module.d.ts +15 -0
- package/lib/components/template-item-impl/dropdown-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/file-upload-item/file-upload-item.component.d.ts +9 -0
- package/lib/components/template-item-impl/file-upload-item/file-upload-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/file-upload-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.d.ts +13 -0
- package/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.d.ts +14 -0
- package/lib/components/template-item-impl/i18n-paragraph-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.d.ts +11 -0
- package/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.d.ts +15 -0
- package/lib/components/template-item-impl/i18n-short-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/index.d.ts +28 -0
- package/lib/components/template-item-impl/models/index.d.ts +1 -0
- package/lib/components/template-item-impl/models/step-aware.model.d.ts +5 -0
- package/lib/components/template-item-impl/multiple-choice-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/option/template-option-group-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/option/template-option-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/ordered-list-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.d.ts +10 -0
- package/lib/components/template-item-impl/paragraph-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/repeatable-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/repeatable-item/repeatable-item.component.d.ts +5 -0
- package/lib/components/template-item-impl/repeatable-item/repeatable-item.module.d.ts +8 -0
- package/lib/components/template-item-impl/repeatable-item-container/_repeatable-item-template-container-theme.scss +28 -0
- package/lib/components/template-item-impl/repeatable-item-container/index.d.ts +2 -0
- package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.d.ts +8 -0
- package/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.d.ts +15 -0
- package/lib/components/template-item-impl/short-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/short-answer-item/short-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/short-answer-item/short-answer-item.module.d.ts +13 -0
- package/lib/components/template-item-impl/template/index.d.ts +2 -0
- package/lib/components/template-item-impl/template/template.component.d.ts +35 -0
- package/lib/components/template-item-impl/template/template.module.d.ts +14 -0
- package/lib/components/template-item-impl/template-display-viewer/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.d.ts +25 -0
- package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.d.ts +17 -0
- package/lib/components/template-item-impl/template-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item/template-item.component.d.ts +29 -0
- package/lib/components/template-item-impl/template-item/template-item.module.d.ts +11 -0
- package/lib/components/template-item-impl/template-item-component-provider/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.d.ts +4 -0
- package/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-group/_template-item-group-theme.scss +31 -0
- package/lib/components/template-item-impl/template-item-group/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-group/template-item-group.component.d.ts +18 -0
- package/lib/components/template-item-impl/template-item-group/template-item-group.module.d.ts +12 -0
- package/lib/components/template-item-impl/template-item-header/_template-item-header-theme.scss +28 -0
- package/lib/components/template-item-impl/template-item-header/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-header/template-item-header.component.d.ts +26 -0
- package/lib/components/template-item-impl/template-item-header/template-item-header.module.d.ts +10 -0
- package/lib/components/template-item-impl/template-item-injector/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-item-injector/template-item-injector.component.d.ts +43 -0
- package/lib/components/template-item-impl/template-item-injector/template-item-injector.module.d.ts +8 -0
- package/lib/components/template-item-impl/template-section/index.d.ts +2 -0
- package/lib/components/template-item-impl/template-section/template-section.component.d.ts +12 -0
- package/lib/components/template-item-impl/template-section/template-section.module.d.ts +13 -0
- package/lib/components/template-item-impl/text-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/text-item/text-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/text-item/text-item.module.d.ts +10 -0
- package/lib/components/template-item-impl/title-item/_title-item-template-theme.scss +28 -0
- package/lib/components/template-item-impl/title-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/title-item/title-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/title-item/title-item.module.d.ts +9 -0
- package/lib/components/template-item-impl/unordered-list-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.d.ts +7 -0
- package/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.d.ts +10 -0
- package/lib/components/template-item-impl/whole-number-answer-item/index.d.ts +2 -0
- package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.d.ts +8 -0
- package/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.d.ts +13 -0
- package/lib/core/_all-color.scss +18 -0
- package/lib/core/_all-theme.scss +18 -0
- package/lib/core/_all-typography.scss +18 -0
- package/lib/core/_mixins.scss +58 -0
- package/lib/models/custom-date-format-provider.model.d.ts +2 -0
- package/lib/models/date/default-year-range.model.d.ts +6 -0
- package/lib/models/date/index.d.ts +1 -0
- package/lib/models/design/conditional-processing-resources.model.d.ts +7 -0
- package/lib/models/design/design-mapper/boolean-item-template-mapper.d.ts +10 -0
- package/lib/models/design/design-mapper/bulleted-list-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/checkbox-item-template-mapper.d.ts +10 -0
- package/lib/models/design/design-mapper/date-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/dropdown-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/file-upload-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/index.d.ts +26 -0
- package/lib/models/design/design-mapper/mapper-classes.model.d.ts +1 -0
- package/lib/models/design/design-mapper/mapping-logic-core.d.ts +19 -0
- package/lib/models/design/design-mapper/multiple-choice-item-template-mapper.d.ts +10 -0
- package/lib/models/design/design-mapper/numbered-list-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/numeric-response-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/offset-date-range-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/option-group-item-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/option-item-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/option-selector-mapper.d.ts +29 -0
- package/lib/models/design/design-mapper/repeatable-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/template-item-group-mapper.d.ts +12 -0
- package/lib/models/design/design-mapper/template-item-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/template-mapper.d.ts +13 -0
- package/lib/models/design/design-mapper/template-section-mapper.d.ts +12 -0
- package/lib/models/design/design-mapper/text-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/text-response-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/time-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/title-item-template-mapper.d.ts +11 -0
- package/lib/models/design/design-mapper/year-quarter-range-template-mapper.d.ts +11 -0
- package/lib/models/design/enumerations/date-enumeration.model.d.ts +8 -0
- package/lib/models/design/enumerations/index.d.ts +1 -0
- package/lib/models/design/index.d.ts +8 -0
- package/lib/models/design/option-group-item-section-display-name-map.model.d.ts +3 -0
- package/lib/models/design/option-item-section-display-name-map.model.d.ts +3 -0
- package/lib/models/design/potential-designs.model.d.ts +27 -0
- package/lib/models/design/template-design-constants.model.d.ts +47 -0
- package/lib/models/design/template-design-context.model.d.ts +3 -0
- package/lib/models/i18n-constants.model.d.ts +183 -0
- package/lib/models/index.d.ts +4 -0
- package/lib/pipes/get-i18n-string-value-from-locale.pipe.d.ts +14 -0
- package/lib/pipes/get-i18n-strings-value-from-locale.pipe.d.ts +14 -0
- package/lib/pipes/index.d.ts +5 -0
- package/lib/pipes/instance-of-template-item-group-impl.pipe.d.ts +14 -0
- package/lib/pipes/instance-of-template-item.pipe.d.ts +13 -0
- package/lib/pipes/instance-of-template.pipe.d.ts +13 -0
- package/lib/services/api.service.d.ts +4 -2
- package/lib/services/dialog.service.d.ts +3 -3
- package/lib/services/index.d.ts +1 -0
- package/lib/services/template-transformation.service.d.ts +14 -0
- package/lib/state/design/index.d.ts +1 -0
- package/lib/state/design/template-design.facade.d.ts +31 -0
- package/lib/state/form/index.d.ts +7 -0
- package/lib/state/form/template-form-api.actions.d.ts +13 -0
- package/lib/state/form/template-form.actions.d.ts +12 -0
- package/lib/state/form/template-form.effects.d.ts +23 -0
- package/lib/state/form/template-form.facade.d.ts +16 -0
- package/lib/state/form/template-form.reducer.d.ts +11 -0
- package/lib/state/form/template-form.selectors.d.ts +6 -0
- package/lib/state/index.d.ts +2 -0
- package/lib/utilities/design-conditionals-util.d.ts +13 -0
- package/lib/utilities/form-option-design-util.d.ts +12 -0
- package/lib/utilities/generate-form-steps.d.ts +2 -2
- package/lib/utilities/index.d.ts +5 -1
- package/lib/utilities/merge-template-util.d.ts +11 -0
- package/lib/utilities/new-base-designs.util.d.ts +25 -0
- package/lib/utilities/serializer-util.d.ts +1 -0
- package/lib/utilities/template-design-core-util.d.ts +10 -0
- package/lib/utilities/template-design-util.d.ts +14 -0
- package/package.json +5 -2
- package/public-api.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtna-web-form-angular.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.mjs","../../../../projects/web-form-angular/src/lib/validators/validation-result-validator.ts","../../../../projects/web-form-angular/src/lib/validators/instant-validation-result-error-state-matcher.ts","../../../../projects/web-form-angular/src/lib/utilities/serializer-util.ts","../../../../projects/web-form-angular/src/lib/utilities/animations.ts","../../../../projects/web-form-angular/src/lib/utilities/is-form-group.ts","../../../../projects/web-form-angular/src/lib/utilities/find-form-control.ts","../../../../projects/web-form-angular/src/lib/utilities/find-form-item.ts","../../../../projects/web-form-angular/src/lib/models/form-stepper/base-form-step.model.ts","../../../../projects/web-form-angular/src/lib/models/form-stepper/form-step-group.model.ts","../../../../projects/web-form-angular/src/lib/models/form-stepper/form-step.model.ts","../../../../projects/web-form-angular/src/lib/models/api-config.ts","../../../../projects/web-form-angular/src/lib/models/form-item-dialog-data.model.ts","../../../../projects/web-form-angular/src/lib/models/white-list.model.ts","../../../../projects/web-form-angular/src/lib/utilities/flatten-steps.ts","../../../../projects/web-form-angular/src/lib/utilities/form-step.util.ts","../../../../projects/web-form-angular/src/lib/utilities/generate-form-steps.ts","../../../../projects/web-form-angular/src/lib/utilities/get-item-class-suffix.ts","../../../../projects/web-form-angular/src/lib/utilities/is-form-control.ts","../../../../projects/web-form-angular/src/lib/utilities/update-step-status.ts","../../../../projects/web-form-angular/src/lib/services/ui.service.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-form-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-form-item-control.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-group-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-value-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-parent-value-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-section-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-single-selection-parent-value-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-injector/form-item-injector.component.ts","../../../../projects/web-form-angular/src/lib/pipes/sanitize-html.pipe.ts","../../../../projects/web-form-angular/src/lib/components/item-header/item-header.component.ts","../../../../projects/web-form-angular/src/lib/components/item-header/item-header.component.html","../../../../projects/web-form-angular/src/lib/components/form-item/form-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item/form-item.component.html","../../../../projects/web-form-angular/src/lib/components/acknowledge-dialog/acknowledge-dialog.component.ts","../../../../projects/web-form-angular/src/lib/components/acknowledge-dialog/acknowledge-dialog.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-injector/form-item-injector.module.ts","../../../../projects/web-form-angular/src/lib/pipes/child-step-active.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-object-type.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-date-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-control.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-group.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-step-group.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-step.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/date-quarter.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/filter-hidden-items.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/form-step-group.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-active-form-step-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-auto-complete.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-available-quarters.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-form-control-error.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-list-icon.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-progressive-form-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-selected-option.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-step-aria-label.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/items-with-value.pipe.ts","../../../../projects/web-form-angular/src/lib/components/item-header/item-header.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item/form-item.module.ts","../../../../projects/web-form-angular/src/lib/components/acknowledge-dialog/acknowledge-dialog.module.ts","../../../../projects/web-form-angular/src/lib/services/api.service.ts","../../../../projects/web-form-angular/src/lib/components/form-item-dialog/form-item-dialog.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-dialog/form-item-dialog.component.html","../../../../projects/web-form-angular/src/lib/services/dialog.service.ts","../../../../projects/web-form-angular/src/lib/services/ng-form.service.ts","../../../../projects/web-form-angular/src/lib/services/form-manager.service.ts","../../../../projects/web-form-angular/src/lib/services/resource-search-selection.service.ts","../../../../projects/web-form-angular/src/lib/components/base-form/base-form.component.ts","../../../../projects/web-form-angular/src/lib/components/form-disabler/form-disabler.component.ts","../../../../projects/web-form-angular/src/lib/components/form/form.component.ts","../../../../projects/web-form-angular/src/lib/components/form/form.component.html","../../../../projects/web-form-angular/src/lib/components/form-disabler/form-disabler.module.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step/form-step.component.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step/form-step.component.html","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step-group/form-step-group.component.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step-group/form-step-group.component.html","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-stepper/form-stepper.component.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-stepper/form-stepper-new.component.html","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-stepper.module.ts","../../../../projects/web-form-angular/src/lib/components/step-card/step-card.component.ts","../../../../projects/web-form-angular/src/lib/components/step-card/step-card.component.html","../../../../projects/web-form-angular/src/lib/components/step-card/step-card.module.ts","../../../../projects/web-form-angular/src/lib/components/form/form.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/boolean/boolean.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/boolean/boolean.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/boolean/boolean.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/checkbox/checkbox.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/checkbox/checkbox.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-dialog/form-item-dialog.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/checkbox/checkbox.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date/date.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date/date.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date/date.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date-range/date-range.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date-range/date-range.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date-range/date-range.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/dropdown/dropdown.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/dropdown/dropdown.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/dropdown/dropdown.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/file-upload/file-upload.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/file-upload/file-upload.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/file-upload/file-upload.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-group/form-group.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-group/form-group.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-group/form-group.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-section/form-section.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-section/form-section.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-section/form-section.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/i18n-input/i18n-input.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/i18n-input/i18n-input.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/i18n-input/i18n-input.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/input/input.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/input/input.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/input/input.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/multiple-choice/multiple-choice.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/multiple-choice/multiple-choice.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/multiple-choice/multiple-choice.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/ordered-list/ordered-list-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/ordered-list/ordered-list-item.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/ordered-list/ordered-list-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item/repeatable-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item/repeatable-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/search/resource-search.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/search/resource-search.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/search/resource-search.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/table-item/table-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/table-item/table-item.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/table-item/table-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/text/text.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/text/text.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/text/text.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/title/title.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/title/title.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/title/title.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/unordered-list/unordered-list-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/unordered-list/unordered-list-item.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/unordered-list/unordered-list-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter/year-quarter.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter/year-quarter.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter/year-quarter.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter-range/year-quarter-range.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-component-provider/form-item-injected-components.ts","../../../../projects/web-form-angular/src/lib/components/form-item-component-provider/form-item-component-provider.ts","../../../../projects/web-form-angular/src/lib/components/progressive-form/progressive-form/progressive-form.component.ts","../../../../projects/web-form-angular/src/lib/components/progressive-form/progressive-form/progressive-form.component.html","../../../../projects/web-form-angular/src/lib/components/progressive-form/progressive-form/progressive-form.module.ts","../../../../projects/web-form-angular/src/mtna-web-form-angular.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { FormItemValidationResult } from '@mtna/web-form-ts';\n\nimport { MtnaWfManagerService } from '../services/form-manager.service';\n\nexport const MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME = 'formItemValidationResult';\n\n/**\n * Valitator function that will check the root level {@link FormValidationResult} on\n * the MTNA {@link Form} and see if there are any errors for a particular control.\n *\n * @param instanceId The instanceId of the form item for a particular control\n * @param managerService The manager service that holds a reference to the MTNA {@link Form} and it's {@link FormValidationResult}\n * @returns A validator function that will throw an error if there is a matching {@link FormItemValidationResult} for the specified item.\n */\nexport function validationResultValidator(instanceId: string, managerService: MtnaWfManagerService): ValidatorFn {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return (control: AbstractControl): ValidationErrors | null => {\n const formItemValidationResult: FormItemValidationResult | undefined = managerService.getFormItemValidationResults()[instanceId];\n return formItemValidationResult\n ? { [MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME]: formItemValidationResult.validationMessage }\n : null;\n };\n}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\n\nimport { isKey } from '@mtna/core-ts';\n\nimport { MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME } from './validation-result-validator';\n\n/**\n * Custom {@link ErrorStateMatcher} that will immediately show {@link FormValidationResult} errors.\n * Theses errors are calcualted on the server and need to always show.\n * Regular form validation will use the default error matcher strategy.\n */\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfInstantValidationResultErrorStateMatcher extends ErrorStateMatcher {\n override isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const hasValidationResultError = isKey(control?.errors, MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME);\n return hasValidationResultError || super.isErrorState(control, form);\n }\n}\n","import { AbstractControl, FormArray, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { InternationalizedString } from '@mtna/core-i18n-ts';\nimport { isNullOrUndefined, isPresent, isType } from '@mtna/core-ts';\nimport {\n CHECKBOX_ITEM_ID,\n CheckboxItem,\n ConditionalItem,\n DateRange,\n DECIMAL_ANSWER_ITEM_ID,\n DecimalAnswerItem,\n Form as WebForm,\n FormItem,\n FormItemGroup,\n FormItemImpl,\n I18N_PARAGRAPH_ANSWER_ITEM_ID,\n I18N_SHORT_ANSWER_ITEM_ID,\n InternationalizedParagraphAnswerItem,\n InternationalizedShortAnswerItem,\n isForm,\n isFormItemGroupImpl,\n isOffsetDateRangeItem,\n isProgressiveForm,\n isRepeatableItem,\n isSection,\n isTableItem,\n isWholeNumberItem,\n isYearQuarterRangeItem,\n Option,\n OptionGroupItemImpl,\n PARAGRAPH_ANSWER_ITEM_ID,\n ParagraphAnswerItem,\n RepeatableItem,\n SHORT_ANSWER_ITEM_ID,\n ShortAnswerItem,\n TableItem,\n TableRowItem,\n ValueItem,\n WHOLE_NUMBER_ANSWER_ITEM_ID,\n WholeNumberAnswerItem,\n YearQuarter,\n} from '@mtna/web-form-ts';\nimport { Moment } from 'moment';\n\nimport { MtnaWfManagerService } from '../services/form-manager.service';\nimport { validationResultValidator } from '../validators';\n\n/** Types of Validators that can be set on a FormControl */\nexport type ValidatorType = 'required' | 'requiredTrue' | 'email';\nexport type ValidatorWithNumberType = 'minLength' | 'maxLength' | 'min' | 'max';\n\n/** RegEx to validate number items contain only negative, digits, or decimals */\nconst numOnlyWithoutComma = /^-?\\d+(\\.\\d*)?$/;\n/** RegEx to validate number items contain only negative, digits, or decimals in comma format */\nconst numOnlyWithComma = /^-?\\d{1,3}(,\\d{3})*(\\.\\d*)?$/;\n/** RegEx to validate 'positive only' item conains non-negative characters */\nconst posOnly = /^[^-]*$/;\n/** RegEx to validate 'whole number' item contains only negative, digits, or comma format */\nconst wholeNumber = /^-?\\d+(,\\d{3})*$/;\n\n//#region FormControl Generation\n\n/**\n * Generates a new FormGroup with FormControls & possible nested FormGroups\n * @param formItem WebForm, Section, Group, or RepeatableItem used to create a FormGroup\n * @param customFormItemConditional boolean function for any custom FormItems\n * @param customControlGenerator FormControl generator function for any custom FormItems\n */\nexport function serializeFormItems(\n formItem: WebForm | FormItemGroup | RepeatableItem,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): FormGroup {\n const form: { [key: string]: AbstractControl } = {};\n\n for (const item of formItem.items) {\n const control = determineSerializeFunctionToUse(\n item as FormItemImpl<unknown>,\n managerService,\n customFormItemConditional,\n customControlGenerator\n );\n if (control) {\n form[item.instanceId] = control;\n }\n }\n const required = isForm(formItem) ? true : formItem.required;\n const group = required ? new FormGroup(form, Validators.required) : new FormGroup(form);\n if ('disabled' in formItem && formItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Returns a tailored FormControl with validators for a FormItem\n * @param formItem The FormItem requesting a tailored FormControl\n * @internal Creating the form control and then calling setValidators force a validation pass,\n * see https://github.com/angular/angular/issues/19622#issuecomment-341547884\n * Better to gather the validators and put them in the constructor of the form control.\n */\nexport function serializeFormItem(formItem: FormItemImpl<unknown>, managerService: MtnaWfManagerService): AbstractControl {\n const validators = new Array<ValidatorFn>(validationResultValidator(formItem.instanceId, managerService));\n if (formItem.required) {\n validators.push(Validators.required);\n }\n switch (formItem.itemId) {\n case CHECKBOX_ITEM_ID: {\n const checkboxItem = formItem as CheckboxItem;\n const value = checkboxItem.value || [];\n validators.push(numCheckboxesValidator('MIN', checkboxItem.minSelections), numCheckboxesValidator('MAX', checkboxItem.maxSelections));\n const arr = new FormArray(\n checkboxItem.options.map(\n (o) =>\n new FormControl({\n value: o.selected || value.some((v) => v === o.option.id),\n disabled: checkboxItem.disabled,\n })\n ),\n Validators.compose(validators)\n );\n return arr;\n }\n case DECIMAL_ANSWER_ITEM_ID:\n case WHOLE_NUMBER_ANSWER_ITEM_ID: {\n const item = formItem as DecimalAnswerItem | WholeNumberAnswerItem;\n validators.push(numericalValueCheck());\n if (isWholeNumberItem(item)) {\n validators.push(wholeNumberPattern());\n }\n if (item.positiveOnly) {\n validators.push(positiveNumberPattern());\n }\n if (!isNullOrUndefined(item.minValue)) {\n validators.push(numValueLimit('min', item.minValue));\n }\n if (!isNullOrUndefined(item.maxValue)) {\n validators.push(numValueLimit('max', item.maxValue));\n }\n break;\n }\n case PARAGRAPH_ANSWER_ITEM_ID:\n case SHORT_ANSWER_ITEM_ID: {\n const shortAnswerItem = formItem as ShortAnswerItem | ParagraphAnswerItem;\n validators.push(...getNumericValidator('minLength', shortAnswerItem.minCharCount));\n validators.push(...getNumericValidator('maxLength', shortAnswerItem.maxCharCount));\n break;\n }\n case I18N_PARAGRAPH_ANSWER_ITEM_ID:\n case I18N_SHORT_ANSWER_ITEM_ID: {\n const i18nItem = formItem as InternationalizedParagraphAnswerItem | InternationalizedShortAnswerItem;\n const group = new FormGroup({}, Validators.compose(validators));\n for (const language of i18nItem.languageTags) {\n // FIXME if there is nothign there in the value should I set a new internationalized string?\n group.controls[language] = new FormControl(formItem.value);\n }\n if (i18nItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n }\n default:\n break;\n }\n return new FormControl({ value: formItem.value, disabled: !!formItem.disabled }, Validators.compose(validators));\n}\n\n/**\n * Builds controls for any form items nested inside a parent items options\n * @param formItem The FormItem with an 'options' property\n * @param customFormItemConditional conditional function from parent 'serializeFormItems' function\n * @param customControlGenerator FormControl generator from parent 'serializeFormItems' function\n */\nexport function serializeNestedOptionFormItems(\n formItem: OptionGroupItemImpl<Option<unknown>>,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): FormGroup {\n const controls: { [key: string]: AbstractControl } = {};\n for (const id in formItem.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(formItem.optionItemMap, id)) {\n const subItem = formItem.optionItemMap[id] as FormItemImpl<unknown>;\n const control = determineSerializeFunctionToUse(subItem, managerService, customFormItemConditional, customControlGenerator);\n if (control) {\n controls[subItem.instanceId] = control;\n }\n }\n }\n\n controls[formItem.instanceId] = serializeFormItem(formItem, managerService);\n const group = formItem.required ? new FormGroup(controls, Validators.required) : new FormGroup(controls);\n if (formItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Build FormControls for a TableItem\n * @param item TableItem requiring FormControls\n * @param customFormItemConditional Conditional function for custom any FormItems\n * @param customControlGenerator FormControl generator for custom any FormItems\n */\nexport function serializeTableItem(\n item: TableItem,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): FormGroup {\n const tableControl: { [key: string]: AbstractControl } = {};\n for (const row of item.tableRows) {\n for (const rowItem of row.items.filter((i) => !!i)) {\n const control = determineSerializeFunctionToUse(\n rowItem as FormItemImpl<unknown>,\n managerService,\n customFormItemConditional,\n customControlGenerator\n );\n if (control) {\n tableControl[rowItem.instanceId] = control;\n }\n }\n }\n const group = item.required ? new FormGroup(tableControl, Validators.required) : new FormGroup(tableControl);\n if (item.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Returns the appropriate function for the caller to use.\n *\n * @param formItem FormItem requiring serialization\n * @param customFormItemConditional Conditional for a custom FormItem\n * @param customControlGenerator Serializer for a custom FormItem\n */\nexport function determineSerializeFunctionToUse(\n formItem: FormItemImpl<unknown> | WebForm,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): AbstractControl | null {\n if (\n isForm(formItem) ||\n isProgressiveForm(formItem) ||\n isRepeatableItem(formItem) ||\n isSection(formItem) ||\n isFormItemGroupImpl(formItem)\n ) {\n return serializeFormItems(formItem, managerService, customFormItemConditional, customControlGenerator);\n } else if (isTableItem(formItem)) {\n return serializeTableItem(formItem, managerService, customFormItemConditional, customControlGenerator);\n } else if (customFormItemConditional(formItem) && !!customControlGenerator) {\n return customControlGenerator(formItem);\n } else if (hasNestedFormItems(formItem)) {\n return serializeNestedOptionFormItems(formItem as OptionGroupItemImpl<Option<unknown>>, managerService);\n } else if (isOffsetDateRangeItem(formItem) || isYearQuarterRangeItem(formItem)) {\n return serializeRangeItem(formItem);\n } else {\n return serializeFormItem(formItem, managerService);\n }\n}\n\n/**\n * Builds a FormGroup for a range item\n * @param formItem FormItem for a DateRange of Date | YearQuarter\n */\nexport function serializeRangeItem(formItem: FormItemImpl<DateRange<Date | YearQuarter>>): FormGroup {\n const validators = new Array<ValidatorFn>();\n if (formItem.required) {\n validators.push(Validators.required);\n }\n const group = new FormGroup(\n {\n start: new FormControl(formItem.value ? formItem.value.start : null),\n end: new FormControl(formItem.value ? formItem.value.end : null),\n },\n Validators.compose(validators)\n );\n if (formItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Returns a Validator with a numeric value for a FormItem;\n * Returns as an array of length 1 or 0\n * @param param0 `type` - type of validator, e.g. 'minLength';\n * `value` - parameter for the validator, e.g. 'minLength(value)'\n */\nfunction getNumericValidator(type: ValidatorWithNumberType, value: number): ValidatorFn[] {\n return !isNullOrUndefined(value) ? [Validators[type](value)] : [];\n}\n\n//#endregion\n\n//#region MtnaForm value insertion\n\n/**\n * Returns an array of Formitems with new values inserted.\n *\n * @param section The old Form or Form Section\n * @param ngFormValue ngForm JSON values\n * @param customFormItemConditional boolean function for any custom FormItems\n * @param customFormItemBuilder function to handle custom FormItems\n * @returns new FormItem array\n */\nexport function insertFormItemValues(\n section: WebForm | FormItemGroup | RepeatableItem,\n ngFormValue: Record<string, unknown>,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null\n): Array<FormItem> {\n return section.items\n .map((item) =>\n determineInsertFunctionToUse(\n item,\n ngFormValue[item.instanceId],\n disabledState,\n customFormItemConditional,\n customFormItemBuilder,\n section\n )\n )\n .filter(isPresent);\n}\n\n/**\n * Returns a copied TableItem, with each row FormItem having new inserted values.\n * @param item TableItem to insert values\n * @param ngFormValue ngForm value of the TableItem\n * @param customFormItemConditional boolean function for any custom FormItem\n * @param customFormItemBuilder function to handle custom FormItem value insertion\n */\nexport function insertTableItemValues(\n item: TableItem,\n ngFormValue: Record<string, unknown>,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null\n): TableItem {\n const tableRows = item.tableRows.map((row: TableRowItem) => ({\n ...row,\n items: row.items\n .filter(isPresent)\n .map((formItem) => {\n return determineInsertFunctionToUse(\n formItem,\n ngFormValue[formItem.instanceId],\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n })\n .filter(isPresent),\n }));\n return { ...item, tableRows, disabled: _isDisabled(item, disabledState) };\n}\n\n/**\n * Returns a new FormItem after determining the appropriate function to use.\n * @param formItem FormItem requiring value insertion\n * @param ngFormValue ngForm value\n * @param customFormItemConditional Conditional for a custom FormItem\n * @param customFormItemBuilder Value insertion function for a custom FormItem\n * @param disabledState Map of items' disabled state\n * @param parent Parent of the FormItem, used to pass to the customFormItemBuilder\n */\nfunction determineInsertFunctionToUse(\n formItem: FormItem,\n ngFormValue: unknown,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null,\n parent?: WebForm | FormItemGroup | RepeatableItem\n): FormItem | null {\n if (isSection(formItem) || isFormItemGroupImpl(formItem) || isRepeatableItem(formItem)) {\n const items = insertFormItemValues(\n formItem,\n ngFormValue as Record<string, unknown>,\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n return { ...formItem, items, disabled: _isDisabled(formItem, disabledState) } as FormItemGroup | RepeatableItem;\n } else if (isTableItem(formItem)) {\n return insertTableItemValues(\n formItem,\n ngFormValue as Record<string, unknown>,\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n } else if (customFormItemConditional(formItem) && !!customFormItemBuilder) {\n return customFormItemBuilder(parent, formItem, ngFormValue, disabledState);\n } else if (hasNestedFormItems(formItem)) {\n return insertNestedFormItemValues(\n formItem as OptionGroupItemImpl<Option<unknown>>,\n ngFormValue as Record<string, unknown>,\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n } else if (isOffsetDateRangeItem(formItem) || isYearQuarterRangeItem(formItem)) {\n const start = isType<{ start: YearQuarter | Date }>(ngFormValue, 'start') ? ngFormValue.start : undefined;\n const end = isType<{ end: YearQuarter | Date }>(ngFormValue, 'end') ? ngFormValue.end : undefined;\n return { ...formItem, value: { start, end }, disabled: _isDisabled(formItem, disabledState) } as FormItemImpl<\n DateRange<Date | YearQuarter>\n >;\n } else {\n return {\n ...formItem,\n value: findItemValue(formItem, ngFormValue),\n disabled: _isDisabled(formItem as FormItemImpl<unknown>, disabledState),\n } as FormItem;\n }\n}\n\n/**\n * Returns ngForm value for a FormItem.\n *\n * @param formItem FormItem requiring a value\n * @param ngFormValue ngForm value\n */\nfunction findItemValue(formItem: FormItem, ngFormValue: unknown): unknown {\n const itemId = formItem.itemId.split('.').pop();\n switch (itemId?.toUpperCase()) {\n // FIXME: can we put these IDs in constants and refer to them instead?\n case 'DATEITEM':\n return !!ngFormValue && typeof ngFormValue !== 'string' ? (ngFormValue as Moment).toISOString() : (ngFormValue as string);\n case 'CHECKBOXITEM':\n if (!isNullOrUndefined(ngFormValue) && Array.isArray(ngFormValue)) {\n const arr = ngFormValue as Array<boolean>;\n return (formItem as CheckboxItem).options.filter((o, index) => !!arr[index]).map((o) => o.option.id);\n }\n return [];\n case 'INTERNATIONALIZEDPARAGRAPHANSWERITEM':\n case 'INTERNATIONALIZEDSHORTANSWERITEM': {\n const languages =\n itemId?.toUpperCase() === 'INTERNATIONALIZEDPARAGRAPHANSWERITEM'\n ? (formItem as InternationalizedParagraphAnswerItem).languageTags\n : (formItem as InternationalizedShortAnswerItem).languageTags;\n\n const value = languages.reduce((value: InternationalizedString[], language) => {\n if (ngFormValue && typeof ngFormValue === 'object' && language in ngFormValue) {\n const input = (ngFormValue as Record<string, unknown>)[language];\n if (input) {\n value.push({ value: input as string, facetId: language });\n }\n }\n return value;\n }, []);\n return value;\n }\n default:\n return ngFormValue;\n }\n}\n\nfunction insertNestedFormItemValues(\n formItem: OptionGroupItemImpl<Option<unknown>>,\n ngFormValue: Record<string, unknown>,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null\n): FormItem {\n const optionItemMap: Record<string, unknown> = {};\n for (const id in formItem.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(formItem.optionItemMap, id)) {\n const subItem = formItem.optionItemMap[id];\n optionItemMap[id] = determineInsertFunctionToUse(\n subItem,\n ngFormValue[subItem.instanceId],\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n }\n }\n return {\n ...formItem,\n optionItemMap,\n value: findItemValue(formItem, ngFormValue[formItem.instanceId]),\n disabled: _isDisabled(formItem, disabledState),\n } as OptionGroupItemImpl<Option<unknown>>;\n}\n\n//#endregion\n\n/**\n * Determines if a FormItem has an OptionItemMap with at least 1 item, which require their own FormControl(s)\n * @param formItem FormItem to check\n */\nexport function hasNestedFormItems(formItem: unknown): formItem is { optionItemMap: Record<string, unknown> } {\n return (\n isType<{\n optionItemMap: Record<string, unknown>;\n }>(formItem, 'optionItemMap') && Object.keys(formItem.optionItemMap).length > 0\n );\n}\n\n/**\n * Function for validating min/max selections limits\n * @param typeCheck Which limit to validate. 'MIN' | 'MAX'\n * @param limit upper or lower limit to check against\n */\nfunction numCheckboxesValidator(typeCheck: 'MIN' | 'MAX', limit = 1): ValidatorFn {\n return (control: AbstractControl) => {\n let totalSelected = 0;\n if (isFormArray(control)) {\n totalSelected = control.controls.map((c) => c.value).reduce((total, next) => (next ? total + next : total), 0);\n }\n\n switch (typeCheck) {\n case 'MIN':\n return totalSelected >= limit ? null : { minSelected: $localize`Select at least ${limit}` };\n case 'MAX':\n return totalSelected <= limit ? null : { maxSelected: $localize`Select no more than ${limit}` };\n }\n };\n}\n\nfunction isFormArray(control: AbstractControl): control is FormArray {\n return isType<FormArray>(control, 'controls');\n}\n\nfunction _isDisabled(item: ConditionalItem, disabledState: { [id: string]: boolean }): boolean {\n const disabled = disabledState[item.instanceId];\n return isNullOrUndefined(disabled) ? item.disabled : disabled;\n}\n\nfunction wholeNumberPattern(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n\n return wholeNumber.test(control.value) ? null : { wholeNumber: true };\n };\n}\n\nfunction numericalValueCheck(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n return numOnlyWithoutComma.test(control.value) || numOnlyWithComma.test(control.value) ? null : { nonDigit: true };\n };\n}\n\nfunction positiveNumberPattern(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n return posOnly.test(control.value) ? null : { positive: true };\n };\n}\n\n/**\n * This works as a combination of the angular 'min'/'max' Validators. Using the built-in validators\n * appears to take precedence over custom validators, regardless of order in the array. Using this function\n * ensures validators set before this one maintain priority. For instance, the input value failing numerical validation\n * is more important than the value being within min-max range.\n */\nfunction numValueLimit(type: 'min' | 'max', limit: number): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n const value = parseFloat(control.value);\n return !isNaN(value) && (type === 'min' ? value < limit : value > limit)\n ? {\n [type]: {\n [type]: limit,\n actual: control.value,\n },\n }\n : null;\n };\n}\n\nfunction isEmptyString(value: unknown): boolean {\n return typeof value === 'string' && !value.length;\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const COMPLEX_STANDARD = '300ms cubic-bezier(0.4, 0.0, 0.2, 1)';\n\nexport const MTNA_WF_EXPAND_COLLAPSE = trigger('mtnaWfExpandCollapse', [\n state('1', style({ height: '*', marginTop: '*', marginBottom: '*', opacity: 1 })),\n state('0', style({ height: 0, marginTop: 0, marginBottom: 0, opacity: 0, overflow: 'hidden', visibility: 'hidden' })),\n transition('1 <=> 0', [animate(COMPLEX_STANDARD)]),\n]);\n","import { FormGroup } from '@angular/forms';\n\nimport { isObject, isType } from '@mtna/core-ts';\n\n/** Typeguard for {@link FormGroup}. Determines if something is a FormGroup. */\nexport function isFormGroup(something: unknown): something is FormGroup {\n return isObject(something) && isType<FormGroup>(something, 'controls') && isObject(something.controls);\n}\n","import { AbstractControl, FormGroup } from '@angular/forms';\n\nimport { isFormGroup } from './is-form-group';\n\n/**\n * Recursively find a form control by name in a form group.\n * Depth first search down the tree of form groups to find a control.\n *\n * @note This will only work if the entire form has unique form control names.\n * @param name The unique name of the form cotrol to find.\n * @param group The {@link FormGroup} to search through.\n * @returns the found control or null\n */\nexport function findFormControl(name: string, group: FormGroup): AbstractControl | null {\n for (const key in group.controls) {\n if (Object.prototype.hasOwnProperty.call(group.controls, key)) {\n const control = group.controls[key];\n if (key === name) {\n return control;\n }\n\n // Recurse down if it's a FormGroup\n if (isFormGroup(control)) {\n const found = findFormControl(name, control);\n if (found) {\n return found;\n }\n }\n }\n }\n return null;\n}\n","import { isType } from '@mtna/core-ts';\nimport { Form, FormItem, FormItemGroup } from '@mtna/web-form-ts';\n\n/**\n * Recursively find a {@link FormItem} by instanceId in a {@link Form}.\n * Depth first search down the tree of {@link FormItemGroup} to find an item.\n *\n * @param instanceId The unique ID of the {@link FormItem} to find.\n * @param group The {@link Form} or {@link FormItemGroup} to search through.\n * @returns the found {@link FormItem} or `null`\n */\nexport function findFormItem(instanceId: string, group: Form | FormItemGroup): FormItem | null {\n for (const item of group.items) {\n if (item.instanceId === instanceId) {\n return item;\n }\n\n // If it's a FormGroup, search through it's children\n if (isType<FormItemGroup>(item, 'items')) {\n const found = findFormItem(instanceId, item);\n if (found) {\n return found;\n }\n }\n }\n return null;\n}\n","export class BaseFormStep {\n constructor(public instanceId: string) {}\n}\n","import { isType } from '@mtna/core-ts';\n\nimport { BaseFormStep } from './base-form-step.model';\nimport { FormStep } from './form-step.model';\n\nexport class FormStepGroup extends BaseFormStep {\n readonly className = 'FormStepGroup';\n constructor(public steps: FormStep[], instanceId: string, public collapsed = false, public label: string, public num: number | string) {\n super(instanceId);\n }\n}\n\nexport function isFormStepGroup(something: unknown): something is FormStepGroup {\n return isType<FormStepGroup>(something, 'steps') && Array.isArray(something.steps);\n}\n\nexport function instanceOfFormStepGroup(something: unknown): something is FormStepGroup {\n return isType<FormStepGroup>(something, 'className') && something.className === 'FormStepGroup';\n}\n","import { CircleStatus } from '@mtna/core-angular';\nimport { isType } from '@mtna/core-ts';\n\nimport { BaseFormStep } from './base-form-step.model';\n\nexport class FormStep extends BaseFormStep {\n readonly className = 'FormStep';\n active = false;\n disabledText?: string;\n status: CircleStatus = 'INVALID';\n disabled = false;\n constructor(public num: number | string, public label: string, instanceId: string, public optional = false) {\n super(instanceId);\n }\n}\n\nexport function instanceOfFormStep(something: unknown): something is FormStep {\n return isType<FormStep>(something, 'className') && something.className === 'FormStep';\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface MtnaWfApiConfig {\n baseUrl: string;\n}\n\nexport const MTNA_WF_API_TOKEN = new InjectionToken<MtnaWfApiConfig>('mtnaWfApiConfig');\n","import { FormItem } from '@mtna/web-form-ts';\n\n/**\n * Dialog data for a {@link MtnaWfFormItemDialogComponent}\n */\nexport class MtnaWfFormItemDialogData {\n /**\n * @param formItems The form items to render in the dialog\n * @param title optional dialog title\n */\n constructor(public formItems: FormItem[], public title?: string) {}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface MtnaWfItemWhiteList {\n itemTypes: Array<string>;\n}\n\nexport const MTNA_WF_ITEM_WHITELIST = new InjectionToken<MtnaWfItemWhiteList>('mtna-wf-item-whitelist', {\n providedIn: 'root',\n factory: MTNA_WF_ITEM_WHITELIST_FACTORY,\n});\n\nexport function MTNA_WF_ITEM_WHITELIST_FACTORY(): MtnaWfItemWhiteList {\n return {\n itemTypes: [],\n };\n}\n","import { FormStep, FormStepGroup, isFormStepGroup } from '../models';\n\n/**\n * Flattens formStepGroup.steps and combines all steps into single array\n * @param steps Array<FormStep | FormStepGroup>\n * @returns FormStep[] array of the steps and children of step groups\n */\nexport function flattenSteps(steps: Array<FormStep | FormStepGroup>): Array<FormStep> {\n return steps.reduce((a, b) => a.concat(isFormStepGroup(b) ? b.steps : b), new Array<FormStep>());\n}\n","import { CircleStatus } from '@mtna/core-angular';\n\nimport { FormStep } from '../models';\n\n/**\n * Determines if every step matches a given status\n * @param statusToCheck CircleStatus to match against\n * @param steps FormSteps with statuses to check\n * @param includeDisabled If false or not supplied, disabled steps are excluded from check\n * @param includeOptional If false or not supplied, optional steps are excluded from check\n * @param exclusionIds string[] IDs of steps to exclude from check\n */\nexport function everyStepStatus(\n statusToCheck: CircleStatus,\n steps: Array<FormStep>,\n includeDisabled?: boolean,\n includeOptional?: boolean\n): boolean;\n/**\n * Determines if every step matches a given status\n * @param statusToCheck CircleStatus to match against\n * @param steps FormSteps with statuses to check\n * @param exclusionIds string[] IDs of steps to exclude from check\n */\nexport function everyStepStatus(statusToCheck: CircleStatus, steps: Array<FormStep>, exclusionIds?: Array<string>): boolean;\n/**\n * Determines if every step matches a given status\n * @param statusToCheck CircleStatus to match against\n * @param steps FormSteps with statuses to check\n * @param includeDisabled If false or not supplied, disabled steps are excluded from check\n * @param includeOptional If false or not supplied, optional steps are excluded from check\n * @param exclusionIds string[] IDs of steps to exclude from check\n */\nexport function everyStepStatus(\n statusToCheck: CircleStatus,\n steps: Array<FormStep>,\n includeDisabled?: boolean,\n includeOptional?: boolean,\n exclusionIds?: Array<string>\n): boolean;\nexport function everyStepStatus(\n statusToCheck: CircleStatus,\n steps: Array<FormStep>,\n a?: boolean | Array<string>,\n b?: boolean,\n c?: Array<string>\n): boolean {\n if (!steps || !steps.length) {\n return false;\n }\n let exclusionIds = c || [];\n let includeDisabled = false;\n let includeOptional = false;\n // If 'a' is not null, determine if it's the 'includeDisabled' boolean, or the exclusionIds array\n if (a !== null && a !== undefined) {\n if (Array.isArray(a)) {\n exclusionIds = a;\n } else {\n includeDisabled = a;\n includeOptional = b || false;\n }\n }\n return steps\n .filter(\n (s) =>\n // Step ID is not excluded\n !exclusionIds.some((id) => id === s.instanceId) &&\n // Step status is not disabled, unless checking for disabled status\n (includeDisabled ? true : s.status !== 'DISABLED') &&\n // Step is required, unless optional steps should be checked\n (includeOptional ? true : !s.optional)\n )\n .every((s) => s.status === statusToCheck);\n}\n","import { toLetters } from '@mtna/core-ts';\nimport { FormItem, isDataCubeItem, isSection, OutlineStep } from '@mtna/web-form-ts';\n\nimport { FormStep, FormStepGroup, isFormStepGroup } from '../models';\n\n/**\n * Builds up an array of FormSteps or FormStepGroups based on what is found in the provided form items. For most typical\n * forms this will mean that a step is generated for every section that is found in the form. It is assumed that all\n * inputs are held within sections and therefore the sections are the steps that should be monitored for completeness.\n * However, in some circumstances, like very short forms, it may be the case that there are no sections and that all\n * the items are set directly on the form itself. In these circumstances the allSteps parameter can be set to true and\n * a step will be produced for each form item found.\n *\n * @param items the items of the form\n * @param allSteps flag indicating that a form step should be produced for every form item\n */\nexport function generateFormSteps(items: Array<FormItem>, allSteps = false): Array<FormStep | FormStepGroup> {\n // Build up an array of steps based on the form items\n return items.reduce((newArray: Array<FormStep | FormStepGroup>, item: FormItem) => {\n // The number of non-group steps, used to number the top level steps\n const count = newArray.filter((step) => !isFormStepGroup(step)).length;\n if (allSteps) {\n newArray.push(new FormStep(count + 1, item.name || 'No Title', item.instanceId, !item.required));\n } else if (isSection(item)) {\n // If the item is a Section, add a step\n newArray.push(new FormStep(count + 1, item.title.value || 'No Title', item.instanceId, !item.required));\n } else if (isDataCubeItem(item)) {\n // If the item is a DataCubeItem, add a step and add a group step for the sub-sections\n newArray.push(new FormStep(count + 1, item.title.value || '', item.instanceId, !item.required));\n\n const subSectionSteps = item.items\n .filter(isSection)\n .map((item, index) => new FormStep(`${count + 1}${toLetters(index + 1)}`, item.title.value || '', item.instanceId, !item.required));\n newArray.push(new FormStepGroup(subSectionSteps, item.instanceId, false, item.name, count + 1));\n }\n\n return newArray;\n }, []);\n}\n\nexport function generateFormStepsFromOutline(outline: OutlineStep[]): Array<FormStep | FormStepGroup> {\n return outline.reduce((newArray: Array<FormStep | FormStepGroup>, step: OutlineStep) => {\n // The number of non-group steps, used to number the top level steps\n const count = newArray.filter((step) => !isFormStepGroup(step)).length;\n if (step.childSteps && step.childSteps.length > 0) {\n newArray.push(new FormStep(count + 1, step.label, step.instanceId || step.templateId, step.optional));\n const subSectionSteps = step.childSteps.map(\n (item, index) => new FormStep(`${count + 1}${toLetters(index + 1)}`, item.label, item.instanceId || item.templateId, item.optional)\n );\n newArray.push(new FormStepGroup(subSectionSteps, step.instanceId || step.templateId, false, step.label, count + 1));\n } else {\n newArray.push(new FormStep(count + 1, step.label, step.instanceId || step.templateId, step.optional));\n }\n return newArray;\n }, []);\n}\n\n// model from andrew\nexport interface FormStepData extends OutlineStep {\n num: string;\n}\n","import { FORM_ITEM_GROUP_IMPL_ID, SECTION_ID, TEXT_ITEM_ID, TITLE_ITEM_ID } from '@mtna/web-form-ts';\n\nexport function getItemClassSuffix(itemId: string): string {\n // FIXME: surely there is a stronger/better way\n switch (itemId) {\n case FORM_ITEM_GROUP_IMPL_ID:\n return 'group';\n case SECTION_ID:\n return 'section';\n case TEXT_ITEM_ID:\n return 'text';\n case TITLE_ITEM_ID:\n return 'title';\n default:\n return 'item';\n }\n}\n","import { FormControl } from '@angular/forms';\nimport { isObject, isType } from '@mtna/core-ts';\n\nexport function isFormControl(something: unknown): something is FormControl {\n return isObject(something) && isType<FormControl>(something, 'value') && typeof something.value === 'string';\n}\n","import { CircleStatus } from '@mtna/core-angular';\nimport { isType } from '@mtna/core-ts';\nimport { Form, FormItemGroup, ProgressiveForm } from '@mtna/web-form-ts';\n\nimport { FormStep } from '../models';\nimport { findFormItem } from './find-form-item';\n\n/**\n * Update a {@link FormStep}'s `status`.\n * The server side form validation errors will trump the provided `status`.\n *\n * @param instanceId the instanceId of the step to update, otherwise return the original step\n * @param step the step to check\n * @param status the new status to apply to the step\n * @param form the containing form\n * @returns an updated step with the correct status\n */\nexport function updateStepStatus(\n instanceId: string,\n step: FormStep,\n status: CircleStatus,\n form: Form | ProgressiveForm | null | undefined\n): FormStep {\n if (instanceId !== step.instanceId) {\n // These aren't the droids you're looking for.\n // Return unmodified step.\n return step;\n }\n\n // A server validation error will trump the provided status\n if (form?.validationResult?.formItemValidationResults.length) {\n // Get the FormGroup that represents the step\n const group = findFormItem(step.instanceId, form);\n if (isType<FormItemGroup>(group, 'items')) {\n for (const error of form.validationResult.formItemValidationResults) {\n const itemWithError = findFormItem(error.id, group);\n // If the invalid item is within the step group,\n // show an error state\n if (itemWithError) {\n return { ...step, status: 'ERROR' };\n }\n }\n }\n }\n\n // There were no server side validation errors, just update the status\n return { ...step, status };\n}\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\nimport { FormGroup, ValidationErrors } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { isPresent, isType } from '@mtna/core-ts';\nimport { AnnotatableNumberMap } from '@mtna/pojo-social-angular';\nimport { ConditionalItem, FormItem, FormItemImpl, isConditionalItem, isOptionGroupItemImpl, isOptionItemImpl } from '@mtna/web-form-ts';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { MtnaWfFormItemComponent } from '../components/form-item/form-item.component';\n\n/** Registry of custom error messages for a specific form item. A custom error can also\n * be a function returning a string. The FormItem object is passed to any ValidationErrors\n * that are functions, so item specific information can be provided.\n * @example {\n * max: `This field's value must be less.`,\n * min: (item: FormItemImpl<any>) => instanceofWholeNumberItem(item)\n * ? `This field's value must be greater than ${item.minValue}.`\n * : `This field's value must be greater.`\n * }\n */\n// tslint:disable-next-line:interface-over-type-literal\nexport type CustomErrors = {\n [id: string]: ValidationErrors;\n};\n\n/** List of default error messages to display */\nexport const DEFAULT_ERROR_MESSAGES: ValidationErrors = {\n email: $localize`This field must include a valid email format.`,\n max: (item?: FormItemImpl<number> & { maxValue: number; minValue: number }) =>\n !isPresent(item) || !isPresent(item?.maxValue)\n ? $localize`This field's value must be less.`\n : isPresent(item?.minValue)\n ? $localize`Min value: ${item.minValue} - `\n : '' + $localize`Max value: ${item.maxValue}`,\n maxlength: $localize`This field has exceeded the allowed maximum.`,\n maxSelected: null,\n min: (item?: FormItemImpl<number> & { maxValue: number; minValue: number }) =>\n !isPresent(item) || !isPresent(item?.minValue)\n ? $localize`This field's value must be greater.`\n : $localize`Min Value: ${item.minValue}` + isPresent(item?.maxValue)\n ? $localize` - Max Value: ${item.maxValue}`\n : '',\n minlength: $localize`This field has not met the required minimum.`,\n minSelected: null,\n nonDigit: $localize`This field's value must be numeric.`,\n pattern: $localize`This field's input does not meet the accepted pattern.`,\n positive: $localize`This field's value cannot be negative.`,\n required: $localize`This field is required.`,\n requiredTrue: `$localizeThis field's value must be 'true'.`,\n wholeNumber: $localize`This field cannot contain a decimal.`,\n matDatepickerParse: $localize`This field's value is not an accepted format.`,\n};\n\nexport const WEB_FORM_CUSTOM_ERRORS = new InjectionToken<CustomErrors>('mtnaWebFormCustomFormErrors');\n\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfUIService {\n /** Map of annotation counts for each annotatable item */\n private annotations: { [id: string]: BehaviorSubject<number | null> } = {};\n /** Map of components in the MtnaForm */\n private components: { [instanceId: string]: MtnaWfFormItemComponent } = {};\n /** Map of item.disabled values that have changed */\n private disabledState: { [instanceId: string]: boolean } = {};\n /** Map of toggler ID's for components that have multiple togglers */\n private multipleEnablers: { [instanceId: string]: { [togglerId: string]: string } | null } = {};\n private errors: CustomErrors;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(private dialog: MatDialog, @Optional() @Inject(WEB_FORM_CUSTOM_ERRORS) errors?: any) {\n // Workaround for: Metadata collected contains an error that will be reported at runtime: Could not resolve type CustomErrors.\n // see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.errors = errors as CustomErrors;\n }\n\n getDisabledStates() {\n return { ...this.disabledState };\n }\n\n /**\n * Returns an error message matching the error id\n * @param errorId Id of the error, to find the associated error message\n * @param item FormItem to pass to ValidationErrors that are functions. For instance,\n * this is useful for 'min' & 'max' value limits to display more helpful messages\n */\n getError(errorId: string, item?: FormItemImpl<unknown>): string {\n // default when no custom message exists\n let error = DEFAULT_ERROR_MESSAGES[errorId];\n if (!!this.errors && !!item) {\n // check for instance specific, via instanceId\n if (isPresent(this.errors[item.instanceId]) && isPresent(this.errors[item.instanceId][errorId])) {\n error = this.errors[item.instanceId][errorId];\n // check for item specific, via itemId\n } else if (isPresent(this.errors[item.itemId]) && isPresent(this.errors[item.itemId][errorId])) {\n error = this.errors[item.itemId][errorId];\n }\n }\n return typeof error === 'function' ? error(item) : error;\n }\n\n /**\n * Get a registered component by intance id.\n * @param id the instanceId\n * @returns the {@link FormItemComponent} that represents that ID or undefined if not registered.\n */\n getItem(id: string): MtnaWfFormItemComponent | undefined {\n return this.components[id];\n }\n\n /**\n * Sets the initial map of annotation counts, and/or pushes the new count onto the component observable stream\n * @param map AnnotatableNumberMap of counts mapped to their annotatableIds\n */\n registerAnnotations(map: AnnotatableNumberMap) {\n for (const id in map) {\n if (Object.prototype.hasOwnProperty.call(map, id)) {\n if (!this.annotations[id]) {\n this.annotations[id] = new BehaviorSubject<number | null>(map[id]);\n } else {\n this.annotations[id].next(map[id]);\n }\n }\n }\n }\n\n /**\n * Maps a component to its items instanceId.\n * @param component component calling this method, i.e. 'this'\n */\n registerSelf(component: MtnaWfFormItemComponent) {\n this.components[component.item.instanceId] = component;\n if (!!component.item.annotatableId && component.item.annotationEnabled) {\n if (!this.annotations[component.item.annotatableId]) {\n this.annotations[component.item.annotatableId] = new BehaviorSubject<number | null>(null);\n }\n component.annotations$ = this.annotations[component.item.annotatableId].asObservable();\n }\n }\n\n /**\n * Toggles a FormItem's visiblity and enable/disable state\n *\n * @param enabledItemIds array of component IDs for enabled items.\n * @param disabledItemIds array of component IDs for disabled items.\n * @param enabled Whether the enabledItemIds are enabled.\n * @param callerId instanceId of the item invoking this function\n * @param reset Whether to reset the multiple enabler map of the toggled item\n */\n toggleFormItems(enabledItemIds: Array<string>, disabledItemIds: Array<string>, enabled: boolean, callerId: string, reset = false) {\n if ((!enabledItemIds || !enabledItemIds.length) && (!disabledItemIds || !disabledItemIds.length)) {\n return;\n }\n const allIds = [enabledItemIds, disabledItemIds];\n for (let i = 0; i < allIds.length; i++) {\n const itemIds = allIds[i];\n const isEnabled = i === 0 ? enabled : !enabled;\n for (const id of itemIds) {\n const component = this.components[id];\n // If component is registered, toggle it\n if (component) {\n const item = component.item;\n const hasMultipleEnablers = isConditionalItem(item) && item.condition ? item.condition.itemIds.length > 1 : false;\n // If item has more than 1 enabler, handle multiple enablers\n if (hasMultipleEnablers) {\n if (reset) {\n this.multipleEnablers[item.instanceId] = null;\n }\n // If a map has not been registered, then build up a map to register\n // Should only happen the first time an item is toggled.\n if (!this.multipleEnablers[item.instanceId] && isConditionalItem(item)) {\n this.multipleEnablers[item.instanceId] = this._registerCurrentEnablers(item);\n }\n // handle Multiple Enablers\n this._handleMultipleEnablers(component, isEnabled, callerId);\n } else {\n // Not multiple enablers\n this._toggleDisabledStateAndControl(component, isEnabled);\n }\n } else {\n console.error('[toggleFormItems] component has not been registerd', id, enabled, callerId);\n }\n }\n }\n }\n\n /**\n * Generates map of all IDs currently influencing an item.\n * @param toggledItem item being toggled\n */\n private _registerCurrentEnablers(toggledItem: ConditionalItem): { [callerId: string]: string } {\n const enablers: { [callerId: string]: string } = {};\n const allIds = toggledItem.condition?.itemIds || [];\n\n for (const id of allIds) {\n const component = this.components[id];\n if (component) {\n if (this._isCurrentlyToggling(component, toggledItem.instanceId)) {\n enablers[component.item.instanceId] = component.item.instanceId;\n }\n } else {\n console.error('[registerCurrentEnablers] component has not been registered.', id);\n }\n }\n\n return enablers;\n }\n\n /**\n * Resets the map of components. This should be called by the form when\n * it is destroyed.\n */\n resetComponentMap() {\n this.annotations = {};\n this.components = {};\n this.disabledState = {};\n this.multipleEnablers = {};\n }\n\n /**\n * Determines if an influencer is currently toggling the specified toggledItemId.\n * @param influencer Item to check whether it's currently influencing the toggledItemId\n * @param toggledId InstanceId of the item being toggled\n * @returns Whether the influencer is currently toggling the toggled item\n */\n private _isCurrentlyToggling(influencer: MtnaWfFormItemComponent, toggledId: string): boolean {\n const item = influencer.item;\n // Item has single option property, so check if selected, or item.value is 'true'\n if (isOptionItemImpl(item)) {\n return item.option.selected || !!item.value || !!influencer.control?.value;\n } else if (isOptionGroupItemImpl(item)) {\n const value = influencer.control?.value ?? item.value;\n if (Array.isArray(value)) {\n // find the index of options that contain the 'toggledId' in their enabledItems\n // & check if at least 1 is selected, or its 'true' in the value\n const optionIndexes = item.options.map((o, i) => (o.enabledItems.some((id) => id === toggledId) ? i : null)).filter(isPresent);\n return optionIndexes.some((i) => !!value[i]);\n } else if (typeof value === 'string' && value.length) {\n // if the value is a single value, get the enabling option ids and check for the value in them\n return item.options.some((o) => o.option.id === value && o.enabledItems.some((id) => id === toggledId));\n }\n }\n return false;\n }\n\n /**\n * Handles component visibility for a FormItem with multiple enablers in its condition\n * @param component FormItemComponent being toggled\n * @param enabled Whether the component is being enabled\n * @param callerId ID of the caller toggling this component\n */\n private _handleMultipleEnablers(component: MtnaWfFormItemComponent, enabled: boolean, callerId: string) {\n const item = component.item;\n const enablers = { ...this.multipleEnablers[item.instanceId] };\n let isEnabled: boolean;\n if (enabled) {\n enablers[callerId] = callerId;\n isEnabled =\n isConditionalItem(item) &&\n !!item.condition &&\n (!item.condition.allRequired || item.condition.itemIds.every((id) => !!enablers[id]));\n } else {\n delete enablers[callerId];\n isEnabled = !((isConditionalItem(item) && item.condition?.allRequired) || !Object.keys(enablers).length);\n }\n // If enabled === disabled, then the state has changed\n if (this._isDisabled(item) === isEnabled) {\n this._toggleDisabledStateAndControl(component, isEnabled);\n }\n // set the new enabler map\n this.multipleEnablers[item.instanceId] = enablers;\n }\n\n /**\n * Enables or disables the control on a FormItemComponent\n * @param component FormItemComponent to enable or disable its control\n * @param enabled whether to enable the control\n */\n private _toggleControlState(component: MtnaWfFormItemComponent, enabled: boolean) {\n if (enabled && !component.control?.enabled) {\n // Enable the control if it isn't already\n if (component.control instanceof FormGroup) {\n this._enableIndividualControls(component);\n } else {\n component.control?.enable();\n }\n } else if (!enabled && component.control?.enabled) {\n // Disable the control if it isn't already\n component.control.disable();\n }\n }\n\n /**\n * Toggles both the component visiblity and the control's enable/disable status\n * @param component FormItemComponent to show or hide and enable or disable\n * @param enabled whether to show the component and whether to enable the component\n */\n private _toggleDisabledStateAndControl(component: MtnaWfFormItemComponent, enabled: boolean) {\n this.disabledState[component.item.instanceId] = !enabled;\n this._toggleControlState(component, enabled);\n if (isConditionalItem(component.item) && component.item.hideOnDisable) {\n component.visible = enabled;\n }\n }\n\n /**\n * Enables controls individually using recursion.\n * FormGroups should only exist for items with 'items' arrays, or\n * if the component is a BaseParentItemControl\n * @param comp FormItemComponent\n */\n private _enableIndividualControls(comp: MtnaWfFormItemComponent) {\n const group = comp.control as FormGroup;\n\n if (isOptionItemImpl(comp.item) || isOptionGroupItemImpl(comp.item)) {\n const map = comp.item.optionItemMap;\n const self = group.get(comp.item.instanceId);\n self?.enable();\n for (const optionId in map) {\n if (Object.prototype.hasOwnProperty.call(map, optionId)) {\n const childComp = this.components[map[optionId].instanceId];\n if (!this._isDisabled(childComp.item)) {\n this._toggleControlState(childComp, true);\n }\n }\n }\n } else if (isType<{ items: FormItemImpl<unknown>[] }>(comp.item, 'items') && comp.item.items.length) {\n // Item must have 'items' array\n for (const item of comp.item.items) {\n const childComp = this.components[item.instanceId];\n if (!this._isDisabled(item)) {\n this._toggleControlState(childComp, true);\n }\n }\n }\n group.updateValueAndValidity();\n }\n\n /**\n * Determines if a component is disabled. Prioritizes the disabledState value,\n * if it exists, otherwise returns the item's previous disabled value\n * @param item item to check for its disabled state\n */\n private _isDisabled(item: ConditionalItem | FormItem): boolean {\n const existsInDisabledStatMap = isPresent(this.disabledState[item.instanceId]);\n if (!existsInDisabledStatMap) {\n return isConditionalItem(item) ? item.disabled : false;\n } else {\n return this.disabledState[item.instanceId];\n }\n }\n}\n","import { ChangeDetectorRef, Component, Input, TemplateRef } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { CanDestroyNotify, mixinDestroyNotifier } from '@mtna/core-angular';\nimport { AnnotationIndicatorStatus, IndicatorStatusRepeater } from '@mtna/pojo-social-angular';\nimport { FormItem } from '@mtna/web-form-ts';\n\nconst _BaseFormItemComponent = mixinDestroyNotifier(class {});\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseFormItem<I extends FormItem>\n extends _BaseFormItemComponent\n implements IndicatorStatusRepeater, CanDestroyNotify\n{\n @Input() color: ThemePalette;\n\n @Input()\n get header(): TemplateRef<unknown> | null {\n return this._header;\n }\n set header(value: TemplateRef<unknown> | null) {\n this._header = value;\n }\n private _header: TemplateRef<unknown> | null = null;\n\n @Input()\n get indicatorStatus(): AnnotationIndicatorStatus {\n return this._indicatorStatus;\n }\n set indicatorStatus(value: AnnotationIndicatorStatus) {\n this._indicatorStatus = value;\n this.cdr.markForCheck();\n }\n protected _indicatorStatus: AnnotationIndicatorStatus = 'INACTIVE';\n\n @Input()\n get item(): I {\n return this._item;\n }\n set item(value: I) {\n this._item = value;\n }\n protected _item!: I;\n\n get hasItemHeader() {\n return !!this.item && (!!this.item.questionText || !!this.item.descriptiveText);\n }\n\n constructor(protected cdr: ChangeDetectorRef) {\n super();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { FormItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from './base-form-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseFormItemControl<\n I extends FormItem,\n C extends AbstractControl = AbstractControl\n> extends MtnaWfBaseFormItem<I> {\n static ngAcceptInputType_readonly: BooleanInput;\n\n @Input()\n get control(): C | null | undefined {\n return this._control;\n }\n set control(control: C | null | undefined) {\n this._control = control;\n }\n protected _control: C | null | undefined;\n\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n this.cdr.markForCheck();\n }\n protected _readonly = false;\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n\n protected setValue(item: unknown) {\n this.control?.markAsDirty();\n this.control?.setValue(item);\n }\n}\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { FormItem, FormItemGroup } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItemControl } from './base-form-item-control.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseGroupItem<I extends FormItemGroup> extends MtnaWfBaseFormItemControl<I, FormGroup> {\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n _trackByInstanceId(index: number, item: FormItem) {\n return item.instanceId;\n }\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { Component, HostBinding, Input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { FormOptionSelector, Option, ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItemControl } from './base-form-item-control.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseValueItem<\n I extends ValueItem<unknown>,\n C extends AbstractControl = AbstractControl\n> extends MtnaWfBaseFormItemControl<I, C> {\n static ngAcceptInputType_inList: BooleanInput;\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = value;\n }\n private _inList = false;\n\n @HostBinding('class.mtna-wf-control-item') formControlClass = true;\n\n /** Override read-only getter in order to add the host binding. Shouldn't change any funtionality. */\n @HostBinding('class.read-only')\n get isReadOnly(): boolean {\n return this._readonly;\n }\n\n _trackByOptionId(index: number, option: FormOptionSelector<Option<unknown>>) {\n return option.option.id;\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { ValueItem } from '@mtna/web-form-ts';\n\nimport { ToggleFormItemsData } from '../../models/toggle-form-item-data.model';\nimport { MtnaWfBaseValueItem } from './base-value-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseParentValueItem<I extends ValueItem<unknown>, C extends AbstractControl> extends MtnaWfBaseValueItem<I, C> {\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n override get control(): C | null | undefined {\n return super.control;\n }\n override set control(control: C | null | undefined) {\n // Checks for a wrapping form group around this item.\n if (control instanceof FormGroup && control.get(this.item.instanceId)) {\n super.control = control.get(this.item.instanceId) as C;\n this.controlWrapper = control;\n } else {\n super.control = control;\n }\n }\n\n @Output() toggleFormItems = new EventEmitter<ToggleFormItemsData>();\n\n controlWrapper: FormGroup | undefined;\n}\n","import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Section } from '@mtna/web-form-ts';\n\nimport { FormStep } from '../../models/form-stepper/form-step.model';\nimport { MtnaWfBaseGroupItem } from './base-group-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseSectionItem<S extends Section> extends MtnaWfBaseGroupItem<S> {\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(value: FormStep | null | undefined) {\n this._step = value;\n console.warn({ value });\n }\n private _step: FormStep | null | undefined;\n\n @Output() focused = new EventEmitter<FormStep>();\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatRadioChange } from '@angular/material/radio';\nimport { MatSelectChange } from '@angular/material/select';\nimport { isPresent } from '@mtna/core-ts';\nimport { DropdownItem, FormOptionSelector, MultipleChoiceItem, StringOption } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseParentValueItem } from './base-parent-value-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseSingleSelectionParentValueItem<I extends DropdownItem | MultipleChoiceItem>\n extends MtnaWfBaseParentValueItem<I, FormControl>\n implements OnInit\n{\n protected selectedOption: FormOptionSelector<StringOption> | undefined;\n\n ngOnInit(): void {\n if (isPresent(this.control?.value)) {\n this.selectedOption = this.item.options.find((o) => this.control?.value === o.option.id);\n }\n }\n\n /**\n * Toggles the 'selected' value of the previous & newly selected options,\n * then calls toggleFormItems to change their enabled/disabled items\n * @param change MatRadioChange from the radio group\n */\n selectionChange(change: MatRadioChange | MatSelectChange) {\n // event fires when an option's nested item, e.g. FileUploadItem, changes value.\n // This event is not a MatRadioChange, so we need to ignore it.\n if (change instanceof MatRadioChange || change instanceof MatSelectChange) {\n // Newly selected option\n const option = this.item.options.find((o) => o.option.id === change.value);\n if (!!this.selectedOption && this.selectedOption.option.id !== change.value) {\n // New option does not match the previous option\n // Previous option's enabled/disabled items need toggling\n // toggle visibility and enable/disable, should be rendered already\n this.toggleFormItems.emit({\n enabledItemIds: this.selectedOption.enabledItems,\n disabledItemIds: this.selectedOption.disabledItems,\n enabled: false,\n callerId: this.item.instanceId,\n });\n }\n // toggle visibility and enable/disable, should be rendered already\n if (option) {\n this.toggleFormItems.emit({\n enabledItemIds: option.enabledItems,\n disabledItemIds: option.disabledItems,\n enabled: true,\n callerId: this.item.instanceId,\n });\n }\n // Set the selected option as the previous\n this.selectedOption = option;\n } else {\n console.warn('[BaseSingleSelectionParent] selectionChange - not a MatRadioChange | MatSelectChange', change);\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { INJECTION_SERVICE, InjectionService, MtnaComponentInjector } from '@mtna/core-angular';\nimport { AnnotationIndicatorStatus } from '@mtna/pojo-social-angular';\nimport { FormItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FormStep, ToggleFormItemsData } from '../../models';\nimport { MtnaWfBaseFormItemControl } from '../base-items/base-form-item-control.component';\nimport { MtnaWfBaseFormItem } from '../base-items/base-form-item.component';\nimport { MtnaWfBaseGroupItem } from '../base-items/base-group-item.component';\nimport { MtnaWfBaseParentValueItem } from '../base-items/base-parent-value-item.component';\nimport { MtnaWfBaseSectionItem } from '../base-items/base-section-item.component';\nimport { MtnaWfBaseSingleSelectionParentValueItem } from '../base-items/base-single-selection-parent-value-item.component';\nimport { MtnaWfBaseValueItem } from '../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-item-injector',\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport class MtnaWfItemInjector extends MtnaComponentInjector implements OnInit {\n static ngAcceptInputType_inList: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n\n @Input() color: ThemePalette;\n\n @Input()\n get control(): AbstractControl | null | undefined {\n return this._control;\n }\n set control(control: AbstractControl | null | undefined) {\n this._control = control;\n }\n protected _control: AbstractControl | null | undefined;\n\n @Input()\n get header(): TemplateRef<unknown> | null {\n return this._header;\n }\n set header(value: TemplateRef<unknown> | null) {\n this._header = value;\n }\n private _header: TemplateRef<unknown> | null = null;\n\n @Input()\n get indicatorStatus(): AnnotationIndicatorStatus {\n return this._indicatorStatus.value;\n }\n set indicatorStatus(value: AnnotationIndicatorStatus) {\n this._indicatorStatus.next(value);\n }\n protected _indicatorStatus = new BehaviorSubject<AnnotationIndicatorStatus>('INACTIVE');\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = coerceBooleanProperty(value);\n }\n private _inList = false;\n\n @Input()\n get item(): FormItem {\n return this._item;\n }\n set item(value: FormItem) {\n this._item = value;\n }\n protected _item!: FormItem;\n\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n @Input()\n get readonly(): boolean {\n return this._readonly.value;\n }\n set readonly(value: boolean) {\n this._readonly.next(coerceBooleanProperty(value));\n }\n protected _readonly = new BehaviorSubject<boolean>(false);\n\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(value: FormStep | null | undefined) {\n this._step = value;\n }\n private _step: FormStep | null | undefined;\n\n @Output() focusedSection = new EventEmitter<FormStep>();\n\n @Output() toggleFormItems = new EventEmitter<ToggleFormItemsData>();\n\n private wfItemComponent: MtnaWfBaseFormItem<any> | undefined;\n\n constructor(\n protected injector: Injector,\n protected cfr: ComponentFactoryResolver,\n protected vcr: ViewContainerRef,\n @Inject(INJECTION_SERVICE) protected injectionService: InjectionService\n ) {\n super(injector, cfr, vcr, injectionService);\n }\n\n ngOnInit(): void {\n if (this.item) {\n super.ngOnInit();\n }\n }\n\n protected configureComponent(componentRef: ComponentRef<any>): void {\n this.wfItemComponent = componentRef.instance as MtnaWfBaseFormItem<any>;\n this.wfItemComponent.header = this.header;\n this._indicatorStatus.subscribe((status) => {\n if (this.wfItemComponent) {\n this.wfItemComponent.indicatorStatus = status;\n }\n });\n this.wfItemComponent.item = this.item;\n this.wfItemComponent.color = this.color;\n\n if (this.wfItemComponent instanceof MtnaWfBaseFormItemControl) {\n this.wfItemComponent.control = this.control;\n this.wfItemComponent.readonly = this.readonly;\n\n if (this.wfItemComponent instanceof MtnaWfBaseValueItem) {\n this.wfItemComponent.inList = this.inList;\n\n if (this.wfItemComponent instanceof MtnaWfBaseParentValueItem) {\n this.wfItemComponent.parentIds = this.parentIds;\n // added output to remove ui service from base components\n this.wfItemComponent.toggleFormItems.subscribe((data) => {\n this.toggleFormItems.emit(data);\n });\n\n if (this.wfItemComponent instanceof MtnaWfBaseSingleSelectionParentValueItem) {\n // empty for now unless specific configuration params are needed; placeholder\n }\n }\n }\n }\n\n if (this.wfItemComponent instanceof MtnaWfBaseGroupItem) {\n this.wfItemComponent.parentIds = this.parentIds;\n\n if (this.wfItemComponent instanceof MtnaWfBaseSectionItem) {\n this.wfItemComponent.step = this.step;\n this.wfItemComponent.focused.subscribe((step) => {\n this.focusedSection.emit(step);\n });\n }\n }\n }\n\n protected getInjectedComponentKey(): string {\n if (this.item) {\n return this.item.itemId;\n } else {\n console.error('MtnaWfItemInjector - getInjectedComponentKey - item is undefined');\n return '';\n }\n }\n}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'mtnaWfSanitizeHtml',\n})\nexport class MtnaWfSanitizeHtmlPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer) {}\n\n transform(v: string | null | undefined): SafeHtml {\n if (!v) {\n return '';\n }\n return this._sanitizer.bypassSecurityTrustHtml(v);\n }\n}\n\n@NgModule({\n declarations: [MtnaWfSanitizeHtmlPipe],\n exports: [MtnaWfSanitizeHtmlPipe],\n})\nexport class MtnaWfSanitizeHtmlPipeModule {}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * Common header html for a form item.\n *\n * @author Will Davis <will.davis@mtna.us>\n */\n@Component({\n selector: 'mtna-wf-item-header',\n templateUrl: './item-header.component.html',\n styleUrls: ['./item-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfItemHeaderComponent {\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_hideRequiredMarker: BooleanInput;\n static ngAcceptInputType_invalid: BooleanInput;\n\n @HostBinding('class.mtna-wf-item-header') itemHeaderClass = true;\n /** Optional descriptive text/HTML */\n @Input() descriptiveText: string | null | undefined;\n /** Whether the form item is disabled */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = coerceBooleanProperty(disabled);\n }\n private _disabled = false;\n\n /** Whether the required marker (asterix) is hidden. Defaults to false. */\n @Input()\n get hideRequiredMarker(): boolean {\n return this._hideRequiredMarker;\n }\n set hideRequiredMarker(hideRequiredMarker: boolean) {\n this._hideRequiredMarker = coerceBooleanProperty(hideRequiredMarker);\n }\n private _hideRequiredMarker = false;\n\n /** Whether the form item is invalid */\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(invalid: boolean) {\n this._invalid = coerceBooleanProperty(invalid);\n }\n private _invalid = false;\n /** Optional question text/HTML */\n @Input() questionText: string | null | undefined;\n /** Whether the form item is required */\n @Input() required = false;\n\n /** HTML to insert for required items */\n _requiredHtml = `<span aria-hidden=\"true\"> *</span>`;\n}\n","<h3\n *ngIf=\"!!questionText\"\n class=\"mtna-wf-item-question\"\n [class.invalid]=\"invalid\"\n [innerHTML]=\"questionText + (required && !disabled && !hideRequiredMarker ? _requiredHtml : '') | mtnaWfSanitizeHtml\"\n></h3>\n<p *ngIf=\"!!descriptiveText\" class=\"mtna-wf-item-description\" [innerHTML]=\"descriptiveText | mtnaWfSanitizeHtml\"></p>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { AnnotationIndicatorStatus } from '@mtna/pojo-social-angular';\nimport { FormItem, isConditionalItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { FormStep, ToggleFormItemsData } from '../../models';\nimport { MtnaWfUIService } from '../../services/ui.service';\nimport { getItemClassSuffix, MTNA_WF_EXPAND_COLLAPSE } from '../../utilities';\n\n/**\n * Component that wraps an MtnaForm item.\n *\n * ChangeDetectionStrategy.OnPush was not working as of 9/19/2018.\n * Dynamic components in the ValueItemComponent were not being initialized (ngOnInit was never called).\n *\n * @export\n */\n@Component({\n selector: 'mtna-wf-item',\n templateUrl: './form-item.component.html',\n styleUrls: ['./form-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [MTNA_WF_EXPAND_COLLAPSE],\n})\nexport class MtnaWfFormItemComponent implements OnInit {\n @HostBinding('@mtnaWfExpandCollapse') visible = true;\n\n @HostBinding('attr.id')\n get elementId(): string {\n return this.item ? this.item.instanceId : '';\n }\n\n @Input() color: ThemePalette;\n\n @Input()\n get control(): AbstractControl | null | undefined {\n return this._control;\n }\n set control(control: AbstractControl | null | undefined) {\n this._control = control;\n }\n protected _control: AbstractControl | null | undefined;\n\n @Input()\n get header(): TemplateRef<unknown> | null {\n return this._header;\n }\n set header(value: TemplateRef<unknown> | null) {\n this._header = value;\n }\n private _header: TemplateRef<unknown> | null = null;\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = coerceBooleanProperty(value);\n }\n private _inList = false;\n\n @Input()\n get item(): FormItem {\n return this._item;\n }\n set item(value: FormItem) {\n this._item = value;\n }\n protected _item!: FormItem;\n\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n }\n protected _readonly = false;\n\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(value: FormStep | null | undefined) {\n this._step = value;\n }\n private _step: FormStep | null | undefined;\n\n @Output() focusedSection = new EventEmitter<FormStep>();\n\n annotations$?: Observable<number | null>;\n indicatorStatus$ = new BehaviorSubject<AnnotationIndicatorStatus>('INACTIVE');\n\n constructor(private _elementRef: ElementRef, private uiService: MtnaWfUIService) {}\n\n ngOnInit() {\n if (isConditionalItem(this.item)) {\n this.visible = !this.item.hideOnDisable || !this.item.disabled;\n }\n this.uiService.registerSelf(this);\n\n this._elementRef.nativeElement.classList.add(`mtna-wf-${getItemClassSuffix(this.item.itemId)}`);\n }\n\n toggleFormItems(data: ToggleFormItemsData) {\n this.uiService.toggleFormItems(data.enabledItemIds, data.disabledItemIds, data.enabled, data.callerId, data.reset);\n }\n\n updateIndicatorStatus(status: AnnotationIndicatorStatus) {\n this.indicatorStatus$.next(status);\n }\n}\n","<mtna-annotations-indicator\n *ngIf=\"item.annotationEnabled\"\n [annotatableId]=\"item.annotatableId\"\n color=\"primary\"\n [count]=\"annotations$ | async\"\n (status)=\"updateIndicatorStatus($event)\"\n></mtna-annotations-indicator>\n\n<mtna-wf-item-injector\n [color]=\"color\"\n [control]=\"control\"\n [header]=\"header\"\n [indicatorStatus]=\"indicatorStatus$.value\"\n [inList]=\"inList\"\n [item]=\"item\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n [step]=\"step\"\n (focusedSection)=\"focusedSection.emit($event)\"\n (toggleFormItems)=\"toggleFormItems($event)\"\n></mtna-wf-item-injector>\n\n<ng-template #header let-hideRequiredMarker=\"hideRequiredMarker\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled\"\n [hideRequiredMarker]=\"hideRequiredMarker\"\n [invalid]=\"control?.invalid && (control?.dirty || control?.touched)\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n</ng-template>\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemDialogData } from '../../models/form-item-dialog-data.model';\n\n/**\n * A dialog that renders a form item that represents something the user needs to acknowledge.\n */\n@Component({\n selector: 'mtna-wf-acknowledge-dialog',\n templateUrl: './acknowledge-dialog.component.html',\n})\nexport class MtnaWfAcknowledgeDialogComponent {\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: MtnaWfFormItemDialogData,\n public dialogRef: MatDialogRef<MtnaWfAcknowledgeDialogComponent, boolean>\n ) {}\n}\n","<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button [mat-dialog-close]=\"false\" mat-button i18n>CANCEL</button>\n <button [mat-dialog-close]=\"true\" color=\"accent\" mat-raised-button i18n>ACKNOWLEDGE</button>\n</mat-dialog-actions>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfItemInjector } from './form-item-injector.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MtnaWfItemInjector],\n exports: [MtnaWfItemInjector],\n})\nexport class MtnaWfItemInjectorModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStep } from '../models';\n\n@Pipe({\n name: 'childStepActive',\n})\nexport class ChildStepActivePipe implements PipeTransform {\n transform(steps: FormStep[]): boolean {\n return steps.some((step) => step.active);\n }\n}\n\n@NgModule({\n declarations: [ChildStepActivePipe],\n exports: [ChildStepActivePipe],\n})\nexport class ChildStepActivePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfGetObjectType',\n})\nexport class MtnaWfGetObjectTypePipe implements PipeTransform {\n transform(id: string): string {\n const newId = id.toLowerCase().split('.');\n return newId[newId.length - 1];\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetObjectTypePipe],\n exports: [MtnaWfGetObjectTypePipe],\n})\nexport class MtnaWfGetObjectTypePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { DateItem, ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfGetObjectTypePipe, MtnaWfGetObjectTypePipeModule } from './get-object-type.pipe';\n\n@Pipe({\n name: 'mtnaWfCoerceDateItem',\n})\nexport class MtnaWfCoerceDateItemPipe implements PipeTransform {\n constructor(private objectTypePipe: MtnaWfGetObjectTypePipe) {}\n transform(item: ValueItem<unknown> | undefined | null): DateItem | null {\n if (!!item && this.objectTypePipe.transform(item.itemId) === 'dateitem') {\n return item as DateItem;\n }\n return null;\n }\n}\n\n@NgModule({\n imports: [MtnaWfGetObjectTypePipeModule],\n declarations: [MtnaWfCoerceDateItemPipe],\n exports: [MtnaWfCoerceDateItemPipe],\n})\nexport class MtnaWfCoerceDateItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, AsyncValidatorFn, FormControl, ValidatorFn } from '@angular/forms';\n\n@Pipe({\n name: 'mtnaWfCoerceFormControl',\n})\nexport class MtnaWfCoerceFormControlPipe implements PipeTransform {\n transform(control: AbstractControl | null | undefined): FormControl | null {\n if (control) {\n const value = control.value;\n const validators: ValidatorFn | ValidatorFn[] | null = control.validator;\n const asyncValidators: AsyncValidatorFn | AsyncValidatorFn[] | null = control.asyncValidator;\n\n const newFormControl = new FormControl(value, validators, asyncValidators);\n return newFormControl;\n }\n\n return null;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfCoerceFormControlPipe],\n exports: [MtnaWfCoerceFormControlPipe],\n})\nexport class MtnaWfCoerceFormControlPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\n\nimport { isFormGroup } from '../utilities/is-form-group';\n\n/**\n * Asserts whether the given control is the narrower FormGroup type. If so, coerces the FormGroup type.\n * Otherwise, returns null.\n *\n * @example\n * <form [formGroup]=\"group | mtnaWfCoerceFormGroup\"></form>\n *\n * <form *ngIf=\"controlContainer.control | mtnaWfCoerceFormGroup as group\" [formGroup]=\"group\"></form>\n *\n * @author Chase Moore <chase.moore@mtna.us>\n */\n@Pipe({\n name: 'mtnaWfCoerceFormGroup',\n})\nexport class MtnaWfCoerceFormGroupPipe implements PipeTransform {\n /**\n * @param control control to be coerced into a FormGroup\n * @returns the control typed as FormGroup if possible; else null\n */\n transform(control: AbstractControl | null | undefined): FormGroup | null {\n if (isFormGroup(control)) {\n return control;\n }\n\n return null;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfCoerceFormGroupPipe],\n exports: [MtnaWfCoerceFormGroupPipe],\n})\nexport class MtnaWfCoerceFormGroupPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { isType } from '@mtna/core-ts';\nimport { FormItem } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'coerceFormItem',\n})\nexport class MtnaWfCoerceFormItemPipe implements PipeTransform {\n transform(item: unknown): FormItem | undefined {\n let formItem = undefined;\n if (this.instanceOfFormItem(item)) {\n formItem = item;\n }\n return formItem;\n }\n\n instanceOfFormItem(something: unknown): something is FormItem {\n return isType<FormItem>(something, 'instanceId', 'itemId', 'name', 'required', 'templateId');\n }\n}\n\n@NgModule({\n declarations: [MtnaWfCoerceFormItemPipe],\n exports: [MtnaWfCoerceFormItemPipe],\n})\nexport class MtnaWfCoerceFormItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStepGroup, instanceOfFormStepGroup } from '../models';\n\n@Pipe({\n name: 'coerceFormStepGroup',\n})\nexport class CoerceFormStepGroupPipe implements PipeTransform {\n transform(value: unknown): FormStepGroup | null {\n return instanceOfFormStepGroup(value) ? value : null;\n }\n}\n\n@NgModule({\n declarations: [CoerceFormStepGroupPipe],\n exports: [CoerceFormStepGroupPipe],\n})\nexport class CoerceFormStepGroupPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStep, instanceOfFormStep } from '../models';\n\n@Pipe({\n name: 'coerceFormStep',\n})\nexport class CoerceFormStepPipe implements PipeTransform {\n transform(value: unknown): FormStep | null {\n return instanceOfFormStep(value) ? value : null;\n }\n}\n\n@NgModule({\n declarations: [CoerceFormStepPipe],\n exports: [CoerceFormStepPipe],\n})\nexport class CoerceFormStepPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfDateQuarter',\n})\nexport class MtnaWfDateQuarterPipe implements PipeTransform {\n transform(quarter: 0 | 1 | 2 | 3, format = 'short'): string {\n const short = {\n 0: $localize`Q1`,\n 1: $localize`Q2`,\n 2: $localize`Q3`,\n 3: $localize`Q4`,\n };\n const medium = {\n 0: $localize`1st Quarter`,\n 1: $localize`2nd Quarter`,\n 2: $localize`3rd Quarter`,\n 3: $localize`4th Quarter`,\n };\n const long = {\n 0: $localize`First Quarter`,\n 1: $localize`Second Quarter`,\n 2: $localize`Third Quarter`,\n 3: $localize`Fourth Quarter`,\n };\n\n switch (format) {\n case 'short':\n return short[quarter];\n case 'medium':\n return medium[quarter];\n case 'long':\n return long[quarter];\n default:\n return '';\n }\n }\n}\n\n@NgModule({\n declarations: [MtnaWfDateQuarterPipe],\n exports: [MtnaWfDateQuarterPipe],\n})\nexport class MtnaWfDateQuarterPipeModule {}\n","import { Inject, NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStep, FormStepGroup, isFormStepGroup } from '../models';\nimport { FormItem } from '@mtna/web-form-ts';\nimport { INJECTION_SERVICE, InjectionService } from '@mtna/core-angular';\n\n/**\n * There are certain form items that are hidden from the UI because they carry static values\n * that are populated from the server. These items should not show up in the form but if they\n * go through the injector there will be an empty mtna-wf-item placed into the form which can\n * affect styling. This pipe will seek to identify form items that have no key registered in\n * the injected component providers and log them and remove them from the list of items.\n */\n@Pipe({\n name: 'mtnaWfFilterHiddenItems',\n})\nexport class MtnaWfFilterHiddenItemsPipe implements PipeTransform {\n constructor(@Inject(INJECTION_SERVICE) protected injectionService: InjectionService) {}\n\n transform(items: FormItem[] | undefined): FormItem[] {\n const filteredItems: FormItem[] = [];\n if (items) {\n for (const item of items) {\n if (this.injectionService.getInjectedComponent(item.itemId)) {\n filteredItems.push(item);\n }\n }\n }\n return filteredItems;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfFilterHiddenItemsPipe],\n exports: [MtnaWfFilterHiddenItemsPipe],\n})\nexport class MtnaWfFilterHiddenItemsPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStep, FormStepGroup, isFormStepGroup } from '../models';\n\n/**\n * Pipe to determine if a FormStep is a FormStepGroup or a single step.\n */\n@Pipe({\n name: 'mtnaWfStepGroupPipe',\n})\nexport class MtnaWfFormStepGroupPipe implements PipeTransform {\n transform(step: FormStep | FormStepGroup): step is FormStepGroup {\n return isFormStepGroup(step);\n }\n}\n\n@NgModule({\n declarations: [MtnaWfFormStepGroupPipe],\n exports: [MtnaWfFormStepGroupPipe],\n})\nexport class MtnaWfFormStepGroupPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItem } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'getActiveFormStepItem',\n})\nexport class GetActiveFormStepItemPipe implements PipeTransform {\n transform(items: FormItem[] | undefined, activeStepId: string | null | undefined): FormItem | undefined {\n if (!items || !activeStepId) {\n return undefined;\n } else {\n return items.find((item) => item.instanceId === activeStepId);\n }\n }\n}\n\n@NgModule({\n declarations: [GetActiveFormStepItemPipe],\n exports: [GetActiveFormStepItemPipe],\n})\nexport class GetActiveFormStepItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfGetAutoComplete',\n})\nexport class MtnaWfGetAutoCompletePipe implements PipeTransform {\n transform(label: string | null | undefined): string {\n if (label) {\n switch (label.toLowerCase()) {\n case 'first name':\n return 'given-name';\n case 'last name':\n return 'family-name';\n case 'email':\n return 'email';\n case 'organization':\n return 'organization';\n case 'phone':\n return 'tel';\n case 'street address line 1':\n return 'address-line1';\n case 'street address line 2':\n return 'address-line2';\n case 'city':\n return 'address-level2';\n case 'state':\n return 'address-level1';\n case 'zip code':\n return 'postal-code';\n default:\n return 'off';\n }\n }\n return 'off';\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetAutoCompletePipe],\n exports: [MtnaWfGetAutoCompletePipe],\n})\nexport class MtnaWfGetAutoCompletePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { DateRange, YearQuarter } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'mtnaWfGetQuarters',\n})\nexport class MtnaWfGetAvailableQuartersPipe implements PipeTransform {\n transform(year: number | null | undefined, limits: DateRange<YearQuarter> | null | undefined): number[] {\n const quarters = [0, 1, 2, 3];\n if (!!year && !!limits) {\n // If the selected year matches the start year limit\n if (!!limits.start && !!limits.start.year && year === limits.start.year) {\n // If a start quarter limiit exists, return the limited options\n return limits.start.quarter !== null && limits.start.quarter !== undefined ? quarters.slice(limits.start.quarter) : quarters;\n }\n // If the selected year matches the end year limit\n if (!!limits.end && !!limits.end.year && year === limits.end.year) {\n // If an end quarter limit exists, return the limited options\n return limits.end.quarter !== null && limits.end.quarter !== undefined ? quarters.slice(0, limits.end.quarter + 1) : quarters;\n }\n }\n return quarters;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetAvailableQuartersPipe],\n exports: [MtnaWfGetAvailableQuartersPipe],\n})\nexport class MtnaWfGetAvailableQuartersPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItemImpl } from '@mtna/web-form-ts';\n\nimport { MtnaWfUIService } from '../services/ui.service';\n\n@Pipe({\n name: 'mtnaWfGetControlError',\n})\nexport class MtnaWfGetFormControlErrorPipe implements PipeTransform {\n constructor(private uiService: MtnaWfUIService) {}\n transform(error: { key: string; value: unknown }, item?: FormItemImpl<unknown>): unknown {\n return this.uiService.getError(error.key, item) || error.value;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetFormControlErrorPipe],\n exports: [MtnaWfGetFormControlErrorPipe],\n})\nexport class MtnaWfGetFormControlErrorPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfGetListIcon',\n})\nexport class MtnaWfGetListIconPipe implements PipeTransform {\n transform(header: string | null | undefined): string | null {\n if (!header) {\n return null;\n }\n header = header.toUpperCase();\n if (\n header.includes('PROJECT') ||\n header.includes('REQUEST') ||\n header.includes('ANALYTICAL APPROACH') ||\n header.includes('JUSTIFICATION FOR USE')\n ) {\n return 'assignment';\n }\n if (header.includes('DESCRIPTION')) {\n return 'subject';\n }\n if (header.includes('EMAIL')) {\n return 'alternate_email';\n }\n if (header.includes('ZIP CODE')) {\n return 'mail';\n }\n if (header.includes('ORGANIZATION')) {\n return 'business';\n }\n if (header.includes('PHONE')) {\n return 'local_phone';\n }\n if (header.includes('ADDRESS')) {\n return 'place';\n }\n if (header.includes('NAME') || header.includes('TITLE')) {\n return 'person';\n }\n if (header.includes('CITY')) {\n return 'location_city';\n }\n if (header.includes('STATE')) {\n return 'map';\n }\n return null;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetListIconPipe],\n exports: [MtnaWfGetListIconPipe],\n})\nexport class MtnaWfGetListIconPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItem } from '@mtna/web-form-ts';\n\nimport { FormStep, FormStepGroup } from '../models';\n\n@Pipe({\n name: 'getProgressiveFormItem',\n})\nexport class GetProgressiveFormItemPipe implements PipeTransform {\n transform(step: FormStep | FormStepGroup, items?: FormItem[]): FormItem | undefined {\n if (items) {\n const item = items.find((item) => item.instanceId || item.templateId === step.instanceId);\n console.warn({ itemFromPipe: item });\n if (item) {\n return item;\n } else {\n return undefined;\n }\n } else {\n return undefined;\n }\n }\n}\n\n@NgModule({\n declarations: [GetProgressiveFormItemPipe],\n exports: [GetProgressiveFormItemPipe],\n})\nexport class GetProgressiveFormItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormOptionSelector, StringOption } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'mtnaWfGetSelectedOptionName',\n})\nexport class MtnaWfGetSelectedOptionNamePipe implements PipeTransform {\n transform(id: string, options: FormOptionSelector<StringOption>[]): string {\n const _notApplicableText = $localize`N/A`;\n if (!options || !id) {\n return _notApplicableText;\n }\n const foundOption = options.find((o) => o.option.id === id);\n return foundOption ? foundOption.option.name : _notApplicableText;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetSelectedOptionNamePipe],\n exports: [MtnaWfGetSelectedOptionNamePipe],\n})\nexport class MtnaWfGetSelectedOptionNamePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { CircleStatus } from '@mtna/core-angular';\n\nimport { FormStep, FormStepGroup, instanceOfFormStep, instanceOfFormStepGroup } from '../models';\n\n@Pipe({\n name: 'getStepAriaLabel',\n})\nexport class GetStepAriaLabel implements PipeTransform {\n stepStatusTextMap: { [key in CircleStatus]: string } = {\n ['INVALID']: $localize`Invalid`,\n ['VALID']: $localize`Valid`,\n ['DISABLED']: $localize`Disabled`,\n ['ERROR']: $localize`Error`,\n ['PENDING']: $localize`Pending`,\n ['EMPTY']: $localize`Empty`,\n ['INCOMPLETE']: $localize`Incomplete`,\n ['PLACEHOLDER']: $localize`Placeholder`,\n };\n\n transform(step: FormStep | FormStepGroup, collapsed?: boolean): string {\n const stepText = $localize`Step`;\n if (instanceOfFormStepGroup(step)) {\n const collapsedText = collapsed ? $localize`collapsed step` : $localize`expanded step`;\n const childStepsActiveText = step.steps.some((childStep) => childStep.active) ? $localize`Child step active.` : '';\n return `${stepText} ${step.num}: ${step.label} - ${collapsedText}. ${childStepsActiveText}`;\n } else if (instanceOfFormStep(step)) {\n const status = step.status === 'EMPTY' || step.status === 'PLACEHOLDER' ? undefined : this.stepStatusTextMap[step.status];\n const activeText = step.active ? $localize`Active step` : undefined;\n return `${stepText} ${step.num}: ${step.label} ${status ? ' - ' + status : ''}${activeText ? ' - ' + activeText : ''}.`;\n } else {\n // Handle for unexpected types. Should never reach this point because the step should always be a FormStep or a FormStepGroup.\n return '';\n }\n }\n}\n\n@NgModule({\n declarations: [GetStepAriaLabel],\n exports: [GetStepAriaLabel],\n})\nexport class GetStepAriaLabelModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItem, isValueItem, ValueItem } from '@mtna/web-form-ts';\n\n/**\n * Returns an array of FormItems that contain a value.\n * Use only for readonly forms\n */\n@Pipe({\n name: 'mtnaWfItemsWithValue',\n pure: false,\n})\nexport class MtnaWfItemsWithValuePipe implements PipeTransform {\n transform(items: Array<FormItem> | null | undefined): Array<ValueItem<unknown>> {\n const list = items ? items.filter(isValueItem) : [];\n console.error({ items });\n console.error({ list });\n return list;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfItemsWithValuePipe],\n exports: [MtnaWfItemsWithValuePipe],\n})\nexport class MtnaWfItemsWithValuePipeModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../pipes';\nimport { MtnaWfItemHeaderComponent } from './item-header.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfItemHeaderComponent],\n exports: [MtnaWfItemHeaderComponent],\n})\nexport class MtnaWfItemHeaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MtnaAnnotationsIndicatorModule } from '@mtna/pojo-social-angular';\n\nimport { MtnaWfItemInjectorModule } from '../form-item-injector/form-item-injector.module';\nimport { MtnaWfItemHeaderModule } from '../item-header/item-header.module';\nimport { MtnaWfFormItemComponent } from './form-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaAnnotationsIndicatorModule,\n MtnaWfItemInjectorModule,\n MtnaWfItemHeaderModule,\n MatMomentDateModule,\n MatButtonModule,\n ],\n declarations: [MtnaWfFormItemComponent],\n exports: [MtnaWfFormItemComponent],\n})\nexport class MtnaWfFormItemModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfAcknowledgeDialogComponent } from './acknowledge-dialog.component';\n\n@NgModule({\n imports: [CommonModule, MatDialogModule, MatButtonModule, MtnaWfFormItemModule],\n declarations: [MtnaWfAcknowledgeDialogComponent],\n exports: [MtnaWfAcknowledgeDialogComponent],\n})\nexport class MtnaWfAcknowledgeDialogModule {}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Form as WebForm, FormItemImpl, Template, TemplateItem, TemplateSectionImpl } from '@mtna/web-form-ts';\nimport { Observable } from 'rxjs';\n\nimport { MTNA_WF_API_TOKEN, MtnaWfApiConfig } from '../models';\n\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfApiService {\n API_URL = `${this.apiConfig.baseUrl}/api`;\n\n FORM_URL = `${this.API_URL}/form`;\n\n TEMPLATE_URL = `${this.API_URL}/template`;\n NEW_TEMPLATE_URL = `${this.TEMPLATE_URL}/new`;\n NEW_SECTION_URL = `${this.TEMPLATE_URL}/section`;\n ITEMS_URL = `${this.TEMPLATE_URL}/items`;\n ITEM_INSTANCE_URL = `${this.TEMPLATE_URL}/item`;\n TEMPLATE_SAVE_URL = `${this.TEMPLATE_URL}/save`;\n TEMPLATE_DELETE_URL = `${this.TEMPLATE_URL}/delete`;\n\n ALL_TEMPLATES_URL = `${this.API_URL}/templates`;\n\n constructor(@Inject(MTNA_WF_API_TOKEN) protected apiConfig: MtnaWfApiConfig, protected http: HttpClient) {}\n\n /**\n * Download a web form\n * @param form the web form pojo to download\n * @returns Full HttlReponse with the Blob as the body\n */\n downloadForm(form: WebForm): Observable<HttpResponse<Blob>> {\n return this.http.post(`${this.FORM_URL}/download`, form, { observe: 'response', responseType: 'blob' });\n }\n\n /**\n * Returns a new repeatable FormItem\n * @param formInstanceId template ID of the mtna form\n * @param itemId repeatableTemplateId of the requesting RepeatableItem\n */\n getRepeatableItem(formInstanceId: string, itemId: string): Observable<FormItemImpl<unknown>> {\n return this.http.get<FormItemImpl<unknown>>(`${this.FORM_URL}/${formInstanceId}/new/item/${itemId}`);\n }\n\n getNewTemplate(): Observable<Template> {\n return this.http.get<Template>(this.NEW_TEMPLATE_URL);\n }\n\n getAllTemplate(): Observable<Template> {\n return this.http.get<Template>(this.ALL_TEMPLATES_URL);\n }\n\n getNewSection(): Observable<TemplateSectionImpl> {\n return this.http.get<TemplateSectionImpl>(this.NEW_SECTION_URL);\n }\n\n getItems(): Observable<TemplateItem[]> {\n return this.http.get<TemplateItem[]>(this.ITEMS_URL);\n }\n\n getTemplateItem(id: string): Observable<TemplateItem> {\n return this.http.get<TemplateItem>(`${this.ITEM_INSTANCE_URL}?id=${id}`);\n }\n\n saveTemplate(): Observable<Template> {\n return this.http.get<Template>(this.TEMPLATE_SAVE_URL);\n }\n\n getDeleteTemplate(): Observable<Template> {\n return this.http.get<Template>(this.TEMPLATE_DELETE_URL);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemDialogData } from '../../models/form-item-dialog-data.model';\n\n/**\n * A dialog that renders a form item.\n */\n@Component({\n selector: 'mtna-wf-form-item-dialog',\n templateUrl: './form-item-dialog.component.html',\n})\nexport class MtnaWfFormItemDialogComponent {\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: MtnaWfFormItemDialogData,\n public dialogRef: MatDialogRef<MtnaWfFormItemDialogComponent>\n ) {}\n}\n","<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-raised-button mat-dialog-close color=\"primary\" i18n>Close</button>\n</mat-dialog-actions>\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { Section } from '@mtna/web-form-ts';\nimport { Observable } from 'rxjs';\n\nimport { MtnaWfAcknowledgeDialogComponent } from '../components/acknowledge-dialog/acknowledge-dialog.component';\nimport { MtnaWfFormItemDialogComponent } from '../components/form-item-dialog/form-item-dialog.component';\nimport { MtnaWfFormItemDialogData } from '../models/form-item-dialog-data.model';\n\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfDialogService {\n constructor(private dialog: MatDialog) {}\n _acknowledgementText = $localize`Acknowledgement`;\n\n /**\n * Display the acknowledgement the user agreed to for a given option.\n * @param acknowledgementItem The {@link Section} that represents the acknowledgement text to display to the user.\n */\n showAcknowledgement(acknowledgementItem: Section) {\n this.dialog.open(MtnaWfFormItemDialogComponent, {\n closeOnNavigation: true,\n data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || this._acknowledgementText),\n disableClose: false,\n hasBackdrop: true,\n maxWidth: '500px',\n });\n }\n\n /**\n * Show some text in a dialog that the user needs to \"acknowledge\" before they can make a certain selection.\n * @param acknowledgementItem The {@link Section} that represents the text displayed to the user for acknowledgement.\n * @returns Whether the user acknowledges (agrees).\n */\n verifyAcknowledgement(acknowledgementItem: Section): Observable<boolean> {\n return this.dialog\n .open(MtnaWfAcknowledgeDialogComponent, {\n closeOnNavigation: true,\n data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || this._acknowledgementText),\n disableClose: true,\n hasBackdrop: true,\n maxWidth: '500px',\n })\n .afterClosed();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { skipWhile, take } from 'rxjs/operators';\n\n/**\n * This service manages and interacts with an Angular FormGroup. It provides functionality\n * to add or remove form controls dynamically, track the form's state, and notify other\n * components about unsaved changes. This service is used to centralize form handling and\n * state management, providing a reliableway to monitor and respond to form changes.\n */\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfNgFormService {\n private ngForm: FormGroup | undefined;\n private unsavedChanges$: Subject<boolean> = new BehaviorSubject<boolean>(false);\n private valueChangeSubscription: Subscription | undefined;\n\n /**\n * Informs a caller when the MtnaForm is dirty and has unsaved changes.\n */\n get unsavedChanges(): Observable<boolean> {\n return this.unsavedChanges$.asObservable();\n }\n\n /**\n * Add a control from the ngForm\n * @param controlId id of the control being added\n * @param parentIds array of ids representing the path to the parent control\n * @param newControl the new form control to be added\n */\n addControl(controlId: string, parentIds: string[], newControl: AbstractControl) {\n if (!this.ngForm) {\n return;\n }\n\n const parentControl = this.ngForm.get(parentIds) as FormGroup;\n parentControl.addControl(controlId, newControl);\n parentControl.markAsTouched();\n parentControl.markAsDirty();\n this.forceUnsavedChange();\n }\n\n /**\n * Remove a control from the ngForm.\n *\n * @param controlId is of the control to remove\n * @param parentIds rray of ids representing the path to the parent control\n */\n removeControl(controlId: string, parentIds: string[]) {\n if (!this.ngForm) {\n return;\n }\n\n const parentControl = this.ngForm.get(parentIds) as FormGroup;\n parentControl.removeControl(controlId);\n parentControl.markAsTouched();\n parentControl.markAsDirty();\n this.forceUnsavedChange();\n }\n\n /**\n * Get the form if it exists\n * @returns the angular form or null\n */\n getForm(): FormGroup | undefined {\n return this.ngForm;\n }\n\n /**\n * Returns a JSON representation of form values\n */\n getFormValue() {\n // This includes values for disabled controls.\n // We loop through MtnaForm to insert values,\n // so we need the disabled controls to ensure no info loss.\n return this.ngForm?.getRawValue();\n }\n\n /**\n * @returns Whether a form has been set on this service\n */\n hasForm(): boolean {\n return !!this.ngForm;\n }\n\n /**\n * @returns Whether the form is dirty.\n */\n isFormDirty(): boolean {\n return !!this.ngForm && this.ngForm.dirty;\n }\n\n /**\n * Unsubscribes from value changes & sets the ngForm to null.\n * Should be called when any component using an MtnaForm is destroyed.\n */\n disposeForm() {\n this.unsubscribeValueChanges();\n this.ngForm = undefined;\n }\n\n /**\n * Forces the unsavedChanges observable to emit true.\n * Use with care, one example is when repeatable items are added/removed from the form.\n */\n forceUnsavedChange() {\n this.unsubscribeValueChanges();\n this.unsavedChanges$.next(true);\n }\n\n /**\n * Marks ngForm as pristine & untouched.\n */\n markAsPristineAndUntouched() {\n if (this.ngForm) {\n this.ngForm.markAsPristine();\n this.ngForm.markAsUntouched();\n this.unsavedChanges$.next(this.ngForm.dirty);\n this.observeNgFormChanges();\n }\n }\n\n /**\n * Resets the ngForm.\n */\n resetForm() {\n if (this.ngForm) {\n this.ngForm.reset();\n this.unsavedChanges$.next(this.ngForm.dirty);\n this.observeNgFormChanges();\n }\n }\n\n /**\n * Sets a FormGroup on the service so an external source may observe changes.\n * @param ngForm FormGroup to be registered.\n */\n setForm(ngForm: FormGroup) {\n this.ngForm = ngForm;\n this.unsavedChanges$.next(this.ngForm.dirty);\n if (this.ngForm.pristine) {\n this.observeNgFormChanges();\n }\n }\n\n /**\n * Subscribes to ngForm status changes & updates the unsavedChanges observable\n */\n private observeNgFormChanges() {\n this.unsubscribeValueChanges();\n if (this.ngForm) {\n this.valueChangeSubscription = this.ngForm.valueChanges\n .pipe(\n skipWhile(() => (this.ngForm ? this.ngForm.pristine : true)),\n take(1)\n )\n .subscribe(() => this.unsavedChanges$.next(this.ngForm?.dirty));\n }\n }\n\n /**\n * Removes the ngForm status change subscription.\n */\n private unsubscribeValueChanges() {\n if (!!this.valueChangeSubscription && !this.valueChangeSubscription.closed) {\n this.valueChangeSubscription.unsubscribe();\n }\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { isType } from '@mtna/core-ts';\nimport {\n ConditionalItem,\n ConditionChange,\n Form,\n FormItem,\n FormItemGroup,\n FormItemImpl,\n FormItemValidationResult,\n isConditionalItem,\n isForm,\n isFormItemGroupImpl,\n isOptionGroupItemImpl,\n isOptionItemImpl,\n isRepeatableItem,\n isSection,\n isTableItem,\n MtnaWfFormItemChange,\n MtnaWfFormItemChangeAction,\n Option,\n OptionGroupItemImpl,\n OptionItemImpl,\n ProgressiveForm,\n RepeatableItem,\n Section,\n TableItem,\n TableRowItem,\n ValueItem,\n} from '@mtna/web-form-ts';\nimport { Observable, Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { BaseFormItem } from '../models';\nimport { findFormControl, MtnaWfSerializer } from '../utilities';\nimport { MtnaWfApiService } from './api.service';\nimport { MtnaWfNgFormService } from './ng-form.service';\nimport { MtnaWfUIService } from './ui.service';\n\n/**\n * types of FormItems that can be passed into the 'modifyMtnaFormItem' method to add/remove items\n */\ntype ParentItemUnion =\n | Form\n | Section\n | FormItemGroup\n | RepeatableItem\n | TableItem\n | OptionItemImpl<Option<unknown>, unknown>\n | OptionGroupItemImpl<Option<unknown>>;\n\n/**\n * Allows a caller to (de)serializae an MtnaForm. It contains the determining logic for returning specific form controls\n * and deserializing new MtnaForms from the reactive values, as well as registering custom Form Items & functions.\n *\n * @export\n */\n@Injectable()\nexport class MtnaWfManagerService {\n protected components = new Map<string, Type<BaseFormItem>>();\n protected formChange$ = new Subject<Form | ProgressiveForm>();\n protected progressiveFormChange$ = new Subject<ProgressiveForm>();\n /** A map of all {@link FormItemValidationResult} keyed on id */\n protected _formItemValidationResults: Record<string, FormItemValidationResult> = {};\n /** ConditionChanges on 'add' must wait until the form rerenders to toggle items */\n protected itemToggleQue: Array<ConditionChange> | null | undefined;\n protected _mtnaForm: Form | undefined;\n protected _mtnaProgressiveForm: ProgressiveForm | undefined;\n\n /**\n * Observable stream of MtnaForm changes. Used to inform a subscriber that an MtnaForm has been changed.\n *\n * @returns Observable<MtnaForm> to which a caller can subscribe\n */\n get formChanges(): Observable<Form> {\n return this.formChange$.asObservable();\n }\n\n constructor(protected apiService: MtnaWfApiService, protected ngFormService: MtnaWfNgFormService, protected uiService: MtnaWfUIService) {}\n\n /**\n * Adds or removes a FormItem from the form & modifies other affected FormItems\n * @param change MtnaWfFormItemChange\n */\n changeMtnaFormItem(change: MtnaWfFormItemChange) {\n if (!this._mtnaForm) {\n return;\n }\n\n if (change.actionType === 'REMOVE') {\n // remove the repeatable item from the mtnaform\n let newForm = this._modifyFormItem(this._mtnaForm, change) as Form;\n // modify the conditions of all effected form items\n newForm = this._modifyFormItemConditions(newForm, change);\n\n this.ngFormService.removeControl(change.id, change.parentIds);\n this.formChange$.next(newForm);\n } else {\n this.apiService\n .getRepeatableItem(this._mtnaForm.instanceId, change.id)\n .pipe(take(1))\n .subscribe((newItem: FormItemImpl<unknown>) => {\n const newFormControl = this.serializeMtnaFormItem(newItem);\n if (newFormControl && this._mtnaForm) {\n this.ngFormService.addControl(newItem.instanceId, change.parentIds, newFormControl);\n // Add the new repeatable item into the mtnaform\n let newForm = this._modifyFormItem(\n this._mtnaForm,\n {\n ...change,\n id: newItem.instanceId,\n },\n newItem\n ) as Form;\n\n // Generate a list of all formitem conditions needing change & modify those items in the form\n const conditionChanges = this.generateConditionChangeArray(newItem, 'ADD');\n newForm = this._modifyFormItemConditions(newForm, { ...change, conditionChanges });\n this.itemToggleQue = conditionChanges;\n // emit the new mtnaform\n this.formChange$.next(newForm);\n }\n });\n }\n }\n\n /**\n * Returns a ConditionChange array for items existing in the <item> which enable/disable FormItems outside the <item>'s scope.\n * @param item FormItem that effects the condition of other FormItems\n * @param action Whether this item was added (ADD), or removed (REMOVE)\n * @returns Array<ConditionChange>\n */\n generateConditionChangeArray(item: FormItem, action?: MtnaWfFormItemChangeAction): Array<ConditionChange> {\n const internalMap = {};\n this._buildInternalIdsMap(item, internalMap);\n const conditionChanges = new Array<ConditionChange>();\n this._buildConditionChangeArray(item, conditionChanges, internalMap, action);\n return conditionChanges;\n }\n\n /** @returns The top level validation results (usually the errors), keyed on ID. */\n getFormItemValidationResults(): Record<string, FormItemValidationResult> {\n return this._formItemValidationResults;\n }\n\n /**\n * Returns a new MtnaForm using the MtnaForm & reacive form values from the MtnaWfNgFormService's internal form.\n *\n * @param ngFormValues JSON object of ngFormValues\n * @returns\n */\n updateForm(ngFormValues: Record<string, unknown>): Form {\n const currentForm = this.ngFormService.getFormValue();\n return {\n ...currentForm,\n items: MtnaWfSerializer.insertFormItemValues(\n currentForm,\n ngFormValues,\n this.uiService.getDisabledStates(),\n this.dynamicFormConditional,\n this.dynamicWebFormItemBuilder\n ),\n };\n }\n\n /**\n * Returns a new MtnaForm using the previous MtnaForm & reactive form values.\n *\n * @param mtnaForm MtnaForm requiring value insertion\n * @param ngFormValues JSON object of ngForm values\n * @returns new MtnaForm\n */\n insertNewValues(mtnaForm: Form, ngFormValues: Record<string, unknown>): Form {\n return {\n ...mtnaForm,\n items: MtnaWfSerializer.insertFormItemValues(\n mtnaForm,\n ngFormValues,\n this.uiService.getDisabledStates(),\n this.dynamicFormConditional,\n this.dynamicWebFormItemBuilder\n ),\n };\n }\n\n /**\n * Serializes a Form | FormItem into FormControl(s)\n *\n * @param item Form | FormItem requiring serialization\n * @returns FormGroup | FormControl\n */\n serializeMtnaFormItem(item: Form | FormItemImpl<unknown>): AbstractControl | null {\n return MtnaWfSerializer.determineSerializeFunctionToUse(\n item,\n this,\n this.dynamicFormConditional,\n this.dynamicReactiveFormControlBuilder\n );\n }\n\n //#region Custom Component/Function Registration\n getDynamicComponent(id: string): Type<BaseFormItem> | undefined {\n return this.components.get(id);\n }\n\n /**\n * Registers a map of components to be dynamically rendered inside an MtnaForm.\n *\n * @param components the map of components that a ValueItem will use for rendering\n * @prop string - the type(itemId suffix) of component, used for retrieval\n * @prop Type - the component to be rendered, an extension of BaseFormItem\n */\n registerDynamicComponents(components: Map<string, Type<BaseFormItem>>) {\n this.components = components;\n }\n\n /**\n * Sets an MtnaForm on the service\n * @param form MtnaForm to be used for internal modification\n */\n setMtnaForm(form: Form) {\n this._mtnaForm = { ...form };\n if (!!this.itemToggleQue && !!this.itemToggleQue.length) {\n // The form needs time to rerender, so we push this loop to the end of the stack\n setTimeout(() => {\n if (this.itemToggleQue) {\n for (const change of this.itemToggleQue) {\n this.uiService.toggleFormItems(change.enabledItems, change.disabledItems, !!change.enable, change.enablerId, true);\n }\n }\n this.itemToggleQue = null;\n }, 0);\n }\n\n // Keep track of any errors coming from the server and revalidate those controls\n this._updateServerSideErrors();\n }\n\n /**\n * Any FormService extension class should override this method in order to call the\n * dynamicWebFormItemBuilder/dynamicReactiveFormControlBuilder methods. During web form generation, this method is checked &\n * the current FormItem is passed in, which can be used by the overriding method.\n *\n * @example dynamicFormConditional = (item: FormItem) => item.itemId.includes({some itemId})\n *\n */\n protected dynamicFormConditional: (item: FormItem) => boolean = () => false;\n\n /**\n * Function to be overridden by extended service in order to handle form generation for any application-specific dynamic form components.\n * Should return a new ValueItem<any>.\n * Step 3\n *\n * @example dynamicWebFormItemBuilder(section: Section | Form, item: FormItem, ngFormValue: any): ValueItem {\n * const newValue = this.generateNewValue(item, rfValue, section);\n * return { ...item, ...newValue }\n * }\n * @param section the current FormSection\n * @param item the current FormItem\n * @param ngFormValue the ngForm JSON value\n * @returns a new ValueItem\n */\n protected dynamicWebFormItemBuilder(\n /* eslint-disable @typescript-eslint/no-unused-vars */\n section: Form | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n ngFormValue: unknown,\n disabledState?: { [instanceId: string]: boolean }\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ): ValueItem<unknown> | null {\n return null;\n }\n\n /**\n * Function to be overridden by extended service in order to handle reactive form generation\n * for any application-specific dynamic form components.\n * Should return FormControl | FormGroup.\n *\n * @example dynamicReactiveFormControlBuilder(item: FormItem) {\n * return this.buildFormControlForDynamicComponent(item: FormItem);\n * }\n * @param item FormItem used to generate form controls\n * @returns FormControl | FormGroup\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected dynamicReactiveFormControlBuilder(item: FormItem): AbstractControl | null {\n return null;\n }\n\n //#endregion\n\n //#region INTERNAL METHODS\n /**\n * Recursively traverses a Form to insert or remove a designated FormItem.\n * @param item MtnaForm to search through\n * @param change: MtnaWfFormItemChange for adding or removing a FormItem\n * @param newItem FormItem to add to its parent\n */\n protected _modifyFormItem<I extends Form | Section | FormItem | FormItemImpl<unknown>>(\n item: I,\n change: MtnaWfFormItemChange,\n newItem?: FormItem\n ): Form | Section | FormItem | FormItemImpl<unknown> {\n if (!change.parentIds.length) {\n // At this point, we reach the Parent FormItem\n if (change.actionType === 'REPLACE') {\n if ('items' in item) {\n const index = item.items.findIndex((i) => i.instanceId === newItem?.instanceId);\n const newItems = [...item.items];\n if (newItem) {\n newItems.splice(index, 1, newItem);\n }\n return { ...item, items: newItems };\n }\n return item;\n } else if (isRepeatableItem(item)) {\n return {\n ...item,\n items: change.actionType === 'ADD' ? item.items.concat(newItem || []) : item.items.filter((i) => i.instanceId !== change.id),\n };\n } else {\n return item;\n }\n }\n\n if (isForm(item) || isSection(item) || isFormItemGroupImpl(item) || isRepeatableItem(item)) {\n const items = [...item.items];\n const indexToModify = item.items.findIndex((i) => i.instanceId === change.parentIds[0]);\n const itemToModify = item.items[indexToModify] as ParentItemUnion;\n\n items.splice(\n indexToModify,\n 1,\n this._modifyFormItem(\n itemToModify,\n {\n ...change,\n parentIds: change.parentIds.slice(1),\n },\n newItem\n ) as FormItem\n );\n return {\n ...item,\n items,\n };\n } else if (isTableItem(item)) {\n return this._modifyTableItem(item as TableItem, change, newItem);\n } else if (isOptionItemImpl(item) || isOptionGroupItemImpl(item)) {\n return this._modifyOptionItem(\n item as OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n change,\n newItem\n )[0];\n }\n return item;\n }\n\n /**\n * Traverses an OptionItemMap of a FormItem to insert or remove a designated FormItem\n * @param optionItem FormItem with an optionItemMap, e.g. OptionItemImpl | OptionGroupItemImpl\n * @param change MtnaWfFormItemChange for adding or removing a FormItem\n * @param newItem FormItem to be added to its parent\n * @returns FormItem with an optionItemMap containing FormItems\n */\n private _modifyOptionItem(\n optionItem: OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n change: MtnaWfFormItemChange,\n newItem?: FormItem\n ): [OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>, boolean] {\n let found = false;\n const optionItemMap: { [id: string]: FormItem } = {};\n // Loop through the map and set the items to a new map\n // Check if any FormItem in the map matches the next parent ID\n for (const id in optionItem.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(optionItem.optionItemMap, id)) {\n // If one matches, modify & set it on the new map\n if (optionItem.optionItemMap[id].instanceId === change.parentIds[0]) {\n found = true;\n optionItemMap[id] = this._modifyFormItem(\n optionItem.optionItemMap[id] as ParentItemUnion,\n { ...change, parentIds: change.parentIds.slice(1) },\n newItem\n ) as FormItem;\n } else {\n optionItemMap[id] = optionItem.optionItemMap[id];\n }\n }\n }\n // return the item with its new optionItemMap, & whether we found the matching item\n return [{ ...optionItem, optionItemMap }, found];\n }\n\n /**\n * Traverses table rows to insert or remove a FormItem\n * @param tableItem TableItem to traverse\n * @param change MtnaWfFormItemChange for adding or removing a FormItem\n * @param newItem FormItem to be added to its parent\n * @returns TableItem with a FormItem added or removed\n */\n private _modifyTableItem(tableItem: TableItem, change: MtnaWfFormItemChange, newItem?: FormItem): TableItem {\n let found = false;\n // Map the table rows to find the FormItem with matching instanceId\n const tableRows: TableRowItem[] = tableItem.tableRows.map((row: TableRowItem) => {\n // If the item was found, skip mapping further rows\n if (!found) {\n return {\n ...row,\n items: row.items.map((rowItem: FormItem) => {\n // If we found the next matching FormItem, toggle 'found', and return the modified FormItem\n if (!!rowItem && rowItem.instanceId === change.parentIds[0]) {\n found = true;\n return this._modifyFormItem(\n rowItem as ParentItemUnion,\n { ...change, parentIds: change.parentIds.slice(1) },\n newItem\n ) as FormItem;\n }\n // If the FormItem instanceId doesn't match, but it has FormItems in its 'optionItemMap',\n // We need to check if a matching FormItem exists in its map\n if ('optionItemMap' in rowItem) {\n const returned = this._modifyOptionItem(\n rowItem as OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n change,\n newItem\n );\n found = returned[1];\n return returned[0];\n }\n return rowItem;\n }),\n };\n }\n return row;\n });\n return { ...tableItem, tableRows };\n }\n\n /**\n * Adds or removes instanceIds from the 'itemIds' in a FormItem's condition\n * @param form MtnaForm to search through & replace formitems with the new condition\n * @param change The change that recently occurred in the mtnaForm\n */\n private _modifyFormItemConditions(form: Form, change: MtnaWfFormItemChange): Form {\n let newForm = form;\n if (change.conditionChanges) {\n const formItems: { [key: string]: FormItem | ConditionalItem } = {};\n for (const cc of change.conditionChanges) {\n for (const toggledId of [...cc.enabledItems, ...cc.disabledItems]) {\n let formItem = formItems[toggledId];\n const formItemComponent = this.uiService.getItem(toggledId);\n if (!formItem && formItemComponent?.item) {\n formItem = formItemComponent?.item;\n }\n if (isConditionalItem(formItem) && formItem.condition) {\n const itemConditionItemIds = formItem.condition.itemIds || [];\n const itemIds =\n change.actionType === 'ADD'\n ? [...itemConditionItemIds, cc.enablerId]\n : itemConditionItemIds.filter((i) => i !== cc.enablerId);\n\n const newItem: ConditionalItem = { ...formItem, condition: { ...formItem.condition, itemIds } };\n const newChange = new MtnaWfFormItemChange(newItem.instanceId, formItemComponent?.parentIds || [], 'REPLACE');\n\n newForm = this._modifyFormItem(newForm, newChange, newItem as FormItem & ConditionalItem) as Form;\n formItems[toggledId] = newItem;\n }\n }\n if (change.actionType === 'REMOVE') {\n this.uiService.toggleFormItems(cc.enabledItems, cc.disabledItems, !!cc.enable, cc.enablerId);\n }\n }\n }\n return newForm;\n }\n\n /**\n * Builds a map of all instanceIds inside an item. Checks 'items' & 'optionItemMap'\n * @param item Item to recurse\n * @param idMap map of the item's internal instanceIds\n */\n private _buildInternalIdsMap(item: FormItem, idMap: Record<string, boolean>) {\n idMap[item.instanceId] = true;\n if (isType<{ items: FormItem[] }>(item, 'items')) {\n const items: FormItem[] = item.items;\n for (const subItem of items) {\n this._buildInternalIdsMap(subItem, idMap);\n }\n } else if (isType<{ optionItemMap: { [id: string]: FormItem } }>(item, 'optionItemMap')) {\n const map: { [id: string]: FormItem } = item.optionItemMap;\n for (const id in map) {\n if (Object.prototype.hasOwnProperty.call(map, id)) {\n this._buildInternalIdsMap(map[id], idMap);\n }\n }\n }\n }\n\n /**\n * Builds an array of ConditionChanges to be implemented in an MtnaForm.\n * @param item FormItem that was added/removed, which affects conditions of other FormItems\n * @param changes Array to build up\n * @param internalIdMap Map of all instanceIds located in the item; in order to exclude them from the condition changes\n * @param action Whether the item was added or removed\n */\n private _buildConditionChangeArray(\n item: FormItem,\n changes: Array<ConditionChange>,\n internalIdMap: Record<string, boolean>,\n action?: MtnaWfFormItemChangeAction\n ) {\n if (isOptionItemImpl(item)) {\n const enable = !!action && action === 'ADD' ? item.option.selected || item.value === item.option.option.id : false;\n this._pushConditionToArray(item.instanceId, item.option.enabledItems, item.option.disabledItems, changes, internalIdMap, enable);\n this._buildArrayFromOptionItemMap(item, changes, internalIdMap);\n } else if (isOptionGroupItemImpl(item)) {\n for (const option of item.options) {\n const enable =\n !!action && action === 'ADD' ? option.selected || (!!item.value && item.value.some((v) => v === option.option.id)) : false;\n this._pushConditionToArray(item.instanceId, option.enabledItems, option.disabledItems, changes, internalIdMap, enable);\n }\n this._buildArrayFromOptionItemMap(item, changes, internalIdMap, action);\n } else if (isType<{ items: FormItem[] }>(item, 'items')) {\n const items: FormItem[] = item.items;\n for (const subItem of items) {\n this._buildConditionChangeArray(subItem, changes, internalIdMap, action);\n }\n }\n }\n\n /**\n * Builds an array of ConditionChanges from an item's optionItemMap\n * @param item FormItem with an optionItemMap\n * @param conditions Array of ConditionChanges to push on new changes\n * @param itemMap map of instanceIds exisiting in an item; in order to exclude them from the changes\n * @param action Whether an item was added or removed\n */\n private _buildArrayFromOptionItemMap(\n item: OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n conditions: Array<ConditionChange>,\n itemMap: Record<string, boolean>,\n action?: MtnaWfFormItemChangeAction\n ) {\n if (item.optionItemMap) {\n for (const id in item.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(item.optionItemMap, id)) {\n const subItem = item.optionItemMap[id];\n this._buildConditionChangeArray(subItem, conditions, itemMap, action);\n }\n }\n }\n }\n\n /**\n * Pushes a new ConditionChange onto the conditions array. If a ConditionChange with matching id exists,\n * it merges the new values into it\n * @param enablerId instanceId of the item that enables other FormItems\n * @param enabled the item's 'enabledItems' array\n * @param disabled the item's 'disabledItems' array\n * @param conditions Array of ConditionChanges to build up\n * @param itemMap map of instanceIds inside an item; to ensure no internal ids are included in a change\n * @param enable Whether the 'enabledItems' should toggled enabled\n */\n private _pushConditionToArray(\n enablerId: string,\n enabled: string[],\n disabled: string[],\n conditions: Array<ConditionChange>,\n itemMap: Record<string, boolean>,\n enable: boolean\n ) {\n const enabledItems = enabled.filter((e) => !itemMap[e]);\n const disabledItems = disabled.filter((d) => !itemMap[d]);\n if (!!enabledItems.length || !!disabledItems.length) {\n const index = conditions.findIndex((c) => c.enablerId === enablerId);\n if (index < 0) {\n conditions.push({ enablerId: enablerId, enabledItems, disabledItems, enable });\n } else {\n const prev = conditions[index];\n const newId: ConditionChange = {\n enablerId,\n enabledItems: [...prev.enabledItems, ...enabledItems],\n disabledItems: [...prev.disabledItems, ...disabledItems],\n enable,\n };\n conditions.splice(index, 1, newId);\n }\n }\n }\n\n /**\n * Store all validation errors on the service.\n * Revalidate form controls that previously had errors or have new errors now.\n */\n private _updateServerSideErrors() {\n // Keep track of IDs for each control that needs to be revalidated\n const controlIdsToRevalidate = new Set<string>();\n\n // Collect controls previously in error to revalidate\n if (this._formItemValidationResults) {\n for (const id in this._formItemValidationResults) {\n if (Object.prototype.hasOwnProperty.call(this._formItemValidationResults, id)) {\n controlIdsToRevalidate.add(id);\n }\n }\n }\n\n // Clear out all previous stored errors\n this._formItemValidationResults = {};\n if (this._mtnaForm?.validationResult) {\n for (const result of this._mtnaForm.validationResult.formItemValidationResults) {\n if (result.validationStatus === 'ERRORS') {\n // Store errors so that the validationResultValidator can validate each control\n this._formItemValidationResults[result.id] = result;\n // We need to revalidate these controls that have errors\n controlIdsToRevalidate.add(result.id);\n }\n }\n }\n\n // Only revalidate controls actually changes\n const form = this.ngFormService.getForm();\n if (form) {\n for (const id of controlIdsToRevalidate) {\n const control = findFormControl(id, form);\n if (control) {\n control.updateValueAndValidity();\n }\n }\n }\n }\n\n //#endregion\n}\n","import { Injectable } from '@angular/core';\nimport { ResourceReference } from '@mtna/web-form-ts';\nimport { Result } from '@mtna/search-manager-ts';\nimport { MtnaSearchSelectionService } from '@mtna/search-manager-angular';\n\n@Injectable()\nexport class MtnaWfResourceSearchSelectionService extends MtnaSearchSelectionService<ResourceReference> {\n getModelFromResult(result: Result): ResourceReference {\n const referenceDetails: ResourceReference = {\n // FIXME these need to come from the item.\n uri: result.getFieldByName<string>('uri')?.value || '',\n display: result.getFieldByName<string>('title')?.value || '',\n };\n return referenceDetails;\n }\n\n modelIsResult(model: ResourceReference, result: Result): boolean {\n return model.uri === result.getFieldByName<string>('uri')?.value;\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterViewInit, Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { CanDestroyNotify, mixinDestroyNotifier } from '@mtna/core-angular';\nimport { AnnotatableNumberMap } from '@mtna/pojo-social-angular';\nimport { Form, FormControlStatus, FormItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, skipWhile, takeUntil } from 'rxjs/operators';\n\nimport { FormStep } from '../../models';\nimport { MtnaWfManagerService, MtnaWfNgFormService, MtnaWfUIService } from '../../services';\nimport { findFormControl } from '../../utilities';\n\nconst _BaseFormComponent = mixinDestroyNotifier(class {});\n\n@Component({\n template: ``,\n})\nexport class MtnaWfBaseFormComponent<F extends Form = Form>\n extends _BaseFormComponent\n implements AfterViewInit, CanDestroyNotify, OnDestroy\n{\n static ngAcceptInputType_emitStatusOnMtnaFormChange: BooleanInput;\n static ngAcceptInputTypes_readonly: BooleanInput;\n\n @Input()\n set annotations(map: AnnotatableNumberMap) {\n this.uiService.registerAnnotations(map);\n }\n\n /** Whether to emit the status of each step each time the {@link mtnaForm} is set to a new value. Defaults to false.*/\n @Input()\n get emitStatusOnMtnaFormChange(): boolean {\n return this._emitStatusOnMtnaFormChange;\n }\n set emitStatusOnMtnaFormChange(emitStatusOnMtnaFormChange: boolean) {\n this._emitStatusOnMtnaFormChange = coerceBooleanProperty(emitStatusOnMtnaFormChange);\n }\n private _emitStatusOnMtnaFormChange = false;\n\n @Input()\n get mtnaForm(): F | null | undefined {\n return this._mtnaForm;\n }\n set mtnaForm(form: F | null | undefined) {\n if (!!form && !this.ngForm) {\n // serialize the form when input is set the first time\n this._handleFormSerialization(form);\n this._checkAndSubscribeToFormStatus();\n }\n this._mtnaForm = form;\n if (form) {\n this.mtnaFormManager.setMtnaForm(form);\n\n // If indicated, re-emit the status of each step when there is a new form\n if (this.emitStatusOnMtnaFormChange && this.ngForm) {\n for (const key in this._steps) {\n if (Object.prototype.hasOwnProperty.call(this._steps, key)) {\n this._emitFormControlStatus(key);\n }\n }\n }\n }\n }\n private _mtnaForm: F | null | undefined;\n\n /**\n * The form can contain sections not included in the steps.\n * To avoid misalignment of steps-to-sections, we map each step to\n * its instanceId\n */\n @Input()\n set steps(newSteps: Array<FormStep> | null | undefined) {\n if (!!newSteps && !!newSteps.length) {\n if (!this._steps) {\n this._steps = {};\n }\n for (const step of newSteps) {\n this._steps[step.instanceId] = step;\n }\n this._checkAndSubscribeToFormStatus();\n }\n }\n\n @Input()\n get readonly(): boolean {\n return this.readonly$.value;\n }\n set readonly(r: boolean) {\n const newValue = coerceBooleanProperty(r);\n if (newValue !== this.readonly$.value) {\n this.readonly$.next(r);\n }\n }\n private readonly$ = new BehaviorSubject<boolean>(true);\n\n /**\n * Emitted every time a form control's validation status changes.\n * The `id` is the form control's name and the `status` is the new validation status for the control.\n * TODO: This should be renamed to controlStatus to be more clear\n */\n @Output() status = new EventEmitter<{ id: string; status: FormControlStatus }>();\n @Output() focusedSection = new EventEmitter<FormStep>();\n // TODO: This should emit an object that wraps the generic form type with the validity status boolean\n @Output() mtnaFormChange = new EventEmitter<F>();\n\n ngForm: FormGroup | undefined;\n componentIds = [];\n _steps: { [id: string]: FormStep } | undefined;\n\n private _constructionDate: Date;\n private _hasPreviousForm = false;\n private _ngFormStatusChangeSub?: Subscription;\n private _mtnaFormItemChangeSub?: Subscription;\n private _initialStatusEmitted = false;\n\n constructor(\n protected mtnaFormManager: MtnaWfManagerService,\n protected ngFormService: MtnaWfNgFormService,\n protected uiService: MtnaWfUIService\n ) {\n super();\n this._constructionDate = new Date();\n // Initialize the subscription to observe input changes\n this._subscribeAndEmitMtnaFormChanges();\n }\n\n ngAfterViewInit(): void {\n const afterViewInitDate = new Date();\n const secondsToRender = (afterViewInitDate.getTime() - this._constructionDate.getTime()) / 1000;\n console.warn('[MtnaFormComponent] afterViewInit - took ', secondsToRender, ' to render');\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.uiService.resetComponentMap();\n }\n\n _trackByInstanceId(index: number, formItem: FormItem) {\n return formItem.instanceId;\n }\n\n /** Subscribe and emit form status changes for the steps. */\n private _checkAndSubscribeToFormStatus() {\n // Only subscribe once both the steps and the angular have been initialized\n if (this.ngForm && this._steps) {\n // Update form status subscriptions anytime the readonly input changes\n this.readonly$.pipe(takeUntil(this.destroyed$), distinctUntilChanged()).subscribe((readonly) => {\n if (readonly) {\n // Don't emit statuses while form is in readonly\n this._unsubscribeFromNgFormChanges();\n } else if (!this._ngFormStatusChangeSub || this._ngFormStatusChangeSub.closed) {\n // For performance, subscribe should only trigger again if the subscription didn't previously exist\n this._emitInitialStepsStatusAndSubscribeToChanges(!this._initialStatusEmitted);\n this._initialStatusEmitted = true;\n }\n });\n }\n }\n\n /**\n * Find a form control with the given name, then emit it's status.\n *\n * @param name — The unique name of the form control to find and emit the status for.\n */\n private _emitFormControlStatus(name: string) {\n if (this.ngForm) {\n const control = findFormControl(name, this.ngForm);\n if (control) {\n this.status.emit({\n id: name,\n status: control.status as FormControlStatus,\n });\n }\n }\n }\n\n /**\n * @param emitInitialValues Whether to emit initial step values or just listen for future changes\n */\n private _emitInitialStepsStatusAndSubscribeToChanges(emitInitialValues: boolean) {\n if (this._steps && this.ngForm) {\n this._unsubscribeFromNgFormChanges();\n this._ngFormStatusChangeSub = new Subscription();\n\n // Find the form control for each step and only subscribe to those.\n for (const key in this._steps) {\n if (Object.prototype.hasOwnProperty.call(this._steps, key)) {\n const control = findFormControl(key, this.ngForm);\n if (control) {\n if (emitInitialValues) {\n this.status.emit({\n id: key,\n // Angular introduced this status in v13, once we update, this type cast can be removed.\n status: control.status as FormControlStatus,\n });\n }\n // Subscribe to status changes of each step & emit on change\n this._ngFormStatusChangeSub.add(\n control.statusChanges.pipe(takeUntil(this.destroyed$), distinctUntilChanged()).subscribe((status) => {\n this.status.emit({ id: key, status });\n })\n );\n }\n }\n }\n }\n }\n\n /**\n * Observes input changes for readOnly, in order to handle internal change subscriptions.\n * When the form is not readonly, we subscribe to form status & form item changes, so we can emit them.\n * When the form is readonly, we do not want to emit any changes, so we unsubscribe.\n */\n private _subscribeAndEmitMtnaFormChanges() {\n this.readonly$\n .pipe(\n takeUntil(this.destroyed$),\n // we don't want to create subscriptions until we have a form to subscribe to\n skipWhile(() => !this.mtnaForm),\n distinctUntilChanged()\n )\n .subscribe((readonly) => {\n if (readonly) {\n this._unsubscribeFromMtnaFormChanges();\n } else if (!this._mtnaFormItemChangeSub || this._mtnaFormItemChangeSub.closed) {\n // For performance, subscribe should only trigger again if one of the subscriptions didn't previously exist\n this._subscribeToMtnaFormItemChanges();\n }\n });\n }\n\n private _handleFormSerialization(form: Form) {\n // Get the registered form from the service if it exists\n this._hasPreviousForm = this.ngFormService.hasForm();\n if (this._hasPreviousForm) {\n this.ngForm = this.ngFormService.getForm();\n // FIXME this is necessary because the initial visiblity is based on the mtnaForm item's disable property\n // If the user changes a value, goes to another tab (destroying form) and comes back, the initial values are incorrect\n this.mtnaForm = this.mtnaFormManager.insertNewValues(form, this.ngFormService.getFormValue()) as F;\n } else {\n this.ngForm = this.mtnaFormManager.serializeMtnaFormItem(form) as FormGroup;\n this.ngFormService.setForm(this.ngForm);\n }\n }\n\n /**\n * Adds or removes a FormItem whenever a new MtnaWfFormItemChange occurs,\n * and emits a new MtnaForm.\n */\n private _subscribeToMtnaFormItemChanges() {\n this._unsubscribeFromMtnaFormChanges();\n this._mtnaFormItemChangeSub = this.mtnaFormManager.formChanges\n .pipe(\n takeUntil(this.destroyed$),\n skipWhile((change) => !change)\n )\n .subscribe((newForm: Form) => this.mtnaFormChange.emit(newForm as F));\n // TODO: This should emit an object that wraps the generic form type with the validity status boolean\n }\n\n private _unsubscribeFromNgFormChanges() {\n if (!!this._ngFormStatusChangeSub && !this._ngFormStatusChangeSub.closed) {\n this._ngFormStatusChangeSub.unsubscribe();\n }\n }\n\n private _unsubscribeFromMtnaFormChanges() {\n if (!!this._mtnaFormItemChangeSub && !this._mtnaFormItemChangeSub.closed) {\n this._mtnaFormItemChangeSub.unsubscribe();\n }\n }\n}\n","/* eslint-disable @angular-eslint/component-selector */\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: '[formDisabled]',\n template: `\n <fieldset [disabled]=\"formDisabled\">\n <ng-content></ng-content>\n </fieldset>\n `,\n styles: [\n `\n fieldset {\n display: block;\n margin: unset;\n padding: unset;\n border: unset;\n }\n `,\n ],\n})\nexport class MtnaWfFormDisablerComponent {\n @Input() formDisabled = false;\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Form } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormComponent } from '../base-form';\n\n/* eslint-disable @angular-eslint/no-outputs-metadata-property */\n@Component({\n selector: 'mtna-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n outputs: ['status', 'focusedSection', 'mtnaFormChange'],\n})\nexport class MtnaWfFormComponent extends MtnaWfBaseFormComponent<Form> {}\n","<form *ngIf=\"ngForm\" [formGroup]=\"ngForm\" [formDisabled]=\"readonly\">\n <mtna-wf-item\n *ngFor=\"let item of mtnaForm?.items | mtnaWfFilterHiddenItems; let index = index; trackBy: _trackByInstanceId\"\n [item]=\"item\"\n [control]=\"ngForm.controls[item.instanceId]\"\n [readonly]=\"readonly\"\n [parentIds]=\"componentIds\"\n [step]=\"_steps?.[item.instanceId]\"\n (focusedSection)=\"focusedSection.emit($event)\"\n ></mtna-wf-item>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfFormDisablerComponent } from './form-disabler.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtnaWfFormDisablerComponent],\n declarations: [MtnaWfFormDisablerComponent],\n})\nexport class MtnaWfFormDisablerModule {}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep } from '../../../models/form-stepper/form-step.model';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _FormStepMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'primary'\n);\n\n/**\n * A component that represents a single step in a form stepper.\n * NOTE:\n * - disabled: property on the FormStep used to determine if the step is disabled. This will affect the disabled property and the clickable property.\n * - clickable: property on the FormStep used to determine if the step is clickable. This does not affect the disabled property.\n */\n@Component({\n selector: 'mtna-wf-step',\n templateUrl: './form-step.component.html',\n styleUrls: ['./form-step.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormStepComponent extends _FormStepMixinBase implements CanColor {\n @HostBinding('class.disabled') disabled = false;\n\n @Input()\n get step(): FormStep {\n return this._step;\n }\n set step(step: FormStep) {\n this._step = step;\n this.disabled = step.status === 'DISABLED' || step.disabled;\n }\n private _step!: FormStep;\n\n @HostBinding('class.clickable')\n @Input()\n get clickable() {\n return !this.disabled && this._clickable;\n }\n set clickable(clickable: boolean) {\n this._clickable = clickable;\n }\n private _clickable = true;\n\n @Input() incompleteIcon: string | null | undefined;\n\n notApplicableText = $localize`Not Applicable`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n /**\n * Prevents click event if this step is not clickable\n */\n _haltClickEvent(event: Event) {\n if (!this.clickable) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<li\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n matRipple\n [matRippleDisabled]=\"!clickable\"\n [class.active-step]=\"step.active\"\n (click)=\"_haltClickEvent($event)\"\n>\n <mtna-status-circle\n [color]=\"color\"\n [circleNumber]=\"step.num\"\n [incompleteIcon]=\"incompleteIcon\"\n [optional]=\"step.optional\"\n [status]=\"step.status\"\n ></mtna-status-circle>\n <div fxLayout=\"column\" fxFlex=\"100\">\n <p class=\"step-title\">{{ step.label }}</p>\n <p *ngIf=\"step.optional && !disabled\" class=\"step-status\" i18n>Optional</p>\n <p *ngIf=\"disabled\" class=\"step-status\">{{ step.disabledText || notApplicableText }}</p>\n </div>\n</li>\n","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep } from '../../../models';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _FormStepMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'primary'\n);\n\n@Component({\n selector: 'mtna-wf-step-group',\n templateUrl: './form-step-group.component.html',\n styleUrls: ['./form-step-group.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormStepGroupComponent extends _FormStepMixinBase implements CanColor {\n /** Whether all but the first step is hidden*/\n @Input() collapsed = false;\n @Input() incompleteIcon: string | null | undefined;\n /** Steps to be displayed */\n @Input()\n get steps() {\n return this._steps;\n }\n set steps(steps: FormStep[]) {\n this._steps = steps;\n }\n private _steps: FormStep[] = [];\n\n @Output() selected = new EventEmitter<FormStep>();\n\n _collapsedText = $localize`View All`;\n _hideText = $localize`Hide`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n}\n","<ng-container *ngFor=\"let step of steps | slice : 0 : (collapsed ? 1 : steps.length); let last = last\">\n <mtna-wf-step\n [clickable]=\"step.status !== 'DISABLED' && step.status !== 'PLACEHOLDER'\"\n [color]=\"color\"\n [incompleteIcon]=\"incompleteIcon\"\n [step]=\"step\"\n (click)=\"selected.emit(step)\"\n ></mtna-wf-step>\n <mat-divider *ngIf=\"!last\" [vertical]=\"true\"></mat-divider>\n <p *ngIf=\"collapsed\" class=\"show-more mat-caption\" i18n>and {{ steps.length - 1 }} more...</p>\n</ng-container>\n<button\n mat-icon-button\n class=\"collapse-button\"\n [color]=\"color\"\n (click)=\"collapsed = !collapsed\"\n [matTooltip]=\"collapsed ? _collapsedText : _hideText\"\n>\n <mat-icon>{{ collapsed ? 'expand_more' : 'expand_less' }}</mat-icon>\n</button>\n","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep, FormStepGroup, isFormStepGroup } from '../../../models';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _FormStepperMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'primary'\n);\n\n/**\n * Vertical stepper component, ability to show step statuses and allows clicking each step.\n *\n * @export\n * @author Will Davis <will.davis@mtna.us>\n */\n@Component({\n selector: 'mtna-wf-stepper',\n // templateUrl: './form-stepper.component.html',\n templateUrl: './form-stepper-new.component.html',\n styleUrls: ['./form-stepper.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormStepperComponent extends _FormStepperMixinBase implements CanColor {\n @Input() incompleteIcon: string | null | undefined;\n /** Form steps */\n @Input()\n get steps(): Array<FormStep | FormStepGroup> {\n return this._steps;\n }\n set steps(steps: Array<FormStep | FormStepGroup>) {\n this._steps = steps;\n this.createGroupStepCollapsedMap(steps);\n }\n private _steps: Array<FormStep | FormStepGroup> = [];\n /** When a step is selected */\n @Output() selected = new EventEmitter<FormStep>();\n\n groupStepCollapsedMap: { [key: string]: boolean } = {};\n\n notApplicableText = $localize`Not Applicable`;\n _collapsedText = $localize`View All`;\n _hideText = $localize`Hide`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n /**\n * Improves effeciency of the *ngFor loop that creates the steps.\n *\n * @param index index of loop\n * @param step current step in loop\n * @returns unique string to key each item in the loop\n */\n _trackStep(index: number, step: FormStep | FormStepGroup) {\n return step.instanceId || index;\n }\n\n /**\n * Prevents click event if this step is not clickable\n */\n _haltClickEvent(event: Event, step: FormStep) {\n const clickable = step.status !== 'DISABLED' && step.status !== 'PLACEHOLDER';\n if (!clickable) {\n event.preventDefault();\n event.stopImmediatePropagation();\n } else {\n this.selected.emit(step);\n }\n }\n\n createGroupStepCollapsedMap(steps: Array<FormStep | FormStepGroup>) {\n steps.forEach((step) => {\n if (isFormStepGroup(step)) {\n this.groupStepCollapsedMap[step.instanceId] = step.collapsed;\n }\n });\n }\n\n toggleGroupStep(step: FormStepGroup) {\n this.groupStepCollapsedMap[step.instanceId] = !this.groupStepCollapsedMap[step.instanceId];\n }\n}\n","<ol>\n <ng-container *ngFor=\"let step of steps; let last = last; trackBy: _trackStep\">\n <ng-container\n [ngTemplateOutlet]=\"(step | mtnaWfStepGroupPipe) ? groupStep : singleStep\"\n [ngTemplateOutletContext]=\"{ $implicit: step }\"\n ></ng-container>\n </ng-container>\n</ol>\n\n<ng-template #singleStep let-step>\n <ng-container *ngIf=\"step | coerceFormStep as singleStep\">\n <li\n fxLayout=\"row\"\n fxLayouAlign=\"start center\"\n [ngClass]=\"{\n 'disabled-step': singleStep.status === 'DISABLED',\n 'active-step': singleStep.active,\n clickable: singleStep.status !== 'DISABLED' && singleStep.status !== 'PLACEHOLDER'\n }\"\n >\n <ng-container [ngTemplateOutlet]=\"stepContent\" [ngTemplateOutletContext]=\"{ $implicit: singleStep }\"></ng-container>\n </li>\n </ng-container>\n</ng-template>\n\n<ng-template #groupStep let-step>\n <ng-container *ngIf=\"step | coerceFormStepGroup as groupStepParent\">\n <li\n fxLayout=\"column\"\n fxLayoutAlign=\"start start\"\n [class.child-step-active]=\"(groupStepParent.steps | childStepActive) && groupStepCollapsedMap[groupStepParent.instanceId]\"\n >\n <div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mtna-wf-step-item-content\">\n <button\n fxFlex\n mat-button\n class=\"step-button\"\n [attr.aria-label]=\"groupStepParent | getStepAriaLabel : groupStepCollapsedMap[groupStepParent.instanceId]\"\n (click)=\"toggleGroupStep(step)\"\n >\n <mtna-status-circle [color]=\"color\" [circleNumber]=\"groupStepParent.num\" [incompleteIcon]=\"incompleteIcon\"></mtna-status-circle>\n <div fxLayout=\"row\" class=\"step-button-label-wrapper\" fxFlex=\"100\">\n <p class=\"step-title\">{{ groupStepParent.label }}</p>\n </div>\n <mat-icon>{{ groupStepCollapsedMap[step.instanceId] ? 'expand_more' : 'expand_less' }}</mat-icon>\n </button>\n </div>\n <ol class=\"group-step-list\">\n <ng-container\n *ngFor=\"\n let groupStep of step.steps | slice : 0 : (groupStepCollapsedMap[step.instanceId] ? 0 : step.steps.length);\n let last = last\n \"\n >\n <!-- All children in the steps property of FormStepGroup are FormStep(s). Only using coercion here to assist in defining properties we can use. -->\n <li\n *ngIf=\"groupStep | coerceFormStep as groupStepChild\"\n fxLayout=\"row\"\n fxLayouAlign=\"start center\"\n [ngClass]=\"{\n 'disabled-step': groupStepChild.status === 'DISABLED',\n 'active-step': groupStepChild.active,\n clickable: groupStepChild.status !== 'DISABLED' && groupStepChild.status !== 'PLACEHOLDER',\n 'group-step': true\n }\"\n >\n <ng-container\n [ngTemplateOutlet]=\"stepContent\"\n [ngTemplateOutletContext]=\"{ $implicit: groupStepChild, isChildStep: true }\"\n ></ng-container>\n </li>\n </ng-container>\n </ol>\n </li>\n </ng-container>\n</ng-template>\n\n<!-- The individual, stand-alone step template -->\n<ng-template #stepContent let-step let-isChildStep=\"isChildStep\">\n <div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mtna-wf-step-item-content\">\n <mat-divider *ngIf=\"isChildStep\" [vertical]=\"true\"></mat-divider>\n <button\n fxFlex\n mat-button\n class=\"step-button\"\n [attr.aria-label]=\"step | getStepAriaLabel\"\n [disabled]=\"step.status === 'DISABLED' || step.status === 'PLACEHOLDER'\"\n (click)=\"_haltClickEvent($event, step)\"\n >\n <mtna-status-circle\n [color]=\"color\"\n [circleNumber]=\"step.num\"\n [incompleteIcon]=\"incompleteIcon\"\n [optional]=\"step.optional\"\n [status]=\"step.status\"\n ></mtna-status-circle>\n <div fxLayout=\"column\" class=\"step-button-label-wrapper\">\n <p class=\"step-title\">{{ step.label }}</p>\n <p *ngIf=\"step.optional && step.status !== 'DISABLED'\" class=\"step-status\" i18n>Optional</p>\n <p *ngIf=\"step.status === 'DISABLED'\" class=\"step-status\">{{ step.disabledText || notApplicableText }}</p>\n </div>\n </button>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MtnaStatusCircleModule } from '@mtna/core-angular';\n\nimport {\n ChildStepActivePipeModule,\n CoerceFormStepGroupPipeModule,\n CoerceFormStepPipeModule,\n GetStepAriaLabelModule,\n MtnaWfFormStepGroupPipeModule,\n} from '../../pipes';\nimport { MtnaWfFormStepGroupComponent } from './form-step-group';\nimport { MtnaWfFormStepComponent } from './form-step/form-step.component';\nimport { MtnaWfFormStepperComponent } from './form-stepper/form-stepper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n MatDividerModule,\n MtnaStatusCircleModule,\n MatRippleModule,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MtnaWfFormStepGroupPipeModule,\n CoerceFormStepGroupPipeModule,\n CoerceFormStepPipeModule,\n ChildStepActivePipeModule,\n GetStepAriaLabelModule,\n ],\n declarations: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent],\n exports: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent],\n})\nexport class MtnaWfFormStepperModule {}\n","import { FocusOrigin } from '@angular/cdk/a11y';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep } from '../../models/form-stepper/form-step.model';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _StepCardMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'accent'\n);\n\n@Component({\n selector: 'mtna-wf-step-card',\n templateUrl: './step-card.component.html',\n styleUrls: ['./step-card.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfStepCardComponent extends _StepCardMixinBase implements CanColor {\n @HostBinding('class.active')\n get active(): boolean {\n return !!this.step?.active;\n }\n\n // @Input() step: FormStep | null | undefined;\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(step: FormStep | null | undefined) {\n this._step = step;\n console.warn({ stepInsideStepCard: step });\n }\n private _step: FormStep | null | undefined;\n\n @Input() subtitle: string | null | undefined;\n\n @Output() focused = new EventEmitter<FormStep>();\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n handleFocusChange(event: FocusOrigin) {\n if (!!this.step && !!event && !this.step.active) {\n this.focused.emit(this.step);\n }\n }\n}\n","<mat-card cdkMonitorSubtreeFocus (cdkFocusChange)=\"handleFocusChange($event)\">\n <mat-card-header>\n <mtna-status-circle mat-card-avatar [circleNumber]=\"step?.num\" [optional]=\"step?.optional\" [status]=\"step?.status\"></mtna-status-circle>\n <mat-card-title>{{ step?.label }}</mat-card-title>\n <mat-card-subtitle [innerHTML]=\"subtitle | mtnaWfSanitizeHtml\"></mat-card-subtitle>\n <p *ngIf=\"step?.optional\" class=\"optional mat-caption\" i18n>Optional</p>\n </mat-card-header>\n\n <mat-divider [inset]=\"true\"></mat-divider>\n\n <mat-card-content>\n <ng-content select=\"[cardContent]\"></ng-content>\n </mat-card-content>\n\n <mat-card-actions>\n <ng-content select=\"[cardActions]\"></ng-content>\n </mat-card-actions>\n</mat-card>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MtnaStatusCircleModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../pipes/sanitize-html.pipe';\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfStepCardComponent } from './step-card.component';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n MatCardModule,\n MtnaStatusCircleModule,\n MtnaWfSanitizeHtmlPipeModule,\n MatDividerModule,\n MtnaWfFormItemModule,\n ],\n declarations: [MtnaWfStepCardComponent],\n exports: [MtnaWfStepCardComponent],\n})\nexport class MtnaWfStepCardModule {}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { ErrorStateMatcher } from '@angular/material/core';\n\nimport { MtnaWfInstantValidationResultErrorStateMatcher } from '../../validators/instant-validation-result-error-state-matcher';\nimport { MtnaWfFormDisablerModule } from '../form-disabler/form-disabler.module';\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfFormStepperModule } from '../form-stepper/form-stepper.module';\nimport { MtnaWfStepCardModule } from '../step-card/step-card.module';\nimport { MtnaWfFormComponent } from './form.component';\nimport { MtnaWfFilterHiddenItemsPipeModule } from '../../pipes';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n FlexLayoutModule,\n FormsModule,\n MtnaWfFormItemModule,\n ReactiveFormsModule,\n MtnaWfFormDisablerModule,\n MatMomentDateModule,\n MtnaWfFilterHiddenItemsPipeModule,\n MtnaWfFormStepperModule,\n MtnaWfStepCardModule,\n ],\n declarations: [MtnaWfFormComponent],\n exports: [MtnaWfFormComponent],\n providers: [{ provide: ErrorStateMatcher, useClass: MtnaWfInstantValidationResultErrorStateMatcher }],\n})\nexport class MtnaFormModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { BooleanItem, FormItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfUIService } from '../../../services/ui.service';\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-boolean-item',\n templateUrl: './boolean.component.html',\n styleUrls: ['./boolean.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfBooleanComponent extends MtnaWfBaseParentValueItem<BooleanItem, FormControl> {\n constructor(cdr: ChangeDetectorRef, private uiService: MtnaWfUIService) {\n super(cdr);\n }\n\n toggleChange(change: MatSlideToggleChange) {\n this.uiService.toggleFormItems(this.item.option.enabledItems, this.item.option.disabledItems, change.checked, this.item.instanceId);\n }\n\n _trackByInstanceId(index: number, item: { key: string; value: FormItem }) {\n return item.value.instanceId;\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-slide-toggle\n *ngIf=\"control\"\n [aria-label]=\"item.option.option.name\"\n [formControl]=\"control\"\n [disabled]=\"readonly\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (change)=\"toggleChange($event)\"\n >{{ item.option.option.name }}</mat-slide-toggle\n>\n<ng-container *ngIf=\"!!item.optionItemMap\">\n <mtna-wf-item\n *ngFor=\"let f of item.optionItemMap | keyvalue; trackBy: _trackByInstanceId\"\n [item]=\"f.value\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[f.value.instanceId] : undefined\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n <ng-container> </ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfAcknowledgeDialogModule } from '../../acknowledge-dialog/acknowledge-dialog.module';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfBooleanComponent } from './boolean.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatSlideToggleModule,\n MtnaWfFormItemModule,\n FormsModule,\n ReactiveFormsModule,\n MtnaWfAcknowledgeDialogModule,\n MtnaHighlightModule,\n ],\n declarations: [MtnaWfBooleanComponent],\n exports: [MtnaWfBooleanComponent],\n})\nexport class MtnaWfBooleanModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { FormArray } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { CanDestroyNotify } from '@mtna/core-angular';\nimport { CheckboxItem, Section } from '@mtna/web-form-ts';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { MtnaWfDialogService } from '../../../services/dialog.service';\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-checkbox-item',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfCheckboxComponent extends MtnaWfBaseParentValueItem<CheckboxItem, FormArray> implements CanDestroyNotify, OnDestroy {\n destroyed$ = new Subject<void>();\n _acknowledgementText = $localize`Acknowledged. Click to view the agreement.`;\n\n constructor(cdr: ChangeDetectorRef, private dialogService: MtnaWfDialogService) {\n super(cdr);\n }\n\n handleChange(change: MatCheckboxChange, index: number) {\n const option = this.item.options[index];\n const formControl = this.control?.controls[index];\n\n // If the user is trying to make a selection with something that has an acknowledgement,\n // show the acknowledge dialog first to get their consent.\n // Note: we don't need to show the acknowledgement if the user is unchecking the box.\n if (option.acknowledgement && formControl?.value) {\n // Revert the checkbox to an unchecked state until they agree to the acknowledgement\n formControl?.setValue(false);\n this.dialogService\n .verifyAcknowledgement(option.acknowledgement)\n .pipe(takeUntil(this.destroyed$))\n .subscribe((acknowledged) => {\n if (acknowledged) {\n formControl?.setValue(true);\n this.toggleFormItems.emit({\n enabledItemIds: option.enabledItems,\n disabledItemIds: option.disabledItems,\n enabled: change.checked,\n callerId: this.item.instanceId,\n });\n }\n });\n } else {\n this.toggleFormItems.emit({\n enabledItemIds: option.enabledItems,\n disabledItemIds: option.disabledItems,\n enabled: change.checked,\n callerId: this.item.instanceId,\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n /**\n * Display what the user already acknowledged for a given option.\n * @param event the browser event when the button was invoked\n * @param acknowledgementItem The form item that represents the acknowledgement text to display to the user.\n * */\n showAcknowledgement(event: Event, acknowledgementItem: Section) {\n event.stopPropagation();\n event.preventDefault();\n this.dialogService.showAcknowledgement(acknowledgementItem);\n }\n\n /**\n * Stop a browser event from propagating\n * @param event the event to stop\n */\n stopEventPropagation(event: Event) {\n event.stopPropagation();\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"hasItemHeader\" class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control?.invalid && (control?.dirty || control?.touched)\">\n <mat-error *ngFor=\"let error of control?.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n</div>\n<fieldset\n class=\"control-item-content\"\n [class.single-option]=\"item.options.length === 1\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <ng-container *ngFor=\"let opt of item.options; let i = index; trackBy: _trackByOptionId\">\n <div *ngIf=\"!!control && !!control.controls && !!control.controls[i]\" fxLayout=\"row\">\n <mat-checkbox\n [disableRipple]=\"readonly\"\n [formControl]=\"$any(control.controls[i])\"\n [color]=\"color\"\n [disabled]=\"readonly\"\n (change)=\"handleChange($event, i)\"\n >{{ opt.option.name }}\n </mat-checkbox>\n <button\n *ngIf=\"opt.acknowledgement && control.controls[i].value\"\n mat-icon-button\n class=\"acknowledge-verification-button\"\n [attr.aria-label]=\"_acknowledgementText\"\n [matTooltip]=\"_acknowledgementText\"\n matTooltipShowDelay=\"800\"\n (click)=\"showAcknowledgement($event, opt.acknowledgement)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (touchstart)=\"stopEventPropagation($event)\"\n >\n <mat-icon>verified</mat-icon>\n </button>\n </div>\n <ng-container *ngIf=\"item.optionItemMap[opt.option.id]\">\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n ></mtna-wf-item>\n </ng-container>\n </ng-container>\n</fieldset>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfFormItemDialogComponent } from './form-item-dialog.component';\n\n@NgModule({\n imports: [CommonModule, MatDialogModule, MtnaWfFormItemModule, MatButtonModule],\n declarations: [MtnaWfFormItemDialogComponent],\n exports: [MtnaWfFormItemDialogComponent],\n})\nexport class MtnaWfFormItemDialogModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule } from '../../../pipes/get-form-control-error.pipe';\nimport { MtnaWfFormItemDialogModule } from '../../form-item-dialog/form-item-dialog.module';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfCheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaWfGetFormControlErrorPipeModule,\n FlexLayoutModule,\n FormsModule,\n MatFormFieldModule,\n MatCheckboxModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n MtnaWfFormItemModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n MtnaWfFormItemDialogModule,\n ],\n declarations: [MtnaWfCheckboxComponent],\n exports: [MtnaWfCheckboxComponent],\n})\nexport class MtnaWfCheckboxModule {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatDateFormats } from '@angular/material/core';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MtnaLogger } from '@mtna/core-angular';\nimport { DateItem, DateRange } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport type { MatDatepickerInput } from '@angular/material/datepicker';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,no-var\ndeclare var moment: any;\n\n@Component({\n selector: 'mtna-wf-date-item',\n templateUrl: './date.component.html',\n styleUrls: ['./date.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfDateComponent extends MtnaWfBaseValueItem<DateItem, FormControl> implements AfterViewInit {\n static dateFormItemComponentInstances = 0;\n @HostBinding('class.mtna-wf-date-item') dateItemClass = true;\n\n override get item(): DateItem {\n return super.item;\n }\n override set item(value: DateItem) {\n super.item = value;\n if (this.item.format) {\n this.configureDatePickerFormatter();\n }\n }\n\n // TODO: This is not currenlty used, the back end needs to add range limits on the DateItem in order for this to work\n // Remove once accomplished and replace usage with item.rangeLimits in the html\n @Input() rangeLimits: DateRange<Date | null> | null | undefined = { end: null, start: null };\n\n @ViewChild(MatDatepicker, { static: false }) picker: MatDatepicker<Date> | undefined;\n\n _dateText = $localize`Date`;\n\n constructor(cdr: ChangeDetectorRef, logger: MtnaLogger) {\n super(cdr);\n // We need to check to ensure 'moment' & 'moment-jdateformatparser' scripts have been added to angular.json so that\n // the DateFormItemComponent doesn't break when attempting to format SimpleDateFormat string to Moment format string\n MtnaWfDateComponent.dateFormItemComponentInstances++;\n if (MtnaWfDateComponent.dateFormItemComponentInstances === 1) {\n try {\n if (!!moment && typeof moment().toMomentFormatString !== 'function') {\n logger.error(`[DateFormItemComponent] constructor\n - Cannot find moment-jdateformatparser, make sure to install the dependency and add the script in angular.json, i.e.\n \"scripts\": [\"node_modules/moment-jdateformatparser/moment-jdateformatparser.min.js\"]`);\n }\n } catch (e) {\n logger.error(`[DateFormItemComponent] constructor\n - Cannot find moment.js, make sure to install the dependency and add the script in angular.json, i.e.\n \"scripts\": [\"node_modules/moment/min/moment.min.js\"]`);\n }\n }\n }\n\n ngAfterViewInit() {\n this.configureDatePickerFormatter();\n }\n\n /**\n * Manually change the parse and display formats of the date picker.\n * @see https://github.com/angular/components/issues/8355#issuecomment-376783293\n */\n private configureDatePickerFormatter() {\n if (this.picker) {\n const datepickerInput: MatDatepickerInput<Date> = this.picker.datepickerInput as MatDatepickerInput<Date>;\n // @ts-ignore: access the private date formats on the date picker\n const d: MatDateFormats = JSON.parse(JSON.stringify(datepickerInput._dateFormats));\n\n // Convert the Java SimpleDateFormat to the moment equivalents using moment-jdateformatparser\n const momentFormatString = moment().toMomentFormatString(this.item.format);\n // Use the converted format for the date picker display\n d.display.dateInput = momentFormatString;\n // Use the converted format for the date picker parser (user input)\n d.parse.dateInput = momentFormatString;\n // @ts-ignore: set the updated date formats\n datepickerInput._dateFormats = d;\n\n // @ts-ignore: manually format the current value in the date picker\n datepickerInput._formatValue(datepickerInput.value);\n }\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-form-field *ngIf=\"control\" appearance=\"outline\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\">\n <mat-label>{{ item.label || _dateText }}</mat-label>\n <input\n matInput\n [formControl]=\"control\"\n [matDatepicker]=\"picker\"\n [max]=\"rangeLimits?.end\"\n [min]=\"rangeLimits?.start\"\n placeholder=\"Choose a date\"\n i18n-placeholder\n [required]=\"item.required\"\n [disabled]=\"readonly || control.disabled\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disabled]=\"readonly || control.disabled\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n <mat-hint>{{ item.format }}</mat-hint>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule } from '../../../pipes/get-form-control-error.pipe';\nimport { MtnaWfDateComponent } from './date.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatDatepickerModule,\n MatMomentDateModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n MtnaWfGetFormControlErrorPipeModule,\n ],\n declarations: [MtnaWfDateComponent],\n exports: [MtnaWfDateComponent],\n})\nexport class MtnaWfDateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { DateItem, OffsetDateRangeItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-date-range',\n templateUrl: './date-range.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfDateRangeComponent extends MtnaWfBaseValueItem<OffsetDateRangeItem, FormGroup> {\n get item(): OffsetDateRangeItem {\n return this._item;\n }\n set item(item: OffsetDateRangeItem) {\n this._item = item;\n // Create fake items for the underlying date-item component\n this._startItem = { ...item, label: 'Start', value: undefined };\n this._endItem = { ...item, label: 'End', value: undefined };\n }\n\n _startItem!: DateItem;\n _endItem!: DateItem;\n toText = $localize`to`;\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-date-item\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [item]=\"_startItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n <span fxFlex=\"14px\"> {{ toText }} </span>\n <mtna-wf-date-item\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [item]=\"_endItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfCoerceFormControlPipeModule } from '../../../pipes/coerce-form-control.pipe';\nimport { MtnaWfDateModule } from '../date/date.module';\nimport { MtnaWfDateRangeComponent } from './date-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaHighlightModule,\n MtnaWfDateModule,\n FlexLayoutModule,\n FormsModule,\n ReactiveFormsModule,\n MtnaWfCoerceFormControlPipeModule,\n ],\n declarations: [MtnaWfDateRangeComponent],\n exports: [MtnaWfDateRangeComponent],\n})\nexport class MtnaWfDateRangeModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DropdownItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseSingleSelectionParentValueItem } from '../../base-items/base-single-selection-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-dropdown-item',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfDropdownComponent extends MtnaWfBaseSingleSelectionParentValueItem<DropdownItem> {}\n","<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [panelClass]=\"'mtna-wf-dropdown-item__select-panel'\"\n [required]=\"item.required\"\n (selectionChange)=\"selectionChange($event)\"\n >\n <mat-option *ngIf=\"!item.required\" i18n>-- None --</mat-option>\n <mat-option *ngFor=\"let opt of item.options\" [value]=\"opt.option.id\" [disabled]=\"control.value === opt.option.id\">{{\n opt.option.name\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<ng-template #readOnly>\n <ng-container *ngIf=\"inList; else fullList\">\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </ng-container>\n\n <ng-template #fullList>\n <mat-list>\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule, MtnaWfGetListIconPipeModule, MtnaWfGetSelectedOptionNamePipeModule } from '../../../pipes';\nimport { MtnaWfDropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatSelectModule,\n MtnaHighlightModule,\n MatListModule,\n MatIconModule,\n MtnaWfGetFormControlErrorPipeModule,\n MtnaWfGetSelectedOptionNamePipeModule,\n MtnaWfGetListIconPipeModule,\n ReactiveFormsModule,\n ],\n declarations: [MtnaWfDropdownComponent],\n exports: [MtnaWfDropdownComponent],\n})\nexport class MtnaWfDropdownModule {}\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { FileService } from '@mtna/file-manager-angular';\nimport { FileInformation } from '@mtna/file-manager-ts';\nimport { FileUploadItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItemControl } from '../../base-items/base-form-item-control.component';\n\n@Component({\n selector: 'mtna-wf-file-upload-item',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n})\nexport class MtnaWfFileUploadComponent extends MtnaWfBaseFormItemControl<FileUploadItem, FormControl> implements OnInit {\n fileInfo?: FileInformation;\n loading = false;\n _fileUploadButtonText = $localize`CHOOSE A FILE`;\n\n constructor(cdr: ChangeDetectorRef, private fileService: FileService) {\n super(cdr);\n }\n\n fileToUpload(file: FileList) {\n this.loading = true;\n\n this.fileService.uploadFile(file).subscribe((fileInfo: FileInformation) => {\n this.loading = false;\n this.fileInfo = fileInfo;\n this.setValue(fileInfo);\n });\n }\n\n handleDownload(template: FileInformation) {\n this.fileService.downloadFileGET(template.key, template.fileName, template.contentType);\n }\n\n ngOnInit() {\n if (this.item?.value) {\n this.fileInfo = this.item.value;\n }\n }\n\n removeFile() {\n if (this.fileInfo) {\n this.loading = true;\n this.fileService.deleteFile(this.fileInfo).subscribe(() => {\n this.loading = false;\n this.fileInfo = undefined;\n this.setValue(undefined);\n });\n }\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div class=\"content\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <ng-container *ngIf=\"!readonly; else readOnly\">\n <ng-container *ngIf=\"!loading; else loader\">\n <mtna-file-download\n *ngIf=\"!!fileInfo; else fileUpload\"\n [fileInfo]=\"fileInfo\"\n [canRemove]=\"true\"\n color=\"primary\"\n [canDownload]=\"true\"\n (download)=\"handleDownload($event)\"\n (remove)=\"removeFile()\"\n ></mtna-file-download>\n\n <ng-template #fileUpload>\n <mtna-file-upload\n [automaticUpload]=\"false\"\n color=\"primary\"\n [buttonText]=\"_fileUploadButtonText\"\n (fileToUpload)=\"fileToUpload($event)\"\n ></mtna-file-upload>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- READONLY -->\n <ng-template #readOnly>\n <!-- anchor being used, due to <fieldset disabled> blocking a <button>'s click event -->\n <a\n *ngIf=\"!!item && !!item.value; else unpopulated\"\n class=\"single-icon-button\"\n color=\"primary\"\n mat-stroked-button\n role=\"button\"\n (click)=\"handleDownload(item.value)\"\n >\n <mat-icon color=\"primary\">file_download</mat-icon>\n {{ (item!.value!.fileName ? item!.value!.fileName : '') | uppercase }}\n </a>\n <ng-template #unpopulated>\n <mat-list>\n <mat-list-item class=\"wrappable-list-item\">\n <p mat-line class=\"wrap-line\" i18n>No File Provided</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </ng-template>\n</div>\n\n<!-- PROGRESS SPINNER -->\n<ng-template #loader>\n <mat-spinner diameter=\"125\" strokeWidth=\"10\" mode=\"indeterminate\"></mat-spinner>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\nimport { MtnaFileDownloadModule, MtnaFileUploadModule } from '@mtna/file-manager-angular';\n\nimport { MtnaWfFileUploadComponent } from './file-upload.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaHighlightModule,\n MatButtonModule,\n MatIconModule,\n MtnaFileDownloadModule,\n MtnaFileUploadModule,\n MatListModule,\n MatProgressSpinnerModule,\n ],\n declarations: [MtnaWfFileUploadComponent],\n exports: [MtnaWfFileUploadComponent],\n})\nexport class MtnaWfFileUploadModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport {\n DROPDOWN_ITEM_ID,\n FORM_ITEM_GROUP_IMPL_ID,\n FormItemGroupImpl,\n PARAGRAPH_ANSWER_ITEM_ID,\n SHORT_ANSWER_ITEM_ID,\n TEXT_ITEM_ID,\n TITLE_ITEM_ID,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseGroupItem } from '../../base-items/base-group-item.component';\n\n@Component({\n selector: 'mtna-wf-group',\n templateUrl: './form-group.component.html',\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormGroupComponent extends MtnaWfBaseGroupItem<FormItemGroupImpl> {\n override get item(): FormItemGroupImpl {\n return this._item;\n }\n override set item(item: FormItemGroupImpl) {\n this._item = item;\n\n // A list item can only display a heading line & a small text line\n // Compatible items should be items with short labels/headers & values\n // Items with multiple options, or potential nested items should not be included\n this.inList = this.item.items.every((i) => i.itemId === SHORT_ANSWER_ITEM_ID || i.itemId === DROPDOWN_ITEM_ID);\n }\n\n fullWidth: { [id: string]: boolean } = {\n [PARAGRAPH_ANSWER_ITEM_ID]: true,\n [FORM_ITEM_GROUP_IMPL_ID]: true,\n [TEXT_ITEM_ID]: true,\n [TITLE_ITEM_ID]: true,\n };\n\n /**\n * If form is readonly & all child items are one of the specified types below,\n * we want to display this group's child items in a mat-list\n */\n inList = false;\n}\n","<ng-container *ngIf=\"item && control\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control.disabled\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n <ng-template #fullLayout>\n <div\n class=\"item-group-container\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\"\n [formGroup]=\"control\"\n [ngClass]=\"item.layout\"\n >\n <mtna-wf-item\n *ngFor=\"let subItem of item.items; trackBy: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW' && !fullWidth[subItem.itemId]\"\n [ngClass.lt-md]=\"'width-100'\"\n [item]=\"subItem\"\n [control]=\"control.controls[subItem.instanceId]\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </div>\n </ng-template>\n\n <!-- When readonly, && all child items should be displayed in a mat-list-->\n <mat-list *ngIf=\"readonly && inList; else fullLayout\" [ngClass]=\"item.layout\">\n <mtna-wf-item\n *ngFor=\"let subItem of item.items | mtnaWfItemsWithValue; let index = index; trackBy: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW'\"\n [ngClass.lt-md]=\"'width-100'\"\n [item]=\"subItem\"\n [inList]=\"true\"\n [parentIds]=\"parentIds\"\n [readonly]=\"true\"\n ></mtna-wf-item>\n </mat-list>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfItemsWithValuePipeModule } from '../../../pipes/items-with-value.pipe';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfItemHeaderModule } from '../../item-header/item-header.module';\nimport { MtnaWfFormGroupComponent } from './form-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaWfItemHeaderModule,\n MtnaHighlightModule,\n MtnaWfFormItemModule,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n MtnaWfItemsWithValuePipeModule,\n ],\n declarations: [MtnaWfFormGroupComponent],\n exports: [MtnaWfFormGroupComponent],\n})\nexport class MtnaWfFormGroupModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Section } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseSectionItem } from '../../base-items/base-section-item.component';\n\n@Component({\n selector: 'mtna-wf-section',\n templateUrl: './form-section.component.html',\n styleUrls: ['./form-section.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormSectionComponent extends MtnaWfBaseSectionItem<Section> {}\n","<mtna-wf-step-card\n [step]=\"step\"\n [subtitle]=\"item.descriptiveText\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (focused)=\"focused.emit($event)\"\n>\n <div cardContent>\n <ng-container *ngFor=\"let subItem of item.items; trackBy: _trackByInstanceId\">\n <mat-divider\n *ngIf=\"(subItem.itemId | mtnaWfGetObjectType) === 'formitemgroupimpl' && item.items.indexOf(subItem) !== 0\"\n class=\"section-item-divider\"\n [inset]=\"true\"\n ></mat-divider>\n\n <mtna-wf-item\n [item]=\"subItem\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n [control]=\"!!control && !!control.controls ? control.controls[subItem.instanceId] : undefined\"\n (focusedSection)=\"focused.emit($event)\"\n ></mtna-wf-item>\n </ng-container>\n </div>\n</mtna-wf-step-card>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetObjectTypePipeModule } from '../../../pipes';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfStepCardModule } from '../../step-card/step-card.module';\nimport { MtnaWfFormSectionComponent } from './form-section.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfStepCardModule, MatDividerModule, MtnaWfFormItemModule, MtnaWfGetObjectTypePipeModule, MtnaHighlightModule],\n declarations: [MtnaWfFormSectionComponent],\n exports: [MtnaWfFormSectionComponent],\n})\nexport class MtnaWfFormSectionModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { mtnaLanguageIdToDisplay, MtnaLocaleIds, mtnaToLanguageId } from '@mtna/core-i18n-angular';\nimport {\n InternationalizedParagraphAnswerItem,\n InternationalizedShortAnswerItem,\n isInternationalizedParagraphAnswerItem,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-i18n-input-item',\n templateUrl: './i18n-input.component.html',\n styleUrls: ['./i18n-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfI18nInputComponent<\n I extends InternationalizedParagraphAnswerItem | InternationalizedShortAnswerItem\n> extends MtnaWfBaseValueItem<I, FormGroup> {\n override get item(): I {\n return super.item;\n }\n override set item(value: I) {\n super.item = value;\n if (isInternationalizedParagraphAnswerItem(value)) {\n this.isParagraph = true;\n }\n }\n isParagraph = false;\n _notInformationText = $localize`No Information Provided`;\n\n getFormControl(language: string): FormControl {\n const control = this.control?.controls[language];\n return (control as FormControl) ?? new FormControl();\n }\n\n getLanguageDisplay(language: string): string {\n if (MtnaLocaleIds.guard(language)) {\n const facetId = mtnaToLanguageId[language];\n const displayName = mtnaLanguageIdToDisplay[facetId];\n return `${displayName} (${facetId})`;\n }\n return language;\n }\n}\n","<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<ng-container *ngIf=\"!readonly && !!control; else readOnly\">\n <mat-form-field\n *ngFor=\"let language of item.languageTags\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n >\n <mat-label>{{ item.label + ' - ' + getLanguageDisplay(language) }}</mat-label>\n <ng-container *ngIf=\"isParagraph; else shortInput\">\n <textarea\n matInput\n [formControl]=\"getFormControl(language)\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n </ng-container>\n <ng-template #shortInput>\n <input\n matInput\n [formControl]=\"getFormControl(language)\"\n [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n [required]=\"item.required\"\n />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</ng-container>\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item *ngFor=\"let language of item.languageTags\" class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"item.label || item.header as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon> -->\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || _notInformationText + ' - ' + language }}</p>\n </mat-list-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetAutoCompletePipeModule, MtnaWfGetFormControlErrorPipeModule } from '../../../pipes';\nimport { MtnaWfI18nInputComponent } from './i18n-input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MtnaHighlightModule,\n MtnaWfGetAutoCompletePipeModule,\n MatListModule,\n ReactiveFormsModule,\n MtnaWfGetFormControlErrorPipeModule,\n ],\n declarations: [MtnaWfI18nInputComponent],\n exports: [MtnaWfI18nInputComponent],\n})\nexport class MtnaWfI18nInputModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport {\n DecimalAnswerItem,\n isDecimalAnswerItem,\n isParagraphAnswerItem,\n isWholeNumberItem,\n ParagraphAnswerItem,\n ShortAnswerItem,\n WholeNumberAnswerItem,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-input-item',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfInputComponent<\n I extends DecimalAnswerItem | ParagraphAnswerItem | ShortAnswerItem | WholeNumberAnswerItem\n> extends MtnaWfBaseValueItem<I, FormControl> {\n override get item(): I {\n return super.item;\n }\n override set item(value: I) {\n super.item = value;\n if (isDecimalAnswerItem(value) || isWholeNumberItem(value)) {\n this.isNumberInput = true;\n } else if (isParagraphAnswerItem(value)) {\n this.isParagraph = true;\n }\n }\n\n isParagraph = false;\n isNumberInput = false;\n _noInformationText = $localize`No Information Provided`;\n}\n","<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <textarea\n *ngIf=\"isParagraph; else shortInput\"\n matInput\n [formControl]=\"control\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n\n <ng-template #shortInput>\n <input matInput [formControl]=\"control!\" [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\" [required]=\"item.required\" />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"item.label || item.header as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon> -->\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || _noInformationText }}</p>\n </mat-list-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetAutoCompletePipeModule, MtnaWfGetFormControlErrorPipeModule } from '../../../pipes';\nimport { MtnaWfInputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n FormsModule,\n MatListModule,\n MtnaWfGetAutoCompletePipeModule,\n MtnaWfGetFormControlErrorPipeModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n MatInputModule,\n ],\n declarations: [MtnaWfInputComponent],\n exports: [MtnaWfInputComponent],\n})\nexport class MtnaWfInputModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { MultipleChoiceItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseSingleSelectionParentValueItem } from '../../base-items/base-single-selection-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-multiple-choice-item',\n templateUrl: './multiple-choice.component.html',\n styleUrls: ['./multiple-choice.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfMultipleChoiceComponent extends MtnaWfBaseSingleSelectionParentValueItem<MultipleChoiceItem> {}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"control\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">\n <div class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control.invalid && (control.dirty || control.touched)\">\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n </div>\n <mat-radio-group class=\"control-item-content\" [formControl]=\"control\" (change)=\"selectionChange($event)\">\n <ng-container *ngFor=\"let opt of item.options; trackBy: _trackByOptionId\">\n <mat-radio-button [disableRipple]=\"readonly\" [disabled]=\"readonly || control.disabled\" [value]=\"opt.option.id\">{{\n opt.option.name\n }}</mat-radio-button>\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && !!controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </ng-container>\n </mat-radio-group>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule } from '../../../pipes/get-form-control-error.pipe';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfMultipleChoiceComponent } from './multiple-choice.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatRadioModule,\n MtnaWfFormItemModule,\n MtnaWfGetFormControlErrorPipeModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MtnaHighlightModule,\n ],\n declarations: [MtnaWfMultipleChoiceComponent],\n exports: [MtnaWfMultipleChoiceComponent],\n})\nexport class MtnaWfMultipleChoiceModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { NumberedListItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-ordered-list-item',\n templateUrl: './ordered-list-item.component.html',\n styleUrls: ['./ordered-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfOrderedListItemComponent extends MtnaWfBaseFormItem<NumberedListItem> {}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ol [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ol>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../../pipes/sanitize-html.pipe';\nimport { MtnaWfOrderedListItemComponent } from './ordered-list-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfOrderedListItemComponent],\n exports: [MtnaWfOrderedListItemComponent],\n})\nexport class MtnaWfOrderedListItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'mtna-wf-repeatable-item',\n template: ` <ng-content></ng-content> `,\n styles: [\n `\n mtna-wf-repeatable-item {\n display: block;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfRepeatableItemComponent {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfRepeatableItemComponent } from './repeatable-item.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MtnaWfRepeatableItemComponent],\n exports: [MtnaWfRepeatableItemComponent],\n})\nexport class MtnaWfRepeatableItemModule {}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { COMPLEX_STANDARD } from '@mtna/core-angular';\nimport { FormItem, MtnaWfFormItemChange, RepeatableItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfManagerService } from '../../../services/form-manager.service';\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-repeatable-item-container',\n templateUrl: './repeatable-item-container.component.html',\n styleUrls: ['./repeatable-item-container.component.scss'],\n animations: [\n trigger('repeatItemExpandCollapse', [\n state('in', style({ height: '*', margin: '*', opacity: 1 })),\n state('void', style({ height: 0, margin: 0, opacity: 0, visibility: 'hidden' })),\n transition(':enter', [animate(COMPLEX_STANDARD, style({ height: '*', margin: '*', opacity: 1 }))]),\n transition(':leave', animate(COMPLEX_STANDARD)),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfRepeatableItemContainerComponent extends MtnaWfBaseParentValueItem<RepeatableItem, FormGroup> {\n _addText = $localize`ADD`;\n\n constructor(cdr: ChangeDetectorRef, private manager: MtnaWfManagerService) {\n super(cdr);\n }\n\n addItem() {\n this.manager.changeMtnaFormItem(new MtnaWfFormItemChange(this.item.repeatableTemplateId, this.parentIds, 'ADD'));\n }\n\n removeItem(item: FormItem) {\n const conditionChanges = this.manager.generateConditionChangeArray(item, 'REMOVE');\n this.manager.changeMtnaFormItem(new MtnaWfFormItemChange(item.instanceId, this.parentIds, 'REMOVE', conditionChanges));\n }\n}\n","<mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled || false\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n></mtna-wf-item-header>\n<section [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <mtna-wf-repeatable-item\n @repeatItemExpandCollapse\n *ngFor=\"let subitem of item.items; let first = first; trackBy: 'instanceId' | mtnaTrackByProperty\"\n >\n <ng-container *ngIf=\"subitem | coerceFormItem as coercedSubItem\">\n <button\n *ngIf=\"!readonly && item.items.length > item.minOccurrences\"\n mat-icon-button\n class=\"item-remove-button\"\n color=\"warn\"\n (click)=\"removeItem(coercedSubItem)\"\n matTooltip=\"Remove Item\"\n i18n-matTooltip\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n <mtna-wf-item\n [item]=\"coercedSubItem\"\n [control]=\"!!control && !!control.controls ? control.controls[coercedSubItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </ng-container>\n </mtna-wf-repeatable-item>\n</section>\n<button *ngIf=\"!readonly\" mat-raised-button (click)=\"addItem()\" class=\"new-item-button\" color=\"primary\">\n {{ item.additionalText || _addText | uppercase }}\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MtnaHighlightModule, MtnaTrackByPropertyPipeModule } from '@mtna/core-angular';\n\nimport { MtnaWfCoerceFormItemPipeModule } from '../../../pipes';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfItemHeaderModule } from '../../item-header/item-header.module';\nimport { MtnaWfRepeatableItemModule } from '../repeatable-item/repeatable-item.module';\nimport { MtnaWfRepeatableItemContainerComponent } from './repeatable-item-container.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaWfItemHeaderModule,\n MtnaWfRepeatableItemModule,\n MtnaWfFormItemModule,\n MtnaHighlightModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n MtnaTrackByPropertyPipeModule,\n MtnaWfCoerceFormItemPipeModule,\n ],\n declarations: [MtnaWfRepeatableItemContainerComponent],\n exports: [MtnaWfRepeatableItemContainerComponent],\n})\nexport class MtnaWfRepeatableItemContainerModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport {\n MtnaInMemorySearchFacade,\n MtnaSearchDialogComponent,\n MtnaSearchDialogData,\n MtnaSearchDialogOutput,\n} from '@mtna/search-manager-angular';\nimport { ResourceReference, ResourceSearchItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-resource-search-item',\n templateUrl: './resource-search.component.html',\n styleUrls: ['./resource-search.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfResourceSearchComponent extends MtnaWfBaseValueItem<ResourceSearchItem, FormGroup> {\n private references: BehaviorSubject<ResourceReference[]> = new BehaviorSubject<ResourceReference[]>(this.item?.value ?? []);\n\n constructor(cdr: ChangeDetectorRef, protected searchFacade: MtnaInMemorySearchFacade, protected dialog: MatDialog) {\n super(cdr);\n }\n\n openDialog() {\n this.dialog\n .open<MtnaSearchDialogComponent<string>>(MtnaSearchDialogComponent, {\n data: new MtnaSearchDialogData<ResourceReference>(\n this.searchFacade,\n $localize`Select a Reference`,\n true,\n {\n ...this.item.initialQuery,\n target: this.item.searchTargetId,\n },\n undefined,\n true,\n {\n color: 'primary',\n disableSubResults: true,\n resizableColumns: true,\n selectable: true,\n multiSelectable: true,\n },\n undefined,\n undefined,\n this.references.value,\n true,\n 'SQUARE'\n ),\n })\n .afterClosed()\n .subscribe((output: MtnaSearchDialogOutput<string>) => {\n if (output && output.selections) {\n const values = [];\n for (const selection of output.selections) {\n values.push({ uri: selection } as ResourceReference);\n }\n this.references.next(values);\n }\n });\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div class=\"label-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <div class=\"label-text\">\n {{ item.label }}\n </div>\n <mat-divider fxFlex></mat-divider>\n</div>\n<div class=\"values-container\">\n <!-- <aria-ui-reference-list-table\n [path]=\"path\"\n [referenceConfiguration]=\"referenceConfiguration\"\n [references]=\"references\"\n [termReference]=\"termReference\"\n (openDetails)=\"openDetails.emit($event)\"\n (referenceSelected)=\"addButtonDisabled = !!$event\"\n (updateValues)=\"updateValues.emit($event)\"\n >\n </aria-ui-reference-list-table>\n -->\n <button mat-flat-button class=\"add-button\" color=\"primary\" [disabled]=\"readonly\" (click)=\"openDialog()\" i18n>\n Add Resource<mat-icon>add_circle_outline</mat-icon>\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { MtnaWfResourceSearchComponent } from './resource-search.component';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatDividerModule, MatIconModule, FlexLayoutModule],\n declarations: [MtnaWfResourceSearchComponent],\n exports: [MtnaWfResourceSearchComponent],\n})\nexport class MtnaWfResourceSearchModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TableItem, TableRowItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-table-item',\n templateUrl: './table-item.component.html',\n styleUrls: ['./table-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfTableFormItemComponent extends MtnaWfBaseParentValueItem<TableItem, FormGroup> {\n _trackByTableRow(index: number, row: TableRowItem) {\n return row.items\n .filter((i) => !!i)\n .map((item) => item.instanceId)\n .join('');\n }\n}\n","<table mat-table [dataSource]=\"item.tableRows\" [trackBy]=\"_trackByTableRow\">\n <ng-container *ngFor=\"let header of item.headers; let index = index\" [matColumnDef]=\"header\">\n <th mat-header-cell *matHeaderCellDef>{{ header }}</th>\n\n <td mat-cell *matCellDef=\"let rowItem\">\n <mtna-wf-item\n *ngIf=\"!!rowItem.items[index]\"\n [control]=\"!!control && !!control.controls ? control.controls[rowItem.items[index].instanceId] : undefined\"\n [item]=\"rowItem.items[index]\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"item.headers\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: item.headers\"></tr>\n</table>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatTableModule } from '@angular/material/table';\n\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfTableFormItemComponent } from './table-item.component';\n\n@NgModule({\n imports: [CommonModule, MatTableModule, MtnaWfFormItemModule],\n declarations: [MtnaWfTableFormItemComponent],\n exports: [MtnaWfTableFormItemComponent],\n})\nexport class MtnaWfTableFormItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-text-item',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTextItemComponent extends MtnaWfBaseFormItem<ValueItem<unknown>> {}\n","<p [innerHTML]=\"$any(item.value) | mtnaWfSanitizeHtml\" class=\"mtna-wf-text-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"></p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../../pipes/sanitize-html.pipe';\nimport { MtnaWfTextItemComponent } from './text.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfTextItemComponent],\n exports: [MtnaWfTextItemComponent],\n})\nexport class MtnaWfTextItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-title-item',\n templateUrl: './title.component.html',\n styleUrls: ['./title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTitleItemComponent extends MtnaWfBaseFormItem<ValueItem<unknown>> {}\n","<h3 class=\"mtna-wf-title-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">{{ item.value }}</h3>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetObjectTypePipeModule } from '../../../pipes/get-object-type.pipe';\nimport { MtnaWfTitleItemComponent } from './title.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfGetObjectTypePipeModule],\n declarations: [MtnaWfTitleItemComponent],\n exports: [MtnaWfTitleItemComponent],\n})\nexport class MtnaWfTitleItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { BulletedListItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-unordered-list-item',\n templateUrl: './unordered-list-item.component.html',\n styleUrls: ['./unordered-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfUnorderedListItemComponent extends MtnaWfBaseFormItem<BulletedListItem> {}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ul [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ul>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../../pipes/sanitize-html.pipe';\nimport { MtnaWfUnorderedListItemComponent } from './unordered-list-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfUnorderedListItemComponent],\n exports: [MtnaWfUnorderedListItemComponent],\n})\nexport class MtnaWfUnorderedListItemModule {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n InjectionToken,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { isPresent } from '@mtna/core-ts';\nimport { DateRange, YearQuarter, YearQuarterRangeItem } from '@mtna/web-form-ts';\nimport { merge, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\nexport const MTNA_WF_DEFAULT_YEAR_RANGE = new InjectionToken<MtnaWfDefaultYearRange>('mtna.wf.default.year.range');\n\nexport interface MtnaWfDefaultYearRange {\n numPastYears: number;\n numFutureYears: number;\n}\n\n@Component({\n selector: 'mtna-wf-year-quarter-item',\n templateUrl: './year-quarter.component.html',\n styleUrls: ['./year-quarter.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfYearQuarterComponent\n extends MtnaWfBaseValueItem<YearQuarterRangeItem, FormControl>\n implements AfterViewInit, OnDestroy, OnInit\n{\n @HostBinding('class.mtna-wf-year-quarter-item') yearQuarterItemClass = true;\n\n override get item(): YearQuarterRangeItem {\n return super.item;\n }\n override set item(value: YearQuarterRangeItem) {\n super.item = value;\n if (value.rangeLimits) {\n this.componentRangeLimits = value.rangeLimits;\n }\n }\n\n componentRangeLimits: DateRange<YearQuarter> | null | undefined;\n _quarterControl = new FormControl();\n _yearControl = new FormControl();\n _yearSelection = new Array<number>();\n\n private destroyObs = new Subject<void>();\n private defaultYearRange: MtnaWfDefaultYearRange;\n\n constructor(cdr: ChangeDetectorRef, @Optional() @Inject(MTNA_WF_DEFAULT_YEAR_RANGE) defaultYearRange?: MtnaWfDefaultYearRange) {\n super(cdr);\n this.defaultYearRange = defaultYearRange || { numFutureYears: 25, numPastYears: 25 };\n }\n\n ngAfterViewInit() {\n if (!this.readonly) {\n // Observe Year & Quarter value changes && set them on the item's control\n merge(this._yearControl.valueChanges, this._quarterControl.valueChanges)\n .pipe(takeUntil(this.destroyObs))\n .subscribe(() => {\n if (!this.control?.dirty && (this._yearControl.dirty || this._quarterControl.dirty)) {\n this.control?.markAsDirty();\n this.control?.markAsTouched();\n }\n if (isPresent(this._yearControl.value)) {\n const [year, quarter] = this.withinRangeLimits([this._yearControl.value, this._quarterControl.value]);\n this.control?.setValue({ year, quarter });\n }\n });\n\n // FIXME not sure we need this until we starting making this control\n // required/unrequired at the right time. Even then, this is super inneficient\n\n /*\n // Listen to this control for disabling local controls\n this.control.statusChanges\n .pipe(\n startWith(this.control.status),\n takeUntil(this.destroyObs)\n )\n .subscribe(status => {\n console.warn('statusChanges', status, this.control);\n // if this control is enabled, enable local controls if disabled\n if (this.control.enabled) {\n if (this._quarterControl.disabled || this._yearControl.disabled) {\n console.warn('[YearQuarterItem] enable the things');\n // this._quarterControl.enable();\n // this._yearControl.enable();\n }\n // else this control is disabled, so disable local controls if enabled\n } else if (this._quarterControl.enabled || this._yearControl.enabled) {\n console.warn('[YearQuarterItem] disable the things');\n // this._yearControl.disable();\n // this._quarterControl.disable();\n }\n });\n */\n }\n }\n\n ngOnDestroy() {\n this.destroyObs.next();\n this.destroyObs.complete();\n }\n\n ngOnInit() {\n // Set any initial value onto the Year & Quarter controls\n this._yearControl.setValue(this.control?.value ? this.control.value.year : null);\n this._quarterControl.setValue(this.control?.value ? this.control.value.quarter : null);\n\n // Create range limits if none exist\n if (!this.componentRangeLimits) {\n const thisYear = new Date().getFullYear();\n this.componentRangeLimits = {\n start: {\n year: thisYear - this.defaultYearRange.numPastYears,\n quarter: null,\n },\n end: {\n year: thisYear + this.defaultYearRange.numFutureYears,\n quarter: null,\n },\n };\n }\n\n // Populate the year selection\n for (let i = this.componentRangeLimits.start.year || 0; i <= (this.componentRangeLimits.end.year || 0); i++) {\n this._yearSelection.push(i);\n }\n\n if (this.readonly) {\n this.control?.disable();\n this._quarterControl.disable();\n this._yearControl.disable();\n }\n }\n\n /**\n * Sets the quarter value to `null` if the year & quarter is out of bounds of the range limits.\n * Otherwise, returns original value\n *\n * @param value `[number, number]` The selected [year, quarter] value\n * @returns `[number, number]` The original [year, quarter] value OR [year, null]\n */\n private withinRangeLimits: (value: [number, number]) => [number, number | null] = ([year, quarter]) => {\n const beyondUpperLimit =\n // year matches end year range limit\n year === this.componentRangeLimits?.end.year &&\n // quarter limit was provided\n isPresent(this.componentRangeLimits.end.quarter) &&\n // selected quarter is beyond quarter limit\n quarter > this.componentRangeLimits.end.quarter;\n\n const beyondLowerLimit =\n // year matches start year range limit\n year === this.componentRangeLimits?.start.year &&\n // quarter limit was provided\n isPresent(this.componentRangeLimits.start.quarter) &&\n // selected quarter is beyond quarter limit\n quarter < this.componentRangeLimits.start.quarter;\n\n if (beyondLowerLimit || beyondUpperLimit) {\n this._quarterControl.setValue(null, { emitEvent: false });\n return [year, null];\n }\n\n return [year, quarter];\n };\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div\n *ngIf=\"control\"\n class=\"year-quarter-container\"\n fxLayout=\"row\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfDateQuarterPipeModule, MtnaWfGetAvailableQuartersPipeModule, MtnaWfGetFormControlErrorPipeModule } from '../../../pipes';\nimport { MtnaWfYearQuarterComponent } from './year-quarter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n MatFormFieldModule,\n MatSelectModule,\n FormsModule,\n MtnaWfGetFormControlErrorPipeModule,\n MtnaWfGetAvailableQuartersPipeModule,\n MtnaWfDateQuarterPipeModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n ],\n declarations: [MtnaWfYearQuarterComponent],\n exports: [MtnaWfYearQuarterComponent],\n})\nexport class MtnaWfYearQuarterModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { YearQuarterRangeItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-year-quarter-range-item',\n templateUrl: './year-quarter-range.component.html',\n styleUrls: ['./year-quarter-range.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfYearQuarterRangeComponent extends MtnaWfBaseValueItem<YearQuarterRangeItem, FormGroup> {\n @HostBinding('class.mtna-wf-year-quarter-range-item') yearQuarterRangeClass = true;\n\n override get item(): YearQuarterRangeItem {\n return super.item;\n }\n override set item(item: YearQuarterRangeItem) {\n super.item = item;\n // Create fake items for the underlying date-item component\n this._startItem = { ...item, value: undefined };\n this._endItem = { ...item, value: undefined };\n }\n\n _startItem!: YearQuarterRangeItem;\n _endItem!: YearQuarterRangeItem;\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-year-quarter-item\n [item]=\"_startItem\"\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n <span fxFlex=\"14px\">to</span>\n <mtna-wf-year-quarter-item\n [item]=\"_endItem\"\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfCoerceFormControlPipeModule } from '../../../pipes/coerce-form-control.pipe';\nimport { MtnaWfYearQuarterModule } from '../year-quarter/year-quarter.module';\nimport { MtnaWfYearQuarterRangeComponent } from './year-quarter-range.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfYearQuarterModule, MtnaHighlightModule, FlexLayoutModule, MtnaWfCoerceFormControlPipeModule],\n declarations: [MtnaWfYearQuarterRangeComponent],\n exports: [MtnaWfYearQuarterRangeComponent],\n})\nexport class MtnaWfYearQuarterRangeModule {}\n","import { InjectedComponent } from '@mtna/core-angular';\n\nimport {\n MtnaWfBooleanComponent,\n MtnaWfCheckboxComponent,\n MtnaWfDateComponent,\n MtnaWfDateRangeComponent,\n MtnaWfDropdownComponent,\n MtnaWfFileUploadComponent,\n MtnaWfFormGroupComponent,\n MtnaWfFormSectionComponent,\n MtnaWfI18nInputComponent,\n MtnaWfInputComponent,\n MtnaWfMultipleChoiceComponent,\n MtnaWfOrderedListItemComponent,\n MtnaWfRepeatableItemContainerComponent,\n MtnaWfResourceSearchComponent,\n MtnaWfTextItemComponent,\n MtnaWfTitleItemComponent,\n MtnaWfUnorderedListItemComponent,\n MtnaWfYearQuarterComponent,\n MtnaWfYearQuarterRangeComponent,\n} from '../form-item-impl';\nimport {\n BOOLEAN_ITEM_ID,\n BULLETED_LIST_ITEM_ID,\n CHECKBOX_ITEM_ID,\n DATE_ITEM_ID,\n DECIMAL_ANSWER_ITEM_ID,\n DROPDOWN_ITEM_ID,\n FILE_UPLOAD_ITEM_ID,\n FORM_ITEM_GROUP_IMPL_ID,\n I18N_PARAGRAPH_ANSWER_ITEM_ID,\n I18N_SHORT_ANSWER_ITEM_ID,\n MULTIPLE_CHOICE_ITEM_ID,\n NUMBERED_LIST_ITEM_ID,\n OFFSET_DATE_RANGE_ITEM_ID,\n PARAGRAPH_ANSWER_ITEM_ID,\n REPEATABLE_ITEM_ID,\n RESOURCE_SEARCH_ITEM_ID,\n SECTION_ID,\n SHORT_ANSWER_ITEM_ID,\n TEXT_ITEM_ID,\n TITLE_ITEM_ID,\n WHOLE_NUMBER_ANSWER_ITEM_ID,\n YEAR_QUARTER_RANGE_ITEM_ID,\n} from '@mtna/web-form-ts';\n\nexport const MTNA_WF_ITEM_INJECTED_COMPONENTS: InjectedComponent[] = [\n // Boolean Item Component\n {\n key: BOOLEAN_ITEM_ID,\n component: MtnaWfBooleanComponent,\n },\n // Checkbox Item Component\n {\n key: CHECKBOX_ITEM_ID,\n component: MtnaWfCheckboxComponent,\n },\n // Date Item Component\n {\n key: DATE_ITEM_ID,\n component: MtnaWfDateComponent,\n },\n // Date Range Item Component\n {\n key: OFFSET_DATE_RANGE_ITEM_ID,\n component: MtnaWfDateRangeComponent,\n },\n // Dropdown Item Component\n {\n key: DROPDOWN_ITEM_ID,\n component: MtnaWfDropdownComponent,\n },\n // File Upload Item Component\n {\n key: FILE_UPLOAD_ITEM_ID,\n component: MtnaWfFileUploadComponent,\n },\n // Form Item Group Component\n {\n key: FORM_ITEM_GROUP_IMPL_ID,\n component: MtnaWfFormGroupComponent,\n },\n // Form Section Component\n {\n key: SECTION_ID,\n component: MtnaWfFormSectionComponent,\n },\n // I18n Input Item Components\n {\n key: I18N_PARAGRAPH_ANSWER_ITEM_ID,\n component: MtnaWfI18nInputComponent,\n },\n {\n key: I18N_SHORT_ANSWER_ITEM_ID,\n component: MtnaWfI18nInputComponent,\n },\n // Input Item Components\n {\n key: DECIMAL_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n {\n key: PARAGRAPH_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n {\n key: SHORT_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n {\n key: WHOLE_NUMBER_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n // Mutliple Choice Item Component\n {\n key: MULTIPLE_CHOICE_ITEM_ID,\n component: MtnaWfMultipleChoiceComponent,\n },\n // Orderd List Item Component\n {\n key: NUMBERED_LIST_ITEM_ID,\n component: MtnaWfOrderedListItemComponent,\n },\n // Repeatable Item Container Component\n {\n key: REPEATABLE_ITEM_ID,\n component: MtnaWfRepeatableItemContainerComponent,\n },\n // Resource Search Item Component\n {\n key: RESOURCE_SEARCH_ITEM_ID,\n component: MtnaWfResourceSearchComponent,\n },\n // Table Item Component - NOTE: NOT USED\n // {\n // key: '',\n // component: MtnaWfTableFormItemComponent\n // },\n // Text Item Component\n {\n key: TEXT_ITEM_ID,\n component: MtnaWfTextItemComponent,\n },\n // Title Item Component\n {\n key: TITLE_ITEM_ID,\n component: MtnaWfTitleItemComponent,\n },\n // Unordered List Item Component\n {\n key: BULLETED_LIST_ITEM_ID,\n component: MtnaWfUnorderedListItemComponent,\n },\n // Year Quarter Item Component\n {\n key: 'us.mtna.web.form.item.impl.date.YearQuarterItem',\n component: MtnaWfYearQuarterComponent,\n },\n // Year Quarter Range Item Component\n {\n key: YEAR_QUARTER_RANGE_ITEM_ID,\n component: MtnaWfYearQuarterRangeComponent,\n },\n];\n","import { InjectedComponent, InjectedComponentProvider } from '@mtna/core-angular';\n\nimport { MTNA_WF_ITEM_INJECTED_COMPONENTS } from './form-item-injected-components';\n\nexport class MtnaWfItemComponentProvider extends InjectedComponentProvider {\n public getInjectedComponents(): InjectedComponent[] {\n return MTNA_WF_ITEM_INJECTED_COMPONENTS;\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { MtnaScrollDirection, MtnaScrollService } from '@mtna/core-angular';\nimport { FormItem, OutlineStep, ProgressiveForm } from '@mtna/web-form-ts';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\n\nimport { FormStep } from '../../../models';\nimport { MtnaWfManagerService, MtnaWfNgFormService, MtnaWfUIService } from '../../../services';\nimport { flattenSteps, generateFormStepsFromOutline } from '../../../utilities';\nimport { MtnaWfBaseFormComponent } from '../../base-form';\n\n/* eslint-disable @angular-eslint/no-outputs-metadata-property */\n@Component({\n selector: 'mtna-wf-progressive-form',\n templateUrl: './progressive-form.component.html',\n styleUrls: ['./progressive-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n outputs: ['status', 'focusedSection', 'mtnaFormChange'],\n})\nexport class MtnaWfProgressiveFormComponent extends MtnaWfBaseFormComponent<ProgressiveForm> {\n static ngAcceptInputType_loading: BooleanInput;\n\n override get mtnaForm(): ProgressiveForm | null | undefined {\n return super.mtnaForm as ProgressiveForm | null | undefined;\n }\n override set mtnaForm(form: ProgressiveForm | null | undefined) {\n if (form) {\n this.formItems = form.items;\n this.resetValues();\n this.generateFormSteps(form.outline);\n this.checkAllStepsIds(form.items);\n super.steps = this.determineStepsToPassToSuper(form.items);\n super.mtnaForm = form;\n\n this.setStepStatus();\n this.setFormStatusSubscription();\n this.showPreviousButton = this.showPreviousButtonFn();\n this.lastStepActive = this.checkLastStepActive();\n this.cdr.markForCheck();\n }\n }\n\n @Input()\n get loading(): boolean {\n return this._loading;\n }\n set loading(value: boolean) {\n this._loading = coerceBooleanProperty(value);\n }\n private _loading = false;\n\n /** Emits the updated ProgressiveForm value */\n @Output() nextStepSelected = new EventEmitter<ProgressiveForm>();\n /**\n * Emits the previous steps instanceId.\n * Since this component is always on the last step and the last item, we can always count on having the instanceId of the previous step.\n */\n @Output() previousStepSelected = new EventEmitter<string>();\n /**\n * Emits the instanceId of the selected step.\n * If the currently active step is the step that is selected, this will not emit.\n */\n @Output() showSelectedStepId = new EventEmitter<string>();\n\n activeStepId$ = new BehaviorSubject<string | undefined>(undefined);\n formItems: FormItem[] = [];\n formStatusSubscriber: Subscription | undefined;\n formStatusValid$ = new BehaviorSubject<boolean>(false);\n lastStepActive = false;\n scrollDirection$: Observable<MtnaScrollDirection> = this.scrollService.getScrollDirection();\n showPreviousButton = false;\n stepArray$ = new BehaviorSubject<FormStep[]>([]);\n\n constructor(\n mtnaFormManager: MtnaWfManagerService,\n ngFormService: MtnaWfNgFormService,\n uiService: MtnaWfUIService,\n private cdr: ChangeDetectorRef,\n private scrollService: MtnaScrollService\n ) {\n super(mtnaFormManager, ngFormService, uiService);\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this.formStatusSubscriber) {\n this.formStatusSubscriber.unsubscribe();\n }\n }\n\n /**\n * Checks if the last step in the form is active.\n * @returns true if the last step in the form is active, otherwise false\n */\n checkLastStepActive = () => {\n if (this.stepArray$.value.length > 0) {\n return this.stepArray$.value[this.stepArray$.value.length - 1].active;\n } else if (this.stepArray$.value.length === 0) {\n return this.stepArray$.value[0].active;\n } else {\n return false;\n }\n };\n\n /**\n * Checks if the previous button should be shown.\n * @returns true if the previous button should be shown, otherwise false\n */\n showPreviousButtonFn(): boolean {\n if (this.activeStepId$.value) {\n const indexOfActiveStep = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value);\n return indexOfActiveStep > 0;\n } else {\n return false;\n }\n }\n\n /**\n * Subscribes to the form status changes and updates the formStatusValid$ BehaviorSubject with the validity of the active step.\n */\n private setFormStatusSubscription(): void {\n if (this.ngForm) {\n // Used to set the initial validity of the active step, otherwise it will always default to false\n if (this.activeStepId$.value) {\n const initialValidity = this.ngForm.controls[this.activeStepId$.value]?.valid;\n this.formStatusValid$.next(initialValidity);\n }\n\n if (!this.formStatusSubscriber) {\n this.formStatusSubscriber = this.ngForm.statusChanges.subscribe(() => {\n if (this.activeStepId$.value) {\n if (this.ngForm) {\n const activeControlExists = Object.keys(this.ngForm.controls).includes(this.activeStepId$.value);\n if (activeControlExists) {\n const activeControl = this.ngForm.controls[this.activeStepId$.value];\n if (activeControl) {\n this.formStatusValid$.next(activeControl.valid);\n }\n }\n }\n }\n });\n }\n }\n }\n\n /**\n * Resets all necessary values to build to form each iteration.\n */\n private resetValues() {\n this.formStatusSubscriber?.unsubscribe();\n this.ngForm = undefined;\n this._steps = undefined;\n this.ngFormService.disposeForm();\n this.stepArray$.next([]);\n this.activeStepId$.next(undefined);\n }\n\n /**\n * Generates the steps for the form based on the outline property of the form.\n * @param outline the outline of the form that is the basis for the steps\n */\n private generateFormSteps(outline: OutlineStep[]) {\n if (this.stepArray$.value.length === 0) {\n const generatedFormSteps = generateFormStepsFromOutline(outline);\n const flattenedFormSteps = flattenSteps(generatedFormSteps);\n this.stepArray$.next(flattenedFormSteps);\n // Set the active step to the first step in the array for the first load\n const lastItemIndex = this.formItems.length - 1;\n const updatedSteps: FormStep[] = [];\n this.stepArray$.value.forEach((step) => {\n if (step.instanceId === this.formItems[lastItemIndex].instanceId || step.instanceId === this.formItems[lastItemIndex].templateId) {\n updatedSteps.push({ ...step, active: true, status: 'INVALID' });\n } else {\n updatedSteps.push(step);\n }\n });\n this.stepArray$.next(updatedSteps);\n }\n }\n\n /**\n * Checks all of the steps to ensure that each steps instanceId property matches the instanceId of the FormItem and updates the property if needed.\n * This finds the step based on the templateId. When the stepArray is first built, the templateId of the FormItem gets set as the steps instanceId.\n * Here, we just need to find the steps that match the templateId and update the instanceId.\n * Matching is based off of templateId reduces the number of steps that need to be checked/manipulated.\n *\n * @param formItems the FormItems to check against the steps\n */\n private checkAllStepsIds(formItems: FormItem[]) {\n formItems.forEach((item) => {\n const stepMatchedOnTemplateId = this.stepArray$.value.find((s) => s.instanceId === item.templateId);\n if (stepMatchedOnTemplateId) {\n stepMatchedOnTemplateId.instanceId = item.instanceId;\n if (stepMatchedOnTemplateId.active) {\n this.activeStepId$.next(item.instanceId);\n this.cdr.markForCheck();\n }\n }\n });\n }\n\n /**\n * Because the super class has no knowledge of the stepArray that have been generated for the form,\n * this function determines which steps need to be passed to the super class and the inherited _steps\n * property. The super class \"should\" obtain each step as it is passed in. This means that when the\n * call to either grab the form again or to get the next FormItem, should also continue to pass the\n * steps that have been generated.\n * @returns\n */\n private determineStepsToPassToSuper(items: FormItem[]): FormStep[] {\n const availableItemInstanceIds: string[] = [];\n items.forEach((item) => {\n availableItemInstanceIds.push(item.instanceId);\n });\n\n const stepsToPass: FormStep[] = [];\n this.stepArray$.value.forEach((step) => {\n if (availableItemInstanceIds.includes(step.instanceId)) {\n stepsToPass.push(step);\n }\n });\n\n return stepsToPass;\n }\n\n /**\n * Sets the status of each step in the form based on the validity of the form control.\n * If the form control key is not found in the controls of the form, the status is set to 'PLACEHOLDER'.\n */\n private setStepStatus() {\n const updatedSteps: FormStep[] = [];\n this.stepArray$.value.forEach((step) => {\n if (this.ngForm) {\n const controlKeyExists = Object.keys(this.ngForm.controls).includes(step.instanceId);\n if (controlKeyExists) {\n updatedSteps.push({ ...step, status: this.ngForm.controls[step.instanceId].valid ? 'VALID' : 'INVALID' });\n } else {\n updatedSteps.push({ ...step, status: 'PLACEHOLDER' });\n }\n }\n });\n this.stepArray$.next(updatedSteps);\n }\n\n /**\n * Emits the next or previous step templateId based on the direction provided.\n * @param stepDirection the direction of the step to emit\n */\n showDirectionalStep(stepDirection: 'previous' | 'next') {\n // const stepTemplateId = this.getDirectionalStepTemplateId(stepDirection);\n // if (stepTemplateId) {\n if (this.mtnaForm) {\n const formValue = this.ngFormService.getFormValue();\n const updatedForm = this.mtnaFormManager.insertNewValues(this.mtnaForm, formValue) as ProgressiveForm;\n if (stepDirection === 'next') {\n this.nextStepSelected.emit(updatedForm);\n this.scrollService.scrollTop();\n } else {\n const previousStepIndex = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value) - 1;\n if (previousStepIndex >= 0) {\n const previousStep = this.stepArray$.value[previousStepIndex];\n if (previousStep) {\n this.previousStepSelected.emit(previousStep.instanceId);\n this.scrollService.scrollTop();\n }\n }\n }\n }\n }\n\n /**\n * Shows the selected step as the active step in the form.\n * To be used on the mtna-wf-form-stepper components \"selected\" output.\n * @param step the step to show as the active step\n */\n showSelectedStep(step: FormStep) {\n if (this.activeStepId$.value !== step.instanceId) {\n this.showSelectedStepId.emit(step.instanceId);\n this.activeStepId$.next(step.instanceId);\n this.scrollService.scrollTop();\n }\n }\n\n _trackByStepInstanceId(index: number, formStep: FormStep) {\n return formStep.instanceId;\n }\n}\n","<div fxLayout=\"row\" class=\"mtna-wf-progressive-form__container\">\n <mtna-wf-stepper\n *ngIf=\"stepArray$ | async as steps\"\n fxFlex=\"200px\"\n [steps]=\"steps\"\n (selected)=\"showSelectedStep($event)\"\n ></mtna-wf-stepper>\n <div fxFlex class=\"mtna-wf-progressive-form__form-container\">\n <form *ngIf=\"ngForm\" [formGroup]=\"ngForm\" [formDisabled]=\"readonly\">\n <ng-container *ngFor=\"let item of mtnaForm?.items | mtnaWfFilterHiddenItems\">\n <ng-container *ngIf=\"activeStepId$ | async as activeStepId\">\n <mtna-wf-item\n *ngIf=\"item.instanceId === activeStepId\"\n [item]=\"item\"\n [control]=\"ngForm.controls[item.instanceId]\"\n [readonly]=\"readonly\"\n [parentIds]=\"componentIds\"\n [step]=\"_steps?.[item.instanceId]\"\n (focusedSection)=\"focusedSection.emit($event)\"\n ></mtna-wf-item>\n </ng-container>\n </ng-container>\n </form>\n <div *ngIf=\"!loading\" class=\"mtna-wf-progressive-form__stepper-actions\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"26px\">\n <button *ngIf=\"showPreviousButton\" mat-stroked-button color=\"primary\" (click)=\"showDirectionalStep('previous')\" i18n>\n Previous Step\n </button>\n <ng-container *ngIf=\"!lastStepActive; else parentActions\">\n <button mat-raised-button color=\"primary\" (click)=\"showDirectionalStep('next')\" i18n>Next Step</button>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #parentActions>\n <ng-content></ng-content>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { GetActiveFormStepItemPipeModule, GetProgressiveFormItemPipeModule, MtnaWfFilterHiddenItemsPipeModule } from '../../../pipes';\nimport { MtnaWfFormDisablerModule } from '../../form-disabler/form-disabler.module';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfFormStepperModule } from '../../form-stepper/form-stepper.module';\nimport { MtnaWfProgressiveFormComponent } from './progressive-form.component';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n FlexLayoutModule,\n FormsModule,\n MatButtonModule,\n MatIconModule,\n MtnaWfFormDisablerModule,\n MtnaWfFormItemModule,\n ReactiveFormsModule,\n MtnaWfFilterHiddenItemsPipeModule,\n MtnaWfFormStepperModule,\n GetProgressiveFormItemPipeModule,\n GetActiveFormStepItemPipeModule,\n MtnaWfFilterHiddenItemsPipeModule,\n ],\n declarations: [MtnaWfProgressiveFormComponent],\n exports: [MtnaWfProgressiveFormComponent],\n})\nexport class MtnaWfProgressiveFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["isKey","ErrorStateMatcher","i0","Injectable","isForm","FormGroup","Validators","CHECKBOX_ITEM_ID","FormArray","FormControl","DECIMAL_ANSWER_ITEM_ID","WHOLE_NUMBER_ANSWER_ITEM_ID","isWholeNumberItem","isNullOrUndefined","PARAGRAPH_ANSWER_ITEM_ID","SHORT_ANSWER_ITEM_ID","I18N_PARAGRAPH_ANSWER_ITEM_ID","I18N_SHORT_ANSWER_ITEM_ID","isProgressiveForm","isRepeatableItem","isSection","isFormItemGroupImpl","isTableItem","isOffsetDateRangeItem","isYearQuarterRangeItem","isPresent","isType","trigger","state","style","transition","animate","isObject","InjectionToken","isDataCubeItem","toLetters","FORM_ITEM_GROUP_IMPL_ID","SECTION_ID","TEXT_ITEM_ID","TITLE_ITEM_ID","templateObject_1","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","templateObject_7","templateObject_8","templateObject_9","templateObject_10","templateObject_11","templateObject_12","templateObject_13","BehaviorSubject","isConditionalItem","isOptionItemImpl","isOptionGroupItemImpl","Optional","Inject","mixinDestroyNotifier","Component","Input","coerceBooleanProperty","HostBinding","EventEmitter","Output","MatRadioChange","MatSelectChange","MtnaComponentInjector","INJECTION_SERVICE","i1","Pipe","NgModule","i2.MtnaWfSanitizeHtmlPipe","ChangeDetectionStrategy","ViewEncapsulation","i1.MtnaWfUIService","i2","i3.MtnaWfItemInjector","i4.MtnaWfItemHeaderComponent","i5","MAT_DIALOG_DATA","i2.MtnaWfFormItemComponent","i3","i4","CommonModule","i1.MtnaWfGetObjectTypePipe","isValueItem","MtnaAnnotationsIndicatorModule","MatMomentDateModule","MatButtonModule","MatDialogModule","skipWhile","take","Subject","MtnaWfSerializer.insertFormItemValues","MtnaWfSerializer.determineSerializeFunctionToUse","MtnaWfFormItemChange","i1.MtnaWfApiService","i2.MtnaWfNgFormService","i3.MtnaWfUIService","MtnaSearchSelectionService","takeUntil","distinctUntilChanged","Subscription","i1.MtnaWfManagerService","i1.MtnaWfNgFormService","i1.MtnaWfFormDisablerComponent","i5.MtnaWfFilterHiddenItemsPipe","_FormStepMixinBase","mixinColor","i1.MtnaWfFormStepComponent","i6","i7","i8.MtnaWfFormStepGroupPipe","i9.CoerceFormStepPipe","i10.CoerceFormStepGroupPipe","i11.ChildStepActivePipe","i12.GetStepAriaLabel","FlexLayoutModule","MatDividerModule","MtnaStatusCircleModule","MatRippleModule","MatTooltipModule","MatIconModule","i6.MtnaWfSanitizeHtmlPipe","A11yModule","MatCardModule","FormsModule","ReactiveFormsModule","i3.MtnaWfFormItemComponent","MatSlideToggleModule","MtnaHighlightModule","i1.MtnaWfDialogService","i5.MtnaWfFormItemComponent","i8","i9","i10","i11","i12.MtnaWfGetFormControlErrorPipe","MatFormFieldModule","MatCheckboxModule","MatDatepicker","i7.MtnaWfGetFormControlErrorPipe","ViewChild","MatInputModule","MatDatepickerModule","i1.MtnaWfDateComponent","i5.MtnaWfCoerceFormControlPipe","i9.MtnaWfGetFormControlErrorPipe","i10.MtnaWfGetListIconPipe","i11.MtnaWfGetSelectedOptionNamePipe","MatSelectModule","MatListModule","MtnaFileDownloadModule","MtnaFileUploadModule","MatProgressSpinnerModule","DROPDOWN_ITEM_ID","i1.MtnaWfItemHeaderComponent","i7.MtnaWfItemsWithValuePipe","i1.MtnaWfStepCardComponent","i6.MtnaWfGetObjectTypePipe","isInternationalizedParagraphAnswerItem","MtnaLocaleIds","mtnaToLanguageId","mtnaLanguageIdToDisplay","i8.MtnaWfGetAutoCompletePipe","isDecimalAnswerItem","isParagraphAnswerItem","MatRadioModule","i3.MtnaWfSanitizeHtmlPipe","i2.MtnaWfItemHeaderComponent","i3.MtnaWfRepeatableItemComponent","i6.MtnaWfFormItemComponent","i10.MtnaWfCoerceFormItemPipe","COMPLEX_STANDARD","MtnaTrackByPropertyPipeModule","MtnaSearchDialogComponent","MtnaSearchDialogData","MatTableModule","merge","i8.MtnaWfGetFormControlErrorPipe","i9.MtnaWfGetAvailableQuartersPipe","i10.MtnaWfDateQuarterPipe","i1.MtnaWfYearQuarterComponent","BOOLEAN_ITEM_ID","DATE_ITEM_ID","OFFSET_DATE_RANGE_ITEM_ID","FILE_UPLOAD_ITEM_ID","MULTIPLE_CHOICE_ITEM_ID","NUMBERED_LIST_ITEM_ID","REPEATABLE_ITEM_ID","RESOURCE_SEARCH_ITEM_ID","BULLETED_LIST_ITEM_ID","YEAR_QUARTER_RANGE_ITEM_ID","InjectedComponentProvider","i3.MtnaWfFormStepperComponent","i4.MtnaWfFormDisablerComponent","i10.MtnaWfFilterHiddenItemsPipe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;;;;;;;;EAagF;EAChF;EAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC,EAAA;MAC/B,aAAa,GAAG,MAAM,CAAC,cAAc;WAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;UAC5E,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,KAAK,IAAI,CAAC,IAAI,CAAC;cAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;kBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACtG,IAAA,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEc,SAAA,SAAS,CAAC,CAAC,EAAE,CAAC,EAAA;EAC5B,IAAA,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;EACrC,QAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;EAC9F,IAAA,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;EACvC,IAAA,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;EACvF,CAAC;EAEM,IAAI,QAAQ,GAAG,YAAA;MACpB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAA;EAC3C,QAAA,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;EACjD,YAAA,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;cACjB,KAAK,IAAI,CAAC,IAAI,CAAC;kBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;sBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAChF,SAAA;EACD,QAAA,OAAO,CAAC,CAAC;EACb,KAAC,CAAA;MACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;EACzC,CAAC,CAAA;EAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;MACzB,IAAI,CAAC,GAAG,EAAE,CAAC;MACX,KAAK,IAAI,CAAC,IAAI,CAAC;UAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;cAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;UAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;cACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAC1E,gBAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACzB,SAAA;EACL,IAAA,OAAO,CAAC,CAAC;EACX,CAAC;EAEK,SAAU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAA;EACtD,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;MAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;EAAE,QAAA,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;EAC1H,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;EAAE,YAAA,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;EAAE,gBAAA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;EAClJ,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAChE,CAAC;EAEe,SAAA,OAAO,CAAC,UAAU,EAAE,SAAS,EAAA;EAC3C,IAAA,OAAO,UAAU,MAAM,EAAE,GAAG,EAAA,EAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;EACvE,CAAC;EAEe,SAAA,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAA;EACrG,IAAA,SAAS,MAAM,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU;UAAE,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;EACvH,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;MACjG,IAAI,MAAM,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;MACxF,IAAI,UAAU,GAAG,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EACzG,IAAA,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;EACpB,IAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;UAC7C,IAAI,OAAO,GAAG,EAAE,CAAC;UACjB,KAAK,IAAI,CAAC,IAAI,SAAS;EAAE,YAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;EACzE,QAAA,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM;EAAE,YAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACxE,QAAA,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,EAAA,EAAI,IAAI,IAAI;cAAE,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;EAC9K,QAAA,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;UAC/H,IAAI,IAAI,KAAK,UAAU,EAAE;cACrB,IAAI,MAAM,KAAK,KAAK,CAAC;kBAAE,SAAS;EAChC,YAAA,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;EAC1F,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;EAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;EAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;EAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;EAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;EAAE,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EACxD,SAAA;EACI,aAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;cACzB,IAAI,IAAI,KAAK,OAAO;EAAE,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;EACzC,gBAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC5B,SAAA;EACJ,KAAA;EACD,IAAA,IAAI,MAAM;UAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;MACtE,IAAI,GAAG,IAAI,CAAC;EACd,CAAC;EAAA,CAAC;WAEc,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAA;EAC5D,IAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;EACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC1C,QAAA,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC3F,KAAA;MACD,OAAO,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;EACnC,CAAC;EAAA,CAAC;EAEI,SAAU,SAAS,CAAC,CAAC,EAAA;EACzB,IAAA,OAAO,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EAClD,CAAC;EAAA,CAAC;WAEc,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAA;MAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ;UAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;EAC/F,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;EACvH,CAAC;EAAA,CAAC;EAEc,SAAA,UAAU,CAAC,WAAW,EAAE,aAAa,EAAA;MACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;UAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;EACjI,CAAC;EAEK,SAAU,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAA;EACzD,IAAA,SAAS,KAAK,CAAC,KAAK,EAAA,EAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAA,EAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;EAC5G,IAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAA;EACrD,QAAA,SAAS,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAAE,SAAA;EAAC,QAAA,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,SAAA,EAAE;EAC3F,QAAA,SAAS,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;EAAE,SAAA;EAAC,QAAA,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,SAAA,EAAE;EAC9F,QAAA,SAAS,IAAI,CAAC,MAAM,EAAA,EAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;EAC9G,QAAA,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;EAC1E,KAAC,CAAC,CAAC;EACL,CAAC;EAEe,SAAA,WAAW,CAAC,OAAO,EAAE,IAAI,EAAA;EACvC,IAAA,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAA,EAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;EAAE,YAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACzJ,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAClE,SAAS,IAAI,CAAC,EAAE,EAAA;EACZ,QAAA,IAAI,CAAC;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;EAC9D,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;cAAE,IAAI;EAC1C,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;EAAE,oBAAA,OAAO,CAAC,CAAC;EAC7J,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;EAAE,oBAAA,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;EACxC,gBAAA,QAAQ,EAAE,CAAC,CAAC,CAAC;EACT,oBAAA,KAAK,CAAC,CAAC;EAAC,oBAAA,KAAK,CAAC;0BAAE,CAAC,GAAG,EAAE,CAAC;0BAAC,MAAM;EAC9B,oBAAA,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;EAAC,wBAAA,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EACxD,oBAAA,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;EAAC,wBAAA,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;EAAC,wBAAA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;0BAAC,SAAS;EACjD,oBAAA,KAAK,CAAC;EAAE,wBAAA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;EAAC,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;EACjD,oBAAA;EACI,wBAAA,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;8BAAE,CAAC,GAAG,CAAC,CAAC;8BAAC,SAAS;EAAE,yBAAA;EAC5G,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;8BAAC,MAAM;EAAE,yBAAA;EACtF,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;8BAAC,CAAC,GAAG,EAAE,CAAC;8BAAC,MAAM;EAAE,yBAAA;0BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAAC,4BAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;8BAAC,MAAM;EAAE,yBAAA;0BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;EAAE,4BAAA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;EACtB,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;EAC9B,iBAAA;kBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;EAC9B,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EAAE,gBAAA,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;kBAAC,CAAC,GAAG,CAAC,CAAC;EAAE,aAAA;EAAS,oBAAA;EAAE,gBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAAE,aAAA;EAC1D,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;EAAE,YAAA,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;UAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OACpF;EACH,CAAC;EAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;MAChE,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACjD,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;EAC/E,QAAA,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAA,EAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;EACjE,KAAA;MACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;EACrC,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;MACxB,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACf,CAAC,CAAC,CAAC;EAEa,SAAA,YAAY,CAAC,CAAC,EAAE,CAAC,EAAA;MAC/B,KAAK,IAAI,CAAC,IAAI,CAAC;EAAE,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;EAAE,YAAA,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAChH,CAAC;EAEK,SAAU,QAAQ,CAAC,CAAC,EAAA;MACxB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;EAC9E,IAAA,IAAI,CAAC;EAAE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACxB,IAAA,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;UAAE,OAAO;EAC1C,YAAA,IAAI,EAAE,YAAA;EACF,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;sBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;EACnC,gBAAA,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;eAC3C;WACJ,CAAC;EACF,IAAA,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;EACzF,CAAC;EAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;EACzB,IAAA,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;EAC3D,IAAA,IAAI,CAAC,CAAC;EAAE,QAAA,OAAO,CAAC,CAAC;EACjB,IAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;MACjC,IAAI;UACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;EAAE,YAAA,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;EAC9E,KAAA;EACD,IAAA,OAAO,KAAK,EAAE;EAAE,QAAA,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;EAAE,KAAA;EAC/B,YAAA;UACJ,IAAI;EACA,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;EAAE,gBAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACpD,SAAA;EACO,gBAAA;EAAE,YAAA,IAAI,CAAC;kBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;EAAE,SAAA;EACpC,KAAA;EACD,IAAA,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;WACgB,QAAQ,GAAA;EACtB,IAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;EAC9C,QAAA,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACzC,IAAA,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;WACgB,cAAc,GAAA;MAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;EAAE,QAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;MACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;UAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;cAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACpB,IAAA,OAAO,CAAC,CAAC;EACX,CAAC;WAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAA;EAC1C,IAAA,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;EAAE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;cACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;EACpB,gBAAA,IAAI,CAAC,EAAE;EAAE,oBAAA,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;kBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;EACnB,aAAA;EACJ,SAAA;EACD,IAAA,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC3D,CAAC;EAEK,SAAU,OAAO,CAAC,CAAC,EAAA;MACvB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;EACvE,CAAC;WAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAA;MAC7D,IAAI,CAAC,MAAM,CAAC,aAAa;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;EACvF,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;EAC9D,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAc,EAAA,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;MACnI,SAAS,WAAW,CAAC,CAAC,EAAI,EAAA,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;MAC/F,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;UAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;EAAC,QAAA,IAAI,CAAC;cAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAAE,KAAA,EAAE;EACxK,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;UAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAAE,KAAA;EAAC,IAAA,OAAO,CAAC,EAAE;UAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAAE,KAAA,EAAE;MAClF,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EACxH,IAAA,SAAS,OAAO,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;EAClD,IAAA,SAAS,MAAM,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;EAClD,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;EAAE,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACpF,CAAC;EAEK,SAAU,gBAAgB,CAAC,CAAC,EAAA;MAChC,IAAI,CAAC,EAAE,CAAC,CAAC;EACT,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;EAC5I,IAAA,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;EACxI,CAAC;EAEK,SAAU,aAAa,CAAC,CAAC,EAAA;MAC7B,IAAI,CAAC,MAAM,CAAC,aAAa;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;MACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;EACnC,IAAA,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACjN,SAAS,IAAI,CAAC,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAI,EAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;EAChK,IAAA,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAI,EAAA,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;EAC9H,CAAC;EAEe,SAAA,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAA;MAC9C,IAAI,MAAM,CAAC,cAAc,EAAE;EAAE,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;EAAE,KAAA;EAAM,SAAA;EAAE,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;EAAE,KAAA;EAC/G,IAAA,OAAO,MAAM,CAAC;EAChB,CAAC;EAAA,CAAC;EAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;EACrD,IAAA,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;EACtE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;EAChB,IAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;EACnB,CAAC,CAAC;EAEI,SAAU,YAAY,CAAC,GAAG,EAAA;EAC9B,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;EAAE,QAAA,OAAO,GAAG,CAAC;MACtC,IAAI,MAAM,GAAG,EAAE,CAAC;MAChB,IAAI,GAAG,IAAI,IAAI;UAAE,KAAK,IAAI,CAAC,IAAI,GAAG;EAAE,YAAA,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EAAE,gBAAA,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;EACzI,IAAA,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAChC,IAAA,OAAO,MAAM,CAAC;EAChB,CAAC;EAEK,SAAU,eAAe,CAAC,GAAG,EAAA;EACjC,IAAA,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;EAC1D,CAAC;EAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;EAC7D,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;EACnL,IAAA,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAChG,CAAC;EAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;MACpE,IAAI,IAAI,KAAK,GAAG;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;EACxE,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;EAClL,IAAA,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;EAC5G,CAAC;EAEe,SAAA,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAA;EACnD,IAAA,IAAI,QAAQ,KAAK,IAAI,KAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;EACzJ,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAChF,CAAC;WAEe,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAA;MACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;UACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC;UACtG,IAAI,OAAO,EAAE,KAAK,CAAC;EACnB,QAAA,IAAI,KAAK,EAAE;cACT,IAAI,CAAC,MAAM,CAAC,YAAY;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;EACrF,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;EACtC,SAAA;EACD,QAAA,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;cACtB,IAAI,CAAC,MAAM,CAAC,OAAO;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;EAC3E,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;EAChC,YAAA,IAAI,KAAK;kBAAE,KAAK,GAAG,OAAO,CAAC;EAC5B,SAAA;UACD,IAAI,OAAO,OAAO,KAAK,UAAU;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;EACjF,QAAA,IAAI,KAAK;cAAE,OAAO,GAAG,cAAa,IAAI;EAAE,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAAE,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EAAE,gBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,aAAA,EAAE,CAAC;EACtG,QAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;EAClE,KAAA;EACI,SAAA,IAAI,KAAK,EAAE;UACd,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;EACjC,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED,IAAI,gBAAgB,GAAG,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAA;EACnH,IAAA,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EAC3B,IAAA,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;EACnF,CAAC,CAAC;EAEI,SAAU,kBAAkB,CAAC,GAAG,EAAA;MACpC,SAAS,IAAI,CAAC,CAAC,EAAA;UACb,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,0CAA0C,CAAC,GAAG,CAAC,CAAC;EAC9G,QAAA,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;OACrB;EACD,IAAA,SAAS,IAAI,GAAA;EACX,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;cACvB,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;cAC1B,IAAI;EACF,gBAAA,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;kBACxD,IAAI,GAAG,CAAC,KAAK;sBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAS,CAAC,EAAI,EAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;EACnG,aAAA;EACD,YAAA,OAAO,CAAC,EAAE;kBACN,IAAI,CAAC,CAAC,CAAC,CAAC;EACX,aAAA;EACF,SAAA;UACD,IAAI,GAAG,CAAC,QAAQ;cAAE,MAAM,GAAG,CAAC,KAAK,CAAC;OACnC;MACD,OAAO,IAAI,EAAE,CAAC;EAChB,CAAC;AAED,kBAAe;EACb,IAAA,SAAS,EAAA,SAAA;EACT,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,MAAM,EAAA,MAAA;EACN,IAAA,UAAU,EAAA,UAAA;EACV,IAAA,OAAO,EAAA,OAAA;EACP,IAAA,UAAU,EAAA,UAAA;EACV,IAAA,SAAS,EAAA,SAAA;EACT,IAAA,WAAW,EAAA,WAAA;EACX,IAAA,eAAe,EAAA,eAAA;EACf,IAAA,YAAY,EAAA,YAAA;EACZ,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,MAAM,EAAA,MAAA;EACN,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,cAAc,EAAA,cAAA;EACd,IAAA,aAAa,EAAA,aAAA;EACb,IAAA,OAAO,EAAA,OAAA;EACP,IAAA,gBAAgB,EAAA,gBAAA;EAChB,IAAA,gBAAgB,EAAA,gBAAA;EAChB,IAAA,aAAa,EAAA,aAAA;EACb,IAAA,oBAAoB,EAAA,oBAAA;EACpB,IAAA,YAAY,EAAA,YAAA;EACZ,IAAA,eAAe,EAAA,eAAA;EACf,IAAA,sBAAsB,EAAA,sBAAA;EACtB,IAAA,sBAAsB,EAAA,sBAAA;EACtB,IAAA,qBAAqB,EAAA,qBAAA;EACrB,IAAA,uBAAuB,EAAA,uBAAA;EACvB,IAAA,kBAAkB,EAAA,kBAAA;GACnB;;AC9WM,MAAM,8CAA8C,GAAG,2BAA2B;EAEzF;;;;;;;EAOG;EACa,SAAA,yBAAyB,CAAC,UAAkB,EAAE,cAAoC,EAAA;;EAEhG,IAAA,OAAO,UAAC,OAAwB,EAAA;;UAC9B,IAAM,wBAAwB,GAAyC,cAAc,CAAC,4BAA4B,EAAE,CAAC,UAAU,CAAC,CAAC;EACjI,QAAA,OAAO,wBAAwB;iBAC5B,EAAA,GAAA,EAAA,EAAG,EAAC,CAAA,8CAA8C,CAAG,GAAA,wBAAwB,CAAC,iBAAiB,EAChG,EAAA,IAAE,IAAI,CAAC;EACX,KAAC,CAAC;EACJ;;EChBA;;;;EAIG;AAEH,MAAA,8CAAA,kBAAA,UAAA,MAAA,EAAA;MAAoE,SAAiB,CAAA,8CAAA,EAAA,MAAA,CAAA,CAAA;EAArF,IAAA,SAAA,8CAAA,GAAA;;;EACW,IAAA,8CAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,OAA2B,EAAE,IAAwC,EAAA;UACzF,IAAM,wBAAwB,GAAGA,YAAK,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM,EAAE,8CAA8C,CAAC,CAAC;UACxG,OAAO,wBAAwB,IAAI,MAAM,CAAA,SAAA,CAAA,YAAY,YAAC,OAAO,EAAE,IAAI,CAAC,CAAC;OACtE,CAAA;;GAJH,CAAoEC,oBAAiB;oKAAxE,8CAA8C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAC,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAA9C,8CAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,8CAA8C,cADjC,MAAM,EAAA,CAAA,CAAA;oHACnB,8CAA8C,EAAA,UAAA,EAAA,CAAA;oBAD1DC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ECqClC;EACA,IAAM,mBAAmB,GAAG,iBAAiB,CAAC;EAC9C;EACA,IAAM,gBAAgB,GAAG,8BAA8B,CAAC;EACxD;EACA,IAAM,OAAO,GAAG,SAAS,CAAC;EAC1B;EACA,IAAM,WAAW,GAAG,kBAAkB,CAAC;EAEvC;EAEA;;;;;EAKG;EACG,SAAU,kBAAkB,CAChC,QAAkD,EAClD,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IAAM,IAAI,GAAuC,EAAE,CAAC;;UAEpD,KAAmB,IAAA,KAAA,QAAA,CAAA,QAAQ,CAAC,KAAK,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA9B,YAAA,IAAM,IAAI,GAAA,EAAA,CAAA,KAAA,CAAA;EACb,YAAA,IAAM,OAAO,GAAG,+BAA+B,CAC7C,IAA6B,EAC7B,cAAc,EACd,yBAAyB,EACzB,sBAAsB,CACvB,CAAC;EACF,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;EACjC,aAAA;EACF,SAAA;;;;;;;;;EACD,IAAA,IAAM,QAAQ,GAAGC,gBAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;MAC7D,IAAM,KAAK,GAAG,QAAQ,GAAG,IAAIC,YAAS,CAAC,IAAI,EAAEC,aAAU,CAAC,QAAQ,CAAC,GAAG,IAAID,YAAS,CAAC,IAAI,CAAC,CAAC;EACxF,IAAA,IAAI,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;EAC/C,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;;EAMG;EACa,SAAA,iBAAiB,CAAC,QAA+B,EAAE,cAAoC,EAAA;;EACrG,IAAA,IAAM,UAAU,GAAG,IAAI,KAAK,CAAc,yBAAyB,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;MAC1G,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,UAAU,CAAC,IAAI,CAACC,aAAU,CAAC,QAAQ,CAAC,CAAC;EACtC,KAAA;MACD,QAAQ,QAAQ,CAAC,MAAM;UACrB,KAAKC,0BAAgB,EAAE;cACrB,IAAM,cAAY,GAAG,QAAwB,CAAC;EAC9C,YAAA,IAAM,OAAK,GAAG,cAAY,CAAC,KAAK,IAAI,EAAE,CAAC;cACvC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAY,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC,KAAK,EAAE,cAAY,CAAC,aAAa,CAAC,CAAC,CAAC;EACtI,YAAA,IAAM,GAAG,GAAG,IAAIC,YAAS,CACvB,cAAY,CAAC,OAAO,CAAC,GAAG,CACtB,UAAC,CAAC,IACA,OAAA,IAAIC,cAAW,CAAC;kBACd,KAAK,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAjB,EAAiB,CAAC;kBACzD,QAAQ,EAAE,cAAY,CAAC,QAAQ;eAChC,CAAC,CAAA,EAAA,CACL,EACDH,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAC/B,CAAC;EACF,YAAA,OAAO,GAAG,CAAC;EACZ,SAAA;EACD,QAAA,KAAKI,gCAAsB,CAAC;UAC5B,KAAKC,qCAA2B,EAAE;cAChC,IAAM,IAAI,GAAG,QAAqD,CAAC;EACnE,YAAA,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;EACvC,YAAA,IAAIC,2BAAiB,CAAC,IAAI,CAAC,EAAE;EAC3B,gBAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;EACvC,aAAA;cACD,IAAI,IAAI,CAAC,YAAY,EAAE;EACrB,gBAAA,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;EAC1C,aAAA;EACD,YAAA,IAAI,CAACC,wBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EACrC,gBAAA,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACtD,aAAA;EACD,YAAA,IAAI,CAACA,wBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EACrC,gBAAA,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACtD,aAAA;cACD,MAAM;EACP,SAAA;EACD,QAAA,KAAKC,kCAAwB,CAAC;UAC9B,KAAKC,8BAAoB,EAAE;cACzB,IAAM,eAAe,GAAG,QAAiD,CAAC;EAC1E,YAAA,UAAU,CAAC,IAAI,CAAf,KAAA,CAAA,UAAU,EAAS,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC,CAAE,CAAA,CAAA,CAAA;EACnF,YAAA,UAAU,CAAC,IAAI,CAAf,KAAA,CAAA,UAAU,EAAS,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC,CAAE,CAAA,CAAA,CAAA;cACnF,MAAM;EACP,SAAA;EACD,QAAA,KAAKC,uCAA6B,CAAC;UACnC,KAAKC,mCAAyB,EAAE;cAC9B,IAAM,QAAQ,GAAG,QAAmF,CAAC;EACrG,YAAA,IAAM,KAAK,GAAG,IAAIZ,YAAS,CAAC,EAAE,EAAEC,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;;kBAChE,KAAuB,IAAA,KAAA,QAAA,CAAA,QAAQ,CAAC,YAAY,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAzC,oBAAA,IAAM,QAAQ,GAAA,EAAA,CAAA,KAAA,CAAA;;EAEjB,oBAAA,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAIG,cAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC5D,iBAAA;;;;;;;;;cACD,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,gBAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,aAAA;EACD,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;EACD,QAAA;cACE,MAAM;EACT,KAAA;MACD,OAAO,IAAIA,cAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAEH,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;EACnH,CAAC;EAED;;;;;EAKG;EACG,SAAU,8BAA8B,CAC5C,QAA8C,EAC9C,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IAAM,QAAQ,GAAuC,EAAE,CAAC;EACxD,IAAA,KAAK,IAAM,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE;EACvC,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;cACpE,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAA0B,CAAC;EACpE,YAAA,IAAM,OAAO,GAAG,+BAA+B,CAAC,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;EAC5H,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;EACxC,aAAA;EACF,SAAA;EACF,KAAA;EAED,IAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;MAC5E,IAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAID,YAAS,CAAC,QAAQ,EAAEC,aAAU,CAAC,QAAQ,CAAC,GAAG,IAAID,YAAS,CAAC,QAAQ,CAAC,CAAC;MACzG,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;EAKG;EACG,SAAU,kBAAkB,CAChC,IAAe,EACf,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IAAM,YAAY,GAAuC,EAAE,CAAC;;UAC5D,KAAkB,IAAA,KAAA,QAAA,CAAA,IAAI,CAAC,SAAS,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA7B,YAAA,IAAM,GAAG,GAAA,EAAA,CAAA,KAAA,CAAA;;kBACZ,KAAsB,IAAA,oBAAA,QAAA,CAAA,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA/C,oBAAA,IAAM,OAAO,GAAA,EAAA,CAAA,KAAA,CAAA;EAChB,oBAAA,IAAM,OAAO,GAAG,+BAA+B,CAC7C,OAAgC,EAChC,cAAc,EACd,yBAAyB,EACzB,sBAAsB,CACvB,CAAC;EACF,oBAAA,IAAI,OAAO,EAAE;EACX,wBAAA,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;EAC5C,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;;;;;;;;;MACD,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAIA,YAAS,CAAC,YAAY,EAAEC,aAAU,CAAC,QAAQ,CAAC,GAAG,IAAID,YAAS,CAAC,YAAY,CAAC,CAAC;MAC7G,IAAI,IAAI,CAAC,QAAQ,EAAE;EACjB,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;;EAMG;EACG,SAAU,+BAA+B,CAC7C,QAAyC,EACzC,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IACED,gBAAM,CAAC,QAAQ,CAAC;UAChBc,2BAAiB,CAAC,QAAQ,CAAC;UAC3BC,0BAAgB,CAAC,QAAQ,CAAC;UAC1BC,mBAAS,CAAC,QAAQ,CAAC;UACnBC,6BAAmB,CAAC,QAAQ,CAAC,EAC7B;UACA,OAAO,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;EACxG,KAAA;EAAM,SAAA,IAAIC,qBAAW,CAAC,QAAQ,CAAC,EAAE;UAChC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;EACxG,KAAA;WAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE;EAC1E,QAAA,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;EACzC,KAAA;EAAM,SAAA,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE;EACvC,QAAA,OAAO,8BAA8B,CAAC,QAAgD,EAAE,cAAc,CAAC,CAAC;EACzG,KAAA;WAAM,IAAIC,+BAAqB,CAAC,QAAQ,CAAC,IAAIC,gCAAsB,CAAC,QAAQ,CAAC,EAAE;EAC9E,QAAA,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;EACrC,KAAA;EAAM,SAAA;EACL,QAAA,OAAO,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;EACpD,KAAA;EACH,CAAC;EAED;;;EAGG;EACG,SAAU,kBAAkB,CAAC,QAAqD,EAAA;EACtF,IAAA,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAC;MAC5C,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,UAAU,CAAC,IAAI,CAAClB,aAAU,CAAC,QAAQ,CAAC,CAAC;EACtC,KAAA;EACD,IAAA,IAAM,KAAK,GAAG,IAAID,YAAS,CACzB;EACE,QAAA,KAAK,EAAE,IAAII,cAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;EACpE,QAAA,GAAG,EAAE,IAAIA,cAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;EACjE,KAAA,EACDH,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAC/B,CAAC;MACF,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;EAKG;EACH,SAAS,mBAAmB,CAAC,IAA6B,EAAE,KAAa,EAAA;MACvE,OAAO,CAACO,wBAAiB,CAAC,KAAK,CAAC,GAAG,CAACP,aAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;EACpE,CAAC;EAED;EAEA;EAEA;;;;;;;;EAQG;EACG,SAAU,oBAAoB,CAClC,OAAiD,EACjD,WAAoC,EACpC,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAAA;EAN9B,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAQpE,OAAO,OAAO,CAAC,KAAK;WACjB,GAAG,CAAC,UAAC,IAAI,EACR,EAAA,OAAA,4BAA4B,CAC1B,IAAI,EACJ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAC5B,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,OAAO,CACR,CAPD,EAOC,CACF;WACA,MAAM,CAACmB,gBAAS,CAAC,CAAC;EACvB,CAAC;EAED;;;;;;EAMG;EACG,SAAU,qBAAqB,CACnC,IAAe,EACf,WAAoC,EACpC,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAAA;EAN9B,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;EAQpE,IAAA,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,GAAiB,EAAK,EAAA,wCACvD,GAAG,CAAA,EAAA,EACN,KAAK,EAAE,GAAG,CAAC,KAAK;eACb,MAAM,CAACA,gBAAS,CAAC;eACjB,GAAG,CAAC,UAAC,QAAQ,EAAA;EACZ,YAAA,OAAO,4BAA4B,CACjC,QAAQ,EACR,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAChC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACJ,SAAC,CAAC;eACD,MAAM,CAACA,gBAAS,CAAC,EAAA,CAAA,EACpB,EAAA,CAAC,CAAC;MACJ,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,IAAI,CAAA,EAAA,EAAE,SAAS,EAAA,SAAA,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,EAAG,CAAA,CAAA;EAC5E,CAAC;EAED;;;;;;;;EAQG;EACH,SAAS,4BAA4B,CACnC,QAAkB,EAClB,WAAoB,EACpB,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAC9B,MAAiD,EAAA;EAPjD,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;EASpE,IAAA,IAAIL,mBAAS,CAAC,QAAQ,CAAC,IAAIC,6BAAmB,CAAC,QAAQ,CAAC,IAAIF,0BAAgB,CAAC,QAAQ,CAAC,EAAE;EACtF,QAAA,IAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,EACR,WAAsC,EACtC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;UACF,OAAO,MAAK,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAE,EAAA,EAAA,KAAK,EAAA,KAAA,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAoC,CAAC;EACjH,KAAA;EAAM,SAAA,IAAIG,qBAAW,CAAC,QAAQ,CAAC,EAAE;EAChC,QAAA,OAAO,qBAAqB,CAC1B,QAAQ,EACR,WAAsC,EACtC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACH,KAAA;WAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE;UACzE,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;EAC5E,KAAA;EAAM,SAAA,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE;EACvC,QAAA,OAAO,0BAA0B,CAC/B,QAAgD,EAChD,WAAsC,EACtC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACH,KAAA;WAAM,IAAIC,+BAAqB,CAAC,QAAQ,CAAC,IAAIC,gCAAsB,CAAC,QAAQ,CAAC,EAAE;EAC9E,QAAA,IAAM,KAAK,GAAGE,aAAM,CAAgC,WAAW,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;EAC1G,QAAA,IAAM,GAAG,GAAGA,aAAM,CAA8B,WAAW,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,SAAS,CAAC;EAClG,QAAA,OAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,QAAQ,CAAE,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAA,KAAA,EAAE,GAAG,EAAA,GAAA,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,GAE1F,CAAC;EACH,KAAA;EAAM,SAAA;EACL,QAAA,OAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACF,QAAQ,CACX,EAAA,EAAA,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,EAC3C,QAAQ,EAAE,WAAW,CAAC,QAAiC,EAAE,aAAa,CAAC,EAAA,CAC5D,CAAC;EACf,KAAA;EACH,CAAC;EAED;;;;;EAKG;EACH,SAAS,aAAa,CAAC,QAAkB,EAAE,WAAoB,EAAA;EAC7D,IAAA,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;MAChD,QAAQ,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,WAAW,EAAE;;EAE3B,QAAA,KAAK,UAAU;EACb,YAAA,OAAO,CAAC,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,GAAI,WAAsB,CAAC,WAAW,EAAE,GAAI,WAAsB,CAAC;EAC5H,QAAA,KAAK,cAAc;EACjB,YAAA,IAAI,CAACb,wBAAiB,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;kBACjE,IAAM,KAAG,GAAG,WAA6B,CAAC;EAC1C,gBAAA,OAAQ,QAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,CAAC,CAAC,KAAG,CAAC,KAAK,CAAC,CAAZ,EAAY,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,CAAX,EAAW,CAAC,CAAC;EACtG,aAAA;EACD,YAAA,OAAO,EAAE,CAAC;EACZ,QAAA,KAAK,sCAAsC,CAAC;UAC5C,KAAK,kCAAkC,EAAE;cACvC,IAAM,SAAS,GACb,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,WAAW,EAAE,MAAK,sCAAsC;oBAC3D,QAAiD,CAAC,YAAY;EACjE,kBAAG,QAA6C,CAAC,YAAY,CAAC;cAElE,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,KAAgC,EAAE,QAAQ,EAAA;kBACxE,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,QAAQ,IAAI,WAAW,EAAE;EAC7E,oBAAA,IAAM,KAAK,GAAI,WAAuC,CAAC,QAAQ,CAAC,CAAC;EACjE,oBAAA,IAAI,KAAK,EAAE;EACT,wBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;EAC3D,qBAAA;EACF,iBAAA;EACD,gBAAA,OAAO,KAAK,CAAC;eACd,EAAE,EAAE,CAAC,CAAC;EACP,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;EACD,QAAA;EACE,YAAA,OAAO,WAAW,CAAC;EACtB,KAAA;EACH,CAAC;EAED,SAAS,0BAA0B,CACjC,QAA8C,EAC9C,WAAoC,EACpC,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAAA;EAN9B,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAQpE,IAAM,aAAa,GAA4B,EAAE,CAAC;EAClD,IAAA,KAAK,IAAM,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE;EACvC,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;cACpE,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;cAC3C,aAAa,CAAC,EAAE,CAAC,GAAG,4BAA4B,CAC9C,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAC/B,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACH,SAAA;EACF,KAAA;EACD,IAAA,OAAO,MACF,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CACX,EAAA,EAAA,aAAa,EAAA,aAAA,EACb,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAChE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAA,CACP,CAAC;EAC5C,CAAC;EAED;EAEA;;;EAGG;EACG,SAAU,kBAAkB,CAAC,QAAiB,EAAA;MAClD,QACEa,aAAM,CAEH,QAAQ,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/E;EACJ,CAAC;EAED;;;;EAIG;EACH,SAAS,sBAAsB,CAAC,SAAwB,EAAE,KAAS,EAAA;EAAT,IAAA,IAAA,KAAA,KAAA,KAAA,CAAA,EAAA,EAAA,KAAS,GAAA,CAAA,CAAA,EAAA;EACjE,IAAA,OAAO,UAAC,OAAwB,EAAA;UAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;EACtB,QAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;cACxB,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,KAAK,CAAP,EAAO,CAAC,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,IAAI,EAAA,EAAK,QAAC,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EAAC,EAAA,EAAE,CAAC,CAAC,CAAC;EAChH,SAAA;EAED,QAAA,QAAQ,SAAS;EACf,YAAA,KAAK,KAAK;kBACR,OAAO,aAAa,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,SAAS,6FAAA,kBAAmB,EAAK,EAAE,CAAP,CAAA,CAAA,EAAA,KAAK,CAAE,EAAE,CAAC;EAC9F,YAAA,KAAK,KAAK;kBACR,OAAO,aAAa,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,SAAS,iGAAA,sBAAuB,EAAK,EAAE,CAAP,CAAA,CAAA,EAAA,KAAK,CAAE,EAAE,CAAC;EACnG,SAAA;EACH,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,WAAW,CAAC,OAAwB,EAAA;EAC3C,IAAA,OAAOA,aAAM,CAAY,OAAO,EAAE,UAAU,CAAC,CAAC;EAChD,CAAC;EAED,SAAS,WAAW,CAAC,IAAqB,EAAE,aAAwC,EAAA;MAClF,IAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAChD,IAAA,OAAOb,wBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;EAChE,CAAC;EAED,SAAS,kBAAkB,GAAA;EACzB,IAAA,OAAO,UAAC,OAAwB,EAAA;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;UAED,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;EACxE,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,mBAAmB,GAAA;EAC1B,IAAA,OAAO,UAAC,OAAwB,EAAA;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;EACD,QAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;EACrH,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,qBAAqB,GAAA;EAC5B,IAAA,OAAO,UAAC,OAAwB,EAAA;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;UACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;EACjE,KAAC,CAAC;EACJ,CAAC;EAED;;;;;EAKG;EACH,SAAS,aAAa,CAAC,IAAmB,EAAE,KAAa,EAAA;EACvD,IAAA,OAAO,UAAC,OAAwB,EAAA;;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;UACD,IAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;UACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;iBACrE,EAAA,GAAA,EAAA;EACG,gBAAA,EAAA,CAAC,IAAI,CAAA,IAAA,EAAA,GAAA,EAAA;sBACH,EAAC,CAAA,IAAI,IAAG,KAAK;sBACb,EAAM,CAAA,MAAA,GAAE,OAAO,CAAC,KAAK;EACtB,oBAAA,EAAA,CAAA;wBAEH,IAAI,CAAC;EACX,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,aAAa,CAAC,KAAc,EAAA;MACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;EACpD,CAAC;;;;;;;;;;;;;;;;AC9lBM,MAAM,gBAAgB,GAAG,uCAAuC;AAE1D,MAAA,uBAAuB,GAAGc,kBAAO,CAAC,sBAAsB,EAAE;MACrEC,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;EACjF,IAAAD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;MACrHC,qBAAU,CAAC,SAAS,EAAE,CAACC,kBAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;EACnD,CAAA;;ECJD;EACM,SAAU,WAAW,CAAC,SAAkB,EAAA;EAC5C,IAAA,OAAOC,eAAQ,CAAC,SAAS,CAAC,IAAIN,aAAM,CAAY,SAAS,EAAE,UAAU,CAAC,IAAIM,eAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;EACzG;;ECHA;;;;;;;;EAQG;EACa,SAAA,eAAe,CAAC,IAAY,EAAE,KAAgB,EAAA;EAC5D,IAAA,KAAK,IAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;EAChC,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;cAC7D,IAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;cACpC,IAAI,GAAG,KAAK,IAAI,EAAE;EAChB,gBAAA,OAAO,OAAO,CAAC;EAChB,aAAA;;EAGD,YAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;kBACxB,IAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;EAC7C,gBAAA,IAAI,KAAK,EAAE;EACT,oBAAA,OAAO,KAAK,CAAC;EACd,iBAAA;EACF,aAAA;EACF,SAAA;EACF,KAAA;EACD,IAAA,OAAO,IAAI,CAAC;EACd;;EC5BA;;;;;;;EAOG;EACa,SAAA,YAAY,CAAC,UAAkB,EAAE,KAA2B,EAAA;;;UAC1E,KAAmB,IAAA,KAAA,QAAA,CAAA,KAAK,CAAC,KAAK,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA3B,YAAA,IAAM,IAAI,GAAA,EAAA,CAAA,KAAA,CAAA;EACb,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;EAClC,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;;EAGD,YAAA,IAAIN,aAAM,CAAgB,IAAI,EAAE,OAAO,CAAC,EAAE;kBACxC,IAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;EAC7C,gBAAA,IAAI,KAAK,EAAE;EACT,oBAAA,OAAO,KAAK,CAAC;EACd,iBAAA;EACF,aAAA;EACF,SAAA;;;;;;;;;EACD,IAAA,OAAO,IAAI,CAAC;EACd;;AC1BA,MAAA,YAAA,kBAAA,YAAA;EACE,IAAA,SAAA,YAAA,CAAmB,UAAkB,EAAA;EAAlB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;OAAI;MAC1C,OAAA,YAAA,CAAA;EAAA,CAAA,EAAA;;ACGD,MAAA,aAAA,kBAAA,UAAA,MAAA,EAAA;MAAmC,SAAY,CAAA,aAAA,EAAA,MAAA,CAAA,CAAA;MAE7C,SAAmB,aAAA,CAAA,KAAiB,EAAE,UAAkB,EAAS,SAAiB,EAAS,KAAa,EAAS,GAAoB,EAAA;EAApE,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAiB,GAAA,KAAA,CAAA,EAAA;UAAlF,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAFkB,QAAA,KAAK,CAAA,KAAA,GAAL,KAAK,CAAY;EAA6B,QAAA,KAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;EAAS,QAAA,KAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;EAAS,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAiB;EAD5H,QAAA,KAAS,CAAA,SAAA,GAAG,eAAe,CAAC;;OAGpC;MACF,OAAA,aAAA,CAAA;EAAA,CALD,CAAmC,YAAY,CAK9C,EAAA;EAEK,SAAU,eAAe,CAAC,SAAkB,EAAA;EAChD,IAAA,OAAOA,aAAM,CAAgB,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACrF,CAAC;EAEK,SAAU,uBAAuB,CAAC,SAAkB,EAAA;EACxD,IAAA,OAAOA,aAAM,CAAgB,SAAS,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,eAAe,CAAC;EAClG;;ACbA,MAAA,QAAA,kBAAA,UAAA,MAAA,EAAA;MAA8B,SAAY,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA;EAMxC,IAAA,SAAA,QAAA,CAAmB,GAAoB,EAAS,KAAa,EAAE,UAAkB,EAAS,QAAgB,EAAA;EAAhB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAgB,GAAA,KAAA,CAAA,EAAA;UAA1G,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAFkB,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAiB;EAAS,QAAA,KAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;EAA6B,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;EALjG,QAAA,KAAS,CAAA,SAAA,GAAG,UAAU,CAAC;EAChC,QAAA,KAAM,CAAA,MAAA,GAAG,KAAK,CAAC;EAEf,QAAA,KAAM,CAAA,MAAA,GAAiB,SAAS,CAAC;EACjC,QAAA,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;OAGhB;MACF,OAAA,QAAA,CAAA;EAAA,CATD,CAA8B,YAAY,CASzC,EAAA;EAEK,SAAU,kBAAkB,CAAC,SAAkB,EAAA;EACnD,IAAA,OAAOA,aAAM,CAAW,SAAS,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,CAAC;EACxF;;MCZa,iBAAiB,GAAG,IAAIO,iBAAc,CAAkB,iBAAiB;;ECJtF;;EAEG;AACH,MAAA,wBAAA,kBAAA,YAAA;EACE;;;EAGG;MACH,SAAmB,wBAAA,CAAA,SAAqB,EAAS,KAAc,EAAA;EAA5C,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAY;EAAS,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAS;OAAI;MACpE,OAAA,wBAAA,CAAA;EAAA,CAAA,EAAA;;MCLY,sBAAsB,GAAG,IAAIA,iBAAc,CAAsB,wBAAwB,EAAE;EACtG,IAAA,UAAU,EAAE,MAAM;EAClB,IAAA,OAAO,EAAE,8BAA8B;EACxC,CAAA,EAAE;WAEa,8BAA8B,GAAA;MAC5C,OAAO;EACL,QAAA,SAAS,EAAE,EAAE;OACd,CAAC;EACJ;;ECbA;;;;EAIG;EACG,SAAU,YAAY,CAAC,KAAsC,EAAA;EACjE,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,EAAA,EAAE,IAAI,KAAK,EAAY,CAAC,CAAC;EACnG;;EC+BM,SAAU,eAAe,CAC7B,aAA2B,EAC3B,KAAsB,EACtB,CAA2B,EAC3B,CAAW,EACX,CAAiB,EAAA;EAEjB,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC3B,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;EACD,IAAA,IAAI,YAAY,GAAG,CAAC,IAAI,EAAE,CAAC;MAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;MAC5B,IAAI,eAAe,GAAG,KAAK,CAAC;;EAE5B,IAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;EACjC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;cACpB,YAAY,GAAG,CAAC,CAAC;EAClB,SAAA;EAAM,aAAA;cACL,eAAe,GAAG,CAAC,CAAC;EACpB,YAAA,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC;EAC9B,SAAA;EACF,KAAA;EACD,IAAA,OAAO,KAAK;WACT,MAAM,CACL,UAAC,CAAC,EAAA;;EAEA,QAAA,OAAA,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,EAAA,EAAK,OAAA,EAAE,KAAK,CAAC,CAAC,UAAU,CAAA,EAAA,CAAC;;EAE/C,aAAC,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;;EAElD,aAAC,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;EAJtC,KAIsC,CACzC;EACA,SAAA,KAAK,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,KAAK,aAAa,CAA1B,EAA0B,CAAC,CAAC;EAC9C;;ECpEA;;;;;;;;;;EAUG;EACa,SAAA,iBAAiB,CAAC,KAAsB,EAAE,QAAgB,EAAA;EAAhB,IAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAgB,GAAA,KAAA,CAAA,EAAA;;EAExE,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,QAAyC,EAAE,IAAc,EAAA;;UAE5E,IAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC;EACvE,QAAA,IAAI,QAAQ,EAAE;cACZ,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EAClG,SAAA;EAAM,aAAA,IAAIb,mBAAS,CAAC,IAAI,CAAC,EAAE;;EAE1B,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACzG,SAAA;EAAM,aAAA,IAAIc,wBAAc,CAAC,IAAI,CAAC,EAAE;;EAE/B,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EAEhG,YAAA,IAAM,eAAe,GAAG,IAAI,CAAC,KAAK;mBAC/B,MAAM,CAACd,mBAAS,CAAC;EACjB,iBAAA,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,EAAA,EAAK,OAAA,IAAI,QAAQ,CAAC,EAAG,IAAA,KAAK,GAAG,CAAC,CAAA,GAAGe,gBAAS,CAAC,KAAK,GAAG,CAAC,CAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAA5G,EAA4G,CAAC,CAAC;cACtI,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;EACjG,SAAA;EAED,QAAA,OAAO,QAAQ,CAAC;OACjB,EAAE,EAAE,CAAC,CAAC;EACT,CAAC;EAEK,SAAU,4BAA4B,CAAC,OAAsB,EAAA;EACjE,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,QAAyC,EAAE,IAAiB,EAAA;;UAEjF,IAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC;UACvE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;cACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;cACtG,IAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CACzC,UAAC,IAAI,EAAE,KAAK,EAAK,EAAA,OAAA,IAAI,QAAQ,CAAC,MAAG,KAAK,GAAG,CAAC,CAAA,GAAGA,gBAAS,CAAC,KAAK,GAAG,CAAC,CAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA,EAAA,CACpI,CAAC;cACF,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;EACrH,SAAA;EAAM,aAAA;cACL,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACvG,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,EAAE,EAAE,CAAC,CAAC;EACT;;ECrDM,SAAU,kBAAkB,CAAC,MAAc,EAAA;;EAE/C,IAAA,QAAQ,MAAM;EACZ,QAAA,KAAKC,iCAAuB;EAC1B,YAAA,OAAO,OAAO,CAAC;EACjB,QAAA,KAAKC,oBAAU;EACb,YAAA,OAAO,SAAS,CAAC;EACnB,QAAA,KAAKC,sBAAY;EACf,YAAA,OAAO,MAAM,CAAC;EAChB,QAAA,KAAKC,uBAAa;EAChB,YAAA,OAAO,OAAO,CAAC;EACjB,QAAA;EACE,YAAA,OAAO,MAAM,CAAC;EACjB,KAAA;EACH;;ECbM,SAAU,aAAa,CAAC,SAAkB,EAAA;EAC9C,IAAA,OAAOP,eAAQ,CAAC,SAAS,CAAC,IAAIN,aAAM,CAAc,SAAS,EAAE,OAAO,CAAC,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC;EAC/G;;ECEA;;;;;;;;;EASG;EACG,SAAU,gBAAgB,CAC9B,UAAkB,EAClB,IAAc,EACd,MAAoB,EACpB,IAA+C,EAAA;;;EAE/C,IAAA,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;;;EAGlC,QAAA,OAAO,IAAI,CAAC;EACb,KAAA;;EAGD,IAAA,IAAI,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,yBAAyB,CAAC,MAAM,EAAE;;UAE5D,IAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;EAClD,QAAA,IAAIA,aAAM,CAAgB,KAAK,EAAE,OAAO,CAAC,EAAE;;kBACzC,KAAoB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAhE,oBAAA,IAAM,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;sBACd,IAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;;;EAGpD,oBAAA,IAAI,aAAa,EAAE;EACjB,wBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,IAAI,CAAA,EAAA,EAAE,MAAM,EAAE,OAAO,EAAG,CAAA,CAAA;EACrC,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;EACF,KAAA;;EAGD,IAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;EAC7B;;ECtBA;AACa,MAAA,sBAAsB,GAAqB;EACtD,IAAA,KAAK,EAAE,SAAS,CAAAc,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,+CAAA,CAAA,EAAA,CAAA,+CAA+C,CAAA,CAAA,CAAA,CAAA;EAC/D,IAAA,GAAG,EAAE,UAAC,IAAoE,EAAA,EACxE,OAAA,CAACf,gBAAS,CAAC,IAAI,CAAC,IAAI,CAACA,gBAAS,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAC;EAC5C,UAAE,SAAS,CAAAgB,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,kCAAA,CAAA,EAAA,CAAA,kCAAkC,CAC7C,CAAA,CAAA,CAAA,GAAEhB,gBAAS,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAC;YACzB,SAAS,CAAAiB,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,EAAA,KAAA,CAAA,EAAA,CAAA,aAAc,EAAa,KAAK,CAAA,CAAA,CAAA,EAAlB,IAAI,CAAC,QAAQ,CAAA,GACpC,EAAE,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,EAAA,EAAA,CAAA,EAAA,CAAA,aAAc,EAAa,EAAE,CAAf,CAAA,CAAA,EAAA,IAAI,CAAC,QAAQ,CAAE,CAAA,EAAA;EACjD,IAAA,SAAS,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,8CAA8C,CAAA,CAAA,CAAA,CAAA;EAClE,IAAA,WAAW,EAAE,IAAI;EACjB,IAAA,GAAG,EAAE,UAAC,IAAoE,EAAA,EACxE,OAAA,CAACnB,gBAAS,CAAC,IAAI,CAAC,IAAI,CAACA,gBAAS,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAC;EAC5C,UAAE,SAAS,CAAAoB,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qCAAA,CAAA,EAAA,CAAA,qCAAqC,CAAA,CAAA,CAAA,CAAA,GAC9C,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,EAAA,EAAA,CAAA,EAAA,CAAA,aAAc,EAAa,EAAE,CAAA,CAAA,CAAA,EAAf,IAAI,CAAC,QAAQ,IAAKrB,gBAAS,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC;EACpE,UAAE,SAAS,CAAAsB,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,gBAAiB,EAAa,EAAE,CAAA,CAAA,CAAA,EAAf,IAAI,CAAC,QAAQ,CACzC,GAAE,EAAE,GAAA;EACR,IAAA,SAAS,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,8CAA8C,CAAA,CAAA,CAAA,CAAA;EAClE,IAAA,WAAW,EAAE,IAAI;EACjB,IAAA,QAAQ,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,qCAAA,CAAA,EAAA,CAAA,qCAAqC,CAAA,CAAA,CAAA,CAAA;EACxD,IAAA,OAAO,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,wDAAA,CAAA,EAAA,CAAA,wDAAwD,CAAA,CAAA,CAAA,CAAA;EAC1E,IAAA,QAAQ,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,wCAAA,CAAA,EAAA,CAAA,wCAAwC,CAAA,CAAA,CAAA,CAAA;EAC3D,IAAA,QAAQ,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,CAAA,CAAA,CAAA,CAAA;EAC5C,IAAA,YAAY,EAAE,6CAA6C;EAC3D,IAAA,WAAW,EAAE,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,sCAAA,CAAA,EAAA,CAAA,sCAAsC,CAAA,CAAA,CAAA,CAAA;EAC5D,IAAA,kBAAkB,EAAE,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,+CAAA,CAAA,EAAA,CAAA,+CAA+C,CAAA,CAAA,CAAA,CAAA;IAC5E;MAEW,sBAAsB,GAAG,IAAInB,iBAAc,CAAe,6BAA6B,EAAE;AAGtG,MAAA,eAAA,kBAAA,YAAA;;MAYE,SAAoB,eAAA,CAAA,MAAiB,EAA8C,MAAY,EAAA;EAA3E,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;;EAV7B,QAAA,IAAW,CAAA,WAAA,GAAqD,EAAE,CAAC;;EAEnE,QAAA,IAAU,CAAA,UAAA,GAAsD,EAAE,CAAC;;EAEnE,QAAA,IAAa,CAAA,aAAA,GAAsC,EAAE,CAAC;;EAEtD,QAAA,IAAgB,CAAA,gBAAA,GAAqE,EAAE,CAAC;;;EAO9F,QAAA,IAAI,CAAC,MAAM,GAAG,MAAsB,CAAC;OACtC;EAED,IAAA,eAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;UACE,OAAY,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,aAAa,CAAG,CAAA;OAClC,CAAA;EAED;;;;;EAKG;EACH,IAAA,eAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,OAAe,EAAE,IAA4B,EAAA;;EAEpD,QAAA,IAAI,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;UAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;;cAE3B,IAAIR,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAIA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;EAC/F,gBAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;;EAE/C,aAAA;mBAAM,IAAIA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAIA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;EAC9F,gBAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;EAC3C,aAAA;EACF,SAAA;EACD,QAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;OAC1D,CAAA;EAED;;;;EAIG;MACH,eAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,EAAU,EAAA;EAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;OAC5B,CAAA;EAED;;;EAGG;MACH,eAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,GAAyB,EAAA;EAC3C,QAAA,KAAK,IAAM,EAAE,IAAI,GAAG,EAAE;EACpB,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;EACjD,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;EACzB,oBAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI4B,oBAAe,CAAgB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;EACpE,iBAAA;EAAM,qBAAA;EACL,oBAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;EACpC,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;EAGG;MACH,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,SAAkC,EAAA;UAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;EACvD,QAAA,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;cACtE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;EACnD,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAIA,oBAAe,CAAgB,IAAI,CAAC,CAAC;EAC3F,aAAA;EACD,YAAA,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,CAAC;EACxF,SAAA;OACF,CAAA;EAED;;;;;;;;EAQG;MACH,eAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,cAA6B,EAAE,eAA8B,EAAE,OAAgB,EAAE,QAAgB,EAAE,KAAa,EAAA;;EAAb,QAAA,IAAA,KAAA,KAAA,KAAA,CAAA,EAAA,EAAA,KAAa,GAAA,KAAA,CAAA,EAAA;EAC9H,QAAA,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,MAAM,MAAM,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;cAChG,OAAO;EACR,SAAA;EACD,QAAA,IAAM,MAAM,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;EACjD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACtC,YAAA,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;EAC1B,YAAA,IAAM,SAAS,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC;;EAC/C,gBAAA,KAAiB,IAAA,SAAA,IAAA,GAAA,GAAA,KAAA,CAAA,EAAA,QAAA,CAAA,OAAO,CAAA,CAAA,gCAAA,EAAE,CAAA,WAAA,CAAA,IAAA,EAAA,WAAA,GAAA,SAAA,CAAA,IAAA,EAAA,EAAA;EAArB,oBAAA,IAAM,EAAE,GAAA,WAAA,CAAA,KAAA,CAAA;sBACX,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;;EAEtC,oBAAA,IAAI,SAAS,EAAE;EACb,wBAAA,IAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;0BAC5B,IAAM,mBAAmB,GAAGC,2BAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;;EAElH,wBAAA,IAAI,mBAAmB,EAAE;EACvB,4BAAA,IAAI,KAAK,EAAE;kCACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;EAC/C,6BAAA;;;EAGD,4BAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAIA,2BAAiB,CAAC,IAAI,CAAC,EAAE;EACtE,gCAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;EAC9E,6BAAA;;8BAED,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;EAC9D,yBAAA;EAAM,6BAAA;;EAEL,4BAAA,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;EAC3D,yBAAA;EACF,qBAAA;EAAM,yBAAA;0BACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;EAC5F,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;OACF,CAAA;EAED;;;EAGG;MACK,eAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,WAA4B,EAAA;;;UAC3D,IAAM,QAAQ,GAAmC,EAAE,CAAC;EACpD,QAAA,IAAM,MAAM,GAAG,CAAA,CAAA,EAAA,GAAA,WAAW,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,KAAI,EAAE,CAAC;;EAEpD,YAAA,KAAiB,IAAA,QAAA,GAAA,QAAA,CAAA,MAAM,CAAA,8BAAA,EAAE,CAAA,UAAA,CAAA,IAAA,EAAA,UAAA,GAAA,QAAA,CAAA,IAAA,EAAA,EAAA;EAApB,gBAAA,IAAM,EAAE,GAAA,UAAA,CAAA,KAAA,CAAA;kBACX,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;EACtC,gBAAA,IAAI,SAAS,EAAE;sBACb,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE;EAChE,wBAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;EACjE,qBAAA;EACF,iBAAA;EAAM,qBAAA;EACL,oBAAA,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,EAAE,CAAC,CAAC;EACnF,iBAAA;EACF,aAAA;;;;;;;;;EAED,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;EAED;;;EAGG;EACH,IAAA,eAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;EACE,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;EACtB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACrB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;EACxB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;OAC5B,CAAA;EAED;;;;;EAKG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,UAAmC,EAAE,SAAiB,EAAA;;EACjF,QAAA,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;;EAE7B,QAAA,IAAIC,0BAAgB,CAAC,IAAI,CAAC,EAAE;EAC1B,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAC,CAAA,EAAA,GAAA,UAAU,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA,CAAC;EAC5E,SAAA;EAAM,aAAA,IAAIC,+BAAqB,CAAC,IAAI,CAAC,EAAE;cACtC,IAAM,OAAK,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAU,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,KAAK,CAAC;EACtD,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAK,CAAC,EAAE;;;kBAGxB,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,QAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,EAAA,EAAK,OAAA,EAAE,KAAK,SAAS,CAAhB,EAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,IAAC,CAAC,CAAC,MAAM,CAAC/B,gBAAS,CAAC,CAAC;EAC/H,gBAAA,OAAO,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,OAAK,CAAC,CAAC,CAAC,CAAV,EAAU,CAAC,CAAC;EAC9C,aAAA;mBAAM,IAAI,OAAO,OAAK,KAAK,QAAQ,IAAI,OAAK,CAAC,MAAM,EAAE;;EAEpD,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,OAAK,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,EAAK,EAAA,OAAA,EAAE,KAAK,SAAS,CAAhB,EAAgB,CAAC,CAAtE,EAAsE,CAAC,CAAC;EACzG,aAAA;EACF,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;EAED;;;;;EAKG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,UAAwB,SAAkC,EAAE,OAAgB,EAAE,QAAgB,EAAA;;EACpG,QAAA,IAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;EAC5B,QAAA,IAAM,QAAQ,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;EAC/D,QAAA,IAAI,SAAkB,CAAC;EACvB,QAAA,IAAI,OAAO,EAAE;EACX,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;cAC9B,SAAS;kBACP6B,2BAAiB,CAAC,IAAI,CAAC;sBACvB,CAAC,CAAC,IAAI,CAAC,SAAS;EAChB,qBAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAC,EAAE,EAAA,EAAK,OAAA,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC,CAAC;EACzF,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;cAC1B,SAAS,GAAG,EAAE,CAACA,2BAAiB,CAAC,IAAI,CAAC,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,CAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;EAC1G,SAAA;;UAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;EACxC,YAAA,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;EAC3D,SAAA;;UAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;OACnD,CAAA;EAED;;;;EAIG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,SAAkC,EAAE,OAAgB,EAAA;;EAC9E,QAAA,IAAI,OAAO,IAAI,EAAC,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,EAAE;;EAE1C,YAAA,IAAI,SAAS,CAAC,OAAO,YAAYjD,YAAS,EAAE;EAC1C,gBAAA,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;EAC3C,aAAA;EAAM,iBAAA;kBACL,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;EAC7B,aAAA;EACF,SAAA;EAAM,aAAA,IAAI,CAAC,OAAO,KAAI,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,EAAE;;EAEjD,YAAA,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;;;EAIG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,UAA+B,SAAkC,EAAE,OAAgB,EAAA;EACzF,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;EACzD,QAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;EAC7C,QAAA,IAAIiD,2BAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE;EACrE,YAAA,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;;;;EAKG;MACK,eAAyB,CAAA,SAAA,CAAA,yBAAA,GAAzB,UAA0B,IAA6B,EAAA;;EAC7D,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,OAAoB,CAAC;EAExC,QAAA,IAAIC,0BAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,+BAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;EACnE,YAAA,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;EACpC,YAAA,IAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAC7C,YAAA,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,MAAM,EAAE,CAAC;EACf,YAAA,KAAK,IAAM,QAAQ,IAAI,GAAG,EAAE;EAC1B,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;EACvD,oBAAA,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;sBAC5D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;EACrC,wBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EAC3C,qBAAA;EACF,iBAAA;EACF,aAAA;EACF,SAAA;EAAM,aAAA,IAAI9B,aAAM,CAAqC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;;kBAEnG,KAAmB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA/B,oBAAA,IAAM,IAAI,GAAA,EAAA,CAAA,KAAA,CAAA;sBACb,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACnD,oBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;EAC3B,wBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EAC3C,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;UACD,KAAK,CAAC,sBAAsB,EAAE,CAAC;OAChC,CAAA;EAED;;;;EAIG;MACK,eAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAgC,EAAA;EAClD,QAAA,IAAM,uBAAuB,GAAGD,gBAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;UAC/E,IAAI,CAAC,uBAAuB,EAAE;EAC5B,YAAA,OAAO6B,2BAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;EACxD,SAAA;EAAM,aAAA;cACL,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAC5C,SAAA;OACF,CAAA;;;EApSU,eAAA,CAAA,IAAA,GAAApD,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,sDAYiC,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAZtE,eAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;oHACnB,eAAe,EAAA,UAAA,EAAA,CAAA;oBAD3BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;gCAaQsD,WAAQ;;gCAAIC,SAAM;iCAAC,sBAAsB,CAAA;;;;;EC9DnF,IAAM,sBAAsB,GAAGC,yBAAoB,gBAAA,YAAA;EAAC,IAAA,SAAA,OAAA,GAAA;OAAQ;MAAA,OAAA,OAAA,CAAA;EAAA,CAAR,IAAS,CAAC;EAK9D;EACA,IAAA,kBAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAsB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAA;EAqC9B,IAAA,SAAA,kBAAA,CAAsB,GAAsB,EAAA;EAA5C,QAAA,IAAA,KAAA,GACE,iBAAO,IACR,IAAA,CAAA;EAFqB,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;EAzBpC,QAAA,KAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;EAU1C,QAAA,KAAgB,CAAA,gBAAA,GAA8B,UAAU,CAAC;;OAiBlE;EAlCD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAkC,EAAA;EAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAe,CAAA,SAAA,EAAA,iBAAA,EAAA;EADnB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,gBAAgB,CAAC;WAC9B;EACD,QAAA,GAAA,EAAA,UAAoB,KAAgC,EAAA;EAClD,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;EAC9B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;WACzB;;;EAJA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAQ,EAAA;EACf,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CAAI,kBAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;WACjF;;;EAAA,KAAA,CAAA,CAAA;;GApCH,CACU,sBAAsB;wIADV,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAzD,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAlB,kBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,sLAH5B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,kBAAkB,EAAA,UAAA,EAAA,CAAA;oBAJvC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHAMU,KAAK,EAAA,CAAA;wBAAbC,QAAK;kBAGF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,eAAe,EAAA,CAAA;wBADlBA,QAAK;kBAWF,IAAI,EAAA,CAAA;wBADPA,QAAK;;;EC3BR;AACA,MAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAAqB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;EAsB7B,IAAA,SAAA,yBAAA,CAAY,GAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAJS,QAAA,KAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;OAI3B;EArBD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAA6B,EAAA;EACvC,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,KAAc,EAAA;EACzB,YAAA,IAAI,CAAC,SAAS,GAAGC,8BAAqB,CAAC,KAAK,CAAC,CAAC;EAC9C,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;WACzB;;;EAJA,KAAA,CAAA,CAAA;MAWS,yBAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,IAAa,EAAA;;UAC9B,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;UAC5B,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;OAC9B,CAAA;;GAhCH,CAGU,kBAAqB;+IAHT,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA5D,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,4IAHnC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAJ9C0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHASK,OAAO,EAAA,CAAA;wBADVC,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;;;ECjBR;AACA,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAA2E,SAAuC,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;EAchH,IAAA,SAAA,mBAAA,CAAY,GAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EARO,QAAA,KAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;;OAQxC;EAfD,IAAA,MAAA,CAAA,cAAA,CACI,mBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,mBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAc,EAAA;UAC9C,OAAO,IAAI,CAAC,UAAU,CAAC;OACxB,CAAA;;GAZH,CAA2E,yBAAuC;yIAA5F,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA3D,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,0HAH7B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAJxC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHAIK,SAAS,EAAA,CAAA;wBADZC,QAAK;;;ECDR;AACA,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAA+B,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;EAPzC,IAAA,SAAA,mBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA8BC,CAAA,CAAA,IAAA,IAAA,CAAA;EAbS,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAEmB,QAAA,KAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;;OAWpE;EApBC,IAAA,MAAA,CAAA,cAAA,CACI,mBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EASD,IAAA,MAAA,CAAA,cAAA,CACI,mBAAU,CAAA,SAAA,EAAA,YAAA,EAAA;;EADd,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,mBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,KAAa,EAAE,MAA2C,EAAA;EACzE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;OACzB,CAAA;;GAzBH,CAGU,yBAA+B;yIAHnB,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA3D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2OAH7B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAJxC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;gCASK,MAAM,EAAA,CAAA;wBADTC,QAAK;kBASqC,gBAAgB,EAAA,CAAA;wBAA1DE,cAAW;yBAAC,4BAA4B,CAAA;kBAIrC,UAAU,EAAA,CAAA;wBADbA,cAAW;yBAAC,iBAAiB,CAAA;;;ECnBhC;AACA,MAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;MAAiH,SAAyB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;EAJ1I,IAAA,SAAA,yBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA8BC,CAAA,CAAA,IAAA,IAAA,CAAA;EAlBS,QAAA,KAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;EAe/B,QAAA,KAAA,CAAA,eAAe,GAAG,IAAIC,eAAY,EAAuB,CAAC;;OAGrE;EAzBC,IAAA,MAAA,CAAA,cAAA,CACI,yBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CAAa,yBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EAApB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAqB,OAA6B,EAAA;;EAEhD,YAAA,IAAI,OAAO,YAAY3D,YAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EACrE,gBAAA,MAAA,CAAA,SAAA,CAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAM,CAAC;EACvD,gBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;EAC/B,aAAA;EAAM,iBAAA;kBACL,MAAM,CAAA,SAAA,CAAA,OAAO,GAAG,OAAO,CAAC;EACzB,aAAA;WACF;;;EATA,KAAA,CAAA,CAAA;;GAZH,CAAiH,mBAAyB;+IAApH,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,2KAHnC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAJ9C0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;gCAIK,SAAS,EAAA,CAAA;wBADZC,QAAK;kBAsBI,eAAe,EAAA,CAAA;wBAAxBI,SAAM;;;ECzBT;AACA,MAAA,qBAAA,kBAAA,UAAA,MAAA,EAAA;MAAuE,SAAsB,CAAA,qBAAA,EAAA,MAAA,CAAA,CAAA;EAa3F,IAAA,SAAA,qBAAA,CAAY,GAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAJS,QAAA,KAAA,CAAA,OAAO,GAAG,IAAID,eAAY,EAAY,CAAC;;OAIhD;EAdD,IAAA,MAAA,CAAA,cAAA,CACI,qBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;cACnB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAC;WACzB;;;EAJA,KAAA,CAAA,CAAA;;GAJH,CAAuE,mBAAsB;2IAAvE,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA9D,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAArB,qBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,iJAH/B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAJ1C0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHAIK,IAAI,EAAA,CAAA;wBADPC,QAAK;kBAUI,OAAO,EAAA,CAAA;wBAAhBI,SAAM;;;ECTT;AACA,MAAA,wCAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAyC,CAAA,wCAAA,EAAA,MAAA,CAAA,CAAA;EADnD,IAAA,SAAA,wCAAA,GAAA;;;EAME,IAAA,wCAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UAAA,IAIC,KAAA,GAAA,IAAA,CAAA;;EAHC,QAAA,IAAIxC,gBAAS,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,EAAE;cAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAI,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,0CAAE,KAAK,MAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA,EAAA,CAAC,CAAC;EAC1F,SAAA;OACF,CAAA;EAED;;;;EAIG;MACH,wCAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,MAAwC,EAAA;;;EAGtD,QAAA,IAAI,MAAM,YAAYyC,mBAAc,IAAI,MAAM,YAAYC,kBAAe,EAAE;;cAEzE,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAA,EAAA,CAAC,CAAC;EAC3E,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE;;;;EAI3E,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;EACxB,oBAAA,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY;EAChD,oBAAA,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa;EAClD,oBAAA,OAAO,EAAE,KAAK;EACd,oBAAA,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,iBAAA,CAAC,CAAC;EACJ,aAAA;;EAED,YAAA,IAAI,MAAM,EAAE;EACV,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;sBACxB,cAAc,EAAE,MAAM,CAAC,YAAY;sBACnC,eAAe,EAAE,MAAM,CAAC,aAAa;EACrC,oBAAA,OAAO,EAAE,IAAI;EACb,oBAAA,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,iBAAA,CAAC,CAAC;EACJ,aAAA;;EAED,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;EAC9B,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,CAAC,IAAI,CAAC,sFAAsF,EAAE,MAAM,CAAC,CAAC;EAC9G,SAAA;OACF,CAAA;;GAhDH,CACU,yBAAyC;8JAD7B,wCAAwC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxC,wCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,sFAHlD,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,wCAAwC,EAAA,UAAA,EAAA,CAAA;oBAJ7D0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;ECuBD;AACA,MAAA,kBAAA,kBAAA,UAAA,MAAA,EAAA;MAAwC,SAAqB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAA;EAoF3D,IAAA,SAAA,kBAAA,CACY,QAAkB,EAClB,GAA6B,EAC7B,GAAqB,EACM,gBAAkC,EAAA;UAJzE,IAME,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAC5C,IAAA,CAAA;EANW,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;EAClB,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAA0B;EAC7B,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;EACM,QAAA,KAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAlEjE,QAAA,KAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;UAS1C,KAAA,CAAA,gBAAgB,GAAG,IAAIP,oBAAe,CAA4B,UAAU,CAAC,CAAC;EAShF,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAkBhB,QAAA,KAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;UAS/B,KAAA,CAAA,SAAS,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;EAWhD,QAAA,KAAA,CAAA,cAAc,GAAG,IAAIW,eAAY,EAAY,CAAC;EAE9C,QAAA,KAAA,CAAA,eAAe,GAAG,IAAIA,eAAY,EAAuB,CAAC;;OAWnE;EArFD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAA2C,EAAA;EACrD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAkC,EAAA;EAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAe,CAAA,SAAA,EAAA,iBAAA,EAAA;EADnB,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;WACpC;EACD,QAAA,GAAA,EAAA,UAAoB,KAAgC,EAAA;EAClD,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;WACnC;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAGF,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC7C;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAe,EAAA;EACtB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;WAC7B;EACD,QAAA,GAAA,EAAA,UAAa,KAAc,EAAA;cACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAACA,8BAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;WACnD;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAqBD,IAAA,kBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,MAAM,CAAA,SAAA,CAAA,QAAQ,WAAE,CAAC;EAClB,SAAA;OACF,CAAA;MAES,kBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,YAA+B,EAAA;UAAlD,IA0CT,KAAA,GAAA,IAAA,CAAA;EAzCC,QAAA,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,QAAmC,CAAC;UACxE,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;EAC1C,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;cACrC,IAAI,KAAI,CAAC,eAAe,EAAE;EACxB,gBAAA,KAAI,CAAC,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC;EAC/C,aAAA;EACH,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;UACtC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;EAExC,QAAA,IAAI,IAAI,CAAC,eAAe,YAAY,yBAAyB,EAAE;cAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;cAC5C,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;EAE9C,YAAA,IAAI,IAAI,CAAC,eAAe,YAAY,mBAAmB,EAAE;kBACvD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;EAE1C,gBAAA,IAAI,IAAI,CAAC,eAAe,YAAY,yBAAyB,EAAE;sBAC7D,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;;sBAEhD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA;EAClD,wBAAA,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClC,qBAAC,CAAC,CAAC;EAEH,oBAAA,IAAI,IAAI,CAAC,eAAe,YAAY,wCAAwC,EAAE;;EAE7E,qBAAA;EACF,iBAAA;EACF,aAAA;EACF,SAAA;EAED,QAAA,IAAI,IAAI,CAAC,eAAe,YAAY,mBAAmB,EAAE;cACvD,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;EAEhD,YAAA,IAAI,IAAI,CAAC,eAAe,YAAY,qBAAqB,EAAE;kBACzD,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;kBACtC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA;EAC1C,oBAAA,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACjC,iBAAC,CAAC,CAAC;EACJ,aAAA;EACF,SAAA;OACF,CAAA;EAES,IAAA,kBAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;UACR,IAAI,IAAI,CAAC,IAAI,EAAE;EACb,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;EACzB,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;EAClF,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;;GAtJH,CAAwCM,0BAAqB;EAAhD,kBAAA,CAAA,IAAA,GAAAlE,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kBAAkB,mJAwFnBmE,sBAAiB,EAAA,CAAA,EAAA,MAAA,EAAAnE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAxFhB,kBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,oXAHnB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGD,kBAAkB,EAAA,UAAA,EAAA,CAAA;oBAL9B0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uBAAuB;EACjC,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;gCA0FIF,SAAM;iCAACW,sBAAiB,CAAA;;2BApFlB,KAAK,EAAA,CAAA;wBAAbR,QAAK;kBAGF,OAAO,EAAA,CAAA;wBADVA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,eAAe,EAAA,CAAA;wBADlBA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBASI,cAAc,EAAA,CAAA;wBAAvBI,SAAM;kBAEG,eAAe,EAAA,CAAA;wBAAxBA,SAAM;;;AC7GT,MAAA,sBAAA,kBAAA,YAAA;EACE,IAAA,SAAA,sBAAA,CAAoB,UAAwB,EAAA;EAAxB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;OAAI;MAEhD,sBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,CAA4B,EAAA;UACpC,IAAI,CAAC,CAAC,EAAE;EACN,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;UACD,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;OACnD,CAAA;;;4IARU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,eAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0IAAtB,sBAAsB,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA;oHAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAHlCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,oBAAoB;mBAC3B,CAAA;;AAgBD,MAAA,4BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,4BAAA,GAAA;;;;kJAAa,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mJAA5B,4BAA4B,EAAA,YAAA,EAAA,CAf5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAAtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;mJAetB,4BAA4B,EAAA,CAAA,CAAA;oHAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBAJxCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;sBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;mBAClC,CAAA;;;ECjBD;;;;EAIG;AAQH,MAAA,yBAAA,kBAAA,YAAA;EAPA,IAAA,SAAA,yBAAA,GAAA;EAY4C,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;EAWzD,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EAUlB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;EAU5B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;EAIhB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;EAG1B,QAAA,IAAa,CAAA,aAAA,GAAG,0CAAwC,CAAC;OAC1D;EAnCC,IAAA,MAAA,CAAA,cAAA,CACI,yBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,QAAiB,EAAA;EAC5B,YAAA,IAAI,CAAC,SAAS,GAAGV,8BAAqB,CAAC,QAAQ,CAAC,CAAC;WAClD;;;EAHA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAkB,CAAA,SAAA,EAAA,oBAAA,EAAA;;EADtB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,mBAAmB,CAAC;WACjC;EACD,QAAA,GAAA,EAAA,UAAuB,kBAA2B,EAAA;EAChD,YAAA,IAAI,CAAC,mBAAmB,GAAGA,8BAAqB,CAAC,kBAAkB,CAAC,CAAC;WACtE;;;EAHA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAAgB,EAAA;EAC1B,YAAA,IAAI,CAAC,QAAQ,GAAGA,8BAAqB,CAAC,OAAO,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;;;+IAhCU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA5D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,6UCftC,qWAOA,EAAA,MAAA,EAAA,CAAA,8ZAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAG,sBAAA,EAAA,EAAA,eAAA,EAAAvE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDQa,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAPrC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,qBAAqB;EAC/B,oBAAA,WAAW,EAAE,8BAA8B;sBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;sBAC3C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;gCAM2C,eAAe,EAAA,CAAA;wBAAxDZ,cAAW;yBAAC,2BAA2B,CAAA;kBAE/B,eAAe,EAAA,CAAA;wBAAvBF,QAAK;kBAGF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAWF,kBAAkB,EAAA,CAAA;wBADrBA,QAAK;kBAWF,OAAO,EAAA,CAAA;wBADVA,QAAK;kBASG,YAAY,EAAA,CAAA;wBAApBA,QAAK;kBAEG,QAAQ,EAAA,CAAA;wBAAhBA,QAAK;;;EEhCR;;;;;;;EAOG;AASH,MAAA,uBAAA,kBAAA,YAAA;MA8EE,SAAoB,uBAAA,CAAA,WAAuB,EAAU,SAA0B,EAAA;EAA3D,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;EAAU,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EA7EzC,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;EAyB7C,QAAA,IAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;EAS5C,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAkBhB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;EAS/B,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EAWlB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAIG,eAAY,EAAY,CAAC;UAGxD,IAAA,CAAA,gBAAgB,GAAG,IAAIX,oBAAe,CAA4B,UAAU,CAAC,CAAC;OAEK;EA3EnF,IAAA,MAAA,CAAA,cAAA,CACI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;WAC9C;;;EAAA,KAAA,CAAA,CAAA;EAID,IAAA,MAAA,CAAA,cAAA,CACI,uBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAA2C,EAAA;EACrD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAkC,EAAA;EAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAGS,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC7C;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAe,EAAA;EACtB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,KAAc,EAAA;EACzB,YAAA,IAAI,CAAC,SAAS,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC/C;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAaD,IAAA,uBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;EACE,QAAA,IAAIR,2BAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;EAChC,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;EAChE,SAAA;EACD,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;EAElC,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,aAAW,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAG,CAAC,CAAC;OACjG,CAAA;MAED,uBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAAyB,EAAA;UACvC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;OACpH,CAAA;MAED,uBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,MAAiC,EAAA;EACrD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;OACpC,CAAA;;;6IA/FU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAApD,aAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA0E,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA1E,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,ECvCpC,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,8lCAiCA,EDIc,MAAA,EAAA,CAAA,6KAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA2E,aAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAA,aAAA,CAAA,SAAA,EAAA,EAAA,UAAA,EAAA,CAAC,uBAAuB,CAAC,EAAA,eAAA,EAAA9E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAE1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBARnC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,cAAc;EACxB,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;sBACrC,UAAU,EAAE,CAAC,uBAAuB,CAAC;mBACtC,CAAA;yIAEuC,OAAO,EAAA,CAAA;wBAA5CZ,cAAW;yBAAC,uBAAuB,CAAA;kBAGhC,SAAS,EAAA,CAAA;wBADZA,cAAW;yBAAC,SAAS,CAAA;kBAKb,KAAK,EAAA,CAAA;wBAAbF,QAAK;kBAGF,OAAO,EAAA,CAAA;wBADVA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBASI,cAAc,EAAA,CAAA;wBAAvBI,SAAM;;;EE3GT;;EAEG;AAKH,MAAA,gCAAA,kBAAA,YAAA;MACE,SACkC,gCAAA,CAAA,IAA8B,EACvD,SAAkE,EAAA;EADzC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA0B;EACvD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyD;OACvE;;;EAJO,gCAAA,CAAA,IAAA,GAAA/D,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gCAAgC,kBAEjC+E,kBAAe,EAAA,EAAA,EAAA,KAAA,EAAAX,aAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAFd,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,6ECZ7C,scAQA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgF,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;oHDIa,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAJ5CV,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,4BAA4B;EACtC,oBAAA,WAAW,EAAE,qCAAqC;mBACnD,CAAA;;;gCAGIF,SAAM;iCAACuB,kBAAe,CAAA;;;;AEJ3B,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;;;8IAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,wBAAwB,EAHpB,YAAA,EAAA,CAAA,kBAAkB,CADvB,EAAA,OAAA,EAAA,CAAAmF,iBAAY,aAEZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;+IAEjB,wBAAwB,EAAA,OAAA,EAAA,CAJ1B,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBALpCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,YAAY,EAAE,CAAC,kBAAkB,CAAC;sBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;mBAC9B,CAAA;;;ACFD,MAAA,mBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mBAAA,GAAA;;MACE,mBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAiB,EAAA;EACzB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,IAAI,CAAC,MAAM,CAAX,EAAW,CAAC,CAAC;OAC1C,CAAA;;;yIAHU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAnF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;uIAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAH/BqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,iBAAiB;mBACxB,CAAA;;AAWD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;;;+IAAa,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gJAAzB,yBAAyB,EAAA,YAAA,EAAA,CAVzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAAnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;gJAUnB,yBAAyB,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAJrCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;sBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;mBAC/B,CAAA;;;ACXD,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;MACE,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,EAAU,EAAA;UAClB,IAAM,KAAK,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;UAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;OAChC,CAAA;;;6IAJU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2IAAvB,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;oHAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,qBAAqB;mBAC5B,CAAA;;AAYD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAX7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;oJAWvB,6BAA6B,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACPD,MAAA,wBAAA,kBAAA,YAAA;EACE,IAAA,SAAA,wBAAA,CAAoB,cAAuC,EAAA;EAAvC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAyB;OAAI;MAC/D,wBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,IAA2C,EAAA;EACnD,QAAA,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE;EACvE,YAAA,OAAO,IAAgB,CAAC;EACzB,SAAA;EACD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;8IAPU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAc,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAApF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4IAAxB,wBAAwB,EAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAHpCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,sBAAsB;mBAC7B,CAAA;;AAgBD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;;;oJAAa,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA9B,8BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,8BAA8B,EAf9B,YAAA,EAAA,CAAA,wBAAwB,CAWzB,EAAA,OAAA,EAAA,CAAA,6BAA6B,aAX5B,wBAAwB,CAAA,EAAA,CAAA,CAAA;qJAexB,8BAA8B,EAAA,OAAA,EAAA,CAJhC,CAAC,6BAA6B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI7B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAL1CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAAC,6BAA6B,CAAC;sBACxC,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;AChBD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;MACE,2BAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,OAA2C,EAAA;EACnD,QAAA,IAAI,OAAO,EAAE;EACX,YAAA,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;EAC5B,YAAA,IAAM,UAAU,GAAuC,OAAO,CAAC,SAAS,CAAC;EACzE,YAAA,IAAM,eAAe,GAAiD,OAAO,CAAC,cAAc,CAAC;cAE7F,IAAM,cAAc,GAAG,IAAI/D,cAAW,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;EAC3E,YAAA,OAAO,cAAc,CAAC;EACvB,SAAA;EAED,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;iJAZU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAP,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+IAA3B,2BAA2B,EAAA,IAAA,EAAA,yBAAA,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAHvCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,yBAAyB;mBAChC,CAAA;;AAoBD,MAAA,iCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iCAAA,GAAA;;;;uJAAa,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wJAAjC,iCAAiC,EAAA,YAAA,EAAA,CAnBjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAA3B,2BAA2B,CAAA,EAAA,CAAA,CAAA;wJAmB3B,iCAAiC,EAAA,CAAA,CAAA;oHAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAJ7CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;sBAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;mBACvC,CAAA;;;ECnBD;;;;;;;;;;EAUG;AAIH,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;EACE;;;EAGG;MACH,yBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,OAA2C,EAAA;EACnD,QAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;EACxB,YAAA,OAAO,OAAO,CAAC;EAChB,SAAA;EAED,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;+IAXU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6IAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAHrCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAmBD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;;;qJAAa,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sJAA/B,+BAA+B,EAAA,YAAA,EAAA,CAlB/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAAzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;sJAkBzB,+BAA+B,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAJ3CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;AC7BD,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;MACE,wBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,IAAa,EAAA;UACrB,IAAI,QAAQ,GAAG,SAAS,CAAC;EACzB,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;cACjC,QAAQ,GAAG,IAAI,CAAC;EACjB,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;MAED,wBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,SAAkB,EAAA;EACnC,QAAA,OAAO9C,aAAM,CAAW,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;OAC9F,CAAA;;;8IAXU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxB,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4IAAxB,wBAAwB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAHpCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,gBAAgB;mBACvB,CAAA;;AAmBD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;;;oJAAa,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qJAA9B,8BAA8B,EAAA,YAAA,EAAA,CAlB9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAAxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;qJAkBxB,8BAA8B,EAAA,CAAA,CAAA;oHAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAJ1CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACjBD,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;MACE,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAc,EAAA;EACtB,QAAA,OAAO,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;OACtD,CAAA;;;6IAHU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2IAAvB,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;oHAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,qBAAqB;mBAC5B,CAAA;;AAWD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAV7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;oJAUvB,6BAA6B,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACTD,MAAA,kBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kBAAA,GAAA;;MACE,kBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAc,EAAA;EACtB,QAAA,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;OACjD,CAAA;;;wIAHU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sIAAlB,kBAAkB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;oHAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;oBAH9BqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,gBAAgB;mBACvB,CAAA;;AAWD,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;;;8IAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+IAAxB,wBAAwB,EAAA,YAAA,EAAA,CAVxB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAAlB,kBAAkB,CAAA,EAAA,CAAA,CAAA;+IAUlB,wBAAwB,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAJpCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;sBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;mBAC9B,CAAA;;;ACXD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;EACE,IAAA,qBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,OAAsB,EAAE,MAAgB,EAAA;EAAhB,QAAA,IAAA,MAAA,KAAA,KAAA,CAAA,EAAA,EAAA,MAAgB,GAAA,OAAA,CAAA,EAAA;EAChD,QAAA,IAAM,KAAK,GAAG;EACZ,YAAA,CAAC,EAAE,SAAS,CAAAhC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;EAChB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;EAChB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;EAChB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;WACjB,CAAC;EACF,QAAA,IAAM,MAAM,GAAG;EACb,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;EACzB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;EACzB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;EACzB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;WAC1B,CAAC;EACF,QAAA,IAAM,IAAI,GAAG;EACX,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,CAAC,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,CAAA,CAAA,CAAA,CAAA;EAC5B,YAAA,CAAC,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,CAAC,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,CAAA,CAAA,CAAA,CAAA;WAC7B,CAAC;EAEF,QAAA,QAAQ,MAAM;EACZ,YAAA,KAAK,OAAO;EACV,gBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;EACxB,YAAA,KAAK,QAAQ;EACX,gBAAA,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;EACzB,YAAA,KAAK,MAAM;EACT,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;EACvB,YAAA;EACE,gBAAA,OAAO,EAAE,CAAC;EACb,SAAA;OACF,CAAA;;;2IA/BU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjD,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yIAArB,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAHjCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,mBAAmB;mBAC1B,CAAA;;AAuCD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAtC3B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAArB,qBAAqB,CAAA,EAAA,CAAA,CAAA;kJAsCrB,2BAA2B,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAJvCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;sBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;mBACjC,CAAA;;;;ECpCD;;;;;;EAMG;AAIH,MAAA,2BAAA,kBAAA,YAAA;EACE,IAAA,SAAA,2BAAA,CAAiD,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;OAAI;MAEvF,2BAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAA6B,EAAA;;UACrC,IAAM,aAAa,GAAe,EAAE,CAAC;EACrC,QAAA,IAAI,KAAK,EAAE;;EACT,gBAAA,KAAmB,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;EAArB,oBAAA,IAAM,IAAI,GAAA,SAAA,CAAA,KAAA,CAAA;sBACb,IAAI,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;EAC3D,wBAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1B,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;EACD,QAAA,OAAO,aAAa,CAAC;OACtB,CAAA;;;EAbU,2BAAA,CAAA,IAAA,GAAAtE,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,kBAClBmE,sBAAiB,EAAA,CAAA,EAAA,MAAA,EAAAnE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+IAD1B,2BAA2B,EAAA,IAAA,EAAA,yBAAA,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAHvCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,yBAAyB;mBAChC,CAAA;;;gCAEcb,SAAM;iCAACW,sBAAiB,CAAA;;;AAmBvC,MAAA,iCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iCAAA,GAAA;;;;uJAAa,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAnE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wJAAjC,iCAAiC,EAAA,YAAA,EAAA,CApBjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAA3B,2BAA2B,CAAA,EAAA,CAAA,CAAA;wJAoB3B,iCAAiC,EAAA,CAAA,CAAA;oHAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAJ7CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;sBAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;mBACvC,CAAA;;;EC/BD;;EAEG;AAIH,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;MACE,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,IAA8B,EAAA;EACtC,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;OAC9B,CAAA;;;6IAHU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2IAAvB,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;oHAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,qBAAqB;mBAC5B,CAAA;;AAWD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAV7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;oJAUvB,6BAA6B,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACbD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;EACE,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,KAA6B,EAAE,YAAuC,EAAA;EAC9E,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;EAC3B,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,KAAK,YAAY,CAAhC,EAAgC,CAAC,CAAC;EAC/D,SAAA;OACF,CAAA;;;+IAPU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6IAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAHrCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAeD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;;;qJAAa,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sJAA/B,+BAA+B,EAAA,YAAA,EAAA,CAd/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAAzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;sJAczB,+BAA+B,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAJ3CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;ACdD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;MACE,yBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAgC,EAAA;EACxC,QAAA,IAAI,KAAK,EAAE;EACT,YAAA,QAAQ,KAAK,CAAC,WAAW,EAAE;EACzB,gBAAA,KAAK,YAAY;EACf,oBAAA,OAAO,YAAY,CAAC;EACtB,gBAAA,KAAK,WAAW;EACd,oBAAA,OAAO,aAAa,CAAC;EACvB,gBAAA,KAAK,OAAO;EACV,oBAAA,OAAO,OAAO,CAAC;EACjB,gBAAA,KAAK,cAAc;EACjB,oBAAA,OAAO,cAAc,CAAC;EACxB,gBAAA,KAAK,OAAO;EACV,oBAAA,OAAO,KAAK,CAAC;EACf,gBAAA,KAAK,uBAAuB;EAC1B,oBAAA,OAAO,eAAe,CAAC;EACzB,gBAAA,KAAK,uBAAuB;EAC1B,oBAAA,OAAO,eAAe,CAAC;EACzB,gBAAA,KAAK,MAAM;EACT,oBAAA,OAAO,gBAAgB,CAAC;EAC1B,gBAAA,KAAK,OAAO;EACV,oBAAA,OAAO,gBAAgB,CAAC;EAC1B,gBAAA,KAAK,UAAU;EACb,oBAAA,OAAO,aAAa,CAAC;EACvB,gBAAA;EACE,oBAAA,OAAO,KAAK,CAAC;EAChB,aAAA;EACF,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;;;+IA7BU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6IAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAHrCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAqCD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;;;qJAAa,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sJAA/B,+BAA+B,EAAA,YAAA,EAAA,CApC/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAAzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;sJAoCzB,+BAA+B,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAJ3CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;AClCD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;EACE,IAAA,8BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,IAA+B,EAAE,MAAiD,EAAA;UAC1F,IAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC9B,QAAA,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE;;cAEtB,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;;EAEvE,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;EAC9H,aAAA;;cAED,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;;EAEjE,gBAAA,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;EAC/H,aAAA;EACF,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;;;oJAhBU,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kJAA9B,8BAA8B,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;oHAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAH1CqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,mBAAmB;mBAC1B,CAAA;;AAwBD,MAAA,oCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oCAAA,GAAA;;;;0JAAa,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2JAApC,oCAAoC,EAAA,YAAA,EAAA,CAvBpC,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAA9B,8BAA8B,CAAA,EAAA,CAAA,CAAA;2JAuB9B,oCAAoC,EAAA,CAAA,CAAA;oHAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;oBAJhDsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;sBAC9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;mBAC1C,CAAA;;;ACpBD,MAAA,6BAAA,kBAAA,YAAA;EACE,IAAA,SAAA,6BAAA,CAAoB,SAA0B,EAAA;EAA1B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;OAAI;EAClD,IAAA,6BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,KAAsC,EAAE,IAA4B,EAAA;EAC5E,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;OAChE,CAAA;;;mJAJU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAI,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA1E,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iJAA7B,6BAA6B,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAHzCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAYD,MAAA,mCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mCAAA,GAAA;;;;yJAAa,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0JAAnC,mCAAmC,EAAA,YAAA,EAAA,CAXnC,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAA7B,6BAA6B,CAAA,EAAA,CAAA,CAAA;0JAW7B,mCAAmC,EAAA,CAAA,CAAA;oHAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAJ/CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACbD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;MACE,qBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,MAAiC,EAAA;UACzC,IAAI,CAAC,MAAM,EAAE;EACX,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;EACD,QAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;EAC9B,QAAA,IACE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;EAC1B,YAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;EAC1B,YAAA,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC;EACtC,YAAA,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EACxC;EACA,YAAA,OAAO,YAAY,CAAC;EACrB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;EAClC,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EAC5B,YAAA,OAAO,iBAAiB,CAAC;EAC1B,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;EAC/B,YAAA,OAAO,MAAM,CAAC;EACf,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;EACnC,YAAA,OAAO,UAAU,CAAC;EACnB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EAC5B,YAAA,OAAO,aAAa,CAAC;EACtB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;EAC9B,YAAA,OAAO,OAAO,CAAC;EAChB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EACvD,YAAA,OAAO,QAAQ,CAAC;EACjB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EAC3B,YAAA,OAAO,eAAe,CAAC;EACxB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EAC5B,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;EACD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;2IA1CU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yIAArB,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAHjCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,mBAAmB;mBAC1B,CAAA;;AAkDD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAjD3B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAArB,qBAAqB,CAAA,EAAA,CAAA,CAAA;kJAiDrB,2BAA2B,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAJvCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;sBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;mBACjC,CAAA;;;AC7CD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;EACE,IAAA,0BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,IAA8B,EAAE,KAAkB,EAAA;EAC1D,QAAA,IAAI,KAAK,EAAE;cACT,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAA,EAAA,CAAC,CAAC;cAC1F,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;EACrC,YAAA,IAAI,IAAI,EAAE;EACR,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EAAM,iBAAA;EACL,gBAAA,OAAO,SAAS,CAAC;EAClB,aAAA;EACF,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;OACF,CAAA;;;gJAbU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8IAA1B,0BAA0B,EAAA,IAAA,EAAA,wBAAA,EAAA,CAAA,CAAA;oHAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAHtCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,wBAAwB;mBAC/B,CAAA;;AAqBD,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;;;sJAAa,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uJAAhC,gCAAgC,EAAA,YAAA,EAAA,CApBhC,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAA1B,0BAA0B,CAAA,EAAA,CAAA,CAAA;uJAoB1B,gCAAgC,EAAA,CAAA,CAAA;oHAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAJ5CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;sBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;mBACtC,CAAA;;;ACrBD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;EACE,IAAA,+BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,EAAU,EAAE,OAA2C,EAAA;EAC/D,QAAA,IAAM,kBAAkB,GAAG,SAAS,CAAAhC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,KAAK,IAAA,CAAC;EAC1C,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE;EACnB,YAAA,OAAO,kBAAkB,CAAC;EAC3B,SAAA;UACD,IAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAlB,EAAkB,CAAC,CAAC;EAC5D,QAAA,OAAO,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC;OACnE,CAAA;;;qJARU,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtC,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mJAA/B,+BAA+B,EAAA,IAAA,EAAA,6BAAA,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAH3CqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,6BAA6B;mBACpC,CAAA;;AAgBD,MAAA,qCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qCAAA,GAAA;;;;2JAAa,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4JAArC,qCAAqC,EAAA,YAAA,EAAA,CAfrC,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAA/B,+BAA+B,CAAA,EAAA,CAAA,CAAA;4JAe/B,qCAAqC,EAAA,CAAA,CAAA;oHAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;oBAJjDsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,+BAA+B,CAAC;sBAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;mBAC3C,CAAA;;;;ACZD,MAAA,gBAAA,kBAAA,YAAA;EAHA,IAAA,SAAA,gBAAA,GAAA;;EAIE,QAAA,IAAA,CAAA,iBAAiB,IAAA,EAAA,GAAA,EAAA;EACf,YAAA,EAAA,CAAC,SAAS,CAAA,GAAG,SAAS,CAAAhC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,SAAS,CAAA,CAAA,CAAA,CAAA;EAC/B,YAAA,EAAA,CAAC,OAAO,CAAA,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,EAAA,CAAC,UAAU,CAAA,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,CAAA,CAAA,CAAA,CAAA;EACjC,YAAA,EAAA,CAAC,OAAO,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,EAAA,CAAC,SAAS,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,SAAS,CAAA,CAAA,CAAA,CAAA;EAC/B,YAAA,EAAA,CAAC,OAAO,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,EAAA,CAAC,YAAY,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,CAAA,CAAA,CAAA,CAAA;EACrC,YAAA,EAAA,CAAC,aAAa,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;iBACxC,CAAC;OAiBH;EAfC,IAAA,gBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,IAA8B,EAAE,SAAmB,EAAA;EAC3D,QAAA,IAAM,QAAQ,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;EACjC,QAAA,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE;EACjC,YAAA,IAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,CAAA,CAAA,CAAA,CAAA,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,IAAA,CAAC;EACvF,YAAA,IAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,SAAS,EAAK,EAAA,OAAA,SAAS,CAAC,MAAM,CAAA,EAAA,CAAC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,CAAC,CAAA,CAAA,CAAA,GAAE,EAAE,CAAC;EACnH,YAAA,OAAU,QAAQ,GAAA,GAAA,GAAI,IAAI,CAAC,GAAG,GAAA,IAAA,GAAK,IAAI,CAAC,KAAK,GAAA,KAAA,GAAM,aAAa,GAAA,IAAA,GAAK,oBAAsB,CAAC;EAC7F,SAAA;EAAM,aAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;EACnC,YAAA,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC1H,YAAA,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,kFAAA,aAAa,CAAA,CAAA,CAAA,CAAA,GAAG,SAAS,CAAC;EACpE,YAAA,OAAU,QAAQ,GAAA,GAAA,GAAI,IAAI,CAAC,GAAG,GAAK,IAAA,GAAA,IAAI,CAAC,KAAK,UAAI,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAG,IAAA,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,EAAE,OAAG,CAAC;EACzH,SAAA;EAAM,aAAA;;EAEL,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;;;sIA1BU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxC,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oIAAhB,gBAAgB,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;oHAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;oBAH5BqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,kBAAkB;mBACzB,CAAA;;AAkCD,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;4IAAa,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6IAAtB,sBAAsB,EAAA,YAAA,EAAA,CAjCtB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAhB,gBAAgB,CAAA,EAAA,CAAA,CAAA;6IAiChB,sBAAsB,EAAA,CAAA,CAAA;oHAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAJlCsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;sBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;mBAC5B,CAAA;;;;ECrCD;;;EAGG;AAKH,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;MACE,wBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAyC,EAAA;EACjD,QAAA,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAACe,qBAAW,CAAC,GAAG,EAAE,CAAC;UACpD,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAA,KAAA,EAAE,CAAC,CAAC;UACzB,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,CAAC,CAAC;EACxB,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;8IANU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4IAAxB,wBAAwB,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAJpCqE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,sBAAsB;EAC5B,oBAAA,IAAI,EAAE,KAAK;mBACZ,CAAA;;AAcD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;;;oJAAa,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qJAA9B,8BAA8B,EAAA,YAAA,EAAA,CAb9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAAxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;qJAaxB,8BAA8B,EAAA,CAAA,CAAA;oHAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAJ1CsE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACZD,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;4IAAa,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAtB,sBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,iBAHlB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAD9BmF,iBAAY,EAAE,4BAA4B,aAE1C,yBAAyB,CAAA,EAAA,CAAA,CAAA;EAExB,sBAAA,CAAA,IAAA,GAAAnF,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,EAJxB,OAAA,EAAA,CAAA,CAACmF,iBAAY,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI1C,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBALlCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,4BAA4B,CAAC;sBACrD,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;ACYD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAnF,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAPpCmF,iBAAY;UACZG,mCAA8B;UAC9B,wBAAwB;UACxB,sBAAsB;UACtBC,yCAAmB;UACnBC,oBAAe,aAGP,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAAxF,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAXtB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZG,mCAA8B;cAC9B,wBAAwB;cACxB,sBAAsB;cACtBC,yCAAmB;cACnBC,oBAAe;WAChB,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAZhClB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZG,mCAA8B;0BAC9B,wBAAwB;0BACxB,sBAAsB;0BACtBC,yCAAmB;0BACnBC,oBAAe;EAChB,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACRD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxF,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAHzB,gCAAgC,CAAA,EAAA,OAAA,EAAA,CADrCmF,iBAAY,EAAEM,kBAAe,EAAED,oBAAe,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEpE,gCAAgC,CAAA,EAAA,CAAA,CAAA;oJAE/B,6BAA6B,EAAA,OAAA,EAAA,CAJ/B,CAACL,iBAAY,EAAEM,kBAAe,EAAED,oBAAe,EAAE,oBAAoB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIpE,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBALzClB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEM,kBAAe,EAAED,oBAAe,EAAE,oBAAoB,CAAC;sBAC/E,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;ACJD,MAAA,gBAAA,kBAAA,YAAA;MAeE,SAAiD,gBAAA,CAAA,SAA0B,EAAY,IAAgB,EAAA;EAAtD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EAAY,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;UAdvG,IAAO,CAAA,OAAA,GAAM,IAAI,CAAC,SAAS,CAAC,OAAO,GAAA,MAAM,CAAC;EAE1C,QAAA,IAAA,CAAA,QAAQ,GAAM,IAAI,CAAC,OAAO,UAAO,CAAC;EAElC,QAAA,IAAA,CAAA,YAAY,GAAM,IAAI,CAAC,OAAO,cAAW,CAAC;EAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAM,IAAI,CAAC,YAAY,SAAM,CAAC;EAC9C,QAAA,IAAA,CAAA,eAAe,GAAM,IAAI,CAAC,YAAY,aAAU,CAAC;EACjD,QAAA,IAAA,CAAA,SAAS,GAAM,IAAI,CAAC,YAAY,WAAQ,CAAC;EACzC,QAAA,IAAA,CAAA,iBAAiB,GAAM,IAAI,CAAC,YAAY,UAAO,CAAC;EAChD,QAAA,IAAA,CAAA,iBAAiB,GAAM,IAAI,CAAC,YAAY,UAAO,CAAC;EAChD,QAAA,IAAA,CAAA,mBAAmB,GAAM,IAAI,CAAC,YAAY,YAAS,CAAC;EAEpD,QAAA,IAAA,CAAA,iBAAiB,GAAM,IAAI,CAAC,OAAO,eAAY,CAAC;OAE2D;EAE3G;;;;EAIG;MACH,gBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,IAAa,EAAA;UACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,QAAQ,GAAW,WAAA,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;OACzG,CAAA;EAED;;;;EAIG;EACH,IAAA,gBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,UAAkB,cAAsB,EAAE,MAAc,EAAA;EACtD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,IAAI,CAAC,QAAQ,GAAI,GAAA,GAAA,cAAc,GAAa,YAAA,GAAA,MAAQ,CAAC,CAAC;OACtG,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,gBAAgB,CAAC,CAAC;OACvD,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,iBAAiB,CAAC,CAAC;OACxD,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,eAAe,CAAC,CAAC;OACjE,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,SAAS,CAAC,CAAC;OACtD,CAAA;MAED,gBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,EAAU,EAAA;EACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,IAAI,CAAC,iBAAiB,GAAA,MAAA,GAAO,EAAI,CAAC,CAAC;OAC1E,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,iBAAiB,CAAC,CAAC;OACxD,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,mBAAmB,CAAC,CAAC;OAC1D,CAAA;;;EA7DU,gBAAA,CAAA,IAAA,GAAAxF,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gBAAgB,kBAeP,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAAAoE,eAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAf1B,gBAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;oHACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;oBAD5BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;gCAgBnBuD,SAAM;iCAAC,iBAAiB,CAAA;;;;EClBvC;;EAEG;AAKH,MAAA,6BAAA,kBAAA,YAAA;MACE,SACkC,6BAAA,CAAA,IAA8B,EACvD,SAAsD,EAAA;EAD7B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA0B;EACvD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAA6C;OAC3D;;;EAJO,6BAAA,CAAA,IAAA,GAAAxD,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,kBAE9B+E,kBAAe,EAAA,EAAA,EAAA,KAAA,EAAAX,aAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAFd,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,2ECZ1C,8WAOA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgF,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;oHDKa,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCV,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,0BAA0B;EACpC,oBAAA,WAAW,EAAE,mCAAmC;mBACjD,CAAA;;;gCAGIF,SAAM;iCAACuB,kBAAe,CAAA;;;;AEJ3B,MAAA,mBAAA,kBAAA,YAAA;EACE,IAAA,SAAA,mBAAA,CAAoB,MAAiB,EAAA;EAAjB,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;EACrC,QAAA,IAAA,CAAA,oBAAoB,GAAG,SAAS,CAAAzC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,IAAA,CAAC;OADT;EAGzC;;;EAGG;MACH,mBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,mBAA4B,EAAA;EAC9C,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;EAC9C,YAAA,iBAAiB,EAAE,IAAI;EACvB,YAAA,IAAI,EAAE,IAAI,wBAAwB,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC;EAC3H,YAAA,YAAY,EAAE,KAAK;EACnB,YAAA,WAAW,EAAE,IAAI;EACjB,YAAA,QAAQ,EAAE,OAAO;EAClB,SAAA,CAAC,CAAC;OACJ,CAAA;EAED;;;;EAIG;MACH,mBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,mBAA4B,EAAA;UAChD,OAAO,IAAI,CAAC,MAAM;eACf,IAAI,CAAC,gCAAgC,EAAE;EACtC,YAAA,iBAAiB,EAAE,IAAI;EACvB,YAAA,IAAI,EAAE,IAAI,wBAAwB,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC;EAC3H,YAAA,YAAY,EAAE,IAAI;EAClB,YAAA,WAAW,EAAE,IAAI;EACjB,YAAA,QAAQ,EAAE,OAAO;WAClB,CAAC;EACD,aAAA,WAAW,EAAE,CAAC;OAClB,CAAA;;;yIAjCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA8B,aAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA,CAAA;oHACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAD/BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;;ECJlC;;;;;EAKG;AAEH,MAAA,mBAAA,kBAAA,YAAA;EADA,IAAA,SAAA,mBAAA,GAAA;UAGU,IAAA,CAAA,eAAe,GAAqB,IAAIkD,oBAAe,CAAU,KAAK,CAAC,CAAC;OA0JjF;EApJC,IAAA,MAAA,CAAA,cAAA,CAAI,mBAAc,CAAA,SAAA,EAAA,gBAAA,EAAA;EAHlB;;EAEG;EACH,QAAA,GAAA,EAAA,YAAA;EACE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;WAC5C;;;EAAA,KAAA,CAAA,CAAA;EAED;;;;;EAKG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,SAAiB,EAAE,SAAmB,EAAE,UAA2B,EAAA;EAC5E,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cAChB,OAAO;EACR,SAAA;UAED,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;EAC9D,QAAA,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;UAChD,aAAa,CAAC,aAAa,EAAE,CAAC;UAC9B,aAAa,CAAC,WAAW,EAAE,CAAC;UAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;OAC3B,CAAA;EAED;;;;;EAKG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,SAAiB,EAAE,SAAmB,EAAA;EAClD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cAChB,OAAO;EACR,SAAA;UAED,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;EAC9D,QAAA,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;UACvC,aAAa,CAAC,aAAa,EAAE,CAAC;UAC9B,aAAa,CAAC,WAAW,EAAE,CAAC;UAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;OAC3B,CAAA;EAED;;;EAGG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;UACE,OAAO,IAAI,CAAC,MAAM,CAAC;OACpB,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;;;;;UAIE,OAAO,MAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;OACnC,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;EACE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;OACtB,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;OAC3C,CAAA;EAED;;;EAGG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;EAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;OACzB,CAAA;EAED;;;EAGG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;UACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;EAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACjC,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,0BAA0B,GAA1B,YAAA;UACE,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;EAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;cAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;cAC7C,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;UACE,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;cACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;cAC7C,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;;EAGG;MACH,mBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAiB,EAAA;EACvB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;UACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EAC7C,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;cACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,mBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;UAAA,IAUP,KAAA,GAAA,IAAA,CAAA;UATC,IAAI,CAAC,uBAAuB,EAAE,CAAC;UAC/B,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;EACpD,iBAAA,IAAI,CACHuC,mBAAS,CAAC,YAAA,EAAM,QAAC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,EAAC,EAAA,CAAC,EAC5DC,cAAI,CAAC,CAAC,CAAC,CACR;EACA,iBAAA,SAAS,CAAC,YAAK,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,EAAA,GAAA,KAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC;EACnE,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,mBAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;EACN,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE;EAC1E,YAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;EAC5C,SAAA;OACF,CAAA;;;yIA3JU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3F,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA,CAAA;oHACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAD/BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ECyClC;;;;;EAKG;AAEH,MAAA,oBAAA,kBAAA,YAAA;EAoBE,IAAA,SAAA,oBAAA,CAAsB,UAA4B,EAAY,aAAkC,EAAY,SAA0B,EAAA;EAAhH,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAkB;EAAY,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;EAAY,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EAnB5H,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;EACnD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI2F,YAAO,EAA0B,CAAC;EACpD,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAIA,YAAO,EAAmB,CAAC;;EAExD,QAAA,IAA0B,CAAA,0BAAA,GAA6C,EAAE,CAAC;EA+KpF;;;;;;;EAOG;UACO,IAAA,CAAA,sBAAsB,GAAgC,YAAA,EAAM,OAAA,KAAK,CAAA,EAAA,CAAC;OAxK8D;EAJ1I,IAAA,MAAA,CAAA,cAAA,CAAI,oBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EALf;;;;EAIG;EACH,QAAA,GAAA,EAAA,YAAA;EACE,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;WACxC;;;EAAA,KAAA,CAAA,CAAA;EAID;;;EAGG;MACH,oBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,MAA4B,EAAA;UAA/C,IAwCC,KAAA,GAAA,IAAA,CAAA;EAvCC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;cACnB,OAAO;EACR,SAAA;EAED,QAAA,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;;EAElC,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAS,CAAC;;cAEnE,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;EAE1D,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;EAC9D,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAChC,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,UAAU;mBACZ,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;EACvD,iBAAA,IAAI,CAACD,cAAI,CAAC,CAAC,CAAC,CAAC;mBACb,SAAS,CAAC,UAAC,OAA8B,EAAA;kBACxC,IAAM,cAAc,GAAG,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;EAC3D,gBAAA,IAAI,cAAc,IAAI,KAAI,CAAC,SAAS,EAAE;EACpC,oBAAA,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;;EAEpF,oBAAA,IAAI,OAAO,GAAG,KAAI,CAAC,eAAe,CAChC,KAAI,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAET,MAAM,CACT,EAAA,EAAA,EAAE,EAAE,OAAO,CAAC,UAAU,EAExB,CAAA,EAAA,OAAO,CACA,CAAC;;sBAGV,IAAM,gBAAgB,GAAG,KAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;sBAC3E,OAAO,GAAG,KAAI,CAAC,yBAAyB,CAAC,OAAO,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,MAAM,CAAA,EAAA,EAAE,gBAAgB,EAAA,gBAAA,EAAA,CAAA,CAAG,CAAC;EACnF,oBAAA,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;;EAEtC,oBAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAChC,iBAAA;EACH,aAAC,CAAC,CAAC;EACN,SAAA;OACF,CAAA;EAED;;;;;EAKG;EACH,IAAA,oBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,UAA6B,IAAc,EAAE,MAAmC,EAAA;UAC9E,IAAM,WAAW,GAAG,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;EAC7C,QAAA,IAAM,gBAAgB,GAAG,IAAI,KAAK,EAAmB,CAAC;UACtD,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;EAC7E,QAAA,OAAO,gBAAgB,CAAC;OACzB,CAAA;;EAGD,IAAA,oBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;UACE,OAAO,IAAI,CAAC,0BAA0B,CAAC;OACxC,CAAA;EAED;;;;;EAKG;MACH,oBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,YAAqC,EAAA;UAC9C,IAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;EACtD,QAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,WAAW,CACd,EAAA,EAAA,KAAK,EAAEE,oBAAqC,CAC1C,WAAW,EACX,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAClC,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,yBAAyB,CAC/B,EACD,CAAA,CAAA;OACH,CAAA;EAED;;;;;;EAMG;EACH,IAAA,oBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,QAAc,EAAE,YAAqC,EAAA;EACnE,QAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CACX,EAAA,EAAA,KAAK,EAAEA,oBAAqC,CAC1C,QAAQ,EACR,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAClC,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,yBAAyB,CAC/B,EACD,CAAA,CAAA;OACH,CAAA;EAED;;;;;EAKG;MACH,oBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,IAAkC,EAAA;EACtD,QAAA,OAAOC,+BAAgD,CACrD,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,iCAAiC,CACvC,CAAC;OACH,CAAA;;MAGD,oBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,EAAU,EAAA;UAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;OAChC,CAAA;EAED;;;;;;EAMG;MACH,oBAAyB,CAAA,SAAA,CAAA,yBAAA,GAAzB,UAA0B,UAA2C,EAAA;EACnE,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;OAC9B,CAAA;EAED;;;EAGG;MACH,oBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAU,EAAA;UAAtB,IAgBC,KAAA,GAAA,IAAA,CAAA;UAfC,IAAI,CAAC,SAAS,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,CAAC;EAC7B,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;;EAEvD,YAAA,UAAU,CAAC,YAAA;;kBACT,IAAI,KAAI,CAAC,aAAa,EAAE;;0BACtB,KAAqB,IAAA,KAAA,QAAA,CAAA,KAAI,CAAC,aAAa,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAApC,4BAAA,IAAM,MAAM,GAAA,EAAA,CAAA,KAAA,CAAA;8BACf,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EACpH,yBAAA;;;;;;;;;EACF,iBAAA;EACD,gBAAA,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;eAC3B,EAAE,CAAC,CAAC,CAAC;EACP,SAAA;;UAGD,IAAI,CAAC,uBAAuB,EAAE,CAAC;OAChC,CAAA;EAYD;;;;;;;;;;;;;EAaG;EACO,IAAA,oBAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB;;EAER,IAAA,OAA0D,EAC1D,IAAc,EACd,WAAoB,EACpB,aAAiD;;;EAGjD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAED;;;;;;;;;;EAUG;;MAEO,oBAAiC,CAAA,SAAA,CAAA,iCAAA,GAAjC,UAAkC,IAAc,EAAA;EACxD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;EAKD;;;;;EAKG;EACO,IAAA,oBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UACR,IAAO,EACP,MAA4B,EAC5B,OAAkB,EAAA;EAElB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE;;EAE5B,YAAA,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;kBACnC,IAAI,OAAO,IAAI,IAAI,EAAE;EACnB,oBAAA,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,UAAU,MAAK,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU,CAAA,CAApC,EAAoC,CAAC,CAAC;EAChF,oBAAA,IAAM,QAAQ,GAAO,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,IAAI,CAAC,KAAK,EAAC,CAAC;EACjC,oBAAA,IAAI,OAAO,EAAE;0BACX,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;EACpC,qBAAA;EACD,oBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,IAAI,CAAA,EAAA,EAAE,KAAK,EAAE,QAAQ,EAAG,CAAA,CAAA;EACrC,iBAAA;EACD,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EAAM,iBAAA,IAAI7E,0BAAgB,CAAC,IAAI,CAAC,EAAE;kBACjC,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KACP,KAAK,EAAE,MAAM,CAAC,UAAU,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAA,EAAA,CAAC,EAC5H,CAAA,CAAA;EACH,aAAA;EAAM,iBAAA;EACL,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EACF,SAAA;EAED,QAAA,IAAIf,gBAAM,CAAC,IAAI,CAAC,IAAIgB,mBAAS,CAAC,IAAI,CAAC,IAAIC,6BAAmB,CAAC,IAAI,CAAC,IAAIF,0BAAgB,CAAC,IAAI,CAAC,EAAE;EAC1F,YAAA,IAAM,KAAK,GAAO,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,IAAI,CAAC,KAAK,EAAC,CAAC;cAC9B,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;cACxF,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAoB,CAAC;EAElE,YAAA,KAAK,CAAC,MAAM,CACV,aAAa,EACb,CAAC,EACD,IAAI,CAAC,eAAe,CAClB,YAAY,EAEP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACT,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAA,CAAA,EAEtC,OAAO,CACI,CACd,CAAC;EACF,YAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,KAAK,EAAA,KAAA,EACL,CAAA,CAAA;EACH,SAAA;EAAM,aAAA,IAAIG,qBAAW,CAAC,IAAI,CAAC,EAAE;cAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;EAClE,SAAA;eAAM,IAAIiC,0BAAgB,CAAC,IAAI,CAAC,IAAIC,+BAAqB,CAAC,IAAI,CAAC,EAAE;EAChE,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,IAAuF,EACvF,MAAM,EACN,OAAO,CACR,CAAC,CAAC,CAAC,CAAC;EACN,SAAA;EACD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAED;;;;;;EAMG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,UACN,UAA2F,EAC3F,MAA4B,EAC5B,OAAkB,EAAA;UAElB,IAAI,KAAK,GAAG,KAAK,CAAC;UAClB,IAAM,aAAa,GAA+B,EAAE,CAAC;;;EAGrD,QAAA,KAAK,IAAM,EAAE,IAAI,UAAU,CAAC,aAAa,EAAE;EACzC,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;;EAEtE,gBAAA,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;sBACnE,KAAK,GAAG,IAAI,CAAC;sBACb,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CACtC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAoB,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC1C,MAAM,CAAA,EAAA,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACjD,CAAA,EAAA,OAAO,CACI,CAAC;EACf,iBAAA;EAAM,qBAAA;sBACL,aAAa,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;EAClD,iBAAA;EACF,aAAA;EACF,SAAA;;UAED,OAAO,iCAAM,UAAU,CAAA,EAAA,EAAE,aAAa,EAAA,aAAA,EAAI,CAAA,EAAA,KAAK,CAAC,CAAC;OAClD,CAAA;EAED;;;;;;EAMG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,SAAoB,EAAE,MAA4B,EAAE,OAAkB,EAAA;UAAvF,IAoCP,KAAA,GAAA,IAAA,CAAA;UAnCC,IAAI,KAAK,GAAG,KAAK,CAAC;;UAElB,IAAM,SAAS,GAAmB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,GAAiB,EAAA;;cAE1E,IAAI,CAAC,KAAK,EAAE;kBACV,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,GAAG,CAAA,EAAA,EACN,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,OAAiB,EAAA;;EAErC,wBAAA,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;8BAC3D,KAAK,GAAG,IAAI,CAAC;EACb,4BAAA,OAAO,KAAI,CAAC,eAAe,CACzB,OAA0B,EACrB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,KAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAA,CAAA,EACjD,OAAO,CACI,CAAC;EACf,yBAAA;;;0BAGD,IAAI,eAAe,IAAI,OAAO,EAAE;EAC9B,4BAAA,IAAM,QAAQ,GAAG,KAAI,CAAC,iBAAiB,CACrC,OAA0F,EAC1F,MAAM,EACN,OAAO,CACR,CAAC;EACF,4BAAA,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;EACpB,4BAAA,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;EACpB,yBAAA;EACD,wBAAA,OAAO,OAAO,CAAC;uBAChB,CAAC,EACF,CAAA,CAAA;EACH,aAAA;EACD,YAAA,OAAO,GAAG,CAAC;EACb,SAAC,CAAC,CAAC;EACH,QAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,SAAS,CAAE,EAAA,EAAA,SAAS,EAAA,SAAA,EAAG,CAAA,CAAA;OACpC,CAAA;EAED;;;;EAIG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB,UAA0B,IAAU,EAAE,MAA4B,EAAA;;UACxE,IAAI,OAAO,GAAG,IAAI,CAAC;UACnB,IAAI,MAAM,CAAC,gBAAgB,EAAE;cAC3B,IAAM,SAAS,GAAkD,EAAE,CAAC;sCACzD,EAAE,EAAA;;;EACX,oBAAA,KAAwB,IAAA,EAAA,IAAA,GAAA,GAAA,KAAA,CAAA,EAAA,QAAI,CAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EAAE,CAAC,YAAY,CAAK,CAAA,EAAA,MAAA,CAAA,EAAE,CAAC,aAAa,CAAC,CAAA,CAAA,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA9D,wBAAA,IAAM,SAAS,GAAA,EAAA,CAAA,KAAA,CAAA;EAClB,wBAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;0BACpC,IAAM,iBAAiB,GAAG,MAAK,CAAA,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;0BAC5D,IAAI,CAAC,QAAQ,KAAI,iBAAiB,KAAA,IAAA,IAAjB,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjB,iBAAiB,CAAE,IAAI,CAAA,EAAE;8BACxC,QAAQ,GAAG,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC;EACpC,yBAAA;0BACD,IAAIF,2BAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE;8BACrD,IAAM,oBAAoB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;EAC9D,4BAAA,IAAM,OAAO,GACX,MAAM,CAAC,UAAU,KAAK,KAAK;oCACxB,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAK,oBAAoB,CAAA,CAAA,EAAA,CAAE,EAAE,CAAC,SAAS,CACxC,CAAA,GAAE,oBAAoB,CAAC,MAAM,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,KAAK,EAAE,CAAC,SAAS,CAAA,EAAA,CAAC,CAAC;EAE7D,4BAAA,IAAM,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAyB,QAAQ,CAAA,EAAA,EAAE,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,QAAQ,CAAC,SAAS,CAAA,EAAA,EAAE,OAAO,EAAA,OAAA,EAAA,CAAA,EAAA,CAAI,CAAC;EAChG,4BAAA,IAAM,SAAS,GAAG,IAAI2C,8BAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjB,iBAAiB,CAAE,SAAS,KAAI,EAAE,EAAE,SAAS,CAAC,CAAC;8BAE9G,OAAO,GAAG,MAAK,CAAA,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,OAAqC,CAAS,CAAC;EAClG,4BAAA,SAAS,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;EAChC,yBAAA;EACF,qBAAA;;;;;;;;;EACD,gBAAA,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;sBAClC,MAAK,CAAA,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;EAC9F,iBAAA;;;;EAvBH,gBAAA,KAAiB,IAAA,EAAA,GAAA,QAAA,CAAA,MAAM,CAAC,gBAAgB,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAnC,oBAAA,IAAM,EAAE,GAAA,EAAA,CAAA,KAAA,CAAA;8BAAF,EAAE,CAAA,CAAA;EAwBZ,iBAAA;;;;;;;;;EACF,SAAA;EACD,QAAA,OAAO,OAAO,CAAC;OAChB,CAAA;EAED;;;;EAIG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,IAAc,EAAE,KAA8B,EAAA;;EACzE,QAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;EAC9B,QAAA,IAAIvE,aAAM,CAAwB,IAAI,EAAE,OAAO,CAAC,EAAE;EAChD,YAAA,IAAM,KAAK,GAAe,IAAI,CAAC,KAAK,CAAC;;EACrC,gBAAA,KAAsB,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;EAAxB,oBAAA,IAAM,OAAO,GAAA,SAAA,CAAA,KAAA,CAAA;EAChB,oBAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EAC3C,iBAAA;;;;;;;;;EACF,SAAA;EAAM,aAAA,IAAIA,aAAM,CAAgD,IAAI,EAAE,eAAe,CAAC,EAAE;EACvF,YAAA,IAAM,GAAG,GAA+B,IAAI,CAAC,aAAa,CAAC;EAC3D,YAAA,KAAK,IAAM,EAAE,IAAI,GAAG,EAAE;EACpB,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;sBACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;EAC3C,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;;;EAMG;MACK,oBAA0B,CAAA,SAAA,CAAA,0BAAA,GAA1B,UACN,IAAc,EACd,OAA+B,EAC/B,aAAsC,EACtC,MAAmC,EAAA;;EAEnC,QAAA,IAAI6B,0BAAgB,CAAC,IAAI,CAAC,EAAE;EAC1B,YAAA,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;cACnH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;cACjI,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;EACjE,SAAA;EAAM,aAAA,IAAIC,+BAAqB,CAAC,IAAI,CAAC,EAAE;sCAC3B,MAAM,EAAA;kBACf,IAAM,MAAM,GACV,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,GAAA,CAAC,CAAC,GAAG,KAAK,CAAC;kBAC7H,MAAK,CAAA,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;;;;EAHzH,gBAAA,KAAqB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,OAAO,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA5B,oBAAA,IAAM,MAAM,GAAA,EAAA,CAAA,KAAA,CAAA;8BAAN,MAAM,CAAA,CAAA;EAIhB,iBAAA;;;;;;;;;cACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;EACzE,SAAA;EAAM,aAAA,IAAI9B,aAAM,CAAwB,IAAI,EAAE,OAAO,CAAC,EAAE;EACvD,YAAA,IAAM,KAAK,GAAe,IAAI,CAAC,KAAK,CAAC;;EACrC,gBAAA,KAAsB,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;EAAxB,oBAAA,IAAM,OAAO,GAAA,SAAA,CAAA,KAAA,CAAA;sBAChB,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;EAC1E,iBAAA;;;;;;;;;EACF,SAAA;OACF,CAAA;EAED;;;;;;EAMG;MACK,oBAA4B,CAAA,SAAA,CAAA,4BAAA,GAA5B,UACN,IAAqF,EACrF,UAAkC,EAClC,OAAgC,EAChC,MAAmC,EAAA;UAEnC,IAAI,IAAI,CAAC,aAAa,EAAE;EACtB,YAAA,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;EACnC,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;sBAChE,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;sBACvC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;EACvE,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;;;;;;EASG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,UACN,SAAiB,EACjB,OAAiB,EACjB,QAAkB,EAClB,UAAkC,EAClC,OAAgC,EAChC,MAAe,EAAA;EAEf,QAAA,IAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAX,EAAW,CAAC,CAAC;EACxD,QAAA,IAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAX,EAAW,CAAC,CAAC;UAC1D,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE;EACnD,YAAA,IAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,SAAS,KAAK,SAAS,CAAzB,EAAyB,CAAC,CAAC;cACrE,IAAI,KAAK,GAAG,CAAC,EAAE;EACb,gBAAA,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAA,YAAA,EAAE,aAAa,EAAA,aAAA,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;EAChF,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;EAC/B,gBAAA,IAAM,KAAK,GAAoB;EAC7B,oBAAA,SAAS,EAAA,SAAA;EACT,oBAAA,YAAY,yCAAM,IAAI,CAAC,YAAY,CAAA,CAAA,EAAA,MAAA,CAAK,YAAY,CAAC,CAAA;EACrD,oBAAA,aAAa,yCAAM,IAAI,CAAC,aAAa,CAAA,CAAA,EAAA,MAAA,CAAK,aAAa,CAAC,CAAA;EACxD,oBAAA,MAAM,EAAA,MAAA;mBACP,CAAC;kBACF,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;EACpC,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;EAGG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;;;;EAEN,QAAA,IAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;;UAGjD,IAAI,IAAI,CAAC,0BAA0B,EAAE;EACnC,YAAA,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,EAAE;EAChD,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,EAAE;EAC7E,oBAAA,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;EAChC,iBAAA;EACF,aAAA;EACF,SAAA;;EAGD,QAAA,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;UACrC,IAAI,MAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,EAAE;;EACpC,gBAAA,KAAqB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,yBAAyB,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA3E,oBAAA,IAAM,MAAM,GAAA,EAAA,CAAA,KAAA,CAAA;EACf,oBAAA,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE;;0BAExC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;;EAEpD,wBAAA,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;EACvC,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;;UAGD,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;EAC1C,QAAA,IAAI,IAAI,EAAE;;EACR,gBAAA,KAAiB,IAAA,wBAAA,GAAA,QAAA,CAAA,sBAAsB,CAAA,8DAAA,EAAE,CAAA,0BAAA,CAAA,IAAA,EAAA,0BAAA,GAAA,wBAAA,CAAA,IAAA,EAAA,EAAA;EAApC,oBAAA,IAAM,EAAE,GAAA,0BAAA,CAAA,KAAA,CAAA;sBACX,IAAM,OAAO,GAAG,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;EAC1C,oBAAA,IAAI,OAAO,EAAE;0BACX,OAAO,CAAC,sBAAsB,EAAE,CAAC;EAClC,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;OACF,CAAA;;;0IA5jBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAwE,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAAlG,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8IAApB,oBAAoB,EAAA,CAAA,CAAA;oHAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBADhCC,aAAU;;;ACpDX,MAAA,oCAAA,kBAAA,UAAA,MAAA,EAAA;MAA0D,SAA6C,CAAA,oCAAA,EAAA,MAAA,CAAA,CAAA;EAAvG,IAAA,SAAA,oCAAA,GAAA;;;MACE,oCAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,MAAc,EAAA;;EAC/B,QAAA,IAAM,gBAAgB,GAAsB;;EAE1C,YAAA,GAAG,EAAE,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,cAAc,CAAS,KAAK,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,KAAI,EAAE;EACtD,YAAA,OAAO,EAAE,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,cAAc,CAAS,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,KAAI,EAAE;WAC7D,CAAC;EACF,QAAA,OAAO,gBAAgB,CAAC;OACzB,CAAA;EAED,IAAA,oCAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,KAAwB,EAAE,MAAc,EAAA;;EACpD,QAAA,OAAO,KAAK,CAAC,GAAG,MAAK,MAAA,MAAM,CAAC,cAAc,CAAS,KAAK,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC;OAClE,CAAA;;GAZH,CAA0DkG,+BAA6C;0JAA1F,oCAAoC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAnG,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8JAApC,oCAAoC,EAAA,CAAA,CAAA;oHAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;oBADhDC,aAAU;;;ECQX,IAAM,kBAAkB,GAAGwD,yBAAoB,gBAAA,YAAA;EAAC,IAAA,SAAA,OAAA,GAAA;OAAQ;MAAA,OAAA,OAAA,CAAA;EAAA,CAAR,IAAS,CAAC;EAK1D,IAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAkB,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAiG1B,IAAA,SAAA,uBAAA,CACY,eAAqC,EACrC,aAAkC,EAClC,SAA0B,EAAA;EAHtC,QAAA,IAAA,KAAA,GAKE,iBAAO,IAIR,IAAA,CAAA;EARW,QAAA,KAAe,CAAA,eAAA,GAAf,eAAe,CAAsB;EACrC,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;EAClC,QAAA,KAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EAjF9B,QAAA,KAA2B,CAAA,2BAAA,GAAG,KAAK,CAAC;UAwDpC,KAAA,CAAA,SAAS,GAAG,IAAIN,oBAAe,CAAU,IAAI,CAAC,CAAC;EAEvD;;;;EAIG;EACO,QAAA,KAAA,CAAA,MAAM,GAAG,IAAIW,eAAY,EAA6C,CAAC;EACvE,QAAA,KAAA,CAAA,cAAc,GAAG,IAAIA,eAAY,EAAY,CAAC;;EAE9C,QAAA,KAAA,CAAA,cAAc,GAAG,IAAIA,eAAY,EAAK,CAAC;EAGjD,QAAA,KAAY,CAAA,YAAA,GAAG,EAAE,CAAC;EAIV,QAAA,KAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;EAGzB,QAAA,KAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;EAQpC,QAAA,KAAI,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;;UAEpC,KAAI,CAAC,gCAAgC,EAAE,CAAC;;OACzC;EApGD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EADf,QAAA,GAAA,EAAA,UACgB,GAAyB,EAAA;EACvC,YAAA,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;WACzC;;;EAAA,KAAA,CAAA,CAAA;EAGD,IAAA,MAAA,CAAA,cAAA,CACI,uBAA0B,CAAA,SAAA,EAAA,4BAAA,EAAA;;EAD9B,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,2BAA2B,CAAC;WACzC;EACD,QAAA,GAAA,EAAA,UAA+B,0BAAmC,EAAA;EAChE,YAAA,IAAI,CAAC,2BAA2B,GAAGF,8BAAqB,CAAC,0BAA0B,CAAC,CAAC;WACtF;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,IAA0B,EAAA;cACrC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;;EAE1B,gBAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;kBACpC,IAAI,CAAC,8BAA8B,EAAE,CAAC;EACvC,aAAA;EACD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;EACtB,YAAA,IAAI,IAAI,EAAE;EACR,gBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;EAGvC,gBAAA,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,MAAM,EAAE;EAClD,oBAAA,KAAK,IAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;EAC7B,wBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;EAC1D,4BAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;EAClC,yBAAA;EACF,qBAAA;EACF,iBAAA;EACF,aAAA;WACF;;;EApBA,KAAA,CAAA,CAAA;EA4BD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAK,CAAA,SAAA,EAAA,OAAA,EAAA;EANT;;;;EAIG;EACH,QAAA,GAAA,EAAA,UACU,QAA4C,EAAA;;cACpD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;EACnC,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;EAChB,oBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;EAClB,iBAAA;;EACD,oBAAA,KAAmB,IAAA,UAAA,GAAA,QAAA,CAAA,QAAQ,CAAA,kCAAA,EAAE,CAAA,YAAA,CAAA,IAAA,EAAA,YAAA,GAAA,UAAA,CAAA,IAAA,EAAA,EAAA;EAAxB,wBAAA,IAAM,IAAI,GAAA,YAAA,CAAA,KAAA,CAAA;0BACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;EACrC,qBAAA;;;;;;;;;kBACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;EACvC,aAAA;WACF;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACI,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;WAC7B;EACD,QAAA,GAAA,EAAA,UAAa,CAAU,EAAA;EACrB,YAAA,IAAM,QAAQ,GAAGA,8BAAqB,CAAC,CAAC,CAAC,CAAC;EAC1C,YAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;EACrC,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACxB,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;EAwCD,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;EACE,QAAA,IAAM,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;EACrC,QAAA,IAAM,eAAe,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;UAChG,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;OAC1F,CAAA;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,MAAM,CAAA,SAAA,CAAA,WAAW,WAAE,CAAC;EACpB,QAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;OACpC,CAAA;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,QAAkB,EAAA;UAClD,OAAO,QAAQ,CAAC,UAAU,CAAC;OAC5B,CAAA;;EAGO,IAAA,uBAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,YAAA;UAAA,IAeP,KAAA,GAAA,IAAA,CAAA;;EAbC,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;;EAE9B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAACwC,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAEC,8BAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,QAAQ,EAAA;EACzF,gBAAA,IAAI,QAAQ,EAAE;;sBAEZ,KAAI,CAAC,6BAA6B,EAAE,CAAC;EACtC,iBAAA;uBAAM,IAAI,CAAC,KAAI,CAAC,sBAAsB,IAAI,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;;sBAE7E,KAAI,CAAC,4CAA4C,CAAC,CAAC,KAAI,CAAC,qBAAqB,CAAC,CAAC;EAC/E,oBAAA,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;EACnC,iBAAA;EACH,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAED;;;;EAIG;MACK,uBAAsB,CAAA,SAAA,CAAA,sBAAA,GAAtB,UAAuB,IAAY,EAAA;UACzC,IAAI,IAAI,CAAC,MAAM,EAAE;cACf,IAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;EACnD,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;EACf,oBAAA,EAAE,EAAE,IAAI;sBACR,MAAM,EAAE,OAAO,CAAC,MAA2B;EAC5C,iBAAA,CAAC,CAAC;EACJ,aAAA;EACF,SAAA;OACF,CAAA;EAED;;EAEG;MACK,uBAA4C,CAAA,SAAA,CAAA,4CAAA,GAA5C,UAA6C,iBAA0B,EAAA;UAAvE,IA2BP,KAAA,GAAA,IAAA,CAAA;EA1BC,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;cAC9B,IAAI,CAAC,6BAA6B,EAAE,CAAC;EACrC,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAIC,iBAAY,EAAE,CAAC;sCAGtC,GAAG,EAAA;EACZ,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAK,CAAA,MAAM,EAAE,GAAG,CAAC,EAAE;sBAC1D,IAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,MAAA,CAAK,MAAM,CAAC,CAAC;EAClD,oBAAA,IAAI,OAAO,EAAE;EACX,wBAAA,IAAI,iBAAiB,EAAE;8BACrB,MAAK,CAAA,MAAM,CAAC,IAAI,CAAC;EACf,gCAAA,EAAE,EAAE,GAAG;;kCAEP,MAAM,EAAE,OAAO,CAAC,MAA2B;EAC5C,6BAAA,CAAC,CAAC;EACJ,yBAAA;;0BAED,MAAK,CAAA,sBAAsB,CAAC,GAAG,CAC7B,OAAO,CAAC,aAAa,CAAC,IAAI,CAACF,mBAAS,CAAC,MAAK,CAAA,UAAU,CAAC,EAAEC,8BAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;EAC9F,4BAAA,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;2BACvC,CAAC,CACH,CAAC;EACH,qBAAA;EACF,iBAAA;;;;EAlBH,YAAA,KAAK,IAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAA;0BAAlB,GAAG,CAAA,CAAA;EAmBb,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;EAIG;EACK,IAAA,uBAAA,CAAA,SAAA,CAAA,gCAAgC,GAAhC,YAAA;UAAA,IAgBP,KAAA,GAAA,IAAA,CAAA;EAfC,QAAA,IAAI,CAAC,SAAS;EACX,aAAA,IAAI,CACHD,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC;;EAE1B,QAAAV,mBAAS,CAAC,YAAA,EAAM,OAAA,CAAC,KAAI,CAAC,QAAQ,CAAA,EAAA,CAAC,EAC/BW,8BAAoB,EAAE,CACvB;eACA,SAAS,CAAC,UAAC,QAAQ,EAAA;EAClB,YAAA,IAAI,QAAQ,EAAE;kBACZ,KAAI,CAAC,+BAA+B,EAAE,CAAC;EACxC,aAAA;mBAAM,IAAI,CAAC,KAAI,CAAC,sBAAsB,IAAI,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;;kBAE7E,KAAI,CAAC,+BAA+B,EAAE,CAAC;EACxC,aAAA;EACH,SAAC,CAAC,CAAC;OACN,CAAA;MAEO,uBAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,IAAU,EAAA;;UAEzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;UACrD,IAAI,IAAI,CAAC,gBAAgB,EAAE;cACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;;;EAG3C,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAM,CAAC;EACpG,SAAA;EAAM,aAAA;cACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAc,CAAC;cAC5E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACzC,SAAA;OACF,CAAA;EAED;;;EAGG;EACK,IAAA,uBAAA,CAAA,SAAA,CAAA,+BAA+B,GAA/B,YAAA;UAAA,IASP,KAAA,GAAA,IAAA,CAAA;UARC,IAAI,CAAC,+BAA+B,EAAE,CAAC;EACvC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW;EAC3D,aAAA,IAAI,CACHD,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1BV,mBAAS,CAAC,UAAC,MAAM,IAAK,OAAA,CAAC,MAAM,CAAP,EAAO,CAAC,CAC/B;EACA,aAAA,SAAS,CAAC,UAAC,OAAa,EAAK,EAAA,OAAA,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAY,CAAC,CAAtC,EAAsC,CAAC,CAAC;;OAEzE,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,6BAA6B,GAA7B,YAAA;EACN,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;EACxE,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;EAC3C,SAAA;OACF,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,+BAA+B,GAA/B,YAAA;EACN,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;EACxE,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;EAC3C,SAAA;OACF,CAAA;;GA7PH,CACU,kBAAkB;6IADf,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAa,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA9B,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA1E,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,uVAFxB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAED,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;oKASK,WAAW,EAAA,CAAA;wBADdC,QAAK;kBAOF,0BAA0B,EAAA,CAAA;wBAD7BA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAgCF,KAAK,EAAA,CAAA;wBADRA,QAAK;kBAcF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAiBI,MAAM,EAAA,CAAA;wBAAfI,SAAM;kBACG,cAAc,EAAA,CAAA;wBAAvBA,SAAM;kBAEG,cAAc,EAAA,CAAA;wBAAvBA,SAAM;;;ECxGT;AAqBA,MAAA,2BAAA,kBAAA,YAAA;EAlBA,IAAA,SAAA,2BAAA,GAAA;EAmBW,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;OAC/B;;;iJAFY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA3B,2BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAhB5B,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,oGAIT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qIAAA,CAAA,EAAA,CAAA,CAAA;oHAYU,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAlBvC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,gBAAgB;EAC1B,oBAAA,QAAQ,EAAE,oGAIT;EACD,oBAAA,MAAM,EAAE;0BACN,qIAOC;EACF,qBAAA;mBACF,CAAA;gCAEU,YAAY,EAAA,CAAA;wBAApBC,QAAK;;;ECjBR;AASA,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAAyC,SAA6B,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;EAAtE,IAAA,SAAA,mBAAA,GAAA;;;;GAAA,CAAyC,uBAA6B;yIAAzD,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA3D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,sLCdhC,0dAWA,EAAA,MAAA,EAAA,CAAA,u8CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAyG,2BAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAzB,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,yBAAA,EAAAyB,2BAAA,EAAA,EAAA,eAAA,EAAA1G,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDGa,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAR/B0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,WAAW;EACrB,oBAAA,WAAW,EAAE,uBAAuB;sBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;sBACpC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACrC,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;mBACxD,CAAA;;;AEHD,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;;;8IAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,wBAAwB,EAFpB,YAAA,EAAA,CAAA,2BAA2B,CAFhC,EAAA,OAAA,EAAA,CAAAmF,iBAAY,aACZ,2BAA2B,CAAA,EAAA,CAAA,CAAA;+IAG1B,wBAAwB,EAAA,OAAA,EAAA,CAJ1B,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBALpCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,OAAO,EAAE,CAAC,2BAA2B,CAAC;sBACtC,YAAY,EAAE,CAAC,2BAA2B,CAAC;mBAC5C,CAAA;;;ECJD;EACA,IAAMwB,oBAAkB,GAAGC,aAAU,gBAAA,YAAA;EAEjC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,SAAS,CACV,CAAC;EAEF;;;;;EAKG;AASH,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAkB,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EA2B7D,IAAA,SAAA,uBAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EA5B8B,QAAA,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;EAoBxC,QAAA,KAAU,CAAA,UAAA,GAAG,IAAI,CAAC;EAI1B,QAAA,KAAA,CAAA,iBAAiB,GAAG,SAAS,CAAAtE,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,IAAA,CAAC;;OAI7C;EA1BD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,IAAc,EAAA;EACrB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;EAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC;WAC7D;;;EAJA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CAEI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EAFb,QAAA,GAAA,EAAA,YAAA;cAGE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;WAC1C;EACD,QAAA,GAAA,EAAA,UAAc,SAAkB,EAAA;EAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;WAC7B;;;EAHA,KAAA,CAAA,CAAA;EAcD;;EAEG;MACH,uBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,KAAY,EAAA;EAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;cACnB,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;EAClC,SAAA;OACF,CAAA;;GAvCH,CAA6CqE,oBAAkB;6IAAlD,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA3G,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4RC3BpC,yrBAqBA,EAAA,MAAA,EAAA,CAAA,qgBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAAlF,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDMa,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBARnC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,cAAc;EACxB,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAEgC,QAAQ,EAAA,CAAA;wBAAtCZ,cAAW;yBAAC,gBAAgB,CAAA;kBAGzB,IAAI,EAAA,CAAA;wBADPF,QAAK;kBAYF,SAAS,EAAA,CAAA;wBAFZE,cAAW;yBAAC,iBAAiB,CAAA;;wBAC7BF,QAAK;kBASG,cAAc,EAAA,CAAA;wBAAtBA,QAAK;;;;EE7CR;EACA,IAAM,kBAAkB,GAAGiD,aAAU,gBAAA,YAAA;EAEjC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,SAAS,CACV,CAAC;AAUF,MAAA,4BAAA,kBAAA,UAAA,MAAA,EAAA;MAAkD,SAAkB,CAAA,4BAAA,EAAA,MAAA,CAAA,CAAA;EAmBlE,IAAA,SAAA,4BAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;;EAnBQ,QAAA,KAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EAUnB,QAAA,KAAM,CAAA,MAAA,GAAe,EAAE,CAAC;EAEtB,QAAA,KAAA,CAAA,QAAQ,GAAG,IAAI9C,eAAY,EAAY,CAAC;EAElD,QAAA,KAAA,CAAA,cAAc,GAAG,SAAS,CAAAxB,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,IAAA,CAAC;EACrC,QAAA,KAAA,CAAA,SAAS,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;;OAI3B;EAhBD,IAAA,MAAA,CAAA,cAAA,CACI,4BAAK,CAAA,SAAA,EAAA,OAAA,EAAA;;EADT,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,MAAM,CAAC;WACpB;EACD,QAAA,GAAA,EAAA,UAAU,KAAiB,EAAA;EACzB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;WACrB;;;EAHA,KAAA,CAAA,CAAA;;GARH,CAAkD,kBAAkB;kJAAvD,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAvC,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA5B,4BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,qOCrBzC,4xBAoBA,EAAA,MAAA,EAAA,CAAA,kjBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA6G,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAlC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAhC,aAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA9E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDCa,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBARxC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,kCAAkC;sBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;sBAC/C,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAGU,SAAS,EAAA,CAAA;wBAAjBd,QAAK;kBACG,cAAc,EAAA,CAAA;wBAAtBA,QAAK;kBAGF,KAAK,EAAA,CAAA;wBADRA,QAAK;kBASI,QAAQ,EAAA,CAAA;wBAAjBI,SAAM;;;;EE9BT;EACA,IAAM,qBAAqB,GAAG6C,aAAU,gBAAA,YAAA;EAEpC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,SAAS,CACV,CAAC;EAEF;;;;;EAKG;AAUH,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MAAgD,SAAqB,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;EAqBnE,IAAA,SAAA,0BAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAZO,QAAA,KAAM,CAAA,MAAA,GAAoC,EAAE,CAAC;;EAE3C,QAAA,KAAA,CAAA,QAAQ,GAAG,IAAI9C,eAAY,EAAY,CAAC;EAElD,QAAA,KAAqB,CAAA,qBAAA,GAA+B,EAAE,CAAC;EAEvD,QAAA,KAAA,CAAA,iBAAiB,GAAG,SAAS,CAAAxB,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,IAAA,CAAC;EAC9C,QAAA,KAAA,CAAA,cAAc,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,IAAA,CAAC;EACrC,QAAA,KAAA,CAAA,SAAS,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;;OAI3B;EApBD,IAAA,MAAA,CAAA,cAAA,CACI,0BAAK,CAAA,SAAA,EAAA,OAAA,EAAA;;EADT,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,MAAM,CAAC;WACpB;EACD,QAAA,GAAA,EAAA,UAAU,KAAsC,EAAA;EAC9C,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACpB,YAAA,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;WACzC;;;EAJA,KAAA,CAAA,CAAA;EAmBD;;;;;;EAMG;EACH,IAAA,0BAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,KAAa,EAAE,IAA8B,EAAA;EACtD,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;OACjC,CAAA;EAED;;EAEG;EACH,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,KAAY,EAAE,IAAc,EAAA;EAC1C,QAAA,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC;UAC9E,IAAI,CAAC,SAAS,EAAE;cACd,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;EAClC,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1B,SAAA;OACF,CAAA;MAED,0BAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,KAAsC,EAAA;UAAlE,IAMC,KAAA,GAAA,IAAA,CAAA;EALC,QAAA,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;EACjB,YAAA,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;kBACzB,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;EAC9D,aAAA;EACH,SAAC,CAAC,CAAC;OACJ,CAAA;MAED,0BAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAAmB,EAAA;EACjC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OAC5F,CAAA;;GA3DH,CAAgD,qBAAqB;gJAAxD,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAtC,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,0MC5BvC,k2IAwGA,EAAA,MAAA,EAAA,CAAA,qkEAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAiC,aAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,qBAAA,EAAAE,uBAAA,EAAA,gBAAA,EAAAC,kBAAA,EAAA,qBAAA,EAAAC,uBAAA,EAAA,iBAAA,EAAAC,mBAAA,EAAA,kBAAA,EAAAC,gBAAA,EAAA,OAAA,EAAAtC,aAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA9E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHD5Ea,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBATtC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,iBAAiB;;EAE3B,oBAAA,WAAW,EAAE,mCAAmC;sBAChD,SAAS,EAAE,CAAC,+BAA+B,CAAC;sBAC5C,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAEU,cAAc,EAAA,CAAA;wBAAtBd,QAAK;kBAGF,KAAK,EAAA,CAAA;wBADRA,QAAK;kBAUI,QAAQ,EAAA,CAAA;wBAAjBI,SAAM;;;;AEDT,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;;;6IAAa,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,iBAHnB,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,aAd9FmF,iBAAY;UACZkC,2BAAgB;UAChBC,qBAAgB;UAChBC,2BAAsB;UACtBC,kBAAe;UACfhC,oBAAe;UACfiC,qBAAgB;UAChBC,gBAAa;UACb,6BAA6B;UAC7B,6BAA6B;UAC7B,wBAAwB;UACxB,yBAAyB;EACzB,QAAA,sBAAsB,CAGd,EAAA,OAAA,EAAA,CAAA,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;EAEhF,uBAAA,CAAA,IAAA,GAAA1H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAlBzB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZkC,2BAAgB;cAChBC,qBAAgB;cAChBC,2BAAsB;cACtBC,kBAAe;cACfhC,oBAAe;cACfiC,qBAAgB;cAChBC,gBAAa;cACb,6BAA6B;cAC7B,6BAA6B;cAC7B,wBAAwB;cACxB,yBAAyB;cACzB,sBAAsB;WACvB,CAAA,EAAA,CAAA,CAAA;oHAIU,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAnBnCpD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZkC,2BAAgB;0BAChBC,qBAAgB;0BAChBC,2BAAsB;0BACtBC,kBAAe;0BACfhC,oBAAe;0BACfiC,qBAAgB;0BAChBC,gBAAa;0BACb,6BAA6B;0BAC7B,6BAA6B;0BAC7B,wBAAwB;0BACxB,yBAAyB;0BACzB,sBAAsB;EACvB,qBAAA;EACD,oBAAA,YAAY,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;EACjG,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;mBAC7F,CAAA;;;ECjCD;EACA,IAAM,kBAAkB,GAAGd,aAAU,gBAAA,YAAA;EAEjC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,QAAQ,CACT,CAAC;AAUF,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAkB,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAqB7D,IAAA,SAAA,uBAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAJS,QAAA,KAAA,CAAA,OAAO,GAAG,IAAI9C,eAAY,EAAY,CAAC;;OAIhD;EAtBD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;;EAEE,YAAA,OAAO,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA,CAAC;WAC5B;;;EAAA,KAAA,CAAA,CAAA;EAGD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,IAAiC,EAAA;EACxC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;cAClB,OAAO,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;WAC5C;;;EAJA,KAAA,CAAA,CAAA;MAeD,uBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,KAAkB,EAAA;EAClC,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC9B,SAAA;OACF,CAAA;;GA7BH,CAA6C,kBAAkB;6IAAlD,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA9D,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,qPCtBpC,qwBAkBA,EAAA,MAAA,EAAA,CAAA,o6BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,oDAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2DAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAV,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAuD,sBAAA,EAAA,EAAA,eAAA,EAAA3H,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDIa,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBARnC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mBAAmB;EAC7B,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAGK,MAAM,EAAA,CAAA;wBADTZ,cAAW;yBAAC,cAAc,CAAA;kBAOvB,IAAI,EAAA,CAAA;wBADPF,QAAK;kBAUG,QAAQ,EAAA,CAAA;wBAAhBA,QAAK;kBAEI,OAAO,EAAA,CAAA;wBAAhBI,SAAM;;;AEjBT,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CARpC4H,aAAU;UACVzC,iBAAY;UACZ0C,kBAAa;UACbN,2BAAsB;UACtB,4BAA4B;UAC5BD,qBAAgB;UAChB,oBAAoB,aAGZ,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAAtH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAZtB,OAAA,EAAA,CAAA;cACP4H,aAAU;cACVzC,iBAAY;cACZ0C,kBAAa;cACbN,2BAAsB;cACtB,4BAA4B;cAC5BD,qBAAgB;cAChB,oBAAoB;WACrB,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAbhChD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPsD,aAAU;0BACVzC,iBAAY;0BACZ0C,kBAAa;0BACbN,2BAAsB;0BACtB,4BAA4B;0BAC5BD,qBAAgB;0BAChB,oBAAoB;EACrB,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACWD,MAAA,cAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,cAAA,GAAA;;;;oIAAa,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtH,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qIAAd,cAAc,EAAA,YAAA,EAAA,CAJV,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAZhC4H,aAAU;UACVzC,iBAAY;UACZkC,2BAAgB;UAChBS,cAAW;UACX,oBAAoB;UACpBC,sBAAmB;UACnB,wBAAwB;UACxBxC,yCAAmB;UACnB,iCAAiC;UACjC,uBAAuB;UACvB,oBAAoB,aAGZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;EAGlB,cAAA,CAAA,IAAA,GAAAvF,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,cAAc,EAFd,SAAA,EAAA,CAAC,EAAE,OAAO,EAAED,oBAAiB,EAAE,QAAQ,EAAE,8CAA8C,EAAE,CAAC,EAf5F,OAAA,EAAA,CAAA;cACP6H,aAAU;cACVzC,iBAAY;cACZkC,2BAAgB;cAChBS,cAAW;cACX,oBAAoB;cACpBC,sBAAmB;cACnB,wBAAwB;cACxBxC,yCAAmB;cACnB,iCAAiC;cACjC,uBAAuB;cACvB,oBAAoB;WACrB,CAAA,EAAA,CAAA,CAAA;oHAKU,cAAc,EAAA,UAAA,EAAA,CAAA;oBAlB1BjB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPsD,aAAU;0BACVzC,iBAAY;0BACZkC,2BAAgB;0BAChBS,cAAW;0BACX,oBAAoB;0BACpBC,sBAAmB;0BACnB,wBAAwB;0BACxBxC,yCAAmB;0BACnB,iCAAiC;0BACjC,uBAAuB;0BACvB,oBAAoB;EACrB,qBAAA;sBACD,YAAY,EAAE,CAAC,mBAAmB,CAAC;sBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;sBAC9B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAExF,oBAAiB,EAAE,QAAQ,EAAE,8CAA8C,EAAE,CAAC;mBACtG,CAAA;;;AClBD,MAAA,sBAAA,kBAAA,UAAA,MAAA,EAAA;MAA4C,SAAmD,CAAA,sBAAA,EAAA,MAAA,CAAA,CAAA;MAC7F,SAAY,sBAAA,CAAA,GAAsB,EAAU,SAA0B,EAAA;UAAtE,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;;OAErE;MAED,sBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,MAA4B,EAAA;EACvC,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OACrI,CAAA;EAED,IAAA,sBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAsC,EAAA;EACtE,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;OAC9B,CAAA;;GAXH,CAA4C,yBAAmD;4IAAlF,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA0E,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA1E,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAtB,sBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,8FCfnC,kwBAoBA,EAAA,MAAA,EAAA,CAAA,60CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA2E,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAqD,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA9C,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA5B,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,EAAA,eAAA,EAAAlF,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDLa,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAPlC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,sBAAsB;EAChC,oBAAA,WAAW,EAAE,0BAA0B;sBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;sBACvC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AESD,MAAA,mBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mBAAA,GAAA;;;;yIAAa,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0IAAnB,mBAAmB,EAAA,YAAA,EAAA,CAHf,sBAAsB,CAAA,EAAA,OAAA,EAAA,CARnCmF,iBAAY;UACZ8C,yBAAoB;UACpB,oBAAoB;UACpBH,cAAW;UACXC,sBAAmB;UACnB,6BAA6B;UAC7BG,wBAAmB,aAGX,sBAAsB,CAAA,EAAA,CAAA,CAAA;EAErB,mBAAA,CAAA,IAAA,GAAAlI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mBAAmB,EAZrB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ8C,yBAAoB;cACpB,oBAAoB;cACpBH,cAAW;cACXC,sBAAmB;cACnB,6BAA6B;cAC7BG,wBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAb/B5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ8C,yBAAoB;0BACpB,oBAAoB;0BACpBH,cAAW;0BACXC,sBAAmB;0BACnB,6BAA6B;0BAC7BG,wBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,sBAAsB,CAAC;sBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;mBAClC,CAAA;;;ACJD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAkD,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;MAI7F,SAAY,uBAAA,CAAA,GAAsB,EAAU,aAAkC,EAAA;UAA9E,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;EAH9E,QAAA,KAAA,CAAA,UAAU,GAAG,IAAItC,YAAO,EAAQ,CAAC;EACjC,QAAA,KAAA,CAAA,oBAAoB,GAAG,SAAS,CAAAtD,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,4CAAA,CAAA,EAAA,CAAA,4CAA4C,IAAA,CAAC;;OAI5E;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAyB,EAAE,KAAa,EAAA;UAArD,IAgCC,KAAA,GAAA,IAAA,CAAA;;UA/BC,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;EACxC,QAAA,IAAM,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;UAKlD,IAAI,MAAM,CAAC,eAAe,KAAI,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAX,WAAW,CAAE,KAAK,CAAA,EAAE;;cAEhD,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC7B,YAAA,IAAI,CAAC,aAAa;EACf,iBAAA,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC;EAC7C,iBAAA,IAAI,CAAC8D,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;mBAChC,SAAS,CAAC,UAAC,YAAY,EAAA;EACtB,gBAAA,IAAI,YAAY,EAAE;sBAChB,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;EAC5B,oBAAA,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC;0BACxB,cAAc,EAAE,MAAM,CAAC,YAAY;0BACnC,eAAe,EAAE,MAAM,CAAC,aAAa;0BACrC,OAAO,EAAE,MAAM,CAAC,OAAO;EACvB,wBAAA,QAAQ,EAAE,KAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,qBAAA,CAAC,CAAC;EACJ,iBAAA;EACH,aAAC,CAAC,CAAC;EACN,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;kBACxB,cAAc,EAAE,MAAM,CAAC,YAAY;kBACnC,eAAe,EAAE,MAAM,CAAC,aAAa;kBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;EACvB,gBAAA,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,aAAA,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACE,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;OAC5B,CAAA;EAED;;;;EAIK;EACL,IAAA,uBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,KAAY,EAAE,mBAA4B,EAAA;UAC5D,KAAK,CAAC,eAAe,EAAE,CAAC;UACxB,KAAK,CAAC,cAAc,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;OAC7D,CAAA;EAED;;;EAGG;MACH,uBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,KAAY,EAAA;UAC/B,KAAK,CAAC,eAAe,EAAE,CAAC;OACzB,CAAA;;GAhEH,CAA6C,yBAAkD;6IAAlF,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAApG,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAmI,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAAnI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,+FClBpC,++DAgDA,EAAA,MAAA,EAAA,CAAA,u7CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA2E,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAkD,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAtB,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAsB,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAA1B,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAA2B,6BAAA,EAAA,EAAA,eAAA,EAAAzI,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHD9Ba,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAPnC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uBAAuB;EACjC,oBAAA,WAAW,EAAE,2BAA2B;sBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;sBACxC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEJD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iJAA1B,0BAA0B,EAAA,YAAA,EAAA,CAHtB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CADlCmF,iBAAY,EAAEM,kBAAe,EAAE,oBAAoB,EAAED,oBAAe,CAAA,EAAA,OAAA,EAAA,CAEpE,6BAA6B,CAAA,EAAA,CAAA,CAAA;iJAE5B,0BAA0B,EAAA,OAAA,EAAA,CAJ5B,CAACL,iBAAY,EAAEM,kBAAe,EAAE,oBAAoB,EAAED,oBAAe,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIpE,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBALtClB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEM,kBAAe,EAAE,oBAAoB,EAAED,oBAAe,CAAC;sBAC/E,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACuBD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxF,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAdpCmF,iBAAY;UACZ,mCAAmC;UACnCkC,2BAAgB;UAChBS,cAAW;UACXY,uBAAkB;UAClBC,sBAAiB;UACjBnD,oBAAe;UACfkC,gBAAa;UACbD,qBAAgB;UAChB,oBAAoB;UACpBS,wBAAmB;UACnBH,sBAAmB;UACnB,0BAA0B,aAGlB,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAA/H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAlBtB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ,mCAAmC;cACnCkC,2BAAgB;cAChBS,cAAW;cACXY,uBAAkB;cAClBC,sBAAiB;cACjBnD,oBAAe;cACfkC,gBAAa;cACbD,qBAAgB;cAChB,oBAAoB;cACpBS,wBAAmB;cACnBH,sBAAmB;cACnB,0BAA0B;WAC3B,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAnBhCzD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,mCAAmC;0BACnCkC,2BAAgB;0BAChBS,cAAW;0BACXY,uBAAkB;0BAClBC,sBAAiB;0BACjBnD,oBAAe;0BACfkC,gBAAa;0BACbD,qBAAgB;0BAChB,oBAAoB;0BACpBS,wBAAmB;0BACnBH,sBAAmB;0BACnB,0BAA0B;EAC3B,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACJD,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAAyC,SAA0C,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;MAsBjF,SAAY,mBAAA,CAAA,GAAsB,EAAE,MAAkB,EAAA;UAAtD,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IAiBX,IAAA,CAAA;EAtCuC,QAAA,KAAa,CAAA,aAAA,GAAG,IAAI,CAAC;;;EAcpD,QAAA,KAAW,CAAA,WAAA,GAA8C,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;EAI7F,QAAA,KAAA,CAAA,SAAS,GAAG,SAAS,CAAAzF,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;;;UAM1B,mBAAmB,CAAC,8BAA8B,EAAE,CAAC;EACrD,QAAA,IAAI,mBAAmB,CAAC,8BAA8B,KAAK,CAAC,EAAE;cAC5D,IAAI;kBACF,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,EAAE,CAAC,oBAAoB,KAAK,UAAU,EAAE;EACnE,oBAAA,MAAM,CAAC,KAAK,CAAC,uQAEuE,CAAC,CAAC;EACvF,iBAAA;EACF,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EACV,gBAAA,MAAM,CAAC,KAAK,CAAC,oNAEuC,CAAC,CAAC;EACvD,aAAA;EACF,SAAA;;OACF;EApCD,IAAA,MAAA,CAAA,cAAA,CAAa,mBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAAe,EAAA;cAC/B,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;EACnB,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;kBACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;EACrC,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;EAoCD,IAAA,mBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACE,IAAI,CAAC,4BAA4B,EAAE,CAAC;OACrC,CAAA;EAED;;;EAGG;EACK,IAAA,mBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;UACN,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAM,eAAe,GAA6B,IAAI,CAAC,MAAM,CAAC,eAA2C,CAAC;;EAE1G,YAAA,IAAM,CAAC,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;;EAGnF,YAAA,IAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;EAE3E,YAAA,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC;;EAEzC,YAAA,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;;EAEvC,YAAA,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;;EAGjC,YAAA,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;EACrD,SAAA;OACF,CAAA;;GApEH,CAAyC,mBAA0C;EAC1E,mBAA8B,CAAA,8BAAA,GAAG,CAAC,CAAC;yIAD/B,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAtC,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAoE,eAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAkBnB4I,kBAAa,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA5I,aAAA,EAAA,QAAA,EChD1B,o4BAqBA,EAAA,MAAA,EAAA,CAAA,2iBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA2E,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,YAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA7B,eAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA6B,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAnC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAO,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAA2D,6BAAA,EAAA,EAAA,eAAA,EAAA7I,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDSa,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAP/B0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mBAAmB;EAC7B,oBAAA,WAAW,EAAE,uBAAuB;sBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;sBACpC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;2JAGyC,aAAa,EAAA,CAAA;wBAApDZ,cAAW;yBAAC,yBAAyB,CAAA;kBAc7B,WAAW,EAAA,CAAA;wBAAnBF,QAAK;kBAEuC,MAAM,EAAA,CAAA;wBAAlDmF,YAAS;kBAAC,IAAA,EAAA,CAAAF,kBAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;;AErB7C,MAAA,gBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gBAAA,GAAA;;;;sIAAa,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA5I,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uIAAhB,gBAAgB,EAAA,YAAA,EAAA,CAHZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAVhCmF,iBAAY;UACZ2C,cAAW;UACXY,uBAAkB;UAClBK,mBAAc;UACdC,wBAAmB;UACnBzD,yCAAmB;UACnB2C,wBAAmB;UACnBH,sBAAmB;UACnB,mCAAmC,aAG3B,mBAAmB,CAAA,EAAA,CAAA,CAAA;EAElB,gBAAA,CAAA,IAAA,GAAA/H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gBAAgB,EAdlB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ2C,cAAW;cACXY,uBAAkB;cAClBK,mBAAc;cACdC,wBAAmB;cACnBzD,yCAAmB;cACnB2C,wBAAmB;cACnBH,sBAAmB;cACnB,mCAAmC;WACpC,CAAA,EAAA,CAAA,CAAA;oHAIU,gBAAgB,EAAA,UAAA,EAAA,CAAA;oBAf5BzD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ2C,cAAW;0BACXY,uBAAkB;0BAClBK,mBAAc;0BACdC,wBAAmB;0BACnBzD,yCAAmB;0BACnB2C,wBAAmB;0BACnBH,sBAAmB;0BACnB,mCAAmC;EACpC,qBAAA;sBACD,YAAY,EAAE,CAAC,mBAAmB,CAAC;sBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;mBAC/B,CAAA;;;ACdD,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAA8C,SAAmD,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EANjG,IAAA,SAAA,wBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAoBC,CAAA,CAAA,IAAA,IAAA,CAAA;EADC,QAAA,KAAA,CAAA,MAAM,GAAG,SAAS,CAAAzF,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,IAAA,CAAC;;OACxB;EAbC,IAAA,MAAA,CAAA,cAAA,CAAI,wBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAR,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,IAAyB,EAAA;EAChC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;cAElB,IAAI,CAAC,UAAU,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAE,CAAC;cAChE,IAAI,CAAC,QAAQ,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAE,CAAC;WAC7D;;;EANA,KAAA,CAAA,CAAA;;GAHH,CAA8C,mBAAmD;8IAApF,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAtC,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4FCZrC,kvBAwBA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAiJ,mBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAtE,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,yBAAA,EAAAiE,2BAAA,EAAA,EAAA,eAAA,EAAAlJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDZa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBANpC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEYD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CARrCmF,iBAAY;UACZ+C,wBAAmB;UACnB,gBAAgB;UAChBb,2BAAgB;UAChBS,cAAW;UACXC,sBAAmB;UACnB,iCAAiC,aAGzB,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAA/H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,EAZvB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ+C,wBAAmB;cACnB,gBAAgB;cAChBb,2BAAgB;cAChBS,cAAW;cACXC,sBAAmB;cACnB,iCAAiC;WAClC,CAAA,EAAA,CAAA,CAAA;oHAIU,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAbjCzD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ+C,wBAAmB;0BACnB,gBAAgB;0BAChBb,2BAAgB;0BAChBS,cAAW;0BACXC,sBAAmB;0BACnB,iCAAiC;EAClC,qBAAA;sBACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACVD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAsD,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAAnG,IAAA,SAAA,uBAAA,GAAA;;;;GAAA,CAA6C,wCAAsD;6IAAtF,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA/H,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,+FCZpC,guDA0CA,EAAA,MAAA,EAAA,CAAA,+jBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA4B,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA3C,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAiE,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAvB,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA1C,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAA6B,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAqC,6BAAA,EAAA,mBAAA,EAAAC,qBAAA,EAAA,6BAAA,EAAAC,+BAAA,EAAA,EAAA,eAAA,EAAArJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHD9Ba,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAPnC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uBAAuB;EACjC,oBAAA,WAAW,EAAE,2BAA2B;sBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;sBACxC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AEkBD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAZpCmF,iBAAY;UACZ2C,cAAW;UACXY,uBAAkB;UAClBY,kBAAe;UACfpB,wBAAmB;UACnBqB,kBAAa;UACb7B,gBAAa;UACb,mCAAmC;UACnC,qCAAqC;UACrC,2BAA2B;UAC3BK,sBAAmB,aAGX,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAA/H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAhBtB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ2C,cAAW;cACXY,uBAAkB;cAClBY,kBAAe;cACfpB,wBAAmB;cACnBqB,kBAAa;cACb7B,gBAAa;cACb,mCAAmC;cACnC,qCAAqC;cACrC,2BAA2B;cAC3BK,sBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAjBhCzD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ2C,cAAW;0BACXY,uBAAkB;0BAClBY,kBAAe;0BACfpB,wBAAmB;0BACnBqB,kBAAa;0BACb7B,gBAAa;0BACb,mCAAmC;0BACnC,qCAAqC;0BACrC,2BAA2B;0BAC3BK,sBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACfD,MAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;MAA+C,SAAsD,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;MAKnG,SAAY,yBAAA,CAAA,GAAsB,EAAU,WAAwB,EAAA;UAApE,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAW,CAAA,WAAA,GAAX,WAAW,CAAa;EAHpE,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAChB,QAAA,KAAA,CAAA,qBAAqB,GAAG,SAAS,CAAAzF,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,IAAA,CAAC;;OAIhD;MAED,yBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,IAAc,EAAA;UAA3B,IAQC,KAAA,GAAA,IAAA,CAAA;EAPC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;UAEpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAC,QAAyB,EAAA;EACpE,YAAA,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;EACrB,YAAA,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;EACzB,YAAA,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;EAC1B,SAAC,CAAC,CAAC;OACJ,CAAA;MAED,yBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,QAAyB,EAAA;EACtC,QAAA,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;OACzF,CAAA;EAED,IAAA,yBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;UACE,IAAI,MAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE;cACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;EACjC,SAAA;OACF,CAAA;EAED,IAAA,yBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UAAA,IASC,KAAA,GAAA,IAAA,CAAA;UARC,IAAI,IAAI,CAAC,QAAQ,EAAE;EACjB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;cACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAA;EACnD,gBAAA,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;EACrB,gBAAA,KAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;EAC1B,gBAAA,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;EAC3B,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;;GAtCH,CAA+C,yBAAsD;+IAAxF,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAtC,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAoE,eAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,kGCbtC,y0DAsDA,EAAA,MAAA,EAAA,CAAA,mGAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAuB,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAAvB,aAAA,CAAA,aAAA,EAAA,EAAA,CAAA,CAAA;oHDzCa,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBALrCpD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,0BAA0B;EACpC,oBAAA,WAAW,EAAE,8BAA8B;sBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;mBAC5C,CAAA;;;;AEaD,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;4IAAa,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA1D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6IAAtB,sBAAsB,EAAA,YAAA,EAAA,CAHlB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CATtCmF,iBAAY;UACZ+C,wBAAmB;UACnB1C,oBAAe;UACfkC,gBAAa;UACb8B,2BAAsB;UACtBC,yBAAoB;UACpBF,kBAAa;UACbG,6BAAwB,aAGhB,yBAAyB,CAAA,EAAA,CAAA,CAAA;EAExB,sBAAA,CAAA,IAAA,GAAA1J,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,EAbxB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ+C,wBAAmB;cACnB1C,oBAAe;cACfkC,gBAAa;cACb8B,2BAAsB;cACtBC,yBAAoB;cACpBF,kBAAa;cACbG,6BAAwB;WACzB,CAAA,EAAA,CAAA,CAAA;oHAIU,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAdlCpF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ+C,wBAAmB;0BACnB1C,oBAAe;0BACfkC,gBAAa;0BACb8B,2BAAsB;0BACtBC,yBAAoB;0BACpBF,kBAAa;0BACbG,6BAAwB;EACzB,qBAAA;sBACD,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;ACJD,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAA8C,SAAsC,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EAPpF,IAAA,SAAA,wBAAA,GAAA;;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAgCC,CAAA,CAAA,IAAA,IAAA,CAAA;EAZC,QAAA,KAAA,CAAA,SAAS,IAAA,EAAA,GAAA,EAAA;cACP,EAAC,CAAA9I,kCAAwB,IAAG,IAAI;cAChC,EAAC,CAAAsB,iCAAuB,IAAG,IAAI;cAC/B,EAAC,CAAAE,sBAAY,IAAG,IAAI;cACpB,EAAC,CAAAC,uBAAa,IAAG,IAAI;iBACtB,CAAC;EAEF;;;EAGG;EACH,QAAA,KAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;OAChB;EAxBC,IAAA,MAAA,CAAA,cAAA,CAAa,wBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,IAAuB,EAAA;EACvC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;;;EAKlB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,KAAKxB,8BAAoB,IAAI,CAAC,CAAC,MAAM,KAAK8I,0BAAgB,CAAlE,EAAkE,CAAC,CAAC;WAChH;;;EARA,KAAA,CAAA,CAAA;;GAHH,CAA8C,mBAAsC;8IAAvE,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA3J,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,uFCpBrC,ghDAwCA,EAAA,MAAA,EAAA,CAAA,wwCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA4J,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA5E,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA6B,aAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA7B,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,sBAAA,EAAA4E,wBAAA,EAAA,EAAA,eAAA,EAAA7J,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDpBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAPpC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,eAAe;EACzB,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;sBAC1C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEMD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CATrCmF,iBAAY;UACZ,sBAAsB;UACtB+C,wBAAmB;UACnB,oBAAoB;UACpBJ,cAAW;UACXC,sBAAmB;UACnBV,2BAAgB;UAChB,8BAA8B,aAGtB,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAArH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,EAbvB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ,sBAAsB;cACtB+C,wBAAmB;cACnB,oBAAoB;cACpBJ,cAAW;cACXC,sBAAmB;cACnBV,2BAAgB;cAChB,8BAA8B;WAC/B,CAAA,EAAA,CAAA,CAAA;oHAIU,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAdjC/C,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sBAAsB;0BACtB+C,wBAAmB;0BACnB,oBAAoB;0BACpBJ,cAAW;0BACXC,sBAAmB;0BACnBV,2BAAgB;0BAChB,8BAA8B;EAC/B,qBAAA;sBACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACZD,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MAAgD,SAA8B,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;EAA9E,IAAA,SAAA,0BAAA,GAAA;;;;GAAA,CAAgD,qBAA8B;gJAAjE,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAArH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,yFCZvC,61BAwBA,EAAA,MAAA,EAAA,CAAA,6JAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA8J,uBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAnF,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAqD,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA9C,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,qBAAA,EAAAiF,uBAAA,EAAA,EAAA,eAAA,EAAA/J,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDZa,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAPtC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,iBAAiB;EAC3B,oBAAA,WAAW,EAAE,+BAA+B;sBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;sBAC5C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEID,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;;;6IAAa,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAHnB,YAAA,EAAA,CAAA,0BAA0B,CAD/B,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAE,oBAAoB,EAAEmC,qBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAEY,wBAAmB,aAE9H,0BAA0B,CAAA,EAAA,CAAA,CAAA;EAEzB,uBAAA,CAAA,IAAA,GAAAlI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAJzB,OAAA,EAAA,CAAA,CAACmF,iBAAY,EAAE,oBAAoB,EAAEmC,qBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAEY,wBAAmB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI9H,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBALnC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,oBAAoB,EAAEmC,qBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAEY,wBAAmB,CAAC;sBACzI,YAAY,EAAE,CAAC,0BAA0B,CAAC;sBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;mBACtC,CAAA;;;ACID,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAEU,SAAiC,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EAT3C,IAAA,SAAA,wBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAmCC,CAAA,CAAA,IAAA,IAAA,CAAA;EAhBC,QAAA,KAAW,CAAA,WAAA,GAAG,KAAK,CAAC;EACpB,QAAA,KAAA,CAAA,mBAAmB,GAAG,SAAS,CAAA5F,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OAe1D;EAzBC,IAAA,MAAA,CAAA,cAAA,CAAa,wBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAAQ,EAAA;cACxB,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;EACnB,YAAA,IAAI0H,gDAAsC,CAAC,KAAK,CAAC,EAAE;EACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;EACzB,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;MAUD,wBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,QAAgB,EAAA;;EAC7B,QAAA,IAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;UACjD,OAAO,MAAC,OAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAIzJ,cAAW,EAAE,CAAC;OACtD,CAAA;MAED,wBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,QAAgB,EAAA;EACjC,QAAA,IAAI0J,6BAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;EACjC,YAAA,IAAM,OAAO,GAAGC,gCAAgB,CAAC,QAAQ,CAAC,CAAC;EAC3C,YAAA,IAAM,WAAW,GAAGC,uCAAuB,CAAC,OAAO,CAAC,CAAC;EACrD,YAAA,OAAU,WAAW,GAAA,IAAA,GAAK,OAAO,GAAA,GAAG,CAAC;EACtC,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;;GA3BH,CAEU,mBAAiC;8IAF9B,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAnK,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,iGClBrC,g/DAmDA,EAAA,MAAA,EAAA,CAAA,6gCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA1C,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA2C,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,uBAAA,EAAAqD,yBAAA,EAAA,OAAA,EAAAnF,aAAA,CAAA,SAAA,EAAA,UAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAkE,6BAAA,EAAA,EAAA,eAAA,EAAAnJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDjCa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAPpC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,yBAAyB;EACnC,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;sBAC1C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AESD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAVrCmF,iBAAY;UACZ2C,cAAW;UACXY,uBAAkB;UAClBK,mBAAc;UACdb,wBAAmB;UACnB,+BAA+B;UAC/BqB,kBAAa;UACbxB,sBAAmB;UACnB,mCAAmC,aAG3B,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAA/H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,EAdvB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ2C,cAAW;cACXY,uBAAkB;cAClBK,mBAAc;cACdb,wBAAmB;cACnB,+BAA+B;cAC/BqB,kBAAa;cACbxB,sBAAmB;cACnB,mCAAmC;WACpC,CAAA,EAAA,CAAA,CAAA;oHAIU,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAfjCzD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ2C,cAAW;0BACXY,uBAAkB;0BAClBK,mBAAc;0BACdb,wBAAmB;0BACnB,+BAA+B;0BAC/BqB,kBAAa;0BACbxB,sBAAmB;0BACnB,mCAAmC;EACpC,qBAAA;sBACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACJD,MAAA,oBAAA,kBAAA,UAAA,MAAA,EAAA;MAEU,SAAmC,CAAA,oBAAA,EAAA,MAAA,CAAA,CAAA;EAT7C,IAAA,SAAA,oBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAyBC,CAAA,CAAA,IAAA,IAAA,CAAA;EAHC,QAAA,KAAW,CAAA,WAAA,GAAG,KAAK,CAAC;EACpB,QAAA,KAAa,CAAA,aAAA,GAAG,KAAK,CAAC;EACtB,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAAzF,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OACzD;EAfC,IAAA,MAAA,CAAA,cAAA,CAAa,oBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAAQ,EAAA;cACxB,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;cACnB,IAAI+H,6BAAmB,CAAC,KAAK,CAAC,IAAI3J,2BAAiB,CAAC,KAAK,CAAC,EAAE;EAC1D,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;EAC3B,aAAA;EAAM,iBAAA,IAAI4J,+BAAqB,CAAC,KAAK,CAAC,EAAE;EACvC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;EACzB,aAAA;WACF;;;EARA,KAAA,CAAA,CAAA;;GALH,CAEU,mBAAmC;0IAFhC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAtK,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAApB,oBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,4FCrBjC,gpDA6CA,EAAA,MAAA,EAAA,CAAA,29BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA7B,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA2C,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,uBAAA,EAAAqD,yBAAA,EAAA,OAAA,EAAAnF,aAAA,CAAA,SAAA,EAAA,UAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAkE,6BAAA,EAAA,EAAA,eAAA,EAAAnJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDxBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAPhC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,wBAAwB;sBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;sBACrC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEMD,MAAA,iBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iBAAA,GAAA;;;;uIAAa,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wIAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAVjCmF,iBAAY;UACZuD,uBAAkB;UAClBZ,cAAW;UACXyB,kBAAa;UACb,+BAA+B;UAC/B,mCAAmC;UACnCrB,wBAAmB;UACnBH,sBAAmB;UACnBgB,mBAAc,aAGN,oBAAoB,CAAA,EAAA,CAAA,CAAA;EAEnB,iBAAA,CAAA,IAAA,GAAA/I,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iBAAiB,EAdnB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZuD,uBAAkB;cAClBZ,cAAW;cACXyB,kBAAa;cACb,+BAA+B;cAC/B,mCAAmC;cACnCrB,wBAAmB;cACnBH,sBAAmB;cACnBgB,mBAAc;WACf,CAAA,EAAA,CAAA,CAAA;oHAIU,iBAAiB,EAAA,UAAA,EAAA,CAAA;oBAf7BzE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZuD,uBAAkB;0BAClBZ,cAAW;0BACXyB,kBAAa;0BACb,+BAA+B;0BAC/B,mCAAmC;0BACnCrB,wBAAmB;0BACnBH,sBAAmB;0BACnBgB,mBAAc;EACf,qBAAA;sBACD,YAAY,EAAE,CAAC,oBAAoB,CAAC;sBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;mBAChC,CAAA;;;ACbD,MAAA,6BAAA,kBAAA,UAAA,MAAA,EAAA;MAAmD,SAA4D,CAAA,6BAAA,EAAA,MAAA,CAAA,CAAA;EAA/G,IAAA,SAAA,6BAAA,GAAA;;;;GAAA,CAAmD,wCAA4D;mJAAlG,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA/I,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,sGCZ1C,ksCAwBA,EAAA,MAAA,EAAA,CAAA,smCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAY,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAV,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA0C,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAA7B,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAA4D,6BAAA,EAAA,EAAA,eAAA,EAAA7I,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDZa,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAPzC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,8BAA8B;EACxC,oBAAA,WAAW,EAAE,kCAAkC;sBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;sBAC/C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AEcD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iJAA1B,0BAA0B,EAAA,YAAA,EAAA,CAHtB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAT1CmF,iBAAY;UACZ2C,cAAW;UACXyC,mBAAc;UACd,oBAAoB;UACpB,mCAAmC;UACnCxC,sBAAmB;UACnBW,uBAAkB;UAClBR,wBAAmB,aAGX,6BAA6B,CAAA,EAAA,CAAA,CAAA;EAE5B,0BAAA,CAAA,IAAA,GAAAlI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,EAb5B,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ2C,cAAW;cACXyC,mBAAc;cACd,oBAAoB;cACpB,mCAAmC;cACnCxC,sBAAmB;cACnBW,uBAAkB;cAClBR,wBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAdtC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ2C,cAAW;0BACXyC,mBAAc;0BACd,oBAAoB;0BACpB,mCAAmC;0BACnCxC,sBAAmB;0BACnBW,uBAAkB;0BAClBR,wBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACZD,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAAoC,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;EAAxF,IAAA,SAAA,8BAAA,GAAA;;;;GAAA,CAAoD,kBAAoC;oJAA3E,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAlI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA9B,8BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,mGCZ3C,oQAIA,EAAA,MAAA,EAAA,CAAA,+KAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAoG,sBAAA,EAAA,EAAA,eAAA,EAAAxK,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDQa,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAP1C0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,2BAA2B;EACrC,oBAAA,WAAW,EAAE,oCAAoC;sBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;sBACjD,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AECD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAHvB,8BAA8B,CADnC,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAE/D,8BAA8B,CAAA,EAAA,CAAA,CAAA;EAE7B,2BAAA,CAAA,IAAA,GAAAlI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,YAJ7B,CAACmF,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/D,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBALvC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAC;sBAC1E,YAAY,EAAE,CAAC,8BAA8B,CAAC;sBAC9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;mBAC1C,CAAA;;;ACID,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,0EAX9B,6BAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2EAAA,CAAA,EAAA,eAAA,EAAAA,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAW5B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAbzC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,yBAAyB;EACnC,oBAAA,QAAQ,EAAE,6BAA6B;EACvC,oBAAA,MAAM,EAAE;0BACN,2EAIC;EACF,qBAAA;sBACD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;ACJD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,EAHtB,YAAA,EAAA,CAAA,6BAA6B,CADlC,EAAA,OAAA,EAAA,CAAAmF,iBAAY,aAEZ,6BAA6B,CAAA,EAAA,CAAA,CAAA;iJAE5B,0BAA0B,EAAA,OAAA,EAAA,CAJ5B,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBALtCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACeD,MAAA,sCAAA,kBAAA,UAAA,MAAA,EAAA;MAA4D,SAAoD,CAAA,sCAAA,EAAA,MAAA,CAAA,CAAA;MAG9G,SAAY,sCAAA,CAAA,GAAsB,EAAU,OAA6B,EAAA;UAAzE,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;EAFzE,QAAA,KAAA,CAAA,QAAQ,GAAG,SAAS,CAAA7C,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,KAAK,IAAA,CAAC;;OAIzB;EAED,IAAA,sCAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;UACE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAIyD,8BAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;OAClH,CAAA;MAED,sCAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,IAAc,EAAA;EACvB,QAAA,IAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;UACnF,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAIA,8BAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;OACxH,CAAA;;GAdH,CAA4D,yBAAoD;4JAAnG,sCAAsC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA/F,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAuG,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAAvG,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qIAAtC,sCAAsC,EAAA,QAAA,EAAA,mCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,ECxBnD,o8CAoCA,EDvBc,MAAA,EAAA,CAAA,+sBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAyK,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAAxF,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA6F,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA5D,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAsB,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtB,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAuB,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,qBAAA,EAAAD,eAAA,CAAA,uBAAA,EAAA,gBAAA,EAAAuC,wBAAA,EAAA,WAAA,EAAA7D,aAAA,CAAA,aAAA,EAAA,EAAA,UAAA,EAAA;UACVtF,kBAAO,CAAC,0BAA0B,EAAE;EAClC,YAAAC,gBAAK,CAAC,IAAI,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;cAC5DD,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;cAChFC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAACgJ,qBAAgB,EAAElJ,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAClG,YAAAC,qBAAU,CAAC,QAAQ,EAAEC,kBAAO,CAACgJ,qBAAgB,CAAC,CAAC;WAChD,CAAC;EACH,KAAA,EAAA,eAAA,EAAA7K,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAIU,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAflD0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mCAAmC;EAC7C,oBAAA,WAAW,EAAE,4CAA4C;sBACzD,SAAS,EAAE,CAAC,4CAA4C,CAAC;EACzD,oBAAA,UAAU,EAAE;0BACVjC,kBAAO,CAAC,0BAA0B,EAAE;EAClC,4BAAAC,gBAAK,CAAC,IAAI,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;8BAC5DD,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;8BAChFC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAACgJ,qBAAgB,EAAElJ,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAClG,4BAAAC,qBAAU,CAAC,QAAQ,EAAEC,kBAAO,CAACgJ,qBAAgB,CAAC,CAAC;2BAChD,CAAC;EACH,qBAAA;sBACD,eAAe,EAAErG,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEMD,MAAA,mCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mCAAA,GAAA;;;;yJAAa,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0JAAnC,mCAAmC,EAAA,YAAA,EAAA,CAH/B,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAXnDmF,iBAAY;UACZ,sBAAsB;UACtB,0BAA0B;UAC1B,oBAAoB;UACpB+C,wBAAmB;UACnB1C,oBAAe;UACfkC,gBAAa;UACbD,qBAAgB;UAChBqD,kCAA6B;UAC7B,8BAA8B,aAGtB,sCAAsC,CAAA,EAAA,CAAA,CAAA;EAErC,mCAAA,CAAA,IAAA,GAAA9K,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mCAAmC,EAfrC,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZ,sBAAsB;cACtB,0BAA0B;cAC1B,oBAAoB;cACpB+C,wBAAmB;cACnB1C,oBAAe;cACfkC,gBAAa;cACbD,qBAAgB;cAChBqD,kCAA6B;cAC7B,8BAA8B;WAC/B,CAAA,EAAA,CAAA,CAAA;oHAIU,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAhB/CxG,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sBAAsB;0BACtB,0BAA0B;0BAC1B,oBAAoB;0BACpB+C,wBAAmB;0BACnB1C,oBAAe;0BACfkC,gBAAa;0BACbD,qBAAgB;0BAChBqD,kCAA6B;0BAC7B,8BAA8B;EAC/B,qBAAA;sBACD,YAAY,EAAE,CAAC,sCAAsC,CAAC;sBACtD,OAAO,EAAE,CAAC,sCAAsC,CAAC;mBAClD,CAAA;;;ACPD,MAAA,6BAAA,kBAAA,UAAA,MAAA,EAAA;MAAmD,SAAkD,CAAA,6BAAA,EAAA,MAAA,CAAA,CAAA;EAGnG,IAAA,SAAA,6BAAA,CAAY,GAAsB,EAAY,YAAsC,EAAY,MAAiB,EAAA;UAAjH,IAEC,KAAA,GAAA,IAAA,CAAA;;UADC,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IAAC,IAAA,CAAA;EADiC,QAAA,KAAY,CAAA,YAAA,GAAZ,YAAY,CAA0B;EAAY,QAAA,KAAM,CAAA,MAAA,GAAN,MAAM,CAAW;UAFzG,KAAA,CAAA,UAAU,GAAyC,IAAI3H,oBAAe,CAAsB,MAAA,CAAA,EAAA,GAAA,KAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;;OAI3H;EAED,IAAA,6BAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UAAA,IAqCC,KAAA,GAAA,IAAA,CAAA;EApCC,QAAA,IAAI,CAAC,MAAM;eACR,IAAI,CAAoC4H,8BAAyB,EAAE;cAClE,IAAI,EAAE,IAAIC,yBAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,CAC7B,CAAA,CAAA,CAAA,EAAA,IAAI,EAEC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CACzB,EAAA,EAAA,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAA,CAAA,EAElC,SAAS,EACT,IAAI,EACJ;EACE,gBAAA,KAAK,EAAE,SAAS;EAChB,gBAAA,iBAAiB,EAAE,IAAI;EACvB,gBAAA,gBAAgB,EAAE,IAAI;EACtB,gBAAA,UAAU,EAAE,IAAI;EAChB,gBAAA,eAAe,EAAE,IAAI;EACtB,aAAA,EACD,SAAS,EACT,SAAS,EACT,IAAI,CAAC,UAAU,CAAC,KAAK,EACrB,IAAI,EACJ,QAAQ,CACT;WACF,CAAC;EACD,aAAA,WAAW,EAAE;eACb,SAAS,CAAC,UAAC,MAAsC,EAAA;;EAChD,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;kBAC/B,IAAM,MAAM,GAAG,EAAE,CAAC;;sBAClB,KAAwB,IAAA,KAAA,QAAA,CAAA,MAAM,CAAC,UAAU,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAtC,wBAAA,IAAM,SAAS,GAAA,EAAA,CAAA,KAAA,CAAA;0BAClB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAuB,CAAC,CAAC;EACtD,qBAAA;;;;;;;;;EACD,gBAAA,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC9B,aAAA;EACH,SAAC,CAAC,CAAC;OACN,CAAA;;GA5CH,CAAmD,mBAAkD;mJAAxF,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAhL,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAoE,eAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,aAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA3E,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,sGCrB1C,06BAuBA,EAAA,MAAA,EAAA,CAAA,wgBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAiF,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA/G,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDFa,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAPzC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,8BAA8B;EACxC,oBAAA,WAAW,EAAE,kCAAkC;sBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;sBAC/C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEND,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,EAHtB,YAAA,EAAA,CAAA,6BAA6B,CADlC,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAEK,oBAAe,EAAE8B,qBAAgB,EAAEI,gBAAa,EAAEL,2BAAgB,aAEhF,6BAA6B,CAAA,EAAA,CAAA,CAAA;iJAE5B,0BAA0B,EAAA,OAAA,EAAA,CAJ5B,CAAClC,iBAAY,EAAEK,oBAAe,EAAE8B,qBAAgB,EAAEI,gBAAa,EAAEL,2BAAgB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIhF,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBALtC/C,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEK,oBAAe,EAAE8B,qBAAgB,EAAEI,gBAAa,EAAEL,2BAAgB,CAAC;sBAC3F,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACAD,MAAA,4BAAA,kBAAA,UAAA,MAAA,EAAA;MAAkD,SAA+C,CAAA,4BAAA,EAAA,MAAA,CAAA,CAAA;EAAjG,IAAA,SAAA,4BAAA,GAAA;;;EACE,IAAA,4BAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,KAAa,EAAE,GAAiB,EAAA;UAC/C,OAAO,GAAG,CAAC,KAAK;eACb,MAAM,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,CAAC,CAAH,EAAG,CAAC;eAClB,GAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,CAAf,EAAe,CAAC;eAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;OACb,CAAA;;GANH,CAAkD,yBAA+C;kJAApF,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAArH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA5B,4BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,4FCbzC,6wBAkBA,EAAA,MAAA,EAAA,CAAA,stBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAY,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAZ,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAa,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAa,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAApE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDLa,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBAPxC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;sBAC1C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AEAD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;;;+IAAa,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gJAAzB,yBAAyB,EAAA,YAAA,EAAA,CAHrB,4BAA4B,CADjC,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAE8F,mBAAc,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAElD,4BAA4B,CAAA,EAAA,CAAA,CAAA;EAE3B,yBAAA,CAAA,IAAA,GAAAjL,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,yBAAyB,YAJ3B,CAACmF,iBAAY,EAAE8F,mBAAc,EAAE,oBAAoB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIlD,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBALrC3G,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE8F,mBAAc,EAAE,oBAAoB,CAAC;sBAC7D,YAAY,EAAE,CAAC,4BAA4B,CAAC;sBAC5C,OAAO,EAAE,CAAC,4BAA4B,CAAC;mBACxC,CAAA;;;ACCD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAsC,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAAnF,IAAA,SAAA,uBAAA,GAAA;;;;GAAA,CAA6C,kBAAsC;6IAAtE,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjL,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,2FCZpC,8IACA,EAAA,MAAA,EAAA,CAAA,6GAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAG,sBAAA,EAAA,EAAA,eAAA,EAAAvE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDWa,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAPnC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mBAAmB;EAC7B,oBAAA,WAAW,EAAE,uBAAuB;sBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;sBACpC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AECD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAD5B,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAE/D,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAAlI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,YAJtB,CAACmF,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/D,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBALhC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAC;sBAC1E,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACCD,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAA8C,SAAsC,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EAApF,IAAA,SAAA,wBAAA,GAAA;;;;GAAA,CAA8C,kBAAsC;8IAAvE,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAlI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4FCZrC,2GACA,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAApE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDWa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAPpC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,wBAAwB;sBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;sBACrC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AECD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAD7B,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAE+C,wBAAmB,EAAE,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAEhE,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAAlI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,YAJvB,CAACmF,iBAAY,EAAE+C,wBAAmB,EAAE,6BAA6B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIhE,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBALjC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE+C,wBAAmB,EAAE,6BAA6B,CAAC;sBAC3E,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACCD,MAAA,gCAAA,kBAAA,UAAA,MAAA,EAAA;MAAsD,SAAoC,CAAA,gCAAA,EAAA,MAAA,CAAA,CAAA;EAA1F,IAAA,SAAA,gCAAA,GAAA;;;;GAAA,CAAsD,kBAAoC;sJAA7E,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAlI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAhC,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,qGCZ7C,oQAIA,EAAA,MAAA,EAAA,CAAA,gLAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAoG,sBAAA,EAAA,EAAA,eAAA,EAAAxK,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDQa,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAP5C0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,6BAA6B;EACvC,oBAAA,WAAW,EAAE,sCAAsC;sBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;sBACnD,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AECD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAHzB,gCAAgC,CADrC,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAE/D,gCAAgC,CAAA,EAAA,CAAA,CAAA;EAE/B,6BAAA,CAAA,IAAA,GAAAlI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,YAJ/B,CAACmF,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/D,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBALzC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE+C,wBAAmB,EAAE,4BAA4B,CAAC;sBAC1E,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;MCUY,0BAA0B,GAAG,IAAInG,iBAAc,CAAyB,4BAA4B,EAAE;AAcnH,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAsD,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;MAuB9D,SAAY,0BAAA,CAAA,GAAsB,EAAkD,gBAAyC,EAAA;UAA7H,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IAEX,IAAA,CAAA;EAvB+C,QAAA,KAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;EAa5E,QAAA,KAAA,CAAA,eAAe,GAAG,IAAIxB,cAAW,EAAE,CAAC;EACpC,QAAA,KAAA,CAAA,YAAY,GAAG,IAAIA,cAAW,EAAE,CAAC;EACjC,QAAA,KAAA,CAAA,cAAc,GAAG,IAAI,KAAK,EAAU,CAAC;EAE7B,QAAA,KAAA,CAAA,UAAU,GAAG,IAAIqF,YAAO,EAAQ,CAAC;EA2FzC;;;;;;EAMG;EACK,QAAA,KAAiB,CAAA,iBAAA,GAAyD,UAAC,EAAe,EAAA;EAAf,YAAA,IAAA,EAAA,GAAA,aAAe,EAAd,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;EAC/F,YAAA,IAAM,gBAAgB;;EAEpB,YAAA,IAAI,MAAK,MAAA,KAAI,CAAC,oBAAoB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,IAAI,CAAA;;kBAE5CrE,gBAAS,CAAC,KAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;;kBAEhD,OAAO,GAAG,KAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;EAElD,YAAA,IAAM,gBAAgB;;EAEpB,YAAA,IAAI,MAAK,MAAA,KAAI,CAAC,oBAAoB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC,IAAI,CAAA;;kBAE9CA,gBAAS,CAAC,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;;kBAElD,OAAO,GAAG,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;cAEpD,IAAI,gBAAgB,IAAI,gBAAgB,EAAE;EACxC,gBAAA,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EAC1D,gBAAA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EACrB,aAAA;EAED,YAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;EACzB,SAAC,CAAC;EApHA,QAAA,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;;OACtF;EArBD,IAAA,MAAA,CAAA,cAAA,CAAa,0BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAA2B,EAAA;cAC3C,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;cACnB,IAAI,KAAK,CAAC,WAAW,EAAE;EACrB,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC;EAC/C,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;EAqBD,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UAAA,IA4CC,KAAA,GAAA,IAAA,CAAA;EA3CC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;;EAElB,YAAA2J,UAAK,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;EACrE,iBAAA,IAAI,CAAC9E,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAChC,iBAAA,SAAS,CAAC,YAAA;;EACT,gBAAA,IAAI,EAAC,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA,KAAK,KAAI,CAAC,YAAY,CAAC,KAAK,IAAI,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;sBACnF,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;sBAC5B,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,EAAE,CAAC;EAC/B,iBAAA;kBACD,IAAI7E,gBAAS,CAAC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;sBAChC,IAAA,EAAA,GAAA,MAAkB,CAAA,KAAI,CAAC,iBAAiB,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAA,CAAA,CAAA,EAA9F,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAiF,CAAC;EACtG,oBAAA,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,OAAO,EAAA,OAAA,EAAE,CAAC,CAAC;EAC3C,iBAAA;EACH,aAAC,CAAC,CAAC;;;EAKL;;;;;;;;;;;;;;;;;;;;;;;EAuBI;EACL,SAAA;OACF,CAAA;EAED,IAAA,0BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACE,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;OAC5B,CAAA;EAED,IAAA,0BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;;UAEE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;UACjF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;;EAGvF,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;cAC9B,IAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;cAC1C,IAAI,CAAC,oBAAoB,GAAG;EAC1B,gBAAA,KAAK,EAAE;EACL,oBAAA,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY;EACnD,oBAAA,OAAO,EAAE,IAAI;EACd,iBAAA;EACD,gBAAA,GAAG,EAAE;EACH,oBAAA,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc;EACrD,oBAAA,OAAO,EAAE,IAAI;EACd,iBAAA;eACF,CAAC;EACH,SAAA;;EAGD,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;EAC3G,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EAC7B,SAAA;UAED,IAAI,IAAI,CAAC,QAAQ,EAAE;cACjB,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;EACxB,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;EAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;;GA9GH,CACU,mBAAsD;EADnD,0BAAA,CAAA,IAAA,GAAAvB,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,8DAwBmB,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAxBvE,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,6LCnCvC,+pCA6BA,EAAA,MAAA,EAAA,CAAA,yzBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAoE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA7B,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAc,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAiG,6BAAA,EAAA,mBAAA,EAAAC,8BAAA,EAAA,mBAAA,EAAAC,qBAAA,EAAA,EAAA,eAAA,EAAArL,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDMa,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAPtC0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,2BAA2B;EACrC,oBAAA,WAAW,EAAE,+BAA+B;sBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;sBAC5C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;gCAyBsCjB,WAAQ;;gCAAIC,SAAM;iCAAC,0BAA0B,CAAA;;2BApBlC,oBAAoB,EAAA,CAAA;wBAAnEK,cAAW;yBAAC,iCAAiC,CAAA;;;AEZhD,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;;;6IAAa,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA7D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8IAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHnB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAXvCmF,iBAAY;UACZkC,2BAAgB;UAChBqB,uBAAkB;UAClBY,kBAAe;UACfxB,cAAW;UACX,mCAAmC;UACnC,oCAAoC;UACpC,2BAA2B;UAC3BI,wBAAmB;UACnBH,sBAAmB,aAGX,0BAA0B,CAAA,EAAA,CAAA,CAAA;EAEzB,uBAAA,CAAA,IAAA,GAAA/H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAfzB,OAAA,EAAA,CAAA;cACPmF,iBAAY;cACZkC,2BAAgB;cAChBqB,uBAAkB;cAClBY,kBAAe;cACfxB,cAAW;cACX,mCAAmC;cACnC,oCAAoC;cACpC,2BAA2B;cAC3BI,wBAAmB;cACnBH,sBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAhBnCzD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZkC,2BAAgB;0BAChBqB,uBAAkB;0BAClBY,kBAAe;0BACfxB,cAAW;0BACX,mCAAmC;0BACnC,oCAAoC;0BACpC,2BAA2B;0BAC3BI,wBAAmB;0BACnBH,sBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,0BAA0B,CAAC;sBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;mBACtC,CAAA;;;ACbD,MAAA,+BAAA,kBAAA,UAAA,MAAA,EAAA;MAAqD,SAAoD,CAAA,+BAAA,EAAA,MAAA,CAAA,CAAA;EAPzG,IAAA,SAAA,+BAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAsBC,CAAA,CAAA,IAAA,IAAA,CAAA;EAduD,QAAA,KAAqB,CAAA,qBAAA,GAAG,IAAI,CAAC;;OAcpF;EAZC,IAAA,MAAA,CAAA,cAAA,CAAa,+BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,IAA0B,EAAA;cAC1C,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,IAAI,CAAC;;cAElB,IAAI,CAAC,UAAU,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KAAE,KAAK,EAAE,SAAS,EAAA,CAAE,CAAC;cAChD,IAAI,CAAC,QAAQ,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KAAE,KAAK,EAAE,SAAS,EAAA,CAAE,CAAC;WAC/C;;;EANA,KAAA,CAAA,CAAA;;GALH,CAAqD,mBAAoD;qJAA5F,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA/H,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA/B,+BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,0MCb5C,srBAsBA,EAAA,MAAA,EAAA,CAAA,inBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAsL,0BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA3G,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,yBAAA,EAAAiE,2BAAA,EAAA,EAAA,eAAA,EAAAlJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDTa,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAP3C0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,iCAAiC;EAC3C,oBAAA,WAAW,EAAE,qCAAqC;sBAClD,SAAS,EAAE,CAAC,qCAAqC,CAAC;sBAClD,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;gCAEuD,qBAAqB,EAAA,CAAA;wBAA1EX,cAAW;yBAAC,uCAAuC,CAAA;;;AEAtD,MAAA,4BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,4BAAA,GAAA;;;;kJAAa,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA7D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA5B,4BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,4BAA4B,EAHxB,YAAA,EAAA,CAAA,+BAA+B,CADpC,EAAA,OAAA,EAAA,CAAAmF,iBAAY,EAAE,uBAAuB,EAAE+C,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,aAE/G,+BAA+B,CAAA,EAAA,CAAA,CAAA;mJAE9B,4BAA4B,EAAA,OAAA,EAAA,CAJ9B,CAAClC,iBAAY,EAAE,uBAAuB,EAAE+C,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/G,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBALxC/C,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAE,uBAAuB,EAAE+C,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,CAAC;sBAC1H,YAAY,EAAE,CAAC,+BAA+B,CAAC;sBAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;mBAC3C,CAAA;;;ACmCY,MAAA,gCAAgC,GAAwB;;EAEnE,IAAA;EACE,QAAA,GAAG,EAAEkE,yBAAe;EACpB,QAAA,SAAS,EAAE,sBAAsB;EAClC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAElL,0BAAgB;EACrB,QAAA,SAAS,EAAE,uBAAuB;EACnC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEmL,sBAAY;EACjB,QAAA,SAAS,EAAE,mBAAmB;EAC/B,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,mCAAyB;EAC9B,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE9B,0BAAgB;EACrB,QAAA,SAAS,EAAE,uBAAuB;EACnC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE+B,6BAAmB;EACxB,QAAA,SAAS,EAAE,yBAAyB;EACrC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAExJ,iCAAuB;EAC5B,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,oBAAU;EACf,QAAA,SAAS,EAAE,0BAA0B;EACtC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAErB,uCAA6B;EAClC,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,mCAAyB;EAC9B,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEP,gCAAsB;EAC3B,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEI,kCAAwB;EAC7B,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,8BAAoB;EACzB,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEJ,qCAA2B;EAChC,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEkL,iCAAuB;EAC5B,QAAA,SAAS,EAAE,6BAA6B;EACzC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,+BAAqB;EAC1B,QAAA,SAAS,EAAE,8BAA8B;EAC1C,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,4BAAkB;EACvB,QAAA,SAAS,EAAE,sCAAsC;EAClD,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,iCAAuB;EAC5B,QAAA,SAAS,EAAE,6BAA6B;EACzC,KAAA;;;;;;;EAOD,IAAA;EACE,QAAA,GAAG,EAAE1J,sBAAY;EACjB,QAAA,SAAS,EAAE,uBAAuB;EACnC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,uBAAa;EAClB,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE0J,+BAAqB;EAC1B,QAAA,SAAS,EAAE,gCAAgC;EAC5C,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE,iDAAiD;EACtD,QAAA,SAAS,EAAE,0BAA0B;EACtC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,oCAA0B;EAC/B,QAAA,SAAS,EAAE,+BAA+B;EAC3C,KAAA;;;AChKH,MAAA,2BAAA,kBAAA,UAAA,MAAA,EAAA;MAAiD,SAAyB,CAAA,2BAAA,EAAA,MAAA,CAAA,CAAA;EAA1E,IAAA,SAAA,2BAAA,GAAA;;OAIC;EAHQ,IAAA,2BAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,YAAA;EACL,QAAA,OAAO,gCAAgC,CAAC;OACzC,CAAA;MACF,OAAA,2BAAA,CAAA;EAAA,CAJD,CAAiDC,8BAAyB,CAIzE;;ECGD;AASA,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAAwC,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;MAsD1F,SACE,8BAAA,CAAA,eAAqC,EACrC,aAAkC,EAClC,SAA0B,EAClB,GAAsB,EACtB,aAAgC,EAAA;EAL1C,QAAA,IAAA,KAAA,GAOE,kBAAM,eAAe,EAAE,aAAa,EAAE,SAAS,CAAC,IACjD,IAAA,CAAA;EAJS,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;EACtB,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAmB;EA7BlC,QAAA,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;EAGf,QAAA,KAAA,CAAA,gBAAgB,GAAG,IAAInI,eAAY,EAAmB,CAAC;EACjE;;;EAGG;EACO,QAAA,KAAA,CAAA,oBAAoB,GAAG,IAAIA,eAAY,EAAU,CAAC;EAC5D;;;EAGG;EACO,QAAA,KAAA,CAAA,kBAAkB,GAAG,IAAIA,eAAY,EAAU,CAAC;UAE1D,KAAA,CAAA,aAAa,GAAG,IAAIX,oBAAe,CAAqB,SAAS,CAAC,CAAC;EACnE,QAAA,KAAS,CAAA,SAAA,GAAe,EAAE,CAAC;UAE3B,KAAA,CAAA,gBAAgB,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;EACvD,QAAA,KAAc,CAAA,cAAA,GAAG,KAAK,CAAC;UACvB,KAAA,CAAA,gBAAgB,GAAoC,KAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;EAC5F,QAAA,KAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;UAC3B,KAAA,CAAA,UAAU,GAAG,IAAIA,oBAAe,CAAa,EAAE,CAAC,CAAC;EAmBjD;;;EAGG;UACH,KAAmB,CAAA,mBAAA,GAAG,YAAA;cACpB,IAAI,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;EACpC,gBAAA,OAAO,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;EACvE,aAAA;mBAAM,IAAI,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;kBAC7C,OAAO,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;EACxC,aAAA;EAAM,iBAAA;EACL,gBAAA,OAAO,KAAK,CAAC;EACd,aAAA;EACH,SAAC,CAAC;;OArBD;EA3DD,IAAA,MAAA,CAAA,cAAA,CAAa,8BAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAArB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,QAA8C,CAAC;WAC7D;EACD,QAAA,GAAA,EAAA,UAAsB,IAAwC,EAAA;EAC5D,YAAA,IAAI,IAAI,EAAE;EACR,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;kBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;EACnB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACrC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;kBAClC,MAAM,CAAA,SAAA,CAAA,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;kBAC3D,MAAM,CAAA,SAAA,CAAA,QAAQ,GAAG,IAAI,CAAC;kBAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;kBACrB,IAAI,CAAC,yBAAyB,EAAE,CAAC;EACjC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;EACtD,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;EACjD,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;EACzB,aAAA;WACF;;;EAhBA,KAAA,CAAA,CAAA;EAkBD,IAAA,MAAA,CAAA,cAAA,CACI,8BAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,KAAc,EAAA;EACxB,YAAA,IAAI,CAAC,QAAQ,GAAGS,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC9C;;;EAHA,KAAA,CAAA,CAAA;EAsCD,IAAA,8BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,MAAM,CAAA,SAAA,CAAA,WAAW,WAAE,CAAC;UACpB,IAAI,IAAI,CAAC,oBAAoB,EAAE;EAC7B,YAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;EACzC,SAAA;OACF,CAAA;EAgBD;;;EAGG;EACH,IAAA,8BAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;UAAA,IAOC,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;cAC5B,IAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,CAAA,EAAA,CAAC,CAAC;cAClH,OAAO,iBAAiB,GAAG,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,8BAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB,YAAA;UAAA,IAwBP,KAAA,GAAA,IAAA,CAAA;;UAvBC,IAAI,IAAI,CAAC,MAAM,EAAE;;EAEf,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;EAC5B,gBAAA,IAAM,eAAe,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;EAC9E,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;EAC7C,aAAA;EAED,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;kBAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,YAAA;EAC9D,oBAAA,IAAI,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE;0BAC5B,IAAI,KAAI,CAAC,MAAM,EAAE;8BACf,IAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EACjG,4BAAA,IAAI,mBAAmB,EAAE;EACvB,gCAAA,IAAM,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EACrE,gCAAA,IAAI,aAAa,EAAE;sCACjB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EACjD,iCAAA;EACF,6BAAA;EACF,yBAAA;EACF,qBAAA;EACH,iBAAC,CAAC,CAAC;EACJ,aAAA;EACF,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,8BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;;UACN,CAAA,EAAA,GAAA,IAAI,CAAC,oBAAoB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;EACzC,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;EACxB,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;EACxB,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;EACjC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACzB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;OACpC,CAAA;EAED;;;EAGG;MACK,8BAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,OAAsB,EAAA;UAAxC,IAiBP,KAAA,GAAA,IAAA,CAAA;UAhBC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;EACtC,YAAA,IAAM,kBAAkB,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;EACjE,YAAA,IAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;EAC5D,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;cAEzC,IAAM,eAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;cAChD,IAAM,cAAY,GAAe,EAAE,CAAC;cACpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;kBACjC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,SAAS,CAAC,eAAa,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,SAAS,CAAC,eAAa,CAAC,CAAC,UAAU,EAAE;sBAChI,cAAY,CAAC,IAAI,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,IAAG,CAAC;EACjE,iBAAA;EAAM,qBAAA;EACL,oBAAA,cAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACzB,iBAAA;EACH,aAAC,CAAC,CAAC;EACH,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAY,CAAC,CAAC;EACpC,SAAA;OACF,CAAA;EAED;;;;;;;EAOG;MACK,8BAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,SAAqB,EAAA;UAAtC,IAWP,KAAA,GAAA,IAAA,CAAA;EAVC,QAAA,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;cACrB,IAAM,uBAAuB,GAAG,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAA,EAAA,CAAC,CAAC;EACpG,YAAA,IAAI,uBAAuB,EAAE;EAC3B,gBAAA,uBAAuB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;kBACrD,IAAI,uBAAuB,CAAC,MAAM,EAAE;sBAClC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACzC,oBAAA,KAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;EACzB,iBAAA;EACF,aAAA;EACH,SAAC,CAAC,CAAC;OACJ,CAAA;EAED;;;;;;;EAOG;MACK,8BAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,KAAiB,EAAA;UACnD,IAAM,wBAAwB,GAAa,EAAE,CAAC;EAC9C,QAAA,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;EACjB,YAAA,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACjD,SAAC,CAAC,CAAC;UAEH,IAAM,WAAW,GAAe,EAAE,CAAC;UACnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;cACjC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EACtD,gBAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACxB,aAAA;EACH,SAAC,CAAC,CAAC;EAEH,QAAA,OAAO,WAAW,CAAC;OACpB,CAAA;EAED;;;EAGG;EACK,IAAA,8BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UAAA,IAaP,KAAA,GAAA,IAAA,CAAA;UAZC,IAAM,YAAY,GAAe,EAAE,CAAC;UACpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;cACjC,IAAI,KAAI,CAAC,MAAM,EAAE;EACf,gBAAA,IAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACrF,gBAAA,IAAI,gBAAgB,EAAE;EACpB,oBAAA,YAAY,CAAC,IAAI,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,MAAM,EAAE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,EAAA,CAAA,CAAG,CAAC;EAC3G,iBAAA;EAAM,qBAAA;sBACL,YAAY,CAAC,IAAI,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KAAE,MAAM,EAAE,aAAa,EAAA,CAAA,CAAG,CAAC;EACvD,iBAAA;EACF,aAAA;EACH,SAAC,CAAC,CAAC;EACH,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACpC,CAAA;EAED;;;EAGG;MACH,8BAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,aAAkC,EAAA;UAAtD,IAoBC,KAAA,GAAA,IAAA,CAAA;;;UAjBC,IAAI,IAAI,CAAC,QAAQ,EAAE;cACjB,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;EACpD,YAAA,IAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAoB,CAAC;cACtG,IAAI,aAAa,KAAK,MAAM,EAAE;EAC5B,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACxC,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;EAChC,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,CAAA,EAAA,CAAC,GAAG,CAAC,CAAC;kBACtH,IAAI,iBAAiB,IAAI,CAAC,EAAE;sBAC1B,IAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;EAC9D,oBAAA,IAAI,YAAY,EAAE;0BAChB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;EACxD,wBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;EAChC,qBAAA;EACF,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;EAIG;MACH,8BAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,IAAc,EAAA;UAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;cAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;cAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACzC,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;EAChC,SAAA;OACF,CAAA;EAED,IAAA,8BAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,UAAuB,KAAa,EAAE,QAAkB,EAAA;UACtD,OAAO,QAAQ,CAAC,UAAU,CAAC;OAC5B,CAAA;;GA3QH,CAAoD,uBAAwC;oJAA/E,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA2C,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA9B,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA1E,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA2E,eAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA3E,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA9B,8BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,mWCpB3C,0mDAqCA,EAAA,MAAA,EAAA,CAAA,oZAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAkM,0BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA/D,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtB,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAsB,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtB,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAuB,aAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtB,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAsB,aAAA,CAAA,SAAA,EAAA,yBAAA,EAAA+D,2BAAA,EAAA,EAAA,eAAA,EAAApM,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDjBa,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAR1C0D,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,0BAA0B;EACpC,oBAAA,WAAW,EAAE,mCAAmC;sBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;sBAChD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACrC,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;mBACxD,CAAA;4PAyBK,OAAO,EAAA,CAAA;wBADVd,QAAK;kBAUI,gBAAgB,EAAA,CAAA;wBAAzBI,SAAM;kBAKG,oBAAoB,EAAA,CAAA;wBAA7BA,SAAM;kBAKG,kBAAkB,EAAA,CAAA;wBAA3BA,SAAM;;;AE7BT,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAHvB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAf3C4H,aAAU;UACVzC,iBAAY;UACZkC,2BAAgB;UAChBS,cAAW;UACXtC,oBAAe;UACfkC,gBAAa;UACb,wBAAwB;UACxB,oBAAoB;UACpBK,sBAAmB;UACnB,iCAAiC;UACjC,uBAAuB;UACvB,gCAAgC;UAChC,+BAA+B;UAC/B,iCAAiC,aAGzB,8BAA8B,CAAA,EAAA,CAAA,CAAA;EAE7B,2BAAA,CAAA,IAAA,GAAA/H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,EAnB7B,OAAA,EAAA,CAAA;cACP4H,aAAU;cACVzC,iBAAY;cACZkC,2BAAgB;cAChBS,cAAW;cACXtC,oBAAe;cACfkC,gBAAa;cACb,wBAAwB;cACxB,oBAAoB;cACpBK,sBAAmB;cACnB,iCAAiC;cACjC,uBAAuB;cACvB,gCAAgC;cAChC,+BAA+B;cAC/B,iCAAiC;WAClC,CAAA,EAAA,CAAA,CAAA;oHAIU,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBApBvCzD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPsD,aAAU;0BACVzC,iBAAY;0BACZkC,2BAAgB;0BAChBS,cAAW;0BACXtC,oBAAe;0BACfkC,gBAAa;0BACb,wBAAwB;0BACxB,oBAAoB;0BACpBK,sBAAmB;0BACnB,iCAAiC;0BACjC,uBAAuB;0BACvB,gCAAgC;0BAChC,+BAA+B;0BAC/B,iCAAiC;EAClC,qBAAA;sBACD,YAAY,EAAE,CAAC,8BAA8B,CAAC;sBAC9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;mBAC1C,CAAA;;;ECjCD;;EAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"mtna-web-form-angular.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.mjs","../../../../projects/web-form-angular/src/lib/models/i18n-constants.model.ts","../../../../projects/web-form-angular/src/lib/models/design/template-design-constants.model.ts","../../../../projects/web-form-angular/src/lib/models/design/potential-designs.model.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/mapping-logic-core.ts","../../../../projects/web-form-angular/src/lib/utilities/new-base-designs.util.ts","../../../../projects/web-form-angular/src/lib/utilities/template-design-core-util.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/template-mapper.ts","../../../../projects/web-form-angular/src/lib/utilities/template-design-util.ts","../../../../projects/web-form-angular/src/lib/validators/validation-result-validator.ts","../../../../projects/web-form-angular/src/lib/validators/instant-validation-result-error-state-matcher.ts","../../../../projects/web-form-angular/src/lib/utilities/serializer-util.ts","../../../../projects/web-form-angular/src/lib/utilities/animations.ts","../../../../projects/web-form-angular/src/lib/utilities/design-conditionals-util.ts","../../../../projects/web-form-angular/src/lib/utilities/is-form-group.ts","../../../../projects/web-form-angular/src/lib/utilities/find-form-control.ts","../../../../projects/web-form-angular/src/lib/utilities/find-form-item.ts","../../../../projects/web-form-angular/src/lib/models/date/default-year-range.model.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/template-item-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/option-selector-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/option-group-item-section-display-name-map.model.ts","../../../../projects/web-form-angular/src/lib/models/design/option-item-section-display-name-map.model.ts","../../../../projects/web-form-angular/src/lib/utilities/form-option-design-util.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/option-item-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/boolean-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/bulleted-list-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/option-group-item-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/checkbox-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/date-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/dropdown-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/file-upload-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/multiple-choice-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/numbered-list-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/numeric-response-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/offset-date-range-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/repeatable-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/text-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/text-response-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/time-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/title-item-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/year-quarter-range-template-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/template-item-group-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/template-section-mapper.ts","../../../../projects/web-form-angular/src/lib/models/design/design-mapper/mapper-classes.model.ts","../../../../projects/web-form-angular/src/lib/models/design/enumerations/date-enumeration.model.ts","../../../../projects/web-form-angular/src/lib/models/design/template-design-context.model.ts","../../../../projects/web-form-angular/src/lib/models/form-stepper/base-form-step.model.ts","../../../../projects/web-form-angular/src/lib/models/form-stepper/form-step-group.model.ts","../../../../projects/web-form-angular/src/lib/models/form-stepper/form-step.model.ts","../../../../projects/web-form-angular/src/lib/models/api-config.ts","../../../../projects/web-form-angular/src/lib/models/custom-date-format-provider.model.ts","../../../../projects/web-form-angular/src/lib/models/form-item-dialog-data.model.ts","../../../../projects/web-form-angular/src/lib/models/white-list.model.ts","../../../../projects/web-form-angular/src/lib/utilities/flatten-steps.ts","../../../../projects/web-form-angular/src/lib/utilities/form-step.util.ts","../../../../projects/web-form-angular/src/lib/utilities/generate-form-steps.ts","../../../../projects/web-form-angular/src/lib/utilities/get-item-class-suffix.ts","../../../../projects/web-form-angular/src/lib/utilities/is-form-control.ts","../../../../projects/web-form-angular/src/lib/utilities/merge-template-util.ts","../../../../projects/web-form-angular/src/lib/utilities/update-step-status.ts","../../../../projects/web-form-angular/src/lib/services/ui.service.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-form-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-form-item-control.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-group-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-value-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-parent-value-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-section-item.component.ts","../../../../projects/web-form-angular/src/lib/components/base-items/base-single-selection-parent-value-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-injector/form-item-injector.component.ts","../../../../projects/web-form-angular/src/lib/pipes/sanitize-html.pipe.ts","../../../../projects/web-form-angular/src/lib/components/item-header/item-header.component.ts","../../../../projects/web-form-angular/src/lib/components/item-header/item-header.component.html","../../../../projects/web-form-angular/src/lib/components/form-item/form-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item/form-item.component.html","../../../../projects/web-form-angular/src/lib/components/acknowledge-dialog/acknowledge-dialog.component.ts","../../../../projects/web-form-angular/src/lib/components/acknowledge-dialog/acknowledge-dialog.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-injector/form-item-injector.module.ts","../../../../projects/web-form-angular/src/lib/pipes/child-step-active.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-object-type.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-date-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-control.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-group.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-step-group.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/coerce-form-step.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/date-quarter.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/filter-hidden-items.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/form-step-group.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-active-form-step-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-auto-complete.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-available-quarters.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-form-control-error.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-list-icon.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-progressive-form-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-selected-option.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-step-aria-label.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/instance-of-template.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/instance-of-template-item.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/instance-of-template-item-group-impl.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/items-with-value.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-i18n-string-value-from-locale.pipe.ts","../../../../projects/web-form-angular/src/lib/pipes/get-i18n-strings-value-from-locale.pipe.ts","../../../../projects/web-form-angular/src/lib/components/item-header/item-header.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item/form-item.module.ts","../../../../projects/web-form-angular/src/lib/components/acknowledge-dialog/acknowledge-dialog.module.ts","../../../../projects/web-form-angular/src/lib/services/api.service.ts","../../../../projects/web-form-angular/src/lib/components/form-item-dialog/form-item-dialog.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-dialog/form-item-dialog.component.html","../../../../projects/web-form-angular/src/lib/services/dialog.service.ts","../../../../projects/web-form-angular/src/lib/services/ng-form.service.ts","../../../../projects/web-form-angular/src/lib/services/form-manager.service.ts","../../../../projects/web-form-angular/src/lib/services/resource-search-selection.service.ts","../../../../projects/web-form-angular/src/lib/services/template-transformation.service.ts","../../../../projects/web-form-angular/src/lib/components/base-form/base-form.component.ts","../../../../projects/web-form-angular/src/lib/components/form-disabler/form-disabler.component.ts","../../../../projects/web-form-angular/src/lib/components/form/form.component.ts","../../../../projects/web-form-angular/src/lib/components/form/form.component.html","../../../../projects/web-form-angular/src/lib/components/form-disabler/form-disabler.module.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step/form-step.component.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step/form-step.component.html","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step-group/form-step-group.component.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-step-group/form-step-group.component.html","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-stepper/form-stepper.component.ts","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-stepper/form-stepper-new.component.html","../../../../projects/web-form-angular/src/lib/components/form-stepper/form-stepper.module.ts","../../../../projects/web-form-angular/src/lib/components/step-card/step-card.component.ts","../../../../projects/web-form-angular/src/lib/components/step-card/step-card.component.html","../../../../projects/web-form-angular/src/lib/components/step-card/step-card.module.ts","../../../../projects/web-form-angular/src/lib/components/form/form.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/boolean/boolean.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/boolean/boolean.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/boolean/boolean.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/checkbox/checkbox.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/checkbox/checkbox.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-dialog/form-item-dialog.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/checkbox/checkbox.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date/date.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date/date.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date/date.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date-range/date-range.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date-range/date-range.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/date-range/date-range.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/dropdown/dropdown.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/dropdown/dropdown.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/dropdown/dropdown.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/file-upload/file-upload.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/file-upload/file-upload.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/file-upload/file-upload.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-group/form-group.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-group/form-group.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-group/form-group.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-section/form-section.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-section/form-section.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/form-section/form-section.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/i18n-input/i18n-input.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/i18n-input/i18n-input.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/i18n-input/i18n-input.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/input/input.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/input/input.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/input/input.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/multiple-choice/multiple-choice.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/multiple-choice/multiple-choice.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/multiple-choice/multiple-choice.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/ordered-list/ordered-list-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/ordered-list/ordered-list-item.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/ordered-list/ordered-list-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item/repeatable-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item/repeatable-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/repeatable-item-container/repeatable-item-container.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/search/resource-search.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/search/resource-search.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/search/resource-search.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/table-item/table-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/table-item/table-item.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/table-item/table-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/text/text.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/text/text.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/text/text.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/title/title.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/title/title.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/title/title.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/unordered-list/unordered-list-item.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/unordered-list/unordered-list-item.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/unordered-list/unordered-list-item.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter/year-quarter.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter/year-quarter.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter/year-quarter.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.ts","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter-range/year-quarter-range.component.html","../../../../projects/web-form-angular/src/lib/components/form-item-impl/year-quarter-range/year-quarter-range.module.ts","../../../../projects/web-form-angular/src/lib/components/form-item-component-provider/form-item-injected-components.ts","../../../../projects/web-form-angular/src/lib/components/form-item-component-provider/form-item-component-provider.ts","../../../../projects/web-form-angular/src/lib/components/progressive-form/progressive-form/progressive-form.component.ts","../../../../projects/web-form-angular/src/lib/components/progressive-form/progressive-form/progressive-form.component.html","../../../../projects/web-form-angular/src/lib/components/progressive-form/progressive-form/progressive-form.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/base/base-template-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/base/base-template-item-with-list.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/option/template-option-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-header/template-item-header.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-header/template-item-header.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/models/step-aware.model.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-injector/template-item-injector.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item/template-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item/template-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/boolean-item/boolean-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/boolean-item/boolean-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-header/template-item-header.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-injector/template-item-injector.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item/template-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/boolean-item/boolean-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/option/template-option-group-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/checkbox-item/checkbox-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/checkbox-item/checkbox-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/checkbox-item/checkbox-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date-item/date-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date-item/date-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date-item/date-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/offset-date-range-item/offset-date-range-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/dropdown-item/dropdown-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/dropdown-item/dropdown-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/dropdown-item/dropdown-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/file-upload-item/file-upload-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/file-upload-item/file-upload-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/file-upload-item/file-upload-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/i18n-paragraph-answer-item/i18n-paragraph-answer-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/i18n-short-answer-item/i18n-short-answer-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/multiple-choice-item/multiple-choice-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/ordered-list-item/ordered-list-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/ordered-list-item/ordered-list-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/paragraph-answer-item/paragraph-answer-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/repeatable-item/repeatable-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/repeatable-item/repeatable-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/repeatable-item-container/repeatable-item-container.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/short-answer-item/short-answer-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/short-answer-item/short-answer-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/short-answer-item/short-answer-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template/template.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template/template.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template/template.module.ts","../../../../projects/web-form-angular/src/lib/state/form/template-form.actions.ts","../../../../projects/web-form-angular/src/lib/state/form/template-form-api.actions.ts","../../../../projects/web-form-angular/src/lib/state/form/template-form.reducer.ts","../../../../projects/web-form-angular/src/lib/state/form/template-form.selectors.ts","../../../../projects/web-form-angular/src/lib/state/form/template-form.facade.ts","../../../../projects/web-form-angular/src/lib/state/form/template-form.effects.ts","../../../../projects/web-form-angular/src/lib/state/design/template-design.facade.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-display-viewer/template-display-viewer.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-group/template-item-group.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-group/template-item-group.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-section/template-section.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-section/template-section.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/text-item/text-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/text-item/text-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/title-item/title-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/title-item/title-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-component-provider/template-item-injected-components.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-component-provider/template-item-component-provider.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-item-group/template-item-group.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/template-section/template-section.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/text-item/text-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/title-item/title-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/unordered-list-item/unordered-list-item.component.html","../../../../projects/web-form-angular/src/lib/components/template-item-impl/unordered-list-item/unordered-list-item.module.ts","../../../../projects/web-form-angular/src/lib/components/template-item-impl/whole-number-answer-item/whole-number-answer-item.module.ts","../../../../projects/web-form-angular/src/mtna-web-form-angular.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","// I18N Constants for the Template Item Mapper\nexport const i18n_templateItemBasicSettings = $localize`Basic Settings`;\nexport const i18n_templateItemLabel = $localize`Name`;\nexport const i18n_templateItemLabelInstructions = $localize`What it’s called inside the form. Enter a short name to identify this item. This name will also help you find it later when reviewing results or managing the form.`;\nexport const i18n_templateItemQuestionText = $localize`Question Text`;\nexport const i18n_templateItemQuestionTextInstructions = $localize`What you are asking the user. Write the main question or instruction for this item. This is what the user will see and response to.`;\nexport const i18n_templateItemHelp = $localize`Help Text`;\nexport const i18n_templateItemHelpInstructions = $localize`Extra details or instructions. Add a short explanation or example to help the user understand exactly what’s needed.`;\nexport const i18n_templateItemRequired = $localize`Required Answer`;\nexport const i18n_templateItemRequiredInstructions = $localize`Whether the user must respond. Turn this on if this item must be answered before the form can be submitted.`;\nexport const i18n_templateItemAnnotation = $localize`Allow Annotations`;\nexport const i18n_templateItemAnnotationInstructions = $localize`Whether reviewers can add notes. Enable this if you want people reviewing the this form item to leave comments or mark up responses.`;\n\nexport const i18n_acknowledgement = $localize`Acknowledgement`;\nexport const i18n_acknowledgementInstructions = $localize`The acknowledgement tells the user that they are required to acknowledge the information presented in the item. This is typically used for legal disclaimers or other important information that the user must agree to before proceeding.`;\nexport const i18n_additionalText = $localize`Additional Text`;\nexport const i18n_additionalTextInstructions = $localize`Additional Text Instructions`;\nexport const i18n_annotationEnabled = $localize`Annotation Enabled`;\nexport const i18n_annotationEnabledInstructions = $localize`Indicates if this item should be annotatable.`;\nexport const i18n_booleanConfiguration = $localize`Boolean Configuration`;\nexport const i18n_bulletedListConfiguration = $localize`Bulleted List Configuration`;\nexport const i18n_checkboxConfiguration = $localize`Checkbox Configuration`;\nexport const i18n_codeOption = $localize`Code Option`;\nexport const i18n_codeOptionInstructions = $localize`The code option that should be presented to the user.`;\nexport const i18n_core = $localize`Core`;\nexport const i18n_childItems = $localize`Child Items`;\nexport const i18n_dateConfiguration = $localize`Date Configuration`;\nexport const i18n_description = $localize`Description`;\nexport const i18n_descriptionInstructions = $localize`The description is a short representation of what the value for the input should be.`;\nexport const i18n_descriptive = $localize`Descriptive Information`;\nexport const i18n_descriptiveText = $localize`Descriptive Text`;\nexport const i18n_descriptiveTextInstructionsItem = $localize`Descriptive text provides additional explanation / context to the item. Typically the question text is used to present the question that information is being gathered about and the descriptive text expounds on that to ensure the user filling out the form understands what is being asked of them.`;\nexport const i18n_descriptiveTextInstructionsTemplate = $localize`Describes the purpose and use cases for this Template or Template Item.`;\nexport const i18n_disabledItems = $localize`Disabled Items`;\nexport const i18n_disabledItemsInstructions = $localize`The items that should be disabled in the form upon selection of this option.`;\nexport const i18n_downloadAllowed = $localize`Download Allowed`;\nexport const i18n_downloadAllowedInstructions = $localize`Indicates if the file should be allowed to be downloaded once it has been uploaded, or if it should only be available for processing on the backend.`;\nexport const i18n_dropdownConfiguration = $localize`Dropdown Configuration`;\nexport const i18n_dropdownProperties = $localize`Dropdown Properties`;\nexport const i18n_enabledAndDisabledItems = $localize`Enabled and Disabled Items`;\nexport const i18n_enabledItems = $localize`Enabled Items`;\nexport const i18n_enabledItemsInstructions = $localize`The items that should be enabled in the form upon selection of this option.`;\nexport const i18n_fileTypeId = $localize`File Type Id`;\nexport const i18n_fileTypeIdInstructions = $localize`The file type id that this file upload item should be associated with. This is used to determine what type of file is being uploaded and how it should be processed.`;\nexport const i18n_fileUploadConfiguration = $localize`File Upload Configuration`;\nexport const i18n_form = $localize`Form`;\nexport const i18n_format = $localize`Format`;\nexport const i18n_formatInstructions = $localize`The format the date should be presented in.`;\nexport const i18n_formatTimeInstructions = $localize`The format the time should be presented in.`;\nexport const i18n_fullWidth = $localize`Full Width`;\nexport const i18n_fullWidthInstructions = $localize`Indicates if the item should be presented in a full width format.`;\nexport const i18n_help = $localize`Help`;\nexport const i18n_helpInstructions = $localize`The help text provides additional context to the user about what is being asked of them.`;\nexport const i18n_item = $localize`Item`;\nexport const i18n_items = $localize`Items`;\nexport const i18n_itemsInstructions = $localize`The items that make up this template.`;\nexport const i18n_label = $localize`Label`;\nexport const i18n_labelInstructions = $localize`The label is a short representation of what the value for the input should be. This will be presented as a greyed out value in the input and shift to the input title once the user provides an input of their own.`;\nexport const i18n_layout = $localize`Layout`;\nexport const i18n_layoutInstructions = $localize`Indicates how the child items of this item should be presented, ROW indicates that multiple items should be put on a single row (to save space), COLUMN indicates the items should be placed in a vertical way.`;\nexport const i18n_maxCharCount = $localize`Maximum Character Count`;\nexport const i18n_maxCharCountInstructions = $localize`The maximum character count of the values that are input to be considered valid, this is optional.`;\nexport const i18n_minCharCount = $localize`Minimum Character Count`;\nexport const i18n_minCharCountInstructions = $localize`The minimum character count of the values that are input to be considered valid, this is optional.`;\nexport const i18n_maxOccurrances = $localize`Maximum Occurrences`;\nexport const i18n_maxOccurrancesInstructions = $localize`The maximum number of times this item should be presented to the user.`;\nexport const i18n_minOccurrances = $localize`Minimum Occurrences`;\nexport const i18n_minOccurrancesInstructions = $localize`The minimum number of times this item should be presented to the user.`;\nexport const i18n_minSelections = $localize`Minimum Selections`;\nexport const i18n_minSelectionsInstructions = $localize`The minimum number of selections that should be required to be considered valid.`;\nexport const i18n_maxSelections = $localize`Maximum Selections`;\nexport const i18n_maxSelectionsInstructions = $localize`The maximum number of selections that should be required to be considered valid.`;\nexport const i18n_maxValue = $localize`Maximum Value`;\nexport const i18n_maxValueInstructions = $localize`The maximum numeric value input to be considered valid, this is optional.`;\nexport const i18n_minValue = $localize`Minimum Value`;\nexport const i18n_minValueInstructions = $localize`The minimum numeric value input to be considered valid, this is optional.`;\nexport const i18n_multipleChoiceConfiguration = $localize`Multiple Choice Configuration`;\nexport const i18n_name = $localize`Name`;\nexport const i18n_nameInstructions = $localize`This serves as an identifier for the item in the form and can be used to retrieve it during processing, indexing, or other operations.`;\nexport const i18n_new = $localize`New`;\nexport const i18n_newOption = $localize`New Option`;\nexport const i18n_newOptionTemplate = $localize`New Option Template`;\nexport const i18n_newTemplate = $localize`New Template`;\nexport const i18n_newTemplateItem = $localize`New Template Item`;\nexport const i18n_numericConfiguration = $localize`Numeric Configuration`;\nexport const i18n_numberedListConfiguration = $localize`Numbered List Configuration`;\nexport const i18n_offsetDateRangeConfiguration = $localize`Offset Date Range Configuration`;\nexport const i18n_option = $localize`Option`;\nexport const i18n_optionInstructions = $localize`The option that should be presented to the user.`;\nexport const i18n_optionProperties = $localize`Option Properties`;\nexport const i18n_options = $localize`Options`;\nexport const i18n_optionsInstructions = $localize`The options that should be presented to the user.`;\nexport const i18n_optionSubsets = $localize`Option Subsets`;\nexport const i18n_optionSubsetInstructions = $localize`The option subsets that should be presented to the user.`;\nexport const i18n_optionTemplate = $localize`Option Template`;\nexport const i18n_optionTemplates = $localize`Option Templates`;\nexport const i18n_optionTemplateInstructions = $localize`The template that should be used to provide additional context to the user about the selected option. This is typically used to provide more information about the option that is being selected, such as a description or additional details.`;\nexport const i18n_optionTemplateMap = $localize`Option Template Map`;\nexport const i18n_optionTemplateMapInstructions = $localize`The option template map that should be presented to the user.`;\nexport const i18n_positiveOnly = $localize`Positive Values Only`;\nexport const i18n_positiveOnlyInstructions = $localize`Indicates that values input must be positive (non-negative, non-0) to be considered valid.`;\nexport const i18n_presetValue = $localize`Initial Value`;\nexport const i18n_presetValueInstructions = $localize`The initial date value that should be set when a new instance of this is created.`;\nexport const i18n_questionText = $localize`Question Text`;\nexport const i18n_questionTextInstructions = $localize`This is the question posed to the user about the input, for which a response is expected.`;\nexport const i18n_rangeLimits = $localize`Range Limits`;\nexport const i18n_rangeLimitsInstructions = $localize`The limits that should be applied to constrain the date time range that can be selected.`;\nexport const i18n_repeatableItemConfiguration = $localize`Repeatable Item Configuration`;\nexport const i18n_repeatableItemTemplateId = $localize`Repeatable Item Template Id`;\nexport const i18n_repeatableItemTemplateIdInstructions = $localize`The id of the template that should be used to create a new instance of this item.`;\nexport const i18n_required = $localize`Required`;\nexport const i18n_requiredInstructions = $localize`Indicates that this item requires a value to be considered complete / valid.`;\nexport const i18n_settings = $localize`Settings`;\nexport const i18n_startingInstances = $localize`Starting Instances`;\nexport const i18n_startingInstancesInstructions = $localize`The number of instances of this item that should be created when the form is first presented to the user.`;\nexport const i18n_timeInputConfiguration = $localize`Time Input Configuration`;\nexport const i18n_template = $localize`Template`;\nexport const i18n_templateItem = $localize`Template Item`;\nexport const i18n_templateItemInstructions = $localize`The item that makes up this template.`;\nexport const i18n_templateItems = $localize`Template Items`;\nexport const i18n_templateItemsInstructions = $localize`The items at the root level of the template / form.`;\nexport const i18n_templateItemsInstructionsGroup = $localize`The items that make up this group / section.`;\nexport const i18n_textConfiguration = $localize`Text Configuration`;\nexport const i18n_textInputConfiguration = $localize`Text Input Configuration`;\nexport const i18n_textValue = $localize`Text Value`;\nexport const i18n_textValueInstructions = $localize`This text will be displayed as HTML text in the form and is meant to be used to provide users with more in depth information about the form.`;\nexport const i18n_titleInstructions = $localize`The title of the Template.`;\nexport const i18n_titleInstructionsSection = $localize`The title of the Section, this will be presented at the top of the card that represents the section.`;\nexport const i18n_value = $localize`Value`;\nexport const i18n_valueInstructions = $localize`The value that should be presented to the user.`;\nexport const i18n_values = $localize`Values`;\nexport const i18n_valuesInstructions = $localize`The values that should be presented to the user.`;\nexport const i18n_yearQuarterRangeConfiguration = $localize`Year Quarter Range Configuration`;\nexport const i18n_listValue = $localize`List Value`;\nexport const i18n_newListValue = $localize`New List Value`;\nexport const i18n_newItem = $localize`New Item`;\n\nexport const i18n_exampleText = $localize`Example Text`;\nexport const i18n_boolean = $localize`Boolean`;\nexport const i18n_booleanItem = $localize`Boolean Item`;\nexport const i18n_bulletedListItem = $localize`Bulleted List Item`;\nexport const i18n_checkbox = $localize`Checkbox`;\nexport const i18n_checkboxItem = $localize`Checkbox Item`;\nexport const i18n_offsetDateRange = $localize`Offset Date Range`;\nexport const i18n_offsetDateRangeItem = $localize`Offset Date Range Item`;\nexport const i18n_yearQuarterRange = $localize`Year Quarter Range`;\nexport const i18n_yearQuarterRangeItem = $localize`Year Quarter Range Item`;\nexport const i18n_date = $localize`Date`;\nexport const i18n_dateItem = $localize`Date Item`;\nexport const i18n_decimalAnswer = $localize`Decimal Answer`;\nexport const i18n_decimalValue = $localize`Decimal Value`;\nexport const i18n_decimalAnswerItem = $localize`Decimal Answer Item`;\nexport const i18n_dropdown = $localize`Dropdown`;\nexport const i18n_dropdownItem = $localize`Dropdown Item`;\nexport const i18n_fileUpload = $localize`File Upload`;\nexport const i18n_fileUploadItem = $localize`File Upload Item`;\nexport const i18n_internationalizedParagraphAnswer = $localize`Internationalized Paragraph Answer`;\nexport const i18n_internationalizedParagraphAnswerItem = $localize`Internationalized Paragraph Answer Item`;\nexport const i18n_internationalizedShortAnswer = $localize`Internationalized Short Answer`;\nexport const i18n_internationalizedShortAnswerItem = $localize`Internationalized Short Answer Item`;\nexport const i18n_multipleChoice = $localize`Multiple Choice`;\nexport const i18n_multipleChoiceItem = $localize`Multiple Choice Item`;\nexport const i18n_numberedListItem = $localize`Numbered List Item`;\nexport const i18n_orderedList = $localize`Ordered List`;\nexport const i18n_orderedListItem = $localize`Ordered List Item`;\nexport const i18n_paragraphAnswer = $localize`Paragraph Answer`;\nexport const i18n_paragraphAnswerItem = $localize`Paragraph Answer Item`;\nexport const i18n_repeatable = $localize`Repeatable`;\nexport const i18n_repeatableItem = $localize`Repeatable Item`;\nexport const i18n_shortAnswer = $localize`Short Answer`;\nexport const i18n_shortAnswerItem = $localize`Short Answer Item`;\nexport const i18n_group = $localize`Group`;\nexport const i18n_groupItem = $localize`Group Item`;\nexport const i18n_section = $localize`Section`;\nexport const i18n_sectionItem = $localize`Section Item`;\nexport const i18n_text = $localize`Text`;\nexport const i18n_textItem = $localize`Text Item`;\nexport const i18n_time = $localize`Time`;\nexport const i18n_timeItem = $localize`Time Item`;\nexport const i18n_title = $localize`Title`;\nexport const i18n_titleItem = $localize`Title Item`;\nexport const i18n_unorderedList = $localize`Unordered List`;\nexport const i18n_unorderedListItem = $localize`Unordered List Item`;\nexport const i18n_wholeNumberAnswer = $localize`Whole Number Answer`;\nexport const i18n_wholeNumberAnswerItem = $localize`Whole Number Answer Item`;\nexport const i18n_wholeNumberValue = $localize`Whole Number Value`;\n","export const prop_option_enabled_items = 'enabledItems';\nexport const prop_option_disabled_items = 'disabledItems';\n\nexport const prop_option_template = 'optionTemplate';\n\nexport const prop_item_acknowledgement = 'acknowledgement'; // maps to FormOptionSelector.acknowledgement property\nexport const prop_item_additional_text = 'additionalText'; // maps to RepeatableItemTemplate.additionalText property\nexport const prop_item_annotation_enabled = 'annotationEnabled';\nexport const prop_item_code_option = 'codeOption'; // maps to TemplateOptionItem.codeOption property\nexport const prop_item_description = 'description';\nexport const prop_item_descriptive_text = 'descriptiveText'; // maps to templateItem.descriptiveText property\nexport const prop_item_download_allowed = 'downloadAllowed'; // maps to FileUploadItemTemplate.downloadAllowed property\nexport const prop_item_exclude_print = 'excludePrint'; // maps to templateItem.excludeFromPrint\nexport const prop_item_file_type_id = 'fileTypeId'; // maps to FileUploadItemTemplate.fileTypeId property\nexport const prop_item_format = 'format'; // maps to DateItemTemplate.format property\nexport const prop_item_format_time = 'format'; // maps to TimeItemTemplate.format property\nexport const prop_item_full_width = 'fullWidth'; // maps to RepeatableItemTemplate.fullWidth\nexport const prop_item_help = 'help';\nexport const prop_item_item = 'item'; // maps to RepeatableItemTemplate.item\nexport const prop_item_items = 'items'; // maps to templateItemGroup.items\nexport const prop_item_layout = 'layout'; // maps to templateItemGroup.layout\nexport const prop_item_min_occurrences = 'minOccurences'; // maps to RepeatableItemTemplate.minOccurances\nexport const prop_item_max_occurrences = 'maxOccurences'; // maps to RepeatableItemTemplate.maxOccurances\nexport const prop_item_label = 'label'; // maps to templateItem.label on a number of items\nexport const prop_item_min_char = 'minChar'; // maps to short/paragraph AnswerItem.minCharCount\nexport const prop_item_max_char = 'maxChar'; // maps to short/paragraph AnswerItem.maxCharCount\nexport const prop_item_min_value = 'minValue'; // maps to wholeNumber/decimal AnswerItem.minValue\nexport const prop_item_max_value = 'maxValue'; // maps to wholeNumber/decimal AnswerItem.maxValue\nexport const prop_item_min_selections = 'minSelections'; // maps to CheckboxItemTemplate.minSelections\nexport const prop_item_max_selections = 'maxSelections'; // maps to CheckboxItemTemplate.maxSelections\nexport const prop_item_name = 'name'; // maps to templateItem.name\nexport const prop_item_option = 'option'; // maps to TemplateOptionItem.option\nexport const prop_item_options = 'options';\nexport const prop_item_option_subsets = 'optionSubsets'; // maps to CheckboxItemTemplate.optionSubsets\nexport const prop_item_option_template_map = 'optionTemplateMap'; // maps to CheckboxItemTemplate.optionTemplateMap\nexport const prop_item_preset_value = 'presetValue'; // maps to DateItemTemplate.presetValue\nexport const prop_item_positive_only = 'positiveOnly'; // maps to wholeNumber/decimal AnswerItem.positiveOnly\nexport const prop_item_question_text = 'questionText'; // maps to templateItem.questionText\nexport const prop_item_range_limits = 'rangeLimits'; // maps to OffsetDateRangeTemplate.rangeLimits\nexport const prop_item_repeatable_item_template_id = 'repeatableItemTemplateId'; // maps to RepeatableItemTemplate.repeatableItemTemplateId\nexport const prop_item_required = 'required'; // maps to templateItem.required\nexport const prop_item_starting_instances = 'startingInstances'; // maps to RepeatableItemTemplate.startingInstances\nexport const prop_item_text = 'text'; // maps to TextItemTemplate.value\nexport const prop_item_title = 'title'; // maps to templateSection.title\nexport const prop_item_value = 'value'; // maps to TitleItem.value\nexport const prop_item_values = 'values'; // maps to BulletedListItemTemplate.values\nexport const prop_template_descriptive_text = 'template-descriptive-text'; // maps to template.descriptiveText property\nexport const prop_template_items = 'items'; // maps to template.items property\nexport const prop_template_title = 'title'; // maps to template.title property\n","import { DesignBase } from '@mtna/designer-ts';\nimport {\n BOOLEAN_ITEM_TEMPLATE_ID,\n BULLETED_LIST_ITEM_TEMPLATE_ID,\n CHECKBOX_ITEM_TEMPLATE_ID,\n DATE_ITEM_TEMPLATE_ID,\n DECIMAL_ANSWER_ITEM_TEMPLATE_ID,\n DROPDOWN_ITEM_TEMPLATE_ID,\n FILE_UPLOAD_ITEM_TEMPLATE_ID,\n INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,\n MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,\n NUMBERED_LIST_ITEM_TEMPLATE_ID,\n OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,\n PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n REPEATABLE_ITEM_TEMPLATE_IMPL_ID,\n SHORT_ANSWER_ITEM_TEMPLATE_ID,\n TEMPLATE_ITEM_GROUP_IMPL_ID,\n TEMPLATE_SECTION_IMPL_ID,\n TEXT_ITEM_TEMPLATE_ID,\n TITLE_ITEM_TEMPLATE_ID,\n WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,\n YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,\n} from '@mtna/web-form-ts';\nimport {\n i18n_booleanItem,\n i18n_bulletedListItem,\n i18n_checkboxItem,\n i18n_dateItem,\n i18n_decimalAnswerItem,\n i18n_dropdownItem,\n i18n_fileUploadItem,\n i18n_groupItem,\n i18n_internationalizedParagraphAnswerItem,\n i18n_internationalizedShortAnswerItem,\n i18n_multipleChoiceItem,\n i18n_newOption,\n i18n_numberedListItem,\n i18n_offsetDateRangeItem,\n i18n_paragraphAnswerItem,\n i18n_repeatableItem,\n i18n_section,\n i18n_shortAnswerItem,\n i18n_textItem,\n i18n_titleItem,\n i18n_wholeNumberAnswerItem,\n i18n_yearQuarterRangeItem,\n} from '../i18n-constants.model';\n\nimport { v4 as uuidv4 } from 'uuid';\n\nexport const BOOLEAN_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_booleanItem,\n type: BOOLEAN_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const CHECKBOX_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_checkboxItem,\n type: CHECKBOX_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const OFFSET_DATE_RANGE_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_offsetDateRangeItem,\n type: OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const YEAR_QUARTER_RANGE_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_yearQuarterRangeItem,\n type: YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const DATE_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_dateItem,\n type: DATE_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const DECIMAL_ANSWER_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_decimalAnswerItem,\n type: DECIMAL_ANSWER_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const DROPDOWN_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_dropdownItem,\n type: DROPDOWN_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const FILE_UPLOAD_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_fileUploadItem,\n type: FILE_UPLOAD_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const I18N_PARAGRAPH_ANSWER_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_internationalizedParagraphAnswerItem,\n type: INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const I18N_SHORT_ANSWER_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_internationalizedShortAnswerItem,\n type: INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const MULTIPLE_CHOICE_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_multipleChoiceItem,\n type: MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const NUMBERED_LIST_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_numberedListItem,\n type: NUMBERED_LIST_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const PARAGRAPH_ANSWER_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_paragraphAnswerItem,\n type: PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const REPEATABLE_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_repeatableItem,\n type: REPEATABLE_ITEM_TEMPLATE_IMPL_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const SECTION_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_section,\n type: TEMPLATE_SECTION_IMPL_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const SHORT_ANSWER_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_shortAnswerItem,\n type: SHORT_ANSWER_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const GROUP_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_groupItem,\n type: TEMPLATE_ITEM_GROUP_IMPL_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const TEXT_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_textItem,\n type: TEXT_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const TITLE_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_titleItem,\n type: TITLE_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const BULLETED_LIST_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_bulletedListItem,\n type: BULLETED_LIST_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const WHOLE_NUMBER_ANSWER_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_wholeNumberAnswerItem,\n type: WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,\n focusType: 'SET_FOCUS',\n};\n\nexport const FORM_OPTION_SELECTOR_POTENTIAL_DESIGN: DesignBase = {\n id: uuidv4(),\n display: i18n_newOption,\n type: 'OPTION',\n focusType: 'MAINTAIN_FOCUS',\n};\n\nexport const GROUP_POTENTIAL_DESIGN_LIST: DesignBase[] = [\n BOOLEAN_POTENTIAL_DESIGN,\n BULLETED_LIST_POTENTIAL_DESIGN,\n CHECKBOX_POTENTIAL_DESIGN,\n DATE_POTENTIAL_DESIGN,\n DECIMAL_ANSWER_POTENTIAL_DESIGN,\n DROPDOWN_POTENTIAL_DESIGN,\n FILE_UPLOAD_POTENTIAL_DESIGN,\n I18N_PARAGRAPH_ANSWER_POTENTIAL_DESIGN,\n I18N_SHORT_ANSWER_POTENTIAL_DESIGN,\n MULTIPLE_CHOICE_POTENTIAL_DESIGN,\n NUMBERED_LIST_POTENTIAL_DESIGN,\n OFFSET_DATE_RANGE_POTENTIAL_DESIGN,\n PARAGRAPH_ANSWER_POTENTIAL_DESIGN,\n REPEATABLE_POTENTIAL_DESIGN,\n SHORT_ANSWER_POTENTIAL_DESIGN,\n TEXT_POTENTIAL_DESIGN,\n TITLE_POTENTIAL_DESIGN,\n WHOLE_NUMBER_ANSWER_POTENTIAL_DESIGN,\n YEAR_QUARTER_RANGE_POTENTIAL_DESIGN,\n];\n\nexport const SECTION_POTENTIAL_DESIGN_LIST: DesignBase[] = [GROUP_POTENTIAL_DESIGN, ...GROUP_POTENTIAL_DESIGN_LIST];\n\nexport const TEMPLATE_POTENTIAL_DESIGN_LIST: DesignBase[] = [SECTION_POTENTIAL_DESIGN, ...SECTION_POTENTIAL_DESIGN_LIST];\n\nexport const OPTION_SELECTOR_POTENTIAL_DESIGN_LIST: DesignBase[] = [...SECTION_POTENTIAL_DESIGN_LIST];\n","import { TemplateItem } from '@mtna/web-form-ts';\nimport { Context, Design, DesignBase } from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport type { TemplateItemMapper } from './template-item-mapper';\n\ntype MapperCtor = new (params: { design: Design; context?: Context }) => TemplateItemMapper;\ntype MapperFn = (params: { model: TemplateItem; languageId: MtnaLanguageId; context?: Context }) => Design;\n\nexport const mapperRegistry: Record<string, MapperCtor> = {};\nexport const mapperToDesignRegistry: Record<string, MapperFn> = {};\n\nexport function registerMapper(id: string, ctor: MapperCtor, toDesignFn: MapperFn) {\n mapperRegistry[id] = ctor;\n mapperToDesignRegistry[id] = toDesignFn;\n}\n\nexport function getItemMapperFromDesign(design: Design, context?: Context): TemplateItemMapper {\n const MapperClass = mapperRegistry[design.type];\n if (!MapperClass) {\n throw new Error(`No mapper registered for design type: \"${design.type}\". Did you forget to import mapper-classes.model.ts?`);\n }\n return new MapperClass({ design, context });\n}\n\nexport function mapperItemToDesign(item: TemplateItem, languageId: MtnaLanguageId, parent?: DesignBase, context?: Context): Design {\n const fn = mapperToDesignRegistry[item.itemId];\n const design = fn({ model: item, languageId, context });\n return { ...design, parent };\n}\n","import {\n BOOLEAN_ITEM_TEMPLATE_ID,\n BooleanItemTemplate,\n BooleanOption,\n BULLETED_LIST_ITEM_TEMPLATE_ID,\n BulletedListItemTemplate,\n CHECKBOX_ITEM_TEMPLATE_ID,\n CheckboxItemTemplate,\n DATE_ITEM_TEMPLATE_ID,\n DateItemTemplate,\n DECIMAL_ANSWER_ITEM_TEMPLATE_ID,\n DecimalAnswerItemTemplate,\n DROPDOWN_ITEM_TEMPLATE_ID,\n DropdownItemTemplate,\n FILE_UPLOAD_ITEM_TEMPLATE_ID,\n FileUploadItemTemplate,\n FormOptionSelector,\n INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,\n InternationalizedParagraphAnswerItemTemplate,\n InternationalizedShortAnswerItemTemplate,\n MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,\n MultipleChoiceItemTemplate,\n NUMBERED_LIST_ITEM_TEMPLATE_ID,\n NumberedListItemTemplate,\n OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,\n OffsetDateRangeTemplate,\n PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n ParagraphAnswerItemTemplate,\n SHORT_ANSWER_ITEM_TEMPLATE_ID,\n ShortAnswerItemTemplate,\n StringOption,\n TEMPLATE_ITEM_GROUP_IMPL_ID,\n TEMPLATE_SECTION_IMPL_ID,\n TemplateItem,\n TemplateItemGroup,\n TemplateItemImpl,\n TemplateSection,\n TEXT_ITEM_TEMPLATE_ID,\n TextItemTemplate,\n TIME_ITEM_TEMPLATE_ID,\n TimeItemTemplate,\n TITLE_ITEM_TEMPLATE_ID,\n TitleItemTemplate,\n WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,\n WholeNumberAnswerItemTemplate,\n YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,\n YearQuarterRangeTemplate,\n} from '@mtna/web-form-ts';\nimport {\n i18n_booleanItem,\n i18n_checkboxItem,\n i18n_date,\n i18n_dateItem,\n i18n_decimalAnswerItem,\n i18n_decimalValue,\n i18n_descriptiveText,\n i18n_dropdown,\n i18n_dropdownItem,\n i18n_exampleText,\n i18n_fileUploadItem,\n i18n_groupItem,\n i18n_internationalizedParagraphAnswer,\n i18n_internationalizedParagraphAnswerItem,\n i18n_internationalizedShortAnswer,\n i18n_internationalizedShortAnswerItem,\n i18n_multipleChoiceItem,\n i18n_newOption,\n i18n_newTemplateItem,\n i18n_offsetDateRangeItem,\n i18n_orderedListItem,\n i18n_paragraphAnswer,\n i18n_paragraphAnswerItem,\n i18n_questionText,\n i18n_sectionItem,\n i18n_shortAnswer,\n i18n_shortAnswerItem,\n i18n_textItem,\n i18n_timeItem,\n i18n_titleItem,\n i18n_unorderedListItem,\n i18n_wholeNumberAnswerItem,\n i18n_wholeNumberValue,\n i18n_yearQuarterRangeItem,\n} from '../models/i18n-constants.model';\nimport { DesignBase } from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { v4 as uuidv4 } from 'uuid';\n\nconst newTemplateItemNameMap: { [key: string]: string } = {\n [BOOLEAN_ITEM_TEMPLATE_ID]: i18n_booleanItem,\n [BULLETED_LIST_ITEM_TEMPLATE_ID]: i18n_unorderedListItem,\n [CHECKBOX_ITEM_TEMPLATE_ID]: i18n_checkboxItem,\n [DATE_ITEM_TEMPLATE_ID]: i18n_dateItem,\n [DECIMAL_ANSWER_ITEM_TEMPLATE_ID]: i18n_decimalAnswerItem,\n [DROPDOWN_ITEM_TEMPLATE_ID]: i18n_dropdownItem,\n [FILE_UPLOAD_ITEM_TEMPLATE_ID]: i18n_fileUploadItem,\n [INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID]: i18n_internationalizedParagraphAnswerItem,\n [INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID]: i18n_internationalizedShortAnswerItem,\n [MULTIPLE_CHOICE_ITEM_TEMPLATE_ID]: i18n_multipleChoiceItem,\n [NUMBERED_LIST_ITEM_TEMPLATE_ID]: i18n_orderedListItem,\n [OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID]: i18n_offsetDateRangeItem,\n [PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID]: i18n_paragraphAnswerItem,\n [SHORT_ANSWER_ITEM_TEMPLATE_ID]: i18n_shortAnswerItem,\n [TEMPLATE_ITEM_GROUP_IMPL_ID]: i18n_groupItem,\n [TEMPLATE_SECTION_IMPL_ID]: i18n_sectionItem,\n [TEXT_ITEM_TEMPLATE_ID]: i18n_textItem,\n [TIME_ITEM_TEMPLATE_ID]: i18n_timeItem,\n [TITLE_ITEM_TEMPLATE_ID]: i18n_titleItem,\n [WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID]: i18n_wholeNumberAnswerItem,\n [YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID]: i18n_yearQuarterRangeItem,\n};\n\nconst baseTemplateItem = (designBase: DesignBase, languageId: MtnaLanguageId): TemplateItem => {\n return {\n itemId: designBase.type,\n instanceId: designBase.id,\n annotatableId: designBase.id,\n descriptiveText: [{ facetId: languageId, value: i18n_descriptiveText }],\n name: newTemplateItemNameMap[designBase.type] ?? i18n_newTemplateItem,\n questionText: [{ facetId: languageId, value: i18n_questionText }],\n annotationEnabled: false,\n excludeFromPrint: false,\n required: false,\n ignoreConditionalInstructions: false,\n printAlternative: '',\n };\n};\n\nconst baseTemplateItemImpl = (designBase: DesignBase, languageId: MtnaLanguageId): TemplateItemImpl => {\n return {\n ...baseTemplateItem(designBase, languageId),\n disabled: false,\n hasCondition: false,\n hideOnDisable: false,\n };\n};\n\nconst booleanOption: BooleanOption = {\n containerDescription: '',\n conditionalInstructions: '',\n name: i18n_newOption,\n id: uuidv4(),\n help: '',\n description: '',\n value: false,\n};\n\nconst stringOption: StringOption = {\n containerDescription: '',\n conditionalInstructions: '',\n name: i18n_newOption,\n id: uuidv4(),\n help: '',\n description: '',\n value: i18n_newOption,\n};\n\nconst newFormOptionSelectorStringOption: FormOptionSelector<StringOption> = {\n containerDescription: '',\n codeValue: '',\n acknowledgement: undefined,\n disabledItems: [],\n enabledItems: [],\n multiSelect: false,\n option: stringOption,\n selected: false,\n selectionCount: 0,\n unavailable: false,\n};\n\nconst newFormOptionSelectorBooleanOption: FormOptionSelector<BooleanOption> = {\n containerDescription: '',\n codeValue: '',\n acknowledgement: undefined,\n disabledItems: [],\n enabledItems: [],\n multiSelect: false,\n option: booleanOption,\n selected: false,\n selectionCount: 0,\n unavailable: false,\n};\n\nexport const getNewBooleanItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): BooleanItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n codeOption: undefined,\n option: newFormOptionSelectorBooleanOption,\n optionTemplateMap: {},\n };\n};\n\nexport const getNewCheckboxItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): CheckboxItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n codeValueTemplateInline: {},\n codeValueTemplateMap: {},\n maxSelections: 1,\n minSelections: 0,\n optionSubsets: [],\n optionTemplateMap: {},\n options: [newFormOptionSelectorStringOption],\n };\n};\n\nexport const getNewDateItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): DateItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n format: 'YYYY/MM/dd',\n label: [{ facetId: languageId, value: i18n_date }],\n presetValue: new Date(),\n };\n};\n\nexport const getNewDecimalAnswerItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): DecimalAnswerItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n label: [{ facetId: languageId, value: i18n_decimalValue }],\n maxValue: 100,\n minValue: -100,\n positiveOnly: false,\n };\n};\n\nexport const getNewDropdownItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): DropdownItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n label: [{ facetId: languageId, value: i18n_dropdown }],\n codeValueTemplateInline: {},\n codeValueTemplateMap: {},\n optionTemplateMap: {},\n options: [newFormOptionSelectorStringOption],\n optionSubsets: [],\n minSelections: 0,\n maxSelections: 1,\n };\n};\n\nexport const getNewFileUploadItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): FileUploadItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n downloadAllowed: false,\n fileTypeId: '',\n };\n};\n\nexport const getNewI18nParagraphAnswerItemTemplate = (\n designBase: DesignBase,\n languageId: MtnaLanguageId,\n languageTags: string[] = []\n): InternationalizedParagraphAnswerItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n label: [{ facetId: languageId, value: i18n_internationalizedParagraphAnswer }],\n languageTags,\n };\n};\n\nexport const getNewParagraphAnswerItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): ParagraphAnswerItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n label: [{ facetId: languageId, value: i18n_paragraphAnswer }],\n minCharCount: 0,\n maxCharCount: 100, // TODO find max int and add it here\n };\n};\n\nexport const getNewI18nShortAnswerItemTemplate = (\n designBase: DesignBase,\n languageId: MtnaLanguageId,\n languageTags: string[] = []\n): InternationalizedShortAnswerItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n label: [{ facetId: languageId, value: i18n_internationalizedShortAnswer }],\n languageTags,\n };\n};\n\nexport const getNewShortAnswerItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): ShortAnswerItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n label: [{ facetId: languageId, value: i18n_shortAnswer }],\n minCharCount: 0,\n maxCharCount: 100, // TODO find max int and add it here\n };\n};\n\nexport const getNewMultipleChoiceItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): MultipleChoiceItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n codeValueTemplateMap: {},\n codeValueTemplateInline: {},\n optionTemplateMap: {},\n options: [newFormOptionSelectorStringOption],\n optionSubsets: [],\n minSelections: 0,\n maxSelections: 1,\n };\n};\n\nexport const getNewNumberedListItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): NumberedListItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n items: [{ facetId: languageId, value: [i18n_exampleText] }],\n };\n};\n\nexport const getNewBulletedListItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): BulletedListItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n values: [{ facetId: languageId, value: [i18n_exampleText] }],\n };\n};\n\nexport const getNewWholeNumberAnswerItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): WholeNumberAnswerItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n label: [{ facetId: languageId, value: i18n_wholeNumberValue }],\n maxValue: 100,\n minValue: -100,\n positiveOnly: false,\n };\n};\n\nexport const getNewOffsetDateRangeItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): OffsetDateRangeTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n format: 'YYYY/MM/dd', // TODO\n rangeLimits: {\n start: new Date(),\n end: new Date(),\n },\n };\n};\n\nexport const getYearQuarterRangeItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): YearQuarterRangeTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n rangeLimits: {\n start: { year: new Date().getFullYear(), quarter: 0 },\n end: { year: new Date().getFullYear(), quarter: 3 },\n },\n };\n};\n\nexport const getNewTextItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): TextItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n value: [{ facetId: languageId, value: 'Text' }],\n };\n};\n\nexport const getNewTimeItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): TimeItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n format: '', // TODO\n };\n};\n\nexport const getNewTitleItemTemplate = (designBase: DesignBase, languageId: MtnaLanguageId): TitleItemTemplate => {\n return {\n ...baseTemplateItemImpl(designBase, languageId),\n value: [{ facetId: languageId, value: 'Title' }],\n level: 1,\n };\n};\n\nexport const getNewTemplateItemGroup = (designBase: DesignBase, languageId: MtnaLanguageId): TemplateItemGroup => {\n return {\n ...baseTemplateItem(designBase, languageId),\n items: [],\n layout: 'COLUMN',\n };\n};\n\nexport const getNewTemplateSection = (designBase: DesignBase, languageId: MtnaLanguageId): TemplateSection => {\n return {\n ...getNewTemplateItemGroup(designBase, languageId),\n title: getNewTitleItemTemplate(designBase, languageId),\n };\n};\n\n// Get the factory types\ntype StandardTemplateFactory = (designBase: DesignBase, languageId: MtnaLanguageId) => TemplateItem;\n\ntype I18nTemplateFactory = (designBase: DesignBase, languageId: MtnaLanguageId, languageTags: string[]) => TemplateItem;\n\n// Map of factories keyed by id\ninterface TemplateItemFactories {\n [BOOLEAN_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [BULLETED_LIST_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [CHECKBOX_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [DATE_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [DECIMAL_ANSWER_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [DROPDOWN_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [FILE_UPLOAD_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [MULTIPLE_CHOICE_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [NUMBERED_LIST_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [SHORT_ANSWER_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [TEMPLATE_ITEM_GROUP_IMPL_ID]: StandardTemplateFactory;\n [TEMPLATE_SECTION_IMPL_ID]: StandardTemplateFactory;\n [TEXT_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [TIME_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [TITLE_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n [YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID]: StandardTemplateFactory;\n}\n\ninterface I18nTemplateItemFactories {\n [INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID]: I18nTemplateFactory;\n [INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID]: I18nTemplateFactory;\n}\n\nconst standardFactories: TemplateItemFactories = {\n [BOOLEAN_ITEM_TEMPLATE_ID]: getNewBooleanItemTemplate,\n [BULLETED_LIST_ITEM_TEMPLATE_ID]: getNewBulletedListItemTemplate,\n [CHECKBOX_ITEM_TEMPLATE_ID]: getNewCheckboxItemTemplate,\n [DATE_ITEM_TEMPLATE_ID]: getNewDateItemTemplate,\n [DECIMAL_ANSWER_ITEM_TEMPLATE_ID]: getNewDecimalAnswerItemTemplate,\n [DROPDOWN_ITEM_TEMPLATE_ID]: getNewDropdownItemTemplate,\n [FILE_UPLOAD_ITEM_TEMPLATE_ID]: getNewFileUploadItemTemplate,\n [MULTIPLE_CHOICE_ITEM_TEMPLATE_ID]: getNewMultipleChoiceItemTemplate,\n [NUMBERED_LIST_ITEM_TEMPLATE_ID]: getNewNumberedListItemTemplate,\n [OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID]: getNewOffsetDateRangeItemTemplate,\n [PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID]: getNewParagraphAnswerItemTemplate,\n [SHORT_ANSWER_ITEM_TEMPLATE_ID]: getNewShortAnswerItemTemplate,\n [TEMPLATE_ITEM_GROUP_IMPL_ID]: getNewTemplateItemGroup,\n [TEMPLATE_SECTION_IMPL_ID]: getNewTemplateSection,\n [TEXT_ITEM_TEMPLATE_ID]: getNewTextItemTemplate,\n [TIME_ITEM_TEMPLATE_ID]: getNewTimeItemTemplate,\n [TITLE_ITEM_TEMPLATE_ID]: getNewTitleItemTemplate,\n [WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID]: getNewWholeNumberAnswerItemTemplate,\n [YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID]: getYearQuarterRangeItemTemplate,\n};\n\nconst i18nFactories: I18nTemplateItemFactories = {\n [INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID]: getNewI18nParagraphAnswerItemTemplate,\n [INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID]: getNewI18nShortAnswerItemTemplate,\n};\n\nexport function getNewInitTemplateItem(designBase: DesignBase, languageId: MtnaLanguageId, languageTags?: string[]): TemplateItem {\n if (designBase.type in standardFactories) {\n const factory = standardFactories[designBase.type as keyof TemplateItemFactories];\n return factory(designBase, languageId);\n }\n\n if (designBase.type in i18nFactories) {\n const i18nFactory = i18nFactories[designBase.type as keyof I18nTemplateItemFactories];\n return i18nFactory(designBase, languageId, languageTags || []);\n }\n\n return baseTemplateItem(designBase, languageId);\n}\n","import { Context, Design, DesignBase, DesignProperty, instanceOfModelDesignProperty } from '@mtna/designer-ts';\nimport { TemplateItem } from '@mtna/web-form-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { getItemMapperFromDesign, mapperItemToDesign } from '../models/design/design-mapper/mapping-logic-core';\nimport { getNewInitTemplateItem } from './new-base-designs.util';\n\nexport function getNewTemplateItem(designBase: DesignBase, languageId: MtnaLanguageId, languageIds: string[]): TemplateItem {\n return getNewInitTemplateItem(designBase, languageId, languageIds);\n}\n\nexport function toTemplateItem(design: Design, context?: Context): TemplateItem {\n const model = getItemMapperFromDesign(design, context).getModel();\n return model;\n}\n\nexport function getTemplateItemPotentialDesigns(design: Design, property: DesignProperty): DesignBase[] {\n return getItemMapperFromDesign(design).getPotentialDesigns(property);\n}\n\nexport function itemToDesign(item: TemplateItem, languageId: MtnaLanguageId, parent?: DesignBase, context?: Context): Design {\n const design: Design = mapperItemToDesign(item, languageId, parent, context);\n return { ...design, parent };\n}\n\nexport function getTemplateItems(\n design: Design,\n sectionId: string,\n propertyIds: string[],\n context?: Context\n): { [key: string]: TemplateItem[] } {\n const values: { [key: string]: TemplateItem[] } = {};\n const section = design.sections.find((designSection) => designSection.display === sectionId);\n if (section) {\n for (const propertyId of propertyIds) {\n const property = section.properties.find((designProperty) => designProperty.property === propertyId);\n if (property && instanceOfModelDesignProperty(property)) {\n values[propertyId] = [];\n for (const value of property.values) {\n values[propertyId].push(toTemplateItem(value, context));\n }\n }\n }\n }\n return values;\n}\n","import { Template, TEMPLATE_IMPL_ID } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n getModelDesignProperty,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport {\n i18n_descriptive,\n i18n_descriptiveText,\n i18n_descriptiveTextInstructionsTemplate,\n i18n_newTemplate,\n i18n_template,\n i18n_templateItems,\n i18n_templateItemsInstructions,\n i18n_title,\n i18n_titleInstructions,\n} from '../../i18n-constants.model';\nimport { prop_template_descriptive_text, prop_template_items, prop_template_title } from '../template-design-constants.model';\nimport { getI18nString, MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { isPresent } from '@mtna/core-ts';\nimport { DesignMapper, DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\nimport { GROUP_POTENTIAL_DESIGN_LIST } from '../potential-designs.model';\nimport * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';\n\nexport class TemplateMapper extends DesignMapper<Template, ReferenceDesignParams> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<Template, ReferenceDesignParams>) {\n super(params);\n }\n\n getPotentialDesigns(property: DesignProperty): DesignBase[] {\n if (property.property === prop_template_items) {\n return GROUP_POTENTIAL_DESIGN_LIST;\n } else {\n return [];\n }\n }\n\n protected toDesign(model: Template, languageId: MtnaLanguageId): Design {\n const designBase: DesignBase = this.templateToDesignBase(model, languageId);\n\n const sections: DesignSection[] = [\n this.getSectionTemplateDescriptive(model),\n this.getSectionTemplateItems(model, languageId, designBase),\n ];\n return { ...designBase, sections };\n }\n\n protected toModel(design: Design): Template {\n const properties = getLiteralProperties(design, i18n_descriptive, [prop_template_title, prop_template_descriptive_text]);\n const templateItems = MtnaTemplateCoreDesign.getTemplateItems(design, i18n_templateItems, [prop_template_items]);\n return {\n id: design.id,\n itemId: TEMPLATE_IMPL_ID,\n items: templateItems[prop_template_items],\n title: properties[prop_template_title],\n descriptiveText: properties[prop_template_descriptive_text],\n };\n }\n\n private getSectionTemplateDescriptive(template: Template): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_title, i18n_titleInstructions, prop_template_title, 'STRING_I18N', template.title));\n properties.push(\n getLiteralDesignProperty(\n i18n_descriptiveText,\n i18n_descriptiveTextInstructionsTemplate,\n prop_template_descriptive_text,\n 'RICH_TEXT_I18N',\n template.descriptiveText\n )\n );\n return { display: i18n_descriptive, properties };\n }\n\n private getSectionTemplateItems(template: Template, languageId: MtnaLanguageId, parent: DesignBase): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(\n getModelDesignProperty(\n i18n_templateItems,\n i18n_templateItemsInstructions,\n prop_template_items,\n true,\n template.items ? template.items.map((item) => MtnaTemplateCoreDesign.itemToDesign(item, languageId, parent, this.context)) : []\n )\n );\n return { display: i18n_templateItems, properties };\n }\n\n private templateToDesignBase(model: Template, languageId: MtnaLanguageId): DesignBase {\n const id = model.id;\n let display = isPresent(model.title) ? getI18nString(model.title, languageId, true) : undefined;\n if (!isPresent(display)) {\n display = i18n_newTemplate;\n }\n const type = TEMPLATE_IMPL_ID;\n const typeDisplay = i18n_template;\n const focusType = 'SET_FOCUS';\n return { id, display, type, typeDisplay, focusType };\n }\n}\n","import {\n BOOLEAN_ITEM_TEMPLATE_ID,\n CHECKBOX_GRID_TEMPLATE_ID,\n CHECKBOX_ITEM_TEMPLATE_ID,\n DATE_ITEM_TEMPLATE_ID,\n DECIMAL_ANSWER_ITEM_TEMPLATE_ID,\n DROPDOWN_ITEM_TEMPLATE_ID,\n FILE_UPLOAD_ITEM_TEMPLATE_ID,\n HIDDEN_REFERENCE_ITEM_TEMPLATE_ID,\n instanceOfBooleanItemTemplate,\n instanceOfCheckboxGridTemplate,\n instanceOfCheckboxItemTemplate,\n instanceOfDateItemTemplate,\n instanceOfDecimalAnswerItemTemplate,\n instanceOfDropdownItemTemplate,\n instanceOfFileUploadItemTemplate,\n instanceOfHiddenReferenceItemTemplate,\n instanceOfInternationalizedParagraphAnswerItemTemplate,\n instanceOfInternationalizedShortAnswerItemTemplate,\n instanceOfLinearScaleItemTemplate,\n instanceOfMultipleChoiceGridItemTemplate,\n instanceOfMultipleChoiceItemTemplate,\n instanceOfOffsetDateRangeTemplate,\n instanceOfParagraphAnswerItemTemplate,\n instanceOfRepeatableItemTemplate,\n instanceOfRequestIdItemTemplate,\n instanceOfShortAnswerItemTemplate,\n instanceOfTemplateItemGroupImpl,\n instanceOfTemplateSectionImpl,\n instanceOfTextItemTemplate,\n instanceOfTimeItemTemplate,\n instanceOfTitleItemTemplate,\n instanceOfWholeNumberAnswerItemTemplate,\n instanceOfYearQuarterRangeTemplate,\n INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,\n LINEAR_SCALE_ITEM_TEMPLATE_ID,\n MULTIPLE_CHOICE_GRID_ITEM_TEMPLATE_ID,\n MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,\n OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,\n PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n REPEATABLE_ITEM_TEMPLATE_IMPL_ID,\n REQUEST_ID_ITEM_TEMPLATE_ID,\n SHORT_ANSWER_ITEM_TEMPLATE_ID,\n Template,\n TEMPLATE_IMPL_ID,\n TEMPLATE_ITEM_GROUP_IMPL_ID,\n TEMPLATE_SECTION_IMPL_ID,\n TemplateItem,\n TEXT_ITEM_TEMPLATE_ID,\n TIME_ITEM_TEMPLATE_ID,\n TITLE_ITEM_TEMPLATE_ID,\n WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,\n YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,\n} from '@mtna/web-form-ts';\nimport { Context, Design, DesignBase, DesignProperty } from '@mtna/designer-ts';\nimport { getI18nString, MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateMapper } from '../models/design/design-mapper/template-mapper';\nimport { isPresent } from '@mtna/core-ts';\n\nexport function getNewTemplate(designBase: DesignBase): Template {\n return {\n descriptiveText: [],\n id: designBase.id,\n itemId: designBase.type,\n items: [],\n title: [],\n };\n}\n\nexport function initializeDesign(designBase: DesignBase): Design {\n return { ...designBase, sections: [] };\n}\n\nexport function isTemplateDesign(design: DesignBase): boolean {\n return design.type === TEMPLATE_IMPL_ID;\n}\n\nexport function isTemplateItemDesign(design: DesignBase): boolean {\n switch (design.type) {\n case BOOLEAN_ITEM_TEMPLATE_ID:\n // case BULLETED_LIST_ITEM_TEMPLATE_ID:\n case CHECKBOX_GRID_TEMPLATE_ID:\n case CHECKBOX_ITEM_TEMPLATE_ID:\n case DATE_ITEM_TEMPLATE_ID:\n case DECIMAL_ANSWER_ITEM_TEMPLATE_ID:\n case DROPDOWN_ITEM_TEMPLATE_ID:\n case FILE_UPLOAD_ITEM_TEMPLATE_ID:\n case HIDDEN_REFERENCE_ITEM_TEMPLATE_ID:\n case INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:\n case INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID:\n case LINEAR_SCALE_ITEM_TEMPLATE_ID:\n case MULTIPLE_CHOICE_GRID_ITEM_TEMPLATE_ID:\n case MULTIPLE_CHOICE_ITEM_TEMPLATE_ID:\n // case NUMBERED_LIST_ITEM_TEMPLATE_ID:\n case OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID:\n case PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:\n case REPEATABLE_ITEM_TEMPLATE_IMPL_ID:\n case REQUEST_ID_ITEM_TEMPLATE_ID:\n case SHORT_ANSWER_ITEM_TEMPLATE_ID:\n case TEMPLATE_ITEM_GROUP_IMPL_ID:\n case TEMPLATE_SECTION_IMPL_ID:\n case TEXT_ITEM_TEMPLATE_ID:\n case TIME_ITEM_TEMPLATE_ID:\n case TITLE_ITEM_TEMPLATE_ID:\n case WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID:\n case YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID:\n return true;\n default:\n return false;\n }\n}\n\nexport function isTemplateItem(something: unknown): something is TemplateItem {\n return (\n instanceOfBooleanItemTemplate(something) ||\n // instanceOfBulletedListItemTemplate(something) ||\n instanceOfCheckboxGridTemplate(something) ||\n instanceOfCheckboxItemTemplate(something) ||\n instanceOfDateItemTemplate(something) ||\n instanceOfDecimalAnswerItemTemplate(something) ||\n instanceOfDropdownItemTemplate(something) ||\n instanceOfFileUploadItemTemplate(something) ||\n instanceOfHiddenReferenceItemTemplate(something) ||\n instanceOfInternationalizedParagraphAnswerItemTemplate(something) ||\n instanceOfInternationalizedShortAnswerItemTemplate(something) ||\n instanceOfLinearScaleItemTemplate(something) ||\n instanceOfMultipleChoiceGridItemTemplate(something) ||\n instanceOfMultipleChoiceItemTemplate(something) ||\n // instanceOfNumberedListItemTemplate(something) ||\n instanceOfOffsetDateRangeTemplate(something) ||\n instanceOfParagraphAnswerItemTemplate(something) ||\n instanceOfRepeatableItemTemplate(something) ||\n instanceOfRequestIdItemTemplate(something) ||\n instanceOfShortAnswerItemTemplate(something) ||\n instanceOfTemplateItemGroupImpl(something) ||\n instanceOfTemplateSectionImpl(something) ||\n instanceOfTextItemTemplate(something) ||\n instanceOfTimeItemTemplate(something) ||\n instanceOfTitleItemTemplate(something) ||\n instanceOfWholeNumberAnswerItemTemplate(something) ||\n instanceOfYearQuarterRangeTemplate(something)\n );\n}\n\nexport function getTemplatePotentialDesigns(design: Design, property: DesignProperty): DesignBase[] {\n return getTemplateMapperFromDesign(design).getPotentialDesigns(property);\n}\n\nexport function templateToDesign(template: Template, languageId: MtnaLanguageId, context?: Context): Design {\n return new TemplateMapper({ model: template, languageId, context }).getDesign();\n}\n\nexport function toTemplate(design: Design, context?: Context): Template {\n return new TemplateMapper({ design, context }).getModel();\n}\n\nfunction getTemplateMapperFromDesign(design: Design): TemplateMapper {\n return new TemplateMapper({ design });\n}\n\nexport function getText(properties: { [p: string]: any }, key: string, i18n: boolean, languageId: MtnaLanguageId, fallback = ''): string {\n console.warn('getText', { properties, key, i18n, languageId, fallback });\n if (isPresent(properties[key]) && properties[key] !== '') {\n console.warn('present');\n if (i18n) {\n console.warn('i18n');\n return getI18nString(properties[key], languageId, true) ?? '';\n } else {\n console.warn('not i18n');\n return properties[key];\n }\n } else {\n return fallback;\n }\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nimport { FormItemValidationResult } from '@mtna/web-form-ts';\n\nimport { MtnaWfManagerService } from '../services/form-manager.service';\n\nexport const MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME = 'formItemValidationResult';\n\n/**\n * Valitator function that will check the root level {@link FormValidationResult} on\n * the MTNA {@link Form} and see if there are any errors for a particular control.\n *\n * @param instanceId The instanceId of the form item for a particular control\n * @param managerService The manager service that holds a reference to the MTNA {@link Form} and it's {@link FormValidationResult}\n * @returns A validator function that will throw an error if there is a matching {@link FormItemValidationResult} for the specified item.\n */\nexport function validationResultValidator(instanceId: string, managerService: MtnaWfManagerService): ValidatorFn {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n return (control: AbstractControl): ValidationErrors | null => {\n const formItemValidationResult: FormItemValidationResult | undefined = managerService.getFormItemValidationResults()[instanceId];\n return formItemValidationResult\n ? { [MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME]: formItemValidationResult.validationMessage }\n : null;\n };\n}\n","import { Injectable } from '@angular/core';\nimport { FormControl, FormGroupDirective, NgForm } from '@angular/forms';\nimport { ErrorStateMatcher } from '@angular/material/core';\n\nimport { isKey } from '@mtna/core-ts';\n\nimport { MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME } from './validation-result-validator';\n\n/**\n * Custom {@link ErrorStateMatcher} that will immediately show {@link FormValidationResult} errors.\n * Theses errors are calcualted on the server and need to always show.\n * Regular form validation will use the default error matcher strategy.\n */\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfInstantValidationResultErrorStateMatcher extends ErrorStateMatcher {\n override isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const hasValidationResultError = isKey(control?.errors, MTNA_WF_FORM_ITEM_VALIDATION_RESULT_ERROR_NAME);\n return hasValidationResultError || super.isErrorState(control, form);\n }\n}\n","import { AbstractControl, FormArray, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { InternationalizedString } from '@mtna/core-i18n-ts';\nimport { isNullOrUndefined, isPresent, isType } from '@mtna/core-ts';\nimport {\n CHECKBOX_ITEM_ID,\n CheckboxItem,\n ConditionalItem,\n DateRange,\n DECIMAL_ANSWER_ITEM_ID,\n DecimalAnswerItem,\n Form as WebForm,\n FormItem,\n FormItemGroup,\n FormItemImpl,\n I18N_PARAGRAPH_ANSWER_ITEM_ID,\n I18N_SHORT_ANSWER_ITEM_ID,\n InternationalizedParagraphAnswerItem,\n InternationalizedShortAnswerItem,\n isForm,\n isFormItemGroupImpl,\n isOffsetDateRangeItem,\n isProgressiveForm,\n isRepeatableItem,\n isSection,\n isTableItem,\n isWholeNumberItem,\n isYearQuarterRangeItem,\n Option,\n OptionGroupItemImpl,\n PARAGRAPH_ANSWER_ITEM_ID,\n ParagraphAnswerItem,\n RepeatableItem,\n SHORT_ANSWER_ITEM_ID,\n ShortAnswerItem,\n TableItem,\n TableRowItem,\n ValueItem,\n WHOLE_NUMBER_ANSWER_ITEM_ID,\n WholeNumberAnswerItem,\n YearQuarter,\n} from '@mtna/web-form-ts';\nimport { Moment } from 'moment';\n\nimport { MtnaWfManagerService } from '../services/form-manager.service';\nimport { validationResultValidator } from '../validators';\n\n/** Types of Validators that can be set on a FormControl */\nexport type ValidatorType = 'required' | 'requiredTrue' | 'email';\nexport type ValidatorWithNumberType = 'minLength' | 'maxLength' | 'min' | 'max';\n\n/** RegEx to validate number items contain only negative, digits, or decimals */\nconst numOnlyWithoutComma = /^-?\\d+(\\.\\d*)?$/;\n/** RegEx to validate number items contain only negative, digits, or decimals in comma format */\nconst numOnlyWithComma = /^-?\\d{1,3}(,\\d{3})*(\\.\\d*)?$/;\n/** RegEx to validate 'positive only' item conains non-negative characters */\nconst posOnly = /^[^-]*$/;\n/** RegEx to validate 'whole number' item contains only negative, digits, or comma format */\nconst wholeNumber = /^-?\\d+(,\\d{3})*$/;\n\n//#region FormControl Generation\n\n/**\n * Generates a new FormGroup with FormControls & possible nested FormGroups\n * @param formItem WebForm, Section, Group, or RepeatableItem used to create a FormGroup\n * @param customFormItemConditional boolean function for any custom FormItems\n * @param customControlGenerator FormControl generator function for any custom FormItems\n */\nexport function serializeFormItems(\n formItem: WebForm | FormItemGroup | RepeatableItem,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): FormGroup {\n const form: { [key: string]: AbstractControl } = {};\n\n for (const item of formItem.items) {\n const control = determineSerializeFunctionToUse(\n item as FormItemImpl<unknown>,\n managerService,\n customFormItemConditional,\n customControlGenerator\n );\n if (control) {\n form[item.instanceId] = control;\n }\n }\n const required = isForm(formItem) ? true : formItem.required;\n const group = required ? new FormGroup(form, Validators.required) : new FormGroup(form);\n if ('disabled' in formItem && formItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Returns a tailored FormControl with validators for a FormItem\n * @param formItem The FormItem requesting a tailored FormControl\n * @internal Creating the form control and then calling setValidators force a validation pass,\n * see https://github.com/angular/angular/issues/19622#issuecomment-341547884\n * Better to gather the validators and put them in the constructor of the form control.\n */\nexport function serializeFormItem(formItem: FormItemImpl<unknown>, managerService: MtnaWfManagerService): AbstractControl {\n const validators = new Array<ValidatorFn>(validationResultValidator(formItem.instanceId, managerService));\n if (formItem.required) {\n validators.push(Validators.required);\n }\n switch (formItem.itemId) {\n case CHECKBOX_ITEM_ID: {\n const checkboxItem = formItem as CheckboxItem;\n const value = checkboxItem.value || [];\n validators.push(numCheckboxesValidator('MIN', checkboxItem.minSelections), numCheckboxesValidator('MAX', checkboxItem.maxSelections));\n const arr = new FormArray(\n checkboxItem.options.map(\n (o) =>\n new FormControl({\n value: o.selected || value.some((v) => v === o.option.id),\n disabled: checkboxItem.disabled,\n })\n ),\n Validators.compose(validators)\n );\n return arr;\n }\n case DECIMAL_ANSWER_ITEM_ID:\n case WHOLE_NUMBER_ANSWER_ITEM_ID: {\n const item = formItem as DecimalAnswerItem | WholeNumberAnswerItem;\n validators.push(numericalValueCheck());\n if (isWholeNumberItem(item)) {\n validators.push(wholeNumberPattern());\n }\n if (item.positiveOnly) {\n validators.push(positiveNumberPattern());\n }\n if (!isNullOrUndefined(item.minValue)) {\n validators.push(numValueLimit('min', item.minValue));\n }\n if (!isNullOrUndefined(item.maxValue)) {\n validators.push(numValueLimit('max', item.maxValue));\n }\n break;\n }\n case PARAGRAPH_ANSWER_ITEM_ID:\n case SHORT_ANSWER_ITEM_ID: {\n const shortAnswerItem = formItem as ShortAnswerItem | ParagraphAnswerItem;\n validators.push(...getNumericValidator('minLength', shortAnswerItem.minCharCount));\n validators.push(...getNumericValidator('maxLength', shortAnswerItem.maxCharCount));\n break;\n }\n case I18N_PARAGRAPH_ANSWER_ITEM_ID:\n case I18N_SHORT_ANSWER_ITEM_ID: {\n const i18nItem = formItem as InternationalizedParagraphAnswerItem | InternationalizedShortAnswerItem;\n const group = new FormGroup({}, Validators.compose(validators));\n for (const language of i18nItem.languageTags) {\n // FIXME if there is nothign there in the value should I set a new internationalized string?\n group.controls[language] = new FormControl(formItem.value);\n }\n if (i18nItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n }\n default:\n break;\n }\n return new FormControl({ value: formItem.value, disabled: !!formItem.disabled }, Validators.compose(validators));\n}\n\n/**\n * Builds controls for any form items nested inside a parent items options\n * @param formItem The FormItem with an 'options' property\n * @param customFormItemConditional conditional function from parent 'serializeFormItems' function\n * @param customControlGenerator FormControl generator from parent 'serializeFormItems' function\n */\nexport function serializeNestedOptionFormItems(\n formItem: OptionGroupItemImpl<Option<unknown>>,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): FormGroup {\n const controls: { [key: string]: AbstractControl } = {};\n for (const id in formItem.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(formItem.optionItemMap, id)) {\n const subItem = formItem.optionItemMap[id] as FormItemImpl<unknown>;\n const control = determineSerializeFunctionToUse(subItem, managerService, customFormItemConditional, customControlGenerator);\n if (control) {\n controls[subItem.instanceId] = control;\n }\n }\n }\n\n controls[formItem.instanceId] = serializeFormItem(formItem, managerService);\n const group = formItem.required ? new FormGroup(controls, Validators.required) : new FormGroup(controls);\n if (formItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Build FormControls for a TableItem\n * @param item TableItem requiring FormControls\n * @param customFormItemConditional Conditional function for custom any FormItems\n * @param customControlGenerator FormControl generator for custom any FormItems\n */\nexport function serializeTableItem(\n item: TableItem,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): FormGroup {\n const tableControl: { [key: string]: AbstractControl } = {};\n for (const row of item.tableRows) {\n for (const rowItem of row.items.filter((i) => !!i)) {\n const control = determineSerializeFunctionToUse(\n rowItem as FormItemImpl<unknown>,\n managerService,\n customFormItemConditional,\n customControlGenerator\n );\n if (control) {\n tableControl[rowItem.instanceId] = control;\n }\n }\n }\n const group = item.required ? new FormGroup(tableControl, Validators.required) : new FormGroup(tableControl);\n if (item.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Returns the appropriate function for the caller to use.\n *\n * @param formItem FormItem requiring serialization\n * @param customFormItemConditional Conditional for a custom FormItem\n * @param customControlGenerator Serializer for a custom FormItem\n */\nexport function determineSerializeFunctionToUse(\n formItem: FormItemImpl<unknown> | WebForm,\n managerService: MtnaWfManagerService,\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customControlGenerator?: (item: FormItem) => AbstractControl | null\n): AbstractControl | null {\n if (\n isForm(formItem) ||\n isProgressiveForm(formItem) ||\n isRepeatableItem(formItem) ||\n isSection(formItem) ||\n isFormItemGroupImpl(formItem)\n ) {\n return serializeFormItems(formItem, managerService, customFormItemConditional, customControlGenerator);\n } else if (isTableItem(formItem)) {\n return serializeTableItem(formItem, managerService, customFormItemConditional, customControlGenerator);\n } else if (customFormItemConditional(formItem) && !!customControlGenerator) {\n return customControlGenerator(formItem);\n } else if (hasNestedFormItems(formItem)) {\n return serializeNestedOptionFormItems(formItem as OptionGroupItemImpl<Option<unknown>>, managerService);\n } else if (isOffsetDateRangeItem(formItem)) {\n return serializeRangeItem(formItem);\n } else if (isYearQuarterRangeItem(formItem)) {\n return serializeYearQuarterRangeItem(formItem);\n } else {\n return serializeFormItem(formItem, managerService);\n }\n}\n\n/**\n * Builds a FormGroup for a range item\n * @param formItem FormItem for a DateRange of Date | YearQuarter\n */\nexport function serializeRangeItem(formItem: FormItemImpl<DateRange<Date | YearQuarter>>): FormGroup {\n const validators = new Array<ValidatorFn>();\n if (formItem.required) {\n validators.push(Validators.required);\n }\n const group = new FormGroup(\n {\n start: new FormControl(formItem.value ? formItem.value.start : null),\n end: new FormControl(formItem.value ? formItem.value.end : null),\n },\n Validators.compose(validators)\n );\n if (formItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\nexport function serializeYearQuarterRangeItem(formItem: FormItemImpl<DateRange<any>>): FormGroup {\n const validators = new Array<ValidatorFn>();\n if (formItem.required) {\n validators.push(Validators.required);\n }\n\n let startYear = new FormControl(null, formItem.required ? Validators.required : null);\n let startQtr = new FormControl(null, formItem.required ? Validators.required : null);\n if (formItem.value && formItem.value.start) {\n startYear = new FormControl(formItem.value.start.year, formItem.required ? Validators.required : null);\n startQtr = new FormControl(formItem.value.start.quarter, formItem.required ? Validators.required : null);\n }\n const startGroup = new FormGroup({ year: startYear, quarter: startQtr });\n\n let endYear = new FormControl(null, formItem.required ? Validators.required : null);\n let endQtr = new FormControl(null, formItem.required ? Validators.required : null);\n if (formItem.value && formItem.value.end) {\n endYear = new FormControl(formItem.value.end.year, formItem.required ? Validators.required : null);\n endQtr = new FormControl(formItem.value.end.quarter, formItem.required ? Validators.required : null);\n }\n const endGroup = new FormGroup({ year: endYear, quarter: endQtr });\n\n const group = new FormGroup({\n start: startGroup,\n end: endGroup,\n });\n if (formItem.disabled) {\n group.disable({ onlySelf: true, emitEvent: false });\n }\n return group;\n}\n\n/**\n * Returns a Validator with a numeric value for a FormItem;\n * Returns as an array of length 1 or 0\n * @param param0 `type` - type of validator, e.g. 'minLength';\n * `value` - parameter for the validator, e.g. 'minLength(value)'\n */\nfunction getNumericValidator(type: ValidatorWithNumberType, value: number): ValidatorFn[] {\n return !isNullOrUndefined(value) ? [Validators[type](value)] : [];\n}\n\n//#endregion\n\n//#region MtnaForm value insertion\n\n/**\n * Returns an array of Formitems with new values inserted.\n *\n * @param section The old Form or Form Section\n * @param ngFormValue ngForm JSON values\n * @param customFormItemConditional boolean function for any custom FormItems\n * @param customFormItemBuilder function to handle custom FormItems\n * @returns new FormItem array\n */\nexport function insertFormItemValues(\n section: WebForm | FormItemGroup | RepeatableItem,\n ngFormValue: Record<string, unknown>,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null\n): Array<FormItem> {\n return section.items\n .map((item) =>\n determineInsertFunctionToUse(\n item,\n ngFormValue[item.instanceId],\n disabledState,\n customFormItemConditional,\n customFormItemBuilder,\n section\n )\n )\n .filter(isPresent);\n}\n\n/**\n * Returns a copied TableItem, with each row FormItem having new inserted values.\n * @param item TableItem to insert values\n * @param ngFormValue ngForm value of the TableItem\n * @param customFormItemConditional boolean function for any custom FormItem\n * @param customFormItemBuilder function to handle custom FormItem value insertion\n */\nexport function insertTableItemValues(\n item: TableItem,\n ngFormValue: Record<string, unknown>,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null\n): TableItem {\n const tableRows = item.tableRows.map((row: TableRowItem) => ({\n ...row,\n items: row.items\n .filter(isPresent)\n .map((formItem) => {\n return determineInsertFunctionToUse(\n formItem,\n ngFormValue[formItem.instanceId],\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n })\n .filter(isPresent),\n }));\n return { ...item, tableRows, disabled: _isDisabled(item, disabledState) };\n}\n\n/**\n * Returns a new FormItem after determining the appropriate function to use.\n * @param formItem FormItem requiring value insertion\n * @param ngFormValue ngForm value\n * @param customFormItemConditional Conditional for a custom FormItem\n * @param customFormItemBuilder Value insertion function for a custom FormItem\n * @param disabledState Map of items' disabled state\n * @param parent Parent of the FormItem, used to pass to the customFormItemBuilder\n */\nfunction determineInsertFunctionToUse(\n formItem: FormItem,\n ngFormValue: unknown,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null,\n parent?: WebForm | FormItemGroup | RepeatableItem\n): FormItem | null {\n if (isSection(formItem) || isFormItemGroupImpl(formItem) || isRepeatableItem(formItem)) {\n const items = insertFormItemValues(\n formItem,\n ngFormValue as Record<string, unknown>,\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n return { ...formItem, items, disabled: _isDisabled(formItem, disabledState) } as FormItemGroup | RepeatableItem;\n } else if (isTableItem(formItem)) {\n return insertTableItemValues(\n formItem,\n ngFormValue as Record<string, unknown>,\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n } else if (customFormItemConditional(formItem) && !!customFormItemBuilder) {\n return customFormItemBuilder(parent, formItem, ngFormValue, disabledState);\n } else if (hasNestedFormItems(formItem)) {\n return insertNestedFormItemValues(\n formItem as OptionGroupItemImpl<Option<unknown>>,\n ngFormValue as Record<string, unknown>,\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n } else if (isOffsetDateRangeItem(formItem) || isYearQuarterRangeItem(formItem)) {\n const start = isType<{ start: YearQuarter | Date }>(ngFormValue, 'start') ? ngFormValue.start : undefined;\n const end = isType<{ end: YearQuarter | Date }>(ngFormValue, 'end') ? ngFormValue.end : undefined;\n return { ...formItem, value: { start, end }, disabled: _isDisabled(formItem, disabledState) } as FormItemImpl<\n DateRange<Date | YearQuarter>\n >;\n } else {\n return {\n ...formItem,\n value: findItemValue(formItem, ngFormValue),\n disabled: _isDisabled(formItem as FormItemImpl<unknown>, disabledState),\n } as FormItem;\n }\n}\n\n/**\n * Returns ngForm value for a FormItem.\n *\n * @param formItem FormItem requiring a value\n * @param ngFormValue ngForm value\n */\nfunction findItemValue(formItem: FormItem, ngFormValue: unknown): unknown {\n const itemId = formItem.itemId.split('.').pop();\n switch (itemId?.toUpperCase()) {\n // FIXME: can we put these IDs in constants and refer to them instead?\n case 'DATEITEM':\n return !!ngFormValue && typeof ngFormValue !== 'string' ? (ngFormValue as Moment).toISOString() : (ngFormValue as string);\n case 'CHECKBOXITEM':\n if (!isNullOrUndefined(ngFormValue) && Array.isArray(ngFormValue)) {\n const arr = ngFormValue as Array<boolean>;\n return (formItem as CheckboxItem).options.filter((o, index) => !!arr[index]).map((o) => o.option.id);\n }\n return [];\n case 'INTERNATIONALIZEDPARAGRAPHANSWERITEM':\n case 'INTERNATIONALIZEDSHORTANSWERITEM': {\n const languages =\n itemId?.toUpperCase() === 'INTERNATIONALIZEDPARAGRAPHANSWERITEM'\n ? (formItem as InternationalizedParagraphAnswerItem).languageTags\n : (formItem as InternationalizedShortAnswerItem).languageTags;\n\n const value = languages.reduce((value: InternationalizedString[], language) => {\n if (ngFormValue && typeof ngFormValue === 'object' && language in ngFormValue) {\n const input = (ngFormValue as Record<string, unknown>)[language];\n if (input) {\n value.push({ value: input as string, facetId: language });\n }\n }\n return value;\n }, []);\n return value;\n }\n default:\n return ngFormValue;\n }\n}\n\nfunction insertNestedFormItemValues(\n formItem: OptionGroupItemImpl<Option<unknown>>,\n ngFormValue: Record<string, unknown>,\n disabledState: { [instanceId: string]: boolean },\n customFormItemConditional: (item: FormItem) => boolean = () => false,\n customFormItemBuilder?: (\n section: WebForm | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n rfValue: unknown,\n disabledState: { [instanceId: string]: boolean }\n ) => ValueItem<unknown> | null\n): FormItem {\n const optionItemMap: Record<string, unknown> = {};\n for (const id in formItem.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(formItem.optionItemMap, id)) {\n const subItem = formItem.optionItemMap[id];\n optionItemMap[id] = determineInsertFunctionToUse(\n subItem,\n ngFormValue[subItem.instanceId],\n disabledState,\n customFormItemConditional,\n customFormItemBuilder\n );\n }\n }\n return {\n ...formItem,\n optionItemMap,\n value: findItemValue(formItem, ngFormValue[formItem.instanceId]),\n disabled: _isDisabled(formItem, disabledState),\n } as OptionGroupItemImpl<Option<unknown>>;\n}\n\n//#endregion\n\n/**\n * Determines if a FormItem has an OptionItemMap with at least 1 item, which require their own FormControl(s)\n * @param formItem FormItem to check\n */\nexport function hasNestedFormItems(formItem: unknown): formItem is { optionItemMap: Record<string, unknown> } {\n return (\n isType<{\n optionItemMap: Record<string, unknown>;\n }>(formItem, 'optionItemMap') && Object.keys(formItem.optionItemMap).length > 0\n );\n}\n\n/**\n * Function for validating min/max selections limits\n * @param typeCheck Which limit to validate. 'MIN' | 'MAX'\n * @param limit upper or lower limit to check against\n */\nfunction numCheckboxesValidator(typeCheck: 'MIN' | 'MAX', limit = 1): ValidatorFn {\n return (control: AbstractControl) => {\n let totalSelected = 0;\n if (isFormArray(control)) {\n totalSelected = control.controls.map((c) => c.value).reduce((total, next) => (next ? total + next : total), 0);\n }\n\n switch (typeCheck) {\n case 'MIN':\n return totalSelected >= limit ? null : { minSelected: $localize`Select at least ${limit}` };\n case 'MAX':\n return totalSelected <= limit ? null : { maxSelected: $localize`Select no more than ${limit}` };\n }\n };\n}\n\nfunction isFormArray(control: AbstractControl): control is FormArray {\n return isType<FormArray>(control, 'controls');\n}\n\nfunction _isDisabled(item: ConditionalItem, disabledState: { [id: string]: boolean }): boolean {\n const disabled = disabledState[item.instanceId];\n return isNullOrUndefined(disabled) ? item.disabled : disabled;\n}\n\nfunction wholeNumberPattern(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n\n return wholeNumber.test(control.value) ? null : { wholeNumber: true };\n };\n}\n\nfunction numericalValueCheck(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n return numOnlyWithoutComma.test(control.value) || numOnlyWithComma.test(control.value) ? null : { nonDigit: true };\n };\n}\n\nfunction positiveNumberPattern(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n return posOnly.test(control.value) ? null : { positive: true };\n };\n}\n\n/**\n * This works as a combination of the angular 'min'/'max' Validators. Using the built-in validators\n * appears to take precedence over custom validators, regardless of order in the array. Using this function\n * ensures validators set before this one maintain priority. For instance, the input value failing numerical validation\n * is more important than the value being within min-max range.\n */\nfunction numValueLimit(type: 'min' | 'max', limit: number): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (isNullOrUndefined(control.value) || isEmptyString(control.value)) {\n return null;\n }\n const value = parseFloat(control.value);\n return !isNaN(value) && (type === 'min' ? value < limit : value > limit)\n ? {\n [type]: {\n [type]: limit,\n actual: control.value,\n },\n }\n : null;\n };\n}\n\nfunction isEmptyString(value: unknown): boolean {\n return typeof value === 'string' && !value.length;\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const COMPLEX_STANDARD = '300ms cubic-bezier(0.4, 0.0, 0.2, 1)';\n\nexport const MTNA_WF_EXPAND_COLLAPSE = trigger('mtnaWfExpandCollapse', [\n state('1', style({ height: '*', marginTop: '*', marginBottom: '*', opacity: 1 })),\n state('0', style({ height: 0, marginTop: 0, marginBottom: 0, opacity: 0, overflow: 'hidden', visibility: 'hidden' })),\n transition('1 <=> 0', [animate(COMPLEX_STANDARD)]),\n]);\n","import {\n Condition,\n ConditionalItem,\n FormOptionSelector,\n instanceOfBooleanItemTemplate,\n instanceOfCheckboxItemTemplate,\n instanceOfDropdownItemTemplate,\n instanceOfMultipleChoiceItemTemplate,\n instanceOfTemplateItemGroupImpl,\n instanceOfTemplateSectionImpl,\n TemplateItem,\n} from '@mtna/web-form-ts';\nimport { isPresent } from '@mtna/core-ts';\nimport { ConditionalProcessingResources } from '../models';\n\nexport function getConditionalProcessingResources(\n optionId: string,\n enable: boolean,\n items: TemplateItem[]\n): ConditionalProcessingResources | undefined {\n const conditionalItems: ConditionalItem[] = flattenConditionalItems(items);\n let optionSelector: FormOptionSelector<any> | undefined = undefined;\n let optionItemId: string = '';\n for (const conditionalItem of conditionalItems) {\n if (!isPresent(optionSelector)) {\n let options: FormOptionSelector<any>[] = [];\n if (\n instanceOfCheckboxItemTemplate(conditionalItem) ||\n instanceOfDropdownItemTemplate(conditionalItem) ||\n instanceOfMultipleChoiceItemTemplate(conditionalItem)\n ) {\n options = conditionalItem.options;\n } else if (instanceOfBooleanItemTemplate(conditionalItem)) {\n options.push(conditionalItem.option);\n }\n for (const option of options) {\n if (option.option.id === optionId) {\n optionSelector = option;\n optionItemId = conditionalItem.instanceId;\n break;\n }\n }\n }\n }\n\n return isPresent(optionSelector) ? { conditionalItems, enable, optionItemId, optionSelector } : undefined;\n}\n\n/**\n * Flattens a list of template items into a single flat array of conditionalItems.\n *\n * @param items\n */\nexport function flattenConditionalItems(items: TemplateItem[]): ConditionalItem[] {\n let conditionalItems: ConditionalItem[] = [];\n for (const templateItem of items) {\n if (instanceOfTemplateItemGroupImpl(templateItem)) {\n conditionalItems.push(templateItem);\n conditionalItems = [...conditionalItems, ...flattenConditionalItems(templateItem.items)];\n } else if (instanceOfTemplateSectionImpl(templateItem)) {\n conditionalItems.push(templateItem);\n conditionalItems = [...conditionalItems, ...flattenConditionalItems(templateItem.items)];\n } else {\n // we know the remaining template items are conditionals\n const conditionalItem = templateItem as unknown as ConditionalItem;\n conditionalItems.push(conditionalItem);\n }\n }\n return conditionalItems;\n}\n\nexport function processConditionals(optionId: string, enable: boolean, items: TemplateItem[]) {\n const conditionalProcessingResources = getConditionalProcessingResources(optionId, enable, items);\n if (!conditionalProcessingResources) {\n return;\n }\n\n /*\n * One of two things may have happened.\n * - An item was added to the list of enabled / disabled items.\n * - An item was removed from the list of enabled / disabled items.\n *\n * In the first scenario we must look up the conditional items in the enabled / disabled list and adjust their\n * conditions. In the second scenario we must look through all the conditionals, find those that reference the option\n * item being updated and check if they still exist in the list of enabled / disabled items.\n *\n * To perform this in a single pass, we will iterate over all the conditional items and pick out any that are\n * referenced by the current list of enabled / disabled items, and also any that currently have a condition set on\n * them where the item ids include the edited option items id. Then we will go about handling the two previously\n * described scenarios.\n */\n const optionSelector: FormOptionSelector<any> = conditionalProcessingResources.optionSelector;\n const updatedItemIds = new Set(\n enable\n ? isPresent(optionSelector.enabledItems)\n ? optionSelector.enabledItems\n : []\n : isPresent(optionSelector.disabledItems)\n ? optionSelector.disabledItems\n : []\n );\n for (const conditionalItem of conditionalProcessingResources.conditionalItems) {\n if (updatedItemIds.has(conditionalItem.instanceId)) {\n updateConditional(conditionalItem, conditionalProcessingResources.optionItemId, enable);\n } else if (hasCondition(conditionalItem, conditionalProcessingResources.optionItemId)) {\n removeFromCondition(conditionalItem, conditionalProcessingResources.optionItemId);\n }\n }\n}\n\nexport function hasCondition(conditionalItem: ConditionalItem, optionItemId: string) {\n return (\n isPresent(conditionalItem.condition) &&\n isPresent(conditionalItem.condition.itemIds) &&\n conditionalItem.condition.itemIds.includes(optionItemId)\n );\n}\n\nexport function updateConditional(conditional: ConditionalItem, itemId: string, enable: boolean) {\n if (!isPresent(conditional.condition)) {\n conditional.condition = { allRequired: false, itemIds: [], value: '' };\n }\n // if the condition is enabled by this item, set disabled to be true.\n const condition: Condition = conditional.condition;\n conditional.disabled = enable;\n if (!condition.itemIds.includes(itemId)) {\n condition.itemIds.push(itemId);\n }\n conditional.hasCondition = true;\n}\n\nexport function removeFromCondition(conditional: ConditionalItem, itemId: string) {\n if (!isPresent(conditional.condition)) {\n return;\n }\n const itemIds = isPresent(conditional.condition.itemIds) ? conditional.condition.itemIds : [];\n const index = itemIds.indexOf(itemId);\n if (index !== -1) {\n itemIds.splice(index, 1);\n }\n if (itemIds.length > 0) {\n conditional.condition.itemIds = itemIds;\n } else {\n conditional.condition = undefined;\n conditional.hasCondition = false;\n conditional.disabled = false;\n }\n}\n","import { FormGroup } from '@angular/forms';\n\nimport { isObject, isType } from '@mtna/core-ts';\n\n/** Typeguard for {@link FormGroup}. Determines if something is a FormGroup. */\nexport function isFormGroup(something: unknown): something is FormGroup {\n return isObject(something) && isType<FormGroup>(something, 'controls') && isObject(something.controls);\n}\n","import { AbstractControl, FormGroup } from '@angular/forms';\n\nimport { isFormGroup } from './is-form-group';\n\n/**\n * Recursively find a form control by name in a form group.\n * Depth first search down the tree of form groups to find a control.\n *\n * @note This will only work if the entire form has unique form control names.\n * @param name The unique name of the form cotrol to find.\n * @param group The {@link FormGroup} to search through.\n * @returns the found control or null\n */\nexport function findFormControl(name: string, group: FormGroup): AbstractControl | null {\n for (const key in group.controls) {\n if (Object.prototype.hasOwnProperty.call(group.controls, key)) {\n const control = group.controls[key];\n if (key === name) {\n return control;\n }\n\n // Recurse down if it's a FormGroup\n if (isFormGroup(control)) {\n const found = findFormControl(name, control);\n if (found) {\n return found;\n }\n }\n }\n }\n return null;\n}\n","import { isType } from '@mtna/core-ts';\nimport { Form, FormItem, FormItemGroup } from '@mtna/web-form-ts';\n\n/**\n * Recursively find a {@link FormItem} by instanceId in a {@link Form}.\n * Depth first search down the tree of {@link FormItemGroup} to find an item.\n *\n * @param instanceId The unique ID of the {@link FormItem} to find.\n * @param group The {@link Form} or {@link FormItemGroup} to search through.\n * @returns the found {@link FormItem} or `null`\n */\nexport function findFormItem(instanceId: string, group: Form | FormItemGroup): FormItem | null {\n for (const item of group.items) {\n if (item.instanceId === instanceId) {\n return item;\n }\n\n // If it's a FormGroup, search through it's children\n if (isType<FormItemGroup>(item, 'items')) {\n const found = findFormItem(instanceId, item);\n if (found) {\n return found;\n }\n }\n }\n return null;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const MTNA_WF_DEFAULT_YEAR_RANGE = new InjectionToken<MtnaWfDefaultYearRange>('mtna.wf.default.year.range');\n\nexport interface MtnaWfDefaultYearRange {\n numPastYears: number;\n numFutureYears: number;\n}\n","import {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport {\n i18n_newTemplateItem,\n i18n_templateItemAnnotation,\n i18n_templateItemAnnotationInstructions,\n i18n_templateItemBasicSettings,\n i18n_templateItemHelp,\n i18n_templateItemHelpInstructions,\n i18n_templateItemLabel,\n i18n_templateItemLabelInstructions,\n i18n_templateItemQuestionText,\n i18n_templateItemQuestionTextInstructions,\n i18n_templateItemRequired,\n i18n_templateItemRequiredInstructions,\n} from '../../i18n-constants.model';\nimport {\n prop_item_annotation_enabled,\n prop_item_descriptive_text,\n prop_item_name,\n prop_item_question_text,\n prop_item_required,\n} from '../template-design-constants.model';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { isPresent } from '@mtna/core-ts';\nimport { DesignMapper, DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\nimport { TemplateItem } from '@mtna/web-form-ts';\n\nexport class TemplateItemMapper<\n T extends TemplateItem = TemplateItem,\n P extends ReferenceDesignParams = ReferenceDesignParams\n> extends DesignMapper<T, P> {\n constructor(params: DesignMapperParams<P> | ModelMapperParams<T, P>) {\n super(params);\n }\n\n getPotentialDesigns(property: DesignProperty): DesignBase[] {\n return [];\n }\n\n protected toDesign(model: T, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const sections: DesignSection[] = [\n this.getSectionItemCore(model),\n // this.getSectionItemConditions(model, languageId)\n ];\n return { ...this.itemToDesignBase(model, languageId), sections, parent };\n }\n\n protected toModel(design: Design): T {\n let templateItem: TemplateItem = {\n itemId: design.type,\n instanceId: design.id,\n annotatableId: design.id,\n descriptiveText: [],\n name: '',\n questionText: [],\n annotationEnabled: false,\n excludeFromPrint: false,\n required: false,\n ignoreConditionalInstructions: false,\n printAlternative: '',\n };\n\n const coreProperties = getLiteralProperties(design, i18n_templateItemBasicSettings, [\n prop_item_question_text,\n prop_item_descriptive_text,\n prop_item_required,\n prop_item_name,\n prop_item_annotation_enabled,\n ]);\n templateItem = { ...templateItem, ...coreProperties };\n return templateItem as T;\n }\n\n private getSectionItemCore(item: TemplateItem): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(\n getLiteralDesignProperty(i18n_templateItemLabel, i18n_templateItemLabelInstructions, prop_item_name, 'STRING', item.name)\n );\n\n properties.push(\n getLiteralDesignProperty(\n i18n_templateItemQuestionText,\n i18n_templateItemQuestionTextInstructions,\n prop_item_question_text,\n 'STRING_I18N',\n item.questionText\n )\n );\n properties.push(\n getLiteralDesignProperty(\n i18n_templateItemHelp,\n i18n_templateItemHelpInstructions,\n prop_item_descriptive_text,\n 'RICH_TEXT_I18N',\n item.descriptiveText\n )\n );\n properties.push(\n getLiteralDesignProperty(\n i18n_templateItemRequired,\n i18n_templateItemRequiredInstructions,\n prop_item_required,\n 'BOOLEAN',\n item.required\n )\n );\n properties.push(\n getLiteralDesignProperty(\n i18n_templateItemAnnotation,\n i18n_templateItemAnnotationInstructions,\n prop_item_annotation_enabled,\n 'BOOLEAN',\n item.annotationEnabled\n )\n );\n return { display: i18n_templateItemBasicSettings, properties };\n }\n\n // private getSectionItemConditions(item: TemplateItem, languageId: MtnaLanguageId): DesignSection {\n // return { display: i18n_conditions, properties };\n // }\n\n protected getTypeDisplay(itemId: string): string {\n // FIXME this will work for now, but needs to be i18n\n // Get the part after the last \".\"\n const lastSegment = itemId.split('.').pop() || '';\n // Remove \"Item\" and \"Template\"\n const cleaned = lastSegment.replace(/(Item|Template)/g, '');\n // Insert spaces between lowercase and uppercase letters\n const spaced = cleaned.replace(/([a-z])([A-Z])/g, '$1 $2');\n return spaced.trim();\n }\n\n private itemToDesignBase(model: TemplateItem, languageId: MtnaLanguageId): DesignBase {\n const id = model.instanceId;\n // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;\n let display = isPresent(model.name) && model.name !== '' ? model.name : undefined;\n if (!isPresent(display)) {\n display = i18n_newTemplateItem;\n }\n const type = model.itemId;\n const typeDisplay = this.getTypeDisplay(model.itemId);\n const focusType = 'SET_FOCUS';\n return { id, display, type, typeDisplay, focusType };\n }\n}\n","import { FormOptionSelector, Option, Section, TemplateItem } from '@mtna/web-form-ts';\nimport { DesignMapper } from '@mtna/designer-angular';\nimport {\n Context,\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n getModelDesignProperty,\n getReferenceDesignProperty,\n getReferenceProperties,\n ReferenceDesignValue,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport {\n i18n_disabledItems,\n i18n_disabledItemsInstructions,\n i18n_enabledAndDisabledItems,\n i18n_enabledItems,\n i18n_enabledItemsInstructions,\n i18n_name,\n i18n_nameInstructions,\n i18n_option,\n i18n_optionProperties,\n i18n_optionTemplate,\n i18n_optionTemplateInstructions,\n} from '../../i18n-constants.model';\nimport {\n prop_item_name,\n prop_option_disabled_items,\n prop_option_enabled_items,\n prop_option_template,\n} from '../template-design-constants.model';\nimport { isPresent } from '@mtna/core-ts';\nimport * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';\nimport { OPTION_SELECTOR_POTENTIAL_DESIGN_LIST } from '../potential-designs.model';\n\nexport class OptionSelectorMapper<O extends Option<unknown>, F extends FormOptionSelector<O>> extends DesignMapper<\n F,\n { optionTemplateMap: Record<string, TemplateItem>; references: Record<string, ReferenceDesignValue> }\n> {\n constructor(\n params:\n | { design: Design; context?: Context }\n | {\n model: F;\n languageId: MtnaLanguageId;\n context?: Context;\n customParams: {\n optionTemplateMap: Record<string, TemplateItem>;\n references: Record<string, ReferenceDesignValue>;\n };\n }\n ) {\n super(params);\n }\n\n getPotentialDesigns(property: DesignProperty) {\n return OPTION_SELECTOR_POTENTIAL_DESIGN_LIST;\n }\n\n protected toDesign(model: F, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const designBase: DesignBase = this.formOptionSelectorToDesignBase(model);\n const optionPropertiesSection = this.getOptionPropertiesSection(model, languageId, designBase);\n const enabledDisabledItemsSection = this.getEnabledDisabledItemsSection(model);\n const sections: DesignSection[] = [optionPropertiesSection, enabledDisabledItemsSection];\n return { ...designBase, sections, parent };\n }\n\n protected toModel(design: Design): F {\n // Convert the design object back to a model\n const coreOptionProperties = getLiteralProperties(design, i18n_optionProperties, [prop_item_name]);\n\n const option: Option<unknown> = {\n name: coreOptionProperties[prop_item_name] ?? '',\n help: '',\n description: '',\n id: design.id,\n value: undefined,\n };\n\n const { enabledItems, disabledItems } = this.getEnabledAndDisabledItemsFromDesign(design);\n\n const formOptionSelector: FormOptionSelector<O> = {\n acknowledgement: {} as Section,\n containerDescription: '',\n codeValue: '',\n disabledItems: [...disabledItems], // TODO: Need to handle getting these values from the first model that is passed in from the facade.\n enabledItems: [...enabledItems], // TODO: Need to handle getting these values from the first model that is passed in from the facade.\n multiSelect: false,\n option: {\n ...option,\n } as O,\n selected: false,\n selectionCount: 0,\n unavailable: false,\n };\n\n const model = { ...formOptionSelector };\n return model as F;\n }\n\n private formOptionSelectorToDesignBase(model: F): DesignBase {\n const id = model.option.id;\n const display = model.option.name;\n const type = 'OPTION';\n const typeDisplay = i18n_option;\n const focusType = 'MAINTAIN_FOCUS';\n return { id, display, type, typeDisplay, focusType };\n }\n\n private getOptionPropertiesSection(model: F, languageId: MtnaLanguageId, parent?: DesignBase): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_name, i18n_nameInstructions, prop_item_name, 'STRING', model.option.name));\n\n const optionTemplateProperties: DesignProperty[] = this.getOptionTemplateProperties(model, languageId, parent);\n if (optionTemplateProperties.length > 0) {\n properties.push(...optionTemplateProperties);\n }\n\n // const optionAcknowledgementProperties: DesignProperty[] = this.getOptionAcknowledgementProperties(model, languageId, parent);\n\n return { display: i18n_optionProperties, properties };\n }\n\n private getOptionTemplateProperties(model: F, languageId: MtnaLanguageId, parent?: DesignBase): DesignProperty[] {\n const properties: DesignProperty[] = [];\n\n if (this.customParams && this.customParams.optionTemplateMap) {\n const templateItem = this.customParams.optionTemplateMap[model.option.id];\n properties.push(\n getModelDesignProperty(\n i18n_optionTemplate,\n i18n_optionTemplateInstructions,\n prop_option_template,\n false,\n isPresent(templateItem) ? [MtnaTemplateCoreDesign.itemToDesign(templateItem, languageId, parent, this.context)] : []\n )\n );\n }\n\n return properties;\n }\n\n private getEnabledDisabledItemsSection(model: F): DesignSection {\n const properties: DesignProperty[] = [];\n\n const enabledItemsReferenceDesignValues: ReferenceDesignValue[] = [];\n const disabledItemsReferenceDesignValues: ReferenceDesignValue[] = [];\n\n if (this.customParams && this.customParams.references) {\n const references = this.customParams.references;\n model.enabledItems.forEach((enabledItemId) => {\n if (isPresent(references[enabledItemId])) {\n enabledItemsReferenceDesignValues.push(references[enabledItemId]);\n }\n });\n model.disabledItems.forEach((disabledItemId) => {\n if (isPresent(references[disabledItemId])) {\n disabledItemsReferenceDesignValues.push(references[disabledItemId]);\n }\n });\n }\n\n properties.push(\n getReferenceDesignProperty(\n i18n_enabledItems,\n i18n_enabledItemsInstructions,\n prop_option_enabled_items,\n enabledItemsReferenceDesignValues\n )\n );\n properties.push(\n getReferenceDesignProperty(\n i18n_disabledItems,\n i18n_disabledItemsInstructions,\n prop_option_disabled_items,\n disabledItemsReferenceDesignValues\n )\n );\n\n return { display: i18n_enabledAndDisabledItems, properties };\n }\n\n private getEnabledAndDisabledItemsFromDesign(design: Design): { enabledItems: string[]; disabledItems: string[] } {\n const enabledItems: string[] = [];\n const disabledItems: string[] = [];\n const enabledAndDisabledItems = getReferenceProperties(design, i18n_enabledAndDisabledItems, [\n prop_option_enabled_items,\n prop_option_disabled_items,\n ]);\n\n for (const enabledItem of enabledAndDisabledItems[prop_option_enabled_items] ?? []) {\n if (isPresent(enabledItem.id)) {\n enabledItems.push(enabledItem.id);\n }\n }\n\n for (const disabledItem of enabledAndDisabledItems[prop_option_disabled_items] ?? []) {\n if (isPresent(disabledItem.id)) {\n disabledItems.push(disabledItem.id);\n }\n }\n\n return { enabledItems, disabledItems };\n }\n\n //FIXME: the option acknowledgement must be remodeled to be a TemplateSection before this can be implemented below.\n\n // private getOptionAcknowledgementProperties(model: F, languageId: MtnaLanguageId, parent?: DesignBase): DesignProperty[] {\n // const properties: DesignProperty[] = [];\n //\n // properties.push(\n // getModelDesignProperty(\n // i18n_acknowledgement,\n // i18n_acknowledgementInstructions,\n // prop_item_acknowledgement,\n // false,\n // isPresent(model.acknowledgement)\n // ?\n // [MtnaTemplateCoreDesign.itemToDesign(model.acknowledgement, languageId, parent, this.context)]\n // : []\n // )\n // );\n //\n // return properties;\n // }\n}\n","import { CHECKBOX_ITEM_TEMPLATE_ID, DROPDOWN_ITEM_TEMPLATE_ID, MULTIPLE_CHOICE_ITEM_TEMPLATE_ID } from '@mtna/web-form-ts';\nimport { i18n_checkboxConfiguration, i18n_dropdownConfiguration, i18n_multipleChoiceConfiguration } from '../i18n-constants.model';\n\nexport const optionGroupItemSectionDisplayNameMap: { [key: string]: string } = {\n [CHECKBOX_ITEM_TEMPLATE_ID]: i18n_checkboxConfiguration,\n [DROPDOWN_ITEM_TEMPLATE_ID]: i18n_dropdownConfiguration,\n [MULTIPLE_CHOICE_ITEM_TEMPLATE_ID]: i18n_multipleChoiceConfiguration,\n};\n","import { BOOLEAN_ITEM_TEMPLATE_ID } from '@mtna/web-form-ts';\nimport { i18n_booleanConfiguration } from '../i18n-constants.model';\n\nexport const optionItemSectionDisplayNameMap: { [key: string]: string } = {\n [BOOLEAN_ITEM_TEMPLATE_ID]: i18n_booleanConfiguration,\n};\n","import { FormOptionSelector, Option, Section, TemplateItem } from '@mtna/web-form-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { Context, Design, DesignBase, DesignProperty, instanceOfModelDesignProperty, ReferenceDesignValue } from '@mtna/designer-ts';\nimport { OptionSelectorMapper } from '../models/design/design-mapper/option-selector-mapper';\nimport { isPresent, isType } from '@mtna/core-ts';\nimport { optionGroupItemSectionDisplayNameMap } from '../models/design/option-group-item-section-display-name-map.model';\nimport { optionItemSectionDisplayNameMap } from '../models/design/option-item-section-display-name-map.model';\nimport { i18n_optionProperties } from '../models/i18n-constants.model';\nimport { prop_item_option, prop_item_options, prop_option_template } from '../models/design/template-design-constants.model';\n\nexport function getNewFormOptionSelector(designBase: DesignBase): FormOptionSelector<Option<unknown>> {\n return {\n acknowledgement: {} as Section,\n containerDescription: '',\n codeValue: '',\n disabledItems: [],\n enabledItems: [],\n multiSelect: false,\n option: {\n name: designBase.display,\n help: '',\n description: '',\n id: designBase.id,\n value: undefined,\n } as Option<unknown>,\n selected: false,\n selectionCount: 0,\n unavailable: false,\n };\n}\n\nexport function optionSelectorToDesign<O extends Option<unknown>>(\n formOptionSelector: FormOptionSelector<O>,\n languageId: MtnaLanguageId,\n optionTemplateMap: Record<string, TemplateItem>,\n references: Record<string, ReferenceDesignValue>,\n parent?: DesignBase,\n context?: Context\n): Design {\n const design: Design = new OptionSelectorMapper({\n model: formOptionSelector,\n languageId,\n context,\n customParams: { optionTemplateMap, references },\n }).getDesign();\n return { ...design, parent };\n}\n\nexport function designToOptionSelector<O extends Option<unknown>>(design: Design, context?: Context): FormOptionSelector<O> {\n const formOptionSelector = new OptionSelectorMapper({\n design,\n context,\n }).getModel();\n return formOptionSelector as FormOptionSelector<O>;\n}\n\nexport function getOptionSelectorPotentialDesigns(design: Design, property: DesignProperty): DesignBase[] {\n const potentialDesigns = new OptionSelectorMapper({ design }).getPotentialDesigns(property);\n return potentialDesigns;\n}\n\nexport function instanceOfFormOptionSelector(something: unknown): something is FormOptionSelector<Option<unknown>> {\n return (\n isType<FormOptionSelector<Option<unknown>>>(something, 'containerDescription', 'codeValue', 'option') &&\n isPresent(something.containerDescription) &&\n isPresent(something.codeValue) &&\n isPresent(something.option)\n );\n}\n\nfunction getDesignsBySectionAndProperty(design: Design, sectionDisplay: string, propertyKey: string): Design[] {\n const section = design.sections.find((s) => s.display === sectionDisplay);\n if (!section) return [];\n\n const property = section.properties.find((p) => instanceOfModelDesignProperty(p) && p.property === propertyKey);\n\n if (property && instanceOfModelDesignProperty(property)) {\n return property.values;\n }\n\n return [];\n}\n\nfunction getOptionDesigns(design: Design, mapperType: 'optionGroupItem' | 'optionItem'): Design[] {\n const sectionDisplay =\n mapperType === 'optionGroupItem' ? optionGroupItemSectionDisplayNameMap[design.type] : optionItemSectionDisplayNameMap[design.type];\n const propertyKey = mapperType === 'optionGroupItem' ? prop_item_options : prop_item_option;\n\n return getDesignsBySectionAndProperty(design, sectionDisplay, propertyKey);\n}\n\nfunction getOptionTemplateDesign(optionDesign: Design): Design | undefined {\n const designs = getDesignsBySectionAndProperty(optionDesign, i18n_optionProperties, prop_option_template);\n return isPresent(designs[0]) ? designs[0] : undefined;\n}\n\nexport function getOptionsAndTemplateMap<O extends Option<unknown>>(\n design: Design,\n mapperType: 'optionGroupItem' | 'optionItem',\n toTemplateItemFn: (design: Design, context?: Context) => TemplateItem,\n context?: Context\n): {\n options: FormOptionSelector<O>[];\n optionTemplateMap: Record<string, TemplateItem>;\n} {\n const options: FormOptionSelector<O>[] = [];\n const optionTemplateMap: Record<string, TemplateItem> = {};\n\n const optionDesigns: Design[] = getOptionDesigns(design, mapperType);\n\n for (const optionDesign of optionDesigns) {\n const optionSelector: FormOptionSelector<O> = designToOptionSelector<O>(optionDesign, context);\n options.push(optionSelector);\n\n const optionTemplateDesign: Design | undefined = getOptionTemplateDesign(optionDesign);\n\n if (isPresent(optionTemplateDesign)) {\n const optionTemplate = toTemplateItemFn(optionTemplateDesign, context);\n optionTemplateMap[optionSelector.option.id] = optionTemplate;\n }\n }\n\n return { options, optionTemplateMap };\n}\n","import { Option, TemplateOptionItem } from '@mtna/web-form-ts';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { Design, DesignBase, DesignProperty, DesignSection, getModelDesignProperty, ReferenceDesignParams } from '@mtna/designer-ts';\nimport { isPresent } from '@mtna/core-ts';\nimport { i18n_newTemplateItem, i18n_option, i18n_optionInstructions } from '../../i18n-constants.model';\nimport * as FormOptionDesignUtil from '../../../utilities/form-option-design-util';\nimport { prop_item_option } from '../template-design-constants.model';\nimport { optionItemSectionDisplayNameMap } from '../option-item-section-display-name-map.model';\nimport * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';\nimport { FORM_OPTION_SELECTOR_POTENTIAL_DESIGN } from '../potential-designs.model';\n\nexport class OptionItemMapper<\n O extends Option<unknown>,\n T extends TemplateOptionItem<O>,\n P extends ReferenceDesignParams = ReferenceDesignParams\n> extends TemplateItemMapper<T, P> {\n constructor(params: DesignMapperParams<P> | ModelMapperParams<T, P>) {\n super(params);\n }\n\n getPotentialDesigns(property: DesignProperty): DesignBase[] {\n return [FORM_OPTION_SELECTOR_POTENTIAL_DESIGN];\n }\n\n protected toDesign(model: T, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n const optionSection = this.getOptionSectionItems(model, languageId, parent);\n const sections: DesignSection[] = [...design.sections, optionSection];\n return { ...design, sections, parent };\n }\n\n protected toModel(design: Design): T {\n let model = super.toModel(design);\n\n const { options, optionTemplateMap } = FormOptionDesignUtil.getOptionsAndTemplateMap<O>(\n design,\n 'optionItem',\n MtnaTemplateCoreDesign.toTemplateItem,\n this.context\n );\n\n if (isPresent(options[0])) {\n model = { ...model, optionTemplateMap, option: { ...options[0] } };\n } else {\n model = { ...model, optionTemplateMap, option: {} };\n }\n return model;\n }\n\n private getParentForFormOptionSelector(model: T, languageId: MtnaLanguageId): DesignBase {\n const id = model.instanceId;\n // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;\n let display = isPresent(model.name) && model.name !== '' ? model.name : undefined;\n if (!isPresent(display)) {\n display = i18n_newTemplateItem;\n }\n const type = model.itemId;\n const typeDisplay = this.getTypeDisplay(model.itemId);\n const focusType = 'MAINTAIN_FOCUS';\n return { id, display, type, typeDisplay, focusType };\n }\n\n private getOptionSectionItems(model: T, languageId: MtnaLanguageId, parent?: DesignBase): DesignSection {\n const properties: DesignProperty[] = [];\n const parentForFormOptionSelector = this.getParentForFormOptionSelector(model, languageId);\n const designOption = FormOptionDesignUtil.optionSelectorToDesign<O>(\n model.option,\n languageId,\n model.optionTemplateMap,\n this.customParams && this.customParams.references ? this.customParams.references : {},\n parentForFormOptionSelector,\n this.context\n );\n properties.push(getModelDesignProperty(i18n_option, i18n_optionInstructions, prop_item_option, false, [designOption]));\n return { display: optionItemSectionDisplayNameMap[model.itemId], properties };\n }\n}\n","import { BooleanItemTemplate, BooleanOption } from '@mtna/web-form-ts';\nimport { Design, DesignBase, ReferenceDesignParams } from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\nimport { OptionItemMapper } from './option-item-mapper';\n\nexport class BooleanItemTemplateMapper extends OptionItemMapper<BooleanOption, BooleanItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<BooleanItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: BooleanItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n return design;\n }\n\n protected toModel(design: Design): BooleanItemTemplate {\n const model = super.toModel(design);\n return model;\n }\n}\n","import { TemplateItemMapper } from './template-item-mapper';\nimport { BulletedListItemTemplate } from '@mtna/web-form-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getI18nListDesignProperty,\n getI18nListProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport {\n i18n_bulletedListConfiguration,\n i18n_listValue,\n i18n_newListValue,\n i18n_values,\n i18n_valuesInstructions,\n} from '../../i18n-constants.model';\nimport { prop_item_values } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class BulletedListItemTemplateMapper extends TemplateItemMapper<BulletedListItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<BulletedListItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: BulletedListItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemBulletedList(model)];\n return design;\n }\n\n protected toModel(design: Design): BulletedListItemTemplate {\n let model = super.toModel(design);\n const bulletedListProperties = getI18nListProperties(design, i18n_bulletedListConfiguration, [prop_item_values]);\n model = { ...model, ...bulletedListProperties };\n return model;\n }\n\n private getSectionItemBulletedList(item: BulletedListItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n // TODO need to handle for repeated literals, add new type of REPEATED_STRING_I18N(?) and component to handle input\n properties.push(\n getI18nListDesignProperty(i18n_values, i18n_valuesInstructions, prop_item_values, i18n_listValue, i18n_newListValue, item.values)\n );\n return { display: i18n_bulletedListConfiguration, properties };\n }\n}\n","import { Option, TemplateOptionGroupItem } from '@mtna/web-form-ts';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n getModelDesignProperty,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport {\n i18n_maxSelections,\n i18n_maxSelectionsInstructions,\n i18n_minSelections,\n i18n_minSelectionsInstructions,\n i18n_newTemplateItem,\n i18n_options,\n i18n_optionsInstructions,\n} from '../../i18n-constants.model';\nimport { prop_item_max_selections, prop_item_min_selections, prop_item_options } from '../template-design-constants.model';\nimport * as FormOptionDesignUtil from '../../../utilities/form-option-design-util';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\nimport { optionGroupItemSectionDisplayNameMap } from '../option-group-item-section-display-name-map.model';\nimport { isPresent } from '@mtna/core-ts';\nimport * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';\nimport { FORM_OPTION_SELECTOR_POTENTIAL_DESIGN } from '../potential-designs.model';\n\nexport class OptionGroupItemMapper<\n O extends Option<unknown>,\n T extends TemplateOptionGroupItem<O>,\n P extends ReferenceDesignParams = ReferenceDesignParams\n> extends TemplateItemMapper<T, P> {\n constructor(params: DesignMapperParams<P> | ModelMapperParams<T, P>) {\n super(params);\n }\n\n getPotentialDesigns(property: DesignProperty): DesignBase[] {\n return [FORM_OPTION_SELECTOR_POTENTIAL_DESIGN];\n }\n\n protected toDesign(model: T, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design: Design = super.toDesign(model, languageId, parent);\n const groupSection = this.getGroupSectionItems(model, languageId, parent);\n const sections: DesignSection[] = [...design.sections, groupSection];\n return { ...design, sections, parent };\n }\n\n protected toModel(design: Design): T {\n let model = super.toModel(design);\n\n const groupProperties = getLiteralProperties(design, optionGroupItemSectionDisplayNameMap[design.type], [\n prop_item_min_selections,\n prop_item_max_selections,\n ]);\n\n const { options, optionTemplateMap } = FormOptionDesignUtil.getOptionsAndTemplateMap<O>(\n design,\n 'optionGroupItem',\n MtnaTemplateCoreDesign.toTemplateItem,\n this.context\n );\n\n model = { ...model, ...groupProperties, optionTemplateMap, options };\n return model;\n }\n\n private getParentForFormOptionSelector(model: T, languageId: MtnaLanguageId): DesignBase {\n const id = model.instanceId;\n // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;\n let display = isPresent(model.name) && model.name !== '' ? model.name : undefined;\n if (!isPresent(display)) {\n display = i18n_newTemplateItem;\n }\n const type = model.itemId;\n const typeDisplay = this.getTypeDisplay(model.itemId);\n const focusType = 'MAINTAIN_FOCUS';\n return { id, display, type, typeDisplay, focusType };\n }\n\n private getGroupSectionItems(model: T, languageId: MtnaLanguageId, parent?: DesignBase): DesignSection {\n const properties: DesignProperty[] = [];\n const designOptions: Design[] = [];\n\n properties.push(\n getLiteralDesignProperty(i18n_minSelections, i18n_minSelectionsInstructions, prop_item_min_selections, 'INTEGER', model.minSelections)\n );\n properties.push(\n getLiteralDesignProperty(i18n_maxSelections, i18n_maxSelectionsInstructions, prop_item_max_selections, 'INTEGER', model.maxSelections)\n );\n\n const parentForFormOptionSelector = this.getParentForFormOptionSelector(model, languageId);\n\n for (const formOptionSelector of model.options) {\n const designOption: Design = FormOptionDesignUtil.optionSelectorToDesign<O>(\n formOptionSelector,\n languageId,\n model.optionTemplateMap,\n this.customParams && this.customParams.references ? this.customParams.references : {},\n parentForFormOptionSelector,\n this.context\n );\n designOptions.push(designOption);\n }\n\n properties.push(getModelDesignProperty(i18n_options, i18n_optionsInstructions, prop_item_options, true, designOptions));\n\n return { display: optionGroupItemSectionDisplayNameMap[model.itemId], properties };\n }\n}\n","import { CheckboxItemTemplate, StringOption } from '@mtna/web-form-ts';\nimport { Design, DesignBase, ReferenceDesignParams } from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { OptionGroupItemMapper } from './option-group-item-mapper';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class CheckboxItemTemplateMapper extends OptionGroupItemMapper<StringOption, CheckboxItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<CheckboxItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: CheckboxItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n return design;\n }\n\n protected toModel(design: Design): CheckboxItemTemplate {\n const model = super.toModel(design);\n return model;\n }\n}\n","import { DateItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport {\n i18n_dateConfiguration,\n i18n_label,\n i18n_labelInstructions,\n i18n_presetValue,\n i18n_presetValueInstructions,\n} from '../../i18n-constants.model';\nimport { prop_item_label, prop_item_preset_value } from '../template-design-constants.model';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class DateItemTemplateMapper extends TemplateItemMapper<DateItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<DateItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: DateItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemDate(model)];\n return design;\n }\n\n protected toModel(design: Design): DateItemTemplate {\n let model = super.toModel(design);\n const dateProperties = getLiteralProperties(design, i18n_dateConfiguration, [\n prop_item_label,\n // TODO: See the comment in getSectionItemDate method\n // prop_item_format,\n prop_item_preset_value,\n ]);\n model = { ...model, ...dateProperties };\n return model;\n }\n\n private getSectionItemDate(item: DateItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', item.label));\n /*\n * TODO: Needs to be looked into further. This would mean that we would need to have a service (or similar) that could use the provided\n * format and provide a custom MAT_DATE_FORMATS provider with the format attached to it. We do this because the 'display' prop of MatDateFormats\n * is an object, so only one type of display is available at a time, and it should match the provided format given in the model. This should\n * be an enumeration or have a way of constraining the values (available formats in the enumerations folder inside models/design/enumerations).\n */\n // properties.push(getLiteralDesignProperty(i18n_format, i18n_formatInstructions, prop_item_format, 'STRING', item.format));\n properties.push(\n getLiteralDesignProperty(i18n_presetValue, i18n_presetValueInstructions, prop_item_preset_value, 'DATE', item.presetValue)\n );\n return { display: i18n_dateConfiguration, properties };\n }\n}\n","import { DropdownItemTemplate, StringOption } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { i18n_dropdownProperties, i18n_label, i18n_labelInstructions } from '../../i18n-constants.model';\nimport { prop_item_label } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\nimport { OptionGroupItemMapper } from './option-group-item-mapper';\n\nexport class DropdownItemTemplateMapper extends OptionGroupItemMapper<StringOption, DropdownItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<DropdownItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: DropdownItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [design.sections[0], this.getSectionItemDropdown(model), design.sections[1]];\n return design;\n }\n\n protected toModel(design: Design): DropdownItemTemplate {\n let model = super.toModel(design);\n const dropdownProperties = getLiteralProperties(design, i18n_dropdownProperties, [prop_item_label]);\n model = { ...model, ...dropdownProperties };\n return model;\n }\n\n private getSectionItemDropdown(item: DropdownItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', item.label));\n return { display: i18n_dropdownProperties, properties };\n }\n}\n","import { FileUploadItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport {\n i18n_downloadAllowed,\n i18n_downloadAllowedInstructions,\n i18n_fileTypeId,\n i18n_fileTypeIdInstructions,\n i18n_fileUploadConfiguration,\n} from '../../i18n-constants.model';\nimport { prop_item_download_allowed, prop_item_file_type_id } from '../template-design-constants.model';\nimport { isPresent } from '@mtna/core-ts';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class FileUploadItemTemplateMapper extends TemplateItemMapper<FileUploadItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<FileUploadItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: FileUploadItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemFileUpload(model)];\n return design;\n }\n\n protected toModel(design: Design): FileUploadItemTemplate {\n let model = super.toModel(design);\n const fileUploadProperties = getLiteralProperties(design, i18n_fileUploadConfiguration, [\n prop_item_download_allowed,\n prop_item_file_type_id,\n ]);\n model = { ...model, ...fileUploadProperties };\n return model;\n }\n\n private getSectionItemFileUpload(item: FileUploadItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(\n getLiteralDesignProperty(\n i18n_downloadAllowed,\n i18n_downloadAllowedInstructions,\n prop_item_download_allowed,\n 'BOOLEAN',\n isPresent(item.downloadAllowed) ? item.downloadAllowed : true\n )\n );\n properties.push(\n getLiteralDesignProperty(i18n_fileTypeId, i18n_fileTypeIdInstructions, prop_item_file_type_id, 'STRING', item.fileTypeId)\n );\n return { display: i18n_fileUploadConfiguration, properties };\n }\n}\n","import {\n instanceOfInternationalizedShortAnswerItemTemplate,\n InternationalizedParagraphAnswerItemTemplate,\n InternationalizedShortAnswerItemTemplate,\n} from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n LiteralType,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { i18n_label, i18n_labelInstructions, i18n_textInputConfiguration } from '../../i18n-constants.model';\nimport { prop_item_label } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class I18nTextResponseItemTemplateMapper extends TemplateItemMapper<\n InternationalizedShortAnswerItemTemplate | InternationalizedParagraphAnswerItemTemplate\n> {\n constructor(\n params:\n | DesignMapperParams<ReferenceDesignParams>\n | ModelMapperParams<InternationalizedShortAnswerItemTemplate | InternationalizedParagraphAnswerItemTemplate, ReferenceDesignParams>\n ) {\n super(params);\n }\n\n protected toDesign(\n model: InternationalizedShortAnswerItemTemplate | InternationalizedParagraphAnswerItemTemplate,\n languageId: MtnaLanguageId,\n parent?: DesignBase\n ): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemTextAnswerI18n(model)];\n return design;\n }\n\n protected toModel(design: Design): InternationalizedShortAnswerItemTemplate | InternationalizedParagraphAnswerItemTemplate {\n let model = super.toModel(design);\n const textResponseProperties = getLiteralProperties(design, i18n_textInputConfiguration, [prop_item_label]);\n model = { ...model, ...textResponseProperties };\n return model;\n }\n\n private getSectionItemTextAnswerI18n(\n item: InternationalizedShortAnswerItemTemplate | InternationalizedParagraphAnswerItemTemplate\n ): DesignSection {\n const properties: DesignProperty[] = [];\n const type: LiteralType = instanceOfInternationalizedShortAnswerItemTemplate(item) ? 'STRING_I18N' : 'TEXT_I18N';\n properties.push(getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, type, item.label));\n return { display: i18n_textInputConfiguration, properties };\n }\n}\n","import { MultipleChoiceItemTemplate, StringOption } from '@mtna/web-form-ts';\nimport { Design, DesignBase, ReferenceDesignParams } from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\nimport { OptionGroupItemMapper } from './option-group-item-mapper';\nimport { i18n_checkboxConfiguration } from '../../i18n-constants.model';\nimport { prop_item_max_selections, prop_item_min_selections } from '../template-design-constants.model';\n\nexport class MultipleChoiceItemTemplateMapper extends OptionGroupItemMapper<StringOption, MultipleChoiceItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<MultipleChoiceItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: MultipleChoiceItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n const checkboxConfigSection = design.sections.find((section) => section.display === i18n_checkboxConfiguration);\n if (checkboxConfigSection) {\n checkboxConfigSection.properties.filter(\n (property) => property.property !== prop_item_min_selections && property.property !== prop_item_max_selections\n );\n }\n return design;\n }\n\n protected toModel(design: Design): MultipleChoiceItemTemplate {\n let model = super.toModel(design);\n // TODO - Since we no longer provide this in the 'toDesign' method above, we still need to make sure the model is correctly set.\n // This is a temporary fix until we can merge the models in the 'setModifiedModel' method of the TemplateDesignFacade.\n model.minSelections = 0;\n model.maxSelections = 1;\n return model;\n }\n}\n","import { TemplateItemMapper } from './template-item-mapper';\nimport { NumberedListItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getI18nListDesignProperty,\n getI18nListProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport {\n i18n_item,\n i18n_items,\n i18n_newItem,\n i18n_numberedListConfiguration,\n i18n_templateItemsInstructions,\n} from '../../i18n-constants.model';\nimport { prop_item_items } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class NumberedListItemTemplateMapper extends TemplateItemMapper<NumberedListItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<NumberedListItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: NumberedListItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemNumberedList(model)];\n return design;\n }\n\n protected toModel(design: Design): NumberedListItemTemplate {\n let model = super.toModel(design);\n const numberedListProperties = getI18nListProperties(design, i18n_numberedListConfiguration, [prop_item_items]);\n model = { ...model, ...numberedListProperties };\n return model;\n }\n\n private getSectionItemNumberedList(item: NumberedListItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n // TODO need to handle for repeated literals, add new type of REPEATED_STRING_I18N(?) and component to handle input\n properties.push(\n getI18nListDesignProperty(i18n_items, i18n_templateItemsInstructions, prop_item_items, i18n_item, i18n_newItem, item.items)\n );\n return { display: i18n_numberedListConfiguration, properties };\n }\n}\n","import { DecimalAnswerItemTemplate, instanceOfWholeNumberAnswerItemTemplate, WholeNumberAnswerItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n LiteralType,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport {\n i18n_label,\n i18n_labelInstructions,\n i18n_maxValue,\n i18n_maxValueInstructions,\n i18n_minValue,\n i18n_minValueInstructions,\n i18n_numericConfiguration,\n i18n_positiveOnly,\n i18n_positiveOnlyInstructions,\n} from '../../i18n-constants.model';\nimport { prop_item_label, prop_item_max_value, prop_item_min_value, prop_item_positive_only } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class NumericResponseItemTemplateMapper extends TemplateItemMapper<DecimalAnswerItemTemplate | WholeNumberAnswerItemTemplate> {\n constructor(\n params:\n | DesignMapperParams<ReferenceDesignParams>\n | ModelMapperParams<DecimalAnswerItemTemplate | WholeNumberAnswerItemTemplate, ReferenceDesignParams>\n ) {\n super(params);\n }\n\n protected toDesign(\n model: DecimalAnswerItemTemplate | WholeNumberAnswerItemTemplate,\n languageId: MtnaLanguageId,\n parent?: DesignBase\n ): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemNumericAnswer(model)];\n return design;\n }\n\n protected toModel(design: Design): DecimalAnswerItemTemplate | WholeNumberAnswerItemTemplate {\n let model = super.toModel(design);\n const numericProperties = getLiteralProperties(design, i18n_numericConfiguration, [\n prop_item_label,\n prop_item_min_value,\n prop_item_max_value,\n prop_item_positive_only,\n ]);\n model = { ...model, ...numericProperties };\n return model;\n }\n\n private getSectionItemNumericAnswer(item: WholeNumberAnswerItemTemplate | DecimalAnswerItemTemplate): DesignSection {\n const type: LiteralType = instanceOfWholeNumberAnswerItemTemplate(item) ? 'INTEGER' : 'DOUBLE';\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', item.label));\n properties.push(getLiteralDesignProperty(i18n_minValue, i18n_minValueInstructions, prop_item_min_value, type, item.maxValue));\n properties.push(getLiteralDesignProperty(i18n_maxValue, i18n_maxValueInstructions, prop_item_max_value, type, item.minValue));\n properties.push(\n getLiteralDesignProperty(\n i18n_positiveOnly,\n i18n_positiveOnlyInstructions,\n prop_item_positive_only,\n 'BOOLEAN',\n item.positiveOnly ?? false\n )\n );\n return { display: i18n_numericConfiguration, properties };\n }\n}\n","import { TemplateItemMapper } from './template-item-mapper';\nimport { OffsetDateRangeTemplate } from '@mtna/web-form-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { i18n_format, i18n_formatInstructions, i18n_offsetDateRangeConfiguration } from '../../i18n-constants.model';\nimport { prop_item_format } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class OffsetDateRangeTemplateMapper extends TemplateItemMapper<OffsetDateRangeTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<OffsetDateRangeTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: OffsetDateRangeTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemOffsetDateRange(model)];\n return design;\n }\n\n protected toModel(design: Design): OffsetDateRangeTemplate {\n let model = super.toModel(design);\n const offsetDateRangeProperties = getLiteralProperties(design, i18n_offsetDateRangeConfiguration, [\n prop_item_format,\n // prop_item_range_limits\n ]);\n model = { ...model, ...offsetDateRangeProperties };\n return model;\n }\n\n private getSectionItemOffsetDateRange(item: OffsetDateRangeTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n // TODO need to handle for the range limits input\n // properties.push(getLiteralDesignProperty(i18n_rangeLimits, i18n_rangeLimitsInstructions, prop_item_range_limits, '', item.rangeLimits));\n // TODO need a way to constrain the values that the format can take instead of just a string\n properties.push(getLiteralDesignProperty(i18n_format, i18n_formatInstructions, prop_item_format, 'STRING', item.format));\n return { display: i18n_offsetDateRangeConfiguration, properties };\n }\n}\n","import { TemplateItemMapper } from './template-item-mapper';\nimport { RepeatableItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport {\n i18n_additionalText,\n i18n_additionalTextInstructions,\n i18n_maxOccurrances,\n i18n_maxOccurrancesInstructions,\n i18n_minOccurrances,\n i18n_minOccurrancesInstructions,\n i18n_repeatableItemConfiguration,\n i18n_repeatableItemTemplateId,\n i18n_repeatableItemTemplateIdInstructions,\n i18n_startingInstances,\n i18n_startingInstancesInstructions,\n} from '../../i18n-constants.model';\nimport {\n prop_item_additional_text,\n prop_item_max_occurrences,\n prop_item_min_occurrences,\n prop_item_repeatable_item_template_id,\n prop_item_starting_instances,\n} from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class RepeatableItemTemplateMapper extends TemplateItemMapper<RepeatableItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<RepeatableItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: RepeatableItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemRepeatableItem(model)];\n return design;\n }\n\n protected toModel(design: Design): RepeatableItemTemplate {\n let model = super.toModel(design);\n const repeatableItemProperties = getLiteralProperties(design, i18n_repeatableItemConfiguration, [\n prop_item_repeatable_item_template_id,\n prop_item_min_occurrences,\n prop_item_max_occurrences,\n prop_item_starting_instances,\n // prop_item_item,\n prop_item_additional_text,\n // prop_item_full_width,\n ]);\n model = { ...model, ...repeatableItemProperties };\n return model;\n }\n\n private getSectionItemRepeatableItem(item: RepeatableItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(\n getLiteralDesignProperty(\n i18n_repeatableItemTemplateId,\n i18n_repeatableItemTemplateIdInstructions,\n prop_item_repeatable_item_template_id,\n 'STRING',\n item.repeatableItemTemplateId\n )\n );\n properties.push(\n getLiteralDesignProperty(\n i18n_minOccurrances,\n i18n_minOccurrancesInstructions,\n prop_item_min_occurrences,\n 'INTEGER',\n item.minOccurances\n )\n );\n properties.push(\n getLiteralDesignProperty(\n i18n_maxOccurrances,\n i18n_maxOccurrancesInstructions,\n prop_item_max_occurrences,\n 'INTEGER',\n item.maxOccurances\n )\n );\n properties.push(\n getLiteralDesignProperty(\n i18n_startingInstances,\n i18n_startingInstancesInstructions,\n prop_item_starting_instances,\n 'INTEGER',\n item.startingInstances\n )\n );\n // TODO need to handle for selecting the appropriate template item\n // properties.push(\n // getLiteralDesignProperty(\n // i18n_templateItem,\n // i18n_templateItemInstructions,\n // prop_item_item,\n // '',\n // item.item\n // )\n // )\n properties.push(\n getLiteralDesignProperty(\n i18n_additionalText,\n i18n_additionalTextInstructions,\n prop_item_additional_text,\n 'STRING',\n item.additionalText\n )\n );\n // TODO pull in updated web-form-ts to include fullWidth property on RepeatableItemTemplate\n // properties.push(getLiteralDesignProperty(i18n_fullWidth, i18n_fullWidthInstructions, prop_item_full_width, 'BOOLEAN', item.fullWidth));\n return { display: i18n_repeatableItemConfiguration, properties };\n }\n}\n","import { TextItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { i18n_textConfiguration, i18n_textValue, i18n_textValueInstructions } from '../../i18n-constants.model';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { prop_item_value } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class TextItemTemplateMapper extends TemplateItemMapper<TextItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<TextItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: TextItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemText(model)];\n return design;\n }\n\n protected toModel(design: Design): TextItemTemplate {\n let model = super.toModel(design);\n const textItemProperties = getLiteralProperties(design, i18n_textConfiguration, [prop_item_value]);\n model = { ...model, ...textItemProperties };\n return model;\n }\n\n private getSectionItemText(item: TextItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_textValue, i18n_textValueInstructions, prop_item_value, 'RICH_TEXT_I18N', item.value));\n return { display: i18n_textConfiguration, properties };\n }\n}\n","import { ParagraphAnswerItemTemplate, ShortAnswerItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport {\n i18n_label,\n i18n_labelInstructions,\n i18n_maxCharCount,\n i18n_maxCharCountInstructions,\n i18n_minCharCount,\n i18n_minCharCountInstructions,\n i18n_textInputConfiguration,\n} from '../../i18n-constants.model';\nimport { prop_item_label, prop_item_max_char, prop_item_min_char } from '../template-design-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class TextResponseItemTemplateMapper extends TemplateItemMapper<ShortAnswerItemTemplate | ParagraphAnswerItemTemplate> {\n constructor(\n params:\n | DesignMapperParams<ReferenceDesignParams>\n | ModelMapperParams<ShortAnswerItemTemplate | ParagraphAnswerItemTemplate, ReferenceDesignParams>\n ) {\n super(params);\n }\n\n protected toDesign(\n model: ShortAnswerItemTemplate | ParagraphAnswerItemTemplate,\n languageId: MtnaLanguageId,\n parent?: DesignBase\n ): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemTextAnswer(model)];\n return design;\n }\n\n protected toModel(design: Design): ShortAnswerItemTemplate | ParagraphAnswerItemTemplate {\n let model = super.toModel(design);\n const textProperties = getLiteralProperties(design, i18n_textInputConfiguration, [\n prop_item_label,\n prop_item_min_char,\n prop_item_max_char,\n ]);\n model = { ...model, ...textProperties };\n return model;\n }\n\n private getSectionItemTextAnswer(item: ShortAnswerItemTemplate | ParagraphAnswerItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_label, i18n_labelInstructions, prop_item_label, 'STRING_I18N', item.label));\n properties.push(\n getLiteralDesignProperty(i18n_minCharCount, i18n_minCharCountInstructions, prop_item_min_char, 'INTEGER', item.minCharCount)\n );\n properties.push(\n getLiteralDesignProperty(i18n_maxCharCount, i18n_maxCharCountInstructions, prop_item_max_char, 'INTEGER', item.maxCharCount)\n );\n return { display: i18n_textInputConfiguration, properties };\n }\n}\n","import { TimeItemTemplate } from '@mtna/web-form-ts';\nimport { Design, DesignBase, DesignProperty, DesignSection, getLiteralProperties, ReferenceDesignParams } from '@mtna/designer-ts';\nimport { i18n_timeInputConfiguration } from '../../i18n-constants.model';\nimport { prop_item_format_time } from '../template-design-constants.model';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class TimeItemTemplateMapper extends TemplateItemMapper<TimeItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<TimeItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: TimeItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [\n ...design.sections,\n // this.getSectionItemTime(model)\n ];\n return design;\n }\n\n protected toModel(design: Design): TimeItemTemplate {\n let model = super.toModel(design);\n const timeProperties = getLiteralProperties(design, i18n_timeInputConfiguration, [prop_item_format_time]);\n model = { ...model, ...timeProperties };\n return model;\n }\n\n private getSectionItemTime(item: TimeItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n // TODO should this be an enumeration or have a way of constraining the values\n // properties.push(getLiteralDesignProperty(i18n_format, i18n_formatTimeInstructions, prop_item_format_time, 'STRING', item.format));\n return { display: i18n_timeInputConfiguration, properties };\n }\n}\n","import { TitleItemTemplate } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { i18n_childItems, i18n_title, i18n_titleInstructionsSection } from '../../i18n-constants.model';\nimport { prop_item_value } from '../template-design-constants.model';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class TitleItemTemplateMapper extends TemplateItemMapper<TitleItemTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<TitleItemTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: TitleItemTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemTitle(model)];\n return design;\n }\n\n protected toModel(design: Design): TitleItemTemplate {\n let model = super.toModel(design);\n const titleProperties = getLiteralProperties(design, i18n_childItems, [prop_item_value]);\n model = { ...model, ...titleProperties };\n return model;\n }\n\n private getSectionItemTitle(item: TitleItemTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(getLiteralDesignProperty(i18n_title, i18n_titleInstructionsSection, prop_item_value, 'STRING_I18N', item.value));\n return { display: i18n_childItems, properties };\n }\n}\n","import { YearQuarterRangeTemplate } from '@mtna/web-form-ts';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { Design, DesignBase, DesignProperty, DesignSection, getLiteralProperties, ReferenceDesignParams } from '@mtna/designer-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { i18n_yearQuarterRangeConfiguration } from '../../i18n-constants.model';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class YearQuarterRangeItemTemplateMapper extends TemplateItemMapper<YearQuarterRangeTemplate> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<YearQuarterRangeTemplate, ReferenceDesignParams>) {\n super(params);\n }\n\n protected toDesign(model: YearQuarterRangeTemplate, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemYearQuarterRange(model)];\n return design;\n }\n\n protected toModel(design: Design): YearQuarterRangeTemplate {\n let model = super.toModel(design);\n const yearQuarterRangeProperties = getLiteralProperties(design, i18n_yearQuarterRangeConfiguration, [\n // prop_item_range_limits,\n ]);\n model = { ...model, ...yearQuarterRangeProperties };\n return model;\n }\n\n private getSectionItemYearQuarterRange(item: YearQuarterRangeTemplate): DesignSection {\n const properties: DesignProperty[] = [];\n // TODO need to handle for the range limits input\n // properties.push(getLiteralDesignProperty(i18n_rangeLimits, i18n_rangeLimitsInstructions, prop_item_range_limits, '', item.rangeLimits));\n return { display: i18n_yearQuarterRangeConfiguration, properties };\n }\n}\n","import { TemplateItemGroup } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralDesignProperty,\n getLiteralProperties,\n getModelDesignProperty,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport {\n i18n_childItems,\n i18n_layout,\n i18n_layoutInstructions,\n i18n_templateItems,\n i18n_templateItemsInstructionsGroup,\n} from '../../i18n-constants.model';\nimport { prop_item_items, prop_item_layout } from '../template-design-constants.model';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { GROUP_POTENTIAL_DESIGN_LIST } from '../potential-designs.model';\nimport * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class TemplateItemGroupMapper<\n T extends TemplateItemGroup = TemplateItemGroup,\n P extends ReferenceDesignParams = ReferenceDesignParams\n> extends TemplateItemMapper<T, P> {\n constructor(params: DesignMapperParams<P> | ModelMapperParams<T, P>) {\n super(params);\n }\n\n getPotentialDesigns(property: DesignProperty): DesignBase[] {\n return GROUP_POTENTIAL_DESIGN_LIST;\n }\n\n protected toDesign(model: T, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemGroup(model, languageId, parent)];\n return design;\n }\n\n protected toModel(design: Design): T {\n let model = super.toModel(design);\n const itemGroupProperties = getLiteralProperties(design, i18n_childItems, [prop_item_layout]);\n const itemGroupModelProperties = MtnaTemplateCoreDesign.getTemplateItems(design, i18n_childItems, [prop_item_items]);\n model = { ...model, ...itemGroupProperties, ...itemGroupModelProperties };\n return model;\n }\n\n private getSectionItemGroup(item: TemplateItemGroup, languageId: MtnaLanguageId, parent?: DesignBase): DesignSection {\n const properties: DesignProperty[] = [];\n // TODO there needs a way to set possible values on enumerations, not just the actual value\n properties.push(getLiteralDesignProperty(i18n_layout, i18n_layoutInstructions, prop_item_layout, 'ENUMERATION', item.layout));\n properties.push(\n getModelDesignProperty(\n i18n_templateItems,\n i18n_templateItemsInstructionsGroup,\n prop_item_items,\n true,\n item.items ? item.items.map((item) => MtnaTemplateCoreDesign.itemToDesign(item, languageId, parent, this.context)) : []\n )\n );\n return { display: i18n_childItems, properties };\n }\n}\n","import { TemplateSection } from '@mtna/web-form-ts';\nimport {\n Design,\n DesignBase,\n DesignProperty,\n DesignSection,\n getLiteralProperties,\n getModelDesignProperty,\n ReferenceDesignParams,\n} from '@mtna/designer-ts';\nimport { i18n_childItems, i18n_title, i18n_titleInstructionsSection } from '../../i18n-constants.model';\nimport { prop_item_items, prop_item_title } from '../template-design-constants.model';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemGroupMapper } from './template-item-group-mapper';\nimport { GROUP_POTENTIAL_DESIGN_LIST, SECTION_POTENTIAL_DESIGN_LIST } from '../potential-designs.model';\nimport * as MtnaTemplateCoreDesign from '../../../utilities/template-design-core-util';\nimport { DesignMapperParams, ModelMapperParams } from '@mtna/designer-angular';\n\nexport class TemplateSectionMapper extends TemplateItemGroupMapper<TemplateSection> {\n constructor(params: DesignMapperParams<ReferenceDesignParams> | ModelMapperParams<TemplateSection, ReferenceDesignParams>) {\n super(params);\n }\n\n getPotentialDesigns(property: DesignProperty): DesignBase[] {\n if (property.property === prop_item_title) {\n return SECTION_POTENTIAL_DESIGN_LIST;\n } else if (property.property === prop_item_items) {\n return GROUP_POTENTIAL_DESIGN_LIST;\n } else {\n return [];\n }\n }\n\n protected toDesign(model: TemplateSection, languageId: MtnaLanguageId, parent?: DesignBase): Design {\n // TODO: add way to handle parent sections\n const design = super.toDesign(model, languageId, parent);\n design.sections = [...design.sections, this.getSectionItemSection(model, languageId, parent)];\n return design;\n }\n\n protected toModel(design: Design): TemplateSection {\n let model = super.toModel(design);\n const sectionProperties = getLiteralProperties(design, i18n_childItems, [prop_item_title]);\n model = { ...model, ...sectionProperties };\n return model;\n }\n\n private getSectionItemSection(item: TemplateSection, languageId: MtnaLanguageId, parent?: DesignBase): DesignSection {\n const properties: DesignProperty[] = [];\n properties.push(\n getModelDesignProperty(\n i18n_title,\n i18n_titleInstructionsSection,\n prop_item_title,\n false,\n item.title ? [MtnaTemplateCoreDesign.itemToDesign(item, languageId, parent, this.context)] : []\n )\n );\n return { display: i18n_childItems, properties };\n }\n}\n","import { Context, ReferenceDesignParams } from '@mtna/designer-ts';\n\nimport { BooleanItemTemplateMapper } from './boolean-item-template-mapper';\nimport { BulletedListItemTemplateMapper } from './bulleted-list-item-template-mapper';\nimport { CheckboxItemTemplateMapper } from './checkbox-item-template-mapper';\nimport { DateItemTemplateMapper } from './date-item-template-mapper';\nimport { DropdownItemTemplateMapper } from './dropdown-item-template-mapper';\nimport { FileUploadItemTemplateMapper } from './file-upload-item-template-mapper';\nimport { I18nTextResponseItemTemplateMapper } from './i18n-text-response-item-template-mapper';\nimport { MultipleChoiceItemTemplateMapper } from './multiple-choice-item-template-mapper';\nimport { NumberedListItemTemplateMapper } from './numbered-list-item-template-mapper';\nimport { NumericResponseItemTemplateMapper } from './numeric-response-item-template-mapper';\nimport { OffsetDateRangeTemplateMapper } from './offset-date-range-template-mapper';\nimport { RepeatableItemTemplateMapper } from './repeatable-item-template-mapper';\nimport { TemplateItemMapper } from './template-item-mapper';\nimport { TextItemTemplateMapper } from './text-item-template-mapper';\nimport { TextResponseItemTemplateMapper } from './text-response-item-template-mapper';\nimport { TimeItemTemplateMapper } from './time-item-template-mapper';\nimport { TitleItemTemplateMapper } from './title-item-template-mapper';\nimport { YearQuarterRangeItemTemplateMapper } from './year-quarter-range-template-mapper';\n\nimport {\n BOOLEAN_ITEM_TEMPLATE_ID,\n BULLETED_LIST_ITEM_TEMPLATE_ID,\n CHECKBOX_ITEM_TEMPLATE_ID,\n DATE_ITEM_TEMPLATE_ID,\n DECIMAL_ANSWER_ITEM_TEMPLATE_ID,\n DROPDOWN_ITEM_TEMPLATE_ID,\n FILE_UPLOAD_ITEM_TEMPLATE_ID,\n instanceOfBooleanItemTemplate,\n instanceOfBulletedListItemTemplate,\n instanceOfCheckboxItemTemplate,\n instanceOfDateItemTemplate,\n instanceOfDecimalAnswerItemTemplate,\n instanceOfDropdownItemTemplate,\n instanceOfFileUploadItemTemplate,\n instanceOfInternationalizedParagraphAnswerItemTemplate,\n instanceOfInternationalizedShortAnswerItemTemplate,\n instanceOfMultipleChoiceItemTemplate,\n instanceOfNumberedListItemTemplate,\n instanceOfOffsetDateRangeTemplate,\n instanceOfParagraphAnswerItemTemplate,\n instanceOfRepeatableItemTemplate,\n instanceOfShortAnswerItemTemplate,\n instanceOfTemplateItemGroupImpl,\n instanceOfTemplateSectionImpl,\n instanceOfTextItemTemplate,\n instanceOfTimeItemTemplate,\n instanceOfTitleItemTemplate,\n instanceOfWholeNumberAnswerItemTemplate,\n instanceOfYearQuarterRangeTemplate,\n INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,\n MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,\n NUMBERED_LIST_ITEM_TEMPLATE_ID,\n OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,\n PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n REPEATABLE_ITEM_TEMPLATE_IMPL_ID,\n SHORT_ANSWER_ITEM_TEMPLATE_ID,\n TEMPLATE_ITEM_GROUP_IMPL_ID,\n TEMPLATE_SECTION_IMPL_ID,\n TemplateItem,\n TEXT_ITEM_TEMPLATE_ID,\n TIME_ITEM_TEMPLATE_ID,\n TITLE_ITEM_TEMPLATE_ID,\n WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,\n YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,\n} from '@mtna/web-form-ts';\nimport { MtnaLanguageId } from '@mtna/core-i18n-angular';\nimport { TemplateItemGroupMapper } from './template-item-group-mapper';\nimport { TemplateSectionMapper } from './template-section-mapper';\nimport { registerMapper } from './mapping-logic-core';\n\ntype Params = { model: TemplateItem; languageId: MtnaLanguageId; context?: Context; customParams?: ReferenceDesignParams };\n\nregisterMapper(BOOLEAN_ITEM_TEMPLATE_ID, BooleanItemTemplateMapper, (params: Params) =>\n instanceOfBooleanItemTemplate(params.model)\n ? new BooleanItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(BULLETED_LIST_ITEM_TEMPLATE_ID, BulletedListItemTemplateMapper, (params: Params) =>\n instanceOfBulletedListItemTemplate(params.model)\n ? new BulletedListItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(CHECKBOX_ITEM_TEMPLATE_ID, CheckboxItemTemplateMapper, (params: Params) =>\n instanceOfCheckboxItemTemplate(params.model)\n ? new CheckboxItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(DATE_ITEM_TEMPLATE_ID, DateItemTemplateMapper, (params: Params) =>\n instanceOfDateItemTemplate(params.model)\n ? new DateItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(DECIMAL_ANSWER_ITEM_TEMPLATE_ID, NumericResponseItemTemplateMapper, (params: Params) =>\n instanceOfDecimalAnswerItemTemplate(params.model)\n ? new NumericResponseItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(DROPDOWN_ITEM_TEMPLATE_ID, DropdownItemTemplateMapper, (params: Params) =>\n instanceOfDropdownItemTemplate(params.model)\n ? new DropdownItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(FILE_UPLOAD_ITEM_TEMPLATE_ID, FileUploadItemTemplateMapper, (params: Params) =>\n instanceOfFileUploadItemTemplate(params.model)\n ? new FileUploadItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, I18nTextResponseItemTemplateMapper, (params: Params) =>\n instanceOfInternationalizedParagraphAnswerItemTemplate(params.model)\n ? new I18nTextResponseItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID, I18nTextResponseItemTemplateMapper, (params: Params) =>\n instanceOfInternationalizedShortAnswerItemTemplate(params.model)\n ? new I18nTextResponseItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(MULTIPLE_CHOICE_ITEM_TEMPLATE_ID, MultipleChoiceItemTemplateMapper, (params: Params) =>\n instanceOfMultipleChoiceItemTemplate(params.model)\n ? new MultipleChoiceItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(NUMBERED_LIST_ITEM_TEMPLATE_ID, NumberedListItemTemplateMapper, (params: Params) =>\n instanceOfNumberedListItemTemplate(params.model)\n ? new NumberedListItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID, OffsetDateRangeTemplateMapper, (params: Params) =>\n instanceOfOffsetDateRangeTemplate(params.model)\n ? new OffsetDateRangeTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, TextResponseItemTemplateMapper, (params: Params) =>\n instanceOfParagraphAnswerItemTemplate(params.model)\n ? new TextResponseItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(REPEATABLE_ITEM_TEMPLATE_IMPL_ID, RepeatableItemTemplateMapper, (params: Params) =>\n instanceOfRepeatableItemTemplate(params.model)\n ? new RepeatableItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(SHORT_ANSWER_ITEM_TEMPLATE_ID, TextResponseItemTemplateMapper, (params: Params) =>\n instanceOfShortAnswerItemTemplate(params.model)\n ? new TextResponseItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(TEMPLATE_ITEM_GROUP_IMPL_ID, TemplateItemGroupMapper, (params: Params) =>\n instanceOfTemplateItemGroupImpl(params.model)\n ? new TemplateItemGroupMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(TEMPLATE_SECTION_IMPL_ID, TemplateSectionMapper, (params: Params) =>\n instanceOfTemplateSectionImpl(params.model)\n ? new TemplateSectionMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(TEXT_ITEM_TEMPLATE_ID, TextItemTemplateMapper, (params: Params) =>\n instanceOfTextItemTemplate(params.model)\n ? new TextItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(TIME_ITEM_TEMPLATE_ID, TimeItemTemplateMapper, (params: Params) =>\n instanceOfTimeItemTemplate(params.model)\n ? new TimeItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(TITLE_ITEM_TEMPLATE_ID, TitleItemTemplateMapper, (params: Params) =>\n instanceOfTitleItemTemplate(params.model)\n ? new TitleItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID, NumericResponseItemTemplateMapper, (params: Params) =>\n instanceOfWholeNumberAnswerItemTemplate(params.model)\n ? new NumericResponseItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n\nregisterMapper(YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID, YearQuarterRangeItemTemplateMapper, (params: Params) =>\n instanceOfYearQuarterRangeTemplate(params.model)\n ? new YearQuarterRangeItemTemplateMapper({ ...params, model: params.model }).getDesign()\n : new TemplateItemMapper(params).getDesign()\n);\n","import { MtnaEnumValue } from '@mtna/core-ts';\n\nexport const SLASHED_DATE_DISPLAY_VALUE: MtnaEnumValue = {\n value: 'MM/DD/YYYY',\n display: 'MM/DD/YYYY',\n};\n\nexport const DASHED_DATE_DISPLAY_VALUE: MtnaEnumValue = {\n value: 'MM-DD-YYYY',\n display: 'MM-DD-YYYY',\n};\n\nexport const LONG_DATE_DISPLAY_VALUE: MtnaEnumValue = {\n value: 'MMMM D, YYYY',\n display: 'MMMM D, YYYY',\n};\n\nexport const EURO_LONG_DATE_DISPLAY_VALUE: MtnaEnumValue = {\n value: 'D MMMM YYYY',\n display: 'D MMMM YYYY',\n};\n\nexport const DOTTED_DATE_DISPLAY_VALUE: MtnaEnumValue = {\n value: 'DD.MM.YYYY',\n display: 'DD.MM.YYYY',\n};\n\nexport const ISO_8601_DATE_DISPLAY_VALUE: MtnaEnumValue = {\n value: 'YYYY-MM-DD',\n display: 'YYYY-MM-DD',\n};\n\nexport const DATE_ENUM_VALUES: MtnaEnumValue[] = [\n ISO_8601_DATE_DISPLAY_VALUE,\n LONG_DATE_DISPLAY_VALUE,\n EURO_LONG_DATE_DISPLAY_VALUE,\n SLASHED_DATE_DISPLAY_VALUE,\n DASHED_DATE_DISPLAY_VALUE,\n DOTTED_DATE_DISPLAY_VALUE,\n];\n","import { Context } from '@mtna/designer-ts';\nimport { i18n_form, i18n_template } from '../i18n-constants.model';\n\nexport const template: Context = {\n id: 'template',\n display: i18n_template,\n};\n\nexport const form: Context = {\n id: 'form',\n display: i18n_form,\n};\n","export class BaseFormStep {\n constructor(public instanceId: string) {}\n}\n","import { isType } from '@mtna/core-ts';\n\nimport { BaseFormStep } from './base-form-step.model';\nimport { FormStep } from './form-step.model';\n\nexport class FormStepGroup extends BaseFormStep {\n readonly className = 'FormStepGroup';\n constructor(public steps: FormStep[], instanceId: string, public collapsed = false, public label: string, public num: number | string) {\n super(instanceId);\n }\n}\n\nexport function isFormStepGroup(something: unknown): something is FormStepGroup {\n return isType<FormStepGroup>(something, 'steps') && Array.isArray(something.steps);\n}\n\nexport function instanceOfFormStepGroup(something: unknown): something is FormStepGroup {\n return isType<FormStepGroup>(something, 'className') && something.className === 'FormStepGroup';\n}\n","import { CircleStatus } from '@mtna/core-angular';\nimport { isType } from '@mtna/core-ts';\n\nimport { BaseFormStep } from './base-form-step.model';\n\nexport class FormStep extends BaseFormStep {\n readonly className = 'FormStep';\n active = false;\n disabledText?: string;\n status: CircleStatus = 'INVALID';\n disabled = false;\n constructor(public num: number | string, public label: string, instanceId: string, public optional = false) {\n super(instanceId);\n }\n}\n\nexport function instanceOfFormStep(something: unknown): something is FormStep {\n return isType<FormStep>(something, 'className') && something.className === 'FormStep';\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface MtnaWfApiConfig {\n baseUrl: string;\n}\n\nexport const MTNA_WF_API_TOKEN = new InjectionToken<MtnaWfApiConfig>('mtnaWfApiConfig');\n","import { MatDateFormats } from '@angular/material/core';\n\nexport const CUSTOM_MAT_DATE_FORMAT: MatDateFormats = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthLabel: 'MMM', // Optional: month name like \"Jul\"\n monthYearLabel: 'YYYY MMM', // e.g., \"2025 Jul\"\n dateA11yLabel: 'LL', // Accessible label, e.g., \"July 11, 2025\"\n monthYearA11yLabel: 'MMMM YYYY', // Accessible month-year, e.g., \"July 2025\"\n },\n};\n","import { FormItem } from '@mtna/web-form-ts';\n\n/**\n * Dialog data for a {@link MtnaWfFormItemDialogComponent}\n */\nexport class MtnaWfFormItemDialogData {\n /**\n * @param formItems The form items to render in the dialog\n * @param title optional dialog title\n */\n constructor(public formItems: FormItem[], public title?: string) {}\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface MtnaWfItemWhiteList {\n itemTypes: Array<string>;\n}\n\nexport const MTNA_WF_ITEM_WHITELIST = new InjectionToken<MtnaWfItemWhiteList>('mtna-wf-item-whitelist', {\n providedIn: 'root',\n factory: MTNA_WF_ITEM_WHITELIST_FACTORY,\n});\n\nexport function MTNA_WF_ITEM_WHITELIST_FACTORY(): MtnaWfItemWhiteList {\n return {\n itemTypes: [],\n };\n}\n","import { FormStep, FormStepGroup, isFormStepGroup } from '../models';\n\n/**\n * Flattens formStepGroup.steps and combines all steps into single array\n * @param steps Array<FormStep | FormStepGroup>\n * @returns FormStep[] array of the steps and children of step groups\n */\nexport function flattenSteps(steps: Array<FormStep | FormStepGroup>): Array<FormStep> {\n return steps.reduce((a, b) => a.concat(isFormStepGroup(b) ? b.steps : b), new Array<FormStep>());\n}\n","import { CircleStatus } from '@mtna/core-angular';\n\nimport { FormStep } from '../models';\n\n/**\n * Determines if every step matches a given status\n * @param statusToCheck CircleStatus to match against\n * @param steps FormSteps with statuses to check\n * @param includeDisabled If false or not supplied, disabled steps are excluded from check\n * @param includeOptional If false or not supplied, optional steps are excluded from check\n * @param exclusionIds string[] IDs of steps to exclude from check\n */\nexport function everyStepStatus(\n statusToCheck: CircleStatus,\n steps: Array<FormStep>,\n includeDisabled?: boolean,\n includeOptional?: boolean\n): boolean;\n/**\n * Determines if every step matches a given status\n * @param statusToCheck CircleStatus to match against\n * @param steps FormSteps with statuses to check\n * @param exclusionIds string[] IDs of steps to exclude from check\n */\nexport function everyStepStatus(statusToCheck: CircleStatus, steps: Array<FormStep>, exclusionIds?: Array<string>): boolean;\n/**\n * Determines if every step matches a given status\n * @param statusToCheck CircleStatus to match against\n * @param steps FormSteps with statuses to check\n * @param includeDisabled If false or not supplied, disabled steps are excluded from check\n * @param includeOptional If false or not supplied, optional steps are excluded from check\n * @param exclusionIds string[] IDs of steps to exclude from check\n */\nexport function everyStepStatus(\n statusToCheck: CircleStatus,\n steps: Array<FormStep>,\n includeDisabled?: boolean,\n includeOptional?: boolean,\n exclusionIds?: Array<string>\n): boolean;\nexport function everyStepStatus(\n statusToCheck: CircleStatus,\n steps: Array<FormStep>,\n a?: boolean | Array<string>,\n b?: boolean,\n c?: Array<string>\n): boolean {\n if (!steps || !steps.length) {\n return false;\n }\n let exclusionIds = c || [];\n let includeDisabled = false;\n let includeOptional = false;\n // If 'a' is not null, determine if it's the 'includeDisabled' boolean, or the exclusionIds array\n if (a !== null && a !== undefined) {\n if (Array.isArray(a)) {\n exclusionIds = a;\n } else {\n includeDisabled = a;\n includeOptional = b || false;\n }\n }\n return steps\n .filter(\n (s) =>\n // Step ID is not excluded\n !exclusionIds.some((id) => id === s.instanceId) &&\n // Step status is not disabled, unless checking for disabled status\n (includeDisabled ? true : s.status !== 'DISABLED') &&\n // Step is required, unless optional steps should be checked\n (includeOptional ? true : !s.optional)\n )\n .every((s) => s.status === statusToCheck);\n}\n","import { toLetters } from '@mtna/core-ts';\nimport { FormItem, isDataCubeItem, isSection, OutlineStep, TemplateItem } from '@mtna/web-form-ts';\n\nimport { FormStep, FormStepGroup, isFormStepGroup } from '../models';\n\n/**\n * Builds up an array of FormSteps or FormStepGroups based on what is found in the provided form items. For most typical\n * forms this will mean that a step is generated for every section that is found in the form. It is assumed that all\n * inputs are held within sections and therefore the sections are the steps that should be monitored for completeness.\n * However, in some circumstances, like very short forms, it may be the case that there are no sections and that all\n * the items are set directly on the form itself. In these circumstances the allSteps parameter can be set to true and\n * a step will be produced for each form item found.\n *\n * @param items the items of the form\n * @param allSteps flag indicating that a form step should be produced for every form item\n */\nexport function generateFormSteps(items: Array<FormItem | TemplateItem>, allSteps = false): Array<FormStep | FormStepGroup> {\n // Build up an array of steps based on the form items\n return items.reduce((newArray: Array<FormStep | FormStepGroup>, item: FormItem | TemplateItem) => {\n // The number of non-group steps, used to number the top level steps\n const count = newArray.filter((step) => !isFormStepGroup(step)).length;\n if (allSteps) {\n newArray.push(new FormStep(count + 1, item.name || 'No Title', item.instanceId, !item.required));\n } else if (isSection(item)) {\n // If the item is a Section, add a step\n newArray.push(new FormStep(count + 1, item.title.value || 'No Title', item.instanceId, !item.required));\n } else if (isDataCubeItem(item)) {\n // If the item is a DataCubeItem, add a step and add a group step for the sub-sections\n newArray.push(new FormStep(count + 1, item.title.value || '', item.instanceId, !item.required));\n\n const subSectionSteps = item.items\n .filter(isSection)\n .map((item, index) => new FormStep(`${count + 1}${toLetters(index + 1)}`, item.title.value || '', item.instanceId, !item.required));\n newArray.push(new FormStepGroup(subSectionSteps, item.instanceId, false, item.name, count + 1));\n }\n\n return newArray;\n }, []);\n}\n\nexport function generateFormStepsFromOutline(outline: OutlineStep[]): Array<FormStep | FormStepGroup> {\n return outline.reduce((newArray: Array<FormStep | FormStepGroup>, step: OutlineStep) => {\n // The number of non-group steps, used to number the top level steps\n const count = newArray.filter((step) => !isFormStepGroup(step)).length;\n if (step.childSteps && step.childSteps.length > 0) {\n newArray.push(new FormStep(count + 1, step.label, step.instanceId || step.templateId, step.optional));\n const subSectionSteps = step.childSteps.map(\n (item, index) => new FormStep(`${count + 1}${toLetters(index + 1)}`, item.label, item.instanceId || item.templateId, item.optional)\n );\n newArray.push(new FormStepGroup(subSectionSteps, step.instanceId || step.templateId, false, step.label, count + 1));\n } else {\n newArray.push(new FormStep(count + 1, step.label, step.instanceId || step.templateId, step.optional));\n }\n return newArray;\n }, []);\n}\n\n// model from andrew\nexport interface FormStepData extends OutlineStep {\n num: string;\n}\n","import { FORM_ITEM_GROUP_IMPL_ID, SECTION_ID, TEXT_ITEM_ID, TITLE_ITEM_ID } from '@mtna/web-form-ts';\n\nexport function getItemClassSuffix(itemId: string): string {\n // FIXME: surely there is a stronger/better way\n switch (itemId) {\n case FORM_ITEM_GROUP_IMPL_ID:\n return 'group';\n case SECTION_ID:\n return 'section';\n case TEXT_ITEM_ID:\n return 'text';\n case TITLE_ITEM_ID:\n return 'title';\n default:\n return 'item';\n }\n}\n","import { FormControl } from '@angular/forms';\nimport { isObject, isType } from '@mtna/core-ts';\n\nexport function isFormControl(something: unknown): something is FormControl {\n return isObject(something) && isType<FormControl>(something, 'value') && typeof something.value === 'string';\n}\n","import {\n BooleanItemTemplate,\n BooleanOption,\n CheckboxItemTemplate,\n DropdownItemTemplate,\n FormOptionSelector,\n instanceOfBooleanItemTemplate,\n instanceOfCheckboxItemTemplate,\n instanceOfDropdownItemTemplate,\n instanceOfMultipleChoiceItemTemplate,\n instanceOfTemplateItemGroupImpl,\n instanceOfTemplateSectionImpl,\n Layout,\n MultipleChoiceItemTemplate,\n Option,\n StringOption,\n Template,\n TemplateItem,\n TemplateItemGroupImpl,\n TemplateSectionImpl,\n TitleItemTemplate,\n} from '@mtna/web-form-ts';\n\nexport function mergeFormOptionSelector<O extends Option<unknown>>(\n source: FormOptionSelector<O>,\n target: FormOptionSelector<O>\n): FormOptionSelector<O> {\n const mergedFormOptionSelector: FormOptionSelector<O> = {\n ...target,\n ...source,\n disabledItems: source.disabledItems,\n enabledItems: source.enabledItems,\n option: {\n ...target.option,\n ...source.option,\n },\n };\n return mergedFormOptionSelector;\n}\n\nexport function mergeOptionTemplateMap(\n source: Record<string, TemplateItem>,\n target: Record<string, TemplateItem>\n): Record<string, TemplateItem> {\n const mergedOptionTemplateMap: Record<string, TemplateItem> = { ...target };\n for (const key of Object.keys(source)) {\n if (mergedOptionTemplateMap[key]) {\n mergedOptionTemplateMap[key] = mergeTemplateItem(source[key], mergedOptionTemplateMap[key]);\n } else {\n mergedOptionTemplateMap[key] = source[key];\n }\n }\n return mergedOptionTemplateMap;\n}\n\nexport function mergeBooleanItemTemplate(source: BooleanItemTemplate, target: BooleanItemTemplate) {\n // const conditional: Conditional = mergeConditional(source.conditional, target.conditional);\n const option: FormOptionSelector<BooleanOption> = mergeFormOptionSelector<BooleanOption>(source.option, target.option);\n const optionTemplateMap: Record<string, TemplateItem> = mergeOptionTemplateMap(source.optionTemplateMap, target.optionTemplateMap);\n const mergedBooleanItemTemplate: BooleanItemTemplate = {\n ...target,\n ...source,\n codeOption: target.codeOption || source.codeOption,\n option,\n optionTemplateMap,\n };\n return mergedBooleanItemTemplate;\n}\n\nexport function mergeFormOptionSelectors(\n source: FormOptionSelector<StringOption>[],\n target: FormOptionSelector<StringOption>[]\n): FormOptionSelector<StringOption>[] {\n const options: FormOptionSelector<StringOption>[] = [];\n for (const option of source) {\n const targetOption = target.find((t) => t.option.id === option.option.id);\n if (targetOption) {\n options.push(mergeFormOptionSelector<StringOption>(option, targetOption));\n } else {\n options.push(option);\n }\n }\n return options;\n}\n\nexport function mergeExtendedTemplateOptionGroupItem(\n source: CheckboxItemTemplate | DropdownItemTemplate | MultipleChoiceItemTemplate,\n target: CheckboxItemTemplate | DropdownItemTemplate | MultipleChoiceItemTemplate\n): CheckboxItemTemplate | DropdownItemTemplate | MultipleChoiceItemTemplate {\n const options: FormOptionSelector<StringOption>[] = mergeFormOptionSelectors(source.options, target.options);\n const optionTemplateMap: Record<string, TemplateItem> = mergeOptionTemplateMap(source.optionTemplateMap, target.optionTemplateMap);\n const mergedExtendedTemplateOptionGroupItem: CheckboxItemTemplate | DropdownItemTemplate | MultipleChoiceItemTemplate = {\n ...target,\n ...source,\n codeValueTemplateInline: target.codeValueTemplateInline || source.codeValueTemplateInline,\n codeValueTemplateMap: target.codeValueTemplateMap || source.codeValueTemplateMap,\n options,\n optionTemplateMap,\n };\n return mergedExtendedTemplateOptionGroupItem;\n}\n\nexport function mergeTemplateItemGroup(source: TemplateItemGroupImpl, target: TemplateItemGroupImpl): TemplateItemGroupImpl {\n const layout: Layout = source.layout || target.layout;\n const items: TemplateItem[] = [];\n for (const sourceItem of source.items) {\n const targetItem = target.items.find((i) => i.instanceId === sourceItem.instanceId);\n if (targetItem) {\n items.push(mergeTemplateItem(sourceItem, targetItem));\n } else {\n items.push(sourceItem);\n }\n }\n const mergedTemplateItemGroup: TemplateItemGroupImpl = { ...target, ...source, layout, items };\n return mergedTemplateItemGroup;\n}\n\nexport function mergeTemplateItemBase(source: TemplateItem, target: TemplateItem): TemplateItem {\n const mergedTemplateItemBase: TemplateItem = { ...target, ...source };\n return mergedTemplateItemBase;\n}\n\nexport function mergeTemplateSection(source: TemplateSectionImpl, target: TemplateSectionImpl): TemplateSectionImpl {\n const title = mergeTemplateItemBase(source.title, target.title) as TitleItemTemplate;\n const items: TemplateItem[] = [];\n for (const sourceItem of source.items) {\n const targetItem = target.items.find((i) => i.instanceId === sourceItem.instanceId);\n if (targetItem) {\n items.push(mergeTemplateItem(sourceItem, targetItem));\n } else {\n items.push(sourceItem);\n }\n }\n const mergedTemplateSection: TemplateSectionImpl = { ...target, ...source, title, items };\n return mergedTemplateSection;\n}\n\nexport function mergeTemplateItem(source: TemplateItem, target: TemplateItem): TemplateItem {\n let mergedTemplateItem: TemplateItem | undefined;\n if (instanceOfBooleanItemTemplate(source) && instanceOfBooleanItemTemplate(target)) {\n mergedTemplateItem = mergeBooleanItemTemplate(source, target);\n } else if (\n (instanceOfCheckboxItemTemplate(source) && instanceOfCheckboxItemTemplate(target)) ||\n (instanceOfDropdownItemTemplate(source) && instanceOfDropdownItemTemplate(target)) ||\n (instanceOfMultipleChoiceItemTemplate(source) && instanceOfMultipleChoiceItemTemplate(target))\n ) {\n mergedTemplateItem = mergeExtendedTemplateOptionGroupItem(source, target);\n } else if (instanceOfTemplateItemGroupImpl(source) && instanceOfTemplateItemGroupImpl(target)) {\n mergedTemplateItem = mergeTemplateItemGroup(source, target);\n } else if (instanceOfTemplateSectionImpl(source) && instanceOfTemplateSectionImpl(target)) {\n mergedTemplateItem = mergeTemplateSection(source, target);\n } else {\n mergedTemplateItem = { ...target, ...source };\n }\n return mergedTemplateItem;\n}\n\nexport function mergeTemplate(source: Template, target: Template): Template {\n const mergedItems: TemplateItem[] = [];\n for (const item of source.items) {\n const targetItem = target.items?.find((i) => i.instanceId === item.instanceId);\n if (targetItem) {\n mergedItems.push(mergeTemplateItem(item, targetItem));\n } else {\n mergedItems.push(item);\n }\n }\n const mergedTemplate: Template = { ...target, ...source, items: mergedItems };\n return mergedTemplate;\n}\n","import { CircleStatus } from '@mtna/core-angular';\nimport { isType } from '@mtna/core-ts';\nimport { Form, FormItemGroup, ProgressiveForm } from '@mtna/web-form-ts';\n\nimport { FormStep } from '../models';\nimport { findFormItem } from './find-form-item';\n\n/**\n * Update a {@link FormStep}'s `status`.\n * The server side form validation errors will trump the provided `status`.\n *\n * @param instanceId the instanceId of the step to update, otherwise return the original step\n * @param step the step to check\n * @param status the new status to apply to the step\n * @param form the containing form\n * @returns an updated step with the correct status\n */\nexport function updateStepStatus(\n instanceId: string,\n step: FormStep,\n status: CircleStatus,\n form: Form | ProgressiveForm | null | undefined\n): FormStep {\n if (instanceId !== step.instanceId) {\n // These aren't the droids you're looking for.\n // Return unmodified step.\n return step;\n }\n\n // A server validation error will trump the provided status\n if (form?.validationResult?.formItemValidationResults.length) {\n // Get the FormGroup that represents the step\n const group = findFormItem(step.instanceId, form);\n if (isType<FormItemGroup>(group, 'items')) {\n for (const error of form.validationResult.formItemValidationResults) {\n const itemWithError = findFormItem(error.id, group);\n // If the invalid item is within the step group,\n // show an error state\n if (itemWithError) {\n return { ...step, status: 'ERROR' };\n }\n }\n }\n }\n\n // There were no server side validation errors, just update the status\n return { ...step, status };\n}\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\nimport { FormGroup, ValidationErrors } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { isPresent, isType } from '@mtna/core-ts';\nimport { AnnotatableNumberMap } from '@mtna/pojo-social-angular';\nimport { ConditionalItem, FormItem, FormItemImpl, isConditionalItem, isOptionGroupItemImpl, isOptionItemImpl } from '@mtna/web-form-ts';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { MtnaWfFormItemComponent } from '../components/form-item/form-item.component';\n\n/** Registry of custom error messages for a specific form item. A custom error can also\n * be a function returning a string. The FormItem object is passed to any ValidationErrors\n * that are functions, so item specific information can be provided.\n * @example {\n * max: `This field's value must be less.`,\n * min: (item: FormItemImpl<any>) => instanceofWholeNumberItem(item)\n * ? `This field's value must be greater than ${item.minValue}.`\n * : `This field's value must be greater.`\n * }\n */\n// tslint:disable-next-line:interface-over-type-literal\nexport type CustomErrors = {\n [id: string]: ValidationErrors;\n};\n\n/** List of default error messages to display */\nexport const DEFAULT_ERROR_MESSAGES: ValidationErrors = {\n email: $localize`This field must include a valid email format.`,\n max: (item?: FormItemImpl<number> & { maxValue: number; minValue: number }) =>\n !isPresent(item) || !isPresent(item?.maxValue)\n ? $localize`This field's value must be less.`\n : isPresent(item?.minValue)\n ? $localize`Min value: ${item.minValue} - `\n : '' + $localize`Max value: ${item.maxValue}`,\n maxlength: $localize`This field has exceeded the allowed maximum.`,\n maxSelected: null,\n min: (item?: FormItemImpl<number> & { maxValue: number; minValue: number }) =>\n !isPresent(item) || !isPresent(item?.minValue)\n ? $localize`This field's value must be greater.`\n : $localize`Min Value: ${item.minValue}` + isPresent(item?.maxValue)\n ? $localize` - Max Value: ${item.maxValue}`\n : '',\n minlength: $localize`This field has not met the required minimum.`,\n minSelected: null,\n nonDigit: $localize`This field's value must be numeric.`,\n pattern: $localize`This field's input does not meet the accepted pattern.`,\n positive: $localize`This field's value cannot be negative.`,\n required: $localize`This field is required.`,\n requiredTrue: `$localizeThis field's value must be 'true'.`,\n wholeNumber: $localize`This field cannot contain a decimal.`,\n matDatepickerParse: $localize`This field's value is not an accepted format.`,\n};\n\nexport const WEB_FORM_CUSTOM_ERRORS = new InjectionToken<CustomErrors>('mtnaWebFormCustomFormErrors');\n\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfUIService {\n /** Map of annotation counts for each annotatable item */\n private annotations: { [id: string]: BehaviorSubject<number | null> } = {};\n /** Map of components in the MtnaForm */\n private components: { [instanceId: string]: MtnaWfFormItemComponent } = {};\n /** Map of item.disabled values that have changed */\n private disabledState: { [instanceId: string]: boolean } = {};\n /** Map of toggler ID's for components that have multiple togglers */\n private multipleEnablers: { [instanceId: string]: { [togglerId: string]: string } | null } = {};\n private errors: CustomErrors;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(private dialog: MatDialog, @Optional() @Inject(WEB_FORM_CUSTOM_ERRORS) errors?: any) {\n // Workaround for: Metadata collected contains an error that will be reported at runtime: Could not resolve type CustomErrors.\n // see https://stackoverflow.com/questions/49513359/could-not-resolve-type-document-in-angular5/53715642#53715642\n this.errors = errors as CustomErrors;\n }\n\n getDisabledStates() {\n return { ...this.disabledState };\n }\n\n /**\n * Returns an error message matching the error id\n * @param errorId Id of the error, to find the associated error message\n * @param item FormItem to pass to ValidationErrors that are functions. For instance,\n * this is useful for 'min' & 'max' value limits to display more helpful messages\n */\n getError(errorId: string, item?: FormItemImpl<unknown>): string {\n // default when no custom message exists\n let error = DEFAULT_ERROR_MESSAGES[errorId];\n if (!!this.errors && !!item) {\n // check for instance specific, via instanceId\n if (isPresent(this.errors[item.instanceId]) && isPresent(this.errors[item.instanceId][errorId])) {\n error = this.errors[item.instanceId][errorId];\n // check for item specific, via itemId\n } else if (isPresent(this.errors[item.itemId]) && isPresent(this.errors[item.itemId][errorId])) {\n error = this.errors[item.itemId][errorId];\n }\n }\n return typeof error === 'function' ? error(item) : error;\n }\n\n /**\n * Get a registered component by intance id.\n * @param id the instanceId\n * @returns the {@link FormItemComponent} that represents that ID or undefined if not registered.\n */\n getItem(id: string): MtnaWfFormItemComponent | undefined {\n return this.components[id];\n }\n\n /**\n * Sets the initial map of annotation counts, and/or pushes the new count onto the component observable stream\n * @param map AnnotatableNumberMap of counts mapped to their annotatableIds\n */\n registerAnnotations(map: AnnotatableNumberMap) {\n for (const id in map) {\n if (Object.prototype.hasOwnProperty.call(map, id)) {\n if (!this.annotations[id]) {\n this.annotations[id] = new BehaviorSubject<number | null>(map[id]);\n } else {\n this.annotations[id].next(map[id]);\n }\n }\n }\n }\n\n /**\n * Maps a component to its items instanceId.\n * @param component component calling this method, i.e. 'this'\n */\n registerSelf(component: MtnaWfFormItemComponent) {\n this.components[component.item.instanceId] = component;\n if (!!component.item.annotatableId && component.item.annotationEnabled) {\n if (!this.annotations[component.item.annotatableId]) {\n this.annotations[component.item.annotatableId] = new BehaviorSubject<number | null>(null);\n }\n component.annotations$ = this.annotations[component.item.annotatableId].asObservable();\n }\n }\n\n /**\n * Toggles a FormItem's visiblity and enable/disable state\n *\n * @param enabledItemIds array of component IDs for enabled items.\n * @param disabledItemIds array of component IDs for disabled items.\n * @param enabled Whether the enabledItemIds are enabled.\n * @param callerId instanceId of the item invoking this function\n * @param reset Whether to reset the multiple enabler map of the toggled item\n */\n toggleFormItems(enabledItemIds: Array<string>, disabledItemIds: Array<string>, enabled: boolean, callerId: string, reset = false) {\n if ((!enabledItemIds || !enabledItemIds.length) && (!disabledItemIds || !disabledItemIds.length)) {\n return;\n }\n const allIds = [enabledItemIds, disabledItemIds];\n for (let i = 0; i < allIds.length; i++) {\n const itemIds = allIds[i];\n const isEnabled = i === 0 ? enabled : !enabled;\n for (const id of itemIds) {\n const component = this.components[id];\n // If component is registered, toggle it\n if (component) {\n const item = component.item;\n const hasMultipleEnablers = isConditionalItem(item) && item.condition ? item.condition.itemIds.length > 1 : false;\n // If item has more than 1 enabler, handle multiple enablers\n if (hasMultipleEnablers) {\n if (reset) {\n this.multipleEnablers[item.instanceId] = null;\n }\n // If a map has not been registered, then build up a map to register\n // Should only happen the first time an item is toggled.\n if (!this.multipleEnablers[item.instanceId] && isConditionalItem(item)) {\n this.multipleEnablers[item.instanceId] = this._registerCurrentEnablers(item);\n }\n // handle Multiple Enablers\n this._handleMultipleEnablers(component, isEnabled, callerId);\n } else {\n // Not multiple enablers\n this._toggleDisabledStateAndControl(component, isEnabled);\n }\n } else {\n console.error('[toggleFormItems] component has not been registerd', id, enabled, callerId);\n }\n }\n }\n }\n\n /**\n * Generates map of all IDs currently influencing an item.\n * @param toggledItem item being toggled\n */\n private _registerCurrentEnablers(toggledItem: ConditionalItem): { [callerId: string]: string } {\n const enablers: { [callerId: string]: string } = {};\n const allIds = toggledItem.condition?.itemIds || [];\n\n for (const id of allIds) {\n const component = this.components[id];\n if (component) {\n if (this._isCurrentlyToggling(component, toggledItem.instanceId)) {\n enablers[component.item.instanceId] = component.item.instanceId;\n }\n } else {\n console.error('[registerCurrentEnablers] component has not been registered.', id);\n }\n }\n\n return enablers;\n }\n\n /**\n * Resets the map of components. This should be called by the form when\n * it is destroyed.\n */\n resetComponentMap() {\n this.annotations = {};\n this.components = {};\n this.disabledState = {};\n this.multipleEnablers = {};\n }\n\n /**\n * Determines if an influencer is currently toggling the specified toggledItemId.\n * @param influencer Item to check whether it's currently influencing the toggledItemId\n * @param toggledId InstanceId of the item being toggled\n * @returns Whether the influencer is currently toggling the toggled item\n */\n private _isCurrentlyToggling(influencer: MtnaWfFormItemComponent, toggledId: string): boolean {\n const item = influencer.item;\n // Item has single option property, so check if selected, or item.value is 'true'\n if (isOptionItemImpl(item)) {\n return item.option.selected || !!item.value || !!influencer.control?.value;\n } else if (isOptionGroupItemImpl(item)) {\n const value = influencer.control?.value ?? item.value;\n if (Array.isArray(value)) {\n // find the index of options that contain the 'toggledId' in their enabledItems\n // & check if at least 1 is selected, or its 'true' in the value\n const optionIndexes = item.options.map((o, i) => (o.enabledItems.some((id) => id === toggledId) ? i : null)).filter(isPresent);\n return optionIndexes.some((i) => !!value[i]);\n } else if (typeof value === 'string' && value.length) {\n // if the value is a single value, get the enabling option ids and check for the value in them\n return item.options.some((o) => o.option.id === value && o.enabledItems.some((id) => id === toggledId));\n }\n }\n return false;\n }\n\n /**\n * Handles component visibility for a FormItem with multiple enablers in its condition\n * @param component FormItemComponent being toggled\n * @param enabled Whether the component is being enabled\n * @param callerId ID of the caller toggling this component\n */\n private _handleMultipleEnablers(component: MtnaWfFormItemComponent, enabled: boolean, callerId: string) {\n const item = component.item;\n const enablers = { ...this.multipleEnablers[item.instanceId] };\n let isEnabled: boolean;\n if (enabled) {\n enablers[callerId] = callerId;\n isEnabled =\n isConditionalItem(item) &&\n !!item.condition &&\n (!item.condition.allRequired || item.condition.itemIds.every((id) => !!enablers[id]));\n } else {\n delete enablers[callerId];\n isEnabled = !((isConditionalItem(item) && item.condition?.allRequired) || !Object.keys(enablers).length);\n }\n // If enabled === disabled, then the state has changed\n if (this._isDisabled(item) === isEnabled) {\n this._toggleDisabledStateAndControl(component, isEnabled);\n }\n // set the new enabler map\n this.multipleEnablers[item.instanceId] = enablers;\n }\n\n /**\n * Enables or disables the control on a FormItemComponent\n * @param component FormItemComponent to enable or disable its control\n * @param enabled whether to enable the control\n */\n private _toggleControlState(component: MtnaWfFormItemComponent, enabled: boolean) {\n if (enabled && !component.control?.enabled) {\n // Enable the control if it isn't already\n if (component.control instanceof FormGroup) {\n this._enableIndividualControls(component);\n } else {\n component.control?.enable();\n }\n } else if (!enabled && component.control?.enabled) {\n // Disable the control if it isn't already\n component.control.disable();\n }\n }\n\n /**\n * Toggles both the component visiblity and the control's enable/disable status\n * @param component FormItemComponent to show or hide and enable or disable\n * @param enabled whether to show the component and whether to enable the component\n */\n private _toggleDisabledStateAndControl(component: MtnaWfFormItemComponent, enabled: boolean) {\n this.disabledState[component.item.instanceId] = !enabled;\n this._toggleControlState(component, enabled);\n if (isConditionalItem(component.item) && component.item.hideOnDisable) {\n component.visible = enabled;\n }\n }\n\n /**\n * Enables controls individually using recursion.\n * FormGroups should only exist for items with 'items' arrays, or\n * if the component is a BaseParentItemControl\n * @param comp FormItemComponent\n */\n private _enableIndividualControls(comp: MtnaWfFormItemComponent) {\n const group = comp.control as FormGroup;\n\n if (isOptionItemImpl(comp.item) || isOptionGroupItemImpl(comp.item)) {\n const map = comp.item.optionItemMap;\n const self = group.get(comp.item.instanceId);\n self?.enable();\n for (const optionId in map) {\n if (Object.prototype.hasOwnProperty.call(map, optionId)) {\n const childComp = this.components[map[optionId].instanceId];\n if (!this._isDisabled(childComp.item)) {\n this._toggleControlState(childComp, true);\n }\n }\n }\n } else if (isType<{ items: FormItemImpl<unknown>[] }>(comp.item, 'items') && comp.item.items.length) {\n // Item must have 'items' array\n for (const item of comp.item.items) {\n const childComp = this.components[item.instanceId];\n if (!this._isDisabled(item)) {\n this._toggleControlState(childComp, true);\n }\n }\n }\n group.updateValueAndValidity();\n }\n\n /**\n * Determines if a component is disabled. Prioritizes the disabledState value,\n * if it exists, otherwise returns the item's previous disabled value\n * @param item item to check for its disabled state\n */\n private _isDisabled(item: ConditionalItem | FormItem): boolean {\n const existsInDisabledStatMap = isPresent(this.disabledState[item.instanceId]);\n if (!existsInDisabledStatMap) {\n return isConditionalItem(item) ? item.disabled : false;\n } else {\n return this.disabledState[item.instanceId];\n }\n }\n}\n","import { ChangeDetectorRef, Component, Input, TemplateRef } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { CanDestroyNotify, mixinDestroyNotifier } from '@mtna/core-angular';\nimport { AnnotationIndicatorStatus, IndicatorStatusRepeater } from '@mtna/pojo-social-angular';\nimport { FormItem } from '@mtna/web-form-ts';\n\nconst _BaseFormItemComponent = mixinDestroyNotifier(class {});\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseFormItem<I extends FormItem>\n extends _BaseFormItemComponent\n implements IndicatorStatusRepeater, CanDestroyNotify\n{\n @Input() color: ThemePalette;\n\n @Input()\n get header(): TemplateRef<unknown> | null {\n return this._header;\n }\n set header(value: TemplateRef<unknown> | null) {\n this._header = value;\n }\n private _header: TemplateRef<unknown> | null = null;\n\n @Input()\n get indicatorStatus(): AnnotationIndicatorStatus {\n return this._indicatorStatus;\n }\n set indicatorStatus(value: AnnotationIndicatorStatus) {\n this._indicatorStatus = value;\n this.cdr.markForCheck();\n }\n protected _indicatorStatus: AnnotationIndicatorStatus = 'INACTIVE';\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = value;\n }\n protected _isCompact = false;\n\n @Input()\n get item(): I {\n return this._item;\n }\n set item(value: I) {\n this._item = value;\n }\n protected _item!: I;\n\n get hasItemHeader() {\n return !!this.item && (!!this.item.questionText || !!this.item.descriptiveText);\n }\n\n constructor(protected cdr: ChangeDetectorRef) {\n super();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { FormItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from './base-form-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseFormItemControl<\n I extends FormItem,\n C extends AbstractControl = AbstractControl\n> extends MtnaWfBaseFormItem<I> {\n static ngAcceptInputType_readonly: BooleanInput;\n\n @Input()\n get control(): C | null | undefined {\n return this._control;\n }\n set control(control: C | null | undefined) {\n this._control = control;\n }\n protected _control: C | null | undefined;\n\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n this.cdr.markForCheck();\n }\n protected _readonly = false;\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n\n protected setValue(item: unknown) {\n this.control?.markAsDirty();\n this.control?.setValue(item);\n }\n}\n","import { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { FormItem, FormItemGroup } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItemControl } from './base-form-item-control.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseGroupItem<I extends FormItemGroup> extends MtnaWfBaseFormItemControl<I, FormGroup> {\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n _trackByInstanceId(index: number, item: FormItem) {\n return item.instanceId;\n }\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { Component, HostBinding, Input } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { FormOptionSelector, Option, ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItemControl } from './base-form-item-control.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseValueItem<\n I extends ValueItem<unknown>,\n C extends AbstractControl = AbstractControl\n> extends MtnaWfBaseFormItemControl<I, C> {\n static ngAcceptInputType_inList: BooleanInput;\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = value;\n }\n private _inList = false;\n\n @HostBinding('class.mtna-wf-control-item') formControlClass = true;\n\n /** Override read-only getter in order to add the host binding. Shouldn't change any funtionality. */\n @HostBinding('class.read-only')\n get isReadOnly(): boolean {\n return this._readonly;\n }\n\n _trackByOptionId(index: number, option: FormOptionSelector<Option<unknown>>) {\n return option.option.id;\n }\n}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { ValueItem } from '@mtna/web-form-ts';\n\nimport { ToggleFormItemsData } from '../../models/toggle-form-item-data.model';\nimport { MtnaWfBaseValueItem } from './base-value-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseParentValueItem<I extends ValueItem<unknown>, C extends AbstractControl> extends MtnaWfBaseValueItem<I, C> {\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n override get control(): C | null | undefined {\n return super.control;\n }\n override set control(control: C | null | undefined) {\n // Checks for a wrapping form group around this item.\n if (control instanceof FormGroup && control.get(this.item.instanceId)) {\n super.control = control.get(this.item.instanceId) as C;\n this.controlWrapper = control;\n } else {\n super.control = control;\n }\n }\n\n @Output() toggleFormItems = new EventEmitter<ToggleFormItemsData>();\n\n controlWrapper: FormGroup | undefined;\n}\n","import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Section } from '@mtna/web-form-ts';\n\nimport { FormStep } from '../../models/form-stepper/form-step.model';\nimport { MtnaWfBaseGroupItem } from './base-group-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseSectionItem<S extends Section> extends MtnaWfBaseGroupItem<S> {\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(value: FormStep | null | undefined) {\n this._step = value;\n }\n private _step: FormStep | null | undefined;\n\n @Output() focused = new EventEmitter<FormStep>();\n\n constructor(cdr: ChangeDetectorRef) {\n super(cdr);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatRadioChange } from '@angular/material/radio';\nimport { MatSelectChange } from '@angular/material/select';\nimport { isPresent } from '@mtna/core-ts';\nimport { DropdownItem, FormOptionSelector, MultipleChoiceItem, StringOption } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseParentValueItem } from './base-parent-value-item.component';\n\n@Component({\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport abstract class MtnaWfBaseSingleSelectionParentValueItem<I extends DropdownItem | MultipleChoiceItem>\n extends MtnaWfBaseParentValueItem<I, FormControl>\n implements OnInit\n{\n protected selectedOption: FormOptionSelector<StringOption> | undefined;\n\n ngOnInit(): void {\n if (isPresent(this.control?.value)) {\n this.selectedOption = this.item.options.find((o) => this.control?.value === o.option.id);\n }\n }\n\n /**\n * Toggles the 'selected' value of the previous & newly selected options,\n * then calls toggleFormItems to change their enabled/disabled items\n * @param change MatRadioChange from the radio group\n */\n selectionChange(change: MatRadioChange | MatSelectChange) {\n // event fires when an option's nested item, e.g. FileUploadItem, changes value.\n // This event is not a MatRadioChange, so we need to ignore it.\n if (change instanceof MatRadioChange || change instanceof MatSelectChange) {\n // Newly selected option\n const option = this.item.options.find((o) => o.option.id === change.value);\n if (!!this.selectedOption && this.selectedOption.option.id !== change.value) {\n // New option does not match the previous option\n // Previous option's enabled/disabled items need toggling\n // toggle visibility and enable/disable, should be rendered already\n this.toggleFormItems.emit({\n enabledItemIds: this.selectedOption.enabledItems,\n disabledItemIds: this.selectedOption.disabledItems,\n enabled: false,\n callerId: this.item.instanceId,\n });\n }\n // toggle visibility and enable/disable, should be rendered already\n if (option) {\n this.toggleFormItems.emit({\n enabledItemIds: option.enabledItems,\n disabledItemIds: option.disabledItems,\n enabled: true,\n callerId: this.item.instanceId,\n });\n }\n // Set the selected option as the previous\n this.selectedOption = option;\n } else {\n console.warn('[BaseSingleSelectionParent] selectionChange - not a MatRadioChange | MatSelectChange', change);\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n ComponentFactoryResolver,\n ComponentRef,\n EventEmitter,\n Inject,\n Injector,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { INJECTION_SERVICE, InjectionService, MtnaComponentInjector } from '@mtna/core-angular';\nimport { AnnotationIndicatorStatus } from '@mtna/pojo-social-angular';\nimport { FormItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { FormStep, ToggleFormItemsData } from '../../models';\nimport { MtnaWfBaseFormItemControl } from '../base-items/base-form-item-control.component';\nimport { MtnaWfBaseFormItem } from '../base-items/base-form-item.component';\nimport { MtnaWfBaseGroupItem } from '../base-items/base-group-item.component';\nimport { MtnaWfBaseParentValueItem } from '../base-items/base-parent-value-item.component';\nimport { MtnaWfBaseSectionItem } from '../base-items/base-section-item.component';\nimport { MtnaWfBaseSingleSelectionParentValueItem } from '../base-items/base-single-selection-parent-value-item.component';\nimport { MtnaWfBaseValueItem } from '../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-item-injector',\n template: ``,\n})\n/* eslint-disable-next-line @angular-eslint/component-class-suffix */\nexport class MtnaWfItemInjector extends MtnaComponentInjector implements OnInit {\n static ngAcceptInputType_inList: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n static ngAcceptInputType_isCompact: BooleanInput;\n\n @Input() color: ThemePalette;\n\n @Input()\n get control(): AbstractControl | null | undefined {\n return this._control;\n }\n set control(control: AbstractControl | null | undefined) {\n this._control = control;\n }\n protected _control: AbstractControl | null | undefined;\n\n @Input()\n get header(): TemplateRef<unknown> | null {\n return this._header;\n }\n set header(value: TemplateRef<unknown> | null) {\n this._header = value;\n }\n private _header: TemplateRef<unknown> | null = null;\n\n @Input()\n get indicatorStatus(): AnnotationIndicatorStatus {\n return this._indicatorStatus.value;\n }\n set indicatorStatus(value: AnnotationIndicatorStatus) {\n this._indicatorStatus.next(value);\n }\n protected _indicatorStatus = new BehaviorSubject<AnnotationIndicatorStatus>('INACTIVE');\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = coerceBooleanProperty(value);\n }\n private _isCompact = false;\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = coerceBooleanProperty(value);\n }\n private _inList = false;\n\n @Input()\n get item(): FormItem {\n return this._item;\n }\n set item(value: FormItem) {\n this._item = value;\n }\n protected _item!: FormItem;\n\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n @Input()\n get readonly(): boolean {\n return this._readonly.value;\n }\n set readonly(value: boolean) {\n this._readonly.next(coerceBooleanProperty(value));\n }\n protected _readonly = new BehaviorSubject<boolean>(false);\n\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(value: FormStep | null | undefined) {\n this._step = value;\n }\n private _step: FormStep | null | undefined;\n\n @Output() focusedSection = new EventEmitter<FormStep>();\n\n @Output() toggleFormItems = new EventEmitter<ToggleFormItemsData>();\n\n private wfItemComponent: MtnaWfBaseFormItem<any> | undefined;\n\n constructor(\n protected injector: Injector,\n protected cfr: ComponentFactoryResolver,\n protected vcr: ViewContainerRef,\n @Inject(INJECTION_SERVICE) protected injectionService: InjectionService\n ) {\n super(injector, cfr, vcr, injectionService);\n }\n\n ngOnInit(): void {\n if (this.item) {\n super.ngOnInit();\n }\n }\n\n protected configureComponent(componentRef: ComponentRef<any>): void {\n this.wfItemComponent = componentRef.instance as MtnaWfBaseFormItem<any>;\n this.wfItemComponent.header = this.header;\n this._indicatorStatus.subscribe((status) => {\n if (this.wfItemComponent) {\n this.wfItemComponent.indicatorStatus = status;\n }\n });\n this.wfItemComponent.item = this.item;\n this.wfItemComponent.color = this.color;\n this.wfItemComponent.isCompact = this.isCompact;\n\n if (this.wfItemComponent instanceof MtnaWfBaseFormItemControl) {\n this.wfItemComponent.control = this.control;\n this.wfItemComponent.readonly = this.readonly;\n\n if (this.wfItemComponent instanceof MtnaWfBaseValueItem) {\n this.wfItemComponent.inList = this.inList;\n\n if (this.wfItemComponent instanceof MtnaWfBaseParentValueItem) {\n this.wfItemComponent.parentIds = this.parentIds;\n // added output to remove ui service from base components\n this.wfItemComponent.toggleFormItems.subscribe((data) => {\n this.toggleFormItems.emit(data);\n });\n\n if (this.wfItemComponent instanceof MtnaWfBaseSingleSelectionParentValueItem) {\n // empty for now unless specific configuration params are needed; placeholder\n }\n }\n }\n }\n\n if (this.wfItemComponent instanceof MtnaWfBaseGroupItem) {\n this.wfItemComponent.parentIds = this.parentIds;\n\n if (this.wfItemComponent instanceof MtnaWfBaseSectionItem) {\n this.wfItemComponent.step = this.step;\n this.wfItemComponent.focused.subscribe((step) => {\n this.focusedSection.emit(step);\n });\n }\n }\n }\n\n protected getInjectedComponentKey(): string {\n if (this.item) {\n return this.item.itemId;\n } else {\n console.error('MtnaWfItemInjector - getInjectedComponentKey - item is undefined');\n return '';\n }\n }\n}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Pipe({\n name: 'mtnaWfSanitizeHtml',\n})\nexport class MtnaWfSanitizeHtmlPipe implements PipeTransform {\n constructor(private _sanitizer: DomSanitizer) {}\n\n transform(v: string | null | undefined): SafeHtml {\n if (!v) {\n return '';\n }\n return this._sanitizer.bypassSecurityTrustHtml(v);\n }\n}\n\n@NgModule({\n declarations: [MtnaWfSanitizeHtmlPipe],\n exports: [MtnaWfSanitizeHtmlPipe],\n})\nexport class MtnaWfSanitizeHtmlPipeModule {}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * Common header html for a form item.\n *\n * @author Will Davis <will.davis@mtna.us>\n */\n@Component({\n selector: 'mtna-wf-item-header',\n templateUrl: './item-header.component.html',\n styleUrls: ['./item-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfItemHeaderComponent {\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_hideRequiredMarker: BooleanInput;\n static ngAcceptInputType_invalid: BooleanInput;\n\n @HostBinding('class.mtna-wf-item-header') itemHeaderClass = true;\n /** Optional descriptive text/HTML */\n @Input() descriptiveText: string | null | undefined;\n /** Whether the form item is disabled */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = coerceBooleanProperty(disabled);\n }\n private _disabled = false;\n\n /** Whether the required marker (asterix) is hidden. Defaults to false. */\n @Input()\n get hideRequiredMarker(): boolean {\n return this._hideRequiredMarker;\n }\n set hideRequiredMarker(hideRequiredMarker: boolean) {\n this._hideRequiredMarker = coerceBooleanProperty(hideRequiredMarker);\n }\n private _hideRequiredMarker = false;\n\n /** Whether the form item is invalid */\n @Input()\n get invalid(): boolean {\n return this._invalid;\n }\n set invalid(invalid: boolean) {\n this._invalid = coerceBooleanProperty(invalid);\n }\n private _invalid = false;\n /** Optional question text/HTML */\n @Input() questionText: string | null | undefined;\n /** Whether the form item is required */\n @Input() required = false;\n\n /** HTML to insert for required items */\n _requiredHtml = `<span aria-hidden=\"true\"> *</span>`;\n}\n","<h3\n *ngIf=\"!!questionText\"\n class=\"mtna-wf-item-question\"\n [class.invalid]=\"invalid\"\n [innerHTML]=\"questionText + (required && !disabled && !hideRequiredMarker ? _requiredHtml : '') | mtnaWfSanitizeHtml\"\n></h3>\n<p *ngIf=\"!!descriptiveText\" class=\"mtna-wf-item-description\" [innerHTML]=\"descriptiveText | mtnaWfSanitizeHtml\"></p>\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { ThemePalette } from '@angular/material/core';\nimport { AnnotationIndicatorStatus } from '@mtna/pojo-social-angular';\nimport { FormItem, isConditionalItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject, Observable } from 'rxjs';\n\nimport { FormStep, ToggleFormItemsData } from '../../models';\nimport { MtnaWfUIService } from '../../services/ui.service';\nimport { getItemClassSuffix, MTNA_WF_EXPAND_COLLAPSE } from '../../utilities';\n\n/**\n * Component that wraps an MtnaForm item.\n *\n * ChangeDetectionStrategy.OnPush was not working as of 9/19/2018.\n * Dynamic components in the ValueItemComponent were not being initialized (ngOnInit was never called).\n *\n * @export\n */\n@Component({\n selector: 'mtna-wf-item',\n templateUrl: './form-item.component.html',\n styleUrls: ['./form-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n animations: [MTNA_WF_EXPAND_COLLAPSE],\n})\nexport class MtnaWfFormItemComponent implements OnInit {\n @HostBinding('@mtnaWfExpandCollapse') visible = true;\n\n @HostBinding('attr.id')\n get elementId(): string {\n return this.item ? this.item.instanceId : '';\n }\n\n @Input() color: ThemePalette;\n\n @Input()\n get control(): AbstractControl | null | undefined {\n return this._control;\n }\n set control(control: AbstractControl | null | undefined) {\n this._control = control;\n }\n protected _control: AbstractControl | null | undefined;\n\n @Input()\n get header(): TemplateRef<unknown> | null {\n return this._header;\n }\n set header(value: TemplateRef<unknown> | null) {\n this._header = value;\n }\n private _header: TemplateRef<unknown> | null = null;\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = coerceBooleanProperty(value);\n }\n private _isCompact = false;\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = coerceBooleanProperty(value);\n }\n private _inList = false;\n\n @Input()\n get item(): FormItem {\n return this._item;\n }\n set item(value: FormItem) {\n this._item = value;\n }\n protected _item!: FormItem;\n\n @Input()\n get parentIds(): Array<string> {\n return this._parentIds;\n }\n set parentIds(value: Array<string>) {\n this._parentIds = value;\n }\n private _parentIds = new Array<string>();\n\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n }\n protected _readonly = false;\n\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(value: FormStep | null | undefined) {\n this._step = value;\n }\n private _step: FormStep | null | undefined;\n\n @Output() focusedSection = new EventEmitter<FormStep>();\n\n annotations$?: Observable<number | null>;\n indicatorStatus$ = new BehaviorSubject<AnnotationIndicatorStatus>('INACTIVE');\n\n constructor(private _elementRef: ElementRef, private uiService: MtnaWfUIService) {}\n\n ngOnInit() {\n if (isConditionalItem(this.item)) {\n this.visible = !this.item.hideOnDisable || !this.item.disabled;\n }\n this.uiService.registerSelf(this);\n\n this._elementRef.nativeElement.classList.add(`mtna-wf-${getItemClassSuffix(this.item.itemId)}`);\n }\n\n toggleFormItems(data: ToggleFormItemsData) {\n this.uiService.toggleFormItems(data.enabledItemIds, data.disabledItemIds, data.enabled, data.callerId, data.reset);\n }\n\n updateIndicatorStatus(status: AnnotationIndicatorStatus) {\n this.indicatorStatus$.next(status);\n }\n}\n","<mtna-annotations-indicator\n *ngIf=\"item.annotationEnabled\"\n [annotatableId]=\"item.annotatableId\"\n color=\"primary\"\n [count]=\"annotations$ | async\"\n (status)=\"updateIndicatorStatus($event)\"\n></mtna-annotations-indicator>\n\n<mtna-wf-item-injector\n [color]=\"color\"\n [control]=\"control\"\n [header]=\"header\"\n [indicatorStatus]=\"indicatorStatus$.value\"\n [inList]=\"inList\"\n [isCompact]=\"isCompact\"\n [item]=\"item\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n [step]=\"step\"\n (focusedSection)=\"focusedSection.emit($event)\"\n (toggleFormItems)=\"toggleFormItems($event)\"\n></mtna-wf-item-injector>\n\n<ng-template #header let-hideRequiredMarker=\"hideRequiredMarker\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled\"\n [hideRequiredMarker]=\"hideRequiredMarker\"\n [invalid]=\"control?.invalid && (control?.dirty || control?.touched)\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n</ng-template>\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemDialogData } from '../../models/form-item-dialog-data.model';\n\n/**\n * A dialog that renders a form item that represents something the user needs to acknowledge.\n */\n@Component({\n selector: 'mtna-wf-acknowledge-dialog',\n templateUrl: './acknowledge-dialog.component.html',\n})\nexport class MtnaWfAcknowledgeDialogComponent {\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: MtnaWfFormItemDialogData,\n public dialogRef: MatDialogRef<MtnaWfAcknowledgeDialogComponent, boolean>\n ) {}\n}\n","<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button [mat-dialog-close]=\"false\" mat-button i18n>CANCEL</button>\n <button [mat-dialog-close]=\"true\" color=\"accent\" mat-raised-button i18n>ACKNOWLEDGE</button>\n</mat-dialog-actions>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfItemInjector } from './form-item-injector.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MtnaWfItemInjector],\n exports: [MtnaWfItemInjector],\n})\nexport class MtnaWfItemInjectorModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStep } from '../models';\n\n@Pipe({\n name: 'childStepActive',\n})\nexport class ChildStepActivePipe implements PipeTransform {\n transform(steps: FormStep[]): boolean {\n return steps.some((step) => step.active);\n }\n}\n\n@NgModule({\n declarations: [ChildStepActivePipe],\n exports: [ChildStepActivePipe],\n})\nexport class ChildStepActivePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfGetObjectType',\n})\nexport class MtnaWfGetObjectTypePipe implements PipeTransform {\n transform(id: string): string {\n const newId = id.toLowerCase().split('.');\n return newId[newId.length - 1];\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetObjectTypePipe],\n exports: [MtnaWfGetObjectTypePipe],\n})\nexport class MtnaWfGetObjectTypePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { DateItem, ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfGetObjectTypePipe, MtnaWfGetObjectTypePipeModule } from './get-object-type.pipe';\n\n@Pipe({\n name: 'mtnaWfCoerceDateItem',\n})\nexport class MtnaWfCoerceDateItemPipe implements PipeTransform {\n constructor(private objectTypePipe: MtnaWfGetObjectTypePipe) {}\n transform(item: ValueItem<unknown> | undefined | null): DateItem | null {\n if (!!item && this.objectTypePipe.transform(item.itemId) === 'dateitem') {\n return item as DateItem;\n }\n return null;\n }\n}\n\n@NgModule({\n imports: [MtnaWfGetObjectTypePipeModule],\n declarations: [MtnaWfCoerceDateItemPipe],\n exports: [MtnaWfCoerceDateItemPipe],\n})\nexport class MtnaWfCoerceDateItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, AsyncValidatorFn, FormControl, ValidatorFn } from '@angular/forms';\n\n@Pipe({\n name: 'mtnaWfCoerceFormControl',\n})\nexport class MtnaWfCoerceFormControlPipe implements PipeTransform {\n transform(control: AbstractControl | null | undefined): FormControl | null {\n if (control) {\n const value = control.value;\n const validators: ValidatorFn | ValidatorFn[] | null = control.validator;\n const asyncValidators: AsyncValidatorFn | AsyncValidatorFn[] | null = control.asyncValidator;\n\n const newFormControl = new FormControl(value, validators, asyncValidators);\n return newFormControl;\n }\n\n return null;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfCoerceFormControlPipe],\n exports: [MtnaWfCoerceFormControlPipe],\n})\nexport class MtnaWfCoerceFormControlPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\n\nimport { isFormGroup } from '../utilities/is-form-group';\n\n/**\n * Asserts whether the given control is the narrower FormGroup type. If so, coerces the FormGroup type.\n * Otherwise, returns null.\n *\n * @example\n * <form [formGroup]=\"group | mtnaWfCoerceFormGroup\"></form>\n *\n * <form *ngIf=\"controlContainer.control | mtnaWfCoerceFormGroup as group\" [formGroup]=\"group\"></form>\n *\n * @author Chase Moore <chase.moore@mtna.us>\n */\n@Pipe({\n name: 'mtnaWfCoerceFormGroup',\n})\nexport class MtnaWfCoerceFormGroupPipe implements PipeTransform {\n /**\n * @param control control to be coerced into a FormGroup\n * @returns the control typed as FormGroup if possible; else null\n */\n transform(control: AbstractControl | null | undefined): FormGroup | null {\n if (isFormGroup(control)) {\n return control;\n }\n\n return null;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfCoerceFormGroupPipe],\n exports: [MtnaWfCoerceFormGroupPipe],\n})\nexport class MtnaWfCoerceFormGroupPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { isType } from '@mtna/core-ts';\nimport { FormItem } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'coerceFormItem',\n})\nexport class MtnaWfCoerceFormItemPipe implements PipeTransform {\n transform(item: unknown): FormItem | undefined {\n let formItem = undefined;\n if (this.instanceOfFormItem(item)) {\n formItem = item;\n }\n return formItem;\n }\n\n instanceOfFormItem(something: unknown): something is FormItem {\n return isType<FormItem>(something, 'instanceId', 'itemId', 'name', 'required', 'templateId');\n }\n}\n\n@NgModule({\n declarations: [MtnaWfCoerceFormItemPipe],\n exports: [MtnaWfCoerceFormItemPipe],\n})\nexport class MtnaWfCoerceFormItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStepGroup, instanceOfFormStepGroup } from '../models';\n\n@Pipe({\n name: 'coerceFormStepGroup',\n})\nexport class CoerceFormStepGroupPipe implements PipeTransform {\n transform(value: unknown): FormStepGroup | null {\n return instanceOfFormStepGroup(value) ? value : null;\n }\n}\n\n@NgModule({\n declarations: [CoerceFormStepGroupPipe],\n exports: [CoerceFormStepGroupPipe],\n})\nexport class CoerceFormStepGroupPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStep, instanceOfFormStep } from '../models';\n\n@Pipe({\n name: 'coerceFormStep',\n})\nexport class CoerceFormStepPipe implements PipeTransform {\n transform(value: unknown): FormStep | null {\n return instanceOfFormStep(value) ? value : null;\n }\n}\n\n@NgModule({\n declarations: [CoerceFormStepPipe],\n exports: [CoerceFormStepPipe],\n})\nexport class CoerceFormStepPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfDateQuarter',\n})\nexport class MtnaWfDateQuarterPipe implements PipeTransform {\n transform(quarter: 0 | 1 | 2 | 3, format = 'short'): string {\n const short = {\n 0: $localize`Q1`,\n 1: $localize`Q2`,\n 2: $localize`Q3`,\n 3: $localize`Q4`,\n };\n const medium = {\n 0: $localize`1st Quarter`,\n 1: $localize`2nd Quarter`,\n 2: $localize`3rd Quarter`,\n 3: $localize`4th Quarter`,\n };\n const long = {\n 0: $localize`First Quarter`,\n 1: $localize`Second Quarter`,\n 2: $localize`Third Quarter`,\n 3: $localize`Fourth Quarter`,\n };\n\n switch (format) {\n case 'short':\n return short[quarter];\n case 'medium':\n return medium[quarter];\n case 'long':\n return long[quarter];\n default:\n return '';\n }\n }\n}\n\n@NgModule({\n declarations: [MtnaWfDateQuarterPipe],\n exports: [MtnaWfDateQuarterPipe],\n})\nexport class MtnaWfDateQuarterPipeModule {}\n","import { Inject, NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItem } from '@mtna/web-form-ts';\nimport { INJECTION_SERVICE, InjectionService } from '@mtna/core-angular';\n\n/**\n * There are certain form items that are hidden from the UI because they carry static values\n * that are populated from the server. These items should not show up in the form but if they\n * go through the injector there will be an empty mtna-wf-item placed into the form which can\n * affect styling. This pipe will seek to identify form items that have no key registered in\n * the injected component providers and log them and remove them from the list of items.\n */\n@Pipe({\n name: 'mtnaWfFilterHiddenItems',\n})\nexport class MtnaWfFilterHiddenItemsPipe implements PipeTransform {\n constructor(@Inject(INJECTION_SERVICE) protected injectionService: InjectionService) {}\n\n transform(items: FormItem[] | undefined): FormItem[] {\n const filteredItems: FormItem[] = [];\n if (items) {\n for (const item of items) {\n if (this.injectionService.getInjectedComponent(item.itemId)) {\n filteredItems.push(item);\n }\n }\n }\n return filteredItems;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfFilterHiddenItemsPipe],\n exports: [MtnaWfFilterHiddenItemsPipe],\n})\nexport class MtnaWfFilterHiddenItemsPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\nimport { FormStep, FormStepGroup, isFormStepGroup } from '../models';\n\n/**\n * Pipe to determine if a FormStep is a FormStepGroup or a single step.\n */\n@Pipe({\n name: 'mtnaWfStepGroupPipe',\n})\nexport class MtnaWfFormStepGroupPipe implements PipeTransform {\n transform(step: FormStep | FormStepGroup): step is FormStepGroup {\n return isFormStepGroup(step);\n }\n}\n\n@NgModule({\n declarations: [MtnaWfFormStepGroupPipe],\n exports: [MtnaWfFormStepGroupPipe],\n})\nexport class MtnaWfFormStepGroupPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItem } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'getActiveFormStepItem',\n})\nexport class GetActiveFormStepItemPipe implements PipeTransform {\n transform(items: FormItem[] | undefined, activeStepId: string | null | undefined): FormItem | undefined {\n if (!items || !activeStepId) {\n return undefined;\n } else {\n return items.find((item) => item.instanceId === activeStepId);\n }\n }\n}\n\n@NgModule({\n declarations: [GetActiveFormStepItemPipe],\n exports: [GetActiveFormStepItemPipe],\n})\nexport class GetActiveFormStepItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfGetAutoComplete',\n})\nexport class MtnaWfGetAutoCompletePipe implements PipeTransform {\n transform(label: string | null | undefined): string {\n if (label) {\n switch (label.toLowerCase()) {\n case 'first name':\n return 'given-name';\n case 'last name':\n return 'family-name';\n case 'email':\n return 'email';\n case 'organization':\n return 'organization';\n case 'phone':\n return 'tel';\n case 'street address line 1':\n return 'address-line1';\n case 'street address line 2':\n return 'address-line2';\n case 'city':\n return 'address-level2';\n case 'state':\n return 'address-level1';\n case 'zip code':\n return 'postal-code';\n default:\n return 'off';\n }\n }\n return 'off';\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetAutoCompletePipe],\n exports: [MtnaWfGetAutoCompletePipe],\n})\nexport class MtnaWfGetAutoCompletePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { DateRange, YearQuarter } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'mtnaWfGetQuarters',\n})\nexport class MtnaWfGetAvailableQuartersPipe implements PipeTransform {\n transform(year: number | null | undefined, limits: DateRange<YearQuarter> | null | undefined): number[] {\n const quarters = [0, 1, 2, 3];\n if (!!year && !!limits) {\n // If the selected year matches the start year limit\n if (!!limits.start && !!limits.start.year && year === limits.start.year) {\n // If a start quarter limiit exists, return the limited options\n return limits.start.quarter !== null && limits.start.quarter !== undefined ? quarters.slice(limits.start.quarter) : quarters;\n }\n // If the selected year matches the end year limit\n if (!!limits.end && !!limits.end.year && year === limits.end.year) {\n // If an end quarter limit exists, return the limited options\n return limits.end.quarter !== null && limits.end.quarter !== undefined ? quarters.slice(0, limits.end.quarter + 1) : quarters;\n }\n }\n return quarters;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetAvailableQuartersPipe],\n exports: [MtnaWfGetAvailableQuartersPipe],\n})\nexport class MtnaWfGetAvailableQuartersPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItemImpl } from '@mtna/web-form-ts';\n\nimport { MtnaWfUIService } from '../services/ui.service';\n\n@Pipe({\n name: 'mtnaWfGetControlError',\n})\nexport class MtnaWfGetFormControlErrorPipe implements PipeTransform {\n constructor(private uiService: MtnaWfUIService) {}\n transform(error: { key: string; value: unknown }, item?: FormItemImpl<unknown>): unknown {\n return this.uiService.getError(error.key, item) || error.value;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetFormControlErrorPipe],\n exports: [MtnaWfGetFormControlErrorPipe],\n})\nexport class MtnaWfGetFormControlErrorPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'mtnaWfGetListIcon',\n})\nexport class MtnaWfGetListIconPipe implements PipeTransform {\n transform(header: string | null | undefined): string | null {\n if (!header) {\n return null;\n }\n header = header.toUpperCase();\n if (\n header.includes('PROJECT') ||\n header.includes('REQUEST') ||\n header.includes('ANALYTICAL APPROACH') ||\n header.includes('JUSTIFICATION FOR USE')\n ) {\n return 'assignment';\n }\n if (header.includes('DESCRIPTION')) {\n return 'subject';\n }\n if (header.includes('EMAIL')) {\n return 'alternate_email';\n }\n if (header.includes('ZIP CODE')) {\n return 'mail';\n }\n if (header.includes('ORGANIZATION')) {\n return 'business';\n }\n if (header.includes('PHONE')) {\n return 'local_phone';\n }\n if (header.includes('ADDRESS')) {\n return 'place';\n }\n if (header.includes('NAME') || header.includes('TITLE')) {\n return 'person';\n }\n if (header.includes('CITY')) {\n return 'location_city';\n }\n if (header.includes('STATE')) {\n return 'map';\n }\n return null;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetListIconPipe],\n exports: [MtnaWfGetListIconPipe],\n})\nexport class MtnaWfGetListIconPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItem } from '@mtna/web-form-ts';\n\nimport { FormStep, FormStepGroup } from '../models';\n\n@Pipe({\n name: 'getProgressiveFormItem',\n})\nexport class GetProgressiveFormItemPipe implements PipeTransform {\n transform(step: FormStep | FormStepGroup, items?: FormItem[]): FormItem | undefined {\n if (items) {\n const item = items.find((item) => item.instanceId || item.templateId === step.instanceId);\n if (item) {\n return item;\n } else {\n return undefined;\n }\n } else {\n return undefined;\n }\n }\n}\n\n@NgModule({\n declarations: [GetProgressiveFormItemPipe],\n exports: [GetProgressiveFormItemPipe],\n})\nexport class GetProgressiveFormItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormOptionSelector, StringOption } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'mtnaWfGetSelectedOptionName',\n})\nexport class MtnaWfGetSelectedOptionNamePipe implements PipeTransform {\n transform(id: string, options: FormOptionSelector<StringOption>[]): string {\n const _notApplicableText = $localize`N/A`;\n if (!options || !id) {\n return _notApplicableText;\n }\n const foundOption = options.find((o) => o.option.id === id);\n return foundOption ? foundOption.option.name : _notApplicableText;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfGetSelectedOptionNamePipe],\n exports: [MtnaWfGetSelectedOptionNamePipe],\n})\nexport class MtnaWfGetSelectedOptionNamePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { CircleStatus } from '@mtna/core-angular';\n\nimport { FormStep, FormStepGroup, instanceOfFormStep, instanceOfFormStepGroup } from '../models';\n\n@Pipe({\n name: 'getStepAriaLabel',\n})\nexport class GetStepAriaLabel implements PipeTransform {\n stepStatusTextMap: { [key in CircleStatus]: string } = {\n ['INVALID']: $localize`Invalid`,\n ['VALID']: $localize`Valid`,\n ['DISABLED']: $localize`Disabled`,\n ['ERROR']: $localize`Error`,\n ['PENDING']: $localize`Pending`,\n ['EMPTY']: $localize`Empty`,\n ['INCOMPLETE']: $localize`Incomplete`,\n ['PLACEHOLDER']: $localize`Placeholder`,\n };\n\n transform(step: FormStep | FormStepGroup, collapsed?: boolean): string {\n const stepText = $localize`Step`;\n if (instanceOfFormStepGroup(step)) {\n const collapsedText = collapsed ? $localize`collapsed step` : $localize`expanded step`;\n const childStepsActiveText = step.steps.some((childStep) => childStep.active) ? $localize`Child step active.` : '';\n return `${stepText} ${step.num}: ${step.label} - ${collapsedText}. ${childStepsActiveText}`;\n } else if (instanceOfFormStep(step)) {\n const status = step.status === 'EMPTY' || step.status === 'PLACEHOLDER' ? undefined : this.stepStatusTextMap[step.status];\n const activeText = step.active ? $localize`Active step` : undefined;\n return `${stepText} ${step.num}: ${step.label} ${status ? ' - ' + status : ''}${activeText ? ' - ' + activeText : ''}.`;\n } else {\n // Handle for unexpected types. Should never reach this point because the step should always be a FormStep or a FormStepGroup.\n return '';\n }\n }\n}\n\n@NgModule({\n declarations: [GetStepAriaLabel],\n exports: [GetStepAriaLabel],\n})\nexport class GetStepAriaLabelModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { instanceOfTemplateImpl, Template } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'instanceOfTemplateImpl',\n})\nexport class MtnaWfInstanceOfTemplateImplPipe implements PipeTransform {\n transform(something: unknown): Template | undefined {\n return instanceOfTemplateImpl(something) ? something : undefined;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfInstanceOfTemplateImplPipe],\n exports: [MtnaWfInstanceOfTemplateImplPipe],\n})\nexport class MtnaWfInstanceOfTemplateImplPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { MtnaTemplateDesign } from '../utilities';\nimport { TemplateItem } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'instanceOfTemplateItem',\n})\nexport class MtnaWfInstanceOfTemplateItemPipe implements PipeTransform {\n transform(something: unknown): TemplateItem | undefined {\n return MtnaTemplateDesign.isTemplateItem(something) ? something : undefined;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfInstanceOfTemplateItemPipe],\n exports: [MtnaWfInstanceOfTemplateItemPipe],\n})\nexport class MtnaWfInstanceOfTemplateItemPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { isType } from '@mtna/core-ts';\nimport { TEMPLATE_ITEM_GROUP_IMPL_ID, TemplateItemGroupImpl } from '@mtna/web-form-ts';\n\n@Pipe({\n name: 'mtnaWfInstanceOfTemplateItemGroupImpl',\n})\nexport class MtnaWfInstanceOfTemplateItemGroupImplPipe implements PipeTransform {\n transform(something: unknown): TemplateItemGroupImpl | undefined {\n return this.instanceOfTemplateItemGroupImpl(something) ? something : undefined;\n }\n\n instanceOfTemplateItemGroupImpl(something: unknown): something is TemplateItemGroupImpl {\n return isType<TemplateItemGroupImpl>(something, 'instanceId') && something.instanceId === TEMPLATE_ITEM_GROUP_IMPL_ID;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfInstanceOfTemplateItemGroupImplPipe],\n exports: [MtnaWfInstanceOfTemplateItemGroupImplPipe],\n})\nexport class MtnaWfInstanceOfTemplateItemGroupImplPipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { FormItem, isValueItem, ValueItem } from '@mtna/web-form-ts';\n\n/**\n * Returns an array of FormItems that contain a value.\n * Use only for readonly forms\n */\n@Pipe({\n name: 'mtnaWfItemsWithValue',\n pure: false,\n})\nexport class MtnaWfItemsWithValuePipe implements PipeTransform {\n transform(items: Array<FormItem> | null | undefined): Array<ValueItem<unknown>> {\n const list = items ? items.filter(isValueItem) : [];\n return list;\n }\n}\n\n@NgModule({\n declarations: [MtnaWfItemsWithValuePipe],\n exports: [MtnaWfItemsWithValuePipe],\n})\nexport class MtnaWfItemsWithValuePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { MtnaLocaleIds } from '@mtna/core-i18n-angular';\nimport { InternationalizedString } from '@mtna/core-i18n-ts';\nimport { isPresent } from '@mtna/core-ts';\n\n@Pipe({\n name: 'getI18nStringValueFromLocale',\n})\nexport class GetI18nStringValueFromLocalePipe implements PipeTransform {\n transform(displayLocale: typeof MtnaLocaleIds.type | undefined, i18nStrings: InternationalizedString[]): string {\n let stringValue = '';\n if (i18nStrings.length > 0 && isPresent(displayLocale)) {\n const i18nString = i18nStrings.find((i18nSt) => i18nSt.facetId === displayLocale);\n if (i18nString) {\n stringValue = i18nString.value ? i18nString.value : '';\n }\n }\n return stringValue;\n }\n}\n\n@NgModule({\n declarations: [GetI18nStringValueFromLocalePipe],\n exports: [GetI18nStringValueFromLocalePipe],\n})\nexport class GetI18nStringValueFromLocalePipeModule {}\n","import { NgModule, Pipe, PipeTransform } from '@angular/core';\nimport { MtnaLocaleIds } from '@mtna/core-i18n-angular';\nimport { InternationalizedObject } from '@mtna/core-i18n-ts';\nimport { isPresent } from '@mtna/core-ts';\n\n@Pipe({\n name: 'getI18nStringsValueFromLocale',\n})\nexport class GetI18nStringsValueFromLocalePipe implements PipeTransform {\n transform(displayLocale: typeof MtnaLocaleIds.type | undefined, i18nObject: InternationalizedObject<string[]>[]): string[] {\n let strings: string[] = [];\n if (i18nObject.length > 0 && isPresent(displayLocale)) {\n const i18nStrings: InternationalizedObject<string[]> | undefined = i18nObject.find(\n (intStrings) => intStrings.facetId === displayLocale\n );\n if (i18nStrings) {\n strings = i18nStrings.value ? i18nStrings.value : [];\n }\n }\n return strings;\n }\n}\n\n@NgModule({\n declarations: [GetI18nStringsValueFromLocalePipe],\n exports: [GetI18nStringsValueFromLocalePipe],\n})\nexport class GetI18nStringsValueFromLocalePipeModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../pipes';\nimport { MtnaWfItemHeaderComponent } from './item-header.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfItemHeaderComponent],\n exports: [MtnaWfItemHeaderComponent],\n})\nexport class MtnaWfItemHeaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MtnaAnnotationsIndicatorModule } from '@mtna/pojo-social-angular';\n\nimport { MtnaWfItemInjectorModule } from '../form-item-injector/form-item-injector.module';\nimport { MtnaWfItemHeaderModule } from '../item-header/item-header.module';\nimport { MtnaWfFormItemComponent } from './form-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaAnnotationsIndicatorModule,\n MtnaWfItemInjectorModule,\n MtnaWfItemHeaderModule,\n MatMomentDateModule,\n MatButtonModule,\n ],\n declarations: [MtnaWfFormItemComponent],\n exports: [MtnaWfFormItemComponent],\n})\nexport class MtnaWfFormItemModule {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfAcknowledgeDialogComponent } from './acknowledge-dialog.component';\n\n@NgModule({\n imports: [CommonModule, MatDialogModule, MatButtonModule, MtnaWfFormItemModule],\n declarations: [MtnaWfAcknowledgeDialogComponent],\n exports: [MtnaWfAcknowledgeDialogComponent],\n})\nexport class MtnaWfAcknowledgeDialogModule {}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Form, Form as WebForm, FormItem, FormItemImpl, Template, TemplateItem, TemplateSectionImpl } from '@mtna/web-form-ts';\nimport { Observable } from 'rxjs';\n\nimport { MTNA_WF_API_TOKEN, MtnaWfApiConfig } from '../models';\n\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfApiService {\n API_URL = `${this.apiConfig.baseUrl}/api`;\n\n FORM_URL = `${this.API_URL}/form`;\n\n TEMPLATE_URL = `${this.API_URL}/template`;\n NEW_TEMPLATE_URL = `${this.TEMPLATE_URL}/new`;\n NEW_SECTION_URL = `${this.TEMPLATE_URL}/section`;\n ITEMS_URL = `${this.TEMPLATE_URL}/items`;\n ITEM_INSTANCE_URL = `${this.TEMPLATE_URL}/item`;\n TEMPLATE_SAVE_URL = `${this.TEMPLATE_URL}/save`;\n TEMPLATE_DELETE_URL = `${this.TEMPLATE_URL}/delete`;\n\n ALL_TEMPLATES_URL = `${this.API_URL}/templates`;\n\n constructor(@Inject(MTNA_WF_API_TOKEN) protected apiConfig: MtnaWfApiConfig, protected http: HttpClient) {}\n\n /**\n * Download a web form\n * @param form the web form pojo to download\n * @returns Full HttlReponse with the Blob as the body\n */\n downloadForm(form: WebForm): Observable<HttpResponse<Blob>> {\n return this.http.post(`${this.FORM_URL}/download`, form, { observe: 'response', responseType: 'blob' });\n }\n\n /**\n * Returns a new repeatable FormItem\n * @param formInstanceId template ID of the mtna form\n * @param itemId repeatableTemplateId of the requesting RepeatableItem\n */\n getRepeatableItem(formInstanceId: string, itemId: string): Observable<FormItemImpl<unknown>> {\n return this.http.get<FormItemImpl<unknown>>(`${this.FORM_URL}/${formInstanceId}/new/item/${itemId}`);\n }\n\n getNewTemplate(): Observable<Template> {\n return this.http.get<Template>(this.NEW_TEMPLATE_URL);\n }\n\n getAllTemplates(): Observable<Template> {\n return this.http.get<Template>(this.ALL_TEMPLATES_URL);\n }\n\n getNewSection(): Observable<TemplateSectionImpl> {\n return this.http.get<TemplateSectionImpl>(this.NEW_SECTION_URL);\n }\n\n getItems(): Observable<TemplateItem[]> {\n return this.http.get<TemplateItem[]>(this.ITEMS_URL);\n }\n\n getTemplateItem(id: string): Observable<TemplateItem> {\n return this.http.get<TemplateItem>(`${this.ITEM_INSTANCE_URL}?id=${id}`);\n }\n\n saveTemplate(): Observable<Template> {\n return this.http.get<Template>(this.TEMPLATE_SAVE_URL);\n }\n\n getDeleteTemplate(): Observable<Template> {\n return this.http.get<Template>(this.TEMPLATE_DELETE_URL);\n }\n\n getTemplateInstance(template: Template): Observable<Form> {\n return this.http.post<Form>(`${this.TEMPLATE_URL}/convert`, template);\n }\n\n getTemplateItemInstance(templateItem: TemplateItem): Observable<FormItem> {\n return this.http.post<FormItem>(`${this.ITEM_INSTANCE_URL}/convert`, templateItem);\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemDialogData } from '../../models/form-item-dialog-data.model';\n\n/**\n * A dialog that renders a form item.\n */\n@Component({\n selector: 'mtna-wf-form-item-dialog',\n templateUrl: './form-item-dialog.component.html',\n})\nexport class MtnaWfFormItemDialogComponent {\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: MtnaWfFormItemDialogData,\n public dialogRef: MatDialogRef<MtnaWfFormItemDialogComponent>\n ) {}\n}\n","<h2 *ngIf=\"data.title as title\" mat-dialog-title>{{ title }}</h2>\n<mat-dialog-content>\n <mtna-wf-item *ngFor=\"let item of data.formItems\" [item]=\"item\" [readonly]=\"true\"></mtna-wf-item>\n</mat-dialog-content>\n<mat-dialog-actions align=\"end\">\n <button mat-raised-button mat-dialog-close color=\"primary\" i18n>Close</button>\n</mat-dialog-actions>\n","import { Injectable } from '@angular/core';\nimport { Section } from '@mtna/web-form-ts';\nimport { Observable } from 'rxjs';\n\nimport { MtnaWfAcknowledgeDialogComponent } from '../components/acknowledge-dialog/acknowledge-dialog.component';\nimport { MtnaWfFormItemDialogComponent } from '../components/form-item-dialog/form-item-dialog.component';\nimport { MtnaWfFormItemDialogData } from '../models/form-item-dialog-data.model';\nimport { MtnaDialogService } from '@mtna/core-angular';\n\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfDialogService {\n constructor(private dialogService: MtnaDialogService) {}\n _acknowledgementText = $localize`Acknowledgement`;\n\n /**\n * Display the acknowledgement the user agreed to for a given option.\n * @param acknowledgementItem The {@link Section} that represents the acknowledgement text to display to the user.\n */\n showAcknowledgement(acknowledgementItem: Section) {\n this.dialogService.openDialog(MtnaWfFormItemDialogComponent, {\n closeOnNavigation: true,\n data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || this._acknowledgementText),\n disableClose: false,\n hasBackdrop: true,\n maxWidth: '500px',\n });\n }\n\n /**\n * Show some text in a dialog that the user needs to \"acknowledge\" before they can make a certain selection.\n * @param acknowledgementItem The {@link Section} that represents the text displayed to the user for acknowledgement.\n * @returns Whether the user acknowledges (agrees).\n */\n verifyAcknowledgement(acknowledgementItem: Section): Observable<boolean> {\n return this.dialogService\n .openDialog(MtnaWfAcknowledgeDialogComponent, {\n closeOnNavigation: true,\n data: new MtnaWfFormItemDialogData(acknowledgementItem.items, acknowledgementItem.title.value || this._acknowledgementText),\n disableClose: true,\n hasBackdrop: true,\n maxWidth: '500px',\n })\n .afterClosed();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AbstractControl, FormGroup } from '@angular/forms';\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\nimport { skipWhile, take } from 'rxjs/operators';\n\n/**\n * This service manages and interacts with an Angular FormGroup. It provides functionality\n * to add or remove form controls dynamically, track the form's state, and notify other\n * components about unsaved changes. This service is used to centralize form handling and\n * state management, providing a reliableway to monitor and respond to form changes.\n */\n@Injectable({ providedIn: 'root' })\nexport class MtnaWfNgFormService {\n private ngForm: FormGroup | undefined;\n private unsavedChanges$: Subject<boolean> = new BehaviorSubject<boolean>(false);\n private valueChangeSubscription: Subscription | undefined;\n\n /**\n * Informs a caller when the MtnaForm is dirty and has unsaved changes.\n */\n get unsavedChanges(): Observable<boolean> {\n return this.unsavedChanges$.asObservable();\n }\n\n /**\n * Add a control from the ngForm\n * @param controlId id of the control being added\n * @param parentIds array of ids representing the path to the parent control\n * @param newControl the new form control to be added\n */\n addControl(controlId: string, parentIds: string[], newControl: AbstractControl) {\n if (!this.ngForm) {\n return;\n }\n\n const parentControl = this.ngForm.get(parentIds) as FormGroup;\n parentControl.addControl(controlId, newControl);\n parentControl.markAsTouched();\n parentControl.markAsDirty();\n this.forceUnsavedChange();\n }\n\n /**\n * Remove a control from the ngForm.\n *\n * @param controlId is of the control to remove\n * @param parentIds rray of ids representing the path to the parent control\n */\n removeControl(controlId: string, parentIds: string[]) {\n if (!this.ngForm) {\n return;\n }\n\n const parentControl = this.ngForm.get(parentIds) as FormGroup;\n parentControl.removeControl(controlId);\n parentControl.markAsTouched();\n parentControl.markAsDirty();\n this.forceUnsavedChange();\n }\n\n /**\n * Get the form if it exists\n * @returns the angular form or null\n */\n getForm(): FormGroup | undefined {\n return this.ngForm;\n }\n\n /**\n * Returns a JSON representation of form values\n */\n getFormValue() {\n // This includes values for disabled controls.\n // We loop through MtnaForm to insert values,\n // so we need the disabled controls to ensure no info loss.\n return this.ngForm?.getRawValue();\n }\n\n /**\n * @returns Whether a form has been set on this service\n */\n hasForm(): boolean {\n return !!this.ngForm;\n }\n\n /**\n * @returns Whether the form is dirty.\n */\n isFormDirty(): boolean {\n return !!this.ngForm && this.ngForm.dirty;\n }\n\n /**\n * Unsubscribes from value changes & sets the ngForm to null.\n * Should be called when any component using an MtnaForm is destroyed.\n */\n disposeForm() {\n this.unsubscribeValueChanges();\n this.ngForm = undefined;\n }\n\n /**\n * Forces the unsavedChanges observable to emit true.\n * Use with care, one example is when repeatable items are added/removed from the form.\n */\n forceUnsavedChange() {\n this.unsubscribeValueChanges();\n this.unsavedChanges$.next(true);\n }\n\n /**\n * Marks ngForm as pristine & untouched.\n */\n markAsPristineAndUntouched() {\n if (this.ngForm) {\n this.ngForm.markAsPristine();\n this.ngForm.markAsUntouched();\n this.unsavedChanges$.next(this.ngForm.dirty);\n this.observeNgFormChanges();\n }\n }\n\n /**\n * Resets the ngForm.\n */\n resetForm() {\n if (this.ngForm) {\n this.ngForm.reset();\n this.unsavedChanges$.next(this.ngForm.dirty);\n this.observeNgFormChanges();\n }\n }\n\n /**\n * Sets a FormGroup on the service so an external source may observe changes.\n * @param ngForm FormGroup to be registered.\n */\n setForm(ngForm: FormGroup) {\n this.ngForm = ngForm;\n this.unsavedChanges$.next(this.ngForm.dirty);\n if (this.ngForm.pristine) {\n this.observeNgFormChanges();\n }\n }\n\n /**\n * Subscribes to ngForm status changes & updates the unsavedChanges observable\n */\n private observeNgFormChanges() {\n this.unsubscribeValueChanges();\n if (this.ngForm) {\n this.valueChangeSubscription = this.ngForm.valueChanges\n .pipe(\n skipWhile(() => (this.ngForm ? this.ngForm.pristine : true)),\n take(1)\n )\n .subscribe(() => this.unsavedChanges$.next(this.ngForm?.dirty));\n }\n }\n\n /**\n * Removes the ngForm status change subscription.\n */\n private unsubscribeValueChanges() {\n if (!!this.valueChangeSubscription && !this.valueChangeSubscription.closed) {\n this.valueChangeSubscription.unsubscribe();\n }\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { AbstractControl } from '@angular/forms';\nimport { isType } from '@mtna/core-ts';\nimport {\n ConditionalItem,\n ConditionChange,\n Form,\n FormItem,\n FormItemGroup,\n FormItemImpl,\n FormItemValidationResult,\n isConditionalItem,\n isForm,\n isFormItemGroupImpl,\n isOptionGroupItemImpl,\n isOptionItemImpl,\n isRepeatableItem,\n isSection,\n isTableItem,\n MtnaWfFormItemChange,\n MtnaWfFormItemChangeAction,\n Option,\n OptionGroupItemImpl,\n OptionItemImpl,\n ProgressiveForm,\n RepeatableItem,\n Section,\n TableItem,\n TableRowItem,\n ValueItem,\n} from '@mtna/web-form-ts';\nimport { Observable, Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { BaseFormItem } from '../models';\nimport { findFormControl, MtnaWfSerializer } from '../utilities';\nimport { MtnaWfApiService } from './api.service';\nimport { MtnaWfNgFormService } from './ng-form.service';\nimport { MtnaWfUIService } from './ui.service';\n\n/**\n * types of FormItems that can be passed into the 'modifyMtnaFormItem' method to add/remove items\n */\ntype ParentItemUnion =\n | Form\n | Section\n | FormItemGroup\n | RepeatableItem\n | TableItem\n | OptionItemImpl<Option<unknown>, unknown>\n | OptionGroupItemImpl<Option<unknown>>;\n\n/**\n * Allows a caller to (de)serializae an MtnaForm. It contains the determining logic for returning specific form controls\n * and deserializing new MtnaForms from the reactive values, as well as registering custom Form Items & functions.\n *\n * @export\n */\n@Injectable()\nexport class MtnaWfManagerService {\n protected components = new Map<string, Type<BaseFormItem>>();\n protected formChange$ = new Subject<Form | ProgressiveForm>();\n protected progressiveFormChange$ = new Subject<ProgressiveForm>();\n /** A map of all {@link FormItemValidationResult} keyed on id */\n protected _formItemValidationResults: Record<string, FormItemValidationResult> = {};\n /** ConditionChanges on 'add' must wait until the form rerenders to toggle items */\n protected itemToggleQue: Array<ConditionChange> | null | undefined;\n protected _mtnaForm: Form | undefined;\n protected _mtnaProgressiveForm: ProgressiveForm | undefined;\n\n /**\n * Observable stream of MtnaForm changes. Used to inform a subscriber that an MtnaForm has been changed.\n *\n * @returns Observable<MtnaForm> to which a caller can subscribe\n */\n get formChanges(): Observable<Form> {\n return this.formChange$.asObservable();\n }\n\n constructor(protected apiService: MtnaWfApiService, protected ngFormService: MtnaWfNgFormService, protected uiService: MtnaWfUIService) {}\n\n /**\n * Adds or removes a FormItem from the form & modifies other affected FormItems\n * @param change MtnaWfFormItemChange\n */\n changeMtnaFormItem(change: MtnaWfFormItemChange) {\n if (!this._mtnaForm) {\n return;\n }\n\n if (change.actionType === 'REMOVE') {\n // remove the repeatable item from the mtnaform\n let newForm = this._modifyFormItem(this._mtnaForm, change) as Form;\n // modify the conditions of all effected form items\n newForm = this._modifyFormItemConditions(newForm, change);\n\n this.ngFormService.removeControl(change.id, change.parentIds);\n this.formChange$.next(newForm);\n } else {\n this.apiService\n .getRepeatableItem(this._mtnaForm.instanceId, change.id)\n .pipe(take(1))\n .subscribe((newItem: FormItemImpl<unknown>) => {\n const newFormControl = this.serializeMtnaFormItem(newItem);\n if (newFormControl && this._mtnaForm) {\n this.ngFormService.addControl(newItem.instanceId, change.parentIds, newFormControl);\n // Add the new repeatable item into the mtnaform\n let newForm = this._modifyFormItem(\n this._mtnaForm,\n {\n ...change,\n id: newItem.instanceId,\n },\n newItem\n ) as Form;\n\n // Generate a list of all formitem conditions needing change & modify those items in the form\n const conditionChanges = this.generateConditionChangeArray(newItem, 'ADD');\n newForm = this._modifyFormItemConditions(newForm, { ...change, conditionChanges });\n this.itemToggleQue = conditionChanges;\n // emit the new mtnaform\n this.formChange$.next(newForm);\n }\n });\n }\n }\n\n /**\n * Returns a ConditionChange array for items existing in the <item> which enable/disable FormItems outside the <item>'s scope.\n * @param item FormItem that effects the condition of other FormItems\n * @param action Whether this item was added (ADD), or removed (REMOVE)\n * @returns Array<ConditionChange>\n */\n generateConditionChangeArray(item: FormItem, action?: MtnaWfFormItemChangeAction): Array<ConditionChange> {\n const internalMap = {};\n this._buildInternalIdsMap(item, internalMap);\n const conditionChanges = new Array<ConditionChange>();\n this._buildConditionChangeArray(item, conditionChanges, internalMap, action);\n return conditionChanges;\n }\n\n /** @returns The top level validation results (usually the errors), keyed on ID. */\n getFormItemValidationResults(): Record<string, FormItemValidationResult> {\n return this._formItemValidationResults;\n }\n\n /**\n * Returns a new MtnaForm using the MtnaForm & reacive form values from the MtnaWfNgFormService's internal form.\n *\n * @param ngFormValues JSON object of ngFormValues\n * @returns\n */\n updateForm(ngFormValues: Record<string, unknown>): Form {\n const currentForm = this.ngFormService.getFormValue();\n return {\n ...currentForm,\n items: MtnaWfSerializer.insertFormItemValues(\n currentForm,\n ngFormValues,\n this.uiService.getDisabledStates(),\n this.dynamicFormConditional,\n this.dynamicWebFormItemBuilder\n ),\n };\n }\n\n /**\n * Returns a new MtnaForm using the previous MtnaForm & reactive form values.\n *\n * @param mtnaForm MtnaForm requiring value insertion\n * @param ngFormValues JSON object of ngForm values\n * @returns new MtnaForm\n */\n insertNewValues(mtnaForm: Form, ngFormValues: Record<string, unknown>): Form {\n return {\n ...mtnaForm,\n items: MtnaWfSerializer.insertFormItemValues(\n mtnaForm,\n ngFormValues,\n this.uiService.getDisabledStates(),\n this.dynamicFormConditional,\n this.dynamicWebFormItemBuilder\n ),\n };\n }\n\n /**\n * Serializes a Form | FormItem into FormControl(s)\n *\n * @param item Form | FormItem requiring serialization\n * @returns FormGroup | FormControl\n */\n serializeMtnaFormItem(item: Form | FormItemImpl<unknown>): AbstractControl | null {\n return MtnaWfSerializer.determineSerializeFunctionToUse(\n item,\n this,\n this.dynamicFormConditional,\n this.dynamicReactiveFormControlBuilder\n );\n }\n\n //#region Custom Component/Function Registration\n getDynamicComponent(id: string): Type<BaseFormItem> | undefined {\n return this.components.get(id);\n }\n\n /**\n * Registers a map of components to be dynamically rendered inside an MtnaForm.\n *\n * @param components the map of components that a ValueItem will use for rendering\n * @prop string - the type(itemId suffix) of component, used for retrieval\n * @prop Type - the component to be rendered, an extension of BaseFormItem\n */\n registerDynamicComponents(components: Map<string, Type<BaseFormItem>>) {\n this.components = components;\n }\n\n /**\n * Sets an MtnaForm on the service\n * @param form MtnaForm to be used for internal modification\n */\n setMtnaForm(form: Form) {\n this._mtnaForm = { ...form };\n if (!!this.itemToggleQue && !!this.itemToggleQue.length) {\n // The form needs time to rerender, so we push this loop to the end of the stack\n setTimeout(() => {\n if (this.itemToggleQue) {\n for (const change of this.itemToggleQue) {\n this.uiService.toggleFormItems(change.enabledItems, change.disabledItems, !!change.enable, change.enablerId, true);\n }\n }\n this.itemToggleQue = null;\n }, 0);\n }\n\n // Keep track of any errors coming from the server and revalidate those controls\n this._updateServerSideErrors();\n }\n\n /**\n * Any FormService extension class should override this method in order to call the\n * dynamicWebFormItemBuilder/dynamicReactiveFormControlBuilder methods. During web form generation, this method is checked &\n * the current FormItem is passed in, which can be used by the overriding method.\n *\n * @example dynamicFormConditional = (item: FormItem) => item.itemId.includes({some itemId})\n *\n */\n protected dynamicFormConditional: (item: FormItem) => boolean = () => false;\n\n /**\n * Function to be overridden by extended service in order to handle form generation for any application-specific dynamic form components.\n * Should return a new ValueItem<any>.\n * Step 3\n *\n * @example dynamicWebFormItemBuilder(section: Section | Form, item: FormItem, ngFormValue: any): ValueItem {\n * const newValue = this.generateNewValue(item, rfValue, section);\n * return { ...item, ...newValue }\n * }\n * @param section the current FormSection\n * @param item the current FormItem\n * @param ngFormValue the ngForm JSON value\n * @returns a new ValueItem\n */\n protected dynamicWebFormItemBuilder(\n /* eslint-disable @typescript-eslint/no-unused-vars */\n section: Form | FormItemGroup | RepeatableItem | undefined,\n item: FormItem,\n ngFormValue: unknown,\n disabledState?: { [instanceId: string]: boolean }\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ): ValueItem<unknown> | null {\n return null;\n }\n\n /**\n * Function to be overridden by extended service in order to handle reactive form generation\n * for any application-specific dynamic form components.\n * Should return FormControl | FormGroup.\n *\n * @example dynamicReactiveFormControlBuilder(item: FormItem) {\n * return this.buildFormControlForDynamicComponent(item: FormItem);\n * }\n * @param item FormItem used to generate form controls\n * @returns FormControl | FormGroup\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected dynamicReactiveFormControlBuilder(item: FormItem): AbstractControl | null {\n return null;\n }\n\n //#endregion\n\n //#region INTERNAL METHODS\n /**\n * Recursively traverses a Form to insert or remove a designated FormItem.\n * @param item MtnaForm to search through\n * @param change: MtnaWfFormItemChange for adding or removing a FormItem\n * @param newItem FormItem to add to its parent\n */\n protected _modifyFormItem<I extends Form | Section | FormItem | FormItemImpl<unknown>>(\n item: I,\n change: MtnaWfFormItemChange,\n newItem?: FormItem\n ): Form | Section | FormItem | FormItemImpl<unknown> {\n if (!change.parentIds.length) {\n // At this point, we reach the Parent FormItem\n if (change.actionType === 'REPLACE') {\n if ('items' in item) {\n const index = item.items.findIndex((i) => i.instanceId === newItem?.instanceId);\n const newItems = [...item.items];\n if (newItem) {\n newItems.splice(index, 1, newItem);\n }\n return { ...item, items: newItems };\n }\n return item;\n } else if (isRepeatableItem(item)) {\n return {\n ...item,\n items: change.actionType === 'ADD' ? item.items.concat(newItem || []) : item.items.filter((i) => i.instanceId !== change.id),\n };\n } else {\n return item;\n }\n }\n\n if (isForm(item) || isSection(item) || isFormItemGroupImpl(item) || isRepeatableItem(item)) {\n const items = [...item.items];\n const indexToModify = item.items.findIndex((i) => i.instanceId === change.parentIds[0]);\n const itemToModify = item.items[indexToModify] as ParentItemUnion;\n\n items.splice(\n indexToModify,\n 1,\n this._modifyFormItem(\n itemToModify,\n {\n ...change,\n parentIds: change.parentIds.slice(1),\n },\n newItem\n ) as FormItem\n );\n return {\n ...item,\n items,\n };\n } else if (isTableItem(item)) {\n return this._modifyTableItem(item as TableItem, change, newItem);\n } else if (isOptionItemImpl(item) || isOptionGroupItemImpl(item)) {\n return this._modifyOptionItem(\n item as OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n change,\n newItem\n )[0];\n }\n return item;\n }\n\n /**\n * Traverses an OptionItemMap of a FormItem to insert or remove a designated FormItem\n * @param optionItem FormItem with an optionItemMap, e.g. OptionItemImpl | OptionGroupItemImpl\n * @param change MtnaWfFormItemChange for adding or removing a FormItem\n * @param newItem FormItem to be added to its parent\n * @returns FormItem with an optionItemMap containing FormItems\n */\n private _modifyOptionItem(\n optionItem: OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n change: MtnaWfFormItemChange,\n newItem?: FormItem\n ): [OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>, boolean] {\n let found = false;\n const optionItemMap: { [id: string]: FormItem } = {};\n // Loop through the map and set the items to a new map\n // Check if any FormItem in the map matches the next parent ID\n for (const id in optionItem.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(optionItem.optionItemMap, id)) {\n // If one matches, modify & set it on the new map\n if (optionItem.optionItemMap[id].instanceId === change.parentIds[0]) {\n found = true;\n optionItemMap[id] = this._modifyFormItem(\n optionItem.optionItemMap[id] as ParentItemUnion,\n { ...change, parentIds: change.parentIds.slice(1) },\n newItem\n ) as FormItem;\n } else {\n optionItemMap[id] = optionItem.optionItemMap[id];\n }\n }\n }\n // return the item with its new optionItemMap, & whether we found the matching item\n return [{ ...optionItem, optionItemMap }, found];\n }\n\n /**\n * Traverses table rows to insert or remove a FormItem\n * @param tableItem TableItem to traverse\n * @param change MtnaWfFormItemChange for adding or removing a FormItem\n * @param newItem FormItem to be added to its parent\n * @returns TableItem with a FormItem added or removed\n */\n private _modifyTableItem(tableItem: TableItem, change: MtnaWfFormItemChange, newItem?: FormItem): TableItem {\n let found = false;\n // Map the table rows to find the FormItem with matching instanceId\n const tableRows: TableRowItem[] = tableItem.tableRows.map((row: TableRowItem) => {\n // If the item was found, skip mapping further rows\n if (!found) {\n return {\n ...row,\n items: row.items.map((rowItem: FormItem) => {\n // If we found the next matching FormItem, toggle 'found', and return the modified FormItem\n if (!!rowItem && rowItem.instanceId === change.parentIds[0]) {\n found = true;\n return this._modifyFormItem(\n rowItem as ParentItemUnion,\n { ...change, parentIds: change.parentIds.slice(1) },\n newItem\n ) as FormItem;\n }\n // If the FormItem instanceId doesn't match, but it has FormItems in its 'optionItemMap',\n // We need to check if a matching FormItem exists in its map\n if ('optionItemMap' in rowItem) {\n const returned = this._modifyOptionItem(\n rowItem as OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n change,\n newItem\n );\n found = returned[1];\n return returned[0];\n }\n return rowItem;\n }),\n };\n }\n return row;\n });\n return { ...tableItem, tableRows };\n }\n\n /**\n * Adds or removes instanceIds from the 'itemIds' in a FormItem's condition\n * @param form MtnaForm to search through & replace formitems with the new condition\n * @param change The change that recently occurred in the mtnaForm\n */\n private _modifyFormItemConditions(form: Form, change: MtnaWfFormItemChange): Form {\n let newForm = form;\n if (change.conditionChanges) {\n const formItems: { [key: string]: FormItem | ConditionalItem } = {};\n for (const cc of change.conditionChanges) {\n for (const toggledId of [...cc.enabledItems, ...cc.disabledItems]) {\n let formItem = formItems[toggledId];\n const formItemComponent = this.uiService.getItem(toggledId);\n if (!formItem && formItemComponent?.item) {\n formItem = formItemComponent?.item;\n }\n if (isConditionalItem(formItem) && formItem.condition) {\n const itemConditionItemIds = formItem.condition.itemIds || [];\n const itemIds =\n change.actionType === 'ADD'\n ? [...itemConditionItemIds, cc.enablerId]\n : itemConditionItemIds.filter((i) => i !== cc.enablerId);\n\n const newItem: ConditionalItem = { ...formItem, condition: { ...formItem.condition, itemIds } };\n const newChange = new MtnaWfFormItemChange(newItem.instanceId, formItemComponent?.parentIds || [], 'REPLACE');\n\n newForm = this._modifyFormItem(newForm, newChange, newItem as FormItem & ConditionalItem) as Form;\n formItems[toggledId] = newItem;\n }\n }\n if (change.actionType === 'REMOVE') {\n this.uiService.toggleFormItems(cc.enabledItems, cc.disabledItems, !!cc.enable, cc.enablerId);\n }\n }\n }\n return newForm;\n }\n\n /**\n * Builds a map of all instanceIds inside an item. Checks 'items' & 'optionItemMap'\n * @param item Item to recurse\n * @param idMap map of the item's internal instanceIds\n */\n private _buildInternalIdsMap(item: FormItem, idMap: Record<string, boolean>) {\n idMap[item.instanceId] = true;\n if (isType<{ items: FormItem[] }>(item, 'items')) {\n const items: FormItem[] = item.items;\n for (const subItem of items) {\n this._buildInternalIdsMap(subItem, idMap);\n }\n } else if (isType<{ optionItemMap: { [id: string]: FormItem } }>(item, 'optionItemMap')) {\n const map: { [id: string]: FormItem } = item.optionItemMap;\n for (const id in map) {\n if (Object.prototype.hasOwnProperty.call(map, id)) {\n this._buildInternalIdsMap(map[id], idMap);\n }\n }\n }\n }\n\n /**\n * Builds an array of ConditionChanges to be implemented in an MtnaForm.\n * @param item FormItem that was added/removed, which affects conditions of other FormItems\n * @param changes Array to build up\n * @param internalIdMap Map of all instanceIds located in the item; in order to exclude them from the condition changes\n * @param action Whether the item was added or removed\n */\n private _buildConditionChangeArray(\n item: FormItem,\n changes: Array<ConditionChange>,\n internalIdMap: Record<string, boolean>,\n action?: MtnaWfFormItemChangeAction\n ) {\n if (isOptionItemImpl(item)) {\n const enable = !!action && action === 'ADD' ? item.option.selected || item.value === item.option.option.id : false;\n this._pushConditionToArray(item.instanceId, item.option.enabledItems, item.option.disabledItems, changes, internalIdMap, enable);\n this._buildArrayFromOptionItemMap(item, changes, internalIdMap);\n } else if (isOptionGroupItemImpl(item)) {\n for (const option of item.options) {\n const enable =\n !!action && action === 'ADD' ? option.selected || (!!item.value && item.value.some((v) => v === option.option.id)) : false;\n this._pushConditionToArray(item.instanceId, option.enabledItems, option.disabledItems, changes, internalIdMap, enable);\n }\n this._buildArrayFromOptionItemMap(item, changes, internalIdMap, action);\n } else if (isType<{ items: FormItem[] }>(item, 'items')) {\n const items: FormItem[] = item.items;\n for (const subItem of items) {\n this._buildConditionChangeArray(subItem, changes, internalIdMap, action);\n }\n }\n }\n\n /**\n * Builds an array of ConditionChanges from an item's optionItemMap\n * @param item FormItem with an optionItemMap\n * @param conditions Array of ConditionChanges to push on new changes\n * @param itemMap map of instanceIds exisiting in an item; in order to exclude them from the changes\n * @param action Whether an item was added or removed\n */\n private _buildArrayFromOptionItemMap(\n item: OptionItemImpl<Option<unknown>, unknown> | OptionGroupItemImpl<Option<unknown>>,\n conditions: Array<ConditionChange>,\n itemMap: Record<string, boolean>,\n action?: MtnaWfFormItemChangeAction\n ) {\n if (item.optionItemMap) {\n for (const id in item.optionItemMap) {\n if (Object.prototype.hasOwnProperty.call(item.optionItemMap, id)) {\n const subItem = item.optionItemMap[id];\n this._buildConditionChangeArray(subItem, conditions, itemMap, action);\n }\n }\n }\n }\n\n /**\n * Pushes a new ConditionChange onto the conditions array. If a ConditionChange with matching id exists,\n * it merges the new values into it\n * @param enablerId instanceId of the item that enables other FormItems\n * @param enabled the item's 'enabledItems' array\n * @param disabled the item's 'disabledItems' array\n * @param conditions Array of ConditionChanges to build up\n * @param itemMap map of instanceIds inside an item; to ensure no internal ids are included in a change\n * @param enable Whether the 'enabledItems' should toggled enabled\n */\n private _pushConditionToArray(\n enablerId: string,\n enabled: string[],\n disabled: string[],\n conditions: Array<ConditionChange>,\n itemMap: Record<string, boolean>,\n enable: boolean\n ) {\n const enabledItems = enabled.filter((e) => !itemMap[e]);\n const disabledItems = disabled.filter((d) => !itemMap[d]);\n if (!!enabledItems.length || !!disabledItems.length) {\n const index = conditions.findIndex((c) => c.enablerId === enablerId);\n if (index < 0) {\n conditions.push({ enablerId: enablerId, enabledItems, disabledItems, enable });\n } else {\n const prev = conditions[index];\n const newId: ConditionChange = {\n enablerId,\n enabledItems: [...prev.enabledItems, ...enabledItems],\n disabledItems: [...prev.disabledItems, ...disabledItems],\n enable,\n };\n conditions.splice(index, 1, newId);\n }\n }\n }\n\n /**\n * Store all validation errors on the service.\n * Revalidate form controls that previously had errors or have new errors now.\n */\n private _updateServerSideErrors() {\n // Keep track of IDs for each control that needs to be revalidated\n const controlIdsToRevalidate = new Set<string>();\n\n // Collect controls previously in error to revalidate\n if (this._formItemValidationResults) {\n for (const id in this._formItemValidationResults) {\n if (Object.prototype.hasOwnProperty.call(this._formItemValidationResults, id)) {\n controlIdsToRevalidate.add(id);\n }\n }\n }\n\n // Clear out all previous stored errors\n this._formItemValidationResults = {};\n if (this._mtnaForm?.validationResult) {\n for (const result of this._mtnaForm.validationResult.formItemValidationResults) {\n if (result.validationStatus === 'ERRORS') {\n // Store errors so that the validationResultValidator can validate each control\n this._formItemValidationResults[result.id] = result;\n // We need to revalidate these controls that have errors\n controlIdsToRevalidate.add(result.id);\n }\n }\n }\n\n // Only revalidate controls actually changes\n const form = this.ngFormService.getForm();\n if (form) {\n for (const id of controlIdsToRevalidate) {\n const control = findFormControl(id, form);\n if (control) {\n control.updateValueAndValidity();\n }\n }\n }\n }\n\n //#endregion\n}\n","import { Injectable } from '@angular/core';\nimport { ResourceReference } from '@mtna/web-form-ts';\nimport { Result } from '@mtna/search-manager-ts';\nimport { MtnaSearchSelectionService } from '@mtna/search-manager-angular';\n\n@Injectable()\nexport class MtnaWfResourceSearchSelectionService extends MtnaSearchSelectionService<ResourceReference> {\n getModelFromResult(result: Result): ResourceReference {\n const referenceDetails: ResourceReference = {\n // FIXME these need to come from the item.\n uri: result.getFieldByName<string>('uri')?.value || '',\n display: result.getFieldByName<string>('title')?.value || '',\n };\n return referenceDetails;\n }\n\n modelIsResult(model: ResourceReference, result: Result): boolean {\n return model.uri === result.getFieldByName<string>('uri')?.value;\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { MTNA_WF_API_TOKEN, MtnaWfApiConfig } from '../models';\nimport { HttpClient } from '@angular/common/http';\nimport { Form, FormOptionSelector, Option, Template, TemplateItem } from '@mtna/web-form-ts';\nimport { Observable, of } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class MtnaTemplateTransformationService {\n API_URL = `${this.apiConfig.baseUrl}/api`;\n\n constructor(@Inject(MTNA_WF_API_TOKEN) protected apiConfig: MtnaWfApiConfig, protected http: HttpClient) {}\n\n convertTemplateToForm(request: Template | TemplateItem | FormOptionSelector<Option<unknown>>): Observable<Form | undefined> {\n // return this.http.post<Form>(`${this.API_URL}/template/convert`, request);\n // return of(MHDO_FORM_TEMPLATE_ON_PREMISE);\n return of(undefined);\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { AfterViewInit, Component, EventEmitter, Input, OnDestroy, Output } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { CanDestroyNotify, mixinDestroyNotifier } from '@mtna/core-angular';\nimport { AnnotatableNumberMap } from '@mtna/pojo-social-angular';\nimport { Form, FormControlStatus, FormItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { distinctUntilChanged, skipWhile, takeUntil } from 'rxjs/operators';\n\nimport { FormStep } from '../../models';\nimport { MtnaWfManagerService, MtnaWfNgFormService, MtnaWfUIService } from '../../services';\nimport { findFormControl } from '../../utilities';\n\nconst _BaseFormComponent = mixinDestroyNotifier(class {});\n\n@Component({\n template: ``,\n})\nexport class MtnaWfBaseFormComponent<F extends Form = Form>\n extends _BaseFormComponent\n implements AfterViewInit, CanDestroyNotify, OnDestroy\n{\n static ngAcceptInputType_emitStatusOnMtnaFormChange: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n static ngAcceptInputType_isCompact: BooleanInput;\n\n @Input()\n set annotations(map: AnnotatableNumberMap) {\n this.uiService.registerAnnotations(map);\n }\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = coerceBooleanProperty(value);\n }\n private _isCompact = false;\n\n /** Whether to emit the status of each step each time the {@link mtnaForm} is set to a new value. Defaults to false.*/\n @Input()\n get emitStatusOnMtnaFormChange(): boolean {\n return this._emitStatusOnMtnaFormChange;\n }\n set emitStatusOnMtnaFormChange(emitStatusOnMtnaFormChange: boolean) {\n this._emitStatusOnMtnaFormChange = coerceBooleanProperty(emitStatusOnMtnaFormChange);\n }\n private _emitStatusOnMtnaFormChange = false;\n\n @Input()\n get mtnaForm(): F | null | undefined {\n return this._mtnaForm;\n }\n set mtnaForm(form: F | null | undefined) {\n if (!!form && !this.ngForm) {\n // serialize the form when input is set the first time\n this._handleFormSerialization(form);\n this._checkAndSubscribeToFormStatus();\n }\n this._mtnaForm = form;\n if (form) {\n this.mtnaFormManager.setMtnaForm(form);\n\n // If indicated, re-emit the status of each step when there is a new form\n if (this.emitStatusOnMtnaFormChange && this.ngForm) {\n for (const key in this._steps) {\n if (Object.prototype.hasOwnProperty.call(this._steps, key)) {\n this._emitFormControlStatus(key);\n }\n }\n }\n }\n }\n private _mtnaForm: F | null | undefined;\n\n /**\n * The form can contain sections not included in the steps.\n * To avoid misalignment of steps-to-sections, we map each step to\n * its instanceId\n */\n @Input()\n set steps(newSteps: Array<FormStep> | null | undefined) {\n if (!!newSteps && !!newSteps.length) {\n if (!this._steps) {\n this._steps = {};\n }\n for (const step of newSteps) {\n this._steps[step.instanceId] = step;\n }\n this._checkAndSubscribeToFormStatus();\n }\n }\n\n @Input()\n get readonly(): boolean {\n return this.readonly$.value;\n }\n set readonly(r: boolean) {\n const newValue = coerceBooleanProperty(r);\n if (newValue !== this.readonly$.value) {\n this.readonly$.next(r);\n }\n }\n private readonly$ = new BehaviorSubject<boolean>(true);\n\n /**\n * Emitted every time a form control's validation status changes.\n * The `id` is the form control's name and the `status` is the new validation status for the control.\n * TODO: This should be renamed to controlStatus to be more clear\n */\n @Output() status = new EventEmitter<{ id: string; status: FormControlStatus }>();\n @Output() focusedSection = new EventEmitter<FormStep>();\n // TODO: This should emit an object that wraps the generic form type with the validity status boolean\n @Output() mtnaFormChange = new EventEmitter<F>();\n\n ngForm: FormGroup | undefined;\n componentIds = [];\n _steps: { [id: string]: FormStep } | undefined;\n\n private _constructionDate: Date;\n private _hasPreviousForm = false;\n private _ngFormStatusChangeSub?: Subscription;\n private _mtnaFormItemChangeSub?: Subscription;\n private _initialStatusEmitted = false;\n\n constructor(\n protected mtnaFormManager: MtnaWfManagerService,\n protected ngFormService: MtnaWfNgFormService,\n protected uiService: MtnaWfUIService\n ) {\n super();\n this._constructionDate = new Date();\n // Initialize the subscription to observe input changes\n this._subscribeAndEmitMtnaFormChanges();\n }\n\n ngAfterViewInit(): void {\n const afterViewInitDate = new Date();\n const secondsToRender = (afterViewInitDate.getTime() - this._constructionDate.getTime()) / 1000;\n console.warn('[MtnaFormComponent] afterViewInit - took ', secondsToRender, ' to render');\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.uiService.resetComponentMap();\n }\n\n _trackByInstanceId(index: number, formItem: FormItem) {\n return formItem.instanceId;\n }\n\n /** Subscribe and emit form status changes for the steps. */\n private _checkAndSubscribeToFormStatus() {\n // Only subscribe once both the steps and the angular have been initialized\n if (this.ngForm && this._steps) {\n // Update form status subscriptions anytime the readonly input changes\n this.readonly$.pipe(takeUntil(this.destroyed$), distinctUntilChanged()).subscribe((readonly) => {\n if (readonly) {\n // Don't emit statuses while form is in readonly\n this._unsubscribeFromNgFormChanges();\n } else if (!this._ngFormStatusChangeSub || this._ngFormStatusChangeSub.closed) {\n // For performance, subscribe should only trigger again if the subscription didn't previously exist\n this._emitInitialStepsStatusAndSubscribeToChanges(!this._initialStatusEmitted);\n this._initialStatusEmitted = true;\n }\n });\n }\n }\n\n /**\n * Find a form control with the given name, then emit it's status.\n *\n * @param name — The unique name of the form control to find and emit the status for.\n */\n private _emitFormControlStatus(name: string) {\n if (this.ngForm) {\n const control = findFormControl(name, this.ngForm);\n if (control) {\n this.status.emit({\n id: name,\n status: control.status as FormControlStatus,\n });\n }\n }\n }\n\n /**\n * @param emitInitialValues Whether to emit initial step values or just listen for future changes\n */\n private _emitInitialStepsStatusAndSubscribeToChanges(emitInitialValues: boolean) {\n if (this._steps && this.ngForm) {\n this._unsubscribeFromNgFormChanges();\n this._ngFormStatusChangeSub = new Subscription();\n\n // Find the form control for each step and only subscribe to those.\n for (const key in this._steps) {\n if (Object.prototype.hasOwnProperty.call(this._steps, key)) {\n const control = findFormControl(key, this.ngForm);\n if (control) {\n if (emitInitialValues) {\n this.status.emit({\n id: key,\n // Angular introduced this status in v13, once we update, this type cast can be removed.\n status: control.status as FormControlStatus,\n });\n }\n // Subscribe to status changes of each step & emit on change\n this._ngFormStatusChangeSub.add(\n control.statusChanges.pipe(takeUntil(this.destroyed$), distinctUntilChanged()).subscribe((status) => {\n this.status.emit({ id: key, status });\n })\n );\n }\n }\n }\n }\n }\n\n /**\n * Observes input changes for readOnly, in order to handle internal change subscriptions.\n * When the form is not readonly, we subscribe to form status & form item changes, so we can emit them.\n * When the form is readonly, we do not want to emit any changes, so we unsubscribe.\n */\n private _subscribeAndEmitMtnaFormChanges() {\n this.readonly$\n .pipe(\n takeUntil(this.destroyed$),\n // we don't want to create subscriptions until we have a form to subscribe to\n skipWhile(() => !this.mtnaForm),\n distinctUntilChanged()\n )\n .subscribe((readonly) => {\n if (readonly) {\n this._unsubscribeFromMtnaFormChanges();\n } else if (!this._mtnaFormItemChangeSub || this._mtnaFormItemChangeSub.closed) {\n // For performance, subscribe should only trigger again if one of the subscriptions didn't previously exist\n this._subscribeToMtnaFormItemChanges();\n }\n });\n }\n\n private _handleFormSerialization(form: Form) {\n // Get the registered form from the service if it exists\n this._hasPreviousForm = this.ngFormService.hasForm();\n if (this._hasPreviousForm) {\n this.ngForm = this.ngFormService.getForm();\n // FIXME this is necessary because the initial visiblity is based on the mtnaForm item's disable property\n // If the user changes a value, goes to another tab (destroying form) and comes back, the initial values are incorrect\n this.mtnaForm = this.mtnaFormManager.insertNewValues(form, this.ngFormService.getFormValue()) as F;\n } else {\n this.ngForm = this.mtnaFormManager.serializeMtnaFormItem(form) as FormGroup;\n this.ngFormService.setForm(this.ngForm);\n }\n }\n\n /**\n * Adds or removes a FormItem whenever a new MtnaWfFormItemChange occurs,\n * and emits a new MtnaForm.\n */\n private _subscribeToMtnaFormItemChanges() {\n this._unsubscribeFromMtnaFormChanges();\n this._mtnaFormItemChangeSub = this.mtnaFormManager.formChanges\n .pipe(\n takeUntil(this.destroyed$),\n skipWhile((change) => !change)\n )\n .subscribe((newForm: Form) => this.mtnaFormChange.emit(newForm as F));\n // TODO: This should emit an object that wraps the generic form type with the validity status boolean\n }\n\n private _unsubscribeFromNgFormChanges() {\n if (!!this._ngFormStatusChangeSub && !this._ngFormStatusChangeSub.closed) {\n this._ngFormStatusChangeSub.unsubscribe();\n }\n }\n\n private _unsubscribeFromMtnaFormChanges() {\n if (!!this._mtnaFormItemChangeSub && !this._mtnaFormItemChangeSub.closed) {\n this._mtnaFormItemChangeSub.unsubscribe();\n }\n }\n}\n","/* eslint-disable @angular-eslint/component-selector */\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: '[formDisabled]',\n template: `\n <fieldset [disabled]=\"formDisabled\">\n <ng-content></ng-content>\n </fieldset>\n `,\n styles: [\n `\n fieldset {\n display: block;\n margin: unset;\n padding: unset;\n border: unset;\n }\n `,\n ],\n})\nexport class MtnaWfFormDisablerComponent {\n @Input() formDisabled = false;\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Form } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormComponent } from '../base-form';\n\n/* eslint-disable @angular-eslint/no-outputs-metadata-property */\n@Component({\n selector: 'mtna-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n outputs: ['status', 'focusedSection', 'mtnaFormChange'],\n})\nexport class MtnaWfFormComponent extends MtnaWfBaseFormComponent<Form> {}\n","<form *ngIf=\"ngForm\" [formGroup]=\"ngForm\" [formDisabled]=\"readonly\">\n <mtna-wf-item\n *ngFor=\"let item of mtnaForm?.items | mtnaWfFilterHiddenItems; let index = index; trackBy: _trackByInstanceId\"\n [isCompact]=\"isCompact\"\n [item]=\"item\"\n [control]=\"ngForm.controls[item.instanceId]\"\n [readonly]=\"readonly\"\n [parentIds]=\"componentIds\"\n [step]=\"_steps?.[item.instanceId]\"\n (focusedSection)=\"focusedSection.emit($event)\"\n ></mtna-wf-item>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfFormDisablerComponent } from './form-disabler.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [MtnaWfFormDisablerComponent],\n declarations: [MtnaWfFormDisablerComponent],\n})\nexport class MtnaWfFormDisablerModule {}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep } from '../../../models/form-stepper/form-step.model';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _FormStepMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'primary'\n);\n\n/**\n * A component that represents a single step in a form stepper.\n * NOTE:\n * - disabled: property on the FormStep used to determine if the step is disabled. This will affect the disabled property and the clickable property.\n * - clickable: property on the FormStep used to determine if the step is clickable. This does not affect the disabled property.\n */\n@Component({\n selector: 'mtna-wf-step',\n templateUrl: './form-step.component.html',\n styleUrls: ['./form-step.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormStepComponent extends _FormStepMixinBase implements CanColor {\n @HostBinding('class.disabled') disabled = false;\n\n @Input()\n get step(): FormStep {\n return this._step;\n }\n set step(step: FormStep) {\n this._step = step;\n this.disabled = step.status === 'DISABLED' || step.disabled;\n }\n private _step!: FormStep;\n\n @HostBinding('class.clickable')\n @Input()\n get clickable() {\n return !this.disabled && this._clickable;\n }\n set clickable(clickable: boolean) {\n this._clickable = clickable;\n }\n private _clickable = true;\n\n @Input() incompleteIcon: string | null | undefined;\n\n notApplicableText = $localize`Not Applicable`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n /**\n * Prevents click event if this step is not clickable\n */\n _haltClickEvent(event: Event) {\n if (!this.clickable) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n}\n","<li\n fxLayout=\"row\"\n fxLayoutAlign=\"start center\"\n matRipple\n [matRippleDisabled]=\"!clickable\"\n [class.active-step]=\"step.active\"\n (click)=\"_haltClickEvent($event)\"\n>\n <mtna-status-circle\n [color]=\"color\"\n [circleNumber]=\"step.num\"\n [incompleteIcon]=\"incompleteIcon\"\n [optional]=\"step.optional\"\n [status]=\"step.status\"\n ></mtna-status-circle>\n <div fxLayout=\"column\" fxFlex=\"100\">\n <p class=\"step-title\">{{ step.label }}</p>\n <p *ngIf=\"step.optional && !disabled\" class=\"step-status\" i18n>Optional</p>\n <p *ngIf=\"disabled\" class=\"step-status\">{{ step.disabledText || notApplicableText }}</p>\n </div>\n</li>\n","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep } from '../../../models';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _FormStepMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'primary'\n);\n\n@Component({\n selector: 'mtna-wf-step-group',\n templateUrl: './form-step-group.component.html',\n styleUrls: ['./form-step-group.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormStepGroupComponent extends _FormStepMixinBase implements CanColor {\n /** Whether all but the first step is hidden*/\n @Input() collapsed = false;\n @Input() incompleteIcon: string | null | undefined;\n /** Steps to be displayed */\n @Input()\n get steps() {\n return this._steps;\n }\n set steps(steps: FormStep[]) {\n this._steps = steps;\n }\n private _steps: FormStep[] = [];\n\n @Output() selected = new EventEmitter<FormStep>();\n\n _collapsedText = $localize`View All`;\n _hideText = $localize`Hide`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n}\n","<ng-container *ngFor=\"let step of steps | slice : 0 : (collapsed ? 1 : steps.length); let last = last\">\n <mtna-wf-step\n [clickable]=\"step.status !== 'DISABLED' && step.status !== 'PLACEHOLDER'\"\n [color]=\"color\"\n [incompleteIcon]=\"incompleteIcon\"\n [step]=\"step\"\n (click)=\"selected.emit(step)\"\n ></mtna-wf-step>\n <mat-divider *ngIf=\"!last\" [vertical]=\"true\"></mat-divider>\n <p *ngIf=\"collapsed\" class=\"show-more mat-caption\" i18n>and {{ steps.length - 1 }} more...</p>\n</ng-container>\n<button\n mat-icon-button\n class=\"collapse-button\"\n [color]=\"color\"\n (click)=\"collapsed = !collapsed\"\n [matTooltip]=\"collapsed ? _collapsedText : _hideText\"\n>\n <mat-icon>{{ collapsed ? 'expand_more' : 'expand_less' }}</mat-icon>\n</button>\n","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep, FormStepGroup, isFormStepGroup } from '../../../models';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _FormStepperMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'primary'\n);\n\n/**\n * Vertical stepper component, ability to show step statuses and allows clicking each step.\n *\n * @export\n * @author Will Davis <will.davis@mtna.us>\n */\n@Component({\n selector: 'mtna-wf-stepper',\n // templateUrl: './form-stepper.component.html',\n templateUrl: './form-stepper-new.component.html',\n styleUrls: ['./form-stepper.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormStepperComponent extends _FormStepperMixinBase implements CanColor {\n @Input() incompleteIcon: string | null | undefined;\n /** Form steps */\n @Input()\n get steps(): Array<FormStep | FormStepGroup> {\n return this._steps;\n }\n set steps(steps: Array<FormStep | FormStepGroup>) {\n this._steps = steps;\n this.createGroupStepCollapsedMap(steps);\n }\n private _steps: Array<FormStep | FormStepGroup> = [];\n /** When a step is selected */\n @Output() selected = new EventEmitter<FormStep>();\n\n groupStepCollapsedMap: { [key: string]: boolean } = {};\n\n notApplicableText = $localize`Not Applicable`;\n _collapsedText = $localize`View All`;\n _hideText = $localize`Hide`;\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n /**\n * Improves effeciency of the *ngFor loop that creates the steps.\n *\n * @param index index of loop\n * @param step current step in loop\n * @returns unique string to key each item in the loop\n */\n _trackStep(index: number, step: FormStep | FormStepGroup) {\n return step.instanceId || index;\n }\n\n /**\n * Prevents click event if this step is not clickable\n */\n _haltClickEvent(event: Event, step: FormStep) {\n const clickable = step.status !== 'DISABLED' && step.status !== 'PLACEHOLDER';\n if (!clickable) {\n event.preventDefault();\n event.stopImmediatePropagation();\n } else {\n this.selected.emit(step);\n }\n }\n\n createGroupStepCollapsedMap(steps: Array<FormStep | FormStepGroup>) {\n steps.forEach((step) => {\n if (isFormStepGroup(step)) {\n this.groupStepCollapsedMap[step.instanceId] = step.collapsed;\n }\n });\n }\n\n toggleGroupStep(step: FormStepGroup) {\n this.groupStepCollapsedMap[step.instanceId] = !this.groupStepCollapsedMap[step.instanceId];\n }\n}\n","<ol>\n <ng-container *ngFor=\"let step of steps; let last = last; trackBy: _trackStep\">\n <ng-container\n [ngTemplateOutlet]=\"(step | mtnaWfStepGroupPipe) ? groupStep : singleStep\"\n [ngTemplateOutletContext]=\"{ $implicit: step }\"\n ></ng-container>\n </ng-container>\n</ol>\n\n<ng-template #singleStep let-step>\n <ng-container *ngIf=\"step | coerceFormStep as singleStep\">\n <li\n fxLayout=\"row\"\n fxLayouAlign=\"start center\"\n [ngClass]=\"{\n 'disabled-step': singleStep.status === 'DISABLED',\n 'active-step': singleStep.active,\n clickable: singleStep.status !== 'DISABLED' && singleStep.status !== 'PLACEHOLDER'\n }\"\n >\n <ng-container [ngTemplateOutlet]=\"stepContent\" [ngTemplateOutletContext]=\"{ $implicit: singleStep }\"></ng-container>\n </li>\n </ng-container>\n</ng-template>\n\n<ng-template #groupStep let-step>\n <ng-container *ngIf=\"step | coerceFormStepGroup as groupStepParent\">\n <li\n fxLayout=\"column\"\n fxLayoutAlign=\"start start\"\n [class.child-step-active]=\"(groupStepParent.steps | childStepActive) && groupStepCollapsedMap[groupStepParent.instanceId]\"\n >\n <div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mtna-wf-step-item-content\">\n <button\n fxFlex\n mat-button\n class=\"step-button\"\n [attr.aria-label]=\"groupStepParent | getStepAriaLabel : groupStepCollapsedMap[groupStepParent.instanceId]\"\n (click)=\"toggleGroupStep(step)\"\n >\n <mtna-status-circle [color]=\"color\" [circleNumber]=\"groupStepParent.num\" [incompleteIcon]=\"incompleteIcon\"></mtna-status-circle>\n <div fxLayout=\"row\" class=\"step-button-label-wrapper\" fxFlex=\"100\">\n <p class=\"step-title\">{{ groupStepParent.label }}</p>\n </div>\n <mat-icon>{{ groupStepCollapsedMap[step.instanceId] ? 'expand_more' : 'expand_less' }}</mat-icon>\n </button>\n </div>\n <ol class=\"group-step-list\">\n <ng-container\n *ngFor=\"\n let groupStep of step.steps | slice : 0 : (groupStepCollapsedMap[step.instanceId] ? 0 : step.steps.length);\n let last = last\n \"\n >\n <!-- All children in the steps property of FormStepGroup are FormStep(s). Only using coercion here to assist in defining properties we can use. -->\n <li\n *ngIf=\"groupStep | coerceFormStep as groupStepChild\"\n fxLayout=\"row\"\n fxLayouAlign=\"start center\"\n [ngClass]=\"{\n 'disabled-step': groupStepChild.status === 'DISABLED',\n 'active-step': groupStepChild.active,\n clickable: groupStepChild.status !== 'DISABLED' && groupStepChild.status !== 'PLACEHOLDER',\n 'group-step': true\n }\"\n >\n <ng-container\n [ngTemplateOutlet]=\"stepContent\"\n [ngTemplateOutletContext]=\"{ $implicit: groupStepChild, isChildStep: true }\"\n ></ng-container>\n </li>\n </ng-container>\n </ol>\n </li>\n </ng-container>\n</ng-template>\n\n<!-- The individual, stand-alone step template -->\n<ng-template #stepContent let-step let-isChildStep=\"isChildStep\">\n <div fxFlex=\"100\" fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"mtna-wf-step-item-content\">\n <mat-divider *ngIf=\"isChildStep\" [vertical]=\"true\"></mat-divider>\n <button\n fxFlex\n mat-button\n class=\"step-button\"\n [attr.aria-label]=\"step | getStepAriaLabel\"\n [disabled]=\"step.status === 'DISABLED' || step.status === 'PLACEHOLDER'\"\n (click)=\"_haltClickEvent($event, step)\"\n >\n <mtna-status-circle\n [color]=\"color\"\n [circleNumber]=\"step.num\"\n [incompleteIcon]=\"incompleteIcon\"\n [optional]=\"step.optional\"\n [status]=\"step.status\"\n ></mtna-status-circle>\n <div fxLayout=\"column\" class=\"step-button-label-wrapper\">\n <p class=\"step-title\">{{ step.label }}</p>\n <p *ngIf=\"step.optional && step.status !== 'DISABLED'\" class=\"step-status\" i18n>Optional</p>\n <p *ngIf=\"step.status === 'DISABLED'\" class=\"step-status\">{{ step.disabledText || notApplicableText }}</p>\n </div>\n </button>\n </div>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MtnaStatusCircleModule } from '@mtna/core-angular';\n\nimport {\n ChildStepActivePipeModule,\n CoerceFormStepGroupPipeModule,\n CoerceFormStepPipeModule,\n GetStepAriaLabelModule,\n MtnaWfFormStepGroupPipeModule,\n} from '../../pipes';\nimport { MtnaWfFormStepGroupComponent } from './form-step-group';\nimport { MtnaWfFormStepComponent } from './form-step/form-step.component';\nimport { MtnaWfFormStepperComponent } from './form-stepper/form-stepper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n MatDividerModule,\n MtnaStatusCircleModule,\n MatRippleModule,\n MatButtonModule,\n MatTooltipModule,\n MatIconModule,\n MtnaWfFormStepGroupPipeModule,\n CoerceFormStepGroupPipeModule,\n CoerceFormStepPipeModule,\n ChildStepActivePipeModule,\n GetStepAriaLabelModule,\n ],\n declarations: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent],\n exports: [MtnaWfFormStepComponent, MtnaWfFormStepGroupComponent, MtnaWfFormStepperComponent],\n})\nexport class MtnaWfFormStepperModule {}\n","import { FocusOrigin } from '@angular/cdk/a11y';\nimport { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { CanColor, mixinColor } from '@angular/material/core';\n\nimport { FormStep } from '../../models/form-stepper/form-step.model';\n\n/* eslint-disable @angular-eslint/no-inputs-metadata-property */\nconst _StepCardMixinBase = mixinColor(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n 'accent'\n);\n\n@Component({\n selector: 'mtna-wf-step-card',\n templateUrl: './step-card.component.html',\n styleUrls: ['./step-card.component.scss'],\n inputs: ['color'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfStepCardComponent extends _StepCardMixinBase implements CanColor {\n @HostBinding('class.active')\n get active(): boolean {\n return !!this.step?.active;\n }\n\n // @Input() step: FormStep | null | undefined;\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(step: FormStep | null | undefined) {\n this._step = step;\n }\n private _step: FormStep | null | undefined;\n\n @Input() subtitle: string | null | undefined;\n\n @Output() focused = new EventEmitter<FormStep>();\n\n constructor(elementRef: ElementRef) {\n super(elementRef);\n }\n\n handleFocusChange(event: FocusOrigin) {\n if (!!this.step && !!event && !this.step.active) {\n this.focused.emit(this.step);\n }\n }\n}\n","<mat-card cdkMonitorSubtreeFocus (cdkFocusChange)=\"handleFocusChange($event)\">\n <mat-card-header>\n <mtna-status-circle mat-card-avatar [circleNumber]=\"step?.num\" [optional]=\"step?.optional\" [status]=\"step?.status\"></mtna-status-circle>\n <mat-card-title>{{ step?.label }}</mat-card-title>\n <mat-card-subtitle [innerHTML]=\"subtitle | mtnaWfSanitizeHtml\"></mat-card-subtitle>\n <p *ngIf=\"step?.optional\" class=\"optional mat-caption\" i18n>Optional</p>\n </mat-card-header>\n\n <mat-divider [inset]=\"true\"></mat-divider>\n\n <mat-card-content>\n <ng-content select=\"[cardContent]\"></ng-content>\n </mat-card-content>\n\n <mat-card-actions>\n <ng-content select=\"[cardActions]\"></ng-content>\n </mat-card-actions>\n</mat-card>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MtnaStatusCircleModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../pipes/sanitize-html.pipe';\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfStepCardComponent } from './step-card.component';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n MatCardModule,\n MtnaStatusCircleModule,\n MtnaWfSanitizeHtmlPipeModule,\n MatDividerModule,\n MtnaWfFormItemModule,\n ],\n declarations: [MtnaWfStepCardComponent],\n exports: [MtnaWfStepCardComponent],\n})\nexport class MtnaWfStepCardModule {}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { ErrorStateMatcher } from '@angular/material/core';\n\nimport { MtnaWfInstantValidationResultErrorStateMatcher } from '../../validators/instant-validation-result-error-state-matcher';\nimport { MtnaWfFormDisablerModule } from '../form-disabler/form-disabler.module';\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfFormStepperModule } from '../form-stepper/form-stepper.module';\nimport { MtnaWfStepCardModule } from '../step-card/step-card.module';\nimport { MtnaWfFormComponent } from './form.component';\nimport { MtnaWfFilterHiddenItemsPipeModule } from '../../pipes';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n FlexLayoutModule,\n FormsModule,\n MtnaWfFormItemModule,\n ReactiveFormsModule,\n MtnaWfFormDisablerModule,\n MatMomentDateModule,\n MtnaWfFilterHiddenItemsPipeModule,\n MtnaWfFormStepperModule,\n MtnaWfStepCardModule,\n ],\n declarations: [MtnaWfFormComponent],\n exports: [MtnaWfFormComponent],\n providers: [{ provide: ErrorStateMatcher, useClass: MtnaWfInstantValidationResultErrorStateMatcher }],\n})\nexport class MtnaFormModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { BooleanItem, FormItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfUIService } from '../../../services/ui.service';\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-boolean-item',\n templateUrl: './boolean.component.html',\n styleUrls: ['./boolean.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfBooleanComponent extends MtnaWfBaseParentValueItem<BooleanItem, FormControl> {\n constructor(cdr: ChangeDetectorRef, private uiService: MtnaWfUIService) {\n super(cdr);\n }\n\n toggleChange(change: MatSlideToggleChange) {\n this.uiService.toggleFormItems(this.item.option.enabledItems, this.item.option.disabledItems, change.checked, this.item.instanceId);\n }\n\n _trackByInstanceId(index: number, item: { key: string; value: FormItem }) {\n return item.value.instanceId;\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-slide-toggle\n *ngIf=\"control\"\n [aria-label]=\"item.option.option.name\"\n [formControl]=\"control\"\n [disabled]=\"readonly\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (change)=\"toggleChange($event)\"\n >{{ item.option.option.name }}</mat-slide-toggle\n>\n<ng-container *ngIf=\"!!item.optionItemMap\">\n <mtna-wf-item\n *ngFor=\"let f of item.optionItemMap | keyvalue; trackBy: _trackByInstanceId\"\n [item]=\"f.value\"\n [isCompact]=\"isCompact\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[f.value.instanceId] : undefined\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n <ng-container> </ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfAcknowledgeDialogModule } from '../../acknowledge-dialog/acknowledge-dialog.module';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfBooleanComponent } from './boolean.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatSlideToggleModule,\n MtnaWfFormItemModule,\n FormsModule,\n ReactiveFormsModule,\n MtnaWfAcknowledgeDialogModule,\n MtnaHighlightModule,\n ],\n declarations: [MtnaWfBooleanComponent],\n exports: [MtnaWfBooleanComponent],\n})\nexport class MtnaWfBooleanModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { FormArray } from '@angular/forms';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { CanDestroyNotify } from '@mtna/core-angular';\nimport { CheckboxItem, Section } from '@mtna/web-form-ts';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { MtnaWfDialogService } from '../../../services/dialog.service';\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-checkbox-item',\n templateUrl: './checkbox.component.html',\n styleUrls: ['./checkbox.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfCheckboxComponent extends MtnaWfBaseParentValueItem<CheckboxItem, FormArray> implements CanDestroyNotify, OnDestroy {\n destroyed$ = new Subject<void>();\n _acknowledgementText = $localize`Acknowledged. Click to view the agreement.`;\n\n constructor(cdr: ChangeDetectorRef, private dialogService: MtnaWfDialogService) {\n super(cdr);\n }\n\n handleChange(change: MatCheckboxChange, index: number) {\n const option = this.item.options[index];\n const formControl = this.control?.controls[index];\n\n // If the user is trying to make a selection with something that has an acknowledgement,\n // show the acknowledge dialog first to get their consent.\n // Note: we don't need to show the acknowledgement if the user is unchecking the box.\n if (option.acknowledgement && formControl?.value) {\n // Revert the checkbox to an unchecked state until they agree to the acknowledgement\n formControl?.setValue(false);\n this.dialogService\n .verifyAcknowledgement(option.acknowledgement)\n .pipe(takeUntil(this.destroyed$))\n .subscribe((acknowledged) => {\n if (acknowledged) {\n formControl?.setValue(true);\n this.toggleFormItems.emit({\n enabledItemIds: option.enabledItems,\n disabledItemIds: option.disabledItems,\n enabled: change.checked,\n callerId: this.item.instanceId,\n });\n }\n });\n } else {\n this.toggleFormItems.emit({\n enabledItemIds: option.enabledItems,\n disabledItemIds: option.disabledItems,\n enabled: change.checked,\n callerId: this.item.instanceId,\n });\n }\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n this.destroyed$.complete();\n }\n\n /**\n * Display what the user already acknowledged for a given option.\n * @param event the browser event when the button was invoked\n * @param acknowledgementItem The form item that represents the acknowledgement text to display to the user.\n * */\n showAcknowledgement(event: Event, acknowledgementItem: Section) {\n event.stopPropagation();\n event.preventDefault();\n this.dialogService.showAcknowledgement(acknowledgementItem);\n }\n\n /**\n * Stop a browser event from propagating\n * @param event the event to stop\n */\n stopEventPropagation(event: Event) {\n event.stopPropagation();\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"hasItemHeader\" class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control?.invalid && (control?.dirty || control?.touched)\">\n <mat-error *ngFor=\"let error of control?.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n</div>\n<fieldset\n class=\"control-item-content\"\n [class.single-option]=\"item.options.length === 1\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <ng-container *ngFor=\"let opt of item.options; let i = index; trackBy: _trackByOptionId\">\n <div *ngIf=\"!!control && !!control.controls && !!control.controls[i]\" fxLayout=\"row\">\n <mat-checkbox\n [disableRipple]=\"readonly\"\n [formControl]=\"$any(control.controls[i])\"\n [color]=\"color\"\n [disabled]=\"readonly\"\n (change)=\"handleChange($event, i)\"\n >{{ opt.option.name }}\n </mat-checkbox>\n <button\n *ngIf=\"opt.acknowledgement && control.controls[i].value\"\n mat-icon-button\n class=\"acknowledge-verification-button\"\n [attr.aria-label]=\"_acknowledgementText\"\n [matTooltip]=\"_acknowledgementText\"\n matTooltipShowDelay=\"800\"\n (click)=\"showAcknowledgement($event, opt.acknowledgement)\"\n (mousedown)=\"stopEventPropagation($event)\"\n (touchstart)=\"stopEventPropagation($event)\"\n >\n <mat-icon>verified</mat-icon>\n </button>\n </div>\n <ng-container *ngIf=\"item.optionItemMap[opt.option.id]\">\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [isCompact]=\"isCompact\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n ></mtna-wf-item>\n </ng-container>\n </ng-container>\n</fieldset>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nimport { MtnaWfFormItemModule } from '../form-item/form-item.module';\nimport { MtnaWfFormItemDialogComponent } from './form-item-dialog.component';\n\n@NgModule({\n imports: [CommonModule, MatDialogModule, MtnaWfFormItemModule, MatButtonModule],\n declarations: [MtnaWfFormItemDialogComponent],\n exports: [MtnaWfFormItemDialogComponent],\n})\nexport class MtnaWfFormItemDialogModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule } from '../../../pipes/get-form-control-error.pipe';\nimport { MtnaWfFormItemDialogModule } from '../../form-item-dialog/form-item-dialog.module';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfCheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaWfGetFormControlErrorPipeModule,\n FlexLayoutModule,\n FormsModule,\n MatFormFieldModule,\n MatCheckboxModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n MtnaWfFormItemModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n MtnaWfFormItemDialogModule,\n ],\n declarations: [MtnaWfCheckboxComponent],\n exports: [MtnaWfCheckboxComponent],\n})\nexport class MtnaWfCheckboxModule {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MatDateFormats } from '@angular/material/core';\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport type { MatDatepickerInput } from '@angular/material/datepicker';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MtnaLogger } from '@mtna/core-angular';\nimport { DateItem, DateRange } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,no-var\ndeclare var moment: any;\n\n@Component({\n selector: 'mtna-wf-date-item',\n templateUrl: './date.component.html',\n styleUrls: ['./date.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfDateComponent extends MtnaWfBaseValueItem<DateItem, FormControl> implements AfterViewInit {\n static dateFormItemComponentInstances = 0;\n @HostBinding('class.mtna-wf-date-item') dateItemClass = true;\n\n override get item(): DateItem {\n return super.item;\n }\n override set item(value: DateItem) {\n super.item = value;\n if (this.item.format) {\n this.configureDatePickerFormatter();\n }\n }\n\n // TODO: This is not currenlty used, the back end needs to add range limits on the DateItem in order for this to work\n // Remove once accomplished and replace usage with item.rangeLimits in the html\n @Input() rangeLimits: DateRange<Date | null> | null | undefined = { end: null, start: null };\n\n @ViewChild(MatDatepicker, { static: false }) picker: MatDatepicker<Date> | undefined;\n\n _dateText = $localize`Date`;\n\n constructor(cdr: ChangeDetectorRef, logger: MtnaLogger) {\n super(cdr);\n // We need to check to ensure 'moment' & 'moment-jdateformatparser' scripts have been added to angular.json so that\n // the DateFormItemComponent doesn't break when attempting to format SimpleDateFormat string to Moment format string\n MtnaWfDateComponent.dateFormItemComponentInstances++;\n if (MtnaWfDateComponent.dateFormItemComponentInstances === 1) {\n try {\n if (!!moment && typeof moment().toMomentFormatString !== 'function') {\n logger.error(`[DateFormItemComponent] constructor\n - Cannot find moment-jdateformatparser, make sure to install the dependency and add the script in angular.json, i.e.\n \"scripts\": [\"node_modules/moment-jdateformatparser/moment-jdateformatparser.min.js\"]`);\n }\n } catch (e) {\n logger.error(`[DateFormItemComponent] constructor\n - Cannot find moment.js, make sure to install the dependency and add the script in angular.json, i.e.\n \"scripts\": [\"node_modules/moment/min/moment.min.js\"]`);\n }\n }\n }\n\n ngAfterViewInit() {\n this.configureDatePickerFormatter();\n }\n\n /**\n * Manually change the parse and display formats of the date picker.\n * @see https://github.com/angular/components/issues/8355#issuecomment-376783293\n */\n private configureDatePickerFormatter() {\n if (this.picker) {\n const datepickerInput: MatDatepickerInput<Date> = this.picker.datepickerInput as MatDatepickerInput<Date>;\n // @ts-ignore: access the private date formats on the date picker\n const d: MatDateFormats = JSON.parse(JSON.stringify(datepickerInput._dateFormats));\n\n // Convert the Java SimpleDateFormat to the moment equivalents using moment-jdateformatparser\n const momentFormatString = moment().toMomentFormatString(this.item.format);\n // Use the converted format for the date picker display\n d.display.dateInput = momentFormatString;\n // Use the converted format for the date picker parser (user input)\n d.parse.dateInput = momentFormatString;\n // @ts-ignore: set the updated date formats\n datepickerInput._dateFormats = d;\n\n // @ts-ignore: manually format the current value in the date picker\n datepickerInput._formatValue(datepickerInput.value);\n }\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<mat-form-field *ngIf=\"control\" appearance=\"outline\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\">\n <mat-label>{{ item.label || _dateText }}</mat-label>\n <input\n matInput\n [formControl]=\"control\"\n [matDatepicker]=\"picker\"\n [max]=\"rangeLimits?.end\"\n [min]=\"rangeLimits?.start\"\n placeholder=\"Choose a date\"\n i18n-placeholder\n [required]=\"item.required\"\n [disabled]=\"readonly || control.disabled\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disabled]=\"readonly || control.disabled\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n <mat-hint>{{ item.format }}</mat-hint>\n</mat-form-field>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule } from '../../../pipes/get-form-control-error.pipe';\nimport { MtnaWfDateComponent } from './date.component';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { CUSTOM_MAT_DATE_FORMAT } from '../../../models/custom-date-format-provider.model';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatDatepickerModule,\n MatMomentDateModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n MtnaWfGetFormControlErrorPipeModule,\n ],\n declarations: [MtnaWfDateComponent],\n exports: [MtnaWfDateComponent],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: CUSTOM_MAT_DATE_FORMAT }],\n})\nexport class MtnaWfDateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { DateItem, OffsetDateRangeItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-date-range',\n templateUrl: './date-range.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfDateRangeComponent extends MtnaWfBaseValueItem<OffsetDateRangeItem, FormGroup> {\n get item(): OffsetDateRangeItem {\n return this._item;\n }\n set item(item: OffsetDateRangeItem) {\n this._item = item;\n // Create fake items for the underlying date-item component\n this._startItem = { ...item, label: 'Start', value: undefined };\n this._endItem = { ...item, label: 'End', value: undefined };\n }\n\n _startItem!: DateItem;\n _endItem!: DateItem;\n toText = $localize`to`;\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n [fxLayout]=\"isCompact ? 'column' : 'row'\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-date-item\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [item]=\"_startItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n <span fxFlex=\"14px\"> {{ toText }} </span>\n <mtna-wf-date-item\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [item]=\"_endItem\"\n [rangeLimits]=\"item.rangeLimits\"\n [readonly]=\"readonly\"\n ></mtna-wf-date-item>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfCoerceFormControlPipeModule } from '../../../pipes/coerce-form-control.pipe';\nimport { MtnaWfDateModule } from '../date/date.module';\nimport { MtnaWfDateRangeComponent } from './date-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaHighlightModule,\n MtnaWfDateModule,\n FlexLayoutModule,\n FormsModule,\n ReactiveFormsModule,\n MtnaWfCoerceFormControlPipeModule,\n ],\n declarations: [MtnaWfDateRangeComponent],\n exports: [MtnaWfDateRangeComponent],\n})\nexport class MtnaWfDateRangeModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DropdownItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseSingleSelectionParentValueItem } from '../../base-items/base-single-selection-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-dropdown-item',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfDropdownComponent extends MtnaWfBaseSingleSelectionParentValueItem<DropdownItem> {}\n","<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <mat-select\n [formControl]=\"control\"\n [panelClass]=\"'mtna-wf-dropdown-item__select-panel'\"\n [required]=\"item.required\"\n (selectionChange)=\"selectionChange($event)\"\n >\n <mat-option *ngIf=\"!item.required\" i18n>-- None --</mat-option>\n <mat-option *ngFor=\"let opt of item.options\" [value]=\"opt.option.id\" [disabled]=\"control.value === opt.option.id\">{{\n opt.option.name\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<ng-template #readOnly>\n <ng-container *ngIf=\"inList; else fullList\">\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </ng-container>\n\n <ng-template #fullList>\n <mat-list>\n <mat-list-item *ngIf=\"item.required || !!item.value\">\n <mat-icon *ngIf=\"item.label | mtnaWfGetListIcon as icon\" matListIcon>{{ icon }}</mat-icon>\n <h4 matLine>{{ item.label }}</h4>\n <p matLine>{{ item.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule, MtnaWfGetListIconPipeModule, MtnaWfGetSelectedOptionNamePipeModule } from '../../../pipes';\nimport { MtnaWfDropdownComponent } from './dropdown.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatSelectModule,\n MtnaHighlightModule,\n MatListModule,\n MatIconModule,\n MtnaWfGetFormControlErrorPipeModule,\n MtnaWfGetSelectedOptionNamePipeModule,\n MtnaWfGetListIconPipeModule,\n ReactiveFormsModule,\n ],\n declarations: [MtnaWfDropdownComponent],\n exports: [MtnaWfDropdownComponent],\n})\nexport class MtnaWfDropdownModule {}\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { FileService } from '@mtna/file-manager-angular';\nimport { FileInformation } from '@mtna/file-manager-ts';\nimport { FileUploadItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItemControl } from '../../base-items/base-form-item-control.component';\n\n@Component({\n selector: 'mtna-wf-file-upload-item',\n templateUrl: './file-upload.component.html',\n styleUrls: ['./file-upload.component.scss'],\n})\nexport class MtnaWfFileUploadComponent extends MtnaWfBaseFormItemControl<FileUploadItem, FormControl> implements OnInit {\n fileInfo?: FileInformation;\n loading = false;\n _fileUploadButtonText = $localize`CHOOSE A FILE`;\n\n constructor(cdr: ChangeDetectorRef, private fileService: FileService) {\n super(cdr);\n }\n\n fileToUpload(file: FileList) {\n this.loading = true;\n\n this.fileService.uploadFile(file).subscribe((fileInfo: FileInformation) => {\n this.loading = false;\n this.fileInfo = fileInfo;\n this.setValue(fileInfo);\n });\n }\n\n handleDownload(template: FileInformation) {\n this.fileService.downloadFileGET(template.key, template.fileName, template.contentType);\n }\n\n ngOnInit() {\n if (this.item?.value) {\n this.fileInfo = this.item.value;\n }\n }\n\n removeFile() {\n if (this.fileInfo) {\n this.loading = true;\n this.fileService.deleteFile(this.fileInfo).subscribe(() => {\n this.loading = false;\n this.fileInfo = undefined;\n this.setValue(undefined);\n });\n }\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div class=\"content\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <ng-container *ngIf=\"!readonly; else readOnly\">\n <ng-container *ngIf=\"!loading; else loader\">\n <mtna-file-download\n *ngIf=\"!!fileInfo; else fileUpload\"\n [fileInfo]=\"fileInfo\"\n [canRemove]=\"true\"\n color=\"primary\"\n [canDownload]=\"true\"\n (download)=\"handleDownload($event)\"\n (remove)=\"removeFile()\"\n ></mtna-file-download>\n\n <ng-template #fileUpload>\n <mtna-file-upload\n [automaticUpload]=\"false\"\n color=\"primary\"\n [buttonText]=\"_fileUploadButtonText\"\n (fileToUpload)=\"fileToUpload($event)\"\n ></mtna-file-upload>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <!-- READONLY -->\n <ng-template #readOnly>\n <!-- anchor being used, due to <fieldset disabled> blocking a <button>'s click event -->\n <a\n *ngIf=\"!!item && !!item.value; else unpopulated\"\n class=\"single-icon-button\"\n color=\"primary\"\n mat-stroked-button\n role=\"button\"\n (click)=\"handleDownload(item.value)\"\n >\n <mat-icon color=\"primary\">file_download</mat-icon>\n {{ (item!.value!.fileName ? item!.value!.fileName : '') | uppercase }}\n </a>\n <ng-template #unpopulated>\n <mat-list>\n <mat-list-item class=\"wrappable-list-item\">\n <p mat-line class=\"wrap-line\" i18n>No File Provided</p>\n </mat-list-item>\n </mat-list>\n </ng-template>\n </ng-template>\n</div>\n\n<!-- PROGRESS SPINNER -->\n<ng-template #loader>\n <mat-spinner diameter=\"125\" strokeWidth=\"10\" mode=\"indeterminate\"></mat-spinner>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\nimport { MtnaFileDownloadModule, MtnaFileUploadModule } from '@mtna/file-manager-angular';\n\nimport { MtnaWfFileUploadComponent } from './file-upload.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaHighlightModule,\n MatButtonModule,\n MatIconModule,\n MtnaFileDownloadModule,\n MtnaFileUploadModule,\n MatListModule,\n MatProgressSpinnerModule,\n ],\n declarations: [MtnaWfFileUploadComponent],\n exports: [MtnaWfFileUploadComponent],\n})\nexport class MtnaWfFileUploadModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport {\n DROPDOWN_ITEM_ID,\n FORM_ITEM_GROUP_IMPL_ID,\n FormItemGroupImpl,\n PARAGRAPH_ANSWER_ITEM_ID,\n SHORT_ANSWER_ITEM_ID,\n TEXT_ITEM_ID,\n TITLE_ITEM_ID,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseGroupItem } from '../../base-items/base-group-item.component';\n\n@Component({\n selector: 'mtna-wf-group',\n templateUrl: './form-group.component.html',\n styleUrls: ['./form-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormGroupComponent extends MtnaWfBaseGroupItem<FormItemGroupImpl> {\n override get item(): FormItemGroupImpl {\n return this._item;\n }\n override set item(item: FormItemGroupImpl) {\n this._item = item;\n\n // A list item can only display a heading line & a small text line\n // Compatible items should be items with short labels/headers & values\n // Items with multiple options, or potential nested items should not be included\n this.inList = this.item.items.every((i) => i.itemId === SHORT_ANSWER_ITEM_ID || i.itemId === DROPDOWN_ITEM_ID);\n }\n\n fullWidth: { [id: string]: boolean } = {\n [PARAGRAPH_ANSWER_ITEM_ID]: true,\n [FORM_ITEM_GROUP_IMPL_ID]: true,\n [TEXT_ITEM_ID]: true,\n [TITLE_ITEM_ID]: true,\n };\n\n /**\n * If form is readonly & all child items are one of the specified types below,\n * we want to display this group's child items in a mat-list\n */\n inList = false;\n}\n","<ng-container *ngIf=\"item && control\">\n <mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control.disabled\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n ></mtna-wf-item-header>\n <ng-template #fullLayout>\n <div\n class=\"item-group-container\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\"\n [formGroup]=\"control\"\n [ngClass]=\"item.layout\"\n >\n <mtna-wf-item\n *ngFor=\"let subItem of item.items; trackBy: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW' && !fullWidth[subItem.itemId]\"\n [ngClass.lt-md]=\"'width-100'\"\n [isCompact]=\"isCompact\"\n [item]=\"subItem\"\n [control]=\"control.controls[subItem.instanceId]\"\n [parentIds]=\"parentIds\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </div>\n </ng-template>\n\n <!-- When readonly, && all child items should be displayed in a mat-list-->\n <mat-list *ngIf=\"readonly && inList; else fullLayout\" [ngClass]=\"item.layout\">\n <mtna-wf-item\n *ngFor=\"let subItem of item.items | mtnaWfItemsWithValue; let index = index; trackBy: _trackByInstanceId\"\n [class.row-item]=\"item.layout === 'ROW'\"\n [ngClass.lt-md]=\"'width-100'\"\n [item]=\"subItem\"\n [inList]=\"true\"\n [parentIds]=\"parentIds\"\n [readonly]=\"true\"\n ></mtna-wf-item>\n </mat-list>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfItemsWithValuePipeModule } from '../../../pipes/items-with-value.pipe';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfItemHeaderModule } from '../../item-header/item-header.module';\nimport { MtnaWfFormGroupComponent } from './form-group.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaWfItemHeaderModule,\n MtnaHighlightModule,\n MtnaWfFormItemModule,\n FormsModule,\n ReactiveFormsModule,\n FlexLayoutModule,\n MtnaWfItemsWithValuePipeModule,\n ],\n declarations: [MtnaWfFormGroupComponent],\n exports: [MtnaWfFormGroupComponent],\n})\nexport class MtnaWfFormGroupModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { Section } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseSectionItem } from '../../base-items/base-section-item.component';\n\n@Component({\n selector: 'mtna-wf-section',\n templateUrl: './form-section.component.html',\n styleUrls: ['./form-section.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFormSectionComponent extends MtnaWfBaseSectionItem<Section> {}\n","<mtna-wf-step-card\n [step]=\"step\"\n [subtitle]=\"item.descriptiveText\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"\n (focused)=\"focused.emit($event)\"\n>\n <div cardContent>\n <ng-container *ngFor=\"let subItem of item.items; trackBy: _trackByInstanceId\">\n <mat-divider\n *ngIf=\"(subItem.itemId | mtnaWfGetObjectType) === 'formitemgroupimpl' && item.items.indexOf(subItem) !== 0\"\n class=\"section-item-divider\"\n [inset]=\"true\"\n ></mat-divider>\n\n <mtna-wf-item\n [isCompact]=\"isCompact\"\n [item]=\"subItem\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n [control]=\"!!control && !!control.controls ? control.controls[subItem.instanceId] : undefined\"\n (focusedSection)=\"focused.emit($event)\"\n ></mtna-wf-item>\n </ng-container>\n </div>\n</mtna-wf-step-card>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetObjectTypePipeModule } from '../../../pipes';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfStepCardModule } from '../../step-card/step-card.module';\nimport { MtnaWfFormSectionComponent } from './form-section.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfStepCardModule, MatDividerModule, MtnaWfFormItemModule, MtnaWfGetObjectTypePipeModule, MtnaHighlightModule],\n declarations: [MtnaWfFormSectionComponent],\n exports: [MtnaWfFormSectionComponent],\n})\nexport class MtnaWfFormSectionModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { mtnaLanguageIdToDisplay, MtnaLocaleIds, mtnaToLanguageId } from '@mtna/core-i18n-angular';\nimport {\n InternationalizedParagraphAnswerItem,\n InternationalizedShortAnswerItem,\n isInternationalizedParagraphAnswerItem,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-i18n-input-item',\n templateUrl: './i18n-input.component.html',\n styleUrls: ['./i18n-input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfI18nInputComponent<\n I extends InternationalizedParagraphAnswerItem | InternationalizedShortAnswerItem\n> extends MtnaWfBaseValueItem<I, FormGroup> {\n override get item(): I {\n return super.item;\n }\n override set item(value: I) {\n super.item = value;\n if (isInternationalizedParagraphAnswerItem(value)) {\n this.isParagraph = true;\n }\n }\n isParagraph = false;\n _notInformationText = $localize`No Information Provided`;\n\n getFormControl(language: string): FormControl {\n const control = this.control?.controls[language];\n return (control as FormControl) ?? new FormControl();\n }\n\n getLanguageDisplay(language: string): string {\n if (MtnaLocaleIds.guard(language)) {\n const facetId = mtnaToLanguageId[language];\n const displayName = mtnaLanguageIdToDisplay[facetId];\n return `${displayName} (${facetId})`;\n }\n return language;\n }\n}\n","<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<ng-container *ngIf=\"!readonly && !!control; else readOnly\">\n <mat-form-field\n *ngFor=\"let language of item.languageTags\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n >\n <mat-label>{{ item.label + ' - ' + getLanguageDisplay(language) }}</mat-label>\n <ng-container *ngIf=\"isParagraph; else shortInput\">\n <textarea\n matInput\n [formControl]=\"getFormControl(language)\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n </ng-container>\n <ng-template #shortInput>\n <input\n matInput\n [formControl]=\"getFormControl(language)\"\n [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n [required]=\"item.required\"\n />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</ng-container>\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item *ngFor=\"let language of item.languageTags\" class=\"wrappable-list-item\">\n <mat-icon *ngIf=\"item.label as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon>\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || _notInformationText + ' - ' + language }}</p>\n </mat-list-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetAutoCompletePipeModule, MtnaWfGetFormControlErrorPipeModule, MtnaWfGetListIconPipeModule } from '../../../pipes';\nimport { MtnaWfI18nInputComponent } from './i18n-input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MtnaHighlightModule,\n MtnaWfGetAutoCompletePipeModule,\n MatListModule,\n ReactiveFormsModule,\n MtnaWfGetFormControlErrorPipeModule,\n MtnaWfGetListIconPipeModule,\n ],\n declarations: [MtnaWfI18nInputComponent],\n exports: [MtnaWfI18nInputComponent],\n})\nexport class MtnaWfI18nInputModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport {\n DecimalAnswerItem,\n isDecimalAnswerItem,\n isParagraphAnswerItem,\n isWholeNumberItem,\n ParagraphAnswerItem,\n ShortAnswerItem,\n WholeNumberAnswerItem,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-input-item',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfInputComponent<\n I extends DecimalAnswerItem | ParagraphAnswerItem | ShortAnswerItem | WholeNumberAnswerItem\n> extends MtnaWfBaseValueItem<I, FormControl> {\n override get item(): I {\n return super.item;\n }\n override set item(value: I) {\n super.item = value;\n if (isDecimalAnswerItem(value) || isWholeNumberItem(value)) {\n this.isNumberInput = true;\n } else if (isParagraphAnswerItem(value)) {\n this.isParagraph = true;\n }\n }\n\n isParagraph = false;\n isNumberInput = false;\n _noInformationText = $localize`No Information Provided`;\n}\n","<ng-container *ngTemplateOutlet=\"header; context: { $implicit: true }\"></ng-container>\n<mat-form-field\n *ngIf=\"!readonly && !!control; else readOnly\"\n appearance=\"outline\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-label>{{ item.label }}</mat-label>\n <textarea\n *ngIf=\"isParagraph; else shortInput\"\n matInput\n [formControl]=\"control\"\n [required]=\"item.required\"\n [attr.autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\"\n cdkTextareaAutoSize\n cdkAutosizeMinRows=\"3\"\n cdkAutosizeMaxRows=\"5\"\n ></textarea>\n\n <ng-template #shortInput>\n <input matInput [formControl]=\"control!\" [autocomplete]=\"item.label || item.name | mtnaWfGetAutoComplete\" [required]=\"item.required\" />\n </ng-template>\n\n <mat-error *ngFor=\"let error of control.errors | keyvalue | slice : 0 : 1\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n</mat-form-field>\n\n<!-- READONLY -->\n<ng-template #readOnly>\n <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>\n</ng-template>\n\n<ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n</ng-template>\n\n<ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"item.label || item.header as label\" matListIcon>{{ label | mtnaWfGetListIcon }}</mat-icon> -->\n <h4 *ngIf=\"!item.questionText && (item.label || item.name) as label\" mat-line>{{ label }}</h4>\n <p mat-line class=\"wrap-line\">{{ item.value || _noInformationText }}</p>\n </mat-list-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetAutoCompletePipeModule, MtnaWfGetFormControlErrorPipeModule } from '../../../pipes';\nimport { MtnaWfInputComponent } from './input.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n FormsModule,\n MatListModule,\n MtnaWfGetAutoCompletePipeModule,\n MtnaWfGetFormControlErrorPipeModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n MatInputModule,\n ],\n declarations: [MtnaWfInputComponent],\n exports: [MtnaWfInputComponent],\n})\nexport class MtnaWfInputModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { MultipleChoiceItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseSingleSelectionParentValueItem } from '../../base-items/base-single-selection-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-multiple-choice-item',\n templateUrl: './multiple-choice.component.html',\n styleUrls: ['./multiple-choice.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfMultipleChoiceComponent extends MtnaWfBaseSingleSelectionParentValueItem<MultipleChoiceItem> {}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div *ngIf=\"control\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">\n <div class=\"mtna-wf-error-container\">\n <ng-container *ngIf=\"control.invalid && (control.dirty || control.touched)\">\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </ng-container>\n </div>\n <mat-radio-group class=\"control-item-content\" [formControl]=\"control\" (change)=\"selectionChange($event)\">\n <ng-container *ngFor=\"let opt of item.options; trackBy: _trackByOptionId\">\n <mat-radio-button [disableRipple]=\"readonly\" [disabled]=\"readonly || control.disabled\" [value]=\"opt.option.id\">{{\n opt.option.name\n }}</mat-radio-button>\n <mtna-wf-item\n *ngIf=\"item.optionItemMap[opt.option.id] as subItem\"\n [isCompact]=\"isCompact\"\n [item]=\"subItem\"\n [control]=\"!!controlWrapper && !!controlWrapper.controls ? controlWrapper.controls[subItem.instanceId] : undefined\"\n [parentIds]=\"parentIds.concat(opt.option.id)\"\n [readonly]=\"readonly\"\n ></mtna-wf-item>\n </ng-container>\n </mat-radio-group>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetFormControlErrorPipeModule } from '../../../pipes/get-form-control-error.pipe';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfMultipleChoiceComponent } from './multiple-choice.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatRadioModule,\n MtnaWfFormItemModule,\n MtnaWfGetFormControlErrorPipeModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MtnaHighlightModule,\n ],\n declarations: [MtnaWfMultipleChoiceComponent],\n exports: [MtnaWfMultipleChoiceComponent],\n})\nexport class MtnaWfMultipleChoiceModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { NumberedListItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-ordered-list-item',\n templateUrl: './ordered-list-item.component.html',\n styleUrls: ['./ordered-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfOrderedListItemComponent extends MtnaWfBaseFormItem<NumberedListItem> {}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ol [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ol>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../../pipes/sanitize-html.pipe';\nimport { MtnaWfOrderedListItemComponent } from './ordered-list-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfOrderedListItemComponent],\n exports: [MtnaWfOrderedListItemComponent],\n})\nexport class MtnaWfOrderedListItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'mtna-wf-repeatable-item',\n template: ` <ng-content></ng-content> `,\n styles: [\n `\n mtna-wf-repeatable-item {\n display: block;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfRepeatableItemComponent {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfRepeatableItemComponent } from './repeatable-item.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MtnaWfRepeatableItemComponent],\n exports: [MtnaWfRepeatableItemComponent],\n})\nexport class MtnaWfRepeatableItemModule {}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { COMPLEX_STANDARD } from '@mtna/core-angular';\nimport { FormItem, MtnaWfFormItemChange, RepeatableItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfManagerService } from '../../../services/form-manager.service';\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-repeatable-item-container',\n templateUrl: './repeatable-item-container.component.html',\n styleUrls: ['./repeatable-item-container.component.scss'],\n animations: [\n trigger('repeatItemExpandCollapse', [\n state('in', style({ height: '*', margin: '*', opacity: 1 })),\n state('void', style({ height: 0, margin: 0, opacity: 0, visibility: 'hidden' })),\n transition(':enter', [animate(COMPLEX_STANDARD, style({ height: '*', margin: '*', opacity: 1 }))]),\n transition(':leave', animate(COMPLEX_STANDARD)),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfRepeatableItemContainerComponent extends MtnaWfBaseParentValueItem<RepeatableItem, FormGroup> {\n _addText = $localize`ADD`;\n\n constructor(cdr: ChangeDetectorRef, private manager: MtnaWfManagerService) {\n super(cdr);\n }\n\n addItem() {\n this.manager.changeMtnaFormItem(new MtnaWfFormItemChange(this.item.repeatableTemplateId, this.parentIds, 'ADD'));\n }\n\n removeItem(item: FormItem) {\n const conditionChanges = this.manager.generateConditionChangeArray(item, 'REMOVE');\n this.manager.changeMtnaFormItem(new MtnaWfFormItemChange(item.instanceId, this.parentIds, 'REMOVE', conditionChanges));\n }\n}\n","<mtna-wf-item-header\n *ngIf=\"!!item.questionText || !!item.descriptiveText\"\n [descriptiveText]=\"item.descriptiveText\"\n [disabled]=\"control?.disabled || false\"\n [questionText]=\"item.questionText\"\n [required]=\"item.required\"\n></mtna-wf-item-header>\n<section [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <mat-card *ngIf=\"item.items.length > 0\">\n <mtna-wf-repeatable-item\n @repeatItemExpandCollapse\n *ngFor=\"let subitem of item.items; let first = first; trackBy: 'instanceId' | mtnaTrackByProperty\"\n >\n <ng-container *ngIf=\"subitem | coerceFormItem as coercedSubItem\">\n <button\n *ngIf=\"!readonly && item.items.length > item.minOccurrences\"\n mat-icon-button\n class=\"item-remove-button\"\n color=\"warn\"\n (click)=\"removeItem(coercedSubItem)\"\n matTooltip=\"Remove Item\"\n i18n-matTooltip\n >\n <mat-icon>remove_circle</mat-icon>\n </button>\n <mtna-wf-item\n [isCompact]=\"isCompact\"\n [item]=\"coercedSubItem\"\n [control]=\"!!control && !!control.controls ? control.controls[coercedSubItem.instanceId] : undefined\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </ng-container>\n </mtna-wf-repeatable-item>\n </mat-card>\n</section>\n<button *ngIf=\"!readonly\" mat-raised-button (click)=\"addItem()\" class=\"new-item-button\" color=\"primary\">\n {{ item.additionalText || _addText | uppercase }}\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MtnaHighlightModule, MtnaTrackByPropertyPipeModule } from '@mtna/core-angular';\n\nimport { MtnaWfCoerceFormItemPipeModule } from '../../../pipes';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfItemHeaderModule } from '../../item-header/item-header.module';\nimport { MtnaWfRepeatableItemModule } from '../repeatable-item/repeatable-item.module';\nimport { MtnaWfRepeatableItemContainerComponent } from './repeatable-item-container.component';\nimport { MatCardModule } from '@angular/material/card';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaWfItemHeaderModule,\n MtnaWfRepeatableItemModule,\n MtnaWfFormItemModule,\n MtnaHighlightModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n MtnaTrackByPropertyPipeModule,\n MtnaWfCoerceFormItemPipeModule,\n MatCardModule,\n ],\n declarations: [MtnaWfRepeatableItemContainerComponent],\n exports: [MtnaWfRepeatableItemContainerComponent],\n})\nexport class MtnaWfRepeatableItemContainerModule {}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport {\n MtnaInMemorySearchFacade,\n MtnaSearchDialogComponent,\n MtnaSearchDialogData,\n MtnaSearchDialogOutput,\n} from '@mtna/search-manager-angular';\nimport { ResourceReference, ResourceSearchItem } from '@mtna/web-form-ts';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\nimport { MtnaDialogService } from '@mtna/core-angular';\n\n@Component({\n selector: 'mtna-wf-resource-search-item',\n templateUrl: './resource-search.component.html',\n styleUrls: ['./resource-search.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfResourceSearchComponent extends MtnaWfBaseValueItem<ResourceSearchItem, FormGroup> {\n private references: BehaviorSubject<ResourceReference[]> = new BehaviorSubject<ResourceReference[]>(this.item?.value ?? []);\n\n constructor(cdr: ChangeDetectorRef, protected searchFacade: MtnaInMemorySearchFacade, protected dialogService: MtnaDialogService) {\n super(cdr);\n }\n\n openDialog() {\n this.dialogService.setCompact(true);\n this.dialogService\n .openDialog<MtnaSearchDialogComponent<string>>(MtnaSearchDialogComponent, {\n data: new MtnaSearchDialogData<ResourceReference>(\n this.searchFacade,\n $localize`Select a Reference`,\n true,\n {\n ...this.item.initialQuery,\n target: this.item.searchTargetId,\n },\n undefined,\n true,\n {\n color: 'primary',\n disableSubResults: true,\n resizableColumns: true,\n selectable: true,\n multiSelectable: true,\n },\n undefined,\n undefined,\n this.references.value,\n true,\n 'SQUARE'\n ),\n })\n .afterClosed()\n .subscribe((output: MtnaSearchDialogOutput<string>) => {\n if (output && output.selections) {\n const values = [];\n for (const selection of output.selections) {\n values.push({ uri: selection } as ResourceReference);\n }\n this.references.next(values);\n }\n });\n }\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div class=\"label-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\">\n <div class=\"label-text\">\n {{ item.label }}\n </div>\n <mat-divider fxFlex></mat-divider>\n</div>\n<div class=\"values-container\">\n <!-- <aria-ui-reference-list-table\n [path]=\"path\"\n [referenceConfiguration]=\"referenceConfiguration\"\n [references]=\"references\"\n [termReference]=\"termReference\"\n (openDetails)=\"openDetails.emit($event)\"\n (referenceSelected)=\"addButtonDisabled = !!$event\"\n (updateValues)=\"updateValues.emit($event)\"\n >\n </aria-ui-reference-list-table>\n -->\n <button mat-flat-button class=\"add-button\" color=\"primary\" [disabled]=\"readonly\" (click)=\"openDialog()\" i18n>\n Add Resource<mat-icon>add_circle_outline</mat-icon>\n </button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { MtnaWfResourceSearchComponent } from './resource-search.component';\n\n@NgModule({\n imports: [CommonModule, MatButtonModule, MatDividerModule, MatIconModule, FlexLayoutModule],\n declarations: [MtnaWfResourceSearchComponent],\n exports: [MtnaWfResourceSearchComponent],\n})\nexport class MtnaWfResourceSearchModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { TableItem, TableRowItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseParentValueItem } from '../../base-items/base-parent-value-item.component';\n\n@Component({\n selector: 'mtna-wf-table-item',\n templateUrl: './table-item.component.html',\n styleUrls: ['./table-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfTableFormItemComponent extends MtnaWfBaseParentValueItem<TableItem, FormGroup> {\n _trackByTableRow(index: number, row: TableRowItem) {\n return row.items\n .filter((i) => !!i)\n .map((item) => item.instanceId)\n .join('');\n }\n}\n","<table mat-table [dataSource]=\"item.tableRows\" [trackBy]=\"_trackByTableRow\">\n <ng-container *ngFor=\"let header of item.headers; let index = index\" [matColumnDef]=\"header\">\n <th mat-header-cell *matHeaderCellDef>{{ header }}</th>\n\n <td mat-cell *matCellDef=\"let rowItem\">\n <mtna-wf-item\n *ngIf=\"!!rowItem.items[index]\"\n [isCompact]=\"isCompact\"\n [control]=\"!!control && !!control.controls ? control.controls[rowItem.items[index].instanceId] : undefined\"\n [item]=\"rowItem.items[index]\"\n [readonly]=\"readonly\"\n [parentIds]=\"parentIds\"\n ></mtna-wf-item>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"item.headers\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: item.headers\"></tr>\n</table>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatTableModule } from '@angular/material/table';\n\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfTableFormItemComponent } from './table-item.component';\n\n@NgModule({\n imports: [CommonModule, MatTableModule, MtnaWfFormItemModule],\n declarations: [MtnaWfTableFormItemComponent],\n exports: [MtnaWfTableFormItemComponent],\n})\nexport class MtnaWfTableFormItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-text-item',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTextItemComponent extends MtnaWfBaseFormItem<ValueItem<unknown>> {}\n","<p [innerHTML]=\"$any(item.value) | mtnaWfSanitizeHtml\" class=\"mtna-wf-text-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\"></p>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../../pipes/sanitize-html.pipe';\nimport { MtnaWfTextItemComponent } from './text.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfTextItemComponent],\n exports: [MtnaWfTextItemComponent],\n})\nexport class MtnaWfTextItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ValueItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-title-item',\n templateUrl: './title.component.html',\n styleUrls: ['./title.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTitleItemComponent extends MtnaWfBaseFormItem<ValueItem<unknown>> {}\n","<h3 class=\"mtna-wf-title-item\" [mtnaHighlight]=\"indicatorStatus === 'ACTIVE'\">{{ item.value }}</h3>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfGetObjectTypePipeModule } from '../../../pipes/get-object-type.pipe';\nimport { MtnaWfTitleItemComponent } from './title.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfGetObjectTypePipeModule],\n declarations: [MtnaWfTitleItemComponent],\n exports: [MtnaWfTitleItemComponent],\n})\nexport class MtnaWfTitleItemModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { BulletedListItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseFormItem } from '../../base-items/base-form-item.component';\n\n@Component({\n selector: 'mtna-wf-unordered-list-item',\n templateUrl: './unordered-list-item.component.html',\n styleUrls: ['./unordered-list-item.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfUnorderedListItemComponent extends MtnaWfBaseFormItem<BulletedListItem> {}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<ul [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !item.questionText && !item.descriptiveText\">\n <li *ngFor=\"let item of item.value\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n</ul>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfSanitizeHtmlPipeModule } from '../../../pipes/sanitize-html.pipe';\nimport { MtnaWfUnorderedListItemComponent } from './unordered-list-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaHighlightModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfUnorderedListItemComponent],\n exports: [MtnaWfUnorderedListItemComponent],\n})\nexport class MtnaWfUnorderedListItemModule {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { isPresent } from '@mtna/core-ts';\nimport { DateRange, YearQuarter, YearQuarterRangeItem } from '@mtna/web-form-ts';\nimport { merge, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { MTNA_WF_DEFAULT_YEAR_RANGE, MtnaWfDefaultYearRange } from '../../../models';\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-year-quarter-item',\n templateUrl: './year-quarter.component.html',\n styleUrls: ['./year-quarter.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfYearQuarterComponent\n extends MtnaWfBaseValueItem<YearQuarterRangeItem, FormControl>\n implements AfterViewInit, OnDestroy, OnInit\n{\n @HostBinding('class.mtna-wf-year-quarter-item') yearQuarterItemClass = true;\n\n override get item(): YearQuarterRangeItem {\n return super.item;\n }\n override set item(value: YearQuarterRangeItem) {\n super.item = value;\n if (value.rangeLimits) {\n this.componentRangeLimits = value.rangeLimits;\n }\n }\n\n componentRangeLimits: DateRange<YearQuarter> | null | undefined;\n _quarterControl = new FormControl();\n _yearControl = new FormControl();\n _yearSelection = new Array<number>();\n\n private destroyObs = new Subject<void>();\n private defaultYearRange: MtnaWfDefaultYearRange;\n\n constructor(cdr: ChangeDetectorRef, @Optional() @Inject(MTNA_WF_DEFAULT_YEAR_RANGE) defaultYearRange?: MtnaWfDefaultYearRange) {\n super(cdr);\n this.defaultYearRange = defaultYearRange || { numFutureYears: 25, numPastYears: 25 };\n }\n\n ngAfterViewInit() {\n if (!this.readonly) {\n // Observe Year & Quarter value changes && set them on the item's control\n merge(this._yearControl.valueChanges, this._quarterControl.valueChanges)\n .pipe(takeUntil(this.destroyObs))\n .subscribe(() => {\n if (!this.control?.dirty && (this._yearControl.dirty || this._quarterControl.dirty)) {\n this.control?.markAsDirty();\n this.control?.markAsTouched();\n }\n if (isPresent(this._yearControl.value)) {\n const [year, quarter] = this.withinRangeLimits([this._yearControl.value, this._quarterControl.value]);\n this.control?.setValue({ year, quarter });\n }\n });\n\n // FIXME not sure we need this until we starting making this control\n // required/unrequired at the right time. Even then, this is super inneficient\n\n /*\n // Listen to this control for disabling local controls\n this.control.statusChanges\n .pipe(\n startWith(this.control.status),\n takeUntil(this.destroyObs)\n )\n .subscribe(status => {\n console.warn('statusChanges', status, this.control);\n // if this control is enabled, enable local controls if disabled\n if (this.control.enabled) {\n if (this._quarterControl.disabled || this._yearControl.disabled) {\n console.warn('[YearQuarterItem] enable the things');\n // this._quarterControl.enable();\n // this._yearControl.enable();\n }\n // else this control is disabled, so disable local controls if enabled\n } else if (this._quarterControl.enabled || this._yearControl.enabled) {\n console.warn('[YearQuarterItem] disable the things');\n // this._yearControl.disable();\n // this._quarterControl.disable();\n }\n });\n */\n }\n }\n\n ngOnDestroy() {\n this.destroyObs.next();\n this.destroyObs.complete();\n }\n\n ngOnInit() {\n // Set any initial value onto the Year & Quarter controls\n this._yearControl.setValue(this.control?.value ? this.control.value.year : null);\n this._quarterControl.setValue(this.control?.value ? this.control.value.quarter : null);\n\n // Create range limits if none exist\n if (!this.componentRangeLimits) {\n const thisYear = new Date().getFullYear();\n this.componentRangeLimits = {\n start: {\n year: thisYear - this.defaultYearRange.numPastYears,\n quarter: null,\n },\n end: {\n year: thisYear + this.defaultYearRange.numFutureYears,\n quarter: null,\n },\n };\n }\n\n // Populate the year selection\n for (let i = this.componentRangeLimits.start.year || 0; i <= (this.componentRangeLimits.end.year || 0); i++) {\n this._yearSelection.push(i);\n }\n\n if (this.readonly) {\n this.control?.disable();\n this._quarterControl.disable();\n this._yearControl.disable();\n }\n }\n\n /**\n * Sets the quarter value to `null` if the year & quarter is out of bounds of the range limits.\n * Otherwise, returns original value\n *\n * @param value `[number, number]` The selected [year, quarter] value\n * @returns `[number, number]` The original [year, quarter] value OR [year, null]\n */\n private withinRangeLimits: (value: [number, number]) => [number, number | null] = ([year, quarter]) => {\n const beyondUpperLimit =\n // year matches end year range limit\n year === this.componentRangeLimits?.end.year &&\n // quarter limit was provided\n isPresent(this.componentRangeLimits.end.quarter) &&\n // selected quarter is beyond quarter limit\n quarter > this.componentRangeLimits.end.quarter;\n\n const beyondLowerLimit =\n // year matches start year range limit\n year === this.componentRangeLimits?.start.year &&\n // quarter limit was provided\n isPresent(this.componentRangeLimits.start.quarter) &&\n // selected quarter is beyond quarter limit\n quarter < this.componentRangeLimits.start.quarter;\n\n if (beyondLowerLimit || beyondUpperLimit) {\n this._quarterControl.setValue(null, { emitEvent: false });\n return [year, null];\n }\n\n return [year, quarter];\n };\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n<div\n *ngIf=\"control\"\n class=\"year-quarter-container\"\n fxLayout=\"row\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n <mat-error *ngFor=\"let error of control.errors | keyvalue\">\n {{ error | mtnaWfGetControlError : item }}\n </mat-error>\n </mat-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfDateQuarterPipeModule, MtnaWfGetAvailableQuartersPipeModule, MtnaWfGetFormControlErrorPipeModule } from '../../../pipes';\nimport { MtnaWfYearQuarterComponent } from './year-quarter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n MatFormFieldModule,\n MatSelectModule,\n FormsModule,\n MtnaWfGetFormControlErrorPipeModule,\n MtnaWfGetAvailableQuartersPipeModule,\n MtnaWfDateQuarterPipeModule,\n MtnaHighlightModule,\n ReactiveFormsModule,\n ],\n declarations: [MtnaWfYearQuarterComponent],\n exports: [MtnaWfYearQuarterComponent],\n})\nexport class MtnaWfYearQuarterModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { YearQuarterRangeItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseValueItem } from '../../base-items/base-value-item.component';\n\n@Component({\n selector: 'mtna-wf-year-quarter-range-item',\n templateUrl: './year-quarter-range.component.html',\n styleUrls: ['./year-quarter-range.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MtnaWfYearQuarterRangeComponent extends MtnaWfBaseValueItem<YearQuarterRangeItem, FormGroup> {\n @HostBinding('class.mtna-wf-year-quarter-range-item') yearQuarterRangeClass = true;\n\n override get item(): YearQuarterRangeItem {\n return super.item;\n }\n override set item(item: YearQuarterRangeItem) {\n super.item = item;\n // Create fake items for the underlying date-item component\n this._startItem = { ...item, value: undefined };\n this._endItem = { ...item, value: undefined };\n }\n\n _startItem!: YearQuarterRangeItem;\n _endItem!: YearQuarterRangeItem;\n}\n","<ng-container *ngTemplateOutlet=\"header\"></ng-container>\n\n<div\n *ngIf=\"control\"\n class=\"range-item-container\"\n [fxLayout]=\"isCompact ? 'column' : 'row'\"\n fxLayoutAlign=\"start center\"\n fxLayoutGap=\"8px\"\n [mtnaHighlight]=\"indicatorStatus === 'ACTIVE' && !hasItemHeader\"\n>\n <mtna-wf-year-quarter-item\n [item]=\"_startItem\"\n [control]=\"control.controls['start'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n <span fxFlex=\"14px\">to</span>\n <mtna-wf-year-quarter-item\n [item]=\"_endItem\"\n [control]=\"control.controls['end'] | mtnaWfCoerceFormControl\"\n [readonly]=\"readonly\"\n ></mtna-wf-year-quarter-item>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfCoerceFormControlPipeModule } from '../../../pipes/coerce-form-control.pipe';\nimport { MtnaWfYearQuarterModule } from '../year-quarter/year-quarter.module';\nimport { MtnaWfYearQuarterRangeComponent } from './year-quarter-range.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfYearQuarterModule, MtnaHighlightModule, FlexLayoutModule, MtnaWfCoerceFormControlPipeModule],\n declarations: [MtnaWfYearQuarterRangeComponent],\n exports: [MtnaWfYearQuarterRangeComponent],\n})\nexport class MtnaWfYearQuarterRangeModule {}\n","import { InjectedComponent } from '@mtna/core-angular';\n\nimport {\n MtnaWfBooleanComponent,\n MtnaWfCheckboxComponent,\n MtnaWfDateComponent,\n MtnaWfDateRangeComponent,\n MtnaWfDropdownComponent,\n MtnaWfFileUploadComponent,\n MtnaWfFormGroupComponent,\n MtnaWfFormSectionComponent,\n MtnaWfI18nInputComponent,\n MtnaWfInputComponent,\n MtnaWfMultipleChoiceComponent,\n MtnaWfOrderedListItemComponent,\n MtnaWfRepeatableItemContainerComponent,\n MtnaWfResourceSearchComponent,\n MtnaWfTextItemComponent,\n MtnaWfTitleItemComponent,\n MtnaWfUnorderedListItemComponent,\n MtnaWfYearQuarterComponent,\n MtnaWfYearQuarterRangeComponent,\n} from '../form-item-impl';\nimport {\n BOOLEAN_ITEM_ID,\n BULLETED_LIST_ITEM_ID,\n CHECKBOX_ITEM_ID,\n DATE_ITEM_ID,\n DECIMAL_ANSWER_ITEM_ID,\n DROPDOWN_ITEM_ID,\n FILE_UPLOAD_ITEM_ID,\n FORM_ITEM_GROUP_IMPL_ID,\n I18N_PARAGRAPH_ANSWER_ITEM_ID,\n I18N_SHORT_ANSWER_ITEM_ID,\n MULTIPLE_CHOICE_ITEM_ID,\n NUMBERED_LIST_ITEM_ID,\n OFFSET_DATE_RANGE_ITEM_ID,\n PARAGRAPH_ANSWER_ITEM_ID,\n REPEATABLE_ITEM_ID,\n RESOURCE_SEARCH_ITEM_ID,\n SECTION_ID,\n SHORT_ANSWER_ITEM_ID,\n TEXT_ITEM_ID,\n TITLE_ITEM_ID,\n WHOLE_NUMBER_ANSWER_ITEM_ID,\n YEAR_QUARTER_RANGE_ITEM_ID,\n} from '@mtna/web-form-ts';\n\nexport const MTNA_WF_ITEM_INJECTED_COMPONENTS: InjectedComponent[] = [\n // Boolean Item Component\n {\n key: BOOLEAN_ITEM_ID,\n component: MtnaWfBooleanComponent,\n },\n // Checkbox Item Component\n {\n key: CHECKBOX_ITEM_ID,\n component: MtnaWfCheckboxComponent,\n },\n // Date Item Component\n {\n key: DATE_ITEM_ID,\n component: MtnaWfDateComponent,\n },\n // Date Range Item Component\n {\n key: OFFSET_DATE_RANGE_ITEM_ID,\n component: MtnaWfDateRangeComponent,\n },\n // Dropdown Item Component\n {\n key: DROPDOWN_ITEM_ID,\n component: MtnaWfDropdownComponent,\n },\n // File Upload Item Component\n {\n key: FILE_UPLOAD_ITEM_ID,\n component: MtnaWfFileUploadComponent,\n },\n // Form Item Group Component\n {\n key: FORM_ITEM_GROUP_IMPL_ID,\n component: MtnaWfFormGroupComponent,\n },\n // Form Section Component\n {\n key: SECTION_ID,\n component: MtnaWfFormSectionComponent,\n },\n // I18n Input Item Components\n {\n key: I18N_PARAGRAPH_ANSWER_ITEM_ID,\n component: MtnaWfI18nInputComponent,\n },\n {\n key: I18N_SHORT_ANSWER_ITEM_ID,\n component: MtnaWfI18nInputComponent,\n },\n // Input Item Components\n {\n key: DECIMAL_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n {\n key: PARAGRAPH_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n {\n key: SHORT_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n {\n key: WHOLE_NUMBER_ANSWER_ITEM_ID,\n component: MtnaWfInputComponent,\n },\n // Mutliple Choice Item Component\n {\n key: MULTIPLE_CHOICE_ITEM_ID,\n component: MtnaWfMultipleChoiceComponent,\n },\n // Orderd List Item Component\n {\n key: NUMBERED_LIST_ITEM_ID,\n component: MtnaWfOrderedListItemComponent,\n },\n // Repeatable Item Container Component\n {\n key: REPEATABLE_ITEM_ID,\n component: MtnaWfRepeatableItemContainerComponent,\n },\n // Resource Search Item Component\n {\n key: RESOURCE_SEARCH_ITEM_ID,\n component: MtnaWfResourceSearchComponent,\n },\n // Table Item Component - NOTE: NOT USED\n // {\n // key: '',\n // component: MtnaWfTableFormItemComponent\n // },\n // Text Item Component\n {\n key: TEXT_ITEM_ID,\n component: MtnaWfTextItemComponent,\n },\n // Title Item Component\n {\n key: TITLE_ITEM_ID,\n component: MtnaWfTitleItemComponent,\n },\n // Unordered List Item Component\n {\n key: BULLETED_LIST_ITEM_ID,\n component: MtnaWfUnorderedListItemComponent,\n },\n // Year Quarter Item Component\n {\n key: 'us.mtna.web.form.item.impl.date.YearQuarterItem',\n component: MtnaWfYearQuarterComponent,\n },\n // Year Quarter Range Item Component\n {\n key: YEAR_QUARTER_RANGE_ITEM_ID,\n component: MtnaWfYearQuarterRangeComponent,\n },\n];\n","import { InjectedComponent, InjectedComponentProvider } from '@mtna/core-angular';\n\nimport { MTNA_WF_ITEM_INJECTED_COMPONENTS } from './form-item-injected-components';\n\nexport class MtnaWfItemComponentProvider extends InjectedComponentProvider {\n public getInjectedComponents(): InjectedComponent[] {\n return MTNA_WF_ITEM_INJECTED_COMPONENTS;\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { MtnaScrollDirection, MtnaScrollService } from '@mtna/core-angular';\nimport { FormItem, OutlineStep, ProgressiveForm } from '@mtna/web-form-ts';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\n\nimport { FormStep } from '../../../models';\nimport { MtnaWfManagerService, MtnaWfNgFormService, MtnaWfUIService } from '../../../services';\nimport { flattenSteps, generateFormStepsFromOutline } from '../../../utilities';\nimport { MtnaWfBaseFormComponent } from '../../base-form';\n\n/* eslint-disable @angular-eslint/no-outputs-metadata-property */\n@Component({\n selector: 'mtna-wf-progressive-form',\n templateUrl: './progressive-form.component.html',\n styleUrls: ['./progressive-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n outputs: ['status', 'focusedSection', 'mtnaFormChange'],\n})\nexport class MtnaWfProgressiveFormComponent extends MtnaWfBaseFormComponent<ProgressiveForm> {\n static ngAcceptInputType_loading: BooleanInput;\n\n override get mtnaForm(): ProgressiveForm | null | undefined {\n return super.mtnaForm as ProgressiveForm | null | undefined;\n }\n override set mtnaForm(form: ProgressiveForm | null | undefined) {\n if (form) {\n this.formItems = form.items;\n this.resetValues();\n this.generateFormSteps(form.outline);\n this.checkAllStepsIds(form.items);\n super.steps = this.determineStepsToPassToSuper(form.items);\n super.mtnaForm = form;\n\n this.setStepStatus();\n this.setFormStatusSubscription();\n this.showPreviousButton = this.showPreviousButtonFn();\n this.lastStepActive = this.checkLastStepActive();\n this.cdr.markForCheck();\n }\n }\n\n @Input()\n get loading(): boolean {\n return this._loading;\n }\n set loading(value: boolean) {\n this._loading = coerceBooleanProperty(value);\n }\n private _loading = false;\n\n /** Emits the updated ProgressiveForm value */\n @Output() nextStepSelected = new EventEmitter<ProgressiveForm>();\n /**\n * Emits the previous steps instanceId.\n * Since this component is always on the last step and the last item, we can always count on having the instanceId of the previous step.\n */\n @Output() previousStepSelected = new EventEmitter<string>();\n /**\n * Emits the instanceId of the selected step.\n * If the currently active step is the step that is selected, this will not emit.\n */\n @Output() showSelectedStepId = new EventEmitter<string>();\n\n activeStepId$ = new BehaviorSubject<string | undefined>(undefined);\n formItems: FormItem[] = [];\n formStatusSubscriber: Subscription | undefined;\n formStatusValid$ = new BehaviorSubject<boolean>(false);\n lastStepActive = false;\n scrollDirection$: Observable<MtnaScrollDirection> = this.scrollService.getScrollDirection();\n showPreviousButton = false;\n stepArray$ = new BehaviorSubject<FormStep[]>([]);\n\n constructor(\n mtnaFormManager: MtnaWfManagerService,\n ngFormService: MtnaWfNgFormService,\n uiService: MtnaWfUIService,\n private cdr: ChangeDetectorRef,\n private scrollService: MtnaScrollService\n ) {\n super(mtnaFormManager, ngFormService, uiService);\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n if (this.formStatusSubscriber) {\n this.formStatusSubscriber.unsubscribe();\n }\n }\n\n /**\n * Checks if the last step in the form is active.\n * @returns true if the last step in the form is active, otherwise false\n */\n checkLastStepActive = () => {\n if (this.stepArray$.value.length > 0) {\n return this.stepArray$.value[this.stepArray$.value.length - 1].active;\n } else if (this.stepArray$.value.length === 0) {\n return this.stepArray$.value[0].active;\n } else {\n return false;\n }\n };\n\n /**\n * Checks if the previous button should be shown.\n * @returns true if the previous button should be shown, otherwise false\n */\n showPreviousButtonFn(): boolean {\n if (this.activeStepId$.value) {\n const indexOfActiveStep = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value);\n return indexOfActiveStep > 0;\n } else {\n return false;\n }\n }\n\n /**\n * Subscribes to the form status changes and updates the formStatusValid$ BehaviorSubject with the validity of the active step.\n */\n private setFormStatusSubscription(): void {\n if (this.ngForm) {\n // Used to set the initial validity of the active step, otherwise it will always default to false\n if (this.activeStepId$.value) {\n const initialValidity = this.ngForm.controls[this.activeStepId$.value]?.valid;\n this.formStatusValid$.next(initialValidity);\n }\n\n if (!this.formStatusSubscriber) {\n this.formStatusSubscriber = this.ngForm.statusChanges.subscribe(() => {\n if (this.activeStepId$.value) {\n if (this.ngForm) {\n const activeControlExists = Object.keys(this.ngForm.controls).includes(this.activeStepId$.value);\n if (activeControlExists) {\n const activeControl = this.ngForm.controls[this.activeStepId$.value];\n if (activeControl) {\n this.formStatusValid$.next(activeControl.valid);\n }\n }\n }\n }\n });\n }\n }\n }\n\n /**\n * Resets all necessary values to build to form each iteration.\n */\n private resetValues() {\n this.formStatusSubscriber?.unsubscribe();\n this.ngForm = undefined;\n this._steps = undefined;\n this.ngFormService.disposeForm();\n this.stepArray$.next([]);\n this.activeStepId$.next(undefined);\n }\n\n /**\n * Generates the steps for the form based on the outline property of the form.\n * @param outline the outline of the form that is the basis for the steps\n */\n private generateFormSteps(outline: OutlineStep[]) {\n if (this.stepArray$.value.length === 0) {\n const generatedFormSteps = generateFormStepsFromOutline(outline);\n const flattenedFormSteps = flattenSteps(generatedFormSteps);\n this.stepArray$.next(flattenedFormSteps);\n // Set the active step to the first step in the array for the first load\n const lastItemIndex = this.formItems.length - 1;\n const updatedSteps: FormStep[] = [];\n this.stepArray$.value.forEach((step) => {\n if (step.instanceId === this.formItems[lastItemIndex].instanceId || step.instanceId === this.formItems[lastItemIndex].templateId) {\n updatedSteps.push({ ...step, active: true, status: 'INVALID' });\n } else {\n updatedSteps.push(step);\n }\n });\n this.stepArray$.next(updatedSteps);\n }\n }\n\n /**\n * Checks all of the steps to ensure that each steps instanceId property matches the instanceId of the FormItem and updates the property if needed.\n * This finds the step based on the templateId. When the stepArray is first built, the templateId of the FormItem gets set as the steps instanceId.\n * Here, we just need to find the steps that match the templateId and update the instanceId.\n * Matching is based off of templateId reduces the number of steps that need to be checked/manipulated.\n *\n * @param formItems the FormItems to check against the steps\n */\n private checkAllStepsIds(formItems: FormItem[]) {\n formItems.forEach((item) => {\n const stepMatchedOnTemplateId = this.stepArray$.value.find((s) => s.instanceId === item.templateId);\n if (stepMatchedOnTemplateId) {\n stepMatchedOnTemplateId.instanceId = item.instanceId;\n if (stepMatchedOnTemplateId.active) {\n this.activeStepId$.next(item.instanceId);\n this.cdr.markForCheck();\n }\n }\n });\n }\n\n /**\n * Because the super class has no knowledge of the stepArray that have been generated for the form,\n * this function determines which steps need to be passed to the super class and the inherited _steps\n * property. The super class \"should\" obtain each step as it is passed in. This means that when the\n * call to either grab the form again or to get the next FormItem, should also continue to pass the\n * steps that have been generated.\n * @returns\n */\n private determineStepsToPassToSuper(items: FormItem[]): FormStep[] {\n const availableItemInstanceIds: string[] = [];\n items.forEach((item) => {\n availableItemInstanceIds.push(item.instanceId);\n });\n\n const stepsToPass: FormStep[] = [];\n this.stepArray$.value.forEach((step) => {\n if (availableItemInstanceIds.includes(step.instanceId)) {\n stepsToPass.push(step);\n }\n });\n\n return stepsToPass;\n }\n\n /**\n * Sets the status of each step in the form based on the validity of the form control.\n * If the form control key is not found in the controls of the form, the status is set to 'PLACEHOLDER'.\n */\n private setStepStatus() {\n const updatedSteps: FormStep[] = [];\n this.stepArray$.value.forEach((step) => {\n if (this.ngForm) {\n const controlKeyExists = Object.keys(this.ngForm.controls).includes(step.instanceId);\n if (controlKeyExists) {\n updatedSteps.push({ ...step, status: this.ngForm.controls[step.instanceId].valid ? 'VALID' : 'INVALID' });\n } else {\n updatedSteps.push({ ...step, status: 'PLACEHOLDER' });\n }\n }\n });\n this.stepArray$.next(updatedSteps);\n }\n\n /**\n * Emits the next or previous step templateId based on the direction provided.\n * @param stepDirection the direction of the step to emit\n */\n showDirectionalStep(stepDirection: 'previous' | 'next') {\n // const stepTemplateId = this.getDirectionalStepTemplateId(stepDirection);\n // if (stepTemplateId) {\n if (this.mtnaForm) {\n const formValue = this.ngFormService.getFormValue();\n const updatedForm = this.mtnaFormManager.insertNewValues(this.mtnaForm, formValue) as ProgressiveForm;\n if (stepDirection === 'next') {\n this.nextStepSelected.emit(updatedForm);\n this.scrollService.scrollTop();\n } else {\n const previousStepIndex = this.stepArray$.value.findIndex((step) => step.instanceId === this.activeStepId$.value) - 1;\n if (previousStepIndex >= 0) {\n const previousStep = this.stepArray$.value[previousStepIndex];\n if (previousStep) {\n this.previousStepSelected.emit(previousStep.instanceId);\n this.scrollService.scrollTop();\n }\n }\n }\n }\n }\n\n /**\n * Shows the selected step as the active step in the form.\n * To be used on the mtna-wf-form-stepper components \"selected\" output.\n * @param step the step to show as the active step\n */\n showSelectedStep(step: FormStep) {\n if (this.activeStepId$.value !== step.instanceId) {\n this.showSelectedStepId.emit(step.instanceId);\n this.activeStepId$.next(step.instanceId);\n this.scrollService.scrollTop();\n }\n }\n\n _trackByStepInstanceId(index: number, formStep: FormStep) {\n return formStep.instanceId;\n }\n}\n","<div fxLayout=\"row\" class=\"mtna-wf-progressive-form__container\">\n <ng-container *ngIf=\"!isCompact\">\n <mtna-wf-stepper\n *ngIf=\"stepArray$ | async as steps\"\n fxFlex=\"200px\"\n [steps]=\"steps\"\n (selected)=\"showSelectedStep($event)\"\n ></mtna-wf-stepper>\n </ng-container>\n <div fxFlex class=\"mtna-wf-progressive-form__form-container\" [class.compact]=\"isCompact\">\n <form *ngIf=\"ngForm\" [formGroup]=\"ngForm\" [formDisabled]=\"readonly\">\n <ng-container *ngFor=\"let item of mtnaForm?.items | mtnaWfFilterHiddenItems\">\n <ng-container *ngIf=\"activeStepId$ | async as activeStepId\">\n <mtna-wf-item\n *ngIf=\"item.instanceId === activeStepId\"\n [item]=\"item\"\n [control]=\"ngForm.controls[item.instanceId]\"\n [readonly]=\"readonly\"\n [parentIds]=\"componentIds\"\n [step]=\"_steps?.[item.instanceId]\"\n (focusedSection)=\"focusedSection.emit($event)\"\n ></mtna-wf-item>\n </ng-container>\n </ng-container>\n </form>\n <div *ngIf=\"!loading\" class=\"mtna-wf-progressive-form__stepper-actions\" fxLayout=\"row\" fxLayoutAlign=\"center center\" fxLayoutGap=\"26px\">\n <button *ngIf=\"showPreviousButton\" mat-stroked-button color=\"primary\" (click)=\"showDirectionalStep('previous')\" i18n>\n Previous Step\n </button>\n <ng-container *ngIf=\"!lastStepActive; else parentActions\">\n <button mat-raised-button color=\"primary\" (click)=\"showDirectionalStep('next')\" i18n>Next Step</button>\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #parentActions>\n <ng-content></ng-content>\n</ng-template>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { GetActiveFormStepItemPipeModule, GetProgressiveFormItemPipeModule, MtnaWfFilterHiddenItemsPipeModule } from '../../../pipes';\nimport { MtnaWfFormDisablerModule } from '../../form-disabler/form-disabler.module';\nimport { MtnaWfFormItemModule } from '../../form-item/form-item.module';\nimport { MtnaWfFormStepperModule } from '../../form-stepper/form-stepper.module';\nimport { MtnaWfProgressiveFormComponent } from './progressive-form.component';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n FlexLayoutModule,\n FormsModule,\n MatButtonModule,\n MatIconModule,\n MtnaWfFormDisablerModule,\n MtnaWfFormItemModule,\n ReactiveFormsModule,\n MtnaWfFilterHiddenItemsPipeModule,\n MtnaWfFormStepperModule,\n GetProgressiveFormItemPipeModule,\n GetActiveFormStepItemPipeModule,\n MtnaWfFilterHiddenItemsPipeModule,\n ],\n declarations: [MtnaWfProgressiveFormComponent],\n exports: [MtnaWfProgressiveFormComponent],\n})\nexport class MtnaWfProgressiveFormModule {}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, HostBinding, Inject, Input, LOCALE_ID } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { CanDestroyNotify, mixinDestroyNotifier } from '@mtna/core-angular';\nimport { MtnaLocaleIds } from '@mtna/core-i18n-angular';\nimport { isPresent } from '@mtna/core-ts';\nimport { FormOptionSelector, instanceOfCheckboxItemTemplate, Option, TemplateItem } from '@mtna/web-form-ts';\n\nconst _BaseTemplateItemComponent = mixinDestroyNotifier(class {});\n\n@Component({\n template: ``,\n})\nexport abstract class MtnaWfBaseTemplateItemComponent<T extends TemplateItem>\n extends _BaseTemplateItemComponent\n implements CanDestroyNotify\n{\n static ngAcceptInputType_readonly: BooleanInput;\n static ngAcceptInputType_isCompact: BooleanInput;\n\n @Input() color: ThemePalette;\n\n @Input()\n get displayLocale(): typeof MtnaLocaleIds.type {\n return this._displayLocale;\n }\n set displayLocale(value: typeof MtnaLocaleIds.type) {\n this._displayLocale = value;\n }\n private _displayLocale: typeof MtnaLocaleIds.type = 'en';\n\n // @Input()\n // get readonly(): boolean {\n // return this._readonly;\n // }\n // set readonly(value: boolean) {\n // this._readonly = coerceBooleanProperty(value);\n // }\n // private _readonly = false;\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = coerceBooleanProperty(value);\n }\n protected _isCompact = false;\n\n @Input()\n get template(): T | undefined {\n return this._template;\n }\n set template(value: T | undefined) {\n this._template = value;\n if (instanceOfCheckboxItemTemplate(value)) {\n }\n }\n protected _template: T | undefined;\n\n @HostBinding('class.mtna-wf-template-control-item') templateControlClass = true;\n\n // @HostBinding('class.read-only')\n // get isReadOnly(): boolean {\n // return this._readonly;\n // }\n\n constructor(@Inject(LOCALE_ID) private localeId: string) {\n super();\n const injectedLocale = MtnaLocaleIds.guard(this.localeId) ? this.localeId : 'en';\n if (!isPresent(this.displayLocale)) {\n this.displayLocale = injectedLocale;\n }\n }\n\n _trackByOptionId(index: number, option: FormOptionSelector<Option<unknown>>) {\n return option.option.id;\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { Component, Input } from '@angular/core';\nimport { TemplateItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from './base-template-item.component';\n\n@Component({\n template: ``,\n})\nexport class MtnaWfBaseTemplateItemWithListComponent<T extends TemplateItem> extends MtnaWfBaseTemplateItemComponent<T> {\n static ngAcceptInputType_inList: BooleanInput;\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = value;\n }\n private _inList = false;\n}\n","import { Component } from '@angular/core';\nimport { FormOptionSelector, Option, TemplateItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\n\n@Component({\n template: ``,\n})\nexport abstract class MtnaWfBaseTemplateOptionItemComponent<\n O extends Option<unknown>,\n T extends TemplateItem\n> extends MtnaWfBaseTemplateItemWithListComponent<T> {\n _trackByTemplateId(index: number, option: FormOptionSelector<O>) {\n return option.option.id;\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { MtnaLocaleIds } from '@mtna/core-i18n-angular';\nimport { InternationalizedString } from '@mtna/core-i18n-ts';\n\n@Component({\n selector: 'mtna-wf-template-item-header',\n templateUrl: './template-item-header.component.html',\n styleUrls: ['./template-item-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTemplateItemHeaderComponent {\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_required: BooleanInput;\n\n @Input()\n get descriptiveText(): InternationalizedString[] {\n return this._descriptiveText;\n }\n set descriptiveText(descriptiveText: InternationalizedString[]) {\n this._descriptiveText = descriptiveText;\n }\n private _descriptiveText: InternationalizedString[] = [];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n }\n private _disabled = false;\n\n @Input()\n get displayLocale(): typeof MtnaLocaleIds.type {\n return this._displayLocale;\n }\n set displayLocale(displayLocale: typeof MtnaLocaleIds.type) {\n this._displayLocale = displayLocale;\n }\n private _displayLocale: typeof MtnaLocaleIds.type = 'en';\n\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(required: boolean) {\n this._required = required;\n }\n private _required = false;\n\n @Input()\n get questionText(): InternationalizedString[] {\n return this._questionText;\n }\n set questionText(questionText: InternationalizedString[]) {\n this._questionText = questionText;\n }\n private _questionText: InternationalizedString[] = [];\n\n _requiredHtml = `<span aria-hidden=\"true\"> *</span>`;\n}\n","<h3\n *ngIf=\"displayLocale | getI18nStringValueFromLocale : questionText as questionTextValue\"\n class=\"mtna-wf-template-item-question\"\n [innerHtml]=\"questionTextValue + (required && !disabled ? _requiredHtml : '') | mtnaWfSanitizeHtml\"\n></h3>\n<p\n *ngIf=\"displayLocale | getI18nStringValueFromLocale : descriptiveText as descriptiveTextValue\"\n class=\"mtna-wf-template-item-description\"\n [innerHTML]=\"descriptiveTextValue | mtnaWfSanitizeHtml\"\n></p>\n","import { FormStep, instanceOfFormStep } from '../../../models';\nimport { isType } from '@mtna/core-ts';\n\nexport interface StepAware {\n step: FormStep | null | undefined;\n}\n\nexport function instanceOfStepAware(something: unknown): something is StepAware {\n return (\n isType<StepAware>(something, 'step') && (something.step === null || something.step === undefined || instanceOfFormStep(something.step))\n );\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Component, ComponentFactoryResolver, ComponentRef, Inject, Injector, Input, OnInit, ViewContainerRef } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { INJECTION_SERVICE, InjectionService, MtnaComponentInjector } from '@mtna/core-angular';\nimport { MtnaLocaleIds } from '@mtna/core-i18n-angular';\nimport { TemplateItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\nimport { FormStep } from '../../../models';\nimport { instanceOfStepAware } from '../models';\nimport { isPresent } from '@mtna/core-ts';\n\n@Component({\n selector: 'mtna-wf-template-item-injector',\n template: ``,\n})\nexport class MtnaWfTemplateItemInjector extends MtnaComponentInjector implements OnInit {\n static ngAcceptInputType_inList: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n static ngAcceptInputType_isCompact: BooleanInput;\n\n @Input()\n get displayLocale(): typeof MtnaLocaleIds.type {\n return this._displayLocale;\n }\n\n set displayLocale(value: typeof MtnaLocaleIds.type) {\n this._displayLocale = value;\n }\n\n protected _displayLocale: typeof MtnaLocaleIds.type = 'en';\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n\n set inList(value: boolean) {\n this._inList = coerceBooleanProperty(value);\n }\n\n private _inList = false;\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = coerceBooleanProperty(value);\n }\n private _isCompact = false;\n\n @Input()\n get readonly(): boolean {\n return this._readonly;\n }\n\n set readonly(value: boolean) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n private _readonly = false;\n\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n\n set step(value: FormStep | null | undefined) {\n this._step = value;\n }\n\n private _step: FormStep | null | undefined;\n\n @Input()\n get template(): TemplateItem {\n return this._template;\n }\n\n set template(value: TemplateItem) {\n const reconfigure = isPresent(this._template);\n this._template = value;\n if (reconfigure) {\n this.reConfigureInjectedComponent();\n }\n }\n\n protected _template!: TemplateItem;\n\n @Input() color: ThemePalette;\n\n private wfTemplateItemComponent: MtnaWfBaseTemplateItemComponent<any> | undefined;\n\n constructor(\n protected injector: Injector,\n protected cfr: ComponentFactoryResolver,\n protected vcr: ViewContainerRef,\n @Inject(INJECTION_SERVICE) protected injectionService: InjectionService\n ) {\n super(injector, cfr, vcr, injectionService);\n }\n\n ngOnInit(): void {\n if (this.template) {\n super.ngOnInit();\n }\n }\n\n protected configureComponent(componentRef: ComponentRef<any>): void {\n this.wfTemplateItemComponent = componentRef.instance as MtnaWfBaseTemplateItemComponent<any>;\n this.wfTemplateItemComponent.color = this.color;\n this.wfTemplateItemComponent.displayLocale = this.displayLocale;\n this.wfTemplateItemComponent.template = this.template;\n this.wfTemplateItemComponent.isCompact = this.isCompact;\n if (this.wfTemplateItemComponent instanceof MtnaWfBaseTemplateItemWithListComponent) {\n this.wfTemplateItemComponent.inList = this.inList;\n }\n\n if (instanceOfStepAware(this.wfTemplateItemComponent)) {\n this.wfTemplateItemComponent.step = this.step;\n }\n }\n\n protected getInjectedComponentKey(): string {\n if (this.template) {\n return this.template.itemId;\n } else {\n console.error('MtnaWfTemplateItemInjector - getInjectedComponentKey - template is undefined');\n return '';\n }\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MtnaLocaleIds } from '@mtna/core-i18n-angular';\nimport { Condition, isConditionalItem, TemplateItem } from '@mtna/web-form-ts';\nimport { FormStep } from '../../../models';\n\n@Component({\n selector: 'mtna-wf-template-item',\n templateUrl: './template-item.component.html',\n styleUrls: ['./template-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTemplateItemComponent {\n static ngAcceptInputType_inList: BooleanInput;\n // static ngAcceptInputType_readonly: BooleanInput;\n static ngAcceptInputType_inListItems: BooleanInput;\n\n @Input()\n get displayLocale(): typeof MtnaLocaleIds.type {\n return this._displayLocale;\n }\n set displayLocale(displayLocale: typeof MtnaLocaleIds.type) {\n this._displayLocale = displayLocale;\n }\n private _displayLocale: typeof MtnaLocaleIds.type = 'en';\n\n @Input()\n get inList(): boolean {\n return this._inList;\n }\n set inList(value: boolean) {\n this._inList = coerceBooleanProperty(value);\n }\n private _inList = false;\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = coerceBooleanProperty(value);\n }\n private _isCompact = false;\n\n // @Input()\n // get readonly(): boolean {\n // return this._readonly;\n // }\n // set readonly(value: boolean) {\n // this._readonly = coerceBooleanProperty(value);\n // }\n // private _readonly = false;\n\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(step: FormStep | null | undefined) {\n this._step = step;\n }\n private _step: FormStep | null | undefined;\n\n @Input()\n get template(): TemplateItem {\n return this._template;\n }\n set template(template: TemplateItem) {\n this._template = template;\n if (isConditionalItem(template)) {\n this.condition = template.condition;\n }\n }\n protected _template!: TemplateItem;\n\n condition: Condition | undefined;\n\n @Input() color: ThemePalette;\n}\n","<mtna-annotations-indicator\n *ngIf=\"template.annotationEnabled\"\n [annotatableId]=\"template.annotatableId\"\n color=\"primary\"\n></mtna-annotations-indicator>\n\n<mtna-wf-template-item-header\n *ngIf=\"template.questionText.length > 0 || template.descriptiveText.length > 0\"\n [descriptiveText]=\"template.descriptiveText\"\n [displayLocale]=\"displayLocale\"\n [questionText]=\"template.questionText\"\n [required]=\"template.required\"\n></mtna-wf-template-item-header>\n\n<mtna-wf-template-item-injector\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [inList]=\"inList\"\n [isCompact]=\"isCompact\"\n [template]=\"template\"\n [step]=\"step\"\n></mtna-wf-template-item-injector>\n\n<ng-container *ngIf=\"condition\"> </ng-container>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { BooleanItemTemplate, BooleanOption, TemplateItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateOptionItemComponent } from '../option/template-option-item.component';\n\n@Component({\n selector: 'mtna-wf-boolean-item-template',\n templateUrl: './boolean-item.component.html',\n styleUrls: ['./boolean-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfBooleanItemTemplateComponent extends MtnaWfBaseTemplateOptionItemComponent<BooleanOption, BooleanItemTemplate> {\n _trackByInstanceId(index: number, item: { key: string; value: TemplateItem }) {\n return item.value.instanceId;\n }\n}\n","<ng-container *ngIf=\"template\">\n <mat-slide-toggle [aria-label]=\"template.option.option.name\">\n {{ template.option.option.name }}\n </mat-slide-toggle>\n\n <ng-container *ngIf=\"!!template.optionTemplateMap\">\n <mtna-wf-template-item\n *ngFor=\"let t of template.optionTemplateMap | keyvalue; trackBy: _trackByInstanceId\"\n [isCompact]=\"isCompact\"\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [template]=\"t.value\"\n ></mtna-wf-template-item>\n </ng-container>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfSanitizeHtmlPipeModule } from '../../../pipes';\nimport { MtnaWfTemplateItemHeaderComponent } from './template-item-header.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfSanitizeHtmlPipeModule, GetI18nStringValueFromLocalePipeModule],\n declarations: [MtnaWfTemplateItemHeaderComponent],\n exports: [MtnaWfTemplateItemHeaderComponent],\n})\nexport class MtnaWfTemplateItemHeaderModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfTemplateItemInjector } from './template-item-injector.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MtnaWfTemplateItemInjector],\n exports: [MtnaWfTemplateItemInjector],\n})\nexport class MtnaWfTemplateItemInjectorModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MtnaAnnotationsIndicatorModule } from '@mtna/pojo-social-angular';\n\nimport { MtnaWfTemplateItemHeaderModule } from '../template-item-header/template-item-header.module';\nimport { MtnaWfTemplateItemInjectorModule } from '../template-item-injector/template-item-injector.module';\nimport { MtnaWfTemplateItemComponent } from './template-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfTemplateItemInjectorModule, MtnaAnnotationsIndicatorModule, MtnaWfTemplateItemHeaderModule],\n declarations: [MtnaWfTemplateItemComponent],\n exports: [MtnaWfTemplateItemComponent],\n})\nexport class MtnaWfTemplateItemModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { MtnaWfBooleanItemTemplateComponent } from './boolean-item.component';\n\n@NgModule({\n imports: [CommonModule, MatSlideToggleModule, MtnaHighlightModule, MtnaWfTemplateItemModule],\n declarations: [MtnaWfBooleanItemTemplateComponent],\n exports: [MtnaWfBooleanItemTemplateComponent],\n})\nexport class MtnaWfBooleanItemTemplateModule {}\n","import { Component } from '@angular/core';\nimport { Option, TemplateItem, TemplateOptionGroupItem } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateOptionItemComponent } from './template-option-item.component';\n\n@Component({\n template: ``,\n})\nexport abstract class MtnaWfBaseTemplateOptionGroupItemComponent<\n O extends Option<unknown>,\n T extends TemplateOptionGroupItem<O>\n> extends MtnaWfBaseTemplateOptionItemComponent<O, T> {\n _trackByInstanceId(index: number, item: TemplateItem) {\n return item.instanceId;\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { CheckboxItemTemplate, FormOptionSelector, StringOption } from '@mtna/web-form-ts';\n\nimport { MtnaWfDialogService } from '../../../services/dialog.service';\nimport { MtnaWfBaseTemplateOptionGroupItemComponent } from '../option/template-option-group-item.component';\n\n@Component({\n selector: 'mtna-wf-checkbox-item-template',\n templateUrl: './checkbox-item.component.html',\n styleUrls: ['./checkbox-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfCheckboxItemTemplateComponent extends MtnaWfBaseTemplateOptionGroupItemComponent<StringOption, CheckboxItemTemplate> {\n constructor(@Inject(LOCALE_ID) localeId: string, private dialogService: MtnaWfDialogService) {\n super(localeId);\n }\n\n handleClick(option: FormOptionSelector<StringOption>) {\n if (option.acknowledgement) {\n this.dialogService.verifyAcknowledgement(option.acknowledgement);\n }\n }\n}\n","<fieldset *ngIf=\"template\" [ngClass]=\"{ 'template-control-item-content': true, 'single-option': template.options.length === 1 }\">\n <ng-container *ngFor=\"let option of template.options; let i = index; trackBy: _trackByOptionId\">\n <div fxLayout=\"row\">\n <mat-checkbox [color]=\"color\" [disabled]=\"template.disabled\">\n {{ option.option.name }}\n </mat-checkbox>\n <button *ngIf=\"option.acknowledgement\" class=\"acknowledgement-btn\" mat-stroked-button (click)=\"handleClick(option)\">\n [acknowledgement]\n </button>\n </div>\n <ng-container *ngIf=\"template.optionTemplateMap[option.option.id] as subTemplate\">\n <mtna-wf-template-item\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [isCompact]=\"isCompact\"\n [template]=\"subTemplate\"\n ></mtna-wf-template-item>\n </ng-container>\n </ng-container>\n</fieldset>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { MtnaWfCheckboxItemTemplateComponent } from './checkbox-item.component';\n\n@NgModule({\n imports: [CommonModule, FlexLayoutModule, MatCheckboxModule, MatButtonModule, MatIconModule, MatTooltipModule, MtnaWfTemplateItemModule],\n declarations: [MtnaWfCheckboxItemTemplateComponent],\n exports: [MtnaWfCheckboxItemTemplateComponent],\n})\nexport class MtnaWfCheckboxItemTemplateModule {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n LOCALE_ID,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport type { MatDatepickerInput } from '@angular/material/datepicker';\nimport { MatDatepicker } from '@angular/material/datepicker';\nimport { MtnaLogger } from '@mtna/core-angular';\nimport { DateItemTemplate, DateRange } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any,no-var\ndeclare var moment: any;\n\n@Component({\n selector: 'mtna-wf-date-item-template',\n templateUrl: './date-item.component.html',\n styleUrls: ['./date-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfDateItemTemplateComponent extends MtnaWfBaseTemplateItemComponent<DateItemTemplate> implements AfterViewInit {\n static dateFormItemTemplateComponentInstances = 0;\n @HostBinding('class.mtna-wf-date-item-template') dateItemClass = true;\n\n @Input() rangeLimits: DateRange<Date | null> | null | undefined = { end: null, start: null };\n\n @ViewChild(MatDatepicker, { static: false }) picker: MatDatepicker<Date> | undefined;\n\n _dateText = $localize`Date`;\n\n constructor(@Inject(LOCALE_ID) localeId: string, logger: MtnaLogger) {\n super(localeId);\n\n // We need to check to ensure 'moment' & 'moment-jdateformatparser' scripts have been added to angular.json so that\n // the DateFormItemComponent doesn't break when attempting to format SimpleDateFormat string to Moment format string\n MtnaWfDateItemTemplateComponent.dateFormItemTemplateComponentInstances++;\n if (MtnaWfDateItemTemplateComponent.dateFormItemTemplateComponentInstances === 1) {\n try {\n if (!!moment && typeof moment().toMomentFormatString !== 'function') {\n logger.error(`[DateItemTemplateComponent] constructor\n - Cannot find moment-jdateformatparser, make sure to install the dependency and add the script in angular.json, i.e.\n \"scripts\": [\"node_modules/moment-jdateformatparser/moment-jdateformatparser.min.js\"]`);\n }\n } catch (e) {\n logger.error(`[DateItemTemplateComponent] constructor\n - Cannot find moment.js, make sure to install the dependency and add the script in angular.json, i.e.\n \"scripts\": [\"node_modules/moment/min/moment.min.js\"]`);\n }\n }\n }\n\n ngAfterViewInit(): void {\n this.configureDatePickerFormatter();\n }\n\n /**\n * Manually change the parse and display formats of the date picker.\n * @see https://github.com/angular/components/issues/8355#issuecomment-376783293\n */\n private configureDatePickerFormatter() {\n if (this.picker) {\n const datepickerInput: MatDatepickerInput<Date> = this.picker.datepickerInput as MatDatepickerInput<Date>;\n // @ts-ignore: access the private date formats on the date picker\n const d: MatDateFormats = JSON.parse(JSON.stringify(datepickerInput._dateFormats));\n\n // Convert the Java SimpleDateFormat to the moment equivalents using moment-jdateformatparser\n const momentFormatString = moment().toMomentFormatString(this.template?.format);\n // Use the converted format for the date picker display\n d.display.dateInput = momentFormatString;\n // Use the converted format for the date picker parser (user input)\n d.parse.dateInput = momentFormatString;\n // @ts-ignore: set the updated date formats\n datepickerInput._dateFormats = d;\n\n // @ts-ignore: manually format the current value in the date picker\n datepickerInput._formatValue(datepickerInput.value);\n }\n }\n}\n","<mat-form-field *ngIf=\"template\" appearance=\"outline\">\n <mat-label>{{ (displayLocale | getI18nStringValueFromLocale : template.label) || _dateText }}</mat-label>\n <input\n matInput\n [matDatepicker]=\"picker\"\n [max]=\"rangeLimits?.end\"\n [min]=\"rangeLimits?.start\"\n placeholder=\"Choose a date\"\n i18n-placeholder\n [required]=\"template.required\"\n [disabled]=\"template.disabled\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disabled]=\"template.disabled\"></mat-datepicker-toggle>\n <mat-datepicker #picker></mat-datepicker>\n <mat-hint>{{ template.format }}</mat-hint>\n</mat-form-field>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { isPresent } from '@mtna/core-ts';\nimport { DATE_ITEM_TEMPLATE_ID, DateItemTemplate, OffsetDateRangeTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../../base/base-template-item-with-list.component';\n\n@Component({\n selector: 'mtna-wf-offset-date-range-item-template',\n templateUrl: './offset-date-range-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfOffsetDateRangeItemTemplateComponent extends MtnaWfBaseTemplateItemWithListComponent<OffsetDateRangeTemplate> {\n get template(): OffsetDateRangeTemplate | undefined {\n return this._template;\n }\n set template(template: OffsetDateRangeTemplate | undefined) {\n this._template = template;\n if (isPresent(template)) {\n this._startItem = { ...template, ...this.partialDateItemTemplate, label: [{ facetId: 'en', value: 'Start' }] };\n this._endItem = { ...template, ...this.partialDateItemTemplate, label: [{ facetId: 'en', value: 'End' }] };\n }\n\n // Create fake items for the underlying date-item component\n }\n partialDateItemTemplate: Pick<DateItemTemplate, 'presetValue' | 'itemId'> = {\n presetValue: new Date(), // Default value for the date item\n itemId: DATE_ITEM_TEMPLATE_ID, // The item id for the date item\n };\n _startItem!: DateItemTemplate;\n _endItem!: DateItemTemplate;\n toText = $localize`to`;\n}\n","<div *ngIf=\"template\" class=\"range-item-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"8px\">\n <mtna-wf-date-item-template\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [isCompact]=\"isCompact\"\n [template]=\"_startItem\"\n [rangeLimits]=\"template.rangeLimits\"\n ></mtna-wf-date-item-template>\n <span fxFlex=\"14px\">{{ toText }}</span>\n <mtna-wf-date-item-template\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [isCompact]=\"isCompact\"\n [template]=\"_endItem\"\n [rangeLimits]=\"template.rangeLimits\"\n ></mtna-wf-date-item-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nimport { MtnaWfDateItemTemplateComponent } from './date-item.component';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { CUSTOM_MAT_DATE_FORMAT } from '../../../models/custom-date-format-provider.model';\nimport { GetI18nStringValueFromLocalePipeModule } from '../../../pipes';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatDatepickerModule,\n MatMomentDateModule,\n ReactiveFormsModule,\n GetI18nStringValueFromLocalePipeModule,\n ],\n declarations: [MtnaWfDateItemTemplateComponent],\n exports: [MtnaWfDateItemTemplateComponent],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: CUSTOM_MAT_DATE_FORMAT }],\n})\nexport class MtnaWfDateItemTemplateModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule } from '@angular/forms';\n\nimport { MtnaWfDateItemTemplateModule } from '../../date-item/date-item.module';\nimport { MtnaWfOffsetDateRangeItemTemplateComponent } from './offset-date-range-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfDateItemTemplateModule, FlexLayoutModule, FormsModule],\n declarations: [MtnaWfOffsetDateRangeItemTemplateComponent],\n exports: [MtnaWfOffsetDateRangeItemTemplateComponent],\n})\nexport class MtnaWfOffsetDateRangeItemTemplateModule {}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeDetectionStrategy, Component, Inject, Input, Optional, ViewEncapsulation } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { mixinDestroyNotifier } from '@mtna/core-angular';\nimport { DateRange, YearQuarter, YearQuarterRange } from '@mtna/web-form-ts';\n\nimport { MTNA_WF_DEFAULT_YEAR_RANGE, MtnaWfDefaultYearRange } from '../../../../models';\n\nconst _BaseMtnaWfYearQuarterItemTemplate = mixinDestroyNotifier(class {});\n\n@Component({\n selector: 'mtna-wf-year-quarter-item-template',\n templateUrl: './year-quarter-item.component.html',\n styleUrls: ['./year-quarter-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfYearQuarterItemTemplateComponent extends _BaseMtnaWfYearQuarterItemTemplate {\n static ngAcceptInputType_readonly: BooleanInput;\n\n // @Input()\n // get readonly(): boolean {\n // return this._readonly;\n // }\n // set readonly(value: boolean) {\n // this._readonly = value;\n // }\n // private _readonly = false;\n\n @Input()\n get yearQuarterRange(): YearQuarterRange | undefined {\n return this._yearQuarterRange;\n }\n set yearQuarterRange(value: YearQuarterRange | undefined) {\n this._yearQuarterRange = value;\n }\n private _yearQuarterRange: YearQuarterRange | undefined;\n\n // @HostBinding('class.read-only')\n // get isReadOnly(): boolean {\n // return this._readonly;\n // }\n\n componentRangeLimits: DateRange<YearQuarter> | null | undefined;\n _quarterControl = new FormControl();\n _yearControl = new FormControl();\n _yearSelection = new Array<number>();\n\n defaultYearRange: MtnaWfDefaultYearRange = { numFutureYears: 25, numPastYears: 25 };\n\n constructor(@Optional() @Inject(MTNA_WF_DEFAULT_YEAR_RANGE) defaultYearRange?: MtnaWfDefaultYearRange) {\n super();\n this.defaultYearRange = defaultYearRange || this.defaultYearRange;\n }\n}\n","<div class=\"year-quarter-container\" fxLayout=\"row\" fxLayoutGap=\"8px\">\n <mat-form-field>\n <mat-select [formControl]=\"_yearControl\" aria-label=\"Year Selection\" i18n-aria-label>\n <mat-option *ngFor=\"let year of _yearSelection\" [value]=\"year\">{{ year }}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field>\n <mat-select [formControl]=\"_quarterControl\" aria-label=\"Quarter Selection\" i18n-aria-label>\n <mat-option i18n>None</mat-option>\n <mat-option *ngFor=\"let quarter of _yearControl.value | mtnaWfGetQuarters : componentRangeLimits\" [value]=\"quarter\">{{\n $any(quarter) | mtnaWfDateQuarter : 'short'\n }}</mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { MtnaWfDateQuarterPipeModule, MtnaWfGetAvailableQuartersPipeModule } from '../../../../pipes';\nimport { MtnaWfYearQuarterItemTemplateComponent } from './year-quarter-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n FormsModule,\n MatFormFieldModule,\n MatSelectModule,\n MtnaWfGetAvailableQuartersPipeModule,\n MtnaWfDateQuarterPipeModule,\n ReactiveFormsModule,\n ],\n declarations: [MtnaWfYearQuarterItemTemplateComponent],\n exports: [MtnaWfYearQuarterItemTemplateComponent],\n})\nexport class MtnaWfYearQuarterItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { YearQuarterRangeTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../../base/base-template-item.component';\n\n@Component({\n selector: 'mtna-wf-year-quarter-range-template',\n templateUrl: './year-quarter-range-item.component.html',\n styleUrls: ['./year-quarter-range-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfYearQuarterRangeItemTemplateComponent extends MtnaWfBaseTemplateItemComponent<YearQuarterRangeTemplate> {}\n","<div *ngIf=\"template\" class=\"range-item-container\" fxLayout=\"row\" fxLayoutAlign=\"start center\" fxLayoutGap=\"8px\">\n <mtna-wf-year-quarter-item-template [yearQuarterRange]=\"template.rangeLimits\"></mtna-wf-year-quarter-item-template>\n <span fxFlex=\"14px\">to</span>\n <mtna-wf-year-quarter-item-template [yearQuarterRange]=\"template.rangeLimits\"></mtna-wf-year-quarter-item-template>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\nimport { MtnaWfCoerceFormControlPipeModule } from '../../../../pipes';\nimport { MtnaWfYearQuarterItemTemplateModule } from '../year-quarter-item/year-quarter-item.module';\nimport { MtnaWfYearQuarterRangeItemTemplateComponent } from './year-quarter-range-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfYearQuarterItemTemplateModule, MtnaHighlightModule, FlexLayoutModule, MtnaWfCoerceFormControlPipeModule],\n declarations: [MtnaWfYearQuarterRangeItemTemplateComponent],\n exports: [MtnaWfYearQuarterRangeItemTemplateComponent],\n})\nexport class MtnaWfYearQuarterRangeItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DecimalAnswerItemTemplate, NumberOption } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateOptionItemComponent } from '../option/template-option-item.component';\n\n@Component({\n selector: 'mtna-wf-decimal-answer-item-template',\n templateUrl: './decimal-answer-item.component.html',\n styleUrls: ['./decimal-answer-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfDecimalAnswerItemTemplateComponent extends MtnaWfBaseTemplateOptionItemComponent<\n NumberOption,\n DecimalAnswerItemTemplate\n> {\n _noInformationText = $localize`No Information Provided`;\n}\n","<ng-container *ngIf=\"template\">\n <mat-form-field>\n <input\n matInput\n [autocomplete]=\"(displayLocale | getI18nStringValueFromLocale : template.label) || template.name | mtnaWfGetAutoComplete\"\n [required]=\"template.required\"\n />\n </mat-form-field>\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon> -->\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText }}</p>\n </mat-list-item>\n </ng-template>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfGetAutoCompletePipeModule } from '../../../pipes';\nimport { MtnaWfDecimalAnswerItemTemplateComponent } from './decimal-answer-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatListModule,\n MatInputModule,\n MtnaWfGetAutoCompletePipeModule,\n GetI18nStringValueFromLocalePipeModule,\n ],\n declarations: [MtnaWfDecimalAnswerItemTemplateComponent],\n exports: [MtnaWfDecimalAnswerItemTemplateComponent],\n})\nexport class MtnaWfDecimalAnswerItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DropdownItemTemplate, StringOption } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateOptionGroupItemComponent } from '../option/template-option-group-item.component';\n\n@Component({\n selector: 'mtna-wf-dropdown-item-template',\n templateUrl: './dropdown-item.component.html',\n styleUrls: ['./dropdown-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfDropdownItemTemplateComponent extends MtnaWfBaseTemplateOptionGroupItemComponent<StringOption, DropdownItemTemplate> {}\n","<ng-container *ngIf=\"template\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ displayLocale | getI18nStringValueFromLocale : template.label }}</mat-label>\n <mat-select [panelClass]=\"'mtna-wf-dropdown-item-template__select-panel'\" [required]=\"template.required\">\n <mat-option *ngIf=\"!template.required\" i18n>-- None --</mat-option>\n <mat-option *ngFor=\"let option of template.options\" [value]=\"option.option.id\">\n {{ option.option.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <!-- <ng-template #readonlyTemplate>-->\n <!-- <ng-container *ngIf=\"inList; else fullList\">-->\n <!-- <mat-list-item *ngIf=\"template.required\">-->\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label | mtnaWfGetListIcon as icon\" matListIcon>{{-->\n <!-- icon-->\n <!-- }}</mat-icon>-->\n <!-- <h4 matLine>{{ displayLocale | getI18nStringValueFromLocale : template.label }}</h4>-->\n <!-- <!– <p matLine>{{ template.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p> –>-->\n <!-- </mat-list-item>-->\n <!-- </ng-container>-->\n\n <!-- <ng-template #fullList>-->\n <!-- <mat-list>-->\n <!-- <mat-list-item *ngIf=\"template.required\">-->\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label | mtnaWfGetListIcon as icon\" matListIcon>{{-->\n <!-- icon-->\n <!-- }}</mat-icon>-->\n <!-- <h4 matLine>{{ displayLocale | getI18nStringValueFromLocale : template.label }}</h4>-->\n <!-- <!– <p matLine>{{ template.value || control?.value | mtnaWfGetSelectedOptionName : item.options }}</p> –>-->\n <!-- </mat-list-item>-->\n <!-- </mat-list>-->\n <!-- </ng-template>-->\n <!-- </ng-template>-->\n <!--</ng-container>-->\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatSelectModule } from '@angular/material/select';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfGetListIconPipeModule, MtnaWfGetSelectedOptionNamePipeModule } from '../../../pipes';\nimport { MtnaWfDropdownItemTemplateComponent } from './dropdown-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatFormFieldModule,\n MatIconModule,\n MatListModule,\n MatSelectModule,\n MtnaWfGetListIconPipeModule,\n MtnaWfGetSelectedOptionNamePipeModule,\n GetI18nStringValueFromLocalePipeModule,\n ],\n declarations: [MtnaWfDropdownItemTemplateComponent],\n exports: [MtnaWfDropdownItemTemplateComponent],\n})\nexport class MtnaWfDropdownItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { FileUploadItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\n\n@Component({\n selector: 'mtna-wf-file-upload-item-template',\n templateUrl: './file-upload-item.component.html',\n styleUrls: ['./file-upload-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfFileUploadItemTemplateComponent extends MtnaWfBaseTemplateItemComponent<FileUploadItemTemplate> {\n loading = false;\n _fileUploadButtonText = $localize`CHOOSE A FILE`;\n}\n","<ng-container *ngIf=\"template\">\n <div class=\"content\">\n <ng-container>\n <mtna-file-upload [automaticUpload]=\"false\" color=\"primary\" [buttonText]=\"_fileUploadButtonText\"></mtna-file-upload>\n </ng-container>\n\n <!-- READONLY -->\n <!-- <ng-template #readOnly>-->\n <!-- <mat-list>-->\n <!-- <mat-list-item class=\"wrappable-list-item\">-->\n <!-- <p mat-line class=\"wrap-line\" i18n>No File Provided</p>-->\n <!-- </mat-list-item>-->\n <!-- </mat-list>-->\n <!-- </ng-template>-->\n </div>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MtnaFileDownloadModule, MtnaFileUploadModule } from '@mtna/file-manager-angular';\n\nimport { MtnaWfFileUploadItemTemplateComponent } from './file-upload-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MtnaFileDownloadModule,\n MtnaFileUploadModule,\n MatListModule,\n MatProgressSpinnerModule,\n ],\n declarations: [MtnaWfFileUploadItemTemplateComponent],\n exports: [MtnaWfFileUploadItemTemplateComponent],\n})\nexport class MtnaWfFileUploadItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { mtnaLanguageIdToDisplay, MtnaLocaleId, MtnaLocaleIds, mtnaToLanguageId } from '@mtna/core-i18n-angular';\nimport { InternationalizedParagraphAnswerItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\nimport { InternationalizedString } from '@mtna/core-i18n-ts';\nimport { isPresent } from '@mtna/core-ts';\n\n@Component({\n selector: 'mtna-wf-i18n-paragraph-answer-item-template',\n templateUrl: './i18n-paragraph-answer-item.component.html',\n styleUrls: ['./i18n-paragraph-answer-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfI18nParagraphAnswerItemTemplateComponent extends MtnaWfBaseTemplateItemWithListComponent<InternationalizedParagraphAnswerItemTemplate> {\n _noInformationText = $localize`No Information Provided`;\n\n languageIds: MtnaLocaleId[] = [];\n\n getLabelDisplay(label: InternationalizedString[], language: string): string {\n if (MtnaLocaleIds.guard(language)) {\n const facetId = mtnaToLanguageId[language];\n const labelI18nString = label.find((i18nValue) => i18nValue.facetId === facetId);\n return isPresent(labelI18nString) ? (labelI18nString.value as string) : '';\n } else {\n return '';\n }\n }\n\n getLanguageDisplay(language: string): string {\n if (MtnaLocaleIds.guard(language)) {\n const facetId = mtnaToLanguageId[language];\n const displayName = mtnaLanguageIdToDisplay[facetId];\n return `${displayName} (${facetId})`;\n }\n return language;\n }\n}\n","<ng-container *ngIf=\"template\">\n <ng-container>\n <mat-form-field *ngFor=\"let language of template.languageTags\" appearance=\"outline\">\n <mat-label>{{ getLabelDisplay(template.label, language) + ' - ' + getLanguageDisplay(language) }}</mat-label>\n <textarea matInput [required]=\"template.required\" cdkTextareaAutoSize cdkAutosizeMinRows=\"3\" cdkAutosizeMaxRows=\"5\"></textarea>\n </mat-form-field>\n </ng-container>\n <!-- READONLY -->\n <!-- <ng-template #readOnly>-->\n <!-- <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>-->\n <!-- </ng-template>-->\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <mat-list-item *ngFor=\"let language of template.languageTags\" class=\"wrappable-list-item\">\n <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon>\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText + ' - ' + language }}</p>\n </mat-list-item>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfGetListIconPipeModule } from '../../../pipes';\nimport { MtnaWfI18nParagraphAnswerItemTemplateComponent } from './i18n-paragraph-answer-item.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n imports: [\n CommonModule,\n GetI18nStringValueFromLocalePipeModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatIconModule,\n MtnaWfGetListIconPipeModule,\n ],\n declarations: [MtnaWfI18nParagraphAnswerItemTemplateComponent],\n exports: [MtnaWfI18nParagraphAnswerItemTemplateComponent],\n})\nexport class MtnaWfI18nParagraphAnswerItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { mtnaLanguageIdToDisplay, MtnaLocaleIds, mtnaToLanguageId } from '@mtna/core-i18n-angular';\nimport { InternationalizedShortAnswerItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\nimport { InternationalizedString } from '@mtna/core-i18n-ts';\nimport { isPresent } from '@mtna/core-ts';\n\n@Component({\n selector: 'mtna-wf-i18n-short-answer-item-template',\n templateUrl: './i18n-short-answer-item.component.html',\n styleUrls: ['./i18n-short-answer-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfI18nShortAnswerItemTemplateComponent extends MtnaWfBaseTemplateItemWithListComponent<InternationalizedShortAnswerItemTemplate> {\n _noInformationText = $localize`No Information Provided`;\n\n getLabelDisplay(label: InternationalizedString[], language: string): string {\n if (MtnaLocaleIds.guard(language)) {\n const facetId = mtnaToLanguageId[language];\n const labelI18nString = label.find((i18nValue) => i18nValue.facetId === facetId);\n return isPresent(labelI18nString) ? (labelI18nString.value as string) : '';\n } else {\n return '';\n }\n }\n\n getLanguageDisplay(language: string): string {\n if (MtnaLocaleIds.guard(language)) {\n const facetId = mtnaToLanguageId[language];\n const displayName = mtnaLanguageIdToDisplay[facetId];\n return `${displayName} (${facetId})`;\n }\n return language;\n }\n}\n","<ng-container *ngIf=\"template\">\n <ng-container>\n <mat-form-field *ngFor=\"let language of template.languageTags\" appearance=\"outline\">\n <mat-label>{{ getLabelDisplay(template.label, language) + ' - ' + getLanguageDisplay(language) }}</mat-label>\n <input matInput [required]=\"template.required\" />\n </mat-form-field>\n </ng-container>\n <!-- READONLY -->\n <!-- <ng-template #readOnly>-->\n <!-- <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>-->\n <!-- </ng-template>-->\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <mat-list-item *ngFor=\"let language of template.languageTags\" class=\"wrappable-list-item\">\n <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon>\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText + ' - ' + language }}</p>\n </mat-list-item>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfGetAutoCompletePipeModule, MtnaWfGetListIconPipeModule } from '../../../pipes';\nimport { MtnaWfI18nShortAnswerItemTemplateComponent } from './i18n-short-answer-item.component';\nimport { MatIconModule } from '@angular/material/icon';\n\n@NgModule({\n imports: [\n CommonModule,\n GetI18nStringValueFromLocalePipeModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MatIconModule,\n MtnaWfGetAutoCompletePipeModule,\n MtnaWfGetListIconPipeModule,\n ],\n declarations: [MtnaWfI18nShortAnswerItemTemplateComponent],\n exports: [MtnaWfI18nShortAnswerItemTemplateComponent],\n})\nexport class MtnaWfI18nShortAnswerItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { MultipleChoiceItemTemplate, StringOption } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateOptionGroupItemComponent } from '../option/template-option-group-item.component';\n\n@Component({\n selector: 'mtna-wf-multiple-choice-item-template',\n templateUrl: './multiple-choice-item.component.html',\n styleUrls: ['./multiple-choice-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfMultipleChoiceItemTemplateComponent extends MtnaWfBaseTemplateOptionGroupItemComponent<\n StringOption,\n MultipleChoiceItemTemplate\n> {}\n","<ng-container *ngIf=\"template\">\n <div>\n <mat-radio-group class=\"template-control-item-content\">\n <ng-container *ngFor=\"let opt of template.options; trackBy: _trackByOptionId\">\n <mat-radio-button [value]=\"opt.option.id\">{{ opt.option.name }}</mat-radio-button>\n <mtna-wf-template-item\n *ngIf=\"template.optionTemplateMap[opt.option.id] as subTemplate\"\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [isCompact]=\"isCompact\"\n [template]=\"subTemplate\"\n ></mtna-wf-template-item>\n </ng-container>\n </mat-radio-group>\n </div>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatRadioModule } from '@angular/material/radio';\n\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { MtnaWfMultipleChoiceItemTemplateComponent } from './multiple-choice-item.component';\n\n@NgModule({\n imports: [CommonModule, MatRadioModule, MtnaWfTemplateItemModule, MatFormFieldModule],\n declarations: [MtnaWfMultipleChoiceItemTemplateComponent],\n exports: [MtnaWfMultipleChoiceItemTemplateComponent],\n})\nexport class MtnaWfMultipleChoiceItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { NumberedListItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\n\n@Component({\n selector: 'mtna-wf-ordered-list-item-template',\n templateUrl: './ordered-list-item.component.html',\n styleUrls: ['./ordered-list-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfOrderedListItemTemplateComponent extends MtnaWfBaseTemplateItemComponent<NumberedListItemTemplate> {}\n","<ng-container *ngIf=\"template\">\n <ol>\n <ng-container *ngIf=\"displayLocale | getI18nStringsValueFromLocale : template.items as items\">\n <li *ngFor=\"let item of items\" [innerHTML]=\"item | mtnaWfSanitizeHtml\"></li>\n </ng-container>\n </ol>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GetI18nStringsValueFromLocalePipeModule, MtnaWfSanitizeHtmlPipeModule } from '../../../pipes';\nimport { MtnaWfOrderedListItemTemplateComponent } from './ordered-list-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfSanitizeHtmlPipeModule, GetI18nStringsValueFromLocalePipeModule],\n declarations: [MtnaWfOrderedListItemTemplateComponent],\n exports: [MtnaWfOrderedListItemTemplateComponent],\n})\nexport class MtnaWfOrderedListItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ParagraphAnswerItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\n\n@Component({\n selector: 'mtna-wf-paragraph-answer-item-template',\n templateUrl: './paragraph-answer-item.component.html',\n styleUrls: ['./paragraph-answer-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfParagraphAnswerItemTemplateComponent extends MtnaWfBaseTemplateItemWithListComponent<ParagraphAnswerItemTemplate> {\n _noInformationText = $localize`No Information Provided`;\n}\n","<ng-container *ngIf=\"template\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ displayLocale | getI18nStringValueFromLocale : template.label }}</mat-label>\n <textarea matInput [required]=\"template.required\" cdkTextareaAutoSize cdkAutosizeMinRows=\"3\" cdkAutosizeMaxRows=\"5\"></textarea>\n </mat-form-field>\n\n <!-- READONLY -->\n <!-- <ng-template #readOnly>-->\n <!-- <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>-->\n <!-- </ng-template>-->\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon> -->\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText }}</p>\n </mat-list-item>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfGetListIconPipeModule } from '../../../pipes';\nimport { MtnaWfParagraphAnswerItemTemplateComponent } from './paragraph-answer-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n GetI18nStringValueFromLocalePipeModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MtnaWfGetListIconPipeModule,\n ],\n declarations: [MtnaWfParagraphAnswerItemTemplateComponent],\n exports: [MtnaWfParagraphAnswerItemTemplateComponent],\n})\nexport class MtnaWfParagraphAnswerItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'mtna-wf-repeatable-item-template',\n template: `<ng-content></ng-content>`,\n styles: [\n `\n mtna-wf-repeatable-item-template {\n display: block;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfRepeatableItemTemplateComponent {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { MtnaWfRepeatableItemTemplateComponent } from './repeatable-item.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MtnaWfRepeatableItemTemplateComponent],\n exports: [MtnaWfRepeatableItemTemplateComponent],\n})\nexport class MtnaWfRepeatableItemTemplateModule {}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { COMPLEX_STANDARD } from '@mtna/core-angular';\nimport { RepeatableItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\n\n@Component({\n selector: 'mtna-wf-repeatable-item-template-container',\n templateUrl: './repeatable-item-container.component.html',\n styleUrls: ['./repeatable-item-container.component.scss'],\n animations: [\n trigger('repeatItemExpandCollapse', [\n state('in', style({ height: '*', margin: '*', opacity: 1 })),\n state('void', style({ height: 0, margin: 0, opacity: 0, visibility: 'hidden' })),\n transition(':enter', [animate(COMPLEX_STANDARD, style({ height: '*', margin: '*', opacity: 1 }))]),\n transition(':leave', animate(COMPLEX_STANDARD)),\n ]),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfRepeatableItemTemplateContainerComponent extends MtnaWfBaseTemplateItemWithListComponent<RepeatableItemTemplate> {\n _addText = $localize`ADD`;\n}\n","<section>\n <mtna-wf-repeatable-item-template @repeatItemExpandCollapse>\n <ng-container *ngIf=\"template && template.item\">\n <mat-card>\n <button mat-icon-button class=\"item-remove-button\" color=\"warn\" matTooltip=\"Remove Item\" i18n-matTooltip>\n <mat-icon>remove_circle</mat-icon>\n </button>\n <mtna-wf-template-item [isCompact]=\"isCompact\" [template]=\"template.item\"></mtna-wf-template-item>\n </mat-card>\n </ng-container>\n </mtna-wf-repeatable-item-template>\n</section>\n<button mat-raised-button class=\"new-item-button\" color=\"primary\">\n {{ template?.additionalText || _addText | uppercase }}\n</button>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MtnaTrackByPropertyPipeModule } from '@mtna/core-angular';\n\nimport { MtnaWfRepeatableItemTemplateModule } from '../repeatable-item/repeatable-item.module';\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { MtnaWfRepeatableItemTemplateContainerComponent } from './repeatable-item-container.component';\nimport { MatCardModule } from '@angular/material/card';\n\n@NgModule({\n imports: [\n CommonModule,\n MtnaWfRepeatableItemTemplateModule,\n MtnaWfTemplateItemModule,\n MatButtonModule,\n MatIconModule,\n MatTooltipModule,\n MtnaTrackByPropertyPipeModule,\n MatCardModule,\n ],\n declarations: [MtnaWfRepeatableItemTemplateContainerComponent],\n exports: [MtnaWfRepeatableItemTemplateContainerComponent],\n})\nexport class MtnaWfRepeatableItemTemplateContainerModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { ShortAnswerItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\n\n@Component({\n selector: 'mtna-wf-short-answer-item-template',\n templateUrl: './short-answer-item.component.html',\n styleUrls: ['./short-answer-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfShortAnswerItemTemplateComponent extends MtnaWfBaseTemplateItemWithListComponent<ShortAnswerItemTemplate> {\n _noInformationText = $localize`No Information Provided`;\n}\n","<ng-container *ngIf=\"template\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ displayLocale | getI18nStringValueFromLocale : template.label }}</mat-label>\n <input matInput [required]=\"template.required\" />\n </mat-form-field>\n\n <!-- READONLY -->\n <!-- <ng-template #readOnly>-->\n <!-- <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>-->\n <!-- </ng-template>-->\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon> -->\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText }}</p>\n </mat-list-item>\n </ng-template>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfGetListIconPipeModule } from '../../../pipes';\nimport { MtnaWfShortAnswerItemTemplateComponent } from './short-answer-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n GetI18nStringValueFromLocalePipeModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MtnaWfGetListIconPipeModule,\n ],\n declarations: [MtnaWfShortAnswerItemTemplateComponent],\n exports: [MtnaWfShortAnswerItemTemplateComponent],\n})\nexport class MtnaWfShortAnswerItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormStep } from '../../../models';\nimport { Template } from '@mtna/web-form-ts';\nimport { MtnaLocaleIds } from '@mtna/core-i18n-angular';\nimport { MtnaScrollService } from '@mtna/core-angular';\n\n@Component({\n selector: 'mtna-wf-template',\n templateUrl: './template.component.html',\n styleUrls: ['./template.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTemplateComponent {\n @Input()\n get displayLocale(): typeof MtnaLocaleIds.type {\n return this._displayLocale;\n }\n set displayLocale(displayLocale: typeof MtnaLocaleIds.type) {\n this._displayLocale = displayLocale;\n }\n private _displayLocale: typeof MtnaLocaleIds.type = 'en';\n\n @Input()\n get isCompact(): boolean {\n return this._isCompact;\n }\n set isCompact(value: boolean) {\n this._isCompact = value;\n }\n private _isCompact = false;\n\n @Input()\n get highlightId(): string | null | undefined {\n return this._highlightId;\n }\n set highlightId(highlightId: string | null | undefined) {\n this._highlightId = highlightId;\n this.scrollToElement(highlightId);\n }\n private _highlightId: string | null | undefined;\n\n @Input()\n set steps(newSteps: Array<FormStep> | null | undefined) {\n if (!!newSteps && !!newSteps.length) {\n if (!this._steps) {\n this._steps = {};\n }\n for (const step of newSteps) {\n this._steps[step.instanceId] = step;\n }\n }\n }\n\n @Input()\n get template(): Template | null | undefined {\n return this._template;\n }\n set template(template: Template | null | undefined) {\n this._template = template;\n }\n private _template: Template | null | undefined;\n\n _steps: { [id: string]: FormStep } | undefined;\n\n /**\n * The container element that will be scrolled to highlight the element with the provided highlightId.\n * This is used to differentiate from the document/window elements, so that only the view is scrolled.\n * Primarily used for template designer functionality.\n */\n @ViewChild('templateContainer') templateContainer: ElementRef | undefined;\n\n constructor(private scrollService: MtnaScrollService) {}\n\n scrollToElement(highlightId: string | null | undefined) {\n setTimeout(() => {\n if (this.templateContainer) {\n const container = this.templateContainer.nativeElement as HTMLElement;\n if (highlightId && highlightId !== '') {\n this.scrollService.scrollToElementInContainer(highlightId, container);\n } else {\n container.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n });\n }\n }\n });\n }\n}\n","<div *ngIf=\"template\" class=\"mtna-template-wrapper\">\n <div #templateContainer>\n <mtna-wf-template-item\n *ngFor=\"let templateItem of template.items\"\n [id]=\"templateItem.instanceId\"\n [displayLocale]=\"displayLocale\"\n [isCompact]=\"isCompact\"\n [step]=\"_steps?.[templateItem.instanceId]\"\n [template]=\"templateItem\"\n [mtnaHighlight]=\"templateItem.instanceId === highlightId\"\n ></mtna-wf-template-item>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { A11yModule } from '@angular/cdk/a11y';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\nimport { MtnaWfTemplateComponent } from './template.component';\nimport { MtnaHighlightModule } from '@mtna/core-angular';\n\n@NgModule({\n imports: [\n A11yModule,\n CommonModule,\n FlexLayoutModule,\n MatMomentDateModule,\n MtnaHighlightModule,\n MtnaWfTemplateItemModule,\n ReactiveFormsModule,\n ],\n declarations: [MtnaWfTemplateComponent],\n exports: [MtnaWfTemplateComponent],\n})\nexport class MtnaWfTemplateModule {}\n","import { createAction, props } from '@ngrx/store';\nimport { Template, TemplateItem } from '@mtna/web-form-ts';\n\nexport const getTemplateInstance = createAction('[Template Form] Get Template Instance', props<{ template: Template }>());\nexport const getTemplateItemInstance = createAction('[Template Form] Get Template Item Instance', props<{ templateItem: TemplateItem }>());\n\nexport const resetTemplateDesignState = createAction('[Template Form] Reset Template Form State');\n","import { createAction, props } from '@ngrx/store';\nimport { Form, FormItem } from '@mtna/web-form-ts';\n\nexport const getTemplateInstanceSuccess = createAction('[Template Form / API] Get Template Instance Success', props<{ form: Form }>());\nexport const getTemplateInstanceFailure = createAction('[Template Form / API] Get Template Instance Failure');\n\nexport const getTemplateItemInstanceSuccess = createAction(\n '[Template Form / API] Get Template Item Instance Success',\n props<{ formItem: FormItem }>()\n);\nexport const getTemplateItemInstanceFailure = createAction('[Template Form / API] Get Template Item Instance Failure');\n","import { Form, FormItem } from '@mtna/web-form-ts';\nimport { Action, createReducer, on } from '@ngrx/store';\nimport * as TemplateDesignActions from './template-form.actions';\nimport * as TemplateDesignApiActions from './template-form-api.actions';\n\nexport const TEMPLATE_FORM_STATE_KEY = 'templateForm';\n\nexport interface TemplateFormState {\n loading: boolean;\n form?: Form;\n formItem?: FormItem;\n typeLoaded?: 'form' | 'formItem';\n}\n\nexport const initialTemplateFormState: TemplateFormState = {\n loading: false,\n};\n\nconst templateFormReducer = createReducer(\n initialTemplateFormState,\n // Get Template Instance\n on(TemplateDesignActions.getTemplateInstance, (state) => ({ loading: true, form: undefined, formItem: undefined })),\n on(TemplateDesignApiActions.getTemplateInstanceSuccess, (state, { form }) => ({\n ...state,\n loading: false,\n form,\n formItem: undefined,\n typeLoaded: 'form',\n })),\n on(TemplateDesignApiActions.getTemplateInstanceFailure, (state) => ({ ...state, loading: false, form: undefined })),\n // Get Template Item Instance\n on(TemplateDesignActions.getTemplateItemInstance, (state) => ({ loading: true, form: undefined, formItem: undefined })),\n on(TemplateDesignApiActions.getTemplateItemInstanceSuccess, (state, { formItem }) => ({\n ...state,\n loading: false,\n formItem,\n form: undefined,\n typeLoaded: 'formItem',\n })),\n on(TemplateDesignApiActions.getTemplateItemInstanceFailure, (state) => ({ ...state, loading: false, formItem: undefined })),\n // Reset State\n on(TemplateDesignActions.resetTemplateDesignState, (state) => ({ ...initialTemplateFormState }))\n);\n\nexport function wfTemplateFormReducer(state: TemplateFormState | undefined, action: Action): TemplateFormState {\n return templateFormReducer(state, action);\n}\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport { TEMPLATE_FORM_STATE_KEY, TemplateFormState } from './template-form.reducer';\n\nexport const selectTemplateDesignState = createFeatureSelector<TemplateFormState>(TEMPLATE_FORM_STATE_KEY);\nexport const templateDesignLoading = createSelector(selectTemplateDesignState, (state) => state.loading);\nexport const templateDesignForm = createSelector(selectTemplateDesignState, (state) => state.form);\nexport const templateDesignFormItem = createSelector(selectTemplateDesignState, (state) => state.formItem);\nexport const templateDesignTypeLoaded = createSelector(selectTemplateDesignState, (state) => state.typeLoaded);\n","import { Injectable } from '@angular/core';\nimport { TemplateFormState } from './template-form.reducer';\nimport { Store } from '@ngrx/store';\nimport { Template, TemplateItem } from '@mtna/web-form-ts';\nimport * as TemplateFormActions from './template-form.actions';\nimport * as TemplateFormSelectors from './template-form.selectors';\n\n@Injectable()\nexport class TemplateFormFacade {\n loading$ = this.store.select(TemplateFormSelectors.templateDesignLoading);\n templateForm$ = this.store.select(TemplateFormSelectors.templateDesignForm);\n templateFormItem$ = this.store.select(TemplateFormSelectors.templateDesignFormItem);\n typeLoaded$ = this.store.select(TemplateFormSelectors.templateDesignTypeLoaded);\n\n constructor(private store: Store<TemplateFormState>) {}\n\n getTemplateInstance(template: Template) {\n console.warn({ template });\n this.store.dispatch(TemplateFormActions.getTemplateInstance({ template }));\n }\n\n getTemplateItemInstance(templateItem: TemplateItem) {\n console.warn({ templateItem });\n this.store.dispatch(TemplateFormActions.getTemplateItemInstance({ templateItem }));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { MtnaWfApiService } from '../../services';\nimport { MtnaErrorService } from '@mtna/core-angular';\nimport { Store } from '@ngrx/store';\nimport { Router } from '@angular/router';\nimport * as TemplateFormActions from './template-form.actions';\nimport * as TemplateFormApiActions from './template-form-api.actions';\nimport { catchError, map, switchMap } from 'rxjs/operators';\nimport { of } from 'rxjs';\nimport { TemplateFormState } from './template-form.reducer';\n\n@Injectable()\nexport class TemplateFormEffects {\n getTemplateInstance$ = createEffect(() =>\n this.actions$.pipe(\n ofType(TemplateFormActions.getTemplateInstance),\n switchMap(({ template }) => {\n return this.mtnaWfApiService.getTemplateInstance(template).pipe(\n map((form) => TemplateFormApiActions.getTemplateInstanceSuccess({ form })),\n catchError((error) => {\n this.errorService.showError(error);\n return of(TemplateFormApiActions.getTemplateInstanceFailure());\n })\n );\n })\n )\n );\n\n getTemplateItemInstance$ = createEffect(() =>\n this.actions$.pipe(\n ofType(TemplateFormActions.getTemplateItemInstance),\n switchMap(({ templateItem }) => {\n return this.mtnaWfApiService.getTemplateItemInstance(templateItem).pipe(\n map((formItem) => TemplateFormApiActions.getTemplateItemInstanceSuccess({ formItem })),\n catchError((error) => {\n this.errorService.showError(error);\n return of(TemplateFormApiActions.getTemplateItemInstanceFailure());\n })\n );\n })\n )\n );\n\n constructor(\n private actions$: Actions,\n private mtnaWfApiService: MtnaWfApiService,\n private errorService: MtnaErrorService,\n private store: Store<TemplateFormState>,\n private router: Router\n ) {}\n}\n","import { Inject, Injectable, LOCALE_ID } from '@angular/core';\nimport { DesignFacade, getDesignMap } from '@mtna/designer-angular';\nimport { Context, Design, DesignBase, DesignProperty, DesignUpdate, getLiteralProperties, ReferenceDesignValue } from '@mtna/designer-ts';\nimport { FormOptionSelector, instanceOfTemplateImpl, Option, Template, TemplateItem } from '@mtna/web-form-ts';\nimport {\n prop_item_descriptive_text,\n prop_item_name,\n prop_item_question_text,\n prop_item_title,\n prop_option_disabled_items,\n prop_option_enabled_items,\n prop_template_descriptive_text,\n prop_template_title,\n} from '../../models/design/template-design-constants.model';\nimport {\n i18n_descriptive,\n i18n_option,\n i18n_optionProperties,\n i18n_template,\n i18n_templateItem,\n i18n_templateItemBasicSettings,\n} from '../../models/i18n-constants.model';\nimport { isPresent } from '@mtna/core-ts';\nimport * as MtnaTemplateCoreDesign from '../../utilities/template-design-core-util';\nimport * as MtnaTemplateDesign from '../../utilities/template-design-util';\nimport * as FormOptionDesign from '../../utilities/form-option-design-util';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { TemplateFormFacade } from '../form';\nimport { form, template } from '../../models';\nimport { MtnaI18nFacade } from '@mtna/core-i18n-angular';\nimport * as MtnaTemplateMergeUtil from '../../utilities/merge-template-util';\nimport { processConditionals } from '../../utilities';\n\n@Injectable()\nexport class TemplateDesignFacade extends DesignFacade<Template | TemplateItem | FormOptionSelector<Option<unknown>>> {\n contextSubscription: Subscription;\n modifiedModelSubscription: Subscription;\n systemLocalesSubscription: Subscription;\n languageIds$ = new BehaviorSubject<string[]>([]);\n\n constructor(\n @Inject(LOCALE_ID) protected localeId: string,\n private templateFormFacade: TemplateFormFacade,\n private i18nFacade: MtnaI18nFacade\n ) {\n super(localeId);\n this.modifiedModelSubscription = this.modifiedModel$.pipe().subscribe((modifiedModel) => {\n // This is to ensure that a FormOptionSelector can not be passed as a modified model when trying to get the Form context.\n // This should eliminate that possibility.\n const newContext =\n instanceOfTemplateImpl(modifiedModel) || MtnaTemplateDesign.isTemplateItem(modifiedModel) ? [template, form] : [template];\n\n const currentContext = this.contextAvailable$.getValue();\n\n const isSame =\n Array.isArray(currentContext) &&\n newContext.length === currentContext.length &&\n newContext.every((value, index) => value === currentContext[index]);\n\n if (!isSame) {\n this.setContextAvailable(newContext);\n }\n });\n this.contextSubscription = this.contextSelected$.pipe().subscribe(() => {\n if (this.modifiedModel$.value) {\n this.design$.next(this.toDesign(this.modifiedModel$.value));\n }\n });\n this.systemLocalesSubscription = this.i18nFacade.systemLocales$.pipe().subscribe((systemLocales) => {\n if (isPresent(systemLocales)) {\n const languageIds = [systemLocales.defaultLocale, ...systemLocales.additionalLocales];\n const arraysMatch =\n languageIds.length === this.languageIds$.value.length && languageIds.every((val, i) => val === this.languageIds$.value[i]);\n if (!arraysMatch) {\n this.languageIds$.next([systemLocales.defaultLocale, ...systemLocales.additionalLocales]);\n }\n }\n });\n }\n\n close() {\n if (this.contextSubscription) {\n this.contextSubscription.unsubscribe();\n }\n if (this.modifiedModelSubscription) {\n this.modifiedModelSubscription.unsubscribe();\n }\n if (this.systemLocalesSubscription) {\n this.systemLocalesSubscription.unsubscribe();\n }\n }\n\n canDesign(something: unknown): something is Template | TemplateItem | FormOptionSelector<Option<unknown>> {\n return (\n isPresent(something) &&\n (instanceOfTemplateImpl(something) ||\n MtnaTemplateDesign.isTemplateItem(something) ||\n FormOptionDesign.instanceOfFormOptionSelector(something))\n );\n }\n\n fromDesign(design: Design): Template | TemplateItem | FormOptionSelector<Option<unknown>> {\n if (MtnaTemplateDesign.isTemplateDesign(design)) {\n return MtnaTemplateDesign.toTemplate(design, this.contextSelected$.value);\n } else if (MtnaTemplateDesign.isTemplateItemDesign(design)) {\n return MtnaTemplateCoreDesign.toTemplateItem(design, this.contextSelected$.value);\n } else if (design.type === 'OPTION') {\n return FormOptionDesign.designToOptionSelector(design, this.contextSelected$.value);\n } else {\n throw new Error(\n `Unrecognized design type for conversion to model: ${design.type}. Supported types are TEMPLATE, TEMPLATE_ITEM, and OPTION.`\n );\n }\n }\n\n toDesign(model: Template | TemplateItem | FormOptionSelector<Option<unknown>>): Design {\n if (instanceOfTemplateImpl(model)) {\n return MtnaTemplateDesign.templateToDesign(model, this.languageId, this.contextSelected$.value);\n } else if (MtnaTemplateDesign.isTemplateItem(model)) {\n return MtnaTemplateCoreDesign.itemToDesign(model, this.languageId, undefined, this.contextSelected$.value);\n } else if (FormOptionDesign.instanceOfFormOptionSelector(model)) {\n return FormOptionDesign.optionSelectorToDesign<Option<unknown>>(\n model,\n this.languageId,\n {},\n this.references$.value,\n undefined,\n this.contextSelected$.value\n );\n } else {\n throw new Error(\n `Cannot convert model to design. Model is not recognized. Supported types are instances of TEMPLATE, TEMPLATE_ITEM, and OPTION.`\n );\n }\n }\n\n getPotentialDesigns(design: Design, property: DesignProperty, index?: number): DesignBase[] {\n this.placementIndex$.next(index); // Used to indicate where a new item should be placed when adding a new repeatable value (modelDesignProperty)\n if (MtnaTemplateDesign.isTemplateDesign(design)) {\n return MtnaTemplateDesign.getTemplatePotentialDesigns(design, property);\n } else if (MtnaTemplateDesign.isTemplateItemDesign(design)) {\n return MtnaTemplateCoreDesign.getTemplateItemPotentialDesigns(design, property);\n } else if (design.type === 'OPTION') {\n return FormOptionDesign.getOptionSelectorPotentialDesigns(design, property);\n } else {\n throw new Error('Unrecognized design type for potential designs retrieval.');\n }\n }\n\n createNewInstance(designBase: DesignBase, parent?: DesignBase): Design {\n if (MtnaTemplateDesign.isTemplateDesign(designBase)) {\n const template = MtnaTemplateDesign.getNewTemplate(designBase);\n return MtnaTemplateDesign.templateToDesign(template, this.languageId, this.contextSelected$.value);\n } else if (MtnaTemplateDesign.isTemplateItemDesign(designBase)) {\n const templateItem = MtnaTemplateCoreDesign.getNewTemplateItem(designBase, this.languageId, this.languageIds$.value);\n return MtnaTemplateCoreDesign.itemToDesign(templateItem, this.languageId, parent, this.contextSelected$.value);\n } else if (designBase.type === 'OPTION') {\n const formOptionSelector = FormOptionDesign.getNewFormOptionSelector(designBase);\n return FormOptionDesign.optionSelectorToDesign<Option<unknown>>(\n formOptionSelector,\n this.languageId,\n {},\n this.references$.value,\n parent,\n this.contextSelected$.value\n );\n } else {\n throw new Error(\n `Cannot create new instance of design base with type \"${designBase.type}\". Supported types are instances of TEMPLATE, TEMPLATE_ITEM, and OPTION.`\n );\n }\n }\n\n setModifiedModel(designUpdate: DesignUpdate | undefined) {\n let modifiedModel = designUpdate ? this.fromDesign(designUpdate.design) : undefined;\n if (isPresent(modifiedModel)) {\n // Merge the new modified model with the existing modified model.\n if (instanceOfTemplateImpl(modifiedModel) && instanceOfTemplateImpl(this.modifiedModel$.value)) {\n modifiedModel = MtnaTemplateMergeUtil.mergeTemplate(modifiedModel, this.modifiedModel$.value);\n // if we updated the enabled / disabled items we can provide the information relevant to processing the conditionals efficiently\n if (\n (designUpdate?.property === prop_option_enabled_items || designUpdate?.property == prop_option_disabled_items) &&\n isPresent(designUpdate?.designId)\n ) {\n const enable = designUpdate?.property === prop_option_enabled_items;\n processConditionals(designUpdate?.designId, enable, modifiedModel.items);\n }\n } else if (MtnaTemplateDesign.isTemplateItem(modifiedModel) && MtnaTemplateDesign.isTemplateItem(this.modifiedModel$.value)) {\n modifiedModel = MtnaTemplateMergeUtil.mergeTemplateItem(modifiedModel, this.modifiedModel$.value);\n } else if (\n FormOptionDesign.instanceOfFormOptionSelector(modifiedModel) &&\n FormOptionDesign.instanceOfFormOptionSelector(this.modifiedModel$.value)\n ) {\n modifiedModel = MtnaTemplateMergeUtil.mergeFormOptionSelector(modifiedModel, this.modifiedModel$.value);\n }\n }\n this.modifiedModel$.next(modifiedModel);\n }\n\n override getDesignDisplay(design: Design): string {\n if (MtnaTemplateDesign.isTemplateDesign(design)) {\n const props = getLiteralProperties(design, i18n_descriptive, [prop_item_title]);\n return isPresent(props[prop_item_title]) && props[prop_item_title] !== '' ? props[prop_item_title] : i18n_template;\n } else if (MtnaTemplateDesign.isTemplateItemDesign(design)) {\n const props = getLiteralProperties(design, i18n_templateItemBasicSettings, [prop_item_name]);\n return isPresent(props[prop_item_name]) && props[prop_item_name] !== '' ? props[prop_item_name] : i18n_templateItem;\n } else if (design.type === 'OPTION') {\n const props = getLiteralProperties(design, i18n_optionProperties, [prop_item_name]);\n return isPresent(props[prop_item_name]) && props[prop_item_name] !== '' ? props[prop_item_name] : i18n_option;\n } else {\n throw new Error('Unrecognized design type for design display string retrieval.');\n }\n }\n\n indexModelDesignProperties(design: Design) {\n const references: Record<string, ReferenceDesignValue> = {};\n const designMap = getDesignMap(design, true);\n for (const [_, value] of designMap.entries()) {\n if (MtnaTemplateDesign.isTemplateDesign(value.design)) {\n const properties = getLiteralProperties(value.design, i18n_descriptive, [prop_template_title, prop_template_descriptive_text]);\n const referenceDesignValue: ReferenceDesignValue = {\n id: value.design.id,\n display: MtnaTemplateDesign.getText(properties, prop_template_title, true, this.languageId),\n description: MtnaTemplateDesign.getText(properties, prop_template_descriptive_text, true, this.languageId),\n };\n references[value.design.id] = referenceDesignValue;\n } else if (MtnaTemplateDesign.isTemplateItemDesign(value.design)) {\n const properties = getLiteralProperties(value.design, i18n_templateItemBasicSettings, [\n prop_item_name,\n prop_item_question_text,\n prop_item_descriptive_text,\n ]);\n const referenceDesignValue: ReferenceDesignValue = {\n id: value.design.id,\n display: MtnaTemplateDesign.getText(properties, prop_item_name, false, this.languageId),\n description: MtnaTemplateDesign.getText(\n properties,\n prop_item_question_text,\n true,\n this.languageId,\n MtnaTemplateDesign.getText(properties, prop_item_descriptive_text, true, this.languageId)\n ),\n };\n references[value.design.id] = referenceDesignValue;\n }\n }\n this.references$.next(references);\n }\n\n setDesignDisabled(disabled: boolean) {\n // check to see if the disabled state has changed before updating the designDisabled$ observable\n if (this.designDisabled$.value !== disabled) {\n this.designDisabled$.next(disabled);\n }\n }\n\n override setContextSelected(context: Context | undefined) {\n if (isPresent(context) && context.id === 'form' && isPresent(this.modifiedModel$.value)) {\n this.setDesignDisabled(true);\n if (instanceOfTemplateImpl(this.modifiedModel$.value)) {\n this.templateFormFacade.getTemplateInstance(this.modifiedModel$.value);\n } else if (MtnaTemplateDesign.isTemplateItem(this.modifiedModel$.value)) {\n this.templateFormFacade.getTemplateItemInstance(this.modifiedModel$.value);\n }\n } else {\n this.setDesignDisabled(false);\n }\n\n this.contextSelected$.next(context);\n }\n\n override setFocusedDesignId(focusedDesignId: string | undefined, focusType: 'SET_FOCUS' | 'CLEAR_FOCUS' | 'MAINTAIN_FOCUS') {\n // Only change the focusedDesignId$ if it is different than the current value.\n if (this.focusedDesignId$.value !== focusedDesignId) {\n if (focusType === 'SET_FOCUS') {\n this.focusedDesignId$.next(focusedDesignId);\n } else if (focusType === 'CLEAR_FOCUS') {\n this.focusedDesignId$.next(undefined);\n } // otherwise maintain the current focus. This means we do not change the focusedDesignId$ value.\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { DesignFacade } from '@mtna/designer-angular';\nimport { FormOptionSelector, Option, Template, TemplateItem } from '@mtna/web-form-ts';\nimport { form, FormStep, template } from '../../../models';\nimport { BehaviorSubject } from 'rxjs';\nimport { TemplateFormFacade } from '../../../state';\nimport { tap } from 'rxjs/operators';\n\n@Component({\n selector: 'mtna-wf-template-display-viewer',\n templateUrl: './template-display-viewer.component.html',\n styleUrls: ['./template-display-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTemplateDisplayViewerComponent {\n contextSelected$ = this.designFacade.contextSelected$;\n focusedDesignId$ = this.designFacade.focusedDesignId$;\n modifiedModel$ = this.designFacade.modifiedModel$.pipe(tap((modifiedModel) => console.warn('here')));\n previewLanguage$ = this.designFacade.previewLanguage$;\n\n loading$ = this.templateFormFacade.loading$;\n templateForm$ = this.templateFormFacade.templateForm$;\n templateFormItem$ = this.templateFormFacade.templateFormItem$;\n typeLoaded$ = this.templateFormFacade.typeLoaded$;\n\n formSteps$ = new BehaviorSubject<Array<FormStep> | null | undefined>(undefined);\n retryTrigger$ = new BehaviorSubject<void>(undefined);\n\n constructor(\n private designFacade: DesignFacade<Template | TemplateItem | FormOptionSelector<Option<unknown>>>,\n private templateFormFacade: TemplateFormFacade\n ) {}\n\n context_template = template;\n context_form = form;\n}\n","<ng-container *ngIf=\"modifiedModel$ | async as templateOrTemplateItem\">\n <section class=\"content-preview\">\n <ng-container *ngIf=\"contextSelected$ | async as context\" [ngSwitch]=\"context.id\">\n <ng-container *ngSwitchCase=\"context_template.id\">\n <ng-container *ngIf=\"templateOrTemplateItem | instanceOfTemplateImpl as template; else templateItemTemplate\">\n <mtna-wf-template\n [template]=\"template\"\n [displayLocale]=\"(previewLanguage$ | async) ?? 'en'\"\n [highlightId]=\"focusedDesignId$ | async\"\n ></mtna-wf-template>\n </ng-container>\n <ng-template #templateItemTemplate>\n <ng-container *ngIf=\"templateOrTemplateItem | instanceOfTemplateItem as templateItem\">\n <mtna-wf-template-item [template]=\"templateItem\" [displayLocale]=\"(previewLanguage$ | async) ?? 'en'\"></mtna-wf-template-item>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <!-- Placeholder for form context -->\n <div *ngSwitchCase=\"context_form.id\" class=\"form-preview\">\n <div *ngIf=\"loading$ | async; else formDisplay\">\n <mat-progress-spinner aria-label=\"Loading Form\" i18n-aria-label [mode]=\"'indeterminate'\"></mat-progress-spinner>\n </div>\n <ng-template #formDisplay></ng-template>\n <!-- <div *ngIf=\"formState$ | async as state\">-->\n <!-- <!– <span>{{ state | json }}</span>–>-->\n <!-- <mat-progress-spinner-->\n <!-- *ngIf=\"state.loading\"-->\n <!-- aria-label=\"Loading Form\"-->\n <!-- i18n-aria-label-->\n <!-- [mode]=\"'indeterminate'\"-->\n <!-- ></mat-progress-spinner>-->\n <!-- <div *ngIf=\"!state.loading && state.error\" class=\"form-preview-error mat-elevation-z4\" fxLayout=\"column\">-->\n <!-- <div fxLayout=\"row\" fxLayoutAlign=\"start center\" class=\"error-message\">-->\n <!-- <mat-icon color=\"warn\">error</mat-icon><span>{{ state.error.message }}</span>-->\n <!-- </div>-->\n <!-- <div *ngIf=\"state.error.retry\" fxLayout=\"row\" fxLayoutAlign=\"end center\" class=\"retry-container\">-->\n <!-- <button mat-flat-button color=\"accent\" (click)=\"retryFormLoad()\">RETRY</button>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- <div *ngIf=\"!state.loading && state.form\">-->\n <!-- <mtna-form [mtnaForm]=\"state.form\" [readonly]=\"false\" [steps]=\"formSteps$ | async\"></mtna-form>-->\n <!-- </div>-->\n <!-- </div>-->\n <!-- When the context switches this can make the call to the form service and show a loader. Once it is returned you will pass it into the MtnaForm -->\n </div>\n\n <div *ngSwitchDefault></div>\n </ng-container>\n </section>\n</ng-container>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { MtnaWfTemplateDisplayViewerComponent } from './template-display-viewer.component';\nimport { MtnaWfTemplateModule } from '../template/template.module';\nimport { MtnaWfInstanceOfTemplateImplPipeModule, MtnaWfInstanceOfTemplateItemPipeModule } from '../../../pipes';\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { MtnaFormModule } from '../../form';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n imports: [\n CommonModule,\n FlexLayoutModule,\n MatButtonModule,\n MatIconModule,\n MatProgressSpinnerModule,\n MtnaFormModule,\n MtnaWfTemplateModule,\n MtnaWfInstanceOfTemplateItemPipeModule,\n MtnaWfTemplateItemModule,\n MtnaWfInstanceOfTemplateImplPipeModule,\n ],\n declarations: [MtnaWfTemplateDisplayViewerComponent],\n exports: [MtnaWfTemplateDisplayViewerComponent],\n})\nexport class MtnaWfTemplateDisplayViewerModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport {\n DROPDOWN_ITEM_TEMPLATE_ID,\n PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n SHORT_ANSWER_ITEM_TEMPLATE_ID,\n TEMPLATE_ITEM_GROUP_IMPL_ID,\n TemplateItem,\n TemplateItemGroupImpl,\n TEXT_ITEM_TEMPLATE_ID,\n TITLE_ITEM_TEMPLATE_ID,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\n\n@Component({\n selector: 'mtna-wf-template-item-group',\n templateUrl: './template-item-group.component.html',\n styleUrls: ['./template-item-group.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTemplateItemGroupComponent<T extends TemplateItemGroupImpl> extends MtnaWfBaseTemplateItemComponent<T> {\n override get template(): T | undefined {\n return this._template;\n }\n override set template(template: T | undefined) {\n this._template = template;\n\n // A list item can only display a heading line & a small text line\n // Compatible items should be items with short labels/headers & values\n // Items with multiple options, or potential nested items should not be included\n if (this.template) {\n this.inList = this.template.items.every((i) => i.itemId === SHORT_ANSWER_ITEM_TEMPLATE_ID || i.itemId === DROPDOWN_ITEM_TEMPLATE_ID);\n }\n }\n\n fullWidth: { [id: string]: boolean } = {\n [PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID]: true,\n [TEMPLATE_ITEM_GROUP_IMPL_ID]: true,\n [TEXT_ITEM_TEMPLATE_ID]: true,\n [TITLE_ITEM_TEMPLATE_ID]: true,\n };\n\n /**\n * If form is readonly & all child items are one of the specified types below,\n * we want to display this group's child items in a mat-list\n */\n inList = false;\n\n _trackByInstanceId(index: number, item: TemplateItem) {\n return item.instanceId;\n }\n}\n","<ng-container *ngIf=\"template\">\n <mat-list *ngIf=\"inList; else fullLayout\" [ngClass]=\"template.layout\">\n <mtna-wf-template-item\n *ngFor=\"let subItem of template.items; let index = index; trackBy: _trackByInstanceId\"\n [class.row-item]=\"template.layout === 'ROW'\"\n [ngClass.lt-md]=\"'width-100'\"\n [template]=\"subItem\"\n [inList]=\"true\"\n ></mtna-wf-template-item>\n </mat-list>\n\n <ng-template #fullLayout>\n <div class=\"template-item-group-container\" [ngClass]=\"template.layout\">\n <mtna-wf-template-item\n *ngFor=\"let subItem of template.items; trackBy: _trackByInstanceId\"\n [class.row-item]=\"template.layout === 'ROW' && !fullWidth[subItem.itemId]\"\n [ngClass.lt-md]=\"'width-100'\"\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [template]=\"subItem\"\n ></mtna-wf-template-item>\n </div>\n </ng-template>\n</ng-container>\n","import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { TemplateSectionImpl } from '@mtna/web-form-ts';\n\nimport { FormStep } from '../../../models';\nimport { MtnaWfTemplateItemGroupComponent } from '../template-item-group/template-item-group.component';\nimport { StepAware } from '../models/step-aware.model';\n\n@Component({\n selector: 'mtna-wf-template-section',\n templateUrl: './template-section.component.html',\n styleUrls: ['./template-section.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTemplateSectionComponent extends MtnaWfTemplateItemGroupComponent<TemplateSectionImpl> implements StepAware {\n @Input()\n get step(): FormStep | null | undefined {\n return this._step;\n }\n set step(value: FormStep | null | undefined) {\n this._step = value;\n }\n private _step: FormStep | null | undefined;\n}\n","<mtna-wf-step-card *ngIf=\"template\" [step]=\"step\" [subtitle]=\"displayLocale | getI18nStringValueFromLocale : template.descriptiveText\">\n <div cardContent>\n <ng-container *ngFor=\"let templateItem of template.items; trackBy: _trackByInstanceId\">\n <ng-container *ngIf=\"templateItem | mtnaWfInstanceOfTemplateItemGroupImpl as templateItemGroupImpl\">\n <mat-divider\n *ngIf=\"templateItemGroupImpl.items.indexOf(templateItem) !== 0\"\n class=\"section-item-divider\"\n [inset]=\"true\"\n ></mat-divider>\n </ng-container>\n <mtna-wf-template-item\n [color]=\"color\"\n [displayLocale]=\"displayLocale\"\n [isCompact]=\"isCompact\"\n [template]=\"templateItem\"\n ></mtna-wf-template-item>\n </ng-container>\n </div>\n</mtna-wf-step-card>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { TextItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\n\n@Component({\n selector: 'mtna-wf-text-item-template',\n templateUrl: './text-item.component.html',\n styleUrls: ['./text-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTextItemTemplateComponent extends MtnaWfBaseTemplateItemComponent<TextItemTemplate> {}\n","<p\n *ngIf=\"template\"\n class=\"mtna-wf-text-item-template\"\n [innerHTML]=\"displayLocale | getI18nStringValueFromLocale : template.value | mtnaWfSanitizeHtml\"\n></p>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { TitleItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\n\n@Component({\n selector: 'mtna-wf-title-item-template',\n templateUrl: './title-item.component.html',\n styleUrls: ['./title-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfTitleItemTemplateComponent extends MtnaWfBaseTemplateItemComponent<TitleItemTemplate> {}\n","<h3 *ngIf=\"template\" class=\"mtna-wf-title-item-template\">{{ displayLocale | getI18nStringValueFromLocale : template.value }}</h3>\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { WholeNumberAnswerItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemWithListComponent } from '../base/base-template-item-with-list.component';\n\n@Component({\n selector: 'mtna-wf-whole-number-answer-item-template',\n templateUrl: './whole-number-answer-item.component.html',\n styleUrls: ['./whole-number-answer-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfWholeNumberAnswerItemTemplateComponent extends MtnaWfBaseTemplateItemWithListComponent<WholeNumberAnswerItemTemplate> {\n _noInformationText = $localize`No Information Provided`;\n}\n","<ng-container *ngIf=\"template\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ displayLocale | getI18nStringValueFromLocale : template.label }}</mat-label>\n <input matInput [required]=\"template.required\" />\n </mat-form-field>\n\n <!-- READONLY -->\n <!-- <ng-template #readOnly>-->\n <!-- <ng-container *ngTemplateOutlet=\"inList ? listItem : fullList\"></ng-container>-->\n <!-- </ng-template>-->\n\n <ng-template #fullList>\n <mat-list>\n <ng-container *ngTemplateOutlet=\"listItem\"></ng-container>\n </mat-list>\n </ng-template>\n\n <ng-template #listItem>\n <mat-list-item class=\"wrappable-list-item\">\n <!-- <mat-icon *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as label\" matListIcon>{{\n label | mtnaWfGetListIcon\n }}</mat-icon> -->\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.questionText as questionText\">\n <ng-container *ngIf=\"questionText !== ''\">\n <ng-container *ngIf=\"displayLocale | getI18nStringValueFromLocale : template.label as tempLabel\">\n <h4 mat-line>{{ tempLabel !== '' ? tempLabel : template.name }}</h4>\n </ng-container>\n </ng-container>\n </ng-container>\n <p mat-line class=\"wrap-line\">{{ _noInformationText }}</p>\n </mat-list-item>\n </ng-template>\n</ng-container>\n","import { InjectedComponent } from '@mtna/core-angular';\nimport {\n BOOLEAN_ITEM_TEMPLATE_ID,\n CHECKBOX_ITEM_TEMPLATE_ID,\n DATE_ITEM_TEMPLATE_ID,\n DECIMAL_ANSWER_ITEM_TEMPLATE_ID,\n DROPDOWN_ITEM_TEMPLATE_ID,\n FILE_UPLOAD_ITEM_TEMPLATE_ID,\n INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,\n MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,\n OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,\n PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n REPEATABLE_ITEM_TEMPLATE_IMPL_ID,\n SHORT_ANSWER_ITEM_TEMPLATE_ID,\n TEMPLATE_ITEM_GROUP_IMPL_ID,\n TEMPLATE_SECTION_IMPL_ID,\n TEXT_ITEM_TEMPLATE_ID,\n TITLE_ITEM_TEMPLATE_ID,\n WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,\n YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,\n} from '@mtna/web-form-ts';\n\nimport { MtnaWfBooleanItemTemplateComponent } from '../boolean-item/boolean-item.component';\nimport { MtnaWfCheckboxItemTemplateComponent } from '../checkbox-item/checkbox-item.component';\nimport { MtnaWfOffsetDateRangeItemTemplateComponent } from '../date/offset-date-range-item/offset-date-range-item.component';\nimport { MtnaWfYearQuarterRangeItemTemplateComponent } from '../date/year-quarter-range-item/year-quarter-range-item.component';\nimport { MtnaWfDateItemTemplateComponent } from '../date-item/date-item.component';\nimport { MtnaWfDecimalAnswerItemTemplateComponent } from '../decimal-answer-item/decimal-answer-item.component';\nimport { MtnaWfDropdownItemTemplateComponent } from '../dropdown-item/dropdown-item.component';\nimport { MtnaWfFileUploadItemTemplateComponent } from '../file-upload-item/file-upload-item.component';\nimport { MtnaWfI18nParagraphAnswerItemTemplateComponent } from '../i18n-paragraph-answer-item/i18n-paragraph-answer-item.component';\nimport { MtnaWfI18nShortAnswerItemTemplateComponent } from '../i18n-short-answer-item/i18n-short-answer-item.component';\nimport { MtnaWfMultipleChoiceItemTemplateComponent } from '../multiple-choice-item/multiple-choice-item.component';\nimport { MtnaWfParagraphAnswerItemTemplateComponent } from '../paragraph-answer-item/paragraph-answer-item.component';\nimport { MtnaWfRepeatableItemTemplateContainerComponent } from '../repeatable-item-container/repeatable-item-container.component';\nimport { MtnaWfShortAnswerItemTemplateComponent } from '../short-answer-item/short-answer-item.component';\nimport { MtnaWfTemplateItemGroupComponent } from '../template-item-group/template-item-group.component';\nimport { MtnaWfTemplateSectionComponent } from '../template-section/template-section.component';\nimport { MtnaWfTextItemTemplateComponent } from '../text-item/text-item.component';\nimport { MtnaWfTitleItemTemplateComponent } from '../title-item/title-item.component';\nimport { MtnaWfWholeNumberAnswerItemTemplateComponent } from '../whole-number-answer-item/whole-number-answer-item.component';\n\nexport const MTNA_WF_TEMPLATE_ITEM_INJECTED_COMPONENTS: InjectedComponent[] = [\n {\n key: BOOLEAN_ITEM_TEMPLATE_ID,\n component: MtnaWfBooleanItemTemplateComponent,\n },\n // {\n // key: BULLETED_LIST_ITEM_TEMPLATE_ID,\n // component: MtnaWfUnorderedListItemTemplateComponent,\n // },\n {\n key: CHECKBOX_ITEM_TEMPLATE_ID,\n component: MtnaWfCheckboxItemTemplateComponent,\n },\n {\n key: DATE_ITEM_TEMPLATE_ID,\n component: MtnaWfDateItemTemplateComponent,\n },\n {\n key: DECIMAL_ANSWER_ITEM_TEMPLATE_ID,\n component: MtnaWfDecimalAnswerItemTemplateComponent,\n },\n {\n key: DROPDOWN_ITEM_TEMPLATE_ID,\n component: MtnaWfDropdownItemTemplateComponent,\n },\n {\n key: FILE_UPLOAD_ITEM_TEMPLATE_ID,\n component: MtnaWfFileUploadItemTemplateComponent,\n },\n {\n key: INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n component: MtnaWfI18nParagraphAnswerItemTemplateComponent,\n },\n {\n key: INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID,\n component: MtnaWfI18nShortAnswerItemTemplateComponent,\n },\n {\n key: MULTIPLE_CHOICE_ITEM_TEMPLATE_ID,\n component: MtnaWfMultipleChoiceItemTemplateComponent,\n },\n {\n key: OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID,\n component: MtnaWfOffsetDateRangeItemTemplateComponent,\n },\n // {\n // key: NUMBERED_LIST_ITEM_TEMPLATE_ID,\n // component: MtnaWfOrderedListItemTemplateComponent,\n // },\n {\n key: PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID,\n component: MtnaWfParagraphAnswerItemTemplateComponent,\n },\n {\n key: REPEATABLE_ITEM_TEMPLATE_IMPL_ID,\n component: MtnaWfRepeatableItemTemplateContainerComponent,\n },\n {\n key: TEMPLATE_SECTION_IMPL_ID,\n component: MtnaWfTemplateSectionComponent,\n },\n {\n key: TEMPLATE_ITEM_GROUP_IMPL_ID,\n component: MtnaWfTemplateItemGroupComponent,\n },\n {\n key: SHORT_ANSWER_ITEM_TEMPLATE_ID,\n component: MtnaWfShortAnswerItemTemplateComponent,\n },\n {\n key: TEXT_ITEM_TEMPLATE_ID,\n component: MtnaWfTextItemTemplateComponent,\n },\n {\n key: TITLE_ITEM_TEMPLATE_ID,\n component: MtnaWfTitleItemTemplateComponent,\n },\n {\n key: WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID,\n component: MtnaWfWholeNumberAnswerItemTemplateComponent,\n },\n {\n key: YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID,\n component: MtnaWfYearQuarterRangeItemTemplateComponent,\n },\n];\n","import { InjectedComponent, InjectedComponentProvider } from '@mtna/core-angular';\n\nimport { MTNA_WF_TEMPLATE_ITEM_INJECTED_COMPONENTS } from './template-item-injected-components';\n\nexport class MtnaWfTemplateItemComponentProvider extends InjectedComponentProvider {\n public getInjectedComponents(): InjectedComponent[] {\n return MTNA_WF_TEMPLATE_ITEM_INJECTED_COMPONENTS;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FlexLayoutModule } from '@angular/flex-layout';\n\nimport { MtnaWfItemsWithValuePipeModule } from '../../../pipes';\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { MtnaWfTemplateItemGroupComponent } from './template-item-group.component';\nimport { MatListModule } from '@angular/material/list';\n\n@NgModule({\n imports: [CommonModule, MtnaWfTemplateItemModule, FlexLayoutModule, MtnaWfItemsWithValuePipeModule, MatListModule],\n declarations: [MtnaWfTemplateItemGroupComponent],\n exports: [MtnaWfTemplateItemGroupComponent],\n})\nexport class MtnaWfTemplateItemGroupModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatDividerModule } from '@angular/material/divider';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfInstanceOfTemplateItemGroupImplPipeModule } from '../../../pipes';\nimport { MtnaWfStepCardModule } from '../../step-card/step-card.module';\nimport { MtnaWfTemplateItemModule } from '../template-item/template-item.module';\nimport { MtnaWfTemplateSectionComponent } from './template-section.component';\n\n@NgModule({\n imports: [\n CommonModule,\n GetI18nStringValueFromLocalePipeModule,\n MatDividerModule,\n MtnaWfStepCardModule,\n MtnaWfTemplateItemModule,\n MtnaWfTemplateItemModule,\n MtnaWfInstanceOfTemplateItemGroupImplPipeModule,\n ],\n declarations: [MtnaWfTemplateSectionComponent],\n exports: [MtnaWfTemplateSectionComponent],\n})\nexport class MtnaWfTemplateSectionModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfSanitizeHtmlPipeModule } from '../../../pipes';\nimport { MtnaWfTextItemTemplateComponent } from './text-item.component';\n\n@NgModule({\n imports: [CommonModule, MtnaWfSanitizeHtmlPipeModule, GetI18nStringValueFromLocalePipeModule],\n declarations: [MtnaWfTextItemTemplateComponent],\n exports: [MtnaWfTextItemTemplateComponent],\n})\nexport class MtnaWfTextItemTemplateModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GetI18nStringValueFromLocalePipeModule } from '../../../pipes';\nimport { MtnaWfTitleItemTemplateComponent } from './title-item.component';\n\n@NgModule({\n imports: [CommonModule, GetI18nStringValueFromLocalePipeModule],\n declarations: [MtnaWfTitleItemTemplateComponent],\n exports: [MtnaWfTitleItemTemplateComponent],\n})\nexport class MtnaWfTitleItemTemplateModule {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { BulletedListItemTemplate } from '@mtna/web-form-ts';\n\nimport { MtnaWfBaseTemplateItemComponent } from '../base/base-template-item.component';\n\n@Component({\n selector: 'mtna-wf-unordered-list-item-template',\n templateUrl: './unordered-list-item.component.html',\n styleUrls: ['./unordered-list-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MtnaWfUnorderedListItemTemplateComponent extends MtnaWfBaseTemplateItemComponent<BulletedListItemTemplate> {}\n","<ng-container *ngIf=\"template\">\n <ul>\n <ng-container *ngIf=\"displayLocale | getI18nStringsValueFromLocale : template.values as values\">\n <li *ngFor=\"let value of values\" [innerHTML]=\"value | mtnaWfSanitizeHtml\"></li>\n </ng-container>\n </ul>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { GetI18nStringsValueFromLocalePipeModule, MtnaWfSanitizeHtmlPipeModule } from '../../../pipes';\nimport { MtnaWfUnorderedListItemTemplateComponent } from './unordered-list-item.component';\n\n@NgModule({\n imports: [CommonModule, GetI18nStringsValueFromLocalePipeModule, MtnaWfSanitizeHtmlPipeModule],\n declarations: [MtnaWfUnorderedListItemTemplateComponent],\n exports: [MtnaWfUnorderedListItemTemplateComponent],\n})\nexport class MtnaWfUnorderedListItemTemplateModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\n\nimport { GetI18nStringValueFromLocalePipeModule, MtnaWfGetListIconPipeModule } from '../../../pipes';\nimport { MtnaWfWholeNumberAnswerItemTemplateComponent } from './whole-number-answer-item.component';\n\n@NgModule({\n imports: [\n CommonModule,\n GetI18nStringValueFromLocalePipeModule,\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n MtnaWfGetListIconPipeModule,\n ],\n declarations: [MtnaWfWholeNumberAnswerItemTemplateComponent],\n exports: [MtnaWfWholeNumberAnswerItemTemplateComponent],\n})\nexport class MtnaWfWholeNumberAnswerItemTemplateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["templateObject_1","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","templateObject_7","templateObject_8","templateObject_9","templateObject_10","templateObject_11","templateObject_12","templateObject_13","templateObject_14","templateObject_15","uuidv4","BOOLEAN_ITEM_TEMPLATE_ID","CHECKBOX_ITEM_TEMPLATE_ID","OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID","YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID","DATE_ITEM_TEMPLATE_ID","DECIMAL_ANSWER_ITEM_TEMPLATE_ID","DROPDOWN_ITEM_TEMPLATE_ID","FILE_UPLOAD_ITEM_TEMPLATE_ID","INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID","INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID","MULTIPLE_CHOICE_ITEM_TEMPLATE_ID","NUMBERED_LIST_ITEM_TEMPLATE_ID","PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID","REPEATABLE_ITEM_TEMPLATE_IMPL_ID","TEMPLATE_SECTION_IMPL_ID","SHORT_ANSWER_ITEM_TEMPLATE_ID","TEMPLATE_ITEM_GROUP_IMPL_ID","TEXT_ITEM_TEMPLATE_ID","TITLE_ITEM_TEMPLATE_ID","BULLETED_LIST_ITEM_TEMPLATE_ID","WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID","TIME_ITEM_TEMPLATE_ID","instanceOfModelDesignProperty","getLiteralProperties","MtnaTemplateCoreDesign.getTemplateItems","TEMPLATE_IMPL_ID","getLiteralDesignProperty","getModelDesignProperty","MtnaTemplateCoreDesign.itemToDesign","isPresent","getI18nString","DesignMapper","CHECKBOX_GRID_TEMPLATE_ID","HIDDEN_REFERENCE_ITEM_TEMPLATE_ID","LINEAR_SCALE_ITEM_TEMPLATE_ID","MULTIPLE_CHOICE_GRID_ITEM_TEMPLATE_ID","REQUEST_ID_ITEM_TEMPLATE_ID","instanceOfBooleanItemTemplate","instanceOfCheckboxGridTemplate","instanceOfCheckboxItemTemplate","instanceOfDateItemTemplate","instanceOfDecimalAnswerItemTemplate","instanceOfDropdownItemTemplate","instanceOfFileUploadItemTemplate","instanceOfHiddenReferenceItemTemplate","instanceOfInternationalizedParagraphAnswerItemTemplate","instanceOfInternationalizedShortAnswerItemTemplate","instanceOfLinearScaleItemTemplate","instanceOfMultipleChoiceGridItemTemplate","instanceOfMultipleChoiceItemTemplate","instanceOfOffsetDateRangeTemplate","instanceOfParagraphAnswerItemTemplate","instanceOfRepeatableItemTemplate","instanceOfRequestIdItemTemplate","instanceOfShortAnswerItemTemplate","instanceOfTemplateItemGroupImpl","instanceOfTemplateSectionImpl","instanceOfTextItemTemplate","instanceOfTimeItemTemplate","instanceOfTitleItemTemplate","instanceOfWholeNumberAnswerItemTemplate","instanceOfYearQuarterRangeTemplate","isKey","ErrorStateMatcher","i0","Injectable","isForm","FormGroup","Validators","CHECKBOX_ITEM_ID","FormArray","FormControl","DECIMAL_ANSWER_ITEM_ID","WHOLE_NUMBER_ANSWER_ITEM_ID","isWholeNumberItem","isNullOrUndefined","PARAGRAPH_ANSWER_ITEM_ID","SHORT_ANSWER_ITEM_ID","I18N_PARAGRAPH_ANSWER_ITEM_ID","I18N_SHORT_ANSWER_ITEM_ID","isProgressiveForm","isRepeatableItem","isSection","isFormItemGroupImpl","isTableItem","isOffsetDateRangeItem","isYearQuarterRangeItem","isType","trigger","state","style","transition","animate","isObject","InjectionToken","getReferenceDesignProperty","getReferenceProperties","_a","FormOptionDesignUtil.getOptionsAndTemplateMap","MtnaTemplateCoreDesign.toTemplateItem","FormOptionDesignUtil.optionSelectorToDesign","getI18nListProperties","getI18nListDesignProperty","instanceOfBulletedListItemTemplate","instanceOfNumberedListItemTemplate","isDataCubeItem","toLetters","FORM_ITEM_GROUP_IMPL_ID","SECTION_ID","TEXT_ITEM_ID","TITLE_ITEM_ID","BehaviorSubject","isConditionalItem","isOptionItemImpl","isOptionGroupItemImpl","Optional","Inject","mixinDestroyNotifier","Component","Input","coerceBooleanProperty","HostBinding","EventEmitter","Output","MatRadioChange","MatSelectChange","MtnaComponentInjector","INJECTION_SERVICE","i1","Pipe","NgModule","i2.MtnaWfSanitizeHtmlPipe","ChangeDetectionStrategy","ViewEncapsulation","i1.MtnaWfUIService","i2","i3.MtnaWfItemInjector","i4.MtnaWfItemHeaderComponent","i5","MAT_DIALOG_DATA","i2.MtnaWfFormItemComponent","i3","i4","CommonModule","i1.MtnaWfGetObjectTypePipe","instanceOfTemplateImpl","MtnaTemplateDesign.isTemplateItem","isValueItem","MtnaAnnotationsIndicatorModule","MatMomentDateModule","MatButtonModule","MatDialogModule","skipWhile","take","Subject","MtnaWfSerializer.insertFormItemValues","MtnaWfSerializer.determineSerializeFunctionToUse","MtnaWfFormItemChange","i1.MtnaWfApiService","i2.MtnaWfNgFormService","i3.MtnaWfUIService","MtnaSearchSelectionService","of","takeUntil","distinctUntilChanged","Subscription","i1.MtnaWfManagerService","i1.MtnaWfNgFormService","i1.MtnaWfFormDisablerComponent","i5.MtnaWfFilterHiddenItemsPipe","_FormStepMixinBase","mixinColor","i1.MtnaWfFormStepComponent","i6","i7","i8.MtnaWfFormStepGroupPipe","i9.CoerceFormStepPipe","i10.CoerceFormStepGroupPipe","i11.ChildStepActivePipe","i12.GetStepAriaLabel","FlexLayoutModule","MatDividerModule","MtnaStatusCircleModule","MatRippleModule","MatTooltipModule","MatIconModule","i6.MtnaWfSanitizeHtmlPipe","A11yModule","MatCardModule","FormsModule","ReactiveFormsModule","i3.MtnaWfFormItemComponent","MatSlideToggleModule","MtnaHighlightModule","i1.MtnaWfDialogService","i5.MtnaWfFormItemComponent","i8","i9","i10","i11","i12.MtnaWfGetFormControlErrorPipe","MatFormFieldModule","MatCheckboxModule","MatDatepicker","i7.MtnaWfGetFormControlErrorPipe","ViewChild","MatInputModule","MatDatepickerModule","MAT_DATE_FORMATS","i1.MtnaWfDateComponent","i5.MtnaWfCoerceFormControlPipe","i9.MtnaWfGetFormControlErrorPipe","i10.MtnaWfGetListIconPipe","i11.MtnaWfGetSelectedOptionNamePipe","MatSelectModule","MatListModule","MtnaFileDownloadModule","MtnaFileUploadModule","MatProgressSpinnerModule","DROPDOWN_ITEM_ID","i1.MtnaWfItemHeaderComponent","i7.MtnaWfItemsWithValuePipe","i1.MtnaWfStepCardComponent","i6.MtnaWfGetObjectTypePipe","isInternationalizedParagraphAnswerItem","MtnaLocaleIds","mtnaToLanguageId","mtnaLanguageIdToDisplay","i8.MtnaWfGetAutoCompletePipe","isDecimalAnswerItem","isParagraphAnswerItem","MatRadioModule","i3.MtnaWfSanitizeHtmlPipe","i2.MtnaWfItemHeaderComponent","i4.MtnaWfRepeatableItemComponent","i7.MtnaWfFormItemComponent","i11.MtnaWfCoerceFormItemPipe","COMPLEX_STANDARD","MtnaTrackByPropertyPipeModule","MtnaSearchDialogComponent","MtnaSearchDialogData","MatTableModule","merge","i8.MtnaWfGetFormControlErrorPipe","i9.MtnaWfGetAvailableQuartersPipe","i10.MtnaWfDateQuarterPipe","i1.MtnaWfYearQuarterComponent","BOOLEAN_ITEM_ID","DATE_ITEM_ID","OFFSET_DATE_RANGE_ITEM_ID","FILE_UPLOAD_ITEM_ID","MULTIPLE_CHOICE_ITEM_ID","NUMBERED_LIST_ITEM_ID","REPEATABLE_ITEM_ID","RESOURCE_SEARCH_ITEM_ID","BULLETED_LIST_ITEM_ID","YEAR_QUARTER_RANGE_ITEM_ID","InjectedComponentProvider","i3.MtnaWfFormStepperComponent","i4.MtnaWfFormDisablerComponent","i10.MtnaWfFilterHiddenItemsPipe","LOCALE_ID","i3.GetI18nStringValueFromLocalePipe","i2.MtnaWfTemplateItemHeaderComponent","i3.MtnaWfTemplateItemInjector","i2.MtnaWfTemplateItemComponent","i4.MtnaWfTemplateItemComponent","i6.GetI18nStringValueFromLocalePipe","i1.MtnaWfDateItemTemplateComponent","i7.MtnaWfGetAvailableQuartersPipe","i8.MtnaWfDateQuarterPipe","i1.MtnaWfYearQuarterItemTemplateComponent","i6.MtnaWfGetAutoCompletePipe","i7.GetI18nStringValueFromLocalePipe","i5.GetI18nStringValueFromLocalePipe","i8.MtnaWfGetListIconPipe","i2.GetI18nStringsValueFromLocalePipe","i1.MtnaWfRepeatableItemTemplateComponent","i5.MtnaWfTemplateItemComponent","createAction","props","createReducer","on","TemplateDesignActions.getTemplateInstance","TemplateDesignApiActions.getTemplateInstanceSuccess","TemplateDesignApiActions.getTemplateInstanceFailure","TemplateDesignActions.getTemplateItemInstance","TemplateDesignApiActions.getTemplateItemInstanceSuccess","TemplateDesignApiActions.getTemplateItemInstanceFailure","TemplateDesignActions.resetTemplateDesignState","createFeatureSelector","createSelector","TemplateFormSelectors.templateDesignLoading","TemplateFormSelectors.templateDesignForm","TemplateFormSelectors.templateDesignFormItem","TemplateFormSelectors.templateDesignTypeLoaded","TemplateFormActions.getTemplateInstance","TemplateFormActions.getTemplateItemInstance","createEffect","ofType","switchMap","map","TemplateFormApiActions.getTemplateInstanceSuccess","catchError","TemplateFormApiActions.getTemplateInstanceFailure","TemplateFormApiActions.getTemplateItemInstanceSuccess","TemplateFormApiActions.getTemplateItemInstanceFailure","i2.MtnaWfApiService","FormOptionDesign.instanceOfFormOptionSelector","MtnaTemplateDesign.isTemplateDesign","MtnaTemplateDesign.toTemplate","MtnaTemplateDesign.isTemplateItemDesign","FormOptionDesign.designToOptionSelector","MtnaTemplateDesign.templateToDesign","FormOptionDesign.optionSelectorToDesign","MtnaTemplateDesign.getTemplatePotentialDesigns","MtnaTemplateCoreDesign.getTemplateItemPotentialDesigns","FormOptionDesign.getOptionSelectorPotentialDesigns","MtnaTemplateDesign.getNewTemplate","MtnaTemplateCoreDesign.getNewTemplateItem","FormOptionDesign.getNewFormOptionSelector","MtnaTemplateMergeUtil.mergeTemplate","MtnaTemplateMergeUtil.mergeTemplateItem","MtnaTemplateMergeUtil.mergeFormOptionSelector","getDesignMap","MtnaTemplateDesign.getText","DesignFacade","i1.TemplateFormFacade","tap","i2.TemplateFormFacade","i3.MtnaWfTemplateComponent","i7.MtnaWfInstanceOfTemplateImplPipe","i8.MtnaWfInstanceOfTemplateItemPipe","i3.MtnaWfTemplateItemComponent","i6.MtnaWfInstanceOfTemplateItemGroupImplPipe","i2.GetI18nStringValueFromLocalePipe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;;;;;;;;EAagF;EAChF;EAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC,EAAA;MAC/B,aAAa,GAAG,MAAM,CAAC,cAAc;WAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;UAC5E,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,KAAK,IAAI,CAAC,IAAI,CAAC;cAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;kBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACtG,IAAA,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEc,SAAA,SAAS,CAAC,CAAC,EAAE,CAAC,EAAA;EAC5B,IAAA,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;EACrC,QAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;EAC9F,IAAA,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;EACvC,IAAA,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;EACvF,CAAC;EAEM,IAAI,QAAQ,GAAG,YAAA;MACpB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAA;EAC3C,QAAA,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;EACjD,YAAA,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;cACjB,KAAK,IAAI,CAAC,IAAI,CAAC;kBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;sBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAChF,SAAA;EACD,QAAA,OAAO,CAAC,CAAC;EACb,KAAC,CAAA;MACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;EACzC,CAAC,CAAA;EAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;MACzB,IAAI,CAAC,GAAG,EAAE,CAAC;MACX,KAAK,IAAI,CAAC,IAAI,CAAC;UAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;cAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;UAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;cACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAC1E,gBAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACzB,SAAA;EACL,IAAA,OAAO,CAAC,CAAC;EACX,CAAC;EAEK,SAAU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAA;EACtD,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;MAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;EAAE,QAAA,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;EAC1H,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;EAAE,YAAA,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;EAAE,gBAAA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;EAClJ,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAChE,CAAC;EAEe,SAAA,OAAO,CAAC,UAAU,EAAE,SAAS,EAAA;EAC3C,IAAA,OAAO,UAAU,MAAM,EAAE,GAAG,EAAA,EAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;EACvE,CAAC;EAEe,SAAA,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAA;EACrG,IAAA,SAAS,MAAM,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU;UAAE,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;EACvH,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;MACjG,IAAI,MAAM,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;MACxF,IAAI,UAAU,GAAG,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EACzG,IAAA,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;EACpB,IAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;UAC7C,IAAI,OAAO,GAAG,EAAE,CAAC;UACjB,KAAK,IAAI,CAAC,IAAI,SAAS;EAAE,YAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;EACzE,QAAA,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM;EAAE,YAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACxE,QAAA,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,EAAA,EAAI,IAAI,IAAI;cAAE,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;EAC9K,QAAA,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;UAC/H,IAAI,IAAI,KAAK,UAAU,EAAE;cACrB,IAAI,MAAM,KAAK,KAAK,CAAC;kBAAE,SAAS;EAChC,YAAA,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;EAC1F,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;EAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;EAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;EAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;EAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;EAAE,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EACxD,SAAA;EACI,aAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;cACzB,IAAI,IAAI,KAAK,OAAO;EAAE,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;EACzC,gBAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC5B,SAAA;EACJ,KAAA;EACD,IAAA,IAAI,MAAM;UAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;MACtE,IAAI,GAAG,IAAI,CAAC;EACd,CAAC;EAAA,CAAC;WAEc,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAA;EAC5D,IAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;EACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC1C,QAAA,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC3F,KAAA;MACD,OAAO,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;EACnC,CAAC;EAAA,CAAC;EAEI,SAAU,SAAS,CAAC,CAAC,EAAA;EACzB,IAAA,OAAO,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EAClD,CAAC;EAAA,CAAC;WAEc,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAA;MAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ;UAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;EAC/F,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;EACvH,CAAC;EAAA,CAAC;EAEc,SAAA,UAAU,CAAC,WAAW,EAAE,aAAa,EAAA;MACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;UAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;EACjI,CAAC;EAEK,SAAU,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAA;EACzD,IAAA,SAAS,KAAK,CAAC,KAAK,EAAA,EAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAA,EAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;EAC5G,IAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAA;EACrD,QAAA,SAAS,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAAE,SAAA;EAAC,QAAA,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,SAAA,EAAE;EAC3F,QAAA,SAAS,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;EAAE,SAAA;EAAC,QAAA,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,SAAA,EAAE;EAC9F,QAAA,SAAS,IAAI,CAAC,MAAM,EAAA,EAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;EAC9G,QAAA,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;EAC1E,KAAC,CAAC,CAAC;EACL,CAAC;EAEe,SAAA,WAAW,CAAC,OAAO,EAAE,IAAI,EAAA;EACvC,IAAA,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAA,EAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;EAAE,YAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACzJ,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAClE,SAAS,IAAI,CAAC,EAAE,EAAA;EACZ,QAAA,IAAI,CAAC;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;EAC9D,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;cAAE,IAAI;EAC1C,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;EAAE,oBAAA,OAAO,CAAC,CAAC;EAC7J,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;EAAE,oBAAA,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;EACxC,gBAAA,QAAQ,EAAE,CAAC,CAAC,CAAC;EACT,oBAAA,KAAK,CAAC,CAAC;EAAC,oBAAA,KAAK,CAAC;0BAAE,CAAC,GAAG,EAAE,CAAC;0BAAC,MAAM;EAC9B,oBAAA,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;EAAC,wBAAA,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EACxD,oBAAA,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;EAAC,wBAAA,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;EAAC,wBAAA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;0BAAC,SAAS;EACjD,oBAAA,KAAK,CAAC;EAAE,wBAAA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;EAAC,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;EACjD,oBAAA;EACI,wBAAA,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;8BAAE,CAAC,GAAG,CAAC,CAAC;8BAAC,SAAS;EAAE,yBAAA;EAC5G,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;8BAAC,MAAM;EAAE,yBAAA;EACtF,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;8BAAC,CAAC,GAAG,EAAE,CAAC;8BAAC,MAAM;EAAE,yBAAA;0BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAAC,4BAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;8BAAC,MAAM;EAAE,yBAAA;0BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;EAAE,4BAAA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;EACtB,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;EAC9B,iBAAA;kBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;EAC9B,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EAAE,gBAAA,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;kBAAC,CAAC,GAAG,CAAC,CAAC;EAAE,aAAA;EAAS,oBAAA;EAAE,gBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAAE,aAAA;EAC1D,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;EAAE,YAAA,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;UAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OACpF;EACH,CAAC;EAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;MAChE,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACjD,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;EAC/E,QAAA,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAA,EAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;EACjE,KAAA;MACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;EACrC,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;MACxB,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACf,CAAC,CAAC,CAAC;EAEa,SAAA,YAAY,CAAC,CAAC,EAAE,CAAC,EAAA;MAC/B,KAAK,IAAI,CAAC,IAAI,CAAC;EAAE,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;EAAE,YAAA,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAChH,CAAC;EAEK,SAAU,QAAQ,CAAC,CAAC,EAAA;MACxB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;EAC9E,IAAA,IAAI,CAAC;EAAE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACxB,IAAA,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;UAAE,OAAO;EAC1C,YAAA,IAAI,EAAE,YAAA;EACF,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;sBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;EACnC,gBAAA,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;eAC3C;WACJ,CAAC;EACF,IAAA,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;EACzF,CAAC;EAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;EACzB,IAAA,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;EAC3D,IAAA,IAAI,CAAC,CAAC;EAAE,QAAA,OAAO,CAAC,CAAC;EACjB,IAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;MACjC,IAAI;UACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;EAAE,YAAA,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;EAC9E,KAAA;EACD,IAAA,OAAO,KAAK,EAAE;EAAE,QAAA,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;EAAE,KAAA;EAC/B,YAAA;UACJ,IAAI;EACA,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;EAAE,gBAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACpD,SAAA;EACO,gBAAA;EAAE,YAAA,IAAI,CAAC;kBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;EAAE,SAAA;EACpC,KAAA;EACD,IAAA,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;WACgB,QAAQ,GAAA;EACtB,IAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;EAC9C,QAAA,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACzC,IAAA,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;WACgB,cAAc,GAAA;MAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;EAAE,QAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;MACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;UAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;cAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACpB,IAAA,OAAO,CAAC,CAAC;EACX,CAAC;WAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAA;EAC1C,IAAA,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;EAAE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;cACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;EACpB,gBAAA,IAAI,CAAC,EAAE;EAAE,oBAAA,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;kBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;EACnB,aAAA;EACJ,SAAA;EACD,IAAA,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC3D,CAAC;EAEK,SAAU,OAAO,CAAC,CAAC,EAAA;MACvB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;EACvE,CAAC;WAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAA;MAC7D,IAAI,CAAC,MAAM,CAAC,aAAa;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;EACvF,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;EAC9D,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAc,EAAA,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;MACnI,SAAS,WAAW,CAAC,CAAC,EAAI,EAAA,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE;MAC/F,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;UAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;EAAC,QAAA,IAAI,CAAC;cAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAAE,KAAA,EAAE;EACxK,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;UAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAAE,KAAA;EAAC,IAAA,OAAO,CAAC,EAAE;UAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAAE,KAAA,EAAE;MAClF,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EACxH,IAAA,SAAS,OAAO,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;EAClD,IAAA,SAAS,MAAM,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;EAClD,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;EAAE,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACpF,CAAC;EAEK,SAAU,gBAAgB,CAAC,CAAC,EAAA;MAChC,IAAI,CAAC,EAAE,CAAC,CAAC;EACT,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;EAC5I,IAAA,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;EACxI,CAAC;EAEK,SAAU,aAAa,CAAC,CAAC,EAAA;MAC7B,IAAI,CAAC,MAAM,CAAC,aAAa;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;MACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;EACnC,IAAA,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACjN,SAAS,IAAI,CAAC,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAI,EAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;EAChK,IAAA,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAI,EAAA,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;EAC9H,CAAC;EAEe,SAAA,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAA;MAC9C,IAAI,MAAM,CAAC,cAAc,EAAE;EAAE,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;EAAE,KAAA;EAAM,SAAA;EAAE,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;EAAE,KAAA;EAC/G,IAAA,OAAO,MAAM,CAAC;EAChB,CAAC;EAAA,CAAC;EAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;EACrD,IAAA,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;EACtE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;EAChB,IAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;EACnB,CAAC,CAAC;EAEI,SAAU,YAAY,CAAC,GAAG,EAAA;EAC9B,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;EAAE,QAAA,OAAO,GAAG,CAAC;MACtC,IAAI,MAAM,GAAG,EAAE,CAAC;MAChB,IAAI,GAAG,IAAI,IAAI;UAAE,KAAK,IAAI,CAAC,IAAI,GAAG;EAAE,YAAA,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EAAE,gBAAA,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;EACzI,IAAA,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAChC,IAAA,OAAO,MAAM,CAAC;EAChB,CAAC;EAEK,SAAU,eAAe,CAAC,GAAG,EAAA;EACjC,IAAA,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;EAC1D,CAAC;EAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;EAC7D,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;EACnL,IAAA,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAChG,CAAC;EAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;MACpE,IAAI,IAAI,KAAK,GAAG;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;EACxE,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;EAClL,IAAA,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;EAC5G,CAAC;EAEe,SAAA,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAA;EACnD,IAAA,IAAI,QAAQ,KAAK,IAAI,KAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;EACzJ,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAChF,CAAC;WAEe,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAA;MACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;UACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC;UACtG,IAAI,OAAO,EAAE,KAAK,CAAC;EACnB,QAAA,IAAI,KAAK,EAAE;cACT,IAAI,CAAC,MAAM,CAAC,YAAY;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;EACrF,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;EACtC,SAAA;EACD,QAAA,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;cACtB,IAAI,CAAC,MAAM,CAAC,OAAO;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;EAC3E,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;EAChC,YAAA,IAAI,KAAK;kBAAE,KAAK,GAAG,OAAO,CAAC;EAC5B,SAAA;UACD,IAAI,OAAO,OAAO,KAAK,UAAU;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;EACjF,QAAA,IAAI,KAAK;cAAE,OAAO,GAAG,cAAa,IAAI;EAAE,gBAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAAE,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EAAE,gBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,aAAA,EAAE,CAAC;EACtG,QAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;EAClE,KAAA;EACI,SAAA,IAAI,KAAK,EAAE;UACd,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;EACjC,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED,IAAI,gBAAgB,GAAG,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAA;EACnH,IAAA,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EAC3B,IAAA,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;EACnF,CAAC,CAAC;EAEI,SAAU,kBAAkB,CAAC,GAAG,EAAA;MACpC,SAAS,IAAI,CAAC,CAAC,EAAA;UACb,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,0CAA0C,CAAC,GAAG,CAAC,CAAC;EAC9G,QAAA,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;OACrB;EACD,IAAA,SAAS,IAAI,GAAA;EACX,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;cACvB,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;cAC1B,IAAI;EACF,gBAAA,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;kBACxD,IAAI,GAAG,CAAC,KAAK;sBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAS,CAAC,EAAI,EAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;EACnG,aAAA;EACD,YAAA,OAAO,CAAC,EAAE;kBACN,IAAI,CAAC,CAAC,CAAC,CAAC;EACX,aAAA;EACF,SAAA;UACD,IAAI,GAAG,CAAC,QAAQ;cAAE,MAAM,GAAG,CAAC,KAAK,CAAC;OACnC;MACD,OAAO,IAAI,EAAE,CAAC;EAChB,CAAC;AAED,kBAAe;EACb,IAAA,SAAS,EAAA,SAAA;EACT,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,MAAM,EAAA,MAAA;EACN,IAAA,UAAU,EAAA,UAAA;EACV,IAAA,OAAO,EAAA,OAAA;EACP,IAAA,UAAU,EAAA,UAAA;EACV,IAAA,SAAS,EAAA,SAAA;EACT,IAAA,WAAW,EAAA,WAAA;EACX,IAAA,eAAe,EAAA,eAAA;EACf,IAAA,YAAY,EAAA,YAAA;EACZ,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,MAAM,EAAA,MAAA;EACN,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,cAAc,EAAA,cAAA;EACd,IAAA,aAAa,EAAA,aAAA;EACb,IAAA,OAAO,EAAA,OAAA;EACP,IAAA,gBAAgB,EAAA,gBAAA;EAChB,IAAA,gBAAgB,EAAA,gBAAA;EAChB,IAAA,aAAa,EAAA,aAAA;EACb,IAAA,oBAAoB,EAAA,oBAAA;EACpB,IAAA,YAAY,EAAA,YAAA;EACZ,IAAA,eAAe,EAAA,eAAA;EACf,IAAA,sBAAsB,EAAA,sBAAA;EACtB,IAAA,sBAAsB,EAAA,sBAAA;EACtB,IAAA,qBAAqB,EAAA,qBAAA;EACrB,IAAA,uBAAuB,EAAA,uBAAA;EACvB,IAAA,kBAAkB,EAAA,kBAAA;GACnB;;ECpXD;MACa,8BAA8B,GAAG,SAAS,CAAAA,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,KAAC;MAC3D,sBAAsB,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MACzC,kCAAkC,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,0KAAA,CAAA,EAAA,CAAA,0KAAqK,KAAC;MACpN,6BAA6B,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MACzD,yCAAyC,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qIAAA,CAAA,EAAA,CAAA,qIAAqI,KAAC;MAC3L,qBAAqB,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,WAAA,CAAA,EAAA,CAAA,WAAW,KAAC;MAC7C,iCAAiC,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,2HAAA,CAAA,EAAA,CAAA,2HAAsH,KAAC;MACpK,yBAAyB,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,KAAC;MACvD,qCAAqC,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,6GAAA,CAAA,EAAA,CAAA,6GAA6G,KAAC;MAC/J,2BAA2B,GAAG,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,mBAAmB,KAAC;MAC3D,uCAAuC,GAAG,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,sIAAA,CAAA,EAAA,CAAA,sIAAsI,KAAC;MAE1L,oBAAoB,GAAG,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,KAAC;MAClD,gCAAgC,GAAG,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,4OAAA,CAAA,EAAA,CAAA,4OAA4O,KAAC;MACzR,mBAAmB,GAAG,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,KAAC;MACjD,+BAA+B,GAAG,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,8BAAA,CAAA,EAAA,CAAA,8BAA8B,KAAC;MAC1E,sBAAsB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACvD,kCAAkC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,+CAAA,CAAA,EAAA,CAAA,+CAA+C,KAAC;MAC9F,yBAAyB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,uBAAuB,KAAC;MAC7D,8BAA8B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,6BAAA,CAAA,EAAA,CAAA,6BAA6B,KAAC;MACxE,0BAA0B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,wBAAwB,KAAC;MAC/D,eAAe,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,KAAC;MACzC,2BAA2B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,uDAAA,CAAA,EAAA,CAAA,uDAAuD,KAAC;MAC/F,SAAS,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,eAAe,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,KAAC;MACzC,sBAAsB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACvD,gBAAgB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,KAAC;MAC1C,4BAA4B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,sFAAA,CAAA,EAAA,CAAA,sFAAsF,KAAC;MAC/H,gBAAgB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,KAAC;MACtD,oBAAoB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,kBAAkB,KAAC;MACnD,oCAAoC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,ySAAA,CAAA,EAAA,CAAA,ySAAyS,KAAC;MAC1V,wCAAwC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,yEAAA,CAAA,EAAA,CAAA,yEAAyE,KAAC;MAC9H,kBAAkB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,KAAC;MAC/C,8BAA8B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,8EAAA,CAAA,EAAA,CAAA,8EAA8E,KAAC;MACzH,oBAAoB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,kBAAkB,KAAC;MACnD,gCAAgC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,sJAAA,CAAA,EAAA,CAAA,sJAAsJ,KAAC;MACnM,0BAA0B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,wBAAwB,KAAC;MAC/D,uBAAuB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACzD,4BAA4B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,4BAAA,CAAA,EAAA,CAAA,4BAA4B,KAAC;MACrE,iBAAiB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MAC7C,6BAA6B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,6EAAA,CAAA,EAAA,CAAA,6EAA6E,KAAC;MACvH,eAAe,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC1C,2BAA2B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,sKAAA,CAAA,EAAA,CAAA,sKAAsK,KAAC;MAC9M,4BAA4B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,2BAAA,CAAA,EAAA,CAAA,2BAA2B,KAAC;MACpE,SAAS,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,WAAW,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,QAAA,CAAA,EAAA,CAAA,QAAQ,KAAC;MAChC,uBAAuB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,6CAAA,CAAA,EAAA,CAAA,6CAA6C,KAAC;MACjF,2BAA2B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,6CAAA,CAAA,EAAA,CAAA,6CAA6C,KAAC;MACrF,cAAc,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,KAAC;MACvC,0BAA0B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,mEAAA,CAAA,EAAA,CAAA,mEAAmE,KAAC;MAC1G,SAAS,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,qBAAqB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,0FAAA,CAAA,EAAA,CAAA,0FAA0F,KAAC;MAC5H,SAAS,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,UAAU,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,KAAC;MAC9B,sBAAsB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,uCAAA,CAAA,EAAA,CAAA,uCAAuC,KAAC;MAC1E,UAAU,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,KAAC;MAC9B,sBAAsB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,qNAAA,CAAA,EAAA,CAAA,qNAAqN,KAAC;MACxP,WAAW,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,QAAA,CAAA,EAAA,CAAA,QAAQ,KAAC;MAChC,uBAAuB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,iNAAA,CAAA,EAAA,CAAA,iNAAiN,KAAC;MACrP,iBAAiB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,KAAC;MACvD,6BAA6B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oGAAA,CAAA,EAAA,CAAA,oGAAoG,KAAC;MAC9I,iBAAiB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,KAAC;MACvD,6BAA6B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oGAAA,CAAA,EAAA,CAAA,oGAAoG,KAAC;MAC9I,mBAAmB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACrD,+BAA+B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,wEAAA,CAAA,EAAA,CAAA,wEAAwE,KAAC;MACpH,mBAAmB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACrD,+BAA+B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,wEAAA,CAAA,EAAA,CAAA,wEAAwE,KAAC;MACpH,kBAAkB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACnD,8BAA8B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,kFAAA,CAAA,EAAA,CAAA,kFAAkF,KAAC;MAC7H,kBAAkB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACnD,8BAA8B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,kFAAA,CAAA,EAAA,CAAA,kFAAkF,KAAC;MAC7H,aAAa,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MACzC,yBAAyB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,2EAAA,CAAA,EAAA,CAAA,2EAA2E,KAAC;MACjH,aAAa,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MACzC,yBAAyB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,2EAAA,CAAA,EAAA,CAAA,2EAA2E,KAAC;MACjH,gCAAgC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,+BAAA,CAAA,EAAA,CAAA,+BAA+B,KAAC;MAC5E,SAAS,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,qBAAqB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,wIAAA,CAAA,EAAA,CAAA,wIAAwI,KAAC;MAC1K,QAAQ,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,KAAK,KAAC;MAC1B,cAAc,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,KAAC;MACvC,sBAAsB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACxD,gBAAgB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC3C,oBAAoB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,mBAAmB,KAAC;MACpD,yBAAyB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,uBAAuB,KAAC;MAC7D,8BAA8B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,6BAAA,CAAA,EAAA,CAAA,6BAA6B,KAAC;MACxE,iCAAiC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,iCAAA,CAAA,EAAA,CAAA,iCAAiC,KAAC;MAC/E,WAAW,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,QAAA,CAAA,EAAA,CAAA,QAAQ,KAAC;MAChC,uBAAuB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,kDAAA,CAAA,EAAA,CAAA,kDAAkD,KAAC;MACtF,qBAAqB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,mBAAmB,KAAC;MACrD,YAAY,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,SAAS,KAAC;MAClC,wBAAwB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,mDAAA,CAAA,EAAA,CAAA,mDAAmD,KAAC;MACxF,kBAAkB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,KAAC;MAC/C,6BAA6B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,0DAAA,CAAA,EAAA,CAAA,0DAA0D,KAAC;MACpG,mBAAmB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,KAAC;MACjD,oBAAoB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,kBAAkB,KAAC;MACnD,+BAA+B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,gPAAA,CAAA,EAAA,CAAA,gPAAgP,KAAC;MAC5R,sBAAsB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACxD,kCAAkC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,+DAAA,CAAA,EAAA,CAAA,+DAA+D,KAAC;MAC9G,iBAAiB,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,sBAAsB,KAAC;MACpD,6BAA6B,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,4FAAA,CAAA,EAAA,CAAA,4FAA4F,KAAC;MACtI,gBAAgB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MAC5C,4BAA4B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,mFAAA,CAAA,EAAA,CAAA,mFAAmF,KAAC;MAC5H,iBAAiB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MAC7C,6BAA6B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,2FAAA,CAAA,EAAA,CAAA,2FAA2F,KAAC;MACrI,gBAAgB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC3C,4BAA4B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,0FAAA,CAAA,EAAA,CAAA,0FAA0F,KAAC;MACnI,gCAAgC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,+BAAA,CAAA,EAAA,CAAA,+BAA+B,KAAC;MAC5E,6BAA6B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,6BAAA,CAAA,EAAA,CAAA,6BAA6B,KAAC;MACvE,yCAAyC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,mFAAA,CAAA,EAAA,CAAA,mFAAmF,KAAC;MACzI,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,KAAC;MACpC,yBAAyB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,8EAAA,CAAA,EAAA,CAAA,8EAA8E,KAAC;MACpH,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,KAAC;MACpC,sBAAsB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACvD,kCAAkC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,2GAAA,CAAA,EAAA,CAAA,2GAA2G,KAAC;MAC1J,2BAA2B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,0BAAA,CAAA,EAAA,CAAA,0BAA0B,KAAC;MAClE,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,KAAC;MACpC,iBAAiB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MAC7C,6BAA6B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,uCAAA,CAAA,EAAA,CAAA,uCAAuC,KAAC;MACjF,kBAAkB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,KAAC;MAC/C,8BAA8B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qDAAA,CAAA,EAAA,CAAA,qDAAqD,KAAC;MAChG,mCAAmC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,8CAA8C,KAAC;MAC9F,sBAAsB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACvD,2BAA2B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,0BAAA,CAAA,EAAA,CAAA,0BAA0B,KAAC;MAClE,cAAc,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,KAAC;MACvC,0BAA0B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,8IAAA,CAAA,EAAA,CAAA,8IAA8I,KAAC;MACrL,sBAAsB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,4BAAA,CAAA,EAAA,CAAA,4BAA4B,KAAC;MAC/D,6BAA6B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,sGAAA,CAAA,EAAA,CAAA,sGAAsG,KAAC;MAChJ,UAAU,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,KAAC;MAC9B,sBAAsB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,iDAAA,CAAA,EAAA,CAAA,iDAAiD,KAAC;MACpF,WAAW,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,QAAA,CAAA,EAAA,CAAA,QAAQ,KAAC;MAChC,uBAAuB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,kDAAA,CAAA,EAAA,CAAA,kDAAkD,KAAC;MACtF,kCAAkC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,kCAAA,CAAA,EAAA,CAAA,kCAAkC,KAAC;MACjF,cAAc,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,KAAC;MACvC,iBAAiB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,KAAC;MAC9C,YAAY,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,KAAC;MAEnC,gBAAgB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC3C,YAAY,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,SAAS,KAAC;MAClC,gBAAgB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC3C,qBAAqB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACtD,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,KAAC;MACpC,iBAAiB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MAC7C,oBAAoB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,mBAAmB,KAAC;MACpD,wBAAwB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,wBAAwB,KAAC;MAC7D,qBAAqB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACtD,yBAAyB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,KAAC;MAC/D,SAAS,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,WAAA,CAAA,EAAA,CAAA,WAAW,KAAC;MACrC,kBAAkB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,KAAC;MAC/C,iBAAiB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MAC7C,sBAAsB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACxD,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,KAAC;MACpC,iBAAiB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,KAAC;MAC7C,eAAe,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,KAAC;MACzC,mBAAmB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,kBAAkB,KAAC;MAClD,qCAAqC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oCAAA,CAAA,EAAA,CAAA,oCAAoC,KAAC;MACtF,yCAAyC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yCAAA,CAAA,EAAA,CAAA,yCAAyC,KAAC;MAC/F,iCAAiC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gCAAA,CAAA,EAAA,CAAA,gCAAgC,KAAC;MAC9E,qCAAqC,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qCAAA,CAAA,EAAA,CAAA,qCAAqC,KAAC;MACvF,mBAAmB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,KAAC;MACjD,uBAAuB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,sBAAA,CAAA,EAAA,CAAA,sBAAsB,KAAC;MAC1D,qBAAqB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;MACtD,gBAAgB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC3C,oBAAoB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,mBAAmB,KAAC;MACpD,oBAAoB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,kBAAkB,KAAC;MACnD,wBAAwB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,uBAAA,CAAA,EAAA,CAAA,uBAAuB,KAAC;MAC5D,eAAe,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,KAAC;MACxC,mBAAmB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,KAAC;MACjD,gBAAgB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC3C,oBAAoB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,mBAAA,CAAA,EAAA,CAAA,mBAAmB,KAAC;MACpD,UAAU,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,KAAC;MAC9B,cAAc,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,KAAC;MACvC,YAAY,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,SAAS,KAAC;MAClC,gBAAgB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,cAAA,CAAA,EAAA,CAAA,cAAc,KAAC;MAC3C,SAAS,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,WAAA,CAAA,EAAA,CAAA,WAAW,KAAC;MACrC,SAAS,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,KAAC;MAC5B,aAAa,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,WAAA,CAAA,EAAA,CAAA,WAAW,KAAC;MACrC,UAAU,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,KAAC;MAC9B,cAAc,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,KAAC;MACvC,kBAAkB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,KAAC;MAC/C,sBAAsB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACxD,sBAAsB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qBAAA,CAAA,EAAA,CAAA,qBAAqB,KAAC;MACxD,0BAA0B,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,0BAAA,CAAA,EAAA,CAAA,0BAA0B,KAAC;MACjE,qBAAqB,GAAG,SAAS,CAAA,kBAAA,KAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,KAAC;;;ACzL5D,MAAM,yBAAyB,GAAG,eAAe;AACjD,MAAM,0BAA0B,GAAG,gBAAgB;AAEnD,MAAM,oBAAoB,GAAG,iBAAiB;AAExC,MAAA,yBAAyB,GAAG,kBAAkB;AAC9C,MAAA,yBAAyB,GAAG,iBAAiB;AACnD,MAAM,4BAA4B,GAAG,oBAAoB;AACnD,MAAA,qBAAqB,GAAG,aAAa;AAC3C,MAAM,qBAAqB,GAAG,cAAc;AACtC,MAAA,0BAA0B,GAAG,kBAAkB;AAC/C,MAAA,0BAA0B,GAAG,kBAAkB;AAC/C,MAAA,uBAAuB,GAAG,eAAe;AACzC,MAAA,sBAAsB,GAAG,aAAa;AACtC,MAAA,gBAAgB,GAAG,SAAS;AAC5B,MAAA,qBAAqB,GAAG,SAAS;AACjC,MAAA,oBAAoB,GAAG,YAAY;AACzC,MAAM,cAAc,GAAG,OAAO;AACxB,MAAA,cAAc,GAAG,OAAO;AACxB,MAAA,eAAe,GAAG,QAAQ;AAC1B,MAAA,gBAAgB,GAAG,SAAS;AAC5B,MAAA,yBAAyB,GAAG,gBAAgB;AAC5C,MAAA,yBAAyB,GAAG,gBAAgB;AAC5C,MAAA,eAAe,GAAG,QAAQ;AAC1B,MAAA,kBAAkB,GAAG,UAAU;AAC/B,MAAA,kBAAkB,GAAG,UAAU;AAC/B,MAAA,mBAAmB,GAAG,WAAW;AACjC,MAAA,mBAAmB,GAAG,WAAW;AACjC,MAAA,wBAAwB,GAAG,gBAAgB;AAC3C,MAAA,wBAAwB,GAAG,gBAAgB;AAC3C,MAAA,cAAc,GAAG,OAAO;AACxB,MAAA,gBAAgB,GAAG,SAAS;AAClC,MAAM,iBAAiB,GAAG,UAAU;AAC9B,MAAA,wBAAwB,GAAG,gBAAgB;AAC3C,MAAA,6BAA6B,GAAG,oBAAoB;AACpD,MAAA,sBAAsB,GAAG,cAAc;AACvC,MAAA,uBAAuB,GAAG,eAAe;AACzC,MAAA,uBAAuB,GAAG,eAAe;AACzC,MAAA,sBAAsB,GAAG,cAAc;AACvC,MAAA,qCAAqC,GAAG,2BAA2B;AACnE,MAAA,kBAAkB,GAAG,WAAW;AAChC,MAAA,4BAA4B,GAAG,oBAAoB;AACnD,MAAA,cAAc,GAAG,OAAO;AACxB,MAAA,eAAe,GAAG,QAAQ;AAC1B,MAAA,eAAe,GAAG,QAAQ;AAC1B,MAAA,gBAAgB,GAAG,SAAS;AAC5B,MAAA,8BAA8B,GAAG,4BAA4B;AAC7D,MAAA,mBAAmB,GAAG,QAAQ;AAC9B,MAAA,mBAAmB,GAAG,QAAQ;;ACG9B,MAAA,wBAAwB,GAAe;MAClD,EAAE,EAAEC,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,gBAAgB;EACzB,IAAA,IAAI,EAAEC,kCAAwB;EAC9B,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,yBAAyB,GAAe;MACnD,EAAE,EAAED,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,iBAAiB;EAC1B,IAAA,IAAI,EAAEE,mCAAyB;EAC/B,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,kCAAkC,GAAe;MAC5D,EAAE,EAAEF,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,wBAAwB;EACjC,IAAA,IAAI,EAAEG,4CAAkC;EACxC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,mCAAmC,GAAe;MAC7D,EAAE,EAAEH,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,yBAAyB;EAClC,IAAA,IAAI,EAAEI,6CAAmC;EACzC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,qBAAqB,GAAe;MAC/C,EAAE,EAAEJ,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,aAAa;EACtB,IAAA,IAAI,EAAEK,+BAAqB;EAC3B,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,+BAA+B,GAAe;MACzD,EAAE,EAAEL,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,sBAAsB;EAC/B,IAAA,IAAI,EAAEM,yCAA+B;EACrC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,yBAAyB,GAAe;MACnD,EAAE,EAAEN,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,iBAAiB;EAC1B,IAAA,IAAI,EAAEO,mCAAyB;EAC/B,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,4BAA4B,GAAe;MACtD,EAAE,EAAEP,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,mBAAmB;EAC5B,IAAA,IAAI,EAAEQ,sCAA4B;EAClC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,sCAAsC,GAAe;MAChE,EAAE,EAAER,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,yCAAyC;EAClD,IAAA,IAAI,EAAES,6DAAmD;EACzD,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,kCAAkC,GAAe;MAC5D,EAAE,EAAET,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,qCAAqC;EAC9C,IAAA,IAAI,EAAEU,yDAA+C;EACrD,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,gCAAgC,GAAe;MAC1D,EAAE,EAAEV,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,uBAAuB;EAChC,IAAA,IAAI,EAAEW,0CAAgC;EACtC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,8BAA8B,GAAe;MACxD,EAAE,EAAEX,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,qBAAqB;EAC9B,IAAA,IAAI,EAAEY,wCAA8B;EACpC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,iCAAiC,GAAe;MAC3D,EAAE,EAAEZ,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,wBAAwB;EACjC,IAAA,IAAI,EAAEa,2CAAiC;EACvC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,2BAA2B,GAAe;MACrD,EAAE,EAAEb,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,mBAAmB;EAC5B,IAAA,IAAI,EAAEc,0CAAgC;EACtC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,wBAAwB,GAAe;MAClD,EAAE,EAAEd,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,YAAY;EACrB,IAAA,IAAI,EAAEe,kCAAwB;EAC9B,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,6BAA6B,GAAe;MACvD,EAAE,EAAEf,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,oBAAoB;EAC7B,IAAA,IAAI,EAAEgB,uCAA6B;EACnC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,sBAAsB,GAAe;MAChD,EAAE,EAAEhB,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,cAAc;EACvB,IAAA,IAAI,EAAEiB,qCAA2B;EACjC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,qBAAqB,GAAe;MAC/C,EAAE,EAAEjB,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,aAAa;EACtB,IAAA,IAAI,EAAEkB,+BAAqB;EAC3B,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,sBAAsB,GAAe;MAChD,EAAE,EAAElB,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,cAAc;EACvB,IAAA,IAAI,EAAEmB,gCAAsB;EAC5B,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,8BAA8B,GAAe;MACxD,EAAE,EAAEnB,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,qBAAqB;EAC9B,IAAA,IAAI,EAAEoB,wCAA8B;EACpC,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,oCAAoC,GAAe;MAC9D,EAAE,EAAEpB,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,0BAA0B;EACnC,IAAA,IAAI,EAAEqB,8CAAoC;EAC1C,IAAA,SAAS,EAAE,WAAW;IACtB;AAEW,MAAA,qCAAqC,GAAe;MAC/D,EAAE,EAAErB,OAAM,EAAE;EACZ,IAAA,OAAO,EAAE,cAAc;EACvB,IAAA,IAAI,EAAE,QAAQ;EACd,IAAA,SAAS,EAAE,gBAAgB;IAC3B;AAEW,MAAA,2BAA2B,GAAiB;MACvD,wBAAwB;MACxB,8BAA8B;MAC9B,yBAAyB;MACzB,qBAAqB;MACrB,+BAA+B;MAC/B,yBAAyB;MACzB,4BAA4B;MAC5B,sCAAsC;MACtC,kCAAkC;MAClC,gCAAgC;MAChC,8BAA8B;MAC9B,kCAAkC;MAClC,iCAAiC;MACjC,2BAA2B;MAC3B,6BAA6B;MAC7B,qBAAqB;MACrB,sBAAsB;MACtB,oCAAoC;MACpC,mCAAmC;IACnC;MAEW,6BAA6B,GAAA,aAAA,CAAA,CAAkB,sBAAsB,CAAK,EAAA,MAAA,CAAA,2BAA2B,GAAE;MAEvG,8BAA8B,GAAA,aAAA,CAAA,CAAkB,wBAAwB,CAAK,EAAA,MAAA,CAAA,6BAA6B,GAAE;AAE5G,MAAA,qCAAqC,GAAqB,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,6BAA6B;;AC/N7F,MAAM,cAAc,GAA+B,GAAG;AACtD,MAAM,sBAAsB,GAA6B,GAAG;WAEnD,cAAc,CAAC,EAAU,EAAE,IAAgB,EAAE,UAAoB,EAAA;EAC/E,IAAA,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;EAC1B,IAAA,sBAAsB,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;EAC1C,CAAC;EAEe,SAAA,uBAAuB,CAAC,MAAc,EAAE,OAAiB,EAAA;MACvE,IAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;MAChD,IAAI,CAAC,WAAW,EAAE;UAChB,MAAM,IAAI,KAAK,CAAC,0CAAA,GAA0C,MAAM,CAAC,IAAI,GAAsD,uDAAA,CAAC,CAAC;EAC9H,KAAA;MACD,OAAO,IAAI,WAAW,CAAC,EAAE,MAAM,EAAA,MAAA,EAAE,OAAO,EAAA,OAAA,EAAE,CAAC,CAAC;EAC9C,CAAC;EAEK,SAAU,kBAAkB,CAAC,IAAkB,EAAE,UAA0B,EAAE,MAAmB,EAAE,OAAiB,EAAA;MACvH,IAAM,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC/C,IAAA,IAAM,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,YAAA,EAAE,OAAO,EAAA,OAAA,EAAE,CAAC,CAAC;EACxD,IAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,EAAA,EAAA,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;EAC/B;;;EC6DA,IAAM,sBAAsB,IAAA,EAAA,GAAA,EAAA;MAC1B,EAAC,CAAAC,kCAAwB,IAAG,gBAAgB;MAC5C,EAAC,CAAAmB,wCAA8B,IAAG,sBAAsB;MACxD,EAAC,CAAAlB,mCAAyB,IAAG,iBAAiB;MAC9C,EAAC,CAAAG,+BAAqB,IAAG,aAAa;MACtC,EAAC,CAAAC,yCAA+B,IAAG,sBAAsB;MACzD,EAAC,CAAAC,mCAAyB,IAAG,iBAAiB;MAC9C,EAAC,CAAAC,sCAA4B,IAAG,mBAAmB;MACnD,EAAC,CAAAC,6DAAmD,IAAG,yCAAyC;MAChG,EAAC,CAAAC,yDAA+C,IAAG,qCAAqC;MACxF,EAAC,CAAAC,0CAAgC,IAAG,uBAAuB;MAC3D,EAAC,CAAAC,wCAA8B,IAAG,oBAAoB;MACtD,EAAC,CAAAT,4CAAkC,IAAG,wBAAwB;MAC9D,EAAC,CAAAU,2CAAiC,IAAG,wBAAwB;MAC7D,EAAC,CAAAG,uCAA6B,IAAG,oBAAoB;MACrD,EAAC,CAAAC,qCAA2B,IAAG,cAAc;MAC7C,EAAC,CAAAF,kCAAwB,IAAG,gBAAgB;MAC5C,EAAC,CAAAG,+BAAqB,IAAG,aAAa;MACtC,EAAC,CAAAI,+BAAqB,IAAG,aAAa;MACtC,EAAC,CAAAH,gCAAsB,IAAG,cAAc;MACxC,EAAC,CAAAE,8CAAoC,IAAG,0BAA0B;MAClE,EAAC,CAAAjB,6CAAmC,IAAG,yBAAyB;SACjE,CAAC;EAEF,IAAM,gBAAgB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;;MAC1E,OAAO;UACL,MAAM,EAAE,UAAU,CAAC,IAAI;UACvB,UAAU,EAAE,UAAU,CAAC,EAAE;UACzB,aAAa,EAAE,UAAU,CAAC,EAAE;UAC5B,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;UACvE,IAAI,EAAE,MAAA,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,oBAAoB;UACrE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;EACjE,QAAA,iBAAiB,EAAE,KAAK;EACxB,QAAA,gBAAgB,EAAE,KAAK;EACvB,QAAA,QAAQ,EAAE,KAAK;EACf,QAAA,6BAA6B,EAAE,KAAK;EACpC,QAAA,gBAAgB,EAAE,EAAE;OACrB,CAAC;EACJ,CAAC,CAAC;EAEF,IAAM,oBAAoB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAC9E,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,KAC3C,QAAQ,EAAE,KAAK,EACf,YAAY,EAAE,KAAK,EACnB,aAAa,EAAE,KAAK,EACpB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEF,IAAM,aAAa,GAAkB;EACnC,IAAA,oBAAoB,EAAE,EAAE;EACxB,IAAA,uBAAuB,EAAE,EAAE;EAC3B,IAAA,IAAI,EAAE,cAAc;MACpB,EAAE,EAAEJ,OAAM,EAAE;EACZ,IAAA,IAAI,EAAE,EAAE;EACR,IAAA,WAAW,EAAE,EAAE;EACf,IAAA,KAAK,EAAE,KAAK;GACb,CAAC;EAEF,IAAM,YAAY,GAAiB;EACjC,IAAA,oBAAoB,EAAE,EAAE;EACxB,IAAA,uBAAuB,EAAE,EAAE;EAC3B,IAAA,IAAI,EAAE,cAAc;MACpB,EAAE,EAAEA,OAAM,EAAE;EACZ,IAAA,IAAI,EAAE,EAAE;EACR,IAAA,WAAW,EAAE,EAAE;EACf,IAAA,KAAK,EAAE,cAAc;GACtB,CAAC;EAEF,IAAM,iCAAiC,GAAqC;EAC1E,IAAA,oBAAoB,EAAE,EAAE;EACxB,IAAA,SAAS,EAAE,EAAE;EACb,IAAA,eAAe,EAAE,SAAS;EAC1B,IAAA,aAAa,EAAE,EAAE;EACjB,IAAA,YAAY,EAAE,EAAE;EAChB,IAAA,WAAW,EAAE,KAAK;EAClB,IAAA,MAAM,EAAE,YAAY;EACpB,IAAA,QAAQ,EAAE,KAAK;EACf,IAAA,cAAc,EAAE,CAAC;EACjB,IAAA,WAAW,EAAE,KAAK;GACnB,CAAC;EAEF,IAAM,kCAAkC,GAAsC;EAC5E,IAAA,oBAAoB,EAAE,EAAE;EACxB,IAAA,SAAS,EAAE,EAAE;EACb,IAAA,eAAe,EAAE,SAAS;EAC1B,IAAA,aAAa,EAAE,EAAE;EACjB,IAAA,YAAY,EAAE,EAAE;EAChB,IAAA,WAAW,EAAE,KAAK;EAClB,IAAA,MAAM,EAAE,aAAa;EACrB,IAAA,QAAQ,EAAE,KAAK;EACf,IAAA,cAAc,EAAE,CAAC;EACjB,IAAA,WAAW,EAAE,KAAK;GACnB,CAAC;EAEK,IAAM,yBAAyB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAC1F,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,KAC/C,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,kCAAkC,EAC1C,iBAAiB,EAAE,EAAE,EACrB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,0BAA0B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MAC3F,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,uBAAuB,EAAE,EAAE,EAC3B,oBAAoB,EAAE,EAAE,EACxB,aAAa,EAAE,CAAC,EAChB,aAAa,EAAE,CAAC,EAChB,aAAa,EAAE,EAAE,EACjB,iBAAiB,EAAE,EAAE,EACrB,OAAO,EAAE,CAAC,iCAAiC,CAAC,EAC5C,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,sBAAsB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MACvF,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAClD,WAAW,EAAE,IAAI,IAAI,EAAE,EACvB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,+BAA+B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MAChG,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,EAC1D,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,GAAG,EACd,YAAY,EAAE,KAAK,EACnB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,0BAA0B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAC3F,IAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,EACtD,uBAAuB,EAAE,EAAE,EAC3B,oBAAoB,EAAE,EAAE,EACxB,iBAAiB,EAAE,EAAE,EACrB,OAAO,EAAE,CAAC,iCAAiC,CAAC,EAC5C,aAAa,EAAE,EAAE,EACjB,aAAa,EAAE,CAAC,EAChB,aAAa,EAAE,CAAC,EAChB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,4BAA4B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAC7F,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,eAAe,EAAE,KAAK,EACtB,UAAU,EAAE,EAAE,EACd,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,qCAAqC,GAAG,UACnD,UAAsB,EACtB,UAA0B,EAC1B,YAA2B,EAAA;EAA3B,IAAA,IAAA,YAAA,KAAA,KAAA,CAAA,EAAA,EAAA,YAA2B,GAAA,EAAA,CAAA,EAAA;EAE3B,IAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC,EAC9E,YAAY,EAAA,YAAA,EACZ,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,iCAAiC,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAClG,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAC7D,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,GAAG,EACjB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,iCAAiC,GAAG,UAC/C,UAAsB,EACtB,UAA0B,EAC1B,YAA2B,EAAA;EAA3B,IAAA,IAAA,YAAA,KAAA,KAAA,CAAA,EAAA,EAAA,YAA2B,GAAA,EAAA,CAAA,EAAA;EAE3B,IAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,EAC1E,YAAY,EAAA,YAAA,EACZ,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,6BAA6B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAC9F,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,EACzD,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,GAAG,EACjB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,gCAAgC,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MACjG,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,oBAAoB,EAAE,EAAE,EACxB,uBAAuB,EAAE,EAAE,EAC3B,iBAAiB,EAAE,EAAE,EACrB,OAAO,EAAE,CAAC,iCAAiC,CAAC,EAC5C,aAAa,EAAE,EAAE,EACjB,aAAa,EAAE,CAAC,EAChB,aAAa,EAAE,CAAC,EAChB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,8BAA8B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAC/F,IAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAC3D,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,8BAA8B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EAC/F,IAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAC5D,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,mCAAmC,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MACpG,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,EAC9D,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,GAAG,EACd,YAAY,EAAE,KAAK,EACnB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,iCAAiC,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MAClG,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE;cACX,KAAK,EAAE,IAAI,IAAI,EAAE;cACjB,GAAG,EAAE,IAAI,IAAI,EAAE;EAChB,SAAA,EACD,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,+BAA+B,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MAChG,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,WAAW,EAAE;EACX,YAAA,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;EACrD,YAAA,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;EACpD,SAAA,EACD,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,sBAAsB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EACvF,IAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC/C,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAC/C,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,sBAAsB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;MACvF,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,MAAM,EAAE,EAAE,EACV,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,uBAAuB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EACxF,IAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,oBAAoB,CAAC,UAAU,EAAE,UAAU,CAAC,CAC/C,EAAA,EAAA,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAChD,KAAK,EAAE,CAAC,EACR,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,uBAAuB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EACxF,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAC3C,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,QAAQ,EAChB,CAAA,CAAA;EACJ,CAAC,CAAC;EAEK,IAAM,qBAAqB,GAAG,UAAC,UAAsB,EAAE,UAA0B,EAAA;EACtF,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA,EAAA,EAClD,KAAK,EAAE,uBAAuB,CAAC,UAAU,EAAE,UAAU,CAAC,EACtD,CAAA,CAAA;EACJ,CAAC,CAAC;EAmCF,IAAM,iBAAiB,IAAA,EAAA,GAAA,EAAA;MACrB,EAAC,CAAAC,kCAAwB,IAAG,yBAAyB;MACrD,EAAC,CAAAmB,wCAA8B,IAAG,8BAA8B;MAChE,EAAC,CAAAlB,mCAAyB,IAAG,0BAA0B;MACvD,EAAC,CAAAG,+BAAqB,IAAG,sBAAsB;MAC/C,EAAC,CAAAC,yCAA+B,IAAG,+BAA+B;MAClE,EAAC,CAAAC,mCAAyB,IAAG,0BAA0B;MACvD,EAAC,CAAAC,sCAA4B,IAAG,4BAA4B;MAC5D,EAAC,CAAAG,0CAAgC,IAAG,gCAAgC;MACpE,EAAC,CAAAC,wCAA8B,IAAG,8BAA8B;MAChE,EAAC,CAAAT,4CAAkC,IAAG,iCAAiC;MACvE,EAAC,CAAAU,2CAAiC,IAAG,iCAAiC;MACtE,EAAC,CAAAG,uCAA6B,IAAG,6BAA6B;MAC9D,EAAC,CAAAC,qCAA2B,IAAG,uBAAuB;MACtD,EAAC,CAAAF,kCAAwB,IAAG,qBAAqB;MACjD,EAAC,CAAAG,+BAAqB,IAAG,sBAAsB;MAC/C,EAAC,CAAAI,+BAAqB,IAAG,sBAAsB;MAC/C,EAAC,CAAAH,gCAAsB,IAAG,uBAAuB;MACjD,EAAC,CAAAE,8CAAoC,IAAG,mCAAmC;MAC3E,EAAC,CAAAjB,6CAAmC,IAAG,+BAA+B;SACvE,CAAC;EAEF,IAAM,aAAa,IAAA,EAAA,GAAA,EAAA;MACjB,EAAC,CAAAK,6DAAmD,IAAG,qCAAqC;MAC5F,EAAC,CAAAC,yDAA+C,IAAG,iCAAiC;SACrF,CAAC;WAEc,sBAAsB,CAAC,UAAsB,EAAE,UAA0B,EAAE,YAAuB,EAAA;EAChH,IAAA,IAAI,UAAU,CAAC,IAAI,IAAI,iBAAiB,EAAE;UACxC,IAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAmC,CAAC,CAAC;EAClF,QAAA,OAAO,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;EACxC,KAAA;EAED,IAAA,IAAI,UAAU,CAAC,IAAI,IAAI,aAAa,EAAE;UACpC,IAAM,WAAW,GAAG,aAAa,CAAC,UAAU,CAAC,IAAuC,CAAC,CAAC;UACtF,OAAO,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;EAChE,KAAA;EAED,IAAA,OAAO,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;EAClD;;WClcgB,kBAAkB,CAAC,UAAsB,EAAE,UAA0B,EAAE,WAAqB,EAAA;MAC1G,OAAO,sBAAsB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;EACrE,CAAC;EAEe,SAAA,cAAc,CAAC,MAAc,EAAE,OAAiB,EAAA;MAC9D,IAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;EAClE,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAEe,SAAA,+BAA+B,CAAC,MAAc,EAAE,QAAwB,EAAA;MACtF,OAAO,uBAAuB,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;EACvE,CAAC;EAEK,SAAU,YAAY,CAAC,IAAkB,EAAE,UAA0B,EAAE,MAAmB,EAAE,OAAiB,EAAA;EACjH,IAAA,IAAM,MAAM,GAAW,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;EAC7E,IAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,EAAA,EAAA,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;EAC/B,CAAC;EAEK,SAAU,gBAAgB,CAC9B,MAAc,EACd,SAAiB,EACjB,WAAqB,EACrB,OAAiB,EAAA;;MAEjB,IAAM,MAAM,GAAsC,EAAE,CAAC;MACrD,IAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,aAAa,IAAK,OAAA,aAAa,CAAC,OAAO,KAAK,SAAS,CAAnC,EAAmC,CAAC,CAAC;EAC7F,IAAA,IAAI,OAAO,EAAE;kCACA,UAAU,EAAA;;cACnB,IAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,cAAc,IAAK,OAAA,cAAc,CAAC,QAAQ,KAAK,UAAU,CAAtC,EAAsC,CAAC,CAAC;EACrG,YAAA,IAAI,QAAQ,IAAIa,wCAA6B,CAAC,QAAQ,CAAC,EAAE;EACvD,gBAAA,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;;sBACxB,KAAoB,IAAA,oBAAA,QAAA,CAAA,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAhC,wBAAA,IAAM,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;EACd,wBAAA,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;EACzD,qBAAA;;;;;;;;;EACF,aAAA;;;EAPH,YAAA,KAAyB,IAAA,aAAA,GAAA,QAAA,CAAA,WAAW,CAAA,EAAA,eAAA,GAAA,aAAA,CAAA,IAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,eAAA,GAAA,aAAA,CAAA,IAAA,EAAA,EAAA;EAA/B,gBAAA,IAAM,UAAU,GAAA,eAAA,CAAA,KAAA,CAAA;0BAAV,UAAU,CAAA,CAAA;EAQpB,aAAA;;;;;;;;;EACF,KAAA;EACD,IAAA,OAAO,MAAM,CAAC;EAChB;;;;;;;;;;;ACfA,MAAA,cAAA,kBAAA,UAAA,MAAA,EAAA;MAAoC,SAA6C,CAAA,cAAA,EAAA,MAAA,CAAA,CAAA;EAC/E,IAAA,SAAA,cAAA,CAAY,MAAsG,EAAA;EAChH,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;MAED,cAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAwB,EAAA;EAC1C,QAAA,IAAI,QAAQ,CAAC,QAAQ,KAAK,mBAAmB,EAAE;EAC7C,YAAA,OAAO,2BAA2B,CAAC;EACpC,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;EAES,IAAA,cAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAe,EAAE,UAA0B,EAAA;UAC5D,IAAM,UAAU,GAAe,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;EAE5E,QAAA,IAAM,QAAQ,GAAoB;EAChC,YAAA,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC;cACzC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC;WAC5D,CAAC;EACF,QAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,UAAU,CAAE,EAAA,EAAA,QAAQ,EAAA,QAAA,EAAG,CAAA,CAAA;OACpC,CAAA;MAES,cAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAM,UAAU,GAAGC,+BAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC,CAAC;EACzH,QAAA,IAAM,aAAa,GAAGC,gBAAuC,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;UACjH,OAAO;cACL,EAAE,EAAE,MAAM,CAAC,EAAE;EACb,YAAA,MAAM,EAAEC,0BAAgB;EACxB,YAAA,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC;EACzC,YAAA,KAAK,EAAE,UAAU,CAAC,mBAAmB,CAAC;EACtC,YAAA,eAAe,EAAE,UAAU,CAAC,8BAA8B,CAAC;WAC5D,CAAC;OACH,CAAA;MAEO,cAA6B,CAAA,SAAA,CAAA,6BAAA,GAA7B,UAA8B,QAAkB,EAAA;UACtD,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CAACC,mCAAwB,CAAC,UAAU,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;EAClI,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,oBAAoB,EACpB,wCAAwC,EACxC,8BAA8B,EAC9B,gBAAgB,EAChB,QAAQ,CAAC,eAAe,CACzB,CACF,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAClD,CAAA;EAEO,IAAA,cAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,UAAwB,QAAkB,EAAE,UAA0B,EAAE,MAAkB,EAAA;UAA1F,IAYP,KAAA,GAAA,IAAA,CAAA;UAXC,IAAM,UAAU,GAAqB,EAAE,CAAC;UACxC,UAAU,CAAC,IAAI,CACbC,iCAAsB,CACpB,kBAAkB,EAClB,8BAA8B,EAC9B,mBAAmB,EACnB,IAAI,EACJ,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAAC,YAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAA3E,EAA2E,CAAC,GAAG,EAAE,CAChI,CACF,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACpD,CAAA;EAEO,IAAA,cAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,KAAe,EAAE,UAA0B,EAAA;EACtE,QAAA,IAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;UACpB,IAAI,OAAO,GAAGC,gBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAGC,gBAAa,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;EAChG,QAAA,IAAI,CAACD,gBAAS,CAAC,OAAO,CAAC,EAAE;cACvB,OAAO,GAAG,gBAAgB,CAAC;EAC5B,SAAA;UACD,IAAM,IAAI,GAAGJ,0BAAgB,CAAC;UAC9B,IAAM,WAAW,GAAG,aAAa,CAAC;UAClC,IAAM,SAAS,GAAG,WAAW,CAAC;EAC9B,QAAA,OAAO,EAAE,EAAE,EAAA,EAAA,EAAE,OAAO,SAAA,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;OACtD,CAAA;MACF,OAAA,cAAA,CAAA;EAAA,CA3ED,CAAoCM,eAA6C,CA2EhF;;EC5CK,SAAU,cAAc,CAAC,UAAsB,EAAA;MACnD,OAAO;EACL,QAAA,eAAe,EAAE,EAAE;UACnB,EAAE,EAAE,UAAU,CAAC,EAAE;UACjB,MAAM,EAAE,UAAU,CAAC,IAAI;EACvB,QAAA,KAAK,EAAE,EAAE;EACT,QAAA,KAAK,EAAE,EAAE;OACV,CAAC;EACJ,CAAC;EAEK,SAAU,gBAAgB,CAAC,UAAsB,EAAA;EACrD,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,UAAU,CAAA,EAAA,EAAE,QAAQ,EAAE,EAAE,EAAG,CAAA,CAAA;EACzC,CAAC;EAEK,SAAU,gBAAgB,CAAC,MAAkB,EAAA;EACjD,IAAA,OAAO,MAAM,CAAC,IAAI,KAAKN,0BAAgB,CAAC;EAC1C,CAAC;EAEK,SAAU,oBAAoB,CAAC,MAAkB,EAAA;MACrD,QAAQ,MAAM,CAAC,IAAI;EACjB,QAAA,KAAKzB,kCAAwB,CAAC;;EAE9B,QAAA,KAAKgC,mCAAyB,CAAC;EAC/B,QAAA,KAAK/B,mCAAyB,CAAC;EAC/B,QAAA,KAAKG,+BAAqB,CAAC;EAC3B,QAAA,KAAKC,yCAA+B,CAAC;EACrC,QAAA,KAAKC,mCAAyB,CAAC;EAC/B,QAAA,KAAKC,sCAA4B,CAAC;EAClC,QAAA,KAAK0B,2CAAiC,CAAC;EACvC,QAAA,KAAKzB,6DAAmD,CAAC;EACzD,QAAA,KAAKC,yDAA+C,CAAC;EACrD,QAAA,KAAKyB,uCAA6B,CAAC;EACnC,QAAA,KAAKC,+CAAqC,CAAC;EAC3C,QAAA,KAAKzB,0CAAgC,CAAC;;EAEtC,QAAA,KAAKR,4CAAkC,CAAC;EACxC,QAAA,KAAKU,2CAAiC,CAAC;EACvC,QAAA,KAAKC,0CAAgC,CAAC;EACtC,QAAA,KAAKuB,qCAA2B,CAAC;EACjC,QAAA,KAAKrB,uCAA6B,CAAC;EACnC,QAAA,KAAKC,qCAA2B,CAAC;EACjC,QAAA,KAAKF,kCAAwB,CAAC;EAC9B,QAAA,KAAKG,+BAAqB,CAAC;EAC3B,QAAA,KAAKI,+BAAqB,CAAC;EAC3B,QAAA,KAAKH,gCAAsB,CAAC;EAC5B,QAAA,KAAKE,8CAAoC,CAAC;EAC1C,QAAA,KAAKjB,6CAAmC;EACtC,YAAA,OAAO,IAAI,CAAC;EACd,QAAA;EACE,YAAA,OAAO,KAAK,CAAC;EAChB,KAAA;EACH,CAAC;EAEK,SAAU,cAAc,CAAC,SAAkB,EAAA;EAC/C,IAAA,QACEkC,uCAA6B,CAAC,SAAS,CAAC;;UAExCC,wCAA8B,CAAC,SAAS,CAAC;UACzCC,wCAA8B,CAAC,SAAS,CAAC;UACzCC,oCAA0B,CAAC,SAAS,CAAC;UACrCC,6CAAmC,CAAC,SAAS,CAAC;UAC9CC,wCAA8B,CAAC,SAAS,CAAC;UACzCC,0CAAgC,CAAC,SAAS,CAAC;UAC3CC,+CAAqC,CAAC,SAAS,CAAC;UAChDC,gEAAsD,CAAC,SAAS,CAAC;UACjEC,4DAAkD,CAAC,SAAS,CAAC;UAC7DC,2CAAiC,CAAC,SAAS,CAAC;UAC5CC,kDAAwC,CAAC,SAAS,CAAC;UACnDC,8CAAoC,CAAC,SAAS,CAAC;;UAE/CC,2CAAiC,CAAC,SAAS,CAAC;UAC5CC,+CAAqC,CAAC,SAAS,CAAC;UAChDC,0CAAgC,CAAC,SAAS,CAAC;UAC3CC,yCAA+B,CAAC,SAAS,CAAC;UAC1CC,2CAAiC,CAAC,SAAS,CAAC;UAC5CC,yCAA+B,CAAC,SAAS,CAAC;UAC1CC,uCAA6B,CAAC,SAAS,CAAC;UACxCC,oCAA0B,CAAC,SAAS,CAAC;UACrCC,oCAA0B,CAAC,SAAS,CAAC;UACrCC,qCAA2B,CAAC,SAAS,CAAC;UACtCC,iDAAuC,CAAC,SAAS,CAAC;EAClD,QAAAC,4CAAkC,CAAC,SAAS,CAAC,EAC7C;EACJ,CAAC;EAEe,SAAA,2BAA2B,CAAC,MAAc,EAAE,QAAwB,EAAA;MAClF,OAAO,2BAA2B,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;EAC3E,CAAC;WAEe,gBAAgB,CAAC,QAAkB,EAAE,UAA0B,EAAE,OAAiB,EAAA;EAChG,IAAA,OAAO,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAA,UAAA,EAAE,OAAO,EAAA,OAAA,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;EAClF,CAAC;EAEe,SAAA,UAAU,CAAC,MAAc,EAAE,OAAiB,EAAA;EAC1D,IAAA,OAAO,IAAI,cAAc,CAAC,EAAE,MAAM,EAAA,MAAA,EAAE,OAAO,EAAA,OAAA,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;EAC5D,CAAC;EAED,SAAS,2BAA2B,CAAC,MAAc,EAAA;MACjD,OAAO,IAAI,cAAc,CAAC,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;EACxC,CAAC;EAEK,SAAU,OAAO,CAAC,UAAgC,EAAE,GAAW,EAAE,IAAa,EAAE,UAA0B,EAAE,QAAa,EAAA;EAAb,IAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAa,GAAA,EAAA,CAAA,EAAA;;MAC7H,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,EAAA,UAAA,EAAE,GAAG,EAAA,GAAA,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,CAAC,CAAC;EACzE,IAAA,IAAIhC,gBAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;EACxD,QAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EACxB,QAAA,IAAI,IAAI,EAAE;EACR,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACrB,YAAA,OAAO,CAAA,EAAA,GAAAC,gBAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE,CAAC;EAC/D,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACzB,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;EACxB,SAAA;EACF,KAAA;EAAM,SAAA;EACL,QAAA,OAAO,QAAQ,CAAC;EACjB,KAAA;EACH;;;;;;;;;;;;;;;ACzKO,MAAM,8CAA8C,GAAG,2BAA2B;EAEzF;;;;;;;EAOG;EACa,SAAA,yBAAyB,CAAC,UAAkB,EAAE,cAAoC,EAAA;;EAEhG,IAAA,OAAO,UAAC,OAAwB,EAAA;;UAC9B,IAAM,wBAAwB,GAAyC,cAAc,CAAC,4BAA4B,EAAE,CAAC,UAAU,CAAC,CAAC;EACjI,QAAA,OAAO,wBAAwB;iBAC5B,EAAA,GAAA,EAAA,EAAG,EAAC,CAAA,8CAA8C,CAAG,GAAA,wBAAwB,CAAC,iBAAiB,EAChG,EAAA,IAAE,IAAI,CAAC;EACX,KAAC,CAAC;EACJ;;EChBA;;;;EAIG;AAEH,MAAA,8CAAA,kBAAA,UAAA,MAAA,EAAA;MAAoE,SAAiB,CAAA,8CAAA,EAAA,MAAA,CAAA,CAAA;EAArF,IAAA,SAAA,8CAAA,GAAA;;;EACW,IAAA,8CAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,OAA2B,EAAE,IAAwC,EAAA;UACzF,IAAM,wBAAwB,GAAGgC,YAAK,CAAC,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,MAAM,EAAE,8CAA8C,CAAC,CAAC;UACxG,OAAO,wBAAwB,IAAI,MAAM,CAAA,SAAA,CAAA,YAAY,YAAC,OAAO,EAAE,IAAI,CAAC,CAAC;OACtE,CAAA;;GAJH,CAAoEC,oBAAiB;oKAAxE,8CAA8C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAC,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAA9C,8CAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,8CAA8C,cADjC,MAAM,EAAA,CAAA,CAAA;oHACnB,8CAA8C,EAAA,UAAA,EAAA,CAAA;oBAD1DC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ECqClC;EACA,IAAM,mBAAmB,GAAG,iBAAiB,CAAC;EAC9C;EACA,IAAM,gBAAgB,GAAG,8BAA8B,CAAC;EACxD;EACA,IAAM,OAAO,GAAG,SAAS,CAAC;EAC1B;EACA,IAAM,WAAW,GAAG,kBAAkB,CAAC;EAEvC;EAEA;;;;;EAKG;EACG,SAAU,kBAAkB,CAChC,QAAkD,EAClD,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IAAM,IAAI,GAAuC,EAAE,CAAC;;UAEpD,KAAmB,IAAA,KAAA,QAAA,CAAA,QAAQ,CAAC,KAAK,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA9B,YAAA,IAAM,IAAI,GAAA,EAAA,CAAA,KAAA,CAAA;EACb,YAAA,IAAM,OAAO,GAAG,+BAA+B,CAC7C,IAA6B,EAC7B,cAAc,EACd,yBAAyB,EACzB,sBAAsB,CACvB,CAAC;EACF,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;EACjC,aAAA;EACF,SAAA;;;;;;;;;EACD,IAAA,IAAM,QAAQ,GAAGC,gBAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC;MAC7D,IAAM,KAAK,GAAG,QAAQ,GAAG,IAAIC,YAAS,CAAC,IAAI,EAAEC,aAAU,CAAC,QAAQ,CAAC,GAAG,IAAID,YAAS,CAAC,IAAI,CAAC,CAAC;EACxF,IAAA,IAAI,UAAU,IAAI,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE;EAC/C,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;;EAMG;EACa,SAAA,iBAAiB,CAAC,QAA+B,EAAE,cAAoC,EAAA;;EACrG,IAAA,IAAM,UAAU,GAAG,IAAI,KAAK,CAAc,yBAAyB,CAAC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;MAC1G,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,UAAU,CAAC,IAAI,CAACC,aAAU,CAAC,QAAQ,CAAC,CAAC;EACtC,KAAA;MACD,QAAQ,QAAQ,CAAC,MAAM;UACrB,KAAKC,0BAAgB,EAAE;cACrB,IAAM,cAAY,GAAG,QAAwB,CAAC;EAC9C,YAAA,IAAM,OAAK,GAAG,cAAY,CAAC,KAAK,IAAI,EAAE,CAAC;cACvC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAY,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC,KAAK,EAAE,cAAY,CAAC,aAAa,CAAC,CAAC,CAAC;EACtI,YAAA,IAAM,GAAG,GAAG,IAAIC,YAAS,CACvB,cAAY,CAAC,OAAO,CAAC,GAAG,CACtB,UAAC,CAAC,IACA,OAAA,IAAIC,cAAW,CAAC;kBACd,KAAK,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAjB,EAAiB,CAAC;kBACzD,QAAQ,EAAE,cAAY,CAAC,QAAQ;eAChC,CAAC,CAAA,EAAA,CACL,EACDH,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAC/B,CAAC;EACF,YAAA,OAAO,GAAG,CAAC;EACZ,SAAA;EACD,QAAA,KAAKI,gCAAsB,CAAC;UAC5B,KAAKC,qCAA2B,EAAE;cAChC,IAAM,IAAI,GAAG,QAAqD,CAAC;EACnE,YAAA,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;EACvC,YAAA,IAAIC,2BAAiB,CAAC,IAAI,CAAC,EAAE;EAC3B,gBAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;EACvC,aAAA;cACD,IAAI,IAAI,CAAC,YAAY,EAAE;EACrB,gBAAA,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;EAC1C,aAAA;EACD,YAAA,IAAI,CAACC,wBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EACrC,gBAAA,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACtD,aAAA;EACD,YAAA,IAAI,CAACA,wBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;EACrC,gBAAA,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACtD,aAAA;cACD,MAAM;EACP,SAAA;EACD,QAAA,KAAKC,kCAAwB,CAAC;UAC9B,KAAKC,8BAAoB,EAAE;cACzB,IAAM,eAAe,GAAG,QAAiD,CAAC;EAC1E,YAAA,UAAU,CAAC,IAAI,CAAf,KAAA,CAAA,UAAU,EAAS,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC,CAAE,CAAA,CAAA,CAAA;EACnF,YAAA,UAAU,CAAC,IAAI,CAAf,KAAA,CAAA,UAAU,EAAS,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,YAAY,CAAC,CAAE,CAAA,CAAA,CAAA;cACnF,MAAM;EACP,SAAA;EACD,QAAA,KAAKC,uCAA6B,CAAC;UACnC,KAAKC,mCAAyB,EAAE;cAC9B,IAAM,QAAQ,GAAG,QAAmF,CAAC;EACrG,YAAA,IAAM,KAAK,GAAG,IAAIZ,YAAS,CAAC,EAAE,EAAEC,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;;kBAChE,KAAuB,IAAA,KAAA,QAAA,CAAA,QAAQ,CAAC,YAAY,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAzC,oBAAA,IAAM,QAAQ,GAAA,EAAA,CAAA,KAAA,CAAA;;EAEjB,oBAAA,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAIG,cAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC5D,iBAAA;;;;;;;;;cACD,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,gBAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,aAAA;EACD,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;EACD,QAAA;cACE,MAAM;EACT,KAAA;MACD,OAAO,IAAIA,cAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAEH,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;EACnH,CAAC;EAED;;;;;EAKG;EACG,SAAU,8BAA8B,CAC5C,QAA8C,EAC9C,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IAAM,QAAQ,GAAuC,EAAE,CAAC;EACxD,IAAA,KAAK,IAAM,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE;EACvC,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;cACpE,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAA0B,CAAC;EACpE,YAAA,IAAM,OAAO,GAAG,+BAA+B,CAAC,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;EAC5H,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;EACxC,aAAA;EACF,SAAA;EACF,KAAA;EAED,IAAA,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;MAC5E,IAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,GAAG,IAAID,YAAS,CAAC,QAAQ,EAAEC,aAAU,CAAC,QAAQ,CAAC,GAAG,IAAID,YAAS,CAAC,QAAQ,CAAC,CAAC;MACzG,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;EAKG;EACG,SAAU,kBAAkB,CAChC,IAAe,EACf,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IAAM,YAAY,GAAuC,EAAE,CAAC;;UAC5D,KAAkB,IAAA,KAAA,QAAA,CAAA,IAAI,CAAC,SAAS,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA7B,YAAA,IAAM,GAAG,GAAA,EAAA,CAAA,KAAA,CAAA;;kBACZ,KAAsB,IAAA,oBAAA,QAAA,CAAA,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CAAA,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA/C,oBAAA,IAAM,OAAO,GAAA,EAAA,CAAA,KAAA,CAAA;EAChB,oBAAA,IAAM,OAAO,GAAG,+BAA+B,CAC7C,OAAgC,EAChC,cAAc,EACd,yBAAyB,EACzB,sBAAsB,CACvB,CAAC;EACF,oBAAA,IAAI,OAAO,EAAE;EACX,wBAAA,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;EAC5C,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;;;;;;;;;MACD,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAIA,YAAS,CAAC,YAAY,EAAEC,aAAU,CAAC,QAAQ,CAAC,GAAG,IAAID,YAAS,CAAC,YAAY,CAAC,CAAC;MAC7G,IAAI,IAAI,CAAC,QAAQ,EAAE;EACjB,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;;EAMG;EACG,SAAU,+BAA+B,CAC7C,QAAyC,EACzC,cAAoC,EACpC,yBAAoE,EACpE,sBAAmE,EAAA;EADnE,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAGpE,IACED,gBAAM,CAAC,QAAQ,CAAC;UAChBc,2BAAiB,CAAC,QAAQ,CAAC;UAC3BC,0BAAgB,CAAC,QAAQ,CAAC;UAC1BC,mBAAS,CAAC,QAAQ,CAAC;UACnBC,6BAAmB,CAAC,QAAQ,CAAC,EAC7B;UACA,OAAO,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;EACxG,KAAA;EAAM,SAAA,IAAIC,qBAAW,CAAC,QAAQ,CAAC,EAAE;UAChC,OAAO,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,CAAC;EACxG,KAAA;WAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE;EAC1E,QAAA,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC;EACzC,KAAA;EAAM,SAAA,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE;EACvC,QAAA,OAAO,8BAA8B,CAAC,QAAgD,EAAE,cAAc,CAAC,CAAC;EACzG,KAAA;EAAM,SAAA,IAAIC,+BAAqB,CAAC,QAAQ,CAAC,EAAE;EAC1C,QAAA,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;EACrC,KAAA;EAAM,SAAA,IAAIC,gCAAsB,CAAC,QAAQ,CAAC,EAAE;EAC3C,QAAA,OAAO,6BAA6B,CAAC,QAAQ,CAAC,CAAC;EAChD,KAAA;EAAM,SAAA;EACL,QAAA,OAAO,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;EACpD,KAAA;EACH,CAAC;EAED;;;EAGG;EACG,SAAU,kBAAkB,CAAC,QAAqD,EAAA;EACtF,IAAA,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAC;MAC5C,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,UAAU,CAAC,IAAI,CAAClB,aAAU,CAAC,QAAQ,CAAC,CAAC;EACtC,KAAA;EACD,IAAA,IAAM,KAAK,GAAG,IAAID,YAAS,CACzB;EACE,QAAA,KAAK,EAAE,IAAII,cAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;EACpE,QAAA,GAAG,EAAE,IAAIA,cAAW,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC;EACjE,KAAA,EACDH,aAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAC/B,CAAC;MACF,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAEK,SAAU,6BAA6B,CAAC,QAAsC,EAAA;EAClF,IAAA,IAAM,UAAU,GAAG,IAAI,KAAK,EAAe,CAAC;MAC5C,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,UAAU,CAAC,IAAI,CAACA,aAAU,CAAC,QAAQ,CAAC,CAAC;EACtC,KAAA;MAED,IAAI,SAAS,GAAG,IAAIG,cAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;MACtF,IAAI,QAAQ,GAAG,IAAIG,cAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;MACrF,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE;UAC1C,SAAS,GAAG,IAAIG,cAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;UACvG,QAAQ,GAAG,IAAIG,cAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;EAC1G,KAAA;EACD,IAAA,IAAM,UAAU,GAAG,IAAID,YAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;MAEzE,IAAI,OAAO,GAAG,IAAII,cAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;MACpF,IAAI,MAAM,GAAG,IAAIG,cAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;MACnF,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;UACxC,OAAO,GAAG,IAAIG,cAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;UACnG,MAAM,GAAG,IAAIG,cAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,GAAGH,aAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;EACtG,KAAA;EACD,IAAA,IAAM,QAAQ,GAAG,IAAID,YAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;EAEnE,IAAA,IAAM,KAAK,GAAG,IAAIA,YAAS,CAAC;EAC1B,QAAA,KAAK,EAAE,UAAU;EACjB,QAAA,GAAG,EAAE,QAAQ;EACd,KAAA,CAAC,CAAC;MACH,IAAI,QAAQ,CAAC,QAAQ,EAAE;EACrB,QAAA,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EACrD,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED;;;;;EAKG;EACH,SAAS,mBAAmB,CAAC,IAA6B,EAAE,KAAa,EAAA;MACvE,OAAO,CAACQ,wBAAiB,CAAC,KAAK,CAAC,GAAG,CAACP,aAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;EACpE,CAAC;EAED;EAEA;EAEA;;;;;;;;EAQG;EACG,SAAU,oBAAoB,CAClC,OAAiD,EACjD,WAAoC,EACpC,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAAA;EAN9B,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAQpE,OAAO,OAAO,CAAC,KAAK;WACjB,GAAG,CAAC,UAAC,IAAI,EACR,EAAA,OAAA,4BAA4B,CAC1B,IAAI,EACJ,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAC5B,aAAa,EACb,yBAAyB,EACzB,qBAAqB,EACrB,OAAO,CACR,CAPD,EAOC,CACF;WACA,MAAM,CAACvC,gBAAS,CAAC,CAAC;EACvB,CAAC;EAED;;;;;;EAMG;EACG,SAAU,qBAAqB,CACnC,IAAe,EACf,WAAoC,EACpC,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAAA;EAN9B,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;EAQpE,IAAA,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,GAAiB,EAAK,EAAA,wCACvD,GAAG,CAAA,EAAA,EACN,KAAK,EAAE,GAAG,CAAC,KAAK;eACb,MAAM,CAACA,gBAAS,CAAC;eACjB,GAAG,CAAC,UAAC,QAAQ,EAAA;EACZ,YAAA,OAAO,4BAA4B,CACjC,QAAQ,EACR,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAChC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACJ,SAAC,CAAC;eACD,MAAM,CAACA,gBAAS,CAAC,EAAA,CAAA,EACpB,EAAA,CAAC,CAAC;MACJ,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,IAAI,CAAA,EAAA,EAAE,SAAS,EAAA,SAAA,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,EAAG,CAAA,CAAA;EAC5E,CAAC;EAED;;;;;;;;EAQG;EACH,SAAS,4BAA4B,CACnC,QAAkB,EAClB,WAAoB,EACpB,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAC9B,MAAiD,EAAA;EAPjD,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;EASpE,IAAA,IAAIqD,mBAAS,CAAC,QAAQ,CAAC,IAAIC,6BAAmB,CAAC,QAAQ,CAAC,IAAIF,0BAAgB,CAAC,QAAQ,CAAC,EAAE;EACtF,QAAA,IAAM,KAAK,GAAG,oBAAoB,CAChC,QAAQ,EACR,WAAsC,EACtC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;UACF,OAAO,MAAK,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAE,EAAA,EAAA,KAAK,EAAA,KAAA,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAoC,CAAC;EACjH,KAAA;EAAM,SAAA,IAAIG,qBAAW,CAAC,QAAQ,CAAC,EAAE;EAChC,QAAA,OAAO,qBAAqB,CAC1B,QAAQ,EACR,WAAsC,EACtC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACH,KAAA;WAAM,IAAI,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE;UACzE,OAAO,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;EAC5E,KAAA;EAAM,SAAA,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE;EACvC,QAAA,OAAO,0BAA0B,CAC/B,QAAgD,EAChD,WAAsC,EACtC,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACH,KAAA;WAAM,IAAIC,+BAAqB,CAAC,QAAQ,CAAC,IAAIC,gCAAsB,CAAC,QAAQ,CAAC,EAAE;EAC9E,QAAA,IAAM,KAAK,GAAGC,aAAM,CAAgC,WAAW,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;EAC1G,QAAA,IAAM,GAAG,GAAGA,aAAM,CAA8B,WAAW,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,SAAS,CAAC;EAClG,QAAA,OAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAK,QAAQ,CAAE,EAAA,EAAA,KAAK,EAAE,EAAE,KAAK,EAAA,KAAA,EAAE,GAAG,EAAA,GAAA,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,GAE1F,CAAC;EACH,KAAA;EAAM,SAAA;EACL,QAAA,OAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACF,QAAQ,CACX,EAAA,EAAA,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,EAC3C,QAAQ,EAAE,WAAW,CAAC,QAAiC,EAAE,aAAa,CAAC,EAAA,CAC5D,CAAC;EACf,KAAA;EACH,CAAC;EAED;;;;;EAKG;EACH,SAAS,aAAa,CAAC,QAAkB,EAAE,WAAoB,EAAA;EAC7D,IAAA,IAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;MAChD,QAAQ,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,WAAW,EAAE;;EAE3B,QAAA,KAAK,UAAU;EACb,YAAA,OAAO,CAAC,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,GAAI,WAAsB,CAAC,WAAW,EAAE,GAAI,WAAsB,CAAC;EAC5H,QAAA,KAAK,cAAc;EACjB,YAAA,IAAI,CAACZ,wBAAiB,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;kBACjE,IAAM,KAAG,GAAG,WAA6B,CAAC;EAC1C,gBAAA,OAAQ,QAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,CAAC,CAAC,KAAG,CAAC,KAAK,CAAC,CAAZ,EAAY,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,CAAX,EAAW,CAAC,CAAC;EACtG,aAAA;EACD,YAAA,OAAO,EAAE,CAAC;EACZ,QAAA,KAAK,sCAAsC,CAAC;UAC5C,KAAK,kCAAkC,EAAE;cACvC,IAAM,SAAS,GACb,CAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,WAAW,EAAE,MAAK,sCAAsC;oBAC3D,QAAiD,CAAC,YAAY;EACjE,kBAAG,QAA6C,CAAC,YAAY,CAAC;cAElE,IAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,KAAgC,EAAE,QAAQ,EAAA;kBACxE,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,QAAQ,IAAI,WAAW,EAAE;EAC7E,oBAAA,IAAM,KAAK,GAAI,WAAuC,CAAC,QAAQ,CAAC,CAAC;EACjE,oBAAA,IAAI,KAAK,EAAE;EACT,wBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;EAC3D,qBAAA;EACF,iBAAA;EACD,gBAAA,OAAO,KAAK,CAAC;eACd,EAAE,EAAE,CAAC,CAAC;EACP,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;EACD,QAAA;EACE,YAAA,OAAO,WAAW,CAAC;EACtB,KAAA;EACH,CAAC;EAED,SAAS,0BAA0B,CACjC,QAA8C,EAC9C,WAAoC,EACpC,aAAgD,EAChD,yBAAoE,EACpE,qBAK8B,EAAA;EAN9B,IAAA,IAAA,yBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,yBAAA,GAAA,YAAA,EAA+D,OAAA,KAAK,GAAA,CAAA,EAAA;MAQpE,IAAM,aAAa,GAA4B,EAAE,CAAC;EAClD,IAAA,KAAK,IAAM,EAAE,IAAI,QAAQ,CAAC,aAAa,EAAE;EACvC,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;cACpE,IAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;cAC3C,aAAa,CAAC,EAAE,CAAC,GAAG,4BAA4B,CAC9C,OAAO,EACP,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAC/B,aAAa,EACb,yBAAyB,EACzB,qBAAqB,CACtB,CAAC;EACH,SAAA;EACF,KAAA;EACD,IAAA,OAAO,MACF,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CACX,EAAA,EAAA,aAAa,EAAA,aAAA,EACb,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAChE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAA,CACP,CAAC;EAC5C,CAAC;EAED;EAEA;;;EAGG;EACG,SAAU,kBAAkB,CAAC,QAAiB,EAAA;MAClD,QACEY,aAAM,CAEH,QAAQ,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAC/E;EACJ,CAAC;EAED;;;;EAIG;EACH,SAAS,sBAAsB,CAAC,SAAwB,EAAE,KAAS,EAAA;EAAT,IAAA,IAAA,KAAA,KAAA,KAAA,CAAA,EAAA,EAAA,KAAS,GAAA,CAAA,CAAA,EAAA;EACjE,IAAA,OAAO,UAAC,OAAwB,EAAA;UAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;EACtB,QAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;cACxB,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,KAAK,CAAP,EAAO,CAAC,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,IAAI,EAAA,EAAK,QAAC,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,EAAC,EAAA,EAAE,CAAC,CAAC,CAAC;EAChH,SAAA;EAED,QAAA,QAAQ,SAAS;EACf,YAAA,KAAK,KAAK;kBACR,OAAO,aAAa,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,SAAS,6FAAA,kBAAmB,EAAK,EAAE,CAAP,CAAA,CAAA,EAAA,KAAK,CAAE,EAAE,CAAC;EAC9F,YAAA,KAAK,KAAK;kBACR,OAAO,aAAa,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,SAAS,iGAAA,sBAAuB,EAAK,EAAE,CAAP,CAAA,CAAA,EAAA,KAAK,CAAE,EAAE,CAAC;EACnG,SAAA;EACH,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,WAAW,CAAC,OAAwB,EAAA;EAC3C,IAAA,OAAOA,aAAM,CAAY,OAAO,EAAE,UAAU,CAAC,CAAC;EAChD,CAAC;EAED,SAAS,WAAW,CAAC,IAAqB,EAAE,aAAwC,EAAA;MAClF,IAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAChD,IAAA,OAAOZ,wBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;EAChE,CAAC;EAED,SAAS,kBAAkB,GAAA;EACzB,IAAA,OAAO,UAAC,OAAwB,EAAA;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;UAED,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;EACxE,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,mBAAmB,GAAA;EAC1B,IAAA,OAAO,UAAC,OAAwB,EAAA;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;EACD,QAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;EACrH,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,qBAAqB,GAAA;EAC5B,IAAA,OAAO,UAAC,OAAwB,EAAA;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;UACD,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;EACjE,KAAC,CAAC;EACJ,CAAC;EAED;;;;;EAKG;EACH,SAAS,aAAa,CAAC,IAAmB,EAAE,KAAa,EAAA;EACvD,IAAA,OAAO,UAAC,OAAwB,EAAA;;EAC9B,QAAA,IAAIA,wBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACpE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;UACD,IAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;UACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;iBACrE,EAAA,GAAA,EAAA;EACG,gBAAA,EAAA,CAAC,IAAI,CAAA,IAAA,EAAA,GAAA,EAAA;sBACH,EAAC,CAAA,IAAI,IAAG,KAAK;sBACb,EAAM,CAAA,MAAA,GAAE,OAAO,CAAC,KAAK;EACtB,oBAAA,EAAA,CAAA;wBAEH,IAAI,CAAC;EACX,KAAC,CAAC;EACJ,CAAC;EAED,SAAS,aAAa,CAAC,KAAc,EAAA;MACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;EACpD,CAAC;;;;;;;;;;;;;;;;;AChoBM,MAAM,gBAAgB,GAAG,uCAAuC;AAE1D,MAAA,uBAAuB,GAAGa,kBAAO,CAAC,sBAAsB,EAAE;MACrEC,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;EACjF,IAAAD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;MACrHC,qBAAU,CAAC,SAAS,EAAE,CAACC,kBAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;EACnD,CAAA;;WCOe,iCAAiC,CAC/C,QAAgB,EAChB,MAAe,EACf,KAAqB,EAAA;;EAErB,IAAA,IAAM,gBAAgB,GAAsB,uBAAuB,CAAC,KAAK,CAAC,CAAC;MAC3E,IAAI,cAAc,GAAwC,SAAS,CAAC;MACpE,IAAI,YAAY,GAAW,EAAE,CAAC;;EAC9B,QAAA,KAA8B,IAAA,kBAAA,GAAA,QAAA,CAAA,gBAAgB,CAAA,kDAAA,EAAE,CAAA,oBAAA,CAAA,IAAA,EAAA,oBAAA,GAAA,kBAAA,CAAA,IAAA,EAAA,EAAA;EAA3C,YAAA,IAAM,eAAe,GAAA,oBAAA,CAAA,KAAA,CAAA;EACxB,YAAA,IAAI,CAAC/D,gBAAS,CAAC,cAAc,CAAC,EAAE;kBAC9B,IAAI,OAAO,GAA8B,EAAE,CAAC;kBAC5C,IACEU,wCAA8B,CAAC,eAAe,CAAC;sBAC/CG,wCAA8B,CAAC,eAAe,CAAC;sBAC/CO,8CAAoC,CAAC,eAAe,CAAC,EACrD;EACA,oBAAA,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;EACnC,iBAAA;EAAM,qBAAA,IAAIZ,uCAA6B,CAAC,eAAe,CAAC,EAAE;EACzD,oBAAA,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;EACtC,iBAAA;;EACD,oBAAA,KAAqB,IAAA,SAAA,IAAA,GAAA,GAAA,KAAA,CAAA,EAAA,QAAA,CAAA,OAAO,CAAA,CAAA,gCAAA,EAAE,CAAA,WAAA,CAAA,IAAA,EAAA,WAAA,GAAA,SAAA,CAAA,IAAA,EAAA,EAAA;EAAzB,wBAAA,IAAM,MAAM,GAAA,WAAA,CAAA,KAAA,CAAA;EACf,wBAAA,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE;8BACjC,cAAc,GAAG,MAAM,CAAC;EACxB,4BAAA,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC;8BAC1C,MAAM;EACP,yBAAA;EACF,qBAAA;;;;;;;;;EACF,aAAA;EACF,SAAA;;;;;;;;;MAED,OAAOR,gBAAS,CAAC,cAAc,CAAC,GAAG,EAAE,gBAAgB,EAAA,gBAAA,EAAE,MAAM,QAAA,EAAE,YAAY,EAAA,YAAA,EAAE,cAAc,EAAA,cAAA,EAAE,GAAG,SAAS,CAAC;EAC5G,CAAC;EAED;;;;EAIG;EACG,SAAU,uBAAuB,CAAC,KAAqB,EAAA;;MAC3D,IAAI,gBAAgB,GAAsB,EAAE,CAAC;;EAC7C,QAAA,KAA2B,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;EAA7B,YAAA,IAAM,YAAY,GAAA,SAAA,CAAA,KAAA,CAAA;EACrB,YAAA,IAAI0B,yCAA+B,CAAC,YAAY,CAAC,EAAE;EACjD,gBAAA,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;kBACpC,gBAAgB,GAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAO,gBAAgB,CAAA,CAAA,EAAA,MAAA,CAAK,uBAAuB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;EAC1F,aAAA;EAAM,iBAAA,IAAIC,uCAA6B,CAAC,YAAY,CAAC,EAAE;EACtD,gBAAA,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;kBACpC,gBAAgB,GAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAO,gBAAgB,CAAA,CAAA,EAAA,MAAA,CAAK,uBAAuB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;EAC1F,aAAA;EAAM,iBAAA;;kBAEL,IAAM,eAAe,GAAG,YAA0C,CAAC;EACnE,gBAAA,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;EACxC,aAAA;EACF,SAAA;;;;;;;;;EACD,IAAA,OAAO,gBAAgB,CAAC;EAC1B,CAAC;WAEe,mBAAmB,CAAC,QAAgB,EAAE,MAAe,EAAE,KAAqB,EAAA;;MAC1F,IAAM,8BAA8B,GAAG,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;MAClG,IAAI,CAAC,8BAA8B,EAAE;UACnC,OAAO;EACR,KAAA;EAED;;;;;;;;;;;;;EAaG;EACH,IAAA,IAAM,cAAc,GAA4B,8BAA8B,CAAC,cAAc,CAAC;EAC9F,IAAA,IAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,MAAM;EACJ,UAAE3B,gBAAS,CAAC,cAAc,CAAC,YAAY,CAAC;gBACpC,cAAc,CAAC,YAAY;EAC7B,cAAE,EAAE;EACN,UAAEA,gBAAS,CAAC,cAAc,CAAC,aAAa,CAAC;gBACvC,cAAc,CAAC,aAAa;gBAC5B,EAAE,CACP,CAAC;;UACF,KAA8B,IAAA,KAAA,QAAA,CAAA,8BAA8B,CAAC,gBAAgB,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA1E,YAAA,IAAM,eAAe,GAAA,EAAA,CAAA,KAAA,CAAA;cACxB,IAAI,cAAc,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE;kBAClD,iBAAiB,CAAC,eAAe,EAAE,8BAA8B,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;EACzF,aAAA;mBAAM,IAAI,YAAY,CAAC,eAAe,EAAE,8BAA8B,CAAC,YAAY,CAAC,EAAE;EACrF,gBAAA,mBAAmB,CAAC,eAAe,EAAE,8BAA8B,CAAC,YAAY,CAAC,CAAC;EACnF,aAAA;EACF,SAAA;;;;;;;;;EACH,CAAC;EAEe,SAAA,YAAY,CAAC,eAAgC,EAAE,YAAoB,EAAA;EACjF,IAAA,QACEA,gBAAS,CAAC,eAAe,CAAC,SAAS,CAAC;EACpC,QAAAA,gBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC;UAC5C,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EACxD;EACJ,CAAC;WAEe,iBAAiB,CAAC,WAA4B,EAAE,MAAc,EAAE,MAAe,EAAA;EAC7F,IAAA,IAAI,CAACA,gBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;EACrC,QAAA,WAAW,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;EACxE,KAAA;;EAED,IAAA,IAAM,SAAS,GAAc,WAAW,CAAC,SAAS,CAAC;EACnD,IAAA,WAAW,CAAC,QAAQ,GAAG,MAAM,CAAC;MAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EACvC,QAAA,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAChC,KAAA;EACD,IAAA,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC;EAClC,CAAC;EAEe,SAAA,mBAAmB,CAAC,WAA4B,EAAE,MAAc,EAAA;EAC9E,IAAA,IAAI,CAACA,gBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;UACrC,OAAO;EACR,KAAA;MACD,IAAM,OAAO,GAAGA,gBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;MAC9F,IAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EACtC,IAAA,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;EAChB,QAAA,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EAC1B,KAAA;EACD,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;EACtB,QAAA,WAAW,CAAC,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;EACzC,KAAA;EAAM,SAAA;EACL,QAAA,WAAW,CAAC,SAAS,GAAG,SAAS,CAAC;EAClC,QAAA,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;EACjC,QAAA,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;EAC9B,KAAA;EACH;;EC/IA;EACM,SAAU,WAAW,CAAC,SAAkB,EAAA;EAC5C,IAAA,OAAOgE,eAAQ,CAAC,SAAS,CAAC,IAAIN,aAAM,CAAY,SAAS,EAAE,UAAU,CAAC,IAAIM,eAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;EACzG;;ECHA;;;;;;;;EAQG;EACa,SAAA,eAAe,CAAC,IAAY,EAAE,KAAgB,EAAA;EAC5D,IAAA,KAAK,IAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE;EAChC,QAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;cAC7D,IAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;cACpC,IAAI,GAAG,KAAK,IAAI,EAAE;EAChB,gBAAA,OAAO,OAAO,CAAC;EAChB,aAAA;;EAGD,YAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;kBACxB,IAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;EAC7C,gBAAA,IAAI,KAAK,EAAE;EACT,oBAAA,OAAO,KAAK,CAAC;EACd,iBAAA;EACF,aAAA;EACF,SAAA;EACF,KAAA;EACD,IAAA,OAAO,IAAI,CAAC;EACd;;EC5BA;;;;;;;EAOG;EACa,SAAA,YAAY,CAAC,UAAkB,EAAE,KAA2B,EAAA;;;UAC1E,KAAmB,IAAA,KAAA,QAAA,CAAA,KAAK,CAAC,KAAK,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA3B,YAAA,IAAM,IAAI,GAAA,EAAA,CAAA,KAAA,CAAA;EACb,YAAA,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE;EAClC,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;;EAGD,YAAA,IAAIN,aAAM,CAAgB,IAAI,EAAE,OAAO,CAAC,EAAE;kBACxC,IAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;EAC7C,gBAAA,IAAI,KAAK,EAAE;EACT,oBAAA,OAAO,KAAK,CAAC;EACd,iBAAA;EACF,aAAA;EACF,SAAA;;;;;;;;;EACD,IAAA,OAAO,IAAI,CAAC;EACd;;MCxBa,0BAA0B,GAAG,IAAIO,iBAAc,CAAyB,4BAA4B;;ACiCjH,MAAA,kBAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAA;EAC1B,IAAA,SAAA,kBAAA,CAAY,MAAuD,EAAA;EACjE,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;MAED,kBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAwB,EAAA;EAC1C,QAAA,OAAO,EAAE,CAAC;OACX,CAAA;EAES,IAAA,kBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;EAC1E,QAAA,IAAM,QAAQ,GAAoB;EAChC,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;;WAE/B,CAAC;EACF,QAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAE,EAAA,EAAA,QAAQ,EAAA,QAAA,EAAE,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;OAC1E,CAAA;MAES,kBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,YAAY,GAAiB;cAC/B,MAAM,EAAE,MAAM,CAAC,IAAI;cACnB,UAAU,EAAE,MAAM,CAAC,EAAE;cACrB,aAAa,EAAE,MAAM,CAAC,EAAE;EACxB,YAAA,eAAe,EAAE,EAAE;EACnB,YAAA,IAAI,EAAE,EAAE;EACR,YAAA,YAAY,EAAE,EAAE;EAChB,YAAA,iBAAiB,EAAE,KAAK;EACxB,YAAA,gBAAgB,EAAE,KAAK;EACvB,YAAA,QAAQ,EAAE,KAAK;EACf,YAAA,6BAA6B,EAAE,KAAK;EACpC,YAAA,gBAAgB,EAAE,EAAE;WACrB,CAAC;EAEF,QAAA,IAAM,cAAc,GAAGvE,+BAAoB,CAAC,MAAM,EAAE,8BAA8B,EAAE;cAClF,uBAAuB;cACvB,0BAA0B;cAC1B,kBAAkB;cAClB,cAAc;cACd,4BAA4B;EAC7B,SAAA,CAAC,CAAC;EACH,QAAA,YAAY,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,YAAY,CAAK,EAAA,cAAc,CAAE,CAAC;EACtD,QAAA,OAAO,YAAiB,CAAC;OAC1B,CAAA;MAEO,kBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAAkB,EAAA;UAC3C,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CACbG,mCAAwB,CAAC,sBAAsB,EAAE,kCAAkC,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAC1H,CAAC;EAEF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,6BAA6B,EAC7B,yCAAyC,EACzC,uBAAuB,EACvB,aAAa,EACb,IAAI,CAAC,YAAY,CAClB,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,qBAAqB,EACrB,iCAAiC,EACjC,0BAA0B,EAC1B,gBAAgB,EAChB,IAAI,CAAC,eAAe,CACrB,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,yBAAyB,EACzB,qCAAqC,EACrC,kBAAkB,EAClB,SAAS,EACT,IAAI,CAAC,QAAQ,CACd,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,2BAA2B,EAC3B,uCAAuC,EACvC,4BAA4B,EAC5B,SAAS,EACT,IAAI,CAAC,iBAAiB,CACvB,CACF,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAChE,CAAA;;;;MAMS,kBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,MAAc,EAAA;;;EAGrC,QAAA,IAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;;UAElD,IAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;;UAE5D,IAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;EAC3D,QAAA,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;OACtB,CAAA;EAEO,IAAA,kBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,KAAmB,EAAE,UAA0B,EAAA;EACtE,QAAA,IAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;;UAE5B,IAAI,OAAO,GAAGG,gBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;EAClF,QAAA,IAAI,CAACA,gBAAS,CAAC,OAAO,CAAC,EAAE;cACvB,OAAO,GAAG,oBAAoB,CAAC;EAChC,SAAA;EACD,QAAA,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;UAC1B,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;UACtD,IAAM,SAAS,GAAG,WAAW,CAAC;EAC9B,QAAA,OAAO,EAAE,EAAE,EAAA,EAAA,EAAE,OAAO,SAAA,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;OACtD,CAAA;MACF,OAAA,kBAAA,CAAA;EAAA,CAtHD,CAGUE,eAAkB,CAmH3B;;AClHD,MAAA,oBAAA,kBAAA,UAAA,MAAA,EAAA;MAAsG,SAGrG,CAAA,oBAAA,EAAA,MAAA,CAAA,CAAA;EACC,IAAA,SAAA,oBAAA,CACE,MAUK,EAAA;EAEL,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;MAED,oBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAwB,EAAA;EAC1C,QAAA,OAAO,qCAAqC,CAAC;OAC9C,CAAA;EAES,IAAA,oBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC1E,IAAM,UAAU,GAAe,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;EAC1E,QAAA,IAAM,uBAAuB,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;UAC/F,IAAM,2BAA2B,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;EAC/E,QAAA,IAAM,QAAQ,GAAoB,CAAC,uBAAuB,EAAE,2BAA2B,CAAC,CAAC;UACzF,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,UAAU,CAAA,EAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;OAC5C,CAAA;MAES,oBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;;;EAE9B,QAAA,IAAM,oBAAoB,GAAGR,+BAAoB,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;EAEnG,QAAA,IAAM,MAAM,GAAoB;cAC9B,IAAI,EAAE,CAAA,EAAA,GAAA,oBAAoB,CAAC,cAAc,CAAC,mCAAI,EAAE;EAChD,YAAA,IAAI,EAAE,EAAE;EACR,YAAA,WAAW,EAAE,EAAE;cACf,EAAE,EAAE,MAAM,CAAC,EAAE;EACb,YAAA,KAAK,EAAE,SAAS;WACjB,CAAC;EAEI,QAAA,IAAA,EAAkC,GAAA,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,EAAjF,YAAY,GAAA,EAAA,CAAA,YAAA,EAAE,aAAa,mBAAsD,CAAC;EAE1F,QAAA,IAAM,kBAAkB,GAA0B;EAChD,YAAA,eAAe,EAAE,EAAa;EAC9B,YAAA,oBAAoB,EAAE,EAAE;EACxB,YAAA,SAAS,EAAE,EAAE;cACb,aAAa,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAM,aAAa,CAAC,CAAA;cACjC,YAAY,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAM,YAAY,CAAC,CAAA;EAC/B,YAAA,WAAW,EAAE,KAAK;cAClB,MAAM,EAAE,MACH,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACL;EACN,YAAA,QAAQ,EAAE,KAAK;EACf,YAAA,cAAc,EAAE,CAAC;EACjB,YAAA,WAAW,EAAE,KAAK;WACnB,CAAC;UAEF,IAAM,KAAK,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,kBAAkB,CAAE,CAAC;EACxC,QAAA,OAAO,KAAU,CAAC;OACnB,CAAA;MAEO,oBAA8B,CAAA,SAAA,CAAA,8BAAA,GAA9B,UAA+B,KAAQ,EAAA;EAC7C,QAAA,IAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;EAC3B,QAAA,IAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;UAClC,IAAM,IAAI,GAAG,QAAQ,CAAC;UACtB,IAAM,WAAW,GAAG,WAAW,CAAC;UAChC,IAAM,SAAS,GAAG,gBAAgB,CAAC;EACnC,QAAA,OAAO,EAAE,EAAE,EAAA,EAAA,EAAE,OAAO,SAAA,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;OACtD,CAAA;EAEO,IAAA,oBAAA,CAAA,SAAA,CAAA,0BAA0B,GAA1B,UAA2B,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC1F,IAAM,UAAU,GAAqB,EAAE,CAAC;UACxC,UAAU,CAAC,IAAI,CAACG,mCAAwB,CAAC,SAAS,EAAE,qBAAqB,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;EAEzH,QAAA,IAAM,wBAAwB,GAAqB,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EAC/G,QAAA,IAAI,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE;EACvC,YAAA,UAAU,CAAC,IAAI,CAAA,KAAA,CAAf,UAAU,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAS,wBAAwB,CAAE,CAAA,CAAA,CAAA;EAC9C,SAAA;;UAID,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACvD,CAAA;EAEO,IAAA,oBAAA,CAAA,SAAA,CAAA,2BAA2B,GAA3B,UAA4B,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC3F,IAAM,UAAU,GAAqB,EAAE,CAAC;UAExC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;EAC5D,YAAA,IAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;EAC1E,YAAA,UAAU,CAAC,IAAI,CACbC,iCAAsB,CACpB,mBAAmB,EACnB,+BAA+B,EAC/B,oBAAoB,EACpB,KAAK,EACLE,gBAAS,CAAC,YAAY,CAAC,GAAG,CAACD,YAAmC,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CACrH,CACF,CAAC;EACH,SAAA;EAED,QAAA,OAAO,UAAU,CAAC;OACnB,CAAA;MAEO,oBAA8B,CAAA,SAAA,CAAA,8BAAA,GAA9B,UAA+B,KAAQ,EAAA;UAC7C,IAAM,UAAU,GAAqB,EAAE,CAAC;UAExC,IAAM,iCAAiC,GAA2B,EAAE,CAAC;UACrE,IAAM,kCAAkC,GAA2B,EAAE,CAAC;UAEtE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;EACrD,YAAA,IAAM,YAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;EAChD,YAAA,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,aAAa,EAAA;EACvC,gBAAA,IAAIC,gBAAS,CAAC,YAAU,CAAC,aAAa,CAAC,CAAC,EAAE;sBACxC,iCAAiC,CAAC,IAAI,CAAC,YAAU,CAAC,aAAa,CAAC,CAAC,CAAC;EACnE,iBAAA;EACH,aAAC,CAAC,CAAC;EACH,YAAA,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,cAAc,EAAA;EACzC,gBAAA,IAAIA,gBAAS,CAAC,YAAU,CAAC,cAAc,CAAC,CAAC,EAAE;sBACzC,kCAAkC,CAAC,IAAI,CAAC,YAAU,CAAC,cAAc,CAAC,CAAC,CAAC;EACrE,iBAAA;EACH,aAAC,CAAC,CAAC;EACJ,SAAA;EAED,QAAA,UAAU,CAAC,IAAI,CACbkE,qCAA0B,CACxB,iBAAiB,EACjB,6BAA6B,EAC7B,yBAAyB,EACzB,iCAAiC,CAClC,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,qCAA0B,CACxB,kBAAkB,EAClB,8BAA8B,EAC9B,0BAA0B,EAC1B,kCAAkC,CACnC,CACF,CAAC;UAEF,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAC9D,CAAA;MAEO,oBAAoC,CAAA,SAAA,CAAA,oCAAA,GAApC,UAAqC,MAAc,EAAA;;;UACzD,IAAM,YAAY,GAAa,EAAE,CAAC;UAClC,IAAM,aAAa,GAAa,EAAE,CAAC;EACnC,QAAA,IAAM,uBAAuB,GAAGC,iCAAsB,CAAC,MAAM,EAAE,4BAA4B,EAAE;cAC3F,yBAAyB;cACzB,0BAA0B;EAC3B,SAAA,CAAC,CAAC;;EAEH,YAAA,KAA0B,IAAA,EAAA,GAAA,QAAA,CAAA,CAAA,EAAA,GAAA,uBAAuB,CAAC,yBAAyB,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA/E,gBAAA,IAAM,WAAW,GAAA,EAAA,CAAA,KAAA,CAAA;EACpB,gBAAA,IAAInE,gBAAS,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;EAC7B,oBAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;EACnC,iBAAA;EACF,aAAA;;;;;;;;;;EAED,YAAA,KAA2B,IAAA,EAAA,GAAA,QAAA,CAAA,CAAA,EAAA,GAAA,uBAAuB,CAAC,0BAA0B,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAjF,gBAAA,IAAM,YAAY,GAAA,EAAA,CAAA,KAAA,CAAA;EACrB,gBAAA,IAAIA,gBAAS,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;EAC9B,oBAAA,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;EACrC,iBAAA;EACF,aAAA;;;;;;;;;EAED,QAAA,OAAO,EAAE,YAAY,EAAA,YAAA,EAAE,aAAa,EAAA,aAAA,EAAE,CAAC;OACxC,CAAA;MAsBF,OAAA,oBAAA,CAAA;EAAA,CA9LD,CAAsGE,eAGrG,CA2LA;;;MClOY,oCAAoC,IAAAkE,IAAA,GAAA,EAAA;MAC/CA,IAAC,CAAAhG,mCAAyB,IAAG,0BAA0B;MACvDgG,IAAC,CAAA3F,mCAAyB,IAAG,0BAA0B;MACvD2F,IAAC,CAAAvF,0CAAgC,IAAG,gCAAgC;;;;MCHzD,+BAA+B,IAAA,EAAA,GAAA,EAAA;MAC1C,EAAC,CAAAV,kCAAwB,IAAG,yBAAyB;;;ECMjD,SAAU,wBAAwB,CAAC,UAAsB,EAAA;MAC7D,OAAO;EACL,QAAA,eAAe,EAAE,EAAa;EAC9B,QAAA,oBAAoB,EAAE,EAAE;EACxB,QAAA,SAAS,EAAE,EAAE;EACb,QAAA,aAAa,EAAE,EAAE;EACjB,QAAA,YAAY,EAAE,EAAE;EAChB,QAAA,WAAW,EAAE,KAAK;EAClB,QAAA,MAAM,EAAE;cACN,IAAI,EAAE,UAAU,CAAC,OAAO;EACxB,YAAA,IAAI,EAAE,EAAE;EACR,YAAA,WAAW,EAAE,EAAE;cACf,EAAE,EAAE,UAAU,CAAC,EAAE;EACjB,YAAA,KAAK,EAAE,SAAS;EACE,SAAA;EACpB,QAAA,QAAQ,EAAE,KAAK;EACf,QAAA,cAAc,EAAE,CAAC;EACjB,QAAA,WAAW,EAAE,KAAK;OACnB,CAAC;EACJ,CAAC;EAEe,SAAA,sBAAsB,CACpC,kBAAyC,EACzC,UAA0B,EAC1B,iBAA+C,EAC/C,UAAgD,EAChD,MAAmB,EACnB,OAAiB,EAAA;EAEjB,IAAA,IAAM,MAAM,GAAW,IAAI,oBAAoB,CAAC;EAC9C,QAAA,KAAK,EAAE,kBAAkB;EACzB,QAAA,UAAU,EAAA,UAAA;EACV,QAAA,OAAO,EAAA,OAAA;EACP,QAAA,YAAY,EAAE,EAAE,iBAAiB,mBAAA,EAAE,UAAU,YAAA,EAAE;OAChD,CAAC,CAAC,SAAS,EAAE,CAAC;EACf,IAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAE,EAAA,EAAA,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;EAC/B,CAAC;EAEe,SAAA,sBAAsB,CAA4B,MAAc,EAAE,OAAiB,EAAA;EACjG,IAAA,IAAM,kBAAkB,GAAG,IAAI,oBAAoB,CAAC;EAClD,QAAA,MAAM,EAAA,MAAA;EACN,QAAA,OAAO,EAAA,OAAA;OACR,CAAC,CAAC,QAAQ,EAAE,CAAC;EACd,IAAA,OAAO,kBAA2C,CAAC;EACrD,CAAC;EAEe,SAAA,iCAAiC,CAAC,MAAc,EAAE,QAAwB,EAAA;EACxF,IAAA,IAAM,gBAAgB,GAAG,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;EAC5F,IAAA,OAAO,gBAAgB,CAAC;EAC1B,CAAC;EAEK,SAAU,4BAA4B,CAAC,SAAkB,EAAA;MAC7D,QACEuF,aAAM,CAAsC,SAAS,EAAE,sBAAsB,EAAE,WAAW,EAAE,QAAQ,CAAC;EACrG,QAAA1D,gBAAS,CAAC,SAAS,CAAC,oBAAoB,CAAC;EACzC,QAAAA,gBAAS,CAAC,SAAS,CAAC,SAAS,CAAC;EAC9B,QAAAA,gBAAS,CAAC,SAAS,CAAC,MAAM,CAAC,EAC3B;EACJ,CAAC;EAED,SAAS,8BAA8B,CAAC,MAAc,EAAE,cAAsB,EAAE,WAAmB,EAAA;MACjG,IAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,cAAc,CAA5B,EAA4B,CAAC,CAAC;EAC1E,IAAA,IAAI,CAAC,OAAO;EAAE,QAAA,OAAO,EAAE,CAAC;MAExB,IAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAAP,wCAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAA,EAAA,CAAC,CAAC;EAEhH,IAAA,IAAI,QAAQ,IAAIA,wCAA6B,CAAC,QAAQ,CAAC,EAAE;UACvD,OAAO,QAAQ,CAAC,MAAM,CAAC;EACxB,KAAA;EAED,IAAA,OAAO,EAAE,CAAC;EACZ,CAAC;EAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,UAA4C,EAAA;MACpF,IAAM,cAAc,GAClB,UAAU,KAAK,iBAAiB,GAAG,oCAAoC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;EACtI,IAAA,IAAM,WAAW,GAAG,UAAU,KAAK,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;MAE5F,OAAO,8BAA8B,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;EAC7E,CAAC;EAED,SAAS,uBAAuB,CAAC,YAAoB,EAAA;MACnD,IAAM,OAAO,GAAG,8BAA8B,CAAC,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;EAC1G,IAAA,OAAOO,gBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;EACxD,CAAC;EAEK,SAAU,wBAAwB,CACtC,MAAc,EACd,UAA4C,EAC5C,gBAAqE,EACrE,OAAiB,EAAA;;MAKjB,IAAM,OAAO,GAA4B,EAAE,CAAC;MAC5C,IAAM,iBAAiB,GAAiC,EAAE,CAAC;MAE3D,IAAM,aAAa,GAAa,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;;EAErE,QAAA,KAA2B,IAAA,eAAA,GAAA,QAAA,CAAA,aAAa,CAAA,4CAAA,EAAE,CAAA,iBAAA,CAAA,IAAA,EAAA,iBAAA,GAAA,eAAA,CAAA,IAAA,EAAA,EAAA;EAArC,YAAA,IAAM,YAAY,GAAA,iBAAA,CAAA,KAAA,CAAA;cACrB,IAAM,cAAc,GAA0B,sBAAsB,CAAI,YAAY,EAAE,OAAO,CAAC,CAAC;EAC/F,YAAA,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;EAE7B,YAAA,IAAM,oBAAoB,GAAuB,uBAAuB,CAAC,YAAY,CAAC,CAAC;EAEvF,YAAA,IAAIA,gBAAS,CAAC,oBAAoB,CAAC,EAAE;kBACnC,IAAM,cAAc,GAAG,gBAAgB,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;kBACvE,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC;EAC9D,aAAA;EACF,SAAA;;;;;;;;;EAED,IAAA,OAAO,EAAE,OAAO,EAAA,OAAA,EAAE,iBAAiB,EAAA,iBAAA,EAAE,CAAC;EACxC;;AC9GA,MAAA,gBAAA,kBAAA,UAAA,MAAA,EAAA;MAIU,SAAwB,CAAA,gBAAA,EAAA,MAAA,CAAA,CAAA;EAChC,IAAA,SAAA,gBAAA,CAAY,MAAuD,EAAA;EACjE,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;MAED,gBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAwB,EAAA;UAC1C,OAAO,CAAC,qCAAqC,CAAC,CAAC;OAChD,CAAA;EAES,IAAA,gBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC1E,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,IAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;UAC5E,IAAM,QAAQ,0CAAwB,MAAM,CAAC,QAAQ,CAAE,CAAA,EAAA,CAAA,aAAa,EAAC,CAAC;UACtE,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,MAAM,CAAA,EAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;OACxC,CAAA;MAES,gBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;UAE5B,IAAA,EAAA,GAAiCqE,wBAA6C,CAClF,MAAM,EACN,YAAY,EACZC,cAAqC,EACrC,IAAI,CAAC,OAAO,CACb,EALO,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,iBAAiB,GAAA,EAAA,CAAA,iBAKjC,CAAC;EAEF,QAAA,IAAItE,gBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;EACzB,YAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAE,EAAA,EAAA,iBAAiB,EAAA,iBAAA,EAAE,MAAM,EAAO,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,CAAC;EACpE,SAAA;EAAM,aAAA;cACL,KAAK,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,KAAK,CAAE,EAAA,EAAA,iBAAiB,EAAA,iBAAA,EAAE,MAAM,EAAE,EAAE,EAAA,CAAE,CAAC;EACrD,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;EAEO,IAAA,gBAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,UAA+B,KAAQ,EAAE,UAA0B,EAAA;EACzE,QAAA,IAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;;UAE5B,IAAI,OAAO,GAAGA,gBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;EAClF,QAAA,IAAI,CAACA,gBAAS,CAAC,OAAO,CAAC,EAAE;cACvB,OAAO,GAAG,oBAAoB,CAAC;EAChC,SAAA;EACD,QAAA,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;UAC1B,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;UACtD,IAAM,SAAS,GAAG,gBAAgB,CAAC;EACnC,QAAA,OAAO,EAAE,EAAE,EAAA,EAAA,EAAE,OAAO,SAAA,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;OACtD,CAAA;EAEO,IAAA,gBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,UAAsB,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACrF,IAAM,UAAU,GAAqB,EAAE,CAAC;UACxC,IAAM,2BAA2B,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;UAC3F,IAAM,YAAY,GAAGuE,sBAA2C,CAC9D,KAAK,CAAC,MAAM,EACZ,UAAU,EACV,KAAK,CAAC,iBAAiB,EACvB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,EAAE,EACrF,2BAA2B,EAC3B,IAAI,CAAC,OAAO,CACb,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CAACzE,iCAAsB,CAAC,WAAW,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;EACvH,QAAA,OAAO,EAAE,OAAO,EAAE,+BAA+B,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAC/E,CAAA;MACF,OAAA,gBAAA,CAAA;EAAA,CAjED,CAIU,kBAAwB,CA6DjC;;ACxED,MAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;MAA+C,SAAoD,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;EACjG,IAAA,SAAA,yBAAA,CAAY,MAAiH,EAAA;EAC3H,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,yBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA0B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC5F,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,yBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAM,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EACpC,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MACF,OAAA,yBAAA,CAAA;EAAA,CAdD,CAA+C,gBAAoD,CAclG;;ACED,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAA4C,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;EAC9F,IAAA,SAAA,8BAAA,CAAY,MAAsH,EAAA;EAChI,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,8BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA+B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACjG,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAC,CAAC;EAC/E,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,8BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,sBAAsB,GAAG0E,gCAAqB,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;EACjH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,sBAAsB,CAAE,CAAC;EAChD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,8BAA0B,CAAA,SAAA,CAAA,0BAAA,GAA1B,UAA2B,IAA8B,EAAA;UAC/D,IAAM,UAAU,GAAqB,EAAE,CAAC;;UAExC,UAAU,CAAC,IAAI,CACbC,oCAAyB,CAAC,WAAW,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,CAClI,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAChE,CAAA;MACF,OAAA,8BAAA,CAAA;EAAA,CA1BD,CAAoD,kBAA4C,CA0B/F;;AClBD,MAAA,qBAAA,kBAAA,UAAA,MAAA,EAAA;MAIU,SAAwB,CAAA,qBAAA,EAAA,MAAA,CAAA,CAAA;EAChC,IAAA,SAAA,qBAAA,CAAY,MAAuD,EAAA;EACjE,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;MAED,qBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAwB,EAAA;UAC1C,OAAO,CAAC,qCAAqC,CAAC,CAAC;OAChD,CAAA;EAES,IAAA,qBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC1E,IAAM,MAAM,GAAW,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACjE,QAAA,IAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;UAC1E,IAAM,QAAQ,0CAAwB,MAAM,CAAC,QAAQ,CAAE,CAAA,EAAA,CAAA,YAAY,EAAC,CAAC;UACrE,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,MAAM,CAAA,EAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;OACxC,CAAA;MAES,qBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAElC,QAAA,IAAM,eAAe,GAAG/E,+BAAoB,CAAC,MAAM,EAAE,oCAAoC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;cACtG,wBAAwB;cACxB,wBAAwB;EACzB,SAAA,CAAC,CAAC;UAEG,IAAA,EAAA,GAAiC2E,wBAA6C,CAClF,MAAM,EACN,iBAAiB,EACjBC,cAAqC,EACrC,IAAI,CAAC,OAAO,CACb,EALO,OAAO,GAAA,EAAA,CAAA,OAAA,EAAE,iBAAiB,GAAA,EAAA,CAAA,iBAKjC,CAAC;EAEF,QAAA,KAAK,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,KAAK,CAAK,EAAA,eAAe,KAAE,iBAAiB,EAAA,iBAAA,EAAE,OAAO,EAAA,OAAA,EAAA,CAAE,CAAC;EACrE,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,UAA+B,KAAQ,EAAE,UAA0B,EAAA;EACzE,QAAA,IAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;;UAE5B,IAAI,OAAO,GAAGtE,gBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;EAClF,QAAA,IAAI,CAACA,gBAAS,CAAC,OAAO,CAAC,EAAE;cACvB,OAAO,GAAG,oBAAoB,CAAC;EAChC,SAAA;EACD,QAAA,IAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;UAC1B,IAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;UACtD,IAAM,SAAS,GAAG,gBAAgB,CAAC;EACnC,QAAA,OAAO,EAAE,EAAE,EAAA,EAAA,EAAE,OAAO,SAAA,EAAE,IAAI,EAAA,IAAA,EAAE,WAAW,EAAA,WAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;OACtD,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;;UACpF,IAAM,UAAU,GAAqB,EAAE,CAAC;UACxC,IAAM,aAAa,GAAa,EAAE,CAAC;EAEnC,QAAA,UAAU,CAAC,IAAI,CACbH,mCAAwB,CAAC,kBAAkB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CACvI,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CAAC,kBAAkB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CACvI,CAAC;UAEF,IAAM,2BAA2B,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;;cAE3F,KAAiC,IAAA,KAAA,QAAA,CAAA,KAAK,CAAC,OAAO,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA3C,gBAAA,IAAM,kBAAkB,GAAA,EAAA,CAAA,KAAA,CAAA;EAC3B,gBAAA,IAAM,YAAY,GAAW0E,sBAA2C,CACtE,kBAAkB,EAClB,UAAU,EACV,KAAK,CAAC,iBAAiB,EACvB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,EAAE,EACrF,2BAA2B,EAC3B,IAAI,CAAC,OAAO,CACb,CAAC;EACF,gBAAA,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAClC,aAAA;;;;;;;;;EAED,QAAA,UAAU,CAAC,IAAI,CAACzE,iCAAsB,CAAC,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;EAExH,QAAA,OAAO,EAAE,OAAO,EAAE,oCAAoC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACpF,CAAA;MACF,OAAA,qBAAA,CAAA;EAAA,CAjFD,CAIU,kBAAwB,CA6EjC;;ACzGD,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MAAgD,SAAyD,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;EACvG,IAAA,SAAA,0BAAA,CAAY,MAAkH,EAAA;EAC5H,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,0BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA2B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC7F,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,0BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAM,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EACpC,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MACF,OAAA,0BAAA,CAAA;EAAA,CAdD,CAAgD,qBAAyD,CAcxG;;ACED,MAAA,sBAAA,kBAAA,UAAA,MAAA,EAAA;MAA4C,SAAoC,CAAA,sBAAA,EAAA,MAAA,CAAA,CAAA;EAC9E,IAAA,SAAA,sBAAA,CAAY,MAA8G,EAAA;EACxH,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,sBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAuB,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACzF,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAC,CAAC;EACvE,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,sBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,cAAc,GAAGJ,+BAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE;cAC1E,eAAe;;;cAGf,sBAAsB;EACvB,SAAA,CAAC,CAAC;EACH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,cAAc,CAAE,CAAC;EACxC,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,sBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAAsB,EAAA;UAC/C,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CAACG,mCAAwB,CAAC,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1H;;;;;EAKG;;EAEH,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CAAC,gBAAgB,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAC3H,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACxD,CAAA;MACF,OAAA,sBAAA,CAAA;EAAA,CAtCD,CAA4C,kBAAoC,CAsC/E;;AC5CD,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MAAgD,SAAyD,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;EACvG,IAAA,SAAA,0BAAA,CAAY,MAAkH,EAAA;EAC5H,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,0BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA2B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC7F,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;UACzD,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;EAC/F,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,0BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,kBAAkB,GAAGH,+BAAoB,CAAC,MAAM,EAAE,uBAAuB,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;EACpG,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,kBAAkB,CAAE,CAAC;EAC5C,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,0BAAsB,CAAA,SAAA,CAAA,sBAAA,GAAtB,UAAuB,IAA0B,EAAA;UACvD,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CAACG,mCAAwB,CAAC,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;UAC1H,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACzD,CAAA;MACF,OAAA,0BAAA,CAAA;EAAA,CAvBD,CAAgD,qBAAyD,CAuBxG;;AChBD,MAAA,4BAAA,kBAAA,UAAA,MAAA,EAAA;MAAkD,SAA0C,CAAA,4BAAA,EAAA,MAAA,CAAA,CAAA;EAC1F,IAAA,SAAA,4BAAA,CAAY,MAAoH,EAAA;EAC9H,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,4BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA6B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC/F,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAC,CAAC;EAC7E,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,4BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,oBAAoB,GAAGH,+BAAoB,CAAC,MAAM,EAAE,4BAA4B,EAAE;cACtF,0BAA0B;cAC1B,sBAAsB;EACvB,SAAA,CAAC,CAAC;EACH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,oBAAoB,CAAE,CAAC;EAC9C,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,4BAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,IAA4B,EAAA;UAC3D,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CACbG,mCAAwB,CACtB,oBAAoB,EACpB,gCAAgC,EAChC,0BAA0B,EAC1B,SAAS,EACTG,gBAAS,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAC9D,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbH,mCAAwB,CAAC,eAAe,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAC1H,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,4BAA4B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAC9D,CAAA;MACF,OAAA,4BAAA,CAAA;EAAA,CArCD,CAAkD,kBAA0C,CAqC3F;;ACvCD,MAAA,kCAAA,kBAAA,UAAA,MAAA,EAAA;MAAwD,SAEvD,CAAA,kCAAA,EAAA,MAAA,CAAA,CAAA;EACC,IAAA,SAAA,kCAAA,CACE,MAEqI,EAAA;EAErI,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,kCAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UACR,KAA8F,EAC9F,UAA0B,EAC1B,MAAmB,EAAA;UAEnB,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAC,CAAC;EACjF,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,kCAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,sBAAsB,GAAGH,+BAAoB,CAAC,MAAM,EAAE,2BAA2B,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;EAC5G,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,sBAAsB,CAAE,CAAC;EAChD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,kCAA4B,CAAA,SAAA,CAAA,4BAAA,GAA5B,UACN,IAA6F,EAAA;UAE7F,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,IAAM,IAAI,GAAgBuB,4DAAkD,CAAC,IAAI,CAAC,GAAG,aAAa,GAAG,WAAW,CAAC;EACjH,QAAA,UAAU,CAAC,IAAI,CAACpB,mCAAwB,CAAC,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;UACjH,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAC7D,CAAA;MACF,OAAA,kCAAA,CAAA;EAAA,CApCD,CAAwD,kBAEvD,CAkCA;;ACjDD,MAAA,gCAAA,kBAAA,UAAA,MAAA,EAAA;MAAsD,SAA+D,CAAA,gCAAA,EAAA,MAAA,CAAA,CAAA;EACnH,IAAA,SAAA,gCAAA,CAAY,MAAwH,EAAA;EAClI,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,gCAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAiC,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACnG,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;UACzD,IAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAO,IAAK,OAAA,OAAO,CAAC,OAAO,KAAK,0BAA0B,CAA9C,EAA8C,CAAC,CAAC;EAChH,QAAA,IAAI,qBAAqB,EAAE;cACzB,qBAAqB,CAAC,UAAU,CAAC,MAAM,CACrC,UAAC,QAAQ,EAAK,EAAA,OAAA,QAAQ,CAAC,QAAQ,KAAK,wBAAwB,IAAI,QAAQ,CAAC,QAAQ,KAAK,wBAAwB,CAAA,EAAA,CAC/G,CAAC;EACH,SAAA;EACD,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,gCAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;;;EAGlC,QAAA,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;EACxB,QAAA,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;EACxB,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MACF,OAAA,gCAAA,CAAA;EAAA,CAxBD,CAAsD,qBAA+D,CAwBpH;;ACVD,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAA4C,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;EAC9F,IAAA,SAAA,8BAAA,CAAY,MAAsH,EAAA;EAChI,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,8BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA+B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACjG,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAC,CAAC;EAC/E,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,8BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,sBAAsB,GAAG2E,gCAAqB,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;EAChH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,sBAAsB,CAAE,CAAC;EAChD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,8BAA0B,CAAA,SAAA,CAAA,0BAAA,GAA1B,UAA2B,IAA8B,EAAA;UAC/D,IAAM,UAAU,GAAqB,EAAE,CAAC;;UAExC,UAAU,CAAC,IAAI,CACbC,oCAAyB,CAAC,UAAU,EAAE,8BAA8B,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAC5H,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,8BAA8B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAChE,CAAA;MACF,OAAA,8BAAA,CAAA;EAAA,CA1BD,CAAoD,kBAA4C,CA0B/F;;ACrBD,MAAA,iCAAA,kBAAA,UAAA,MAAA,EAAA;MAAuD,SAA6E,CAAA,iCAAA,EAAA,MAAA,CAAA,CAAA;EAClI,IAAA,SAAA,iCAAA,CACE,MAEuG,EAAA;EAEvG,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,iCAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UACR,KAAgE,EAChE,UAA0B,EAC1B,MAAmB,EAAA;UAEnB,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,EAAC,CAAC;EAChF,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,iCAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,iBAAiB,GAAG/E,+BAAoB,CAAC,MAAM,EAAE,yBAAyB,EAAE;cAChF,eAAe;cACf,mBAAmB;cACnB,mBAAmB;cACnB,uBAAuB;EACxB,SAAA,CAAC,CAAC;EACH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,iBAAiB,CAAE,CAAC;EAC3C,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,iCAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,IAA+D,EAAA;;EACjG,QAAA,IAAM,IAAI,GAAgBqC,iDAAuC,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC;UAC/F,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CAAClC,mCAAwB,CAAC,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1H,QAAA,UAAU,CAAC,IAAI,CAACA,mCAAwB,CAAC,aAAa,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EAC9H,QAAA,UAAU,CAAC,IAAI,CAACA,mCAAwB,CAAC,aAAa,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EAC9H,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,iBAAiB,EACjB,6BAA6B,EAC7B,uBAAuB,EACvB,SAAS,EACT,MAAA,IAAI,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAK,CAC3B,CACF,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAC3D,CAAA;MACF,OAAA,iCAAA,CAAA;EAAA,CAhDD,CAAuD,kBAA6E,CAgDnI;;AC3DD,MAAA,6BAAA,kBAAA,UAAA,MAAA,EAAA;MAAmD,SAA2C,CAAA,6BAAA,EAAA,MAAA,CAAA,CAAA;EAC5F,IAAA,SAAA,6BAAA,CAAY,MAAqH,EAAA;EAC/H,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,6BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA8B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAChG,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,EAAC,CAAC;EAClF,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,6BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,yBAAyB,GAAGH,+BAAoB,CAAC,MAAM,EAAE,iCAAiC,EAAE;cAChG,gBAAgB;;EAEjB,SAAA,CAAC,CAAC;EACH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,yBAAyB,CAAE,CAAC;EACnD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,6BAA6B,CAAA,SAAA,CAAA,6BAAA,GAA7B,UAA8B,IAA6B,EAAA;UACjE,IAAM,UAAU,GAAqB,EAAE,CAAC;;;;EAIxC,QAAA,UAAU,CAAC,IAAI,CAACG,mCAAwB,CAAC,WAAW,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;UACzH,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACnE,CAAA;MACF,OAAA,6BAAA,CAAA;EAAA,CA7BD,CAAmD,kBAA2C,CA6B7F;;ACXD,MAAA,4BAAA,kBAAA,UAAA,MAAA,EAAA;MAAkD,SAA0C,CAAA,4BAAA,EAAA,MAAA,CAAA,CAAA;EAC1F,IAAA,SAAA,4BAAA,CAAY,MAAoH,EAAA;EAC9H,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,4BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA6B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC/F,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAAC,CAAC;EACjF,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,4BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,wBAAwB,GAAGH,+BAAoB,CAAC,MAAM,EAAE,gCAAgC,EAAE;cAC9F,qCAAqC;cACrC,yBAAyB;cACzB,yBAAyB;cACzB,4BAA4B;;cAE5B,yBAAyB;;EAE1B,SAAA,CAAC,CAAC;EACH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,wBAAwB,CAAE,CAAC;EAClD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,4BAA4B,CAAA,SAAA,CAAA,4BAAA,GAA5B,UAA6B,IAA4B,EAAA;UAC/D,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CACbG,mCAAwB,CACtB,6BAA6B,EAC7B,yCAAyC,EACzC,qCAAqC,EACrC,QAAQ,EACR,IAAI,CAAC,wBAAwB,CAC9B,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,mBAAmB,EACnB,+BAA+B,EAC/B,yBAAyB,EACzB,SAAS,EACT,IAAI,CAAC,aAAa,CACnB,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,mBAAmB,EACnB,+BAA+B,EAC/B,yBAAyB,EACzB,SAAS,EACT,IAAI,CAAC,aAAa,CACnB,CACF,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,sBAAsB,EACtB,kCAAkC,EAClC,4BAA4B,EAC5B,SAAS,EACT,IAAI,CAAC,iBAAiB,CACvB,CACF,CAAC;;;;;;;;;;;EAWF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CACtB,mBAAmB,EACnB,+BAA+B,EAC/B,yBAAyB,EACzB,QAAQ,EACR,IAAI,CAAC,cAAc,CACpB,CACF,CAAC;;;UAGF,OAAO,EAAE,OAAO,EAAE,gCAAgC,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAClE,CAAA;MACF,OAAA,4BAAA,CAAA;EAAA,CAvFD,CAAkD,kBAA0C,CAuF3F;;ACzGD,MAAA,sBAAA,kBAAA,UAAA,MAAA,EAAA;MAA4C,SAAoC,CAAA,sBAAA,EAAA,MAAA,CAAA,CAAA;EAC9E,IAAA,SAAA,sBAAA,CAAY,MAA8G,EAAA;EACxH,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,sBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAuB,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACzF,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAC,CAAC;EACvE,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,sBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,kBAAkB,GAAGH,+BAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;EACnG,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,kBAAkB,CAAE,CAAC;EAC5C,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,sBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAAsB,EAAA;UAC/C,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CAACG,mCAAwB,CAAC,cAAc,EAAE,0BAA0B,EAAE,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;UACrI,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACxD,CAAA;MACF,OAAA,sBAAA,CAAA;EAAA,CAvBD,CAA4C,kBAAoC,CAuB/E;;ACfD,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAAyE,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;EAC3H,IAAA,SAAA,8BAAA,CACE,MAEmG,EAAA;EAEnG,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,8BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UACR,KAA4D,EAC5D,UAA0B,EAC1B,MAAmB,EAAA;UAEnB,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAC,CAAC;EAC7E,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,8BAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,cAAc,GAAGH,+BAAoB,CAAC,MAAM,EAAE,2BAA2B,EAAE;cAC/E,eAAe;cACf,kBAAkB;cAClB,kBAAkB;EACnB,SAAA,CAAC,CAAC;EACH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,cAAc,CAAE,CAAC;EACxC,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,8BAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,IAA2D,EAAA;UAC1F,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CAACG,mCAAwB,CAAC,UAAU,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1H,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAC7H,CAAC;EACF,QAAA,UAAU,CAAC,IAAI,CACbA,mCAAwB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAC7H,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAC7D,CAAA;MACF,OAAA,8BAAA,CAAA;EAAA,CAzCD,CAAoD,kBAAyE,CAyC5H;;ACzDD,MAAA,sBAAA,kBAAA,UAAA,MAAA,EAAA;MAA4C,SAAoC,CAAA,sBAAA,EAAA,MAAA,CAAA,CAAA;EAC9E,IAAA,SAAA,sBAAA,CAAY,MAA8G,EAAA;EACxH,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,sBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAuB,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACzF,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CACV,MAAM,CAAC,QAAQ,EAEnB,CAAC;EACF,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,sBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,cAAc,GAAGH,+BAAoB,CAAC,MAAM,EAAE,2BAA2B,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;EAC1G,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,cAAc,CAAE,CAAC;EACxC,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,sBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAAsB,EAAA;UAC/C,IAAM,UAAU,GAAqB,EAAE,CAAC;;;UAGxC,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OAC7D,CAAA;MACF,OAAA,sBAAA,CAAA;EAAA,CA3BD,CAA4C,kBAAoC,CA2B/E;;ACnBD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAqC,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAChF,IAAA,SAAA,uBAAA,CAAY,MAA+G,EAAA;EACzH,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,uBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAwB,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC1F,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAC,CAAC;EACxE,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,uBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,eAAe,GAAGA,+BAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;EACzF,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,eAAe,CAAE,CAAC;EACzC,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,uBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,IAAuB,EAAA;UACjD,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CAACG,mCAAwB,CAAC,UAAU,EAAE,6BAA6B,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;UACjI,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACjD,CAAA;MACF,OAAA,uBAAA,CAAA;EAAA,CAvBD,CAA6C,kBAAqC,CAuBjF;;AChCD,MAAA,kCAAA,kBAAA,UAAA,MAAA,EAAA;MAAwD,SAA4C,CAAA,kCAAA,EAAA,MAAA,CAAA,CAAA;EAClG,IAAA,SAAA,kCAAA,CAAY,MAAsH,EAAA;EAChI,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;EAES,IAAA,kCAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAA+B,EAAE,UAA0B,EAAE,MAAmB,EAAA;UACjG,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAO,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,MAAM,CAAC,QAAQ,CAAA,CAAA,EAAA,CAAE,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAC,CAAC;EACnF,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,kCAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,0BAA0B,GAAGH,+BAAoB,CAAC,MAAM,EAAE,kCAAkC,EAAE;;EAEnG,SAAA,CAAC,CAAC;EACH,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,0BAA0B,CAAE,CAAC;EACpD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEO,kCAA8B,CAAA,SAAA,CAAA,8BAAA,GAA9B,UAA+B,IAA8B,EAAA;UACnE,IAAM,UAAU,GAAqB,EAAE,CAAC;;;UAGxC,OAAO,EAAE,OAAO,EAAE,kCAAkC,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACpE,CAAA;MACF,OAAA,kCAAA,CAAA;EAAA,CA1BD,CAAwD,kBAA4C,CA0BnG;;ACRD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAAwB,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAChC,IAAA,SAAA,uBAAA,CAAY,MAAuD,EAAA;EACjE,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;MAED,uBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAwB,EAAA;EAC1C,QAAA,OAAO,2BAA2B,CAAC;OACpC,CAAA;EAES,IAAA,uBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAQ,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAC1E,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAO,MAAM,CAAC,QAAQ,KAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAC,CAAC;EAC5F,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,uBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,mBAAmB,GAAGA,+BAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;EAC9F,QAAA,IAAM,wBAAwB,GAAGC,gBAAuC,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;UACrH,KAAK,iDAAQ,KAAK,CAAA,EAAK,mBAAmB,CAAK,EAAA,wBAAwB,CAAE,CAAC;EAC1E,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,IAAuB,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAA5F,IAcP,KAAA,GAAA,IAAA,CAAA;UAbC,IAAM,UAAU,GAAqB,EAAE,CAAC;;EAExC,QAAA,UAAU,CAAC,IAAI,CAACE,mCAAwB,CAAC,WAAW,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;UAC9H,UAAU,CAAC,IAAI,CACbC,iCAAsB,CACpB,kBAAkB,EAClB,mCAAmC,EACnC,eAAe,EACf,IAAI,EACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAAC,YAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAI,CAAC,OAAO,CAAC,CAA3E,EAA2E,CAAC,GAAG,EAAE,CACxH,CACF,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACjD,CAAA;MACF,OAAA,uBAAA,CAAA;EAAA,CAzCD,CAGU,kBAAwB,CAsCjC;;AChDD,MAAA,qBAAA,kBAAA,UAAA,MAAA,EAAA;MAA2C,SAAwC,CAAA,qBAAA,EAAA,MAAA,CAAA,CAAA;EACjF,IAAA,SAAA,qBAAA,CAAY,MAA6G,EAAA;EACvH,QAAA,OAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,MAAM,CAAC,IAAA,IAAA,CAAA;OACd;MAED,qBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAwB,EAAA;EAC1C,QAAA,IAAI,QAAQ,CAAC,QAAQ,KAAK,eAAe,EAAE;EACzC,YAAA,OAAO,6BAA6B,CAAC;EACtC,SAAA;EAAM,aAAA,IAAI,QAAQ,CAAC,QAAQ,KAAK,eAAe,EAAE;EAChD,YAAA,OAAO,2BAA2B,CAAC;EACpC,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;EAES,IAAA,qBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,KAAsB,EAAE,UAA0B,EAAE,MAAmB,EAAA;;UAExF,IAAM,MAAM,GAAG,MAAA,CAAA,SAAA,CAAM,QAAQ,CAAA,IAAA,CAAA,IAAA,EAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;EACzD,QAAA,MAAM,CAAC,QAAQ,GAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAO,MAAM,CAAC,QAAQ,KAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAC,CAAC;EAC9F,QAAA,OAAO,MAAM,CAAC;OACf,CAAA;MAES,qBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAc,EAAA;EAC9B,QAAA,IAAI,KAAK,GAAG,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC,IAAA,CAAA,IAAA,EAAA,MAAM,CAAC,CAAC;EAClC,QAAA,IAAM,iBAAiB,GAAGL,+BAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;EAC3F,QAAA,KAAK,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAK,EAAA,iBAAiB,CAAE,CAAC;EAC3C,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,UAAsB,IAAqB,EAAE,UAA0B,EAAE,MAAmB,EAAA;UAClG,IAAM,UAAU,GAAqB,EAAE,CAAC;EACxC,QAAA,UAAU,CAAC,IAAI,CACbI,iCAAsB,CACpB,UAAU,EACV,6BAA6B,EAC7B,eAAe,EACf,KAAK,EACL,IAAI,CAAC,KAAK,GAAG,CAACC,YAAmC,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAChG,CACF,CAAC;UACF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAA,UAAA,EAAE,CAAC;OACjD,CAAA;MACF,OAAA,qBAAA,CAAA;EAAA,CA1CD,CAA2C,uBAAwC,CA0ClF;;ECeD,cAAc,CAAC5B,kCAAwB,EAAE,yBAAyB,EAAE,UAAC,MAAc,EACjF,EAAA,OAAAqC,uCAA6B,CAAC,MAAM,CAAC,KAAK,CAAC;EACzC,MAAE,IAAI,yBAAyB,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAC/E,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAAClB,wCAA8B,EAAE,8BAA8B,EAAE,UAAC,MAAc,EAC5F,EAAA,OAAAoF,4CAAkC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC9C,MAAE,IAAI,8BAA8B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACpF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACtG,mCAAyB,EAAE,0BAA0B,EAAE,UAAC,MAAc,EACnF,EAAA,OAAAsC,wCAA8B,CAAC,MAAM,CAAC,KAAK,CAAC;EAC1C,MAAE,IAAI,0BAA0B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAChF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACnC,+BAAqB,EAAE,sBAAsB,EAAE,UAAC,MAAc,EAC3E,EAAA,OAAAoC,oCAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;EACtC,MAAE,IAAI,sBAAsB,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAC5E,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACnC,yCAA+B,EAAE,iCAAiC,EAAE,UAAC,MAAc,EAChG,EAAA,OAAAoC,6CAAmC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC/C,MAAE,IAAI,iCAAiC,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACvF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACnC,mCAAyB,EAAE,0BAA0B,EAAE,UAAC,MAAc,EACnF,EAAA,OAAAoC,wCAA8B,CAAC,MAAM,CAAC,KAAK,CAAC;EAC1C,MAAE,IAAI,0BAA0B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAChF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACnC,sCAA4B,EAAE,4BAA4B,EAAE,UAAC,MAAc,EACxF,EAAA,OAAAoC,0CAAgC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC5C,MAAE,IAAI,4BAA4B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAClF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACnC,6DAAmD,EAAE,kCAAkC,EAAE,UAAC,MAAc,EACrH,EAAA,OAAAqC,gEAAsD,CAAC,MAAM,CAAC,KAAK,CAAC;EAClE,MAAE,IAAI,kCAAkC,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACxF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACpC,yDAA+C,EAAE,kCAAkC,EAAE,UAAC,MAAc,EACjH,EAAA,OAAAqC,4DAAkD,CAAC,MAAM,CAAC,KAAK,CAAC;EAC9D,MAAE,IAAI,kCAAkC,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACxF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACpC,0CAAgC,EAAE,gCAAgC,EAAE,UAAC,MAAc,EAChG,EAAA,OAAAuC,8CAAoC,CAAC,MAAM,CAAC,KAAK,CAAC;EAChD,MAAE,IAAI,gCAAgC,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACtF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACtC,wCAA8B,EAAE,8BAA8B,EAAE,UAAC,MAAc,EAC5F,EAAA,OAAA6F,4CAAkC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC9C,MAAE,IAAI,8BAA8B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACpF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACtG,4CAAkC,EAAE,6BAA6B,EAAE,UAAC,MAAc,EAC/F,EAAA,OAAAgD,2CAAiC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC7C,MAAE,IAAI,6BAA6B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACnF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACtC,2CAAiC,EAAE,8BAA8B,EAAE,UAAC,MAAc,EAC/F,EAAA,OAAAuC,+CAAqC,CAAC,MAAM,CAAC,KAAK,CAAC;EACjD,MAAE,IAAI,8BAA8B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACpF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACtC,0CAAgC,EAAE,4BAA4B,EAAE,UAAC,MAAc,EAC5F,EAAA,OAAAuC,0CAAgC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC5C,MAAE,IAAI,4BAA4B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAClF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACrC,uCAA6B,EAAE,8BAA8B,EAAE,UAAC,MAAc,EAC3F,EAAA,OAAAuC,2CAAiC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC7C,MAAE,IAAI,8BAA8B,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACpF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACtC,qCAA2B,EAAE,uBAAuB,EAAE,UAAC,MAAc,EAClF,EAAA,OAAAuC,yCAA+B,CAAC,MAAM,CAAC,KAAK,CAAC;EAC3C,MAAE,IAAI,uBAAuB,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAC7E,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACzC,kCAAwB,EAAE,qBAAqB,EAAE,UAAC,MAAc,EAC7E,EAAA,OAAA0C,uCAA6B,CAAC,MAAM,CAAC,KAAK,CAAC;EACzC,MAAE,IAAI,qBAAqB,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAC3E,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACvC,+BAAqB,EAAE,sBAAsB,EAAE,UAAC,MAAc,EAC3E,EAAA,OAAAwC,oCAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;EACtC,MAAE,IAAI,sBAAsB,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAC5E,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACpC,+BAAqB,EAAE,sBAAsB,EAAE,UAAC,MAAc,EAC3E,EAAA,OAAAqC,oCAA0B,CAAC,MAAM,CAAC,KAAK,CAAC;EACtC,MAAE,IAAI,sBAAsB,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAC5E,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACxC,gCAAsB,EAAE,uBAAuB,EAAE,UAAC,MAAc,EAC7E,EAAA,OAAAyC,qCAA2B,CAAC,MAAM,CAAC,KAAK,CAAC;EACvC,MAAE,IAAI,uBAAuB,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EAC7E,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACvC,8CAAoC,EAAE,iCAAiC,EAAE,UAAC,MAAc,EACrG,EAAA,OAAAwC,iDAAuC,CAAC,MAAM,CAAC,KAAK,CAAC;EACnD,MAAE,IAAI,iCAAiC,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACvF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C,CAAC;EAEF,cAAc,CAACzD,6CAAmC,EAAE,kCAAkC,EAAE,UAAC,MAAc,EACrG,EAAA,OAAA0D,4CAAkC,CAAC,MAAM,CAAC,KAAK,CAAC;EAC9C,MAAE,IAAI,kCAAkC,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAM,MAAM,CAAE,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAG,CAAA,CAAA,CAAC,SAAS,EAAE;EACxF,MAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAA,EAAA,CAC/C;;AC3MY,MAAA,0BAA0B,GAAkB;EACvD,IAAA,KAAK,EAAE,YAAY;EACnB,IAAA,OAAO,EAAE,YAAY;IACrB;AAEW,MAAA,yBAAyB,GAAkB;EACtD,IAAA,KAAK,EAAE,YAAY;EACnB,IAAA,OAAO,EAAE,YAAY;IACrB;AAEW,MAAA,uBAAuB,GAAkB;EACpD,IAAA,KAAK,EAAE,cAAc;EACrB,IAAA,OAAO,EAAE,cAAc;IACvB;AAEW,MAAA,4BAA4B,GAAkB;EACzD,IAAA,KAAK,EAAE,aAAa;EACpB,IAAA,OAAO,EAAE,aAAa;IACtB;AAEW,MAAA,yBAAyB,GAAkB;EACtD,IAAA,KAAK,EAAE,YAAY;EACnB,IAAA,OAAO,EAAE,YAAY;IACrB;AAEW,MAAA,2BAA2B,GAAkB;EACxD,IAAA,KAAK,EAAE,YAAY;EACnB,IAAA,OAAO,EAAE,YAAY;IACrB;AAEW,MAAA,gBAAgB,GAAoB;MAC/C,2BAA2B;MAC3B,uBAAuB;MACvB,4BAA4B;MAC5B,0BAA0B;MAC1B,yBAAyB;MACzB,yBAAyB;;;ACnCd,MAAA,QAAQ,GAAY;EAC/B,IAAA,EAAE,EAAE,UAAU;EACd,IAAA,OAAO,EAAE,aAAa;IACtB;AAEW,MAAA,IAAI,GAAY;EAC3B,IAAA,EAAE,EAAE,MAAM;EACV,IAAA,OAAO,EAAE,SAAS;;;ACVpB,MAAA,YAAA,kBAAA,YAAA;EACE,IAAA,SAAA,YAAA,CAAmB,UAAkB,EAAA;EAAlB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;OAAI;MAC1C,OAAA,YAAA,CAAA;EAAA,CAAA,EAAA;;ACGD,MAAA,aAAA,kBAAA,UAAA,MAAA,EAAA;MAAmC,SAAY,CAAA,aAAA,EAAA,MAAA,CAAA,CAAA;MAE7C,SAAmB,aAAA,CAAA,KAAiB,EAAE,UAAkB,EAAS,SAAiB,EAAS,KAAa,EAAS,GAAoB,EAAA;EAApE,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAiB,GAAA,KAAA,CAAA,EAAA;UAAlF,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAFkB,QAAA,KAAK,CAAA,KAAA,GAAL,KAAK,CAAY;EAA6B,QAAA,KAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;EAAS,QAAA,KAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;EAAS,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAiB;EAD5H,QAAA,KAAS,CAAA,SAAA,GAAG,eAAe,CAAC;;OAGpC;MACF,OAAA,aAAA,CAAA;EAAA,CALD,CAAmC,YAAY,CAK9C,EAAA;EAEK,SAAU,eAAe,CAAC,SAAkB,EAAA;EAChD,IAAA,OAAO0B,aAAM,CAAgB,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACrF,CAAC;EAEK,SAAU,uBAAuB,CAAC,SAAkB,EAAA;EACxD,IAAA,OAAOA,aAAM,CAAgB,SAAS,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,eAAe,CAAC;EAClG;;ACbA,MAAA,QAAA,kBAAA,UAAA,MAAA,EAAA;MAA8B,SAAY,CAAA,QAAA,EAAA,MAAA,CAAA,CAAA;EAMxC,IAAA,SAAA,QAAA,CAAmB,GAAoB,EAAS,KAAa,EAAE,UAAkB,EAAS,QAAgB,EAAA;EAAhB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAgB,GAAA,KAAA,CAAA,EAAA;UAA1G,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAFkB,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAiB;EAAS,QAAA,KAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;EAA6B,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;EALjG,QAAA,KAAS,CAAA,SAAA,GAAG,UAAU,CAAC;EAChC,QAAA,KAAM,CAAA,MAAA,GAAG,KAAK,CAAC;EAEf,QAAA,KAAM,CAAA,MAAA,GAAiB,SAAS,CAAC;EACjC,QAAA,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;OAGhB;MACF,OAAA,QAAA,CAAA;EAAA,CATD,CAA8B,YAAY,CASzC,EAAA;EAEK,SAAU,kBAAkB,CAAC,SAAkB,EAAA;EACnD,IAAA,OAAOA,aAAM,CAAW,SAAS,EAAE,WAAW,CAAC,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,CAAC;EACxF;;MCZa,iBAAiB,GAAG,IAAIO,iBAAc,CAAkB,iBAAiB;;ACJzE,MAAA,sBAAsB,GAAmB;EACpD,IAAA,KAAK,EAAE;EACL,QAAA,SAAS,EAAE,YAAY;EACxB,KAAA;EACD,IAAA,OAAO,EAAE;EACP,QAAA,SAAS,EAAE,YAAY;EACvB,QAAA,UAAU,EAAE,KAAK;EACjB,QAAA,cAAc,EAAE,UAAU;EAC1B,QAAA,aAAa,EAAE,IAAI;UACnB,kBAAkB,EAAE,WAAW;EAChC,KAAA;;;ECVH;;EAEG;AACH,MAAA,wBAAA,kBAAA,YAAA;EACE;;;EAGG;MACH,SAAmB,wBAAA,CAAA,SAAqB,EAAS,KAAc,EAAA;EAA5C,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAY;EAAS,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAS;OAAI;MACpE,OAAA,wBAAA,CAAA;EAAA,CAAA,EAAA;;MCLY,sBAAsB,GAAG,IAAIA,iBAAc,CAAsB,wBAAwB,EAAE;EACtG,IAAA,UAAU,EAAE,MAAM;EAClB,IAAA,OAAO,EAAE,8BAA8B;EACxC,CAAA,EAAE;WAEa,8BAA8B,GAAA;MAC5C,OAAO;EACL,QAAA,SAAS,EAAE,EAAE;OACd,CAAC;EACJ;;ECbA;;;;EAIG;EACG,SAAU,YAAY,CAAC,KAAsC,EAAA;EACjE,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,EAAA,EAAE,IAAI,KAAK,EAAY,CAAC,CAAC;EACnG;;EC+BM,SAAU,eAAe,CAC7B,aAA2B,EAC3B,KAAsB,EACtB,CAA2B,EAC3B,CAAW,EACX,CAAiB,EAAA;EAEjB,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC3B,QAAA,OAAO,KAAK,CAAC;EACd,KAAA;EACD,IAAA,IAAI,YAAY,GAAG,CAAC,IAAI,EAAE,CAAC;MAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;MAC5B,IAAI,eAAe,GAAG,KAAK,CAAC;;EAE5B,IAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,EAAE;EACjC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;cACpB,YAAY,GAAG,CAAC,CAAC;EAClB,SAAA;EAAM,aAAA;cACL,eAAe,GAAG,CAAC,CAAC;EACpB,YAAA,eAAe,GAAG,CAAC,IAAI,KAAK,CAAC;EAC9B,SAAA;EACF,KAAA;EACD,IAAA,OAAO,KAAK;WACT,MAAM,CACL,UAAC,CAAC,EAAA;;EAEA,QAAA,OAAA,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,EAAA,EAAK,OAAA,EAAE,KAAK,CAAC,CAAC,UAAU,CAAA,EAAA,CAAC;;EAE/C,aAAC,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;;EAElD,aAAC,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;EAJtC,KAIsC,CACzC;EACA,SAAA,KAAK,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,KAAK,aAAa,CAA1B,EAA0B,CAAC,CAAC;EAC9C;;ECpEA;;;;;;;;;;EAUG;EACa,SAAA,iBAAiB,CAAC,KAAqC,EAAE,QAAgB,EAAA;EAAhB,IAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAgB,GAAA,KAAA,CAAA,EAAA;;EAEvF,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,UAAC,QAAyC,EAAE,IAA6B,EAAA;;UAE3F,IAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC;EACvE,QAAA,IAAI,QAAQ,EAAE;cACZ,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EAClG,SAAA;EAAM,aAAA,IAAIZ,mBAAS,CAAC,IAAI,CAAC,EAAE;;EAE1B,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACzG,SAAA;EAAM,aAAA,IAAIuB,wBAAc,CAAC,IAAI,CAAC,EAAE;;EAE/B,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EAEhG,YAAA,IAAM,eAAe,GAAG,IAAI,CAAC,KAAK;mBAC/B,MAAM,CAACvB,mBAAS,CAAC;EACjB,iBAAA,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,EAAA,EAAK,OAAA,IAAI,QAAQ,CAAC,EAAG,IAAA,KAAK,GAAG,CAAC,CAAA,GAAGwB,gBAAS,CAAC,KAAK,GAAG,CAAC,CAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAA5G,EAA4G,CAAC,CAAC;cACtI,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;EACjG,SAAA;EAED,QAAA,OAAO,QAAQ,CAAC;OACjB,EAAE,EAAE,CAAC,CAAC;EACT,CAAC;EAEK,SAAU,4BAA4B,CAAC,OAAsB,EAAA;EACjE,IAAA,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,QAAyC,EAAE,IAAiB,EAAA;;UAEjF,IAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC,MAAM,CAAC;UACvE,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;cACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;cACtG,IAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CACzC,UAAC,IAAI,EAAE,KAAK,EAAK,EAAA,OAAA,IAAI,QAAQ,CAAC,MAAG,KAAK,GAAG,CAAC,CAAA,GAAGA,gBAAS,CAAC,KAAK,GAAG,CAAC,CAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA,EAAA,CACpI,CAAC;cACF,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;EACrH,SAAA;EAAM,aAAA;cACL,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;EACvG,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,EAAE,EAAE,CAAC,CAAC;EACT;;ECrDM,SAAU,kBAAkB,CAAC,MAAc,EAAA;;EAE/C,IAAA,QAAQ,MAAM;EACZ,QAAA,KAAKC,iCAAuB;EAC1B,YAAA,OAAO,OAAO,CAAC;EACjB,QAAA,KAAKC,oBAAU;EACb,YAAA,OAAO,SAAS,CAAC;EACnB,QAAA,KAAKC,sBAAY;EACf,YAAA,OAAO,MAAM,CAAC;EAChB,QAAA,KAAKC,uBAAa;EAChB,YAAA,OAAO,OAAO,CAAC;EACjB,QAAA;EACE,YAAA,OAAO,MAAM,CAAC;EACjB,KAAA;EACH;;ECbM,SAAU,aAAa,CAAC,SAAkB,EAAA;EAC9C,IAAA,OAAOjB,eAAQ,CAAC,SAAS,CAAC,IAAIN,aAAM,CAAc,SAAS,EAAE,OAAO,CAAC,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC;EAC/G;;ECkBgB,SAAA,uBAAuB,CACrC,MAA6B,EAC7B,MAA6B,EAAA;MAE7B,IAAM,wBAAwB,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACzB,MAAM,CAAA,EACN,MAAM,CAAA,EAAA,EACT,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,YAAY,EAAE,MAAM,CAAC,YAAY,EACjC,MAAM,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACD,MAAM,CAAC,MAAM,CAAA,EACb,MAAM,CAAC,MAAM,CAAA,EAAA,CAEnB,CAAC;EACF,IAAA,OAAO,wBAAwB,CAAC;EAClC,CAAC;EAEe,SAAA,sBAAsB,CACpC,MAAoC,EACpC,MAAoC,EAAA;;MAEpC,IAAM,uBAAuB,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAsC,MAAM,CAAE,CAAC;;UAC5E,KAAkB,IAAA,EAAA,GAAA,QAAA,CAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAlC,YAAA,IAAM,GAAG,GAAA,EAAA,CAAA,KAAA,CAAA;EACZ,YAAA,IAAI,uBAAuB,CAAC,GAAG,CAAC,EAAE;EAChC,gBAAA,uBAAuB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;EAC7F,aAAA;EAAM,iBAAA;kBACL,uBAAuB,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;EAC5C,aAAA;EACF,SAAA;;;;;;;;;EACD,IAAA,OAAO,uBAAuB,CAAC;EACjC,CAAC;EAEe,SAAA,wBAAwB,CAAC,MAA2B,EAAE,MAA2B,EAAA;;EAE/F,IAAA,IAAM,MAAM,GAAsC,uBAAuB,CAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;EACvH,IAAA,IAAM,iBAAiB,GAAiC,sBAAsB,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;EACnI,IAAA,IAAM,yBAAyB,GAC1B,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACN,EAAA,MAAM,KACT,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,EAClD,MAAM,EAAA,MAAA,EACN,iBAAiB,EAAA,iBAAA,GAClB,CAAC;EACF,IAAA,OAAO,yBAAyB,CAAC;EACnC,CAAC;EAEe,SAAA,wBAAwB,CACtC,MAA0C,EAC1C,MAA0C,EAAA;;MAE1C,IAAM,OAAO,GAAuC,EAAE,CAAC;8BAC5C,MAAM,EAAA;UACf,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA,EAAA,CAAC,CAAC;EAC1E,QAAA,IAAI,YAAY,EAAE;cAChB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAe,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;EAC3E,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACtB,SAAA;;;EANH,QAAA,KAAqB,IAAA,QAAA,GAAA,QAAA,CAAA,MAAM,CAAA,EAAA,UAAA,GAAA,QAAA,CAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,IAAA,EAAA,UAAA,GAAA,QAAA,CAAA,IAAA,EAAA,EAAA;EAAtB,YAAA,IAAM,MAAM,GAAA,UAAA,CAAA,KAAA,CAAA;sBAAN,MAAM,CAAA,CAAA;EAOhB,SAAA;;;;;;;;;EACD,IAAA,OAAO,OAAO,CAAC;EACjB,CAAC;EAEe,SAAA,oCAAoC,CAClD,MAAgF,EAChF,MAAgF,EAAA;EAEhF,IAAA,IAAM,OAAO,GAAuC,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;EAC7G,IAAA,IAAM,iBAAiB,GAAiC,sBAAsB,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;MACnI,IAAM,qCAAqC,GACtC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACN,EAAA,MAAM,CACT,EAAA,EAAA,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,MAAM,CAAC,uBAAuB,EACzF,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,oBAAoB,EAChF,OAAO,EAAA,OAAA,EACP,iBAAiB,EAAA,iBAAA,GAClB,CAAC;EACF,IAAA,OAAO,qCAAqC,CAAC;EAC/C,CAAC;EAEe,SAAA,sBAAsB,CAAC,MAA6B,EAAE,MAA6B,EAAA;;MACjG,IAAM,MAAM,GAAW,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;MACtD,IAAM,KAAK,GAAmB,EAAE,CAAC;8BACtB,UAAU,EAAA;UACnB,IAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAA,EAAA,CAAC,CAAC;EACpF,QAAA,IAAI,UAAU,EAAE;cACd,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;EACvD,SAAA;EAAM,aAAA;EACL,YAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACxB,SAAA;;;EANH,QAAA,KAAyB,IAAA,EAAA,GAAA,QAAA,CAAA,MAAM,CAAC,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAhC,YAAA,IAAM,UAAU,GAAA,EAAA,CAAA,KAAA,CAAA;sBAAV,UAAU,CAAA,CAAA;EAOpB,SAAA;;;;;;;;;EACD,IAAA,IAAM,uBAAuB,GAA+B,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAK,EAAA,MAAM,KAAE,MAAM,EAAA,MAAA,EAAE,KAAK,EAAA,KAAA,EAAA,CAAE,CAAC;EAC/F,IAAA,OAAO,uBAAuB,CAAC;EACjC,CAAC;EAEe,SAAA,qBAAqB,CAAC,MAAoB,EAAE,MAAoB,EAAA;EAC9E,IAAA,IAAM,sBAAsB,GAAsB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAK,EAAA,MAAM,CAAE,CAAC;EACtE,IAAA,OAAO,sBAAsB,CAAC;EAChC,CAAC;EAEe,SAAA,oBAAoB,CAAC,MAA2B,EAAE,MAA2B,EAAA;;EAC3F,IAAA,IAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAsB,CAAC;MACrF,IAAM,KAAK,GAAmB,EAAE,CAAC;8BACtB,UAAU,EAAA;UACnB,IAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU,CAAA,EAAA,CAAC,CAAC;EACpF,QAAA,IAAI,UAAU,EAAE;cACd,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;EACvD,SAAA;EAAM,aAAA;EACL,YAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACxB,SAAA;;;EANH,QAAA,KAAyB,IAAA,EAAA,GAAA,QAAA,CAAA,MAAM,CAAC,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAhC,YAAA,IAAM,UAAU,GAAA,EAAA,CAAA,KAAA,CAAA;sBAAV,UAAU,CAAA,CAAA;EAOpB,SAAA;;;;;;;;;EACD,IAAA,IAAM,qBAAqB,GAA6B,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAK,EAAA,MAAM,KAAE,KAAK,EAAA,KAAA,EAAE,KAAK,EAAA,KAAA,EAAA,CAAE,CAAC;EAC1F,IAAA,OAAO,qBAAqB,CAAC;EAC/B,CAAC;EAEe,SAAA,iBAAiB,CAAC,MAAoB,EAAE,MAAoB,EAAA;EAC1E,IAAA,IAAI,kBAA4C,CAAC;MACjD,IAAIlD,uCAA6B,CAAC,MAAM,CAAC,IAAIA,uCAA6B,CAAC,MAAM,CAAC,EAAE;EAClF,QAAA,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EAC/D,KAAA;WAAM,IACL,CAACE,wCAA8B,CAAC,MAAM,CAAC,IAAIA,wCAA8B,CAAC,MAAM,CAAC;WAChFG,wCAA8B,CAAC,MAAM,CAAC,IAAIA,wCAA8B,CAAC,MAAM,CAAC,CAAC;WACjFO,8CAAoC,CAAC,MAAM,CAAC,IAAIA,8CAAoC,CAAC,MAAM,CAAC,CAAC,EAC9F;EACA,QAAA,kBAAkB,GAAG,oCAAoC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EAC3E,KAAA;WAAM,IAAIM,yCAA+B,CAAC,MAAM,CAAC,IAAIA,yCAA+B,CAAC,MAAM,CAAC,EAAE;EAC7F,QAAA,kBAAkB,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EAC7D,KAAA;WAAM,IAAIC,uCAA6B,CAAC,MAAM,CAAC,IAAIA,uCAA6B,CAAC,MAAM,CAAC,EAAE;EACzF,QAAA,kBAAkB,GAAG,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;EAC3D,KAAA;EAAM,SAAA;EACL,QAAA,kBAAkB,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAK,EAAA,MAAM,CAAE,CAAC;EAC/C,KAAA;EACD,IAAA,OAAO,kBAAkB,CAAC;EAC5B,CAAC;EAEe,SAAA,aAAa,CAAC,MAAgB,EAAE,MAAgB,EAAA;;;MAC9D,IAAM,WAAW,GAAmB,EAAE,CAAC;8BAC5B,IAAI,EAAA;EACb,QAAA,IAAM,UAAU,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAhC,EAAgC,CAAC,CAAC;EAC/E,QAAA,IAAI,UAAU,EAAE;cACd,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;EACvD,SAAA;EAAM,aAAA;EACL,YAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACxB,SAAA;;;EANH,QAAA,KAAmB,IAAA,EAAA,GAAA,QAAA,CAAA,MAAM,CAAC,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA1B,YAAA,IAAM,IAAI,GAAA,EAAA,CAAA,KAAA,CAAA;sBAAJ,IAAI,CAAA,CAAA;EAOd,SAAA;;;;;;;;;EACD,IAAA,IAAM,cAAc,GAAkB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CAAK,EAAA,MAAM,KAAE,KAAK,EAAE,WAAW,EAAA,CAAE,CAAC;EAC9E,IAAA,OAAO,cAAc,CAAC;EACxB;;EClKA;;;;;;;;;EASG;EACG,SAAU,gBAAgB,CAC9B,UAAkB,EAClB,IAAc,EACd,MAAoB,EACpB,IAA+C,EAAA;;;EAE/C,IAAA,IAAI,UAAU,KAAK,IAAI,CAAC,UAAU,EAAE;;;EAGlC,QAAA,OAAO,IAAI,CAAC;EACb,KAAA;;EAGD,IAAA,IAAI,CAAA,EAAA,GAAA,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,gBAAgB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,yBAAyB,CAAC,MAAM,EAAE;;UAE5D,IAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;EAClD,QAAA,IAAI+B,aAAM,CAAgB,KAAK,EAAE,OAAO,CAAC,EAAE;;kBACzC,KAAoB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAhE,oBAAA,IAAM,KAAK,GAAA,EAAA,CAAA,KAAA,CAAA;sBACd,IAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;;;EAGpD,oBAAA,IAAI,aAAa,EAAE;EACjB,wBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,IAAI,CAAA,EAAA,EAAE,MAAM,EAAE,OAAO,EAAG,CAAA,CAAA;EACrC,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;EACF,KAAA;;EAGD,IAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,MAAM,EAAA,MAAA,EAAG,CAAA,CAAA;EAC7B;;ECtBA;AACa,MAAA,sBAAsB,GAAqB;EACtD,IAAA,KAAK,EAAE,SAAS,CAAAvG,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,+CAAA,CAAA,EAAA,CAAA,+CAA+C,CAAA,CAAA,CAAA,CAAA;EAC/D,IAAA,GAAG,EAAE,UAAC,IAAoE,EAAA,EACxE,OAAA,CAAC6C,gBAAS,CAAC,IAAI,CAAC,IAAI,CAACA,gBAAS,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAC;EAC5C,UAAE,SAAS,CAAA5C,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,kCAAA,CAAA,EAAA,CAAA,kCAAkC,CAC7C,CAAA,CAAA,CAAA,GAAE4C,gBAAS,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAC;YACzB,SAAS,CAAA3C,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,EAAA,KAAA,CAAA,EAAA,CAAA,aAAc,EAAa,KAAK,CAAA,CAAA,CAAA,EAAlB,IAAI,CAAC,QAAQ,CAAA,GACpC,EAAE,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,EAAA,EAAA,CAAA,EAAA,CAAA,aAAc,EAAa,EAAE,CAAf,CAAA,CAAA,EAAA,IAAI,CAAC,QAAQ,CAAE,CAAA,EAAA;EACjD,IAAA,SAAS,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,8CAA8C,CAAA,CAAA,CAAA,CAAA;EAClE,IAAA,WAAW,EAAE,IAAI;EACjB,IAAA,GAAG,EAAE,UAAC,IAAoE,EAAA,EACxE,OAAA,CAACyC,gBAAS,CAAC,IAAI,CAAC,IAAI,CAACA,gBAAS,CAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,QAAQ,CAAC;EAC5C,UAAE,SAAS,CAAAxC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,qCAAA,CAAA,EAAA,CAAA,qCAAqC,CAAA,CAAA,CAAA,CAAA,GAC9C,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,EAAA,EAAA,CAAA,EAAA,CAAA,aAAc,EAAa,EAAE,CAAA,CAAA,CAAA,EAAf,IAAI,CAAC,QAAQ,IAAKuC,gBAAS,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC;EACpE,UAAE,SAAS,CAAAtC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,EAAA,EAAA,CAAA,EAAA,CAAA,gBAAiB,EAAa,EAAE,CAAA,CAAA,CAAA,EAAf,IAAI,CAAC,QAAQ,CACzC,GAAE,EAAE,GAAA;EACR,IAAA,SAAS,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,8CAAA,CAAA,EAAA,CAAA,8CAA8C,CAAA,CAAA,CAAA,CAAA;EAClE,IAAA,WAAW,EAAE,IAAI;EACjB,IAAA,QAAQ,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,qCAAA,CAAA,EAAA,CAAA,qCAAqC,CAAA,CAAA,CAAA,CAAA;EACxD,IAAA,OAAO,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,wDAAA,CAAA,EAAA,CAAA,wDAAwD,CAAA,CAAA,CAAA,CAAA;EAC1E,IAAA,QAAQ,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,wCAAA,CAAA,EAAA,CAAA,wCAAwC,CAAA,CAAA,CAAA,CAAA;EAC3D,IAAA,QAAQ,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,CAAA,CAAA,CAAA,CAAA;EAC5C,IAAA,YAAY,EAAE,6CAA6C;EAC3D,IAAA,WAAW,EAAE,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,sCAAA,CAAA,EAAA,CAAA,sCAAsC,CAAA,CAAA,CAAA,CAAA;EAC5D,IAAA,kBAAkB,EAAE,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,+CAAA,CAAA,EAAA,CAAA,+CAA+C,CAAA,CAAA,CAAA,CAAA;IAC5E;MAEW,sBAAsB,GAAG,IAAIkG,iBAAc,CAAe,6BAA6B,EAAE;AAGtG,MAAA,eAAA,kBAAA,YAAA;;MAYE,SAAoB,eAAA,CAAA,MAAiB,EAA8C,MAAY,EAAA;EAA3E,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;;EAV7B,QAAA,IAAW,CAAA,WAAA,GAAqD,EAAE,CAAC;;EAEnE,QAAA,IAAU,CAAA,UAAA,GAAsD,EAAE,CAAC;;EAEnE,QAAA,IAAa,CAAA,aAAA,GAAsC,EAAE,CAAC;;EAEtD,QAAA,IAAgB,CAAA,gBAAA,GAAqE,EAAE,CAAC;;;EAO9F,QAAA,IAAI,CAAC,MAAM,GAAG,MAAsB,CAAC;OACtC;EAED,IAAA,eAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;UACE,OAAY,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,aAAa,CAAG,CAAA;OAClC,CAAA;EAED;;;;;EAKG;EACH,IAAA,eAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,UAAS,OAAe,EAAE,IAA4B,EAAA;;EAEpD,QAAA,IAAI,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;UAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE;;cAE3B,IAAIjE,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAIA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;EAC/F,gBAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;;EAE/C,aAAA;mBAAM,IAAIA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAIA,gBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;EAC9F,gBAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;EAC3C,aAAA;EACF,SAAA;EACD,QAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;OAC1D,CAAA;EAED;;;;EAIG;MACH,eAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,EAAU,EAAA;EAChB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;OAC5B,CAAA;EAED;;;EAGG;MACH,eAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,GAAyB,EAAA;EAC3C,QAAA,KAAK,IAAM,EAAE,IAAI,GAAG,EAAE;EACpB,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;EACjD,gBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;EACzB,oBAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAIkF,oBAAe,CAAgB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;EACpE,iBAAA;EAAM,qBAAA;EACL,oBAAA,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;EACpC,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;EAGG;MACH,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,SAAkC,EAAA;UAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;EACvD,QAAA,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;cACtE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;EACnD,gBAAA,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAIA,oBAAe,CAAgB,IAAI,CAAC,CAAC;EAC3F,aAAA;EACD,YAAA,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,YAAY,EAAE,CAAC;EACxF,SAAA;OACF,CAAA;EAED;;;;;;;;EAQG;MACH,eAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,cAA6B,EAAE,eAA8B,EAAE,OAAgB,EAAE,QAAgB,EAAE,KAAa,EAAA;;EAAb,QAAA,IAAA,KAAA,KAAA,KAAA,CAAA,EAAA,EAAA,KAAa,GAAA,KAAA,CAAA,EAAA;EAC9H,QAAA,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,MAAM,MAAM,CAAC,eAAe,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;cAChG,OAAO;EACR,SAAA;EACD,QAAA,IAAM,MAAM,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;EACjD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EACtC,YAAA,IAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;EAC1B,YAAA,IAAM,SAAS,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC;;EAC/C,gBAAA,KAAiB,IAAA,SAAA,IAAA,GAAA,GAAA,KAAA,CAAA,EAAA,QAAA,CAAA,OAAO,CAAA,CAAA,gCAAA,EAAE,CAAA,WAAA,CAAA,IAAA,EAAA,WAAA,GAAA,SAAA,CAAA,IAAA,EAAA,EAAA;EAArB,oBAAA,IAAM,EAAE,GAAA,WAAA,CAAA,KAAA,CAAA;sBACX,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;;EAEtC,oBAAA,IAAI,SAAS,EAAE;EACb,wBAAA,IAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;0BAC5B,IAAM,mBAAmB,GAAGC,2BAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;;EAElH,wBAAA,IAAI,mBAAmB,EAAE;EACvB,4BAAA,IAAI,KAAK,EAAE;kCACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;EAC/C,6BAAA;;;EAGD,4BAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAIA,2BAAiB,CAAC,IAAI,CAAC,EAAE;EACtE,gCAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;EAC9E,6BAAA;;8BAED,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;EAC9D,yBAAA;EAAM,6BAAA;;EAEL,4BAAA,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;EAC3D,yBAAA;EACF,qBAAA;EAAM,yBAAA;0BACL,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;EAC5F,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;OACF,CAAA;EAED;;;EAGG;MACK,eAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,WAA4B,EAAA;;;UAC3D,IAAM,QAAQ,GAAmC,EAAE,CAAC;EACpD,QAAA,IAAM,MAAM,GAAG,CAAA,CAAA,EAAA,GAAA,WAAW,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,KAAI,EAAE,CAAC;;EAEpD,YAAA,KAAiB,IAAA,QAAA,GAAA,QAAA,CAAA,MAAM,CAAA,8BAAA,EAAE,CAAA,UAAA,CAAA,IAAA,EAAA,UAAA,GAAA,QAAA,CAAA,IAAA,EAAA,EAAA;EAApB,gBAAA,IAAM,EAAE,GAAA,UAAA,CAAA,KAAA,CAAA;kBACX,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;EACtC,gBAAA,IAAI,SAAS,EAAE;sBACb,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE;EAChE,wBAAA,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;EACjE,qBAAA;EACF,iBAAA;EAAM,qBAAA;EACL,oBAAA,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,EAAE,CAAC,CAAC;EACnF,iBAAA;EACF,aAAA;;;;;;;;;EAED,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;EAED;;;EAGG;EACH,IAAA,eAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;EACE,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;EACtB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;EACrB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;EACxB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;OAC5B,CAAA;EAED;;;;;EAKG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,UAAmC,EAAE,SAAiB,EAAA;;EACjF,QAAA,IAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;;EAE7B,QAAA,IAAIC,0BAAgB,CAAC,IAAI,CAAC,EAAE;EAC1B,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAC,CAAA,EAAA,GAAA,UAAU,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA,CAAC;EAC5E,SAAA;EAAM,aAAA,IAAIC,+BAAqB,CAAC,IAAI,CAAC,EAAE;cACtC,IAAM,OAAK,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAU,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,KAAK,CAAC;EACtD,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAK,CAAC,EAAE;;;kBAGxB,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,QAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,EAAA,EAAK,OAAA,EAAE,KAAK,SAAS,CAAhB,EAAgB,CAAC,GAAG,CAAC,GAAG,IAAI,IAAC,CAAC,CAAC,MAAM,CAACrF,gBAAS,CAAC,CAAC;EAC/H,gBAAA,OAAO,aAAa,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,OAAK,CAAC,CAAC,CAAC,CAAV,EAAU,CAAC,CAAC;EAC9C,aAAA;mBAAM,IAAI,OAAO,OAAK,KAAK,QAAQ,IAAI,OAAK,CAAC,MAAM,EAAE;;EAEpD,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,OAAK,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,EAAE,EAAK,EAAA,OAAA,EAAE,KAAK,SAAS,CAAhB,EAAgB,CAAC,CAAtE,EAAsE,CAAC,CAAC;EACzG,aAAA;EACF,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;EAED;;;;;EAKG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,UAAwB,SAAkC,EAAE,OAAgB,EAAE,QAAgB,EAAA;;EACpG,QAAA,IAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;EAC5B,QAAA,IAAM,QAAQ,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAE,CAAC;EAC/D,QAAA,IAAI,SAAkB,CAAC;EACvB,QAAA,IAAI,OAAO,EAAE;EACX,YAAA,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;cAC9B,SAAS;kBACPmF,2BAAiB,CAAC,IAAI,CAAC;sBACvB,CAAC,CAAC,IAAI,CAAC,SAAS;EAChB,qBAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,UAAC,EAAE,EAAA,EAAK,OAAA,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC,CAAC;EACzF,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;cAC1B,SAAS,GAAG,EAAE,CAACA,2BAAiB,CAAC,IAAI,CAAC,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,WAAW,CAAA,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;EAC1G,SAAA;;UAED,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;EACxC,YAAA,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;EAC3D,SAAA;;UAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC;OACnD,CAAA;EAED;;;;EAIG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,SAAkC,EAAE,OAAgB,EAAA;;EAC9E,QAAA,IAAI,OAAO,IAAI,EAAC,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,EAAE;;EAE1C,YAAA,IAAI,SAAS,CAAC,OAAO,YAAY7C,YAAS,EAAE;EAC1C,gBAAA,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;EAC3C,aAAA;EAAM,iBAAA;kBACL,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,EAAE,CAAC;EAC7B,aAAA;EACF,SAAA;EAAM,aAAA,IAAI,CAAC,OAAO,KAAI,CAAA,EAAA,GAAA,SAAS,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,EAAE;;EAEjD,YAAA,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;;;EAIG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,UAA+B,SAAkC,EAAE,OAAgB,EAAA;EACzF,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;EACzD,QAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;EAC7C,QAAA,IAAI6C,2BAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE;EACrE,YAAA,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;;;;EAKG;MACK,eAAyB,CAAA,SAAA,CAAA,yBAAA,GAAzB,UAA0B,IAA6B,EAAA;;EAC7D,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,OAAoB,CAAC;EAExC,QAAA,IAAIC,0BAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAIC,+BAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;EACnE,YAAA,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;EACpC,YAAA,IAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAC7C,YAAA,IAAI,aAAJ,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJ,IAAI,CAAE,MAAM,EAAE,CAAC;EACf,YAAA,KAAK,IAAM,QAAQ,IAAI,GAAG,EAAE;EAC1B,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;EACvD,oBAAA,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;sBAC5D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;EACrC,wBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EAC3C,qBAAA;EACF,iBAAA;EACF,aAAA;EACF,SAAA;EAAM,aAAA,IAAI3B,aAAM,CAAqC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;;;kBAEnG,KAAmB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA/B,oBAAA,IAAM,IAAI,GAAA,EAAA,CAAA,KAAA,CAAA;sBACb,IAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACnD,oBAAA,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;EAC3B,wBAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EAC3C,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;UACD,KAAK,CAAC,sBAAsB,EAAE,CAAC;OAChC,CAAA;EAED;;;;EAIG;MACK,eAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAgC,EAAA;EAClD,QAAA,IAAM,uBAAuB,GAAG1D,gBAAS,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;UAC/E,IAAI,CAAC,uBAAuB,EAAE;EAC5B,YAAA,OAAOmF,2BAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;EACxD,SAAA;EAAM,aAAA;cACL,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAC5C,SAAA;OACF,CAAA;;;EApSU,eAAA,CAAA,IAAA,GAAAhD,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,sDAYiC,sBAAsB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAZtE,eAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA;oHACnB,eAAe,EAAA,UAAA,EAAA,CAAA;oBAD3BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;gCAaQkD,WAAQ;;gCAAIC,SAAM;iCAAC,sBAAsB,CAAA;;;;;EC9DnF,IAAM,sBAAsB,GAAGC,yBAAoB,gBAAA,YAAA;EAAC,IAAA,SAAA,OAAA,GAAA;OAAQ;MAAA,OAAA,OAAA,CAAA;EAAA,CAAR,IAAS,CAAC;EAK9D;EACA,IAAA,kBAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAsB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAA;EA8C9B,IAAA,SAAA,kBAAA,CAAsB,GAAsB,EAAA;EAA5C,QAAA,IAAA,KAAA,GACE,iBAAO,IACR,IAAA,CAAA;EAFqB,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;EAlCpC,QAAA,KAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;EAU1C,QAAA,KAAgB,CAAA,gBAAA,GAA8B,UAAU,CAAC;EASzD,QAAA,KAAU,CAAA,UAAA,GAAG,KAAK,CAAC;;OAiB5B;EA3CD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAkC,EAAA;EAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAe,CAAA,SAAA,EAAA,iBAAA,EAAA;EADnB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,gBAAgB,CAAC;WAC9B;EACD,QAAA,GAAA,EAAA,UAAoB,KAAgC,EAAA;EAClD,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;EAC9B,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;WACzB;;;EAJA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAQ,EAAA;EACf,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CAAI,kBAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;WACjF;;;EAAA,KAAA,CAAA,CAAA;;GA7CH,CACU,sBAAsB;wIADV,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAArD,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAlB,kBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,8MAH5B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,kBAAkB,EAAA,UAAA,EAAA,CAAA;oBAJvCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHAMU,KAAK,EAAA,CAAA;wBAAbC,QAAK;kBAGF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,eAAe,EAAA,CAAA;wBADlBA,QAAK;kBAWF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;;;ECpCR;AACA,MAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAAqB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;EAsB7B,IAAA,SAAA,yBAAA,CAAY,GAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAJS,QAAA,KAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;OAI3B;EArBD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAA6B,EAAA;EACvC,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,KAAc,EAAA;EACzB,YAAA,IAAI,CAAC,SAAS,GAAGC,8BAAqB,CAAC,KAAK,CAAC,CAAC;EAC9C,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;WACzB;;;EAJA,KAAA,CAAA,CAAA;MAWS,yBAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,IAAa,EAAA;;UAC9B,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;UAC5B,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;OAC9B,CAAA;;GAhCH,CAGU,kBAAqB;+IAHT,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAxD,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,4IAHnC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAJ9CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHASK,OAAO,EAAA,CAAA;wBADVC,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;;;ECjBR;AACA,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAA2E,SAAuC,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;EAchH,IAAA,SAAA,mBAAA,CAAY,GAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EARO,QAAA,KAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;;OAQxC;EAfD,IAAA,MAAA,CAAA,cAAA,CACI,mBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,mBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAc,EAAA;UAC9C,OAAO,IAAI,CAAC,UAAU,CAAC;OACxB,CAAA;;GAZH,CAA2E,yBAAuC;yIAA5F,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAvD,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,0HAH7B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAJxCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHAIK,SAAS,EAAA,CAAA;wBADZC,QAAK;;;ECDR;AACA,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAA+B,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;EAPzC,IAAA,SAAA,mBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA8BC,CAAA,CAAA,IAAA,IAAA,CAAA;EAbS,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAEmB,QAAA,KAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;;OAWpE;EApBC,IAAA,MAAA,CAAA,cAAA,CACI,mBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EASD,IAAA,MAAA,CAAA,cAAA,CACI,mBAAU,CAAA,SAAA,EAAA,YAAA,EAAA;;EADd,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,mBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,KAAa,EAAE,MAA2C,EAAA;EACzE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;OACzB,CAAA;;GAzBH,CAGU,yBAA+B;yIAHnB,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAvD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,2OAH7B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAJxCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;gCASK,MAAM,EAAA,CAAA;wBADTC,QAAK;kBASqC,gBAAgB,EAAA,CAAA;wBAA1DE,cAAW;yBAAC,4BAA4B,CAAA;kBAIrC,UAAU,EAAA,CAAA;wBADbA,cAAW;yBAAC,iBAAiB,CAAA;;;ECnBhC;AACA,MAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;MAAiH,SAAyB,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;EAJ1I,IAAA,SAAA,yBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA8BC,CAAA,CAAA,IAAA,IAAA,CAAA;EAlBS,QAAA,KAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;EAe/B,QAAA,KAAA,CAAA,eAAe,GAAG,IAAIC,eAAY,EAAuB,CAAC;;OAGrE;EAzBC,IAAA,MAAA,CAAA,cAAA,CACI,yBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CAAa,yBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EAApB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,OAAO,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAqB,OAA6B,EAAA;;EAEhD,YAAA,IAAI,OAAO,YAAYvD,YAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EACrE,gBAAA,MAAA,CAAA,SAAA,CAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAM,CAAC;EACvD,gBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;EAC/B,aAAA;EAAM,iBAAA;kBACL,MAAM,CAAA,SAAA,CAAA,OAAO,GAAG,OAAO,CAAC;EACzB,aAAA;WACF;;;EATA,KAAA,CAAA,CAAA;;GAZH,CAAiH,mBAAyB;+IAApH,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,2KAHnC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAJ9CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;gCAIK,SAAS,EAAA,CAAA;wBADZC,QAAK;kBAsBI,eAAe,EAAA,CAAA;wBAAxBI,SAAM;;;ECzBT;AACA,MAAA,qBAAA,kBAAA,UAAA,MAAA,EAAA;MAAuE,SAAsB,CAAA,qBAAA,EAAA,MAAA,CAAA,CAAA;EAY3F,IAAA,SAAA,qBAAA,CAAY,GAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAJS,QAAA,KAAA,CAAA,OAAO,GAAG,IAAID,eAAY,EAAY,CAAC;;OAIhD;EAbD,IAAA,MAAA,CAAA,cAAA,CACI,qBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;;GAJH,CAAuE,mBAAsB;2IAAvE,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA1D,aAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAArB,qBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,iJAH/B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAJ1CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;qHAIK,IAAI,EAAA,CAAA;wBADPC,QAAK;kBASI,OAAO,EAAA,CAAA;wBAAhBI,SAAM;;;ECRT;AACA,MAAA,wCAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAyC,CAAA,wCAAA,EAAA,MAAA,CAAA,CAAA;EADnD,IAAA,SAAA,wCAAA,GAAA;;;EAME,IAAA,wCAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UAAA,IAIC,KAAA,GAAA,IAAA,CAAA;;EAHC,QAAA,IAAI9F,gBAAS,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,EAAE;cAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAI,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,0CAAE,KAAK,MAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAA,EAAA,CAAC,CAAC;EAC1F,SAAA;OACF,CAAA;EAED;;;;EAIG;MACH,wCAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,MAAwC,EAAA;;;EAGtD,QAAA,IAAI,MAAM,YAAY+F,mBAAc,IAAI,MAAM,YAAYC,oBAAe,EAAE;;cAEzE,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAA,EAAA,CAAC,CAAC;EAC3E,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE;;;;EAI3E,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;EACxB,oBAAA,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY;EAChD,oBAAA,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa;EAClD,oBAAA,OAAO,EAAE,KAAK;EACd,oBAAA,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,iBAAA,CAAC,CAAC;EACJ,aAAA;;EAED,YAAA,IAAI,MAAM,EAAE;EACV,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;sBACxB,cAAc,EAAE,MAAM,CAAC,YAAY;sBACnC,eAAe,EAAE,MAAM,CAAC,aAAa;EACrC,oBAAA,OAAO,EAAE,IAAI;EACb,oBAAA,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,iBAAA,CAAC,CAAC;EACJ,aAAA;;EAED,YAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;EAC9B,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,CAAC,IAAI,CAAC,sFAAsF,EAAE,MAAM,CAAC,CAAC;EAC9G,SAAA;OACF,CAAA;;GAhDH,CACU,yBAAyC;8JAD7B,wCAAwC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA7D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxC,wCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,sFAHlD,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGQ,wCAAwC,EAAA,UAAA,EAAA,CAAA;oBAJ7DsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;ECuBD;AACA,MAAA,kBAAA,kBAAA,UAAA,MAAA,EAAA;MAAwC,SAAqB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAA;EA8F3D,IAAA,SAAA,kBAAA,CACY,QAAkB,EAClB,GAA6B,EAC7B,GAAqB,EACM,gBAAkC,EAAA;UAJzE,IAME,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAC5C,IAAA,CAAA;EANW,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;EAClB,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAA0B;EAC7B,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;EACM,QAAA,KAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EA3EjE,QAAA,KAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;UAS1C,KAAA,CAAA,gBAAgB,GAAG,IAAIP,oBAAe,CAA4B,UAAU,CAAC,CAAC;EAShF,QAAA,KAAU,CAAA,UAAA,GAAG,KAAK,CAAC;EASnB,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAkBhB,QAAA,KAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;UAS/B,KAAA,CAAA,SAAS,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;EAWhD,QAAA,KAAA,CAAA,cAAc,GAAG,IAAIW,eAAY,EAAY,CAAC;EAE9C,QAAA,KAAA,CAAA,eAAe,GAAG,IAAIA,eAAY,EAAuB,CAAC;;OAWnE;EA9FD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAA2C,EAAA;EACrD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAkC,EAAA;EAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAe,CAAA,SAAA,EAAA,iBAAA,EAAA;EADnB,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;WACpC;EACD,QAAA,GAAA,EAAA,UAAoB,KAAgC,EAAA;EAClD,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;WACnC;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAGF,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC7C;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAe,EAAA;EACtB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;WAC7B;EACD,QAAA,GAAA,EAAA,UAAa,KAAc,EAAA;cACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAACA,8BAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;WACnD;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,kBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAqBD,IAAA,kBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,IAAI,IAAI,CAAC,IAAI,EAAE;cACb,MAAM,CAAA,SAAA,CAAA,QAAQ,WAAE,CAAC;EAClB,SAAA;OACF,CAAA;MAES,kBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,YAA+B,EAAA;UAAlD,IA2CT,KAAA,GAAA,IAAA,CAAA;EA1CC,QAAA,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,QAAmC,CAAC;UACxE,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;EAC1C,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;cACrC,IAAI,KAAI,CAAC,eAAe,EAAE;EACxB,gBAAA,KAAI,CAAC,eAAe,CAAC,eAAe,GAAG,MAAM,CAAC;EAC/C,aAAA;EACH,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;UACtC,IAAI,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;UACxC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;EAEhD,QAAA,IAAI,IAAI,CAAC,eAAe,YAAY,yBAAyB,EAAE;cAC7D,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;cAC5C,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;EAE9C,YAAA,IAAI,IAAI,CAAC,eAAe,YAAY,mBAAmB,EAAE;kBACvD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;EAE1C,gBAAA,IAAI,IAAI,CAAC,eAAe,YAAY,yBAAyB,EAAE;sBAC7D,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;;sBAEhD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA;EAClD,wBAAA,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClC,qBAAC,CAAC,CAAC;EAEH,oBAAA,IAAI,IAAI,CAAC,eAAe,YAAY,wCAAwC,EAAE;;EAE7E,qBAAA;EACF,iBAAA;EACF,aAAA;EACF,SAAA;EAED,QAAA,IAAI,IAAI,CAAC,eAAe,YAAY,mBAAmB,EAAE;cACvD,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;EAEhD,YAAA,IAAI,IAAI,CAAC,eAAe,YAAY,qBAAqB,EAAE;kBACzD,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;kBACtC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA;EAC1C,oBAAA,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACjC,iBAAC,CAAC,CAAC;EACJ,aAAA;EACF,SAAA;OACF,CAAA;EAES,IAAA,kBAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;UACR,IAAI,IAAI,CAAC,IAAI,EAAE;EACb,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;EACzB,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;EAClF,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;;GAjKH,CAAwCM,0BAAqB;EAAhD,kBAAA,CAAA,IAAA,GAAA9D,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kBAAkB,mJAkGnB+D,sBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAlGhB,kBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,4YAHnB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAGD,kBAAkB,EAAA,UAAA,EAAA,CAAA;oBAL9BsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uBAAuB;EACjC,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;gCAoGIF,SAAM;iCAACW,sBAAiB,CAAA;;2BA7FlB,KAAK,EAAA,CAAA;wBAAbR,QAAK;kBAGF,OAAO,EAAA,CAAA;wBADVA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,eAAe,EAAA,CAAA;wBADlBA,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBASI,cAAc,EAAA,CAAA;wBAAvBI,SAAM;kBAEG,eAAe,EAAA,CAAA;wBAAxBA,SAAM;;;ACvHT,MAAA,sBAAA,kBAAA,YAAA;EACE,IAAA,SAAA,sBAAA,CAAoB,UAAwB,EAAA;EAAxB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;OAAI;MAEhD,sBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,CAA4B,EAAA;UACpC,IAAI,CAAC,CAAC,EAAE;EACN,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;UACD,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;OACnD,CAAA;;;4IARU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,eAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;0IAAtB,sBAAsB,EAAA,IAAA,EAAA,oBAAA,EAAA,CAAA,CAAA;oHAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAHlCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,oBAAoB;mBAC3B,CAAA;;AAgBD,MAAA,4BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,4BAAA,GAAA;;;;kJAAa,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mJAA5B,4BAA4B,EAAA,YAAA,EAAA,CAf5B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAAtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;mJAetB,4BAA4B,EAAA,CAAA,CAAA;oHAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBAJxCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;sBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;mBAClC,CAAA;;;ECjBD;;;;EAIG;AAQH,MAAA,yBAAA,kBAAA,YAAA;EAPA,IAAA,SAAA,yBAAA,GAAA;EAY4C,QAAA,IAAe,CAAA,eAAA,GAAG,IAAI,CAAC;EAWzD,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EAUlB,QAAA,IAAmB,CAAA,mBAAA,GAAG,KAAK,CAAC;EAU5B,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;EAIhB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;EAG1B,QAAA,IAAa,CAAA,aAAA,GAAG,0CAAwC,CAAC;OAC1D;EAnCC,IAAA,MAAA,CAAA,cAAA,CACI,yBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,QAAiB,EAAA;EAC5B,YAAA,IAAI,CAAC,SAAS,GAAGV,8BAAqB,CAAC,QAAQ,CAAC,CAAC;WAClD;;;EAHA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAkB,CAAA,SAAA,EAAA,oBAAA,EAAA;;EADtB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,mBAAmB,CAAC;WACjC;EACD,QAAA,GAAA,EAAA,UAAuB,kBAA2B,EAAA;EAChD,YAAA,IAAI,CAAC,mBAAmB,GAAGA,8BAAqB,CAAC,kBAAkB,CAAC,CAAC;WACtE;;;EAHA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,yBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAAgB,EAAA;EAC1B,YAAA,IAAI,CAAC,QAAQ,GAAGA,8BAAqB,CAAC,OAAO,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;;;+IAhCU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAxD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,6UCftC,qWAOA,EAAA,MAAA,EAAA,CAAA,8ZAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAG,sBAAA,EAAA,EAAA,eAAA,EAAAnE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDQa,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAPrCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,qBAAqB;EAC/B,oBAAA,WAAW,EAAE,8BAA8B;sBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;sBAC3C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;gCAM2C,eAAe,EAAA,CAAA;wBAAxDZ,cAAW;yBAAC,2BAA2B,CAAA;kBAE/B,eAAe,EAAA,CAAA;wBAAvBF,QAAK;kBAGF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAWF,kBAAkB,EAAA,CAAA;wBADrBA,QAAK;kBAWF,OAAO,EAAA,CAAA;wBADVA,QAAK;kBASG,YAAY,EAAA,CAAA;wBAApBA,QAAK;kBAEG,QAAQ,EAAA,CAAA;wBAAhBA,QAAK;;;EEhCR;;;;;;;EAOG;AASH,MAAA,uBAAA,kBAAA,YAAA;MAuFE,SAAoB,uBAAA,CAAA,WAAuB,EAAU,SAA0B,EAAA;EAA3D,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;EAAU,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EAtFzC,QAAA,IAAO,CAAA,OAAA,GAAG,IAAI,CAAC;EAyB7C,QAAA,IAAO,CAAA,OAAA,GAAgC,IAAI,CAAC;EAS5C,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;EASnB,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAkBhB,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;EAS/B,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EAWlB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAIG,eAAY,EAAY,CAAC;UAGxD,IAAA,CAAA,gBAAgB,GAAG,IAAIX,oBAAe,CAA4B,UAAU,CAAC,CAAC;OAEK;EApFnF,IAAA,MAAA,CAAA,cAAA,CACI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;WAC9C;;;EAAA,KAAA,CAAA,CAAA;EAID,IAAA,MAAA,CAAA,cAAA,CACI,uBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,OAA2C,EAAA;EACrD,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAkC,EAAA;EAC3C,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAGS,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC7C;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAe,EAAA;EACtB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,KAAc,EAAA;EACzB,YAAA,IAAI,CAAC,SAAS,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC/C;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;EAaD,IAAA,uBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;EACE,QAAA,IAAIR,2BAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;EAChC,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;EAChE,SAAA;EACD,QAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;EAElC,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,aAAW,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAG,CAAC,CAAC;OACjG,CAAA;MAED,uBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAAyB,EAAA;UACvC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;OACpH,CAAA;MAED,uBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,MAAiC,EAAA;EACrD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;OACpC,CAAA;;;6IAxGU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAhD,aAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAsE,eAAA,EAAA,CAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,ECvCpC,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,2nCAkCA,EDGc,MAAA,EAAA,CAAA,6KAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAuE,aAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAA,aAAA,CAAA,SAAA,EAAA,EAAA,UAAA,EAAA,CAAC,uBAAuB,CAAC,EAAA,eAAA,EAAA1E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAE1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBARnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,cAAc;EACxB,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;sBACrC,UAAU,EAAE,CAAC,uBAAuB,CAAC;mBACtC,CAAA;yIAEuC,OAAO,EAAA,CAAA;wBAA5CZ,cAAW;yBAAC,uBAAuB,CAAA;kBAGhC,SAAS,EAAA,CAAA;wBADZA,cAAW;yBAAC,SAAS,CAAA;kBAKb,KAAK,EAAA,CAAA;wBAAbF,QAAK;kBAGF,OAAO,EAAA,CAAA;wBADVA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAUF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBASI,cAAc,EAAA,CAAA;wBAAvBI,SAAM;;;EEpHT;;EAEG;AAKH,MAAA,gCAAA,kBAAA,YAAA;MACE,SACkC,gCAAA,CAAA,IAA8B,EACvD,SAAkE,EAAA;EADzC,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA0B;EACvD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyD;OACvE;;;EAJO,gCAAA,CAAA,IAAA,GAAA3D,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gCAAgC,kBAEjC2E,oBAAe,EAAA,EAAA,EAAA,KAAA,EAAAX,aAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAFd,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,6ECZ7C,scAQA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA4E,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;oHDIa,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAJ5CV,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,4BAA4B;EACtC,oBAAA,WAAW,EAAE,qCAAqC;mBACnD,CAAA;;;gCAGIF,SAAM;iCAACuB,oBAAe,CAAA;;;;AEJ3B,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;;;8IAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3E,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,wBAAwB,EAHpB,YAAA,EAAA,CAAA,kBAAkB,CADvB,EAAA,OAAA,EAAA,CAAA+E,iBAAY,aAEZ,kBAAkB,CAAA,EAAA,CAAA,CAAA;+IAEjB,wBAAwB,EAAA,OAAA,EAAA,CAJ1B,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBALpCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,YAAY,EAAE,CAAC,kBAAkB,CAAC;sBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;mBAC9B,CAAA;;;ACFD,MAAA,mBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mBAAA,GAAA;;MACE,mBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAiB,EAAA;EACzB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,IAAI,CAAC,MAAM,CAAX,EAAW,CAAC,CAAC;OAC1C,CAAA;;;yIAHU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;uIAAnB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAH/BiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,iBAAiB;mBACxB,CAAA;;AAWD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;;;+IAAa,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gJAAzB,yBAAyB,EAAA,YAAA,EAAA,CAVzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAAnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;gJAUnB,yBAAyB,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAJrCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;sBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;mBAC/B,CAAA;;;ACXD,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;MACE,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,EAAU,EAAA;UAClB,IAAM,KAAK,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;UAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;OAChC,CAAA;;;6IAJU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2IAAvB,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;oHAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,qBAAqB;mBAC5B,CAAA;;AAYD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAX7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;oJAWvB,6BAA6B,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACPD,MAAA,wBAAA,kBAAA,YAAA;EACE,IAAA,SAAA,wBAAA,CAAoB,cAAuC,EAAA;EAAvC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAyB;OAAI;MAC/D,wBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,IAA2C,EAAA;EACnD,QAAA,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE;EACvE,YAAA,OAAO,IAAgB,CAAC;EACzB,SAAA;EACD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;8IAPU,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAc,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAAhF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4IAAxB,wBAAwB,EAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAHpCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,sBAAsB;mBAC7B,CAAA;;AAgBD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;;;oJAAa,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA9B,8BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,8BAA8B,EAf9B,YAAA,EAAA,CAAA,wBAAwB,CAWzB,EAAA,OAAA,EAAA,CAAA,6BAA6B,aAX5B,wBAAwB,CAAA,EAAA,CAAA,CAAA;qJAexB,8BAA8B,EAAA,OAAA,EAAA,CAJhC,CAAC,6BAA6B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI7B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAL1CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAAC,6BAA6B,CAAC;sBACxC,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;AChBD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;MACE,2BAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,OAA2C,EAAA;EACnD,QAAA,IAAI,OAAO,EAAE;EACX,YAAA,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;EAC5B,YAAA,IAAM,UAAU,GAAuC,OAAO,CAAC,SAAS,CAAC;EACzE,YAAA,IAAM,eAAe,GAAiD,OAAO,CAAC,cAAc,CAAC;cAE7F,IAAM,cAAc,GAAG,IAAI3D,cAAW,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;EAC3E,YAAA,OAAO,cAAc,CAAC;EACvB,SAAA;EAED,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;iJAZU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAP,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+IAA3B,2BAA2B,EAAA,IAAA,EAAA,yBAAA,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAHvCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,yBAAyB;mBAChC,CAAA;;AAoBD,MAAA,iCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iCAAA,GAAA;;;;uJAAa,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wJAAjC,iCAAiC,EAAA,YAAA,EAAA,CAnBjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAA3B,2BAA2B,CAAA,EAAA,CAAA,CAAA;wJAmB3B,iCAAiC,EAAA,CAAA,CAAA;oHAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAJ7CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;sBAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;mBACvC,CAAA;;;ECnBD;;;;;;;;;;EAUG;AAIH,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;EACE;;;EAGG;MACH,yBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,OAA2C,EAAA;EACnD,QAAA,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;EACxB,YAAA,OAAO,OAAO,CAAC;EAChB,SAAA;EAED,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;+IAXU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6IAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAHrCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAmBD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;;;qJAAa,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sJAA/B,+BAA+B,EAAA,YAAA,EAAA,CAlB/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAAzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;sJAkBzB,+BAA+B,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAJ3CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;AC7BD,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;MACE,wBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,IAAa,EAAA;UACrB,IAAI,QAAQ,GAAG,SAAS,CAAC;EACzB,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;cACjC,QAAQ,GAAG,IAAI,CAAC;EACjB,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;MAED,wBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,SAAkB,EAAA;EACnC,QAAA,OAAO3C,aAAM,CAAW,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;OAC9F,CAAA;;;8IAXU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAvB,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4IAAxB,wBAAwB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAHpCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,gBAAgB;mBACvB,CAAA;;AAmBD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;;;oJAAa,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qJAA9B,8BAA8B,EAAA,YAAA,EAAA,CAlB9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAAxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;qJAkBxB,8BAA8B,EAAA,CAAA,CAAA;oHAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAJ1CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACjBD,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;MACE,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAc,EAAA;EACtB,QAAA,OAAO,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;OACtD,CAAA;;;6IAHU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2IAAvB,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;oHAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,qBAAqB;mBAC5B,CAAA;;AAWD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAV7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;oJAUvB,6BAA6B,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACTD,MAAA,kBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kBAAA,GAAA;;MACE,kBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAc,EAAA;EACtB,QAAA,OAAO,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;OACjD,CAAA;;;wIAHU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;sIAAlB,kBAAkB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;oHAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;oBAH9BiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,gBAAgB;mBACvB,CAAA;;AAWD,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;;;8IAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+IAAxB,wBAAwB,EAAA,YAAA,EAAA,CAVxB,kBAAkB,CAAA,EAAA,OAAA,EAAA,CAAlB,kBAAkB,CAAA,EAAA,CAAA,CAAA;+IAUlB,wBAAwB,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAJpCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,kBAAkB,CAAC;sBAClC,OAAO,EAAE,CAAC,kBAAkB,CAAC;mBAC9B,CAAA;;;ACXD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;EACE,IAAA,qBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,OAAsB,EAAE,MAAgB,EAAA;EAAhB,QAAA,IAAA,MAAA,KAAA,KAAA,CAAA,EAAA,EAAA,MAAgB,GAAA,OAAA,CAAA,EAAA;EAChD,QAAA,IAAM,KAAK,GAAG;EACZ,YAAA,CAAC,EAAE,SAAS,CAAAlJ,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;EAChB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;EAChB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;EAChB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,CAAA,CAAA,CAAA,CAAA;WACjB,CAAC;EACF,QAAA,IAAM,MAAM,GAAG;EACb,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;EACzB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;EACzB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;EACzB,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;WAC1B,CAAC;EACF,QAAA,IAAM,IAAI,GAAG;EACX,YAAA,CAAC,EAAE,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,CAAC,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,CAAA,CAAA,CAAA,CAAA;EAC5B,YAAA,CAAC,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,CAAC,EAAE,SAAS,CAAAC,mBAAA,KAAAA,mBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,CAAA,CAAA,CAAA,CAAA;WAC7B,CAAC;EAEF,QAAA,QAAQ,MAAM;EACZ,YAAA,KAAK,OAAO;EACV,gBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC;EACxB,YAAA,KAAK,QAAQ;EACX,gBAAA,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;EACzB,YAAA,KAAK,MAAM;EACT,gBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;EACvB,YAAA;EACE,gBAAA,OAAO,EAAE,CAAC;EACb,SAAA;OACF,CAAA;;;2IA/BU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAqE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yIAArB,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAHjCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,mBAAmB;mBAC1B,CAAA;;AAuCD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAtC3B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAArB,qBAAqB,CAAA,EAAA,CAAA,CAAA;kJAsCrB,2BAA2B,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAJvCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;sBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;mBACjC,CAAA;;;;ECtCD;;;;;;EAMG;AAIH,MAAA,2BAAA,kBAAA,YAAA;EACE,IAAA,SAAA,2BAAA,CAAiD,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;OAAI;MAEvF,2BAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAA6B,EAAA;;UACrC,IAAM,aAAa,GAAe,EAAE,CAAC;EACrC,QAAA,IAAI,KAAK,EAAE;;EACT,gBAAA,KAAmB,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;EAArB,oBAAA,IAAM,IAAI,GAAA,SAAA,CAAA,KAAA,CAAA;sBACb,IAAI,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;EAC3D,wBAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1B,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;EACD,QAAA,OAAO,aAAa,CAAC;OACtB,CAAA;;;EAbU,2BAAA,CAAA,IAAA,GAAAlE,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,kBAClB+D,sBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+IAD1B,2BAA2B,EAAA,IAAA,EAAA,yBAAA,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAHvCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,yBAAyB;mBAChC,CAAA;;;gCAEcb,SAAM;iCAACW,sBAAiB,CAAA;;;AAmBvC,MAAA,iCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iCAAA,GAAA;;;;uJAAa,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wJAAjC,iCAAiC,EAAA,YAAA,EAAA,CApBjC,2BAA2B,CAAA,EAAA,OAAA,EAAA,CAA3B,2BAA2B,CAAA,EAAA,CAAA,CAAA;wJAoB3B,iCAAiC,EAAA,CAAA,CAAA;oHAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAJ7CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,2BAA2B,CAAC;sBAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;mBACvC,CAAA;;;EC7BD;;EAEG;AAIH,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;MACE,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,IAA8B,EAAA;EACtC,QAAA,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;OAC9B,CAAA;;;6IAHU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2IAAvB,uBAAuB,EAAA,IAAA,EAAA,qBAAA,EAAA,CAAA,CAAA;oHAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,qBAAqB;mBAC5B,CAAA;;AAWD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAV7B,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAAvB,uBAAuB,CAAA,EAAA,CAAA,CAAA;oJAUvB,6BAA6B,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACbD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;EACE,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,KAA6B,EAAE,YAAuC,EAAA;EAC9E,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE;EAC3B,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,KAAK,YAAY,CAAhC,EAAgC,CAAC,CAAC;EAC/D,SAAA;OACF,CAAA;;;+IAPU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6IAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAHrCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAeD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;;;qJAAa,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sJAA/B,+BAA+B,EAAA,YAAA,EAAA,CAd/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAAzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;sJAczB,+BAA+B,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAJ3CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;ACdD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;MACE,yBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAgC,EAAA;EACxC,QAAA,IAAI,KAAK,EAAE;EACT,YAAA,QAAQ,KAAK,CAAC,WAAW,EAAE;EACzB,gBAAA,KAAK,YAAY;EACf,oBAAA,OAAO,YAAY,CAAC;EACtB,gBAAA,KAAK,WAAW;EACd,oBAAA,OAAO,aAAa,CAAC;EACvB,gBAAA,KAAK,OAAO;EACV,oBAAA,OAAO,OAAO,CAAC;EACjB,gBAAA,KAAK,cAAc;EACjB,oBAAA,OAAO,cAAc,CAAC;EACxB,gBAAA,KAAK,OAAO;EACV,oBAAA,OAAO,KAAK,CAAC;EACf,gBAAA,KAAK,uBAAuB;EAC1B,oBAAA,OAAO,eAAe,CAAC;EACzB,gBAAA,KAAK,uBAAuB;EAC1B,oBAAA,OAAO,eAAe,CAAC;EACzB,gBAAA,KAAK,MAAM;EACT,oBAAA,OAAO,gBAAgB,CAAC;EAC1B,gBAAA,KAAK,OAAO;EACV,oBAAA,OAAO,gBAAgB,CAAC;EAC1B,gBAAA,KAAK,UAAU;EACb,oBAAA,OAAO,aAAa,CAAC;EACvB,gBAAA;EACE,oBAAA,OAAO,KAAK,CAAC;EAChB,aAAA;EACF,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;;;+IA7BU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6IAAzB,yBAAyB,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBAHrCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAqCD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;;;qJAAa,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sJAA/B,+BAA+B,EAAA,YAAA,EAAA,CApC/B,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAAzB,yBAAyB,CAAA,EAAA,CAAA,CAAA;sJAoCzB,+BAA+B,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAJ3CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;AClCD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;EACE,IAAA,8BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,IAA+B,EAAE,MAAiD,EAAA;UAC1F,IAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC9B,QAAA,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,EAAE;;cAEtB,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;;EAEvE,gBAAA,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC;EAC9H,aAAA;;cAED,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;;EAEjE,gBAAA,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;EAC/H,aAAA;EACF,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;;;oJAhBU,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kJAA9B,8BAA8B,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;oHAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAH1CiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,mBAAmB;mBAC1B,CAAA;;AAwBD,MAAA,oCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oCAAA,GAAA;;;;0JAAa,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2JAApC,oCAAoC,EAAA,YAAA,EAAA,CAvBpC,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAA9B,8BAA8B,CAAA,EAAA,CAAA,CAAA;2JAuB9B,oCAAoC,EAAA,CAAA,CAAA;oHAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;oBAJhDkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,8BAA8B,CAAC;sBAC9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;mBAC1C,CAAA;;;ACpBD,MAAA,6BAAA,kBAAA,YAAA;EACE,IAAA,SAAA,6BAAA,CAAoB,SAA0B,EAAA;EAA1B,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;OAAI;EAClD,IAAA,6BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,KAAsC,EAAE,IAA4B,EAAA;EAC5E,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC;OAChE,CAAA;;;mJAJU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAI,eAAA,EAAA,CAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;iJAA7B,6BAA6B,EAAA,IAAA,EAAA,uBAAA,EAAA,CAAA,CAAA;oHAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAHzCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uBAAuB;mBAC9B,CAAA;;AAYD,MAAA,mCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mCAAA,GAAA;;;;yJAAa,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0JAAnC,mCAAmC,EAAA,YAAA,EAAA,CAXnC,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAA7B,6BAA6B,CAAA,EAAA,CAAA,CAAA;0JAW7B,mCAAmC,EAAA,CAAA,CAAA;oHAAnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAJ/CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACbD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;MACE,qBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,MAAiC,EAAA;UACzC,IAAI,CAAC,MAAM,EAAE;EACX,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;EACD,QAAA,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;EAC9B,QAAA,IACE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;EAC1B,YAAA,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;EAC1B,YAAA,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC;EACtC,YAAA,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EACxC;EACA,YAAA,OAAO,YAAY,CAAC;EACrB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;EAClC,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EAC5B,YAAA,OAAO,iBAAiB,CAAC;EAC1B,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;EAC/B,YAAA,OAAO,MAAM,CAAC;EACf,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;EACnC,YAAA,OAAO,UAAU,CAAC;EACnB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EAC5B,YAAA,OAAO,aAAa,CAAC;EACtB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;EAC9B,YAAA,OAAO,OAAO,CAAC;EAChB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EACvD,YAAA,OAAO,QAAQ,CAAC;EACjB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EAC3B,YAAA,OAAO,eAAe,CAAC;EACxB,SAAA;EACD,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;EAC5B,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;EACD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;2IA1CU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;yIAArB,qBAAqB,EAAA,IAAA,EAAA,mBAAA,EAAA,CAAA,CAAA;oHAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAHjCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,mBAAmB;mBAC1B,CAAA;;AAkDD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAjD3B,qBAAqB,CAAA,EAAA,OAAA,EAAA,CAArB,qBAAqB,CAAA,EAAA,CAAA,CAAA;kJAiDrB,2BAA2B,EAAA,CAAA,CAAA;oHAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAJvCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,qBAAqB,CAAC;sBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;mBACjC,CAAA;;;AC7CD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;EACE,IAAA,0BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,IAA8B,EAAE,KAAkB,EAAA;EAC1D,QAAA,IAAI,KAAK,EAAE;cACT,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAA,EAAA,CAAC,CAAC;EAC1F,YAAA,IAAI,IAAI,EAAE;EACR,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EAAM,iBAAA;EACL,gBAAA,OAAO,SAAS,CAAC;EAClB,aAAA;EACF,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;OACF,CAAA;;;gJAZU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8IAA1B,0BAA0B,EAAA,IAAA,EAAA,wBAAA,EAAA,CAAA,CAAA;oHAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAHtCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,wBAAwB;mBAC/B,CAAA;;AAoBD,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;;;sJAAa,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uJAAhC,gCAAgC,EAAA,YAAA,EAAA,CAnBhC,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAA1B,0BAA0B,CAAA,EAAA,CAAA,CAAA;uJAmB1B,gCAAgC,EAAA,CAAA,CAAA;oHAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAJ5CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;sBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;mBACtC,CAAA;;;ACpBD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;EACE,IAAA,+BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,EAAU,EAAE,OAA2C,EAAA;EAC/D,QAAA,IAAM,kBAAkB,GAAG,SAAS,CAAAlJ,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,KAAK,IAAA,CAAC;EAC1C,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE;EACnB,YAAA,OAAO,kBAAkB,CAAC;EAC3B,SAAA;UACD,IAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAlB,EAAkB,CAAC,CAAC;EAC5D,QAAA,OAAO,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,GAAG,kBAAkB,CAAC;OACnE,CAAA;;;qJARU,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAgF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;mJAA/B,+BAA+B,EAAA,IAAA,EAAA,6BAAA,EAAA,CAAA,CAAA;oHAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAH3CiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,6BAA6B;mBACpC,CAAA;;AAgBD,MAAA,qCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qCAAA,GAAA;;;;2JAAa,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4JAArC,qCAAqC,EAAA,YAAA,EAAA,CAfrC,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAA/B,+BAA+B,CAAA,EAAA,CAAA,CAAA;4JAe/B,qCAAqC,EAAA,CAAA,CAAA;oHAArC,qCAAqC,EAAA,UAAA,EAAA,CAAA;oBAJjDkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,+BAA+B,CAAC;sBAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;mBAC3C,CAAA;;;;ACZD,MAAA,gBAAA,kBAAA,YAAA;EAHA,IAAA,SAAA,gBAAA,GAAA;;EAIE,QAAA,IAAA,CAAA,iBAAiB,IAAA,EAAA,GAAA,EAAA;EACf,YAAA,EAAA,CAAC,SAAS,CAAA,GAAG,SAAS,CAAAlJ,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,SAAS,CAAA,CAAA,CAAA,CAAA;EAC/B,YAAA,EAAA,CAAC,OAAO,CAAA,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,EAAA,CAAC,UAAU,CAAA,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,CAAA,CAAA,CAAA,CAAA;EACjC,YAAA,EAAA,CAAC,OAAO,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,EAAA,CAAC,SAAS,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,SAAA,CAAA,EAAA,CAAA,SAAS,CAAA,CAAA,CAAA,CAAA;EAC/B,YAAA,EAAA,CAAC,OAAO,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,OAAA,CAAA,EAAA,CAAA,OAAO,CAAA,CAAA,CAAA,CAAA;EAC3B,YAAA,EAAA,CAAC,YAAY,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,YAAA,CAAA,EAAA,CAAA,YAAY,CAAA,CAAA,CAAA,CAAA;EACrC,YAAA,EAAA,CAAC,aAAa,CAAA,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,aAAA,CAAA,EAAA,CAAA,aAAa,CAAA,CAAA,CAAA,CAAA;iBACxC,CAAC;OAiBH;EAfC,IAAA,gBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,IAA8B,EAAE,SAAmB,EAAA;EAC3D,QAAA,IAAM,QAAQ,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;EACjC,QAAA,IAAI,uBAAuB,CAAC,IAAI,CAAC,EAAE;EACjC,YAAA,IAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,CAAA,CAAA,CAAA,CAAA,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,IAAA,CAAC;EACvF,YAAA,IAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,SAAS,EAAK,EAAA,OAAA,SAAS,CAAC,MAAM,CAAA,EAAA,CAAC,GAAG,SAAS,CAAA,iBAAA,KAAA,iBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,CAAC,CAAA,CAAA,CAAA,GAAE,EAAE,CAAC;EACnH,YAAA,OAAU,QAAQ,GAAA,GAAA,GAAI,IAAI,CAAC,GAAG,GAAA,IAAA,GAAK,IAAI,CAAC,KAAK,GAAA,KAAA,GAAM,aAAa,GAAA,IAAA,GAAK,oBAAsB,CAAC;EAC7F,SAAA;EAAM,aAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;EACnC,YAAA,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC1H,YAAA,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,kFAAA,aAAa,CAAA,CAAA,CAAA,CAAA,GAAG,SAAS,CAAC;EACpE,YAAA,OAAU,QAAQ,GAAA,GAAA,GAAI,IAAI,CAAC,GAAG,GAAK,IAAA,GAAA,IAAI,CAAC,KAAK,UAAI,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,EAAE,CAAG,IAAA,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,EAAE,OAAG,CAAC;EACzH,SAAA;EAAM,aAAA;;EAEL,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;;;sIA1BU,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA8E,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oIAAhB,gBAAgB,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;oHAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;oBAH5BiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,kBAAkB;mBACzB,CAAA;;AAkCD,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;4IAAa,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6IAAtB,sBAAsB,EAAA,YAAA,EAAA,CAjCtB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CAAhB,gBAAgB,CAAA,EAAA,CAAA,CAAA;6IAiChB,sBAAsB,EAAA,CAAA,CAAA;oHAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAJlCkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;sBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;mBAC5B,CAAA;;;;AClCD,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;MACE,gCAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,SAAkB,EAAA;EAC1B,QAAA,OAAOe,gCAAsB,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;OAClE,CAAA;;;sJAHU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oJAAhC,gCAAgC,EAAA,IAAA,EAAA,wBAAA,EAAA,CAAA,CAAA;oHAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAH5CiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,wBAAwB;mBAC/B,CAAA;;AAWD,MAAA,sCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sCAAA,GAAA;;;;4JAAa,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6JAAtC,sCAAsC,EAAA,YAAA,EAAA,CAVtC,gCAAgC,CAAA,EAAA,OAAA,EAAA,CAAhC,gCAAgC,CAAA,EAAA,CAAA,CAAA;6JAUhC,sCAAsC,EAAA,CAAA,CAAA;oHAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAJlDkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;ACRD,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;MACE,gCAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,SAAkB,EAAA;EAC1B,QAAA,OAAOgB,cAAiC,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;OAC7E,CAAA;;;sJAHU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oJAAhC,gCAAgC,EAAA,IAAA,EAAA,wBAAA,EAAA,CAAA,CAAA;oHAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAH5CiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,wBAAwB;mBAC/B,CAAA;;AAWD,MAAA,sCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sCAAA,GAAA;;;;4JAAa,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6JAAtC,sCAAsC,EAAA,YAAA,EAAA,CAVtC,gCAAgC,CAAA,EAAA,OAAA,EAAA,CAAhC,gCAAgC,CAAA,EAAA,CAAA,CAAA;6JAUhC,sCAAsC,EAAA,CAAA,CAAA;oHAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAJlDkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;ACTD,MAAA,yCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yCAAA,GAAA;;MACE,yCAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,SAAkB,EAAA;EAC1B,QAAA,OAAO,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC;OAChF,CAAA;MAED,yCAA+B,CAAA,SAAA,CAAA,+BAAA,GAA/B,UAAgC,SAAkB,EAAA;EAChD,QAAA,OAAO3C,aAAM,CAAwB,SAAS,EAAE,YAAY,CAAC,IAAI,SAAS,CAAC,UAAU,KAAKvE,qCAA2B,CAAC;OACvH,CAAA;;;+JAPU,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAgD,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6JAAzC,yCAAyC,EAAA,IAAA,EAAA,uCAAA,EAAA,CAAA,CAAA;oHAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;oBAHrDiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,uCAAuC;mBAC9C,CAAA;;AAeD,MAAA,+CAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+CAAA,GAAA;;;;qKAAa,+CAA+C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sKAA/C,+CAA+C,EAAA,YAAA,EAAA,CAd/C,yCAAyC,CAAA,EAAA,OAAA,EAAA,CAAzC,yCAAyC,CAAA,EAAA,CAAA,CAAA;sKAczC,+CAA+C,EAAA,CAAA,CAAA;oHAA/C,+CAA+C,EAAA,UAAA,EAAA,CAAA;oBAJ3DkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,yCAAyC,CAAC;sBACzD,OAAO,EAAE,CAAC,yCAAyC,CAAC;mBACrD,CAAA;;;ECjBD;;;EAGG;AAKH,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;MACE,wBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAyC,EAAA;EACjD,QAAA,IAAM,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAACiB,qBAAW,CAAC,GAAG,EAAE,CAAC;EACpD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;8IAJU,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAnF,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4IAAxB,wBAAwB,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;oHAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAJpCiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,sBAAsB;EAC5B,oBAAA,IAAI,EAAE,KAAK;mBACZ,CAAA;;AAYD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;;;oJAAa,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qJAA9B,8BAA8B,EAAA,YAAA,EAAA,CAX9B,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAAxB,wBAAwB,CAAA,EAAA,CAAA,CAAA;qJAWxB,8BAA8B,EAAA,CAAA,CAAA;oHAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAJ1CkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACbD,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;EACE,IAAA,gCAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,aAAoD,EAAE,WAAsC,EAAA;UACpG,IAAI,WAAW,GAAG,EAAE,CAAC;UACrB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAIrG,gBAAS,CAAC,aAAa,CAAC,EAAE;EACtD,YAAA,IAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,MAAM,EAAA,EAAK,OAAA,MAAM,CAAC,OAAO,KAAK,aAAa,CAAhC,EAAgC,CAAC,CAAC;EAClF,YAAA,IAAI,UAAU,EAAE;EACd,gBAAA,WAAW,GAAG,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,EAAE,CAAC;EACxD,aAAA;EACF,SAAA;EACD,QAAA,OAAO,WAAW,CAAC;OACpB,CAAA;;;sJAVU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAmC,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oJAAhC,gCAAgC,EAAA,IAAA,EAAA,8BAAA,EAAA,CAAA,CAAA;oHAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAH5CiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,8BAA8B;mBACrC,CAAA;;AAkBD,MAAA,sCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sCAAA,GAAA;;;;4JAAa,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6JAAtC,sCAAsC,EAAA,YAAA,EAAA,CAjBtC,gCAAgC,CAAA,EAAA,OAAA,EAAA,CAAhC,gCAAgC,CAAA,EAAA,CAAA,CAAA;6JAiBhC,sCAAsC,EAAA,CAAA,CAAA;oHAAtC,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAJlDkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;AChBD,MAAA,iCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iCAAA,GAAA;;EACE,IAAA,iCAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,aAAoD,EAAE,UAA+C,EAAA;UAC7G,IAAI,OAAO,GAAa,EAAE,CAAC;UAC3B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAIrG,gBAAS,CAAC,aAAa,CAAC,EAAE;EACrD,YAAA,IAAM,WAAW,GAAkD,UAAU,CAAC,IAAI,CAChF,UAAC,UAAU,EAAA,EAAK,OAAA,UAAU,CAAC,OAAO,KAAK,aAAa,CAApC,EAAoC,CACrD,CAAC;EACF,YAAA,IAAI,WAAW,EAAE;EACf,gBAAA,OAAO,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;EACtD,aAAA;EACF,SAAA;EACD,QAAA,OAAO,OAAO,CAAC;OAChB,CAAA;;;uJAZU,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAmC,aAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;qJAAjC,iCAAiC,EAAA,IAAA,EAAA,+BAAA,EAAA,CAAA,CAAA;oHAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAH7CiE,OAAI;EAAC,YAAA,IAAA,EAAA,CAAA;EACJ,oBAAA,IAAI,EAAE,+BAA+B;mBACtC,CAAA;;AAoBD,MAAA,uCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uCAAA,GAAA;;;;6JAAa,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8JAAvC,uCAAuC,EAAA,YAAA,EAAA,CAnBvC,iCAAiC,CAAA,EAAA,OAAA,EAAA,CAAjC,iCAAiC,CAAA,EAAA,CAAA,CAAA;8JAmBjC,uCAAuC,EAAA,CAAA,CAAA;oHAAvC,uCAAuC,EAAA,UAAA,EAAA,CAAA;oBAJnDkE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;sBACjD,OAAO,EAAE,CAAC,iCAAiC,CAAC;mBAC7C,CAAA;;;ACfD,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;4IAAa,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAlE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAtB,sBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,iBAHlB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CAD9B+E,iBAAY,EAAE,4BAA4B,aAE1C,yBAAyB,CAAA,EAAA,CAAA,CAAA;EAExB,sBAAA,CAAA,IAAA,GAAA/E,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,EAJxB,OAAA,EAAA,CAAA,CAAC+E,iBAAY,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI1C,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBALlCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,4BAA4B,CAAC;sBACrD,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;ACYD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAPpC+E,iBAAY;UACZK,mCAA8B;UAC9B,wBAAwB;UACxB,sBAAsB;UACtBC,yCAAmB;UACnBC,oBAAe,aAGP,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAAtF,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAXtB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZK,mCAA8B;cAC9B,wBAAwB;cACxB,sBAAsB;cACtBC,yCAAmB;cACnBC,oBAAe;WAChB,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAZhCpB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZK,mCAA8B;0BAC9B,wBAAwB;0BACxB,sBAAsB;0BACtBC,yCAAmB;0BACnBC,oBAAe;EAChB,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACRD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtF,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAHzB,gCAAgC,CAAA,EAAA,OAAA,EAAA,CADrC+E,iBAAY,EAAEQ,oBAAe,EAAED,oBAAe,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAEpE,gCAAgC,CAAA,EAAA,CAAA,CAAA;oJAE/B,6BAA6B,EAAA,OAAA,EAAA,CAJ/B,CAACP,iBAAY,EAAEQ,oBAAe,EAAED,oBAAe,EAAE,oBAAoB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIpE,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBALzCpB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEQ,oBAAe,EAAED,oBAAe,EAAE,oBAAoB,CAAC;sBAC/E,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;ACJD,MAAA,gBAAA,kBAAA,YAAA;MAeE,SAAiD,gBAAA,CAAA,SAA0B,EAAY,IAAgB,EAAA;EAAtD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EAAY,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;UAdvG,IAAO,CAAA,OAAA,GAAM,IAAI,CAAC,SAAS,CAAC,OAAO,GAAA,MAAM,CAAC;EAE1C,QAAA,IAAA,CAAA,QAAQ,GAAM,IAAI,CAAC,OAAO,UAAO,CAAC;EAElC,QAAA,IAAA,CAAA,YAAY,GAAM,IAAI,CAAC,OAAO,cAAW,CAAC;EAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAM,IAAI,CAAC,YAAY,SAAM,CAAC;EAC9C,QAAA,IAAA,CAAA,eAAe,GAAM,IAAI,CAAC,YAAY,aAAU,CAAC;EACjD,QAAA,IAAA,CAAA,SAAS,GAAM,IAAI,CAAC,YAAY,WAAQ,CAAC;EACzC,QAAA,IAAA,CAAA,iBAAiB,GAAM,IAAI,CAAC,YAAY,UAAO,CAAC;EAChD,QAAA,IAAA,CAAA,iBAAiB,GAAM,IAAI,CAAC,YAAY,UAAO,CAAC;EAChD,QAAA,IAAA,CAAA,mBAAmB,GAAM,IAAI,CAAC,YAAY,YAAS,CAAC;EAEpD,QAAA,IAAA,CAAA,iBAAiB,GAAM,IAAI,CAAC,OAAO,eAAY,CAAC;OAE2D;EAE3G;;;;EAIG;MACH,gBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,IAAa,EAAA;UACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,IAAI,CAAC,QAAQ,GAAW,WAAA,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC;OACzG,CAAA;EAED;;;;EAIG;EACH,IAAA,gBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,UAAkB,cAAsB,EAAE,MAAc,EAAA;EACtD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,IAAI,CAAC,QAAQ,GAAI,GAAA,GAAA,cAAc,GAAa,YAAA,GAAA,MAAQ,CAAC,CAAC;OACtG,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,gBAAgB,CAAC,CAAC;OACvD,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,iBAAiB,CAAC,CAAC;OACxD,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,IAAI,CAAC,eAAe,CAAC,CAAC;OACjE,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,IAAI,CAAC,SAAS,CAAC,CAAC;OACtD,CAAA;MAED,gBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,EAAU,EAAA;EACxB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,IAAI,CAAC,iBAAiB,GAAA,MAAA,GAAO,EAAI,CAAC,CAAC;OAC1E,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,iBAAiB,CAAC,CAAC;OACxD,CAAA;EAED,IAAA,gBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;UACE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,IAAI,CAAC,mBAAmB,CAAC,CAAC;OAC1D,CAAA;MAED,gBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAkB,EAAA;EACpC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAU,IAAI,CAAC,YAAY,GAAA,UAAU,EAAE,QAAQ,CAAC,CAAC;OACvE,CAAA;MAED,gBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,YAA0B,EAAA;EAChD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAc,IAAI,CAAC,iBAAiB,GAAA,UAAU,EAAE,YAAY,CAAC,CAAC;OACpF,CAAA;;;EArEU,gBAAA,CAAA,IAAA,GAAAtF,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gBAAgB,kBAeP,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAAAgE,eAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAf1B,gBAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;oHACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;oBAD5BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;gCAgBnBmD,SAAM;iCAAC,iBAAiB,CAAA;;;;EClBvC;;EAEG;AAKH,MAAA,6BAAA,kBAAA,YAAA;MACE,SACkC,6BAAA,CAAA,IAA8B,EACvD,SAAsD,EAAA;EAD7B,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAA0B;EACvD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAA6C;OAC3D;;;EAJO,6BAAA,CAAA,IAAA,GAAApD,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,kBAE9B2E,oBAAe,EAAA,EAAA,EAAA,KAAA,EAAAX,aAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAFd,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,2ECZ1C,8WAOA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA4E,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,8DAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,cAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;oHDKa,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAJzCV,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,0BAA0B;EACpC,oBAAA,WAAW,EAAE,mCAAmC;mBACjD,CAAA;;;gCAGIF,SAAM;iCAACuB,oBAAe,CAAA;;;;AEJ3B,MAAA,mBAAA,kBAAA,YAAA;EACE,IAAA,SAAA,mBAAA,CAAoB,aAAgC,EAAA;EAAhC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAmB;EACpD,QAAA,IAAA,CAAA,oBAAoB,GAAG,SAAS,CAAA3J,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,iBAAiB,IAAA,CAAC;OADM;EAGxD;;;EAGG;MACH,mBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,mBAA4B,EAAA;EAC9C,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,6BAA6B,EAAE;EAC3D,YAAA,iBAAiB,EAAE,IAAI;EACvB,YAAA,IAAI,EAAE,IAAI,wBAAwB,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC;EAC3H,YAAA,YAAY,EAAE,KAAK;EACnB,YAAA,WAAW,EAAE,IAAI;EACjB,YAAA,QAAQ,EAAE,OAAO;EAClB,SAAA,CAAC,CAAC;OACJ,CAAA;EAED;;;;EAIG;MACH,mBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,mBAA4B,EAAA;UAChD,OAAO,IAAI,CAAC,aAAa;eACtB,UAAU,CAAC,gCAAgC,EAAE;EAC5C,YAAA,iBAAiB,EAAE,IAAI;EACvB,YAAA,IAAI,EAAE,IAAI,wBAAwB,CAAC,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,oBAAoB,CAAC;EAC3H,YAAA,YAAY,EAAE,IAAI;EAClB,YAAA,WAAW,EAAE,IAAI;EACjB,YAAA,QAAQ,EAAE,OAAO;WAClB,CAAC;EACD,aAAA,WAAW,EAAE,CAAC;OAClB,CAAA;;;yIAjCU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgJ,eAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA,CAAA;oHACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAD/BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;;ECJlC;;;;;EAKG;AAEH,MAAA,mBAAA,kBAAA,YAAA;EADA,IAAA,SAAA,mBAAA,GAAA;UAGU,IAAA,CAAA,eAAe,GAAqB,IAAI8C,oBAAe,CAAU,KAAK,CAAC,CAAC;OA0JjF;EApJC,IAAA,MAAA,CAAA,cAAA,CAAI,mBAAc,CAAA,SAAA,EAAA,gBAAA,EAAA;EAHlB;;EAEG;EACH,QAAA,GAAA,EAAA,YAAA;EACE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;WAC5C;;;EAAA,KAAA,CAAA,CAAA;EAED;;;;;EAKG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,SAAiB,EAAE,SAAmB,EAAE,UAA2B,EAAA;EAC5E,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cAChB,OAAO;EACR,SAAA;UAED,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;EAC9D,QAAA,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;UAChD,aAAa,CAAC,aAAa,EAAE,CAAC;UAC9B,aAAa,CAAC,WAAW,EAAE,CAAC;UAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;OAC3B,CAAA;EAED;;;;;EAKG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,SAAiB,EAAE,SAAmB,EAAA;EAClD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cAChB,OAAO;EACR,SAAA;UAED,IAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;EAC9D,QAAA,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;UACvC,aAAa,CAAC,aAAa,EAAE,CAAC;UAC9B,aAAa,CAAC,WAAW,EAAE,CAAC;UAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;OAC3B,CAAA;EAED;;;EAGG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;UACE,OAAO,IAAI,CAAC,MAAM,CAAC;OACpB,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;;;;;UAIE,OAAO,MAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;OACnC,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;EACE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;OACtB,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;OAC3C,CAAA;EAED;;;EAGG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;EAC/B,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;OACzB,CAAA;EAED;;;EAGG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;UACE,IAAI,CAAC,uBAAuB,EAAE,CAAC;EAC/B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACjC,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,0BAA0B,GAA1B,YAAA;UACE,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;EAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;cAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;cAC7C,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;EAEG;EACH,IAAA,mBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;UACE,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;cACpB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;cAC7C,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;;EAGG;MACH,mBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,MAAiB,EAAA;EACvB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;UACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EAC7C,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;cACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,mBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;UAAA,IAUP,KAAA,GAAA,IAAA,CAAA;UATC,IAAI,CAAC,uBAAuB,EAAE,CAAC;UAC/B,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY;EACpD,iBAAA,IAAI,CACHyC,mBAAS,CAAC,YAAA,EAAM,QAAC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,EAAC,EAAA,CAAC,EAC5DC,cAAI,CAAC,CAAC,CAAC,CACR;EACA,iBAAA,SAAS,CAAC,YAAK,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,EAAA,GAAA,KAAI,CAAC,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC;EACnE,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,mBAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;EACN,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE;EAC1E,YAAA,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,CAAC;EAC5C,SAAA;OACF,CAAA;;;yIA3JU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzF,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mBAAmB,cADN,MAAM,EAAA,CAAA,CAAA;oHACnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAD/BC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ECyClC;;;;;EAKG;AAEH,MAAA,oBAAA,kBAAA,YAAA;EAoBE,IAAA,SAAA,oBAAA,CAAsB,UAA4B,EAAY,aAAkC,EAAY,SAA0B,EAAA;EAAhH,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAkB;EAAY,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;EAAY,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EAnB5H,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;EACnD,QAAA,IAAA,CAAA,WAAW,GAAG,IAAIyF,YAAO,EAA0B,CAAC;EACpD,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAIA,YAAO,EAAmB,CAAC;;EAExD,QAAA,IAA0B,CAAA,0BAAA,GAA6C,EAAE,CAAC;EA+KpF;;;;;;;EAOG;UACO,IAAA,CAAA,sBAAsB,GAAgC,YAAA,EAAM,OAAA,KAAK,CAAA,EAAA,CAAC;OAxK8D;EAJ1I,IAAA,MAAA,CAAA,cAAA,CAAI,oBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EALf;;;;EAIG;EACH,QAAA,GAAA,EAAA,YAAA;EACE,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;WACxC;;;EAAA,KAAA,CAAA,CAAA;EAID;;;EAGG;MACH,oBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,MAA4B,EAAA;UAA/C,IAwCC,KAAA,GAAA,IAAA,CAAA;EAvCC,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;cACnB,OAAO;EACR,SAAA;EAED,QAAA,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;;EAElC,YAAA,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAS,CAAC;;cAEnE,OAAO,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;EAE1D,YAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;EAC9D,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAChC,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,UAAU;mBACZ,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;EACvD,iBAAA,IAAI,CAACD,cAAI,CAAC,CAAC,CAAC,CAAC;mBACb,SAAS,CAAC,UAAC,OAA8B,EAAA;kBACxC,IAAM,cAAc,GAAG,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;EAC3D,gBAAA,IAAI,cAAc,IAAI,KAAI,CAAC,SAAS,EAAE;EACpC,oBAAA,KAAI,CAAC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;;EAEpF,oBAAA,IAAI,OAAO,GAAG,KAAI,CAAC,eAAe,CAChC,KAAI,CAAC,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAET,MAAM,CACT,EAAA,EAAA,EAAE,EAAE,OAAO,CAAC,UAAU,EAExB,CAAA,EAAA,OAAO,CACA,CAAC;;sBAGV,IAAM,gBAAgB,GAAG,KAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;sBAC3E,OAAO,GAAG,KAAI,CAAC,yBAAyB,CAAC,OAAO,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,MAAM,CAAA,EAAA,EAAE,gBAAgB,EAAA,gBAAA,EAAA,CAAA,CAAG,CAAC;EACnF,oBAAA,KAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;;EAEtC,oBAAA,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAChC,iBAAA;EACH,aAAC,CAAC,CAAC;EACN,SAAA;OACF,CAAA;EAED;;;;;EAKG;EACH,IAAA,oBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,UAA6B,IAAc,EAAE,MAAmC,EAAA;UAC9E,IAAM,WAAW,GAAG,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;EAC7C,QAAA,IAAM,gBAAgB,GAAG,IAAI,KAAK,EAAmB,CAAC;UACtD,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;EAC7E,QAAA,OAAO,gBAAgB,CAAC;OACzB,CAAA;;EAGD,IAAA,oBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;UACE,OAAO,IAAI,CAAC,0BAA0B,CAAC;OACxC,CAAA;EAED;;;;;EAKG;MACH,oBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,YAAqC,EAAA;UAC9C,IAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;EACtD,QAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,WAAW,CACd,EAAA,EAAA,KAAK,EAAEE,oBAAqC,CAC1C,WAAW,EACX,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAClC,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,yBAAyB,CAC/B,EACD,CAAA,CAAA;OACH,CAAA;EAED;;;;;;EAMG;EACH,IAAA,oBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,QAAc,EAAE,YAAqC,EAAA;EACnE,QAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CACX,EAAA,EAAA,KAAK,EAAEA,oBAAqC,CAC1C,QAAQ,EACR,YAAY,EACZ,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAClC,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,yBAAyB,CAC/B,EACD,CAAA,CAAA;OACH,CAAA;EAED;;;;;EAKG;MACH,oBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,IAAkC,EAAA;EACtD,QAAA,OAAOC,+BAAgD,CACrD,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,iCAAiC,CACvC,CAAC;OACH,CAAA;;MAGD,oBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,EAAU,EAAA;UAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;OAChC,CAAA;EAED;;;;;;EAMG;MACH,oBAAyB,CAAA,SAAA,CAAA,yBAAA,GAAzB,UAA0B,UAA2C,EAAA;EACnE,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;OAC9B,CAAA;EAED;;;EAGG;MACH,oBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAU,EAAA;UAAtB,IAgBC,KAAA,GAAA,IAAA,CAAA;UAfC,IAAI,CAAC,SAAS,GAAQ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,CAAC;EAC7B,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;;EAEvD,YAAA,UAAU,CAAC,YAAA;;kBACT,IAAI,KAAI,CAAC,aAAa,EAAE;;0BACtB,KAAqB,IAAA,KAAA,QAAA,CAAA,KAAI,CAAC,aAAa,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAApC,4BAAA,IAAM,MAAM,GAAA,EAAA,CAAA,KAAA,CAAA;8BACf,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;EACpH,yBAAA;;;;;;;;;EACF,iBAAA;EACD,gBAAA,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;eAC3B,EAAE,CAAC,CAAC,CAAC;EACP,SAAA;;UAGD,IAAI,CAAC,uBAAuB,EAAE,CAAC;OAChC,CAAA;EAYD;;;;;;;;;;;;;EAaG;EACO,IAAA,oBAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB;;EAER,IAAA,OAA0D,EAC1D,IAAc,EACd,WAAoB,EACpB,aAAiD;;;EAGjD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAED;;;;;;;;;;EAUG;;MAEO,oBAAiC,CAAA,SAAA,CAAA,iCAAA,GAAjC,UAAkC,IAAc,EAAA;EACxD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;EAKD;;;;;EAKG;EACO,IAAA,oBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UACR,IAAO,EACP,MAA4B,EAC5B,OAAkB,EAAA;EAElB,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE;;EAE5B,YAAA,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;kBACnC,IAAI,OAAO,IAAI,IAAI,EAAE;EACnB,oBAAA,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,UAAU,MAAK,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,CAAE,UAAU,CAAA,CAApC,EAAoC,CAAC,CAAC;EAChF,oBAAA,IAAM,QAAQ,GAAO,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,IAAI,CAAC,KAAK,EAAC,CAAC;EACjC,oBAAA,IAAI,OAAO,EAAE;0BACX,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;EACpC,qBAAA;EACD,oBAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAY,IAAI,CAAA,EAAA,EAAE,KAAK,EAAE,QAAQ,EAAG,CAAA,CAAA;EACrC,iBAAA;EACD,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EAAM,iBAAA,IAAI3E,0BAAgB,CAAC,IAAI,CAAC,EAAE;kBACjC,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KACP,KAAK,EAAE,MAAM,CAAC,UAAU,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,EAAE,CAAA,EAAA,CAAC,EAC5H,CAAA,CAAA;EACH,aAAA;EAAM,iBAAA;EACL,gBAAA,OAAO,IAAI,CAAC;EACb,aAAA;EACF,SAAA;EAED,QAAA,IAAIf,gBAAM,CAAC,IAAI,CAAC,IAAIgB,mBAAS,CAAC,IAAI,CAAC,IAAIC,6BAAmB,CAAC,IAAI,CAAC,IAAIF,0BAAgB,CAAC,IAAI,CAAC,EAAE;EAC1F,YAAA,IAAM,KAAK,GAAO,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,IAAI,CAAC,KAAK,EAAC,CAAC;cAC9B,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;cACxF,IAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAoB,CAAC;EAElE,YAAA,KAAK,CAAC,MAAM,CACV,aAAa,EACb,CAAC,EACD,IAAI,CAAC,eAAe,CAClB,YAAY,EAEP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,CACT,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAA,CAAA,EAEtC,OAAO,CACI,CACd,CAAC;EACF,YAAA,OACK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CACP,EAAA,EAAA,KAAK,EAAA,KAAA,EACL,CAAA,CAAA;EACH,SAAA;EAAM,aAAA,IAAIG,qBAAW,CAAC,IAAI,CAAC,EAAE;cAC5B,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;EAClE,SAAA;eAAM,IAAI6B,0BAAgB,CAAC,IAAI,CAAC,IAAIC,+BAAqB,CAAC,IAAI,CAAC,EAAE;EAChE,YAAA,OAAO,IAAI,CAAC,iBAAiB,CAC3B,IAAuF,EACvF,MAAM,EACN,OAAO,CACR,CAAC,CAAC,CAAC,CAAC;EACN,SAAA;EACD,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAED;;;;;;EAMG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,UACN,UAA2F,EAC3F,MAA4B,EAC5B,OAAkB,EAAA;UAElB,IAAI,KAAK,GAAG,KAAK,CAAC;UAClB,IAAM,aAAa,GAA+B,EAAE,CAAC;;;EAGrD,QAAA,KAAK,IAAM,EAAE,IAAI,UAAU,CAAC,aAAa,EAAE;EACzC,YAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;;EAEtE,gBAAA,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;sBACnE,KAAK,GAAG,IAAI,CAAC;sBACb,aAAa,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CACtC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAoB,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC1C,MAAM,CAAA,EAAA,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EACjD,CAAA,EAAA,OAAO,CACI,CAAC;EACf,iBAAA;EAAM,qBAAA;sBACL,aAAa,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;EAClD,iBAAA;EACF,aAAA;EACF,SAAA;;UAED,OAAO,iCAAM,UAAU,CAAA,EAAA,EAAE,aAAa,EAAA,aAAA,EAAI,CAAA,EAAA,KAAK,CAAC,CAAC;OAClD,CAAA;EAED;;;;;;EAMG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,SAAoB,EAAE,MAA4B,EAAE,OAAkB,EAAA;UAAvF,IAoCP,KAAA,GAAA,IAAA,CAAA;UAnCC,IAAI,KAAK,GAAG,KAAK,CAAC;;UAElB,IAAM,SAAS,GAAmB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,GAAiB,EAAA;;cAE1E,IAAI,CAAC,KAAK,EAAE;kBACV,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACK,GAAG,CAAA,EAAA,EACN,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,OAAiB,EAAA;;EAErC,wBAAA,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;8BAC3D,KAAK,GAAG,IAAI,CAAC;EACb,4BAAA,OAAO,KAAI,CAAC,eAAe,CACzB,OAA0B,EACrB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAM,KAAE,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAA,CAAA,EACjD,OAAO,CACI,CAAC;EACf,yBAAA;;;0BAGD,IAAI,eAAe,IAAI,OAAO,EAAE;EAC9B,4BAAA,IAAM,QAAQ,GAAG,KAAI,CAAC,iBAAiB,CACrC,OAA0F,EAC1F,MAAM,EACN,OAAO,CACR,CAAC;EACF,4BAAA,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;EACpB,4BAAA,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;EACpB,yBAAA;EACD,wBAAA,OAAO,OAAO,CAAC;uBAChB,CAAC,EACF,CAAA,CAAA;EACH,aAAA;EACD,YAAA,OAAO,GAAG,CAAC;EACb,SAAC,CAAC,CAAC;EACH,QAAA,OAAY,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,SAAS,CAAE,EAAA,EAAA,SAAS,EAAA,SAAA,EAAG,CAAA,CAAA;OACpC,CAAA;EAED;;;;EAIG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB,UAA0B,IAAU,EAAE,MAA4B,EAAA;;UACxE,IAAI,OAAO,GAAG,IAAI,CAAC;UACnB,IAAI,MAAM,CAAC,gBAAgB,EAAE;cAC3B,IAAM,SAAS,GAAkD,EAAE,CAAC;sCACzD,EAAE,EAAA;;;EACX,oBAAA,KAAwB,IAAA,EAAA,IAAA,GAAA,GAAA,KAAA,CAAA,EAAA,QAAI,CAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAA,EAAE,CAAC,YAAY,CAAK,CAAA,EAAA,MAAA,CAAA,EAAE,CAAC,aAAa,CAAC,CAAA,CAAA,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA9D,wBAAA,IAAM,SAAS,GAAA,EAAA,CAAA,KAAA,CAAA;EAClB,wBAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;0BACpC,IAAM,iBAAiB,GAAG,MAAK,CAAA,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;0BAC5D,IAAI,CAAC,QAAQ,KAAI,iBAAiB,KAAA,IAAA,IAAjB,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjB,iBAAiB,CAAE,IAAI,CAAA,EAAE;8BACxC,QAAQ,GAAG,iBAAiB,KAAjB,IAAA,IAAA,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC;EACpC,yBAAA;0BACD,IAAIF,2BAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE;8BACrD,IAAM,oBAAoB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;EAC9D,4BAAA,IAAM,OAAO,GACX,MAAM,CAAC,UAAU,KAAK,KAAK;oCACxB,aAAA,CAAA,aAAA,CAAA,EAAA,EAAA,MAAA,CAAK,oBAAoB,CAAA,CAAA,EAAA,CAAE,EAAE,CAAC,SAAS,CACxC,CAAA,GAAE,oBAAoB,CAAC,MAAM,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,KAAK,EAAE,CAAC,SAAS,CAAA,EAAA,CAAC,CAAC;EAE7D,4BAAA,IAAM,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAyB,QAAQ,CAAA,EAAA,EAAE,SAAS,EAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAO,QAAQ,CAAC,SAAS,CAAA,EAAA,EAAE,OAAO,EAAA,OAAA,EAAA,CAAA,EAAA,CAAI,CAAC;EAChG,4BAAA,IAAM,SAAS,GAAG,IAAI6C,8BAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA,iBAAiB,aAAjB,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjB,iBAAiB,CAAE,SAAS,KAAI,EAAE,EAAE,SAAS,CAAC,CAAC;8BAE9G,OAAO,GAAG,MAAK,CAAA,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,OAAqC,CAAS,CAAC;EAClG,4BAAA,SAAS,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;EAChC,yBAAA;EACF,qBAAA;;;;;;;;;EACD,gBAAA,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE;sBAClC,MAAK,CAAA,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;EAC9F,iBAAA;;;;EAvBH,gBAAA,KAAiB,IAAA,EAAA,GAAA,QAAA,CAAA,MAAM,CAAC,gBAAgB,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAnC,oBAAA,IAAM,EAAE,GAAA,EAAA,CAAA,KAAA,CAAA;8BAAF,EAAE,CAAA,CAAA;EAwBZ,iBAAA;;;;;;;;;EACF,SAAA;EACD,QAAA,OAAO,OAAO,CAAC;OAChB,CAAA;EAED;;;;EAIG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,IAAc,EAAE,KAA8B,EAAA;;EACzE,QAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;EAC9B,QAAA,IAAItE,aAAM,CAAwB,IAAI,EAAE,OAAO,CAAC,EAAE;EAChD,YAAA,IAAM,KAAK,GAAe,IAAI,CAAC,KAAK,CAAC;;EACrC,gBAAA,KAAsB,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;EAAxB,oBAAA,IAAM,OAAO,GAAA,SAAA,CAAA,KAAA,CAAA;EAChB,oBAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;EAC3C,iBAAA;;;;;;;;;EACF,SAAA;EAAM,aAAA,IAAIA,aAAM,CAAgD,IAAI,EAAE,eAAe,CAAC,EAAE;EACvF,YAAA,IAAM,GAAG,GAA+B,IAAI,CAAC,aAAa,CAAC;EAC3D,YAAA,KAAK,IAAM,EAAE,IAAI,GAAG,EAAE;EACpB,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;sBACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;EAC3C,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;;;EAMG;MACK,oBAA0B,CAAA,SAAA,CAAA,0BAAA,GAA1B,UACN,IAAc,EACd,OAA+B,EAC/B,aAAsC,EACtC,MAAmC,EAAA;;EAEnC,QAAA,IAAI0B,0BAAgB,CAAC,IAAI,CAAC,EAAE;EAC1B,YAAA,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC;cACnH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;cACjI,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;EACjE,SAAA;EAAM,aAAA,IAAIC,+BAAqB,CAAC,IAAI,CAAC,EAAE;sCAC3B,MAAM,EAAA;kBACf,IAAM,MAAM,GACV,CAAC,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,GAAA,CAAC,CAAC,GAAG,KAAK,CAAC;kBAC7H,MAAK,CAAA,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;;;;EAHzH,gBAAA,KAAqB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,OAAO,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA5B,oBAAA,IAAM,MAAM,GAAA,EAAA,CAAA,KAAA,CAAA;8BAAN,MAAM,CAAA,CAAA;EAIhB,iBAAA;;;;;;;;;cACD,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;EACzE,SAAA;EAAM,aAAA,IAAI3B,aAAM,CAAwB,IAAI,EAAE,OAAO,CAAC,EAAE;EACvD,YAAA,IAAM,KAAK,GAAe,IAAI,CAAC,KAAK,CAAC;;EACrC,gBAAA,KAAsB,IAAA,OAAA,GAAA,QAAA,CAAA,KAAK,CAAA,4BAAA,EAAE,CAAA,SAAA,CAAA,IAAA,EAAA,SAAA,GAAA,OAAA,CAAA,IAAA,EAAA,EAAA;EAAxB,oBAAA,IAAM,OAAO,GAAA,SAAA,CAAA,KAAA,CAAA;sBAChB,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;EAC1E,iBAAA;;;;;;;;;EACF,SAAA;OACF,CAAA;EAED;;;;;;EAMG;MACK,oBAA4B,CAAA,SAAA,CAAA,4BAAA,GAA5B,UACN,IAAqF,EACrF,UAAkC,EAClC,OAAgC,EAChC,MAAmC,EAAA;UAEnC,IAAI,IAAI,CAAC,aAAa,EAAE;EACtB,YAAA,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;EACnC,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE;sBAChE,IAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;sBACvC,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;EACvE,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;;;;;;EASG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,UACN,SAAiB,EACjB,OAAiB,EACjB,QAAkB,EAClB,UAAkC,EAClC,OAAgC,EAChC,MAAe,EAAA;EAEf,QAAA,IAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAX,EAAW,CAAC,CAAC;EACxD,QAAA,IAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,OAAO,CAAC,CAAC,CAAC,CAAX,EAAW,CAAC,CAAC;UAC1D,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE;EACnD,YAAA,IAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,SAAS,KAAK,SAAS,CAAzB,EAAyB,CAAC,CAAC;cACrE,IAAI,KAAK,GAAG,CAAC,EAAE;EACb,gBAAA,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAA,YAAA,EAAE,aAAa,EAAA,aAAA,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;EAChF,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;EAC/B,gBAAA,IAAM,KAAK,GAAoB;EAC7B,oBAAA,SAAS,EAAA,SAAA;EACT,oBAAA,YAAY,yCAAM,IAAI,CAAC,YAAY,CAAA,CAAA,EAAA,MAAA,CAAK,YAAY,CAAC,CAAA;EACrD,oBAAA,aAAa,yCAAM,IAAI,CAAC,aAAa,CAAA,CAAA,EAAA,MAAA,CAAK,aAAa,CAAC,CAAA;EACxD,oBAAA,MAAM,EAAA,MAAA;mBACP,CAAC;kBACF,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;EACpC,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;EAGG;EACK,IAAA,oBAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;;;;EAEN,QAAA,IAAM,sBAAsB,GAAG,IAAI,GAAG,EAAU,CAAC;;UAGjD,IAAI,IAAI,CAAC,0BAA0B,EAAE;EACnC,YAAA,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,EAAE;EAChD,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,EAAE;EAC7E,oBAAA,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;EAChC,iBAAA;EACF,aAAA;EACF,SAAA;;EAGD,QAAA,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;UACrC,IAAI,MAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,EAAE;;EACpC,gBAAA,KAAqB,IAAA,EAAA,GAAA,QAAA,CAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,yBAAyB,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAA3E,oBAAA,IAAM,MAAM,GAAA,EAAA,CAAA,KAAA,CAAA;EACf,oBAAA,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE;;0BAExC,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;;EAEpD,wBAAA,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;EACvC,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;;UAGD,IAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;EAC1C,QAAA,IAAI,IAAI,EAAE;;EACR,gBAAA,KAAiB,IAAA,wBAAA,GAAA,QAAA,CAAA,sBAAsB,CAAA,8DAAA,EAAE,CAAA,0BAAA,CAAA,IAAA,EAAA,0BAAA,GAAA,wBAAA,CAAA,IAAA,EAAA,EAAA;EAApC,oBAAA,IAAM,EAAE,GAAA,0BAAA,CAAA,KAAA,CAAA;sBACX,IAAM,OAAO,GAAG,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;EAC1C,oBAAA,IAAI,OAAO,EAAE;0BACX,OAAO,CAAC,sBAAsB,EAAE,CAAC;EAClC,qBAAA;EACF,iBAAA;;;;;;;;;EACF,SAAA;OACF,CAAA;;;0IA5jBU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAuE,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAAhG,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8IAApB,oBAAoB,EAAA,CAAA,CAAA;oHAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBADhCC,aAAU;;;ACpDX,MAAA,oCAAA,kBAAA,UAAA,MAAA,EAAA;MAA0D,SAA6C,CAAA,oCAAA,EAAA,MAAA,CAAA,CAAA;EAAvG,IAAA,SAAA,oCAAA,GAAA;;;MACE,oCAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,MAAc,EAAA;;EAC/B,QAAA,IAAM,gBAAgB,GAAsB;;EAE1C,YAAA,GAAG,EAAE,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,cAAc,CAAS,KAAK,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,KAAI,EAAE;EACtD,YAAA,OAAO,EAAE,CAAA,CAAA,EAAA,GAAA,MAAM,CAAC,cAAc,CAAS,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,KAAI,EAAE;WAC7D,CAAC;EACF,QAAA,OAAO,gBAAgB,CAAC;OACzB,CAAA;EAED,IAAA,oCAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,KAAwB,EAAE,MAAc,EAAA;;EACpD,QAAA,OAAO,KAAK,CAAC,GAAG,MAAK,MAAA,MAAM,CAAC,cAAc,CAAS,KAAK,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAA,CAAC;OAClE,CAAA;;GAZH,CAA0DgG,+BAA6C;0JAA1F,oCAAoC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjG,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8JAApC,oCAAoC,EAAA,CAAA,CAAA;oHAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;oBADhDC,aAAU;;;ACEX,MAAA,iCAAA,kBAAA,YAAA;MAGE,SAAiD,iCAAA,CAAA,SAA0B,EAAY,IAAgB,EAAA;EAAtD,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EAAY,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;UAFvG,IAAO,CAAA,OAAA,GAAM,IAAI,CAAC,SAAS,CAAC,OAAO,GAAA,MAAM,CAAC;OAEiE;MAE3G,iCAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,OAAsE,EAAA;;;EAG1F,QAAA,OAAOiG,OAAE,CAAC,SAAS,CAAC,CAAC;OACtB,CAAA;;;EATU,iCAAA,CAAA,IAAA,GAAAlG,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iCAAiC,kBAGxB,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAAAgE,eAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;EAH1B,iCAAA,CAAA,KAAA,GAAAA,aAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iCAAiC,cADpB,MAAM,EAAA,CAAA,CAAA;oHACnB,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAD7CC,aAAU;qBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;gCAInBmD,SAAM;iCAAC,iBAAiB,CAAA;;;;ECGvC,IAAM,kBAAkB,GAAGC,yBAAoB,gBAAA,YAAA;EAAC,IAAA,SAAA,OAAA,GAAA;OAAQ;MAAA,OAAA,OAAA,CAAA;EAAA,CAAR,IAAS,CAAC;EAK1D,IAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAkB,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EA2G1B,IAAA,SAAA,uBAAA,CACY,eAAqC,EACrC,aAAkC,EAClC,SAA0B,EAAA;EAHtC,QAAA,IAAA,KAAA,GAKE,iBAAO,IAIR,IAAA,CAAA;EARW,QAAA,KAAe,CAAA,eAAA,GAAf,eAAe,CAAsB;EACrC,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;EAClC,QAAA,KAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;EA3F9B,QAAA,KAAU,CAAA,UAAA,GAAG,KAAK,CAAC;EAUnB,QAAA,KAA2B,CAAA,2BAAA,GAAG,KAAK,CAAC;UAwDpC,KAAA,CAAA,SAAS,GAAG,IAAIN,oBAAe,CAAU,IAAI,CAAC,CAAC;EAEvD;;;;EAIG;EACO,QAAA,KAAA,CAAA,MAAM,GAAG,IAAIW,eAAY,EAA6C,CAAC;EACvE,QAAA,KAAA,CAAA,cAAc,GAAG,IAAIA,eAAY,EAAY,CAAC;;EAE9C,QAAA,KAAA,CAAA,cAAc,GAAG,IAAIA,eAAY,EAAK,CAAC;EAGjD,QAAA,KAAY,CAAA,YAAA,GAAG,EAAE,CAAC;EAIV,QAAA,KAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;EAGzB,QAAA,KAAqB,CAAA,qBAAA,GAAG,KAAK,CAAC;EAQpC,QAAA,KAAI,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;;UAEpC,KAAI,CAAC,gCAAgC,EAAE,CAAC;;OACzC;EA7GD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EADf,QAAA,GAAA,EAAA,UACgB,GAAyB,EAAA;EACvC,YAAA,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;WACzC;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAGF,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,uBAA0B,CAAA,SAAA,EAAA,4BAAA,EAAA;;EAD9B,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,2BAA2B,CAAC;WACzC;EACD,QAAA,GAAA,EAAA,UAA+B,0BAAmC,EAAA;EAChE,YAAA,IAAI,CAAC,2BAA2B,GAAGA,8BAAqB,CAAC,0BAA0B,CAAC,CAAC;WACtF;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,IAA0B,EAAA;cACrC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;;EAE1B,gBAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;kBACpC,IAAI,CAAC,8BAA8B,EAAE,CAAC;EACvC,aAAA;EACD,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;EACtB,YAAA,IAAI,IAAI,EAAE;EACR,gBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;;EAGvC,gBAAA,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,MAAM,EAAE;EAClD,oBAAA,KAAK,IAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;EAC7B,wBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;EAC1D,4BAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;EAClC,yBAAA;EACF,qBAAA;EACF,iBAAA;EACF,aAAA;WACF;;;EApBA,KAAA,CAAA,CAAA;EA4BD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAK,CAAA,SAAA,EAAA,OAAA,EAAA;EANT;;;;EAIG;EACH,QAAA,GAAA,EAAA,UACU,QAA4C,EAAA;;cACpD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;EACnC,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;EAChB,oBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;EAClB,iBAAA;;EACD,oBAAA,KAAmB,IAAA,UAAA,GAAA,QAAA,CAAA,QAAQ,CAAA,kCAAA,EAAE,CAAA,YAAA,CAAA,IAAA,EAAA,YAAA,GAAA,UAAA,CAAA,IAAA,EAAA,EAAA;EAAxB,wBAAA,IAAM,IAAI,GAAA,YAAA,CAAA,KAAA,CAAA;0BACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;EACrC,qBAAA;;;;;;;;;kBACD,IAAI,CAAC,8BAA8B,EAAE,CAAC;EACvC,aAAA;WACF;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACI,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;EAEE,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;WAC7B;EACD,QAAA,GAAA,EAAA,UAAa,CAAU,EAAA;EACrB,YAAA,IAAM,QAAQ,GAAGA,8BAAqB,CAAC,CAAC,CAAC,CAAC;EAC1C,YAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;EACrC,gBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACxB,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;EAwCD,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;EACE,QAAA,IAAM,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;EACrC,QAAA,IAAM,eAAe,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;UAChG,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;OAC1F,CAAA;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,MAAM,CAAA,SAAA,CAAA,WAAW,WAAE,CAAC;EACpB,QAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;OACpC,CAAA;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,QAAkB,EAAA;UAClD,OAAO,QAAQ,CAAC,UAAU,CAAC;OAC5B,CAAA;;EAGO,IAAA,uBAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,YAAA;UAAA,IAeP,KAAA,GAAA,IAAA,CAAA;;EAbC,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;;EAE9B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC2C,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAEC,8BAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,QAAQ,EAAA;EACzF,gBAAA,IAAI,QAAQ,EAAE;;sBAEZ,KAAI,CAAC,6BAA6B,EAAE,CAAC;EACtC,iBAAA;uBAAM,IAAI,CAAC,KAAI,CAAC,sBAAsB,IAAI,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;;sBAE7E,KAAI,CAAC,4CAA4C,CAAC,CAAC,KAAI,CAAC,qBAAqB,CAAC,CAAC;EAC/E,oBAAA,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;EACnC,iBAAA;EACH,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAED;;;;EAIG;MACK,uBAAsB,CAAA,SAAA,CAAA,sBAAA,GAAtB,UAAuB,IAAY,EAAA;UACzC,IAAI,IAAI,CAAC,MAAM,EAAE;cACf,IAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;EACnD,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;EACf,oBAAA,EAAE,EAAE,IAAI;sBACR,MAAM,EAAE,OAAO,CAAC,MAA2B;EAC5C,iBAAA,CAAC,CAAC;EACJ,aAAA;EACF,SAAA;OACF,CAAA;EAED;;EAEG;MACK,uBAA4C,CAAA,SAAA,CAAA,4CAAA,GAA5C,UAA6C,iBAA0B,EAAA;UAAvE,IA2BP,KAAA,GAAA,IAAA,CAAA;EA1BC,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;cAC9B,IAAI,CAAC,6BAA6B,EAAE,CAAC;EACrC,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAIC,iBAAY,EAAE,CAAC;sCAGtC,GAAG,EAAA;EACZ,gBAAA,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAK,CAAA,MAAM,EAAE,GAAG,CAAC,EAAE;sBAC1D,IAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,MAAA,CAAK,MAAM,CAAC,CAAC;EAClD,oBAAA,IAAI,OAAO,EAAE;EACX,wBAAA,IAAI,iBAAiB,EAAE;8BACrB,MAAK,CAAA,MAAM,CAAC,IAAI,CAAC;EACf,gCAAA,EAAE,EAAE,GAAG;;kCAEP,MAAM,EAAE,OAAO,CAAC,MAA2B;EAC5C,6BAAA,CAAC,CAAC;EACJ,yBAAA;;0BAED,MAAK,CAAA,sBAAsB,CAAC,GAAG,CAC7B,OAAO,CAAC,aAAa,CAAC,IAAI,CAACF,mBAAS,CAAC,MAAK,CAAA,UAAU,CAAC,EAAEC,8BAAoB,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,MAAM,EAAA;EAC9F,4BAAA,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;2BACvC,CAAC,CACH,CAAC;EACH,qBAAA;EACF,iBAAA;;;;EAlBH,YAAA,KAAK,IAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAA;0BAAlB,GAAG,CAAA,CAAA;EAmBb,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;EAIG;EACK,IAAA,uBAAA,CAAA,SAAA,CAAA,gCAAgC,GAAhC,YAAA;UAAA,IAgBP,KAAA,GAAA,IAAA,CAAA;EAfC,QAAA,IAAI,CAAC,SAAS;EACX,aAAA,IAAI,CACHD,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC;;EAE1B,QAAAX,mBAAS,CAAC,YAAA,EAAM,OAAA,CAAC,KAAI,CAAC,QAAQ,CAAA,EAAA,CAAC,EAC/BY,8BAAoB,EAAE,CACvB;eACA,SAAS,CAAC,UAAC,QAAQ,EAAA;EAClB,YAAA,IAAI,QAAQ,EAAE;kBACZ,KAAI,CAAC,+BAA+B,EAAE,CAAC;EACxC,aAAA;mBAAM,IAAI,CAAC,KAAI,CAAC,sBAAsB,IAAI,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;;kBAE7E,KAAI,CAAC,+BAA+B,EAAE,CAAC;EACxC,aAAA;EACH,SAAC,CAAC,CAAC;OACN,CAAA;MAEO,uBAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,IAAU,EAAA;;UAEzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;UACrD,IAAI,IAAI,CAAC,gBAAgB,EAAE;cACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;;;EAG3C,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAM,CAAC;EACpG,SAAA;EAAM,aAAA;cACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAc,CAAC;cAC5E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACzC,SAAA;OACF,CAAA;EAED;;;EAGG;EACK,IAAA,uBAAA,CAAA,SAAA,CAAA,+BAA+B,GAA/B,YAAA;UAAA,IASP,KAAA,GAAA,IAAA,CAAA;UARC,IAAI,CAAC,+BAA+B,EAAE,CAAC;EACvC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW;EAC3D,aAAA,IAAI,CACHD,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1BX,mBAAS,CAAC,UAAC,MAAM,IAAK,OAAA,CAAC,MAAM,CAAP,EAAO,CAAC,CAC/B;EACA,aAAA,SAAS,CAAC,UAAC,OAAa,EAAK,EAAA,OAAA,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAY,CAAC,CAAtC,EAAsC,CAAC,CAAC;;OAEzE,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,6BAA6B,GAA7B,YAAA;EACN,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;EACxE,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;EAC3C,SAAA;OACF,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,+BAA+B,GAA/B,YAAA;EACN,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;EACxE,YAAA,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC;EAC3C,SAAA;OACF,CAAA;;GAvQH,CACU,kBAAkB;6IADf,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAc,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAjC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,+WAFxB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAED,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAHnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;oKAUK,WAAW,EAAA,CAAA;wBADdC,QAAK;kBAMF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAWF,0BAA0B,EAAA,CAAA;wBAD7BA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAgCF,KAAK,EAAA,CAAA;wBADRA,QAAK;kBAcF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAiBI,MAAM,EAAA,CAAA;wBAAfI,SAAM;kBACG,cAAc,EAAA,CAAA;wBAAvBA,SAAM;kBAEG,cAAc,EAAA,CAAA;wBAAvBA,SAAM;;;EClHT;AAqBA,MAAA,2BAAA,kBAAA,YAAA;EAlBA,IAAA,SAAA,2BAAA,GAAA;EAmBW,QAAA,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;OAC/B;;;iJAFY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA3B,2BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAhB5B,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,EAAA,oGAIT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qIAAA,CAAA,EAAA,CAAA,CAAA;oHAYU,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAlBvCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,gBAAgB;EAC1B,oBAAA,QAAQ,EAAE,oGAIT;EACD,oBAAA,MAAM,EAAE;0BACN,qIAOC;EACF,qBAAA;mBACF,CAAA;gCAEU,YAAY,EAAA,CAAA;wBAApBC,QAAK;;;ECjBR;AASA,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAAyC,SAA6B,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;EAAtE,IAAA,SAAA,mBAAA,GAAA;;;;GAAA,CAAyC,uBAA6B;yIAAzD,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAvD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAnB,mBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,sLCdhC,yfAYA,EAAA,MAAA,EAAA,CAAA,y/CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAwG,2BAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA5B,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,yBAAA,EAAA4B,2BAAA,EAAA,EAAA,eAAA,EAAAzG,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDEa,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAR/BsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,WAAW;EACrB,oBAAA,WAAW,EAAE,uBAAuB;sBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;sBACpC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACrC,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;mBACxD,CAAA;;;AEHD,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;;;8IAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,wBAAwB,EAFpB,YAAA,EAAA,CAAA,2BAA2B,CAFhC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,aACZ,2BAA2B,CAAA,EAAA,CAAA,CAAA;+IAG1B,wBAAwB,EAAA,OAAA,EAAA,CAJ1B,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBALpCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,OAAO,EAAE,CAAC,2BAA2B,CAAC;sBACtC,YAAY,EAAE,CAAC,2BAA2B,CAAC;mBAC5C,CAAA;;;ECJD;EACA,IAAM2B,oBAAkB,GAAGC,aAAU,gBAAA,YAAA;EAEjC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,SAAS,CACV,CAAC;EAEF;;;;;EAKG;AASH,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAkB,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EA2B7D,IAAA,SAAA,uBAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EA5B8B,QAAA,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;EAoBxC,QAAA,KAAU,CAAA,UAAA,GAAG,IAAI,CAAC;EAI1B,QAAA,KAAA,CAAA,iBAAiB,GAAG,SAAS,CAAA3L,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,IAAA,CAAC;;OAI7C;EA1BD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,IAAc,EAAA;EACrB,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;EAClB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC;WAC7D;;;EAJA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CAEI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EAFb,QAAA,GAAA,EAAA,YAAA;cAGE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC;WAC1C;EACD,QAAA,GAAA,EAAA,UAAc,SAAkB,EAAA;EAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;WAC7B;;;EAHA,KAAA,CAAA,CAAA;EAcD;;EAEG;MACH,uBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,KAAY,EAAA;EAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;cACnB,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;EAClC,SAAA;OACF,CAAA;;GAvCH,CAA6C0L,oBAAkB;6IAAlD,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA1G,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,4RC3BpC,yrBAqBA,EAAA,MAAA,EAAA,CAAA,qgBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA9E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDMa,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBARnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,cAAc;EACxB,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAEgC,QAAQ,EAAA,CAAA;wBAAtCZ,cAAW;yBAAC,gBAAgB,CAAA;kBAGzB,IAAI,EAAA,CAAA;wBADPF,QAAK;kBAYF,SAAS,EAAA,CAAA;wBAFZE,cAAW;yBAAC,iBAAiB,CAAA;;wBAC7BF,QAAK;kBASG,cAAc,EAAA,CAAA;wBAAtBA,QAAK;;;;EE7CR;EACA,IAAM,kBAAkB,GAAGoD,aAAU,gBAAA,YAAA;EAEjC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,SAAS,CACV,CAAC;AAUF,MAAA,4BAAA,kBAAA,UAAA,MAAA,EAAA;MAAkD,SAAkB,CAAA,4BAAA,EAAA,MAAA,CAAA,CAAA;EAmBlE,IAAA,SAAA,4BAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;;EAnBQ,QAAA,KAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EAUnB,QAAA,KAAM,CAAA,MAAA,GAAe,EAAE,CAAC;EAEtB,QAAA,KAAA,CAAA,QAAQ,GAAG,IAAIjD,eAAY,EAAY,CAAC;EAElD,QAAA,KAAA,CAAA,cAAc,GAAG,SAAS,CAAA1I,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,IAAA,CAAC;EACrC,QAAA,KAAA,CAAA,SAAS,GAAG,SAAS,CAAAC,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;;OAI3B;EAhBD,IAAA,MAAA,CAAA,cAAA,CACI,4BAAK,CAAA,SAAA,EAAA,OAAA,EAAA;;EADT,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,MAAM,CAAC;WACpB;EACD,QAAA,GAAA,EAAA,UAAU,KAAiB,EAAA;EACzB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;WACrB;;;EAHA,KAAA,CAAA,CAAA;;GARH,CAAkD,kBAAkB;kJAAvD,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA+E,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA5B,4BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,qOCrBzC,4xBAoBA,EAAA,MAAA,EAAA,CAAA,kjBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA4G,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,WAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAArC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAnC,aAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA1E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDCa,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBARxCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,kCAAkC;sBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;sBAC/C,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAGU,SAAS,EAAA,CAAA;wBAAjBd,QAAK;kBACG,cAAc,EAAA,CAAA;wBAAtBA,QAAK;kBAGF,KAAK,EAAA,CAAA;wBADRA,QAAK;kBASI,QAAQ,EAAA,CAAA;wBAAjBI,SAAM;;;;EE9BT;EACA,IAAM,qBAAqB,GAAGgD,aAAU,gBAAA,YAAA;EAEpC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,SAAS,CACV,CAAC;EAEF;;;;;EAKG;AAUH,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MAAgD,SAAqB,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;EAqBnE,IAAA,SAAA,0BAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAZO,QAAA,KAAM,CAAA,MAAA,GAAoC,EAAE,CAAC;;EAE3C,QAAA,KAAA,CAAA,QAAQ,GAAG,IAAIjD,eAAY,EAAY,CAAC;EAElD,QAAA,KAAqB,CAAA,qBAAA,GAA+B,EAAE,CAAC;EAEvD,QAAA,KAAA,CAAA,iBAAiB,GAAG,SAAS,CAAA1I,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,gBAAgB,IAAA,CAAC;EAC9C,QAAA,KAAA,CAAA,cAAc,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,UAAA,CAAA,EAAA,CAAA,UAAU,IAAA,CAAC;EACrC,QAAA,KAAA,CAAA,SAAS,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;;OAI3B;EApBD,IAAA,MAAA,CAAA,cAAA,CACI,0BAAK,CAAA,SAAA,EAAA,OAAA,EAAA;;EADT,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,MAAM,CAAC;WACpB;EACD,QAAA,GAAA,EAAA,UAAU,KAAsC,EAAA;EAC9C,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;EACpB,YAAA,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;WACzC;;;EAJA,KAAA,CAAA,CAAA;EAmBD;;;;;;EAMG;EACH,IAAA,0BAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,KAAa,EAAE,IAA8B,EAAA;EACtD,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;OACjC,CAAA;EAED;;EAEG;EACH,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,KAAY,EAAE,IAAc,EAAA;EAC1C,QAAA,IAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC;UAC9E,IAAI,CAAC,SAAS,EAAE;cACd,KAAK,CAAC,cAAc,EAAE,CAAC;cACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;EAClC,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1B,SAAA;OACF,CAAA;MAED,0BAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,KAAsC,EAAA;UAAlE,IAMC,KAAA,GAAA,IAAA,CAAA;EALC,QAAA,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;EACjB,YAAA,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;kBACzB,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;EAC9D,aAAA;EACH,SAAC,CAAC,CAAC;OACJ,CAAA;MAED,0BAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAAmB,EAAA;EACjC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OAC5F,CAAA;;GA3DH,CAAgD,qBAAqB;gJAAxD,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgF,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,0MC5BvC,k2IAwGA,EAAA,MAAA,EAAA,CAAA,qkEAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAnC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAoC,eAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,qBAAA,EAAAE,uBAAA,EAAA,gBAAA,EAAAC,kBAAA,EAAA,qBAAA,EAAAC,uBAAA,EAAA,iBAAA,EAAAC,mBAAA,EAAA,kBAAA,EAAAC,gBAAA,EAAA,OAAA,EAAAzC,aAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA1E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHD5Ea,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBATtCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,iBAAiB;;EAE3B,oBAAA,WAAW,EAAE,mCAAmC;sBAChD,SAAS,EAAE,CAAC,+BAA+B,CAAC;sBAC5C,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAEU,cAAc,EAAA,CAAA;wBAAtBd,QAAK;kBAGF,KAAK,EAAA,CAAA;wBADRA,QAAK;kBAUI,QAAQ,EAAA,CAAA;wBAAjBI,SAAM;;;;AEDT,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;;;6IAAa,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,iBAHnB,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,aAd9F+E,iBAAY;UACZqC,2BAAgB;UAChBC,qBAAgB;UAChBC,2BAAsB;UACtBC,kBAAe;UACfjC,oBAAe;UACfkC,qBAAgB;UAChBC,kBAAa;UACb,6BAA6B;UAC7B,6BAA6B;UAC7B,wBAAwB;UACxB,yBAAyB;EACzB,QAAA,sBAAsB,CAGd,EAAA,OAAA,EAAA,CAAA,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,CAAA,EAAA,CAAA,CAAA;EAEhF,uBAAA,CAAA,IAAA,GAAAzH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAlBzB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZqC,2BAAgB;cAChBC,qBAAgB;cAChBC,2BAAsB;cACtBC,kBAAe;cACfjC,oBAAe;cACfkC,qBAAgB;cAChBC,kBAAa;cACb,6BAA6B;cAC7B,6BAA6B;cAC7B,wBAAwB;cACxB,yBAAyB;cACzB,sBAAsB;WACvB,CAAA,EAAA,CAAA,CAAA;oHAIU,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAnBnCvD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZqC,2BAAgB;0BAChBC,qBAAgB;0BAChBC,2BAAsB;0BACtBC,kBAAe;0BACfjC,oBAAe;0BACfkC,qBAAgB;0BAChBC,kBAAa;0BACb,6BAA6B;0BAC7B,6BAA6B;0BAC7B,wBAAwB;0BACxB,yBAAyB;0BACzB,sBAAsB;EACvB,qBAAA;EACD,oBAAA,YAAY,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;EACjG,oBAAA,OAAO,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,0BAA0B,CAAC;mBAC7F,CAAA;;;ECjCD;EACA,IAAM,kBAAkB,GAAGd,aAAU,gBAAA,YAAA;EAEjC,IAAA,SAAA,OAAA,CAAmB,WAAuB,EAAA;EAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;OAAI;aAC/C,OAAA,CAAA;GAAA,EAFD,GAGA,QAAQ,CACT,CAAC;AAUF,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAkB,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAoB7D,IAAA,SAAA,uBAAA,CAAY,UAAsB,EAAA;UAAlC,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,UAAU,CAAC,IAClB,IAAA,CAAA;EAJS,QAAA,KAAA,CAAA,OAAO,GAAG,IAAIjD,eAAY,EAAY,CAAC;;OAIhD;EArBD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;;EAEE,YAAA,OAAO,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA,CAAC;WAC5B;;;EAAA,KAAA,CAAA,CAAA;EAGD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,IAAiC,EAAA;EACxC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;WACnB;;;EAHA,KAAA,CAAA,CAAA;MAcD,uBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,KAAkB,EAAA;EAClC,QAAA,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;cAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC9B,SAAA;OACF,CAAA;;GA5BH,CAA6C,kBAAkB;6IAAlD,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA1D,aAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,qPCtBpC,qwBAkBA,EAAA,MAAA,EAAA,CAAA,o6BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,oDAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,kDAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2DAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAV,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAA0D,sBAAA,EAAA,EAAA,eAAA,EAAA1H,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDIa,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBARnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mBAAmB;EAC7B,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,MAAM,EAAE,CAAC,OAAO,CAAC;sBACjB,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;8GAGK,MAAM,EAAA,CAAA;wBADTZ,cAAW;yBAAC,cAAc,CAAA;kBAOvB,IAAI,EAAA,CAAA;wBADPF,QAAK;kBASG,QAAQ,EAAA,CAAA;wBAAhBA,QAAK;kBAEI,OAAO,EAAA,CAAA;wBAAhBI,SAAM;;;AEhBT,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CARpC2H,aAAU;UACV5C,iBAAY;UACZ6C,kBAAa;UACbN,2BAAsB;UACtB,4BAA4B;UAC5BD,qBAAgB;UAChB,oBAAoB,aAGZ,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAArH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAZtB,OAAA,EAAA,CAAA;cACP2H,aAAU;cACV5C,iBAAY;cACZ6C,kBAAa;cACbN,2BAAsB;cACtB,4BAA4B;cAC5BD,qBAAgB;cAChB,oBAAoB;WACrB,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAbhCnD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPyD,aAAU;0BACV5C,iBAAY;0BACZ6C,kBAAa;0BACbN,2BAAsB;0BACtB,4BAA4B;0BAC5BD,qBAAgB;0BAChB,oBAAoB;EACrB,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACWD,MAAA,cAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,cAAA,GAAA;;;;oIAAa,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArH,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qIAAd,cAAc,EAAA,YAAA,EAAA,CAJV,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAZhC2H,aAAU;UACV5C,iBAAY;UACZqC,2BAAgB;UAChBS,cAAW;UACX,oBAAoB;UACpBC,sBAAmB;UACnB,wBAAwB;UACxBzC,yCAAmB;UACnB,iCAAiC;UACjC,uBAAuB;UACvB,oBAAoB,aAGZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;EAGlB,cAAA,CAAA,IAAA,GAAArF,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,cAAc,EAFd,SAAA,EAAA,CAAC,EAAE,OAAO,EAAED,oBAAiB,EAAE,QAAQ,EAAE,8CAA8C,EAAE,CAAC,EAf5F,OAAA,EAAA,CAAA;cACP4H,aAAU;cACV5C,iBAAY;cACZqC,2BAAgB;cAChBS,cAAW;cACX,oBAAoB;cACpBC,sBAAmB;cACnB,wBAAwB;cACxBzC,yCAAmB;cACnB,iCAAiC;cACjC,uBAAuB;cACvB,oBAAoB;WACrB,CAAA,EAAA,CAAA,CAAA;oHAKU,cAAc,EAAA,UAAA,EAAA,CAAA;oBAlB1BnB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPyD,aAAU;0BACV5C,iBAAY;0BACZqC,2BAAgB;0BAChBS,cAAW;0BACX,oBAAoB;0BACpBC,sBAAmB;0BACnB,wBAAwB;0BACxBzC,yCAAmB;0BACnB,iCAAiC;0BACjC,uBAAuB;0BACvB,oBAAoB;EACrB,qBAAA;sBACD,YAAY,EAAE,CAAC,mBAAmB,CAAC;sBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;sBAC9B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAEtF,oBAAiB,EAAE,QAAQ,EAAE,8CAA8C,EAAE,CAAC;mBACtG,CAAA;;;AClBD,MAAA,sBAAA,kBAAA,UAAA,MAAA,EAAA;MAA4C,SAAmD,CAAA,sBAAA,EAAA,MAAA,CAAA,CAAA;MAC7F,SAAY,sBAAA,CAAA,GAAsB,EAAU,SAA0B,EAAA;UAAtE,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;;OAErE;MAED,sBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,MAA4B,EAAA;EACvC,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OACrI,CAAA;EAED,IAAA,sBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAsC,EAAA;EACtE,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;OAC9B,CAAA;;GAXH,CAA4C,yBAAmD;4IAAlF,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAsE,eAAA,EAAA,CAAA,EAAA,MAAA,EAAAtE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAtB,sBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,8FCfnC,iyBAqBA,EAAA,MAAA,EAAA,CAAA,60CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAuE,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAwD,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAjD,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA/B,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,EAAA,eAAA,EAAA9E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDNa,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAPlCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,sBAAsB;EAChC,oBAAA,WAAW,EAAE,0BAA0B;sBACvC,SAAS,EAAE,CAAC,0BAA0B,CAAC;sBACvC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AESD,MAAA,mBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mBAAA,GAAA;;;;yIAAa,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0IAAnB,mBAAmB,EAAA,YAAA,EAAA,CAHf,sBAAsB,CAAA,EAAA,OAAA,EAAA,CARnC+E,iBAAY;UACZiD,yBAAoB;UACpB,oBAAoB;UACpBH,cAAW;UACXC,sBAAmB;UACnB,6BAA6B;UAC7BG,wBAAmB,aAGX,sBAAsB,CAAA,EAAA,CAAA,CAAA;EAErB,mBAAA,CAAA,IAAA,GAAAjI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mBAAmB,EAZrB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZiD,yBAAoB;cACpB,oBAAoB;cACpBH,cAAW;cACXC,sBAAmB;cACnB,6BAA6B;cAC7BG,wBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAb/B/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZiD,yBAAoB;0BACpB,oBAAoB;0BACpBH,cAAW;0BACXC,sBAAmB;0BACnB,6BAA6B;0BAC7BG,wBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,sBAAsB,CAAC;sBACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;mBAClC,CAAA;;;ACJD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAkD,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;MAI7F,SAAY,uBAAA,CAAA,GAAsB,EAAU,aAAkC,EAAA;UAA9E,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;EAH9E,QAAA,KAAA,CAAA,UAAU,GAAG,IAAIvC,YAAO,EAAQ,CAAC;EACjC,QAAA,KAAA,CAAA,oBAAoB,GAAG,SAAS,CAAA1K,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,4CAAA,CAAA,EAAA,CAAA,4CAA4C,IAAA,CAAC;;OAI5E;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,MAAyB,EAAE,KAAa,EAAA;UAArD,IAgCC,KAAA,GAAA,IAAA,CAAA;;UA/BC,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;EACxC,QAAA,IAAM,WAAW,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;UAKlD,IAAI,MAAM,CAAC,eAAe,KAAI,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAX,WAAW,CAAE,KAAK,CAAA,EAAE;;cAEhD,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC7B,YAAA,IAAI,CAAC,aAAa;EACf,iBAAA,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC;EAC7C,iBAAA,IAAI,CAACmL,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;mBAChC,SAAS,CAAC,UAAC,YAAY,EAAA;EACtB,gBAAA,IAAI,YAAY,EAAE;sBAChB,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;EAC5B,oBAAA,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC;0BACxB,cAAc,EAAE,MAAM,CAAC,YAAY;0BACnC,eAAe,EAAE,MAAM,CAAC,aAAa;0BACrC,OAAO,EAAE,MAAM,CAAC,OAAO;EACvB,wBAAA,QAAQ,EAAE,KAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,qBAAA,CAAC,CAAC;EACJ,iBAAA;EACH,aAAC,CAAC,CAAC;EACN,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;kBACxB,cAAc,EAAE,MAAM,CAAC,YAAY;kBACnC,eAAe,EAAE,MAAM,CAAC,aAAa;kBACrC,OAAO,EAAE,MAAM,CAAC,OAAO;EACvB,gBAAA,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;EAC/B,aAAA,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACE,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;OAC5B,CAAA;EAED;;;;EAIK;EACL,IAAA,uBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,KAAY,EAAE,mBAA4B,EAAA;UAC5D,KAAK,CAAC,eAAe,EAAE,CAAC;UACxB,KAAK,CAAC,cAAc,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;OAC7D,CAAA;EAED;;;EAGG;MACH,uBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,KAAY,EAAA;UAC/B,KAAK,CAAC,eAAe,EAAE,CAAC;OACzB,CAAA;;GAhEH,CAA6C,yBAAkD;6IAAlF,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAnG,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAkI,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAAlI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,+FClBpC,khEAiDA,EAAA,MAAA,EAAA,CAAA,u7CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAuE,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAqD,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAtB,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAsB,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAA1B,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAA2B,6BAAA,EAAA,EAAA,eAAA,EAAAxI,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHD/Ba,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAPnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uBAAuB;EACjC,oBAAA,WAAW,EAAE,2BAA2B;sBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;sBACxC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEJD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iJAA1B,0BAA0B,EAAA,YAAA,EAAA,CAHtB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CADlC+E,iBAAY,EAAEQ,oBAAe,EAAE,oBAAoB,EAAED,oBAAe,CAAA,EAAA,OAAA,EAAA,CAEpE,6BAA6B,CAAA,EAAA,CAAA,CAAA;iJAE5B,0BAA0B,EAAA,OAAA,EAAA,CAJ5B,CAACP,iBAAY,EAAEQ,oBAAe,EAAE,oBAAoB,EAAED,oBAAe,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIpE,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBALtCpB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEQ,oBAAe,EAAE,oBAAoB,EAAED,oBAAe,CAAC;sBAC/E,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACuBD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtF,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAdpC+E,iBAAY;UACZ,mCAAmC;UACnCqC,2BAAgB;UAChBS,cAAW;UACXY,uBAAkB;UAClBC,sBAAiB;UACjBpD,oBAAe;UACfmC,kBAAa;UACbD,qBAAgB;UAChB,oBAAoB;UACpBS,wBAAmB;UACnBH,sBAAmB;UACnB,0BAA0B,aAGlB,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAlBtB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,mCAAmC;cACnCqC,2BAAgB;cAChBS,cAAW;cACXY,uBAAkB;cAClBC,sBAAiB;cACjBpD,oBAAe;cACfmC,kBAAa;cACbD,qBAAgB;cAChB,oBAAoB;cACpBS,wBAAmB;cACnBH,sBAAmB;cACnB,0BAA0B;WAC3B,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAnBhC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,mCAAmC;0BACnCqC,2BAAgB;0BAChBS,cAAW;0BACXY,uBAAkB;0BAClBC,sBAAiB;0BACjBpD,oBAAe;0BACfmC,kBAAa;0BACbD,qBAAgB;0BAChB,oBAAoB;0BACpBS,wBAAmB;0BACnBH,sBAAmB;0BACnB,0BAA0B;EAC3B,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACLD,MAAA,mBAAA,kBAAA,UAAA,MAAA,EAAA;MAAyC,SAA0C,CAAA,mBAAA,EAAA,MAAA,CAAA,CAAA;MAsBjF,SAAY,mBAAA,CAAA,GAAsB,EAAE,MAAkB,EAAA;UAAtD,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IAiBX,IAAA,CAAA;EAtCuC,QAAA,KAAa,CAAA,aAAA,GAAG,IAAI,CAAC;;;EAcpD,QAAA,KAAW,CAAA,WAAA,GAA8C,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;EAI7F,QAAA,KAAA,CAAA,SAAS,GAAG,SAAS,CAAA9M,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;;;UAM1B,mBAAmB,CAAC,8BAA8B,EAAE,CAAC;EACrD,QAAA,IAAI,mBAAmB,CAAC,8BAA8B,KAAK,CAAC,EAAE;cAC5D,IAAI;kBACF,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,EAAE,CAAC,oBAAoB,KAAK,UAAU,EAAE;EACnE,oBAAA,MAAM,CAAC,KAAK,CAAC,uQAEuE,CAAC,CAAC;EACvF,iBAAA;EACF,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EACV,gBAAA,MAAM,CAAC,KAAK,CAAC,oNAEuC,CAAC,CAAC;EACvD,aAAA;EACF,SAAA;;OACF;EApCD,IAAA,MAAA,CAAA,cAAA,CAAa,mBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAAe,EAAA;cAC/B,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;EACnB,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;kBACpB,IAAI,CAAC,4BAA4B,EAAE,CAAC;EACrC,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;EAoCD,IAAA,mBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACE,IAAI,CAAC,4BAA4B,EAAE,CAAC;OACrC,CAAA;EAED;;;EAGG;EACK,IAAA,mBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;UACN,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAM,eAAe,GAA6B,IAAI,CAAC,MAAM,CAAC,eAA2C,CAAC;;EAE1G,YAAA,IAAM,CAAC,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;;EAGnF,YAAA,IAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;EAE3E,YAAA,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC;;EAEzC,YAAA,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;;EAEvC,YAAA,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;;EAGjC,YAAA,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;EACrD,SAAA;OACF,CAAA;;GApEH,CAAyC,mBAA0C;EAC1E,mBAA8B,CAAA,8BAAA,GAAG,CAAC,CAAC;yIAD/B,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgF,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAgE,eAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kHAAnB,mBAAmB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAkBnB2I,kBAAa,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA3I,aAAA,EAAA,QAAA,EC/C1B,o4BAqBA,EAAA,MAAA,EAAA,CAAA,2iBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAuE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,YAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAhC,eAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAO,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAA8D,6BAAA,EAAA,EAAA,eAAA,EAAA5I,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDQa,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAP/BsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mBAAmB;EAC7B,oBAAA,WAAW,EAAE,uBAAuB;sBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;sBACpC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;2JAGyC,aAAa,EAAA,CAAA;wBAApDZ,cAAW;yBAAC,yBAAyB,CAAA;kBAc7B,WAAW,EAAA,CAAA;wBAAnBF,QAAK;kBAEuC,MAAM,EAAA,CAAA;wBAAlDsF,YAAS;kBAAC,IAAA,EAAA,CAAAF,kBAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;;AEjB7C,MAAA,gBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gBAAA,GAAA;;;;sIAAa,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3I,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uIAAhB,gBAAgB,EAAA,YAAA,EAAA,CAJZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAVhC+E,iBAAY;UACZ8C,cAAW;UACXY,uBAAkB;UAClBK,iBAAc;UACdC,wBAAmB;UACnB1D,yCAAmB;UACnB4C,wBAAmB;UACnBH,sBAAmB;UACnB,mCAAmC,aAG3B,mBAAmB,CAAA,EAAA,CAAA,CAAA;EAGlB,gBAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gBAAgB,EAFhB,SAAA,EAAA,CAAC,EAAE,OAAO,EAAEgJ,mBAAgB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC,EAbnE,OAAA,EAAA,CAAA;cACPjE,iBAAY;cACZ8C,cAAW;cACXY,uBAAkB;cAClBK,iBAAc;cACdC,wBAAmB;cACnB1D,yCAAmB;cACnB4C,wBAAmB;cACnBH,sBAAmB;cACnB,mCAAmC;WACpC,CAAA,EAAA,CAAA,CAAA;oHAKU,gBAAgB,EAAA,UAAA,EAAA,CAAA;oBAhB5B5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ8C,cAAW;0BACXY,uBAAkB;0BAClBK,iBAAc;0BACdC,wBAAmB;0BACnB1D,yCAAmB;0BACnB4C,wBAAmB;0BACnBH,sBAAmB;0BACnB,mCAAmC;EACpC,qBAAA;sBACD,YAAY,EAAE,CAAC,mBAAmB,CAAC;sBACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;sBAC9B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAEkB,mBAAgB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;mBAC7E,CAAA;;;ACjBD,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAA8C,SAAmD,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EANjG,IAAA,SAAA,wBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAoBC,CAAA,CAAA,IAAA,IAAA,CAAA;EADC,QAAA,KAAA,CAAA,MAAM,GAAG,SAAS,CAAAhO,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,IAAA,CAAC;;OACxB;EAbC,IAAA,MAAA,CAAA,cAAA,CAAI,wBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAR,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,IAAyB,EAAA;EAChC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;cAElB,IAAI,CAAC,UAAU,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,GAAE,CAAC;cAChE,IAAI,CAAC,QAAQ,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAE,CAAC;WAC7D;;;EANA,KAAA,CAAA,CAAA;;GAHH,CAA8C,mBAAmD;8IAApF,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAgF,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4FCZrC,6wBAwBA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAiJ,mBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA1E,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,yBAAA,EAAAqE,2BAAA,EAAA,EAAA,eAAA,EAAAlJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDZa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBANpCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEYD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CARrC+E,iBAAY;UACZkD,wBAAmB;UACnB,gBAAgB;UAChBb,2BAAgB;UAChBS,cAAW;UACXC,sBAAmB;UACnB,iCAAiC,aAGzB,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,EAZvB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZkD,wBAAmB;cACnB,gBAAgB;cAChBb,2BAAgB;cAChBS,cAAW;cACXC,sBAAmB;cACnB,iCAAiC;WAClC,CAAA,EAAA,CAAA,CAAA;oHAIU,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAbjC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZkD,wBAAmB;0BACnB,gBAAgB;0BAChBb,2BAAgB;0BAChBS,cAAW;0BACXC,sBAAmB;0BACnB,iCAAiC;EAClC,qBAAA;sBACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACVD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAsD,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAAnG,IAAA,SAAA,uBAAA,GAAA;;;;GAAA,CAA6C,wCAAsD;6IAAtF,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA9H,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,+FCZpC,guDA0CA,EAAA,MAAA,EAAA,CAAA,+jBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA+B,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA9C,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAoE,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAvB,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA7C,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAgC,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAsC,6BAAA,EAAA,mBAAA,EAAAC,qBAAA,EAAA,6BAAA,EAAAC,+BAAA,EAAA,EAAA,eAAA,EAAArJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHD9Ba,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAPnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uBAAuB;EACjC,oBAAA,WAAW,EAAE,2BAA2B;sBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;sBACxC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AEkBD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CAZpC+E,iBAAY;UACZ8C,cAAW;UACXY,uBAAkB;UAClBa,oBAAe;UACfrB,wBAAmB;UACnBsB,kBAAa;UACb9B,kBAAa;UACb,mCAAmC;UACnC,qCAAqC;UACrC,2BAA2B;UAC3BK,sBAAmB,aAGX,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAhBtB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ8C,cAAW;cACXY,uBAAkB;cAClBa,oBAAe;cACfrB,wBAAmB;cACnBsB,kBAAa;cACb9B,kBAAa;cACb,mCAAmC;cACnC,qCAAqC;cACrC,2BAA2B;cAC3BK,sBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAjBhC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ8C,cAAW;0BACXY,uBAAkB;0BAClBa,oBAAe;0BACfrB,wBAAmB;0BACnBsB,kBAAa;0BACb9B,kBAAa;0BACb,mCAAmC;0BACnC,qCAAqC;0BACrC,2BAA2B;0BAC3BK,sBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACfD,MAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;MAA+C,SAAsD,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;MAKnG,SAAY,yBAAA,CAAA,GAAsB,EAAU,WAAwB,EAAA;UAApE,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAW,CAAA,WAAA,GAAX,WAAW,CAAa;EAHpE,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAChB,QAAA,KAAA,CAAA,qBAAqB,GAAG,SAAS,CAAA9M,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,IAAA,CAAC;;OAIhD;MAED,yBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,IAAc,EAAA;UAA3B,IAQC,KAAA,GAAA,IAAA,CAAA;EAPC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;UAEpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAC,QAAyB,EAAA;EACpE,YAAA,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;EACrB,YAAA,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;EACzB,YAAA,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;EAC1B,SAAC,CAAC,CAAC;OACJ,CAAA;MAED,yBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,QAAyB,EAAA;EACtC,QAAA,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;OACzF,CAAA;EAED,IAAA,yBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;UACE,IAAI,MAAA,IAAI,CAAC,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,EAAE;cACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;EACjC,SAAA;OACF,CAAA;EAED,IAAA,yBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UAAA,IASC,KAAA,GAAA,IAAA,CAAA;UARC,IAAI,IAAI,CAAC,QAAQ,EAAE;EACjB,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;cACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,YAAA;EACnD,gBAAA,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;EACrB,gBAAA,KAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;EAC1B,gBAAA,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;EAC3B,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;;GAtCH,CAA+C,yBAAsD;+IAAxF,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgF,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAgE,eAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzB,yBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,kGCbtC,y0DAsDA,EAAA,MAAA,EAAA,CAAA,mGAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,WAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,6IAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAmC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAuB,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAAvB,aAAA,CAAA,aAAA,EAAA,EAAA,CAAA,CAAA;oHDzCa,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBALrCvD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,0BAA0B;EACpC,oBAAA,WAAW,EAAE,8BAA8B;sBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;mBAC5C,CAAA;;;;AEaD,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;4IAAa,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtD,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6IAAtB,sBAAsB,EAAA,YAAA,EAAA,CAHlB,yBAAyB,CAAA,EAAA,OAAA,EAAA,CATtC+E,iBAAY;UACZkD,wBAAmB;UACnB3C,oBAAe;UACfmC,kBAAa;UACb+B,2BAAsB;UACtBC,yBAAoB;UACpBF,kBAAa;UACbG,6BAAwB,aAGhB,yBAAyB,CAAA,EAAA,CAAA,CAAA;EAExB,sBAAA,CAAA,IAAA,GAAA1J,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sBAAsB,EAbxB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZkD,wBAAmB;cACnB3C,oBAAe;cACfmC,kBAAa;cACb+B,2BAAsB;cACtBC,yBAAoB;cACpBF,kBAAa;cACbG,6BAAwB;WACzB,CAAA,EAAA,CAAA,CAAA;oHAIU,sBAAsB,EAAA,UAAA,EAAA,CAAA;oBAdlCxF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZkD,wBAAmB;0BACnB3C,oBAAe;0BACfmC,kBAAa;0BACb+B,2BAAsB;0BACtBC,yBAAoB;0BACpBF,kBAAa;0BACbG,6BAAwB;EACzB,qBAAA;sBACD,YAAY,EAAE,CAAC,yBAAyB,CAAC;sBACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;mBACrC,CAAA;;;ACJD,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAA8C,SAAsC,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EAPpF,IAAA,SAAA,wBAAA,GAAA;;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAgCC,CAAA,CAAA,IAAA,IAAA,CAAA;EAZC,QAAA,KAAA,CAAA,SAAS,IAAA,EAAA,GAAA,EAAA;cACP,EAAC,CAAA9I,kCAAwB,IAAG,IAAI;cAChC,EAAC,CAAA+B,iCAAuB,IAAG,IAAI;cAC/B,EAAC,CAAAE,sBAAY,IAAG,IAAI;cACpB,EAAC,CAAAC,uBAAa,IAAG,IAAI;iBACtB,CAAC;EAEF;;;EAGG;EACH,QAAA,KAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;OAChB;EAxBC,IAAA,MAAA,CAAA,cAAA,CAAa,wBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,IAAuB,EAAA;EACvC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;;;;EAKlB,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,KAAKjC,8BAAoB,IAAI,CAAC,CAAC,MAAM,KAAK8I,0BAAgB,CAAlE,EAAkE,CAAC,CAAC;WAChH;;;EARA,KAAA,CAAA,CAAA;;GAHH,CAA8C,mBAAsC;8IAAvE,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA3J,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,uFCpBrC,mjDAyCA,EAAA,MAAA,EAAA,CAAA,wwCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA4J,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhF,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAgC,eAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,sBAAA,EAAAgF,wBAAA,EAAA,EAAA,eAAA,EAAA7J,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDrBa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAPpCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,eAAe;EACzB,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;sBAC1C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEMD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CATrC+E,iBAAY;UACZ,sBAAsB;UACtBkD,wBAAmB;UACnB,oBAAoB;UACpBJ,cAAW;UACXC,sBAAmB;UACnBV,2BAAgB;UAChB,8BAA8B,aAGtB,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAApH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,EAbvB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sBAAsB;cACtBkD,wBAAmB;cACnB,oBAAoB;cACpBJ,cAAW;cACXC,sBAAmB;cACnBV,2BAAgB;cAChB,8BAA8B;WAC/B,CAAA,EAAA,CAAA,CAAA;oHAIU,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAdjClD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sBAAsB;0BACtBkD,wBAAmB;0BACnB,oBAAoB;0BACpBJ,cAAW;0BACXC,sBAAmB;0BACnBV,2BAAgB;0BAChB,8BAA8B;EAC/B,qBAAA;sBACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACZD,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MAAgD,SAA8B,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;EAA9E,IAAA,SAAA,0BAAA,GAAA;;;;GAAA,CAAgD,qBAA8B;gJAAjE,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAApH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,yFCZvC,g4BAyBA,EAAA,MAAA,EAAA,CAAA,6JAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA8J,uBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAvF,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAwD,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAjD,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,qBAAA,EAAAqF,uBAAA,EAAA,EAAA,eAAA,EAAA/J,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDba,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAPtCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,iBAAiB;EAC3B,oBAAA,WAAW,EAAE,+BAA+B;sBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;sBAC5C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEID,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;;;6IAAa,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAHnB,YAAA,EAAA,CAAA,0BAA0B,CAD/B,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,oBAAoB,EAAEsC,qBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAEY,wBAAmB,aAE9H,0BAA0B,CAAA,EAAA,CAAA,CAAA;EAEzB,uBAAA,CAAA,IAAA,GAAAjI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAJzB,OAAA,EAAA,CAAA,CAAC+E,iBAAY,EAAE,oBAAoB,EAAEsC,qBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAEY,wBAAmB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI9H,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBALnC/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,oBAAoB,EAAEsC,qBAAgB,EAAE,oBAAoB,EAAE,6BAA6B,EAAEY,wBAAmB,CAAC;sBACzI,YAAY,EAAE,CAAC,0BAA0B,CAAC;sBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;mBACtC,CAAA;;;ACID,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAEU,SAAiC,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EAT3C,IAAA,SAAA,wBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAmCC,CAAA,CAAA,IAAA,IAAA,CAAA;EAhBC,QAAA,KAAW,CAAA,WAAA,GAAG,KAAK,CAAC;EACpB,QAAA,KAAA,CAAA,mBAAmB,GAAG,SAAS,CAAAjN,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OAe1D;EAzBC,IAAA,MAAA,CAAA,cAAA,CAAa,wBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAAQ,EAAA;cACxB,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;EACnB,YAAA,IAAIgP,gDAAsC,CAAC,KAAK,CAAC,EAAE;EACjD,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;EACzB,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;MAUD,wBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,QAAgB,EAAA;;EAC7B,QAAA,IAAM,OAAO,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;UACjD,OAAO,MAAC,OAAuB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAIzJ,cAAW,EAAE,CAAC;OACtD,CAAA;MAED,wBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,QAAgB,EAAA;EACjC,QAAA,IAAI0J,gBAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;EACjC,YAAA,IAAM,OAAO,GAAGC,mBAAgB,CAAC,QAAQ,CAAC,CAAC;EAC3C,YAAA,IAAM,WAAW,GAAGC,0BAAuB,CAAC,OAAO,CAAC,CAAC;EACrD,YAAA,OAAU,WAAW,GAAA,IAAA,GAAK,OAAO,GAAA,GAAG,CAAC;EACtC,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;;GA3BH,CAEU,mBAAiC;8IAF9B,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAnK,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,iGClBrC,w9DAmDA,EAAA,MAAA,EAAA,CAAA,6gCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA7C,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAAuC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,uBAAA,EAAAsD,yBAAA,EAAA,OAAA,EAAAvF,aAAA,CAAA,SAAA,EAAA,UAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAsE,6BAAA,EAAA,mBAAA,EAAAC,qBAAA,EAAA,EAAA,eAAA,EAAApJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDjCa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAPpCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,yBAAyB;EACnC,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;sBAC1C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEUD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAXrC+E,iBAAY;UACZ8C,cAAW;UACXY,uBAAkB;UAClBK,iBAAc;UACdb,wBAAmB;UACnB,+BAA+B;UAC/BsB,kBAAa;UACbzB,sBAAmB;UACnB,mCAAmC;UACnC,2BAA2B,aAGnB,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,EAfvB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ8C,cAAW;cACXY,uBAAkB;cAClBK,iBAAc;cACdb,wBAAmB;cACnB,+BAA+B;cAC/BsB,kBAAa;cACbzB,sBAAmB;cACnB,mCAAmC;cACnC,2BAA2B;WAC5B,CAAA,EAAA,CAAA,CAAA;oHAIU,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBAhBjC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ8C,cAAW;0BACXY,uBAAkB;0BAClBK,iBAAc;0BACdb,wBAAmB;0BACnB,+BAA+B;0BAC/BsB,kBAAa;0BACbzB,sBAAmB;0BACnB,mCAAmC;0BACnC,2BAA2B;EAC5B,qBAAA;sBACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACLD,MAAA,oBAAA,kBAAA,UAAA,MAAA,EAAA;MAEU,SAAmC,CAAA,oBAAA,EAAA,MAAA,CAAA,CAAA;EAT7C,IAAA,SAAA,oBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAyBC,CAAA,CAAA,IAAA,IAAA,CAAA;EAHC,QAAA,KAAW,CAAA,WAAA,GAAG,KAAK,CAAC;EACpB,QAAA,KAAa,CAAA,aAAA,GAAG,KAAK,CAAC;EACtB,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAA9M,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OACzD;EAfC,IAAA,MAAA,CAAA,cAAA,CAAa,oBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAAQ,EAAA;cACxB,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;cACnB,IAAIqP,6BAAmB,CAAC,KAAK,CAAC,IAAI3J,2BAAiB,CAAC,KAAK,CAAC,EAAE;EAC1D,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;EAC3B,aAAA;EAAM,iBAAA,IAAI4J,+BAAqB,CAAC,KAAK,CAAC,EAAE;EACvC,gBAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;EACzB,aAAA;WACF;;;EARA,KAAA,CAAA,CAAA;;GALH,CAEU,mBAAmC;0IAFhC,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAtK,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAApB,oBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,4FCrBjC,gpDA6CA,EAAA,MAAA,EAAA,CAAA,29BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA8C,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,uBAAA,EAAAsD,yBAAA,EAAA,OAAA,EAAAvF,aAAA,CAAA,SAAA,EAAA,UAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAsE,6BAAA,EAAA,EAAA,eAAA,EAAAnJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDxBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAPhCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,wBAAwB;sBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;sBACrC,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEMD,MAAA,iBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iBAAA,GAAA;;;;uIAAa,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wIAAjB,iBAAiB,EAAA,YAAA,EAAA,CAHb,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAVjC+E,iBAAY;UACZ0D,uBAAkB;UAClBZ,cAAW;UACX0B,kBAAa;UACb,+BAA+B;UAC/B,mCAAmC;UACnCtB,wBAAmB;UACnBH,sBAAmB;UACnBgB,iBAAc,aAGN,oBAAoB,CAAA,EAAA,CAAA,CAAA;EAEnB,iBAAA,CAAA,IAAA,GAAA9I,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iBAAiB,EAdnB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ0D,uBAAkB;cAClBZ,cAAW;cACX0B,kBAAa;cACb,+BAA+B;cAC/B,mCAAmC;cACnCtB,wBAAmB;cACnBH,sBAAmB;cACnBgB,iBAAc;WACf,CAAA,EAAA,CAAA,CAAA;oHAIU,iBAAiB,EAAA,UAAA,EAAA,CAAA;oBAf7B5E,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ0D,uBAAkB;0BAClBZ,cAAW;0BACX0B,kBAAa;0BACb,+BAA+B;0BAC/B,mCAAmC;0BACnCtB,wBAAmB;0BACnBH,sBAAmB;0BACnBgB,iBAAc;EACf,qBAAA;sBACD,YAAY,EAAE,CAAC,oBAAoB,CAAC;sBACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;mBAChC,CAAA;;;ACbD,MAAA,6BAAA,kBAAA,UAAA,MAAA,EAAA;MAAmD,SAA4D,CAAA,6BAAA,EAAA,MAAA,CAAA,CAAA;EAA/G,IAAA,SAAA,6BAAA,GAAA;;;;GAAA,CAAmD,wCAA4D;mJAAlG,6BAA6B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA9I,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,sGCZ1C,quCAyBA,EAAA,MAAA,EAAA,CAAA,smCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAY,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAV,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA6C,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAhC,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAA+D,6BAAA,EAAA,EAAA,eAAA,EAAA5I,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDba,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAPzCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,8BAA8B;EACxC,oBAAA,WAAW,EAAE,kCAAkC;sBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;sBAC/C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AEcD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iJAA1B,0BAA0B,EAAA,YAAA,EAAA,CAHtB,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAT1C+E,iBAAY;UACZ8C,cAAW;UACX0C,mBAAc;UACd,oBAAoB;UACpB,mCAAmC;UACnCzC,sBAAmB;UACnBW,uBAAkB;UAClBR,wBAAmB,aAGX,6BAA6B,CAAA,EAAA,CAAA,CAAA;EAE5B,0BAAA,CAAA,IAAA,GAAAjI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,EAb5B,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ8C,cAAW;cACX0C,mBAAc;cACd,oBAAoB;cACpB,mCAAmC;cACnCzC,sBAAmB;cACnBW,uBAAkB;cAClBR,wBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAdtC/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ8C,cAAW;0BACX0C,mBAAc;0BACd,oBAAoB;0BACpB,mCAAmC;0BACnCzC,sBAAmB;0BACnBW,uBAAkB;0BAClBR,wBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACZD,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAAoC,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;EAAxF,IAAA,SAAA,8BAAA,GAAA;;;;GAAA,CAAoD,kBAAoC;oJAA3E,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA9B,8BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,mGCZ3C,oQAIA,EAAA,MAAA,EAAA,CAAA,+KAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAwG,sBAAA,EAAA,EAAA,eAAA,EAAAxK,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDQa,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAP1CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,2BAA2B;EACrC,oBAAA,WAAW,EAAE,oCAAoC;sBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;sBACjD,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AECD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAHvB,8BAA8B,CADnC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAE/D,8BAA8B,CAAA,EAAA,CAAA,CAAA;EAE7B,2BAAA,CAAA,IAAA,GAAAjI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,YAJ7B,CAAC+E,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/D,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBALvC/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAC;sBAC1E,YAAY,EAAE,CAAC,8BAA8B,CAAC;sBAC9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;mBAC1C,CAAA;;;ACID,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,0EAX9B,6BAA6B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2EAAA,CAAA,EAAA,eAAA,EAAAA,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAW5B,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAbzCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,yBAAyB;EACnC,oBAAA,QAAQ,EAAE,6BAA6B;EACvC,oBAAA,MAAM,EAAE;0BACN,2EAIC;EACF,qBAAA;sBACD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;ACJD,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,EAHtB,YAAA,EAAA,CAAA,6BAA6B,CADlC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,aAEZ,6BAA6B,CAAA,EAAA,CAAA,CAAA;iJAE5B,0BAA0B,EAAA,OAAA,EAAA,CAJ5B,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBALtCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACeD,MAAA,sCAAA,kBAAA,UAAA,MAAA,EAAA;MAA4D,SAAoD,CAAA,sCAAA,EAAA,MAAA,CAAA,CAAA;MAG9G,SAAY,sCAAA,CAAA,GAAsB,EAAU,OAA6B,EAAA;UAAzE,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IACX,IAAA,CAAA;EAF2C,QAAA,KAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;EAFzE,QAAA,KAAA,CAAA,QAAQ,GAAG,SAAS,CAAA/J,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,KAAK,IAAA,CAAC;;OAIzB;EAED,IAAA,sCAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;UACE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI6K,8BAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;OAClH,CAAA;MAED,sCAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,IAAc,EAAA;EACvB,QAAA,IAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;UACnF,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAIA,8BAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;OACxH,CAAA;;GAdH,CAA4D,yBAAoD;4JAAnG,sCAAsC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA7F,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAsG,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAAtG,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qIAAtC,sCAAsC,EAAA,QAAA,EAAA,mCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,ECxBnD,slDAuCA,ED1Bc,MAAA,EAAA,CAAA,wpBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAyK,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,cAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA5F,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA6F,6BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAAhG,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA8D,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAvC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,qBAAA,EAAAD,eAAA,CAAA,uBAAA,EAAA,gBAAA,EAAAuC,wBAAA,EAAA,WAAA,EAAAxC,aAAA,CAAA,aAAA,EAAA,EAAA,UAAA,EAAA;UACV5G,kBAAO,CAAC,0BAA0B,EAAE;EAClC,YAAAC,gBAAK,CAAC,IAAI,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;cAC5DD,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;cAChFC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAACiJ,qBAAgB,EAAEnJ,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAClG,YAAAC,qBAAU,CAAC,QAAQ,EAAEC,kBAAO,CAACiJ,qBAAgB,CAAC,CAAC;WAChD,CAAC;EACH,KAAA,EAAA,eAAA,EAAA7K,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAIU,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAflDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mCAAmC;EAC7C,oBAAA,WAAW,EAAE,4CAA4C;sBACzD,SAAS,EAAE,CAAC,4CAA4C,CAAC;EACzD,oBAAA,UAAU,EAAE;0BACV9B,kBAAO,CAAC,0BAA0B,EAAE;EAClC,4BAAAC,gBAAK,CAAC,IAAI,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;8BAC5DD,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;8BAChFC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAACiJ,qBAAgB,EAAEnJ,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAClG,4BAAAC,qBAAU,CAAC,QAAQ,EAAEC,kBAAO,CAACiJ,qBAAgB,CAAC,CAAC;2BAChD,CAAC;EACH,qBAAA;sBACD,eAAe,EAAEzG,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEQD,MAAA,mCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mCAAA,GAAA;;;;yJAAa,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0JAAnC,mCAAmC,EAAA,YAAA,EAAA,CAH/B,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAZnD+E,iBAAY;UACZ,sBAAsB;UACtB,0BAA0B;UAC1B,oBAAoB;UACpBkD,wBAAmB;UACnB3C,oBAAe;UACfmC,kBAAa;UACbD,qBAAgB;UAChBsD,kCAA6B;UAC7B,8BAA8B;UAC9BlD,kBAAa,aAGL,sCAAsC,CAAA,EAAA,CAAA,CAAA;EAErC,mCAAA,CAAA,IAAA,GAAA5H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mCAAmC,EAhBrC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sBAAsB;cACtB,0BAA0B;cAC1B,oBAAoB;cACpBkD,wBAAmB;cACnB3C,oBAAe;cACfmC,kBAAa;cACbD,qBAAgB;cAChBsD,kCAA6B;cAC7B,8BAA8B;cAC9BlD,kBAAa;WACd,CAAA,EAAA,CAAA,CAAA;oHAIU,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAjB/C1D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sBAAsB;0BACtB,0BAA0B;0BAC1B,oBAAoB;0BACpBkD,wBAAmB;0BACnB3C,oBAAe;0BACfmC,kBAAa;0BACbD,qBAAgB;0BAChBsD,kCAA6B;0BAC7B,8BAA8B;0BAC9BlD,kBAAa;EACd,qBAAA;sBACD,YAAY,EAAE,CAAC,sCAAsC,CAAC;sBACtD,OAAO,EAAE,CAAC,sCAAsC,CAAC;mBAClD,CAAA;;;ACTD,MAAA,6BAAA,kBAAA,UAAA,MAAA,EAAA;MAAmD,SAAkD,CAAA,6BAAA,EAAA,MAAA,CAAA,CAAA;EAGnG,IAAA,SAAA,6BAAA,CAAY,GAAsB,EAAY,YAAsC,EAAY,aAAgC,EAAA;UAAhI,IAEC,KAAA,GAAA,IAAA,CAAA;;UADC,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IAAC,IAAA,CAAA;EADiC,QAAA,KAAY,CAAA,YAAA,GAAZ,YAAY,CAA0B;EAAY,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAmB;UAFxH,KAAA,CAAA,UAAU,GAAyC,IAAI7E,oBAAe,CAAsB,MAAA,CAAA,EAAA,GAAA,KAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC,CAAC;;OAI3H;EAED,IAAA,6BAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UAAA,IAsCC,KAAA,GAAA,IAAA,CAAA;EArCC,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;EACpC,QAAA,IAAI,CAAC,aAAa;eACf,UAAU,CAAoCgI,8BAAyB,EAAE;cACxE,IAAI,EAAE,IAAIC,yBAAoB,CAC5B,IAAI,CAAC,YAAY,EACjB,SAAS,CAAAhQ,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,oBAAoB,CAC7B,CAAA,CAAA,CAAA,EAAA,IAAI,EAEC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CACzB,EAAA,EAAA,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAA,CAAA,EAElC,SAAS,EACT,IAAI,EACJ;EACE,gBAAA,KAAK,EAAE,SAAS;EAChB,gBAAA,iBAAiB,EAAE,IAAI;EACvB,gBAAA,gBAAgB,EAAE,IAAI;EACtB,gBAAA,UAAU,EAAE,IAAI;EAChB,gBAAA,eAAe,EAAE,IAAI;EACtB,aAAA,EACD,SAAS,EACT,SAAS,EACT,IAAI,CAAC,UAAU,CAAC,KAAK,EACrB,IAAI,EACJ,QAAQ,CACT;WACF,CAAC;EACD,aAAA,WAAW,EAAE;eACb,SAAS,CAAC,UAAC,MAAsC,EAAA;;EAChD,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;kBAC/B,IAAM,MAAM,GAAG,EAAE,CAAC;;sBAClB,KAAwB,IAAA,KAAA,QAAA,CAAA,MAAM,CAAC,UAAU,CAAA,gBAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAtC,wBAAA,IAAM,SAAS,GAAA,EAAA,CAAA,KAAA,CAAA;0BAClB,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAuB,CAAC,CAAC;EACtD,qBAAA;;;;;;;;;EACD,gBAAA,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC9B,aAAA;EACH,SAAC,CAAC,CAAC;OACN,CAAA;;GA7CH,CAAmD,mBAAkD;mJAAxF,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAgF,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAgE,eAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,eAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAvE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,sGCrB1C,06BAuBA,EAAA,MAAA,EAAA,CAAA,wgBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA6E,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAmC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA9G,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDFa,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBAPzCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,8BAA8B;EACxC,oBAAA,WAAW,EAAE,kCAAkC;sBAC/C,SAAS,EAAE,CAAC,kCAAkC,CAAC;sBAC/C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;;AEND,MAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;;;;gJAAa,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,EAHtB,YAAA,EAAA,CAAA,6BAA6B,CADlC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAEO,oBAAe,EAAE+B,qBAAgB,EAAEI,kBAAa,EAAEL,2BAAgB,aAEhF,6BAA6B,CAAA,EAAA,CAAA,CAAA;iJAE5B,0BAA0B,EAAA,OAAA,EAAA,CAJ5B,CAACrC,iBAAY,EAAEO,oBAAe,EAAE+B,qBAAgB,EAAEI,kBAAa,EAAEL,2BAAgB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIhF,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBALtClD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEO,oBAAe,EAAE+B,qBAAgB,EAAEI,kBAAa,EAAEL,2BAAgB,CAAC;sBAC3F,YAAY,EAAE,CAAC,6BAA6B,CAAC;sBAC7C,OAAO,EAAE,CAAC,6BAA6B,CAAC;mBACzC,CAAA;;;ACAD,MAAA,4BAAA,kBAAA,UAAA,MAAA,EAAA;MAAkD,SAA+C,CAAA,4BAAA,EAAA,MAAA,CAAA,CAAA;EAAjG,IAAA,SAAA,4BAAA,GAAA;;;EACE,IAAA,4BAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,KAAa,EAAE,GAAiB,EAAA;UAC/C,OAAO,GAAG,CAAC,KAAK;eACb,MAAM,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,CAAC,CAAH,EAAG,CAAC;eAClB,GAAG,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,CAAf,EAAe,CAAC;eAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;OACb,CAAA;;GANH,CAAkD,yBAA+C;kJAApF,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAApH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA5B,4BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,4FCbzC,gzBAmBA,EAAA,MAAA,EAAA,CAAA,stBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAY,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAZ,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,MAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAa,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,IAAA,EAAAa,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,uBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAAhE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDNa,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBAPxCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;sBAC1C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AEAD,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;;;+IAAa,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gJAAzB,yBAAyB,EAAA,YAAA,EAAA,CAHrB,4BAA4B,CADjC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAEkG,mBAAc,EAAE,oBAAoB,CAAA,EAAA,OAAA,EAAA,CAElD,4BAA4B,CAAA,EAAA,CAAA,CAAA;EAE3B,yBAAA,CAAA,IAAA,GAAAjL,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,yBAAyB,YAJ3B,CAAC+E,iBAAY,EAAEkG,mBAAc,EAAE,oBAAoB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIlD,yBAAyB,EAAA,UAAA,EAAA,CAAA;oBALrC/G,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAEkG,mBAAc,EAAE,oBAAoB,CAAC;sBAC7D,YAAY,EAAE,CAAC,4BAA4B,CAAC;sBAC5C,OAAO,EAAE,CAAC,4BAA4B,CAAC;mBACxC,CAAA;;;ACCD,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;MAA6C,SAAsC,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAA;EAAnF,IAAA,SAAA,uBAAA,GAAA;;;;GAAA,CAA6C,kBAAsC;6IAAtE,uBAAuB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjL,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,2FCZpC,8IACA,EAAA,MAAA,EAAA,CAAA,6GAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAG,sBAAA,EAAA,EAAA,eAAA,EAAAnE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDWa,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAPnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mBAAmB;EAC7B,oBAAA,WAAW,EAAE,uBAAuB;sBACpC,SAAS,EAAE,CAAC,uBAAuB,CAAC;sBACpC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AECD,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAD5B,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAE/D,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAAjI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,YAJtB,CAAC+E,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/D,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBALhC/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAC;sBAC1E,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ACCD,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAA8C,SAAsC,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EAApF,IAAA,SAAA,wBAAA,GAAA;;;;GAAA,CAA8C,kBAAsC;8IAAvE,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,4FCZrC,2GACA,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAAhE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDWa,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBAPpCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oBAAoB;EAC9B,oBAAA,WAAW,EAAE,wBAAwB;sBACrC,SAAS,EAAE,CAAC,wBAAwB,CAAC;sBACrC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AECD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;2IAAa,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4IAArB,qBAAqB,EAAA,YAAA,EAAA,CAHjB,wBAAwB,CAD7B,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAEkD,wBAAmB,EAAE,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAEhE,wBAAwB,CAAA,EAAA,CAAA,CAAA;EAEvB,qBAAA,CAAA,IAAA,GAAAjI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qBAAqB,YAJvB,CAAC+E,iBAAY,EAAEkD,wBAAmB,EAAE,6BAA6B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIhE,qBAAqB,EAAA,UAAA,EAAA,CAAA;oBALjC/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAEkD,wBAAmB,EAAE,6BAA6B,CAAC;sBAC3E,YAAY,EAAE,CAAC,wBAAwB,CAAC;sBACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;mBACpC,CAAA;;;ACCD,MAAA,gCAAA,kBAAA,UAAA,MAAA,EAAA;MAAsD,SAAoC,CAAA,gCAAA,EAAA,MAAA,CAAA,CAAA;EAA1F,IAAA,SAAA,gCAAA,GAAA;;;;GAAA,CAAsD,kBAAoC;sJAA7E,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAhC,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,qGCZ7C,oQAIA,EAAA,MAAA,EAAA,CAAA,gLAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAwG,sBAAA,EAAA,EAAA,eAAA,EAAAxK,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDQa,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAP5CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,6BAA6B;EACvC,oBAAA,WAAW,EAAE,sCAAsC;sBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;sBACnD,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;AECD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;oJAA7B,6BAA6B,EAAA,YAAA,EAAA,CAHzB,gCAAgC,CADrC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAE/D,gCAAgC,CAAA,EAAA,CAAA,CAAA;EAE/B,6BAAA,CAAA,IAAA,GAAAjI,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,YAJ/B,CAAC+E,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/D,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBALzC/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAEkD,wBAAmB,EAAE,4BAA4B,CAAC;sBAC1E,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;ACiBD,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAAsD,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;MAuB9D,SAAY,0BAAA,CAAA,GAAsB,EAAkD,gBAAyC,EAAA;UAA7H,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,GAAG,CAAC,IAEX,IAAA,CAAA;EAvB+C,QAAA,KAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;EAa5E,QAAA,KAAA,CAAA,eAAe,GAAG,IAAI1H,cAAW,EAAE,CAAC;EACpC,QAAA,KAAA,CAAA,YAAY,GAAG,IAAIA,cAAW,EAAE,CAAC;EACjC,QAAA,KAAA,CAAA,cAAc,GAAG,IAAI,KAAK,EAAU,CAAC;EAE7B,QAAA,KAAA,CAAA,UAAU,GAAG,IAAImF,YAAO,EAAQ,CAAC;EA2FzC;;;;;;EAMG;EACK,QAAA,KAAiB,CAAA,iBAAA,GAAyD,UAAC,EAAe,EAAA;EAAf,YAAA,IAAA,EAAA,GAAA,aAAe,EAAd,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;;EAC/F,YAAA,IAAM,gBAAgB;;EAEpB,YAAA,IAAI,MAAK,MAAA,KAAI,CAAC,oBAAoB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAG,CAAC,IAAI,CAAA;;kBAE5C7H,gBAAS,CAAC,KAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;;kBAEhD,OAAO,GAAG,KAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;EAElD,YAAA,IAAM,gBAAgB;;EAEpB,YAAA,IAAI,MAAK,MAAA,KAAI,CAAC,oBAAoB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC,IAAI,CAAA;;kBAE9CA,gBAAS,CAAC,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;;kBAElD,OAAO,GAAG,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;cAEpD,IAAI,gBAAgB,IAAI,gBAAgB,EAAE;EACxC,gBAAA,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;EAC1D,gBAAA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EACrB,aAAA;EAED,YAAA,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;EACzB,SAAC,CAAC;EApHA,QAAA,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;;OACtF;EArBD,IAAA,MAAA,CAAA,cAAA,CAAa,0BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,KAA2B,EAAA;cAC3C,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,KAAK,CAAC;cACnB,IAAI,KAAK,CAAC,WAAW,EAAE;EACrB,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC;EAC/C,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;EAqBD,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UAAA,IA4CC,KAAA,GAAA,IAAA,CAAA;EA3CC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;;EAElB,YAAAqN,UAAK,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;EACrE,iBAAA,IAAI,CAAC/E,mBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAChC,iBAAA,SAAS,CAAC,YAAA;;EACT,gBAAA,IAAI,EAAC,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAA,KAAK,KAAI,CAAC,YAAY,CAAC,KAAK,IAAI,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;sBACnF,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;sBAC5B,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,aAAa,EAAE,CAAC;EAC/B,iBAAA;kBACD,IAAItI,gBAAS,CAAC,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;sBAChC,IAAA,EAAA,GAAA,MAAkB,CAAA,KAAI,CAAC,iBAAiB,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAA,CAAA,CAAA,EAA9F,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,OAAO,GAAA,EAAA,CAAA,CAAA,CAAiF,CAAC;EACtG,oBAAA,CAAA,EAAA,GAAA,KAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,OAAO,EAAA,OAAA,EAAE,CAAC,CAAC;EAC3C,iBAAA;EACH,aAAC,CAAC,CAAC;;;EAKL;;;;;;;;;;;;;;;;;;;;;;;EAuBI;EACL,SAAA;OACF,CAAA;EAED,IAAA,0BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACE,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;OAC5B,CAAA;EAED,IAAA,0BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;;UAEE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;UACjF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,IAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;;EAGvF,QAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;cAC9B,IAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;cAC1C,IAAI,CAAC,oBAAoB,GAAG;EAC1B,gBAAA,KAAK,EAAE;EACL,oBAAA,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY;EACnD,oBAAA,OAAO,EAAE,IAAI;EACd,iBAAA;EACD,gBAAA,GAAG,EAAE;EACH,oBAAA,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc;EACrD,oBAAA,OAAO,EAAE,IAAI;EACd,iBAAA;eACF,CAAC;EACH,SAAA;;EAGD,QAAA,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;EAC3G,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EAC7B,SAAA;UAED,IAAI,IAAI,CAAC,QAAQ,EAAE;cACjB,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,EAAE,CAAC;EACxB,YAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;EAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;EAC7B,SAAA;OACF,CAAA;;GA9GH,CACU,mBAAsD;EADnD,0BAAA,CAAA,IAAA,GAAAmC,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,8DAwBmB,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAxBvE,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,6LC5BvC,+pCA6BA,EAAA,MAAA,EAAA,CAAA,yzBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAc,aAAA,CAAA,YAAA,EAAA,uBAAA,EAAAqG,6BAAA,EAAA,mBAAA,EAAAC,8BAAA,EAAA,mBAAA,EAAAC,qBAAA,EAAA,EAAA,eAAA,EAAArL,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDDa,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAPtCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,2BAA2B;EACrC,oBAAA,WAAW,EAAE,+BAA+B;sBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;sBAC5C,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;;;gCAyBsCjB,WAAQ;;gCAAIC,SAAM;iCAAC,0BAA0B,CAAA;;2BApBlC,oBAAoB,EAAA,CAAA;wBAAnEK,cAAW;yBAAC,iCAAiC,CAAA;;;AELhD,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;;;6IAAa,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzD,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8IAAvB,uBAAuB,EAAA,YAAA,EAAA,CAHnB,0BAA0B,CAAA,EAAA,OAAA,EAAA,CAXvC+E,iBAAY;UACZqC,2BAAgB;UAChBqB,uBAAkB;UAClBa,oBAAe;UACfzB,cAAW;UACX,mCAAmC;UACnC,oCAAoC;UACpC,2BAA2B;UAC3BI,wBAAmB;UACnBH,sBAAmB,aAGX,0BAA0B,CAAA,EAAA,CAAA,CAAA;EAEzB,uBAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uBAAuB,EAfzB,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZqC,2BAAgB;cAChBqB,uBAAkB;cAClBa,oBAAe;cACfzB,cAAW;cACX,mCAAmC;cACnC,oCAAoC;cACpC,2BAA2B;cAC3BI,wBAAmB;cACnBH,sBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAhBnC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZqC,2BAAgB;0BAChBqB,uBAAkB;0BAClBa,oBAAe;0BACfzB,cAAW;0BACX,mCAAmC;0BACnC,oCAAoC;0BACpC,2BAA2B;0BAC3BI,wBAAmB;0BACnBH,sBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,0BAA0B,CAAC;sBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;mBACtC,CAAA;;;ACbD,MAAA,+BAAA,kBAAA,UAAA,MAAA,EAAA;MAAqD,SAAoD,CAAA,+BAAA,EAAA,MAAA,CAAA,CAAA;EAPzG,IAAA,SAAA,+BAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAsBC,CAAA,CAAA,IAAA,IAAA,CAAA;EAduD,QAAA,KAAqB,CAAA,qBAAA,GAAG,IAAI,CAAC;;OAcpF;EAZC,IAAA,MAAA,CAAA,cAAA,CAAa,+BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAAjB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,IAAI,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAkB,IAA0B,EAAA;cAC1C,MAAM,CAAA,SAAA,CAAA,IAAI,GAAG,IAAI,CAAC;;cAElB,IAAI,CAAC,UAAU,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KAAE,KAAK,EAAE,SAAS,EAAA,CAAE,CAAC;cAChD,IAAI,CAAC,QAAQ,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KAAE,KAAK,EAAE,SAAS,EAAA,CAAE,CAAC;WAC/C;;;EANA,KAAA,CAAA,CAAA;;GALH,CAAqD,mBAAoD;qJAA5F,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA9H,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA/B,+BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,0MCb5C,itBAsBA,EAAA,MAAA,EAAA,CAAA,inBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAsL,0BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA/G,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,yBAAA,EAAAqE,2BAAA,EAAA,EAAA,eAAA,EAAAlJ,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDTa,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAP3CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,iCAAiC;EAC3C,oBAAA,WAAW,EAAE,qCAAqC;sBAClD,SAAS,EAAE,CAAC,qCAAqC,CAAC;sBAClD,aAAa,EAAEe,oBAAiB,CAAC,IAAI;sBACrC,eAAe,EAAED,0BAAuB,CAAC,MAAM;mBAChD,CAAA;gCAEuD,qBAAqB,EAAA,CAAA;wBAA1EX,cAAW;yBAAC,uCAAuC,CAAA;;;AEAtD,MAAA,4BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,4BAAA,GAAA;;;;kJAAa,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAzD,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA5B,4BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,4BAA4B,EAHxB,YAAA,EAAA,CAAA,+BAA+B,CADpC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,uBAAuB,EAAEkD,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,aAE/G,+BAA+B,CAAA,EAAA,CAAA,CAAA;mJAE9B,4BAA4B,EAAA,OAAA,EAAA,CAJ9B,CAACrC,iBAAY,EAAE,uBAAuB,EAAEkD,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI/G,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBALxClD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAE,uBAAuB,EAAEkD,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,CAAC;sBAC1H,YAAY,EAAE,CAAC,+BAA+B,CAAC;sBAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;mBAC3C,CAAA;;;ACmCY,MAAA,gCAAgC,GAAwB;;EAEnE,IAAA;EACE,QAAA,GAAG,EAAEmE,yBAAe;EACpB,QAAA,SAAS,EAAE,sBAAsB;EAClC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAElL,0BAAgB;EACrB,QAAA,SAAS,EAAE,uBAAuB;EACnC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEmL,sBAAY;EACjB,QAAA,SAAS,EAAE,mBAAmB;EAC/B,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,mCAAyB;EAC9B,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE9B,0BAAgB;EACrB,QAAA,SAAS,EAAE,uBAAuB;EACnC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE+B,6BAAmB;EACxB,QAAA,SAAS,EAAE,yBAAyB;EACrC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE/I,iCAAuB;EAC5B,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,oBAAU;EACf,QAAA,SAAS,EAAE,0BAA0B;EACtC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE9B,uCAA6B;EAClC,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,mCAAyB;EAC9B,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEP,gCAAsB;EAC3B,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEI,kCAAwB;EAC7B,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,8BAAoB;EACzB,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEJ,qCAA2B;EAChC,QAAA,SAAS,EAAE,oBAAoB;EAChC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEkL,iCAAuB;EAC5B,QAAA,SAAS,EAAE,6BAA6B;EACzC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,+BAAqB;EAC1B,QAAA,SAAS,EAAE,8BAA8B;EAC1C,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,4BAAkB;EACvB,QAAA,SAAS,EAAE,sCAAsC;EAClD,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,iCAAuB;EAC5B,QAAA,SAAS,EAAE,6BAA6B;EACzC,KAAA;;;;;;;EAOD,IAAA;EACE,QAAA,GAAG,EAAEjJ,sBAAY;EACjB,QAAA,SAAS,EAAE,uBAAuB;EACnC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,uBAAa;EAClB,QAAA,SAAS,EAAE,wBAAwB;EACpC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEiJ,+BAAqB;EAC1B,QAAA,SAAS,EAAE,gCAAgC;EAC5C,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAE,iDAAiD;EACtD,QAAA,SAAS,EAAE,0BAA0B;EACtC,KAAA;;EAED,IAAA;EACE,QAAA,GAAG,EAAEC,oCAA0B;EAC/B,QAAA,SAAS,EAAE,+BAA+B;EAC3C,KAAA;;;AChKH,MAAA,2BAAA,kBAAA,UAAA,MAAA,EAAA;MAAiD,SAAyB,CAAA,2BAAA,EAAA,MAAA,CAAA,CAAA;EAA1E,IAAA,SAAA,2BAAA,GAAA;;OAIC;EAHQ,IAAA,2BAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,YAAA;EACL,QAAA,OAAO,gCAAgC,CAAC;OACzC,CAAA;MACF,OAAA,2BAAA,CAAA;EAAA,CAJD,CAAiDC,8BAAyB,CAIzE;;ECGD;AASA,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAAwC,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;MAsD1F,SACE,8BAAA,CAAA,eAAqC,EACrC,aAAkC,EAClC,SAA0B,EAClB,GAAsB,EACtB,aAAgC,EAAA;EAL1C,QAAA,IAAA,KAAA,GAOE,kBAAM,eAAe,EAAE,aAAa,EAAE,SAAS,CAAC,IACjD,IAAA,CAAA;EAJS,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;EACtB,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAmB;EA7BlC,QAAA,KAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;EAGf,QAAA,KAAA,CAAA,gBAAgB,GAAG,IAAIvI,eAAY,EAAmB,CAAC;EACjE;;;EAGG;EACO,QAAA,KAAA,CAAA,oBAAoB,GAAG,IAAIA,eAAY,EAAU,CAAC;EAC5D;;;EAGG;EACO,QAAA,KAAA,CAAA,kBAAkB,GAAG,IAAIA,eAAY,EAAU,CAAC;UAE1D,KAAA,CAAA,aAAa,GAAG,IAAIX,oBAAe,CAAqB,SAAS,CAAC,CAAC;EACnE,QAAA,KAAS,CAAA,SAAA,GAAe,EAAE,CAAC;UAE3B,KAAA,CAAA,gBAAgB,GAAG,IAAIA,oBAAe,CAAU,KAAK,CAAC,CAAC;EACvD,QAAA,KAAc,CAAA,cAAA,GAAG,KAAK,CAAC;UACvB,KAAA,CAAA,gBAAgB,GAAoC,KAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;EAC5F,QAAA,KAAkB,CAAA,kBAAA,GAAG,KAAK,CAAC;UAC3B,KAAA,CAAA,UAAU,GAAG,IAAIA,oBAAe,CAAa,EAAE,CAAC,CAAC;EAmBjD;;;EAGG;UACH,KAAmB,CAAA,mBAAA,GAAG,YAAA;cACpB,IAAI,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;EACpC,gBAAA,OAAO,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;EACvE,aAAA;mBAAM,IAAI,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;kBAC7C,OAAO,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;EACxC,aAAA;EAAM,iBAAA;EACL,gBAAA,OAAO,KAAK,CAAC;EACd,aAAA;EACH,SAAC,CAAC;;OArBD;EA3DD,IAAA,MAAA,CAAA,cAAA,CAAa,8BAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAArB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,MAAA,CAAA,SAAA,CAAM,QAA8C,CAAC;WAC7D;EACD,QAAA,GAAA,EAAA,UAAsB,IAAwC,EAAA;EAC5D,YAAA,IAAI,IAAI,EAAE;EACR,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;kBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;EACnB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACrC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;kBAClC,MAAM,CAAA,SAAA,CAAA,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;kBAC3D,MAAM,CAAA,SAAA,CAAA,QAAQ,GAAG,IAAI,CAAC;kBAEtB,IAAI,CAAC,aAAa,EAAE,CAAC;kBACrB,IAAI,CAAC,yBAAyB,EAAE,CAAC;EACjC,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;EACtD,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;EACjD,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;EACzB,aAAA;WACF;;;EAhBA,KAAA,CAAA,CAAA;EAkBD,IAAA,MAAA,CAAA,cAAA,CACI,8BAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADX,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EACD,QAAA,GAAA,EAAA,UAAY,KAAc,EAAA;EACxB,YAAA,IAAI,CAAC,QAAQ,GAAGS,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC9C;;;EAHA,KAAA,CAAA,CAAA;EAsCD,IAAA,8BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACE,MAAM,CAAA,SAAA,CAAA,WAAW,WAAE,CAAC;UACpB,IAAI,IAAI,CAAC,oBAAoB,EAAE;EAC7B,YAAA,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;EACzC,SAAA;OACF,CAAA;EAgBD;;;EAGG;EACH,IAAA,8BAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;UAAA,IAOC,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;cAC5B,IAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,IAAI,EAAA,EAAK,OAAA,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,CAAA,EAAA,CAAC,CAAC;cAClH,OAAO,iBAAiB,GAAG,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,KAAK,CAAC;EACd,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,8BAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB,YAAA;UAAA,IAwBP,KAAA,GAAA,IAAA,CAAA;;UAvBC,IAAI,IAAI,CAAC,MAAM,EAAE;;EAEf,YAAA,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;EAC5B,gBAAA,IAAM,eAAe,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC;EAC9E,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;EAC7C,aAAA;EAED,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;kBAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,YAAA;EAC9D,oBAAA,IAAI,KAAI,CAAC,aAAa,CAAC,KAAK,EAAE;0BAC5B,IAAI,KAAI,CAAC,MAAM,EAAE;8BACf,IAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EACjG,4BAAA,IAAI,mBAAmB,EAAE;EACvB,gCAAA,IAAM,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EACrE,gCAAA,IAAI,aAAa,EAAE;sCACjB,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EACjD,iCAAA;EACF,6BAAA;EACF,yBAAA;EACF,qBAAA;EACH,iBAAC,CAAC,CAAC;EACJ,aAAA;EACF,SAAA;OACF,CAAA;EAED;;EAEG;EACK,IAAA,8BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;;UACN,CAAA,EAAA,GAAA,IAAI,CAAC,oBAAoB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAW,EAAE,CAAC;EACzC,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;EACxB,QAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;EACxB,QAAA,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;EACjC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACzB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;OACpC,CAAA;EAED;;;EAGG;MACK,8BAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,OAAsB,EAAA;UAAxC,IAiBP,KAAA,GAAA,IAAA,CAAA;UAhBC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;EACtC,YAAA,IAAM,kBAAkB,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;EACjE,YAAA,IAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;EAC5D,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;;cAEzC,IAAM,eAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;cAChD,IAAM,cAAY,GAAe,EAAE,CAAC;cACpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;kBACjC,IAAI,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,SAAS,CAAC,eAAa,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,SAAS,CAAC,eAAa,CAAC,CAAC,UAAU,EAAE;sBAChI,cAAY,CAAC,IAAI,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,IAAG,CAAC;EACjE,iBAAA;EAAM,qBAAA;EACL,oBAAA,cAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACzB,iBAAA;EACH,aAAC,CAAC,CAAC;EACH,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAY,CAAC,CAAC;EACpC,SAAA;OACF,CAAA;EAED;;;;;;;EAOG;MACK,8BAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,SAAqB,EAAA;UAAtC,IAWP,KAAA,GAAA,IAAA,CAAA;EAVC,QAAA,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;cACrB,IAAM,uBAAuB,GAAG,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,CAAA,EAAA,CAAC,CAAC;EACpG,YAAA,IAAI,uBAAuB,EAAE;EAC3B,gBAAA,uBAAuB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;kBACrD,IAAI,uBAAuB,CAAC,MAAM,EAAE;sBAClC,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACzC,oBAAA,KAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;EACzB,iBAAA;EACF,aAAA;EACH,SAAC,CAAC,CAAC;OACJ,CAAA;EAED;;;;;;;EAOG;MACK,8BAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,KAAiB,EAAA;UACnD,IAAM,wBAAwB,GAAa,EAAE,CAAC;EAC9C,QAAA,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;EACjB,YAAA,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACjD,SAAC,CAAC,CAAC;UAEH,IAAM,WAAW,GAAe,EAAE,CAAC;UACnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;cACjC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EACtD,gBAAA,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACxB,aAAA;EACH,SAAC,CAAC,CAAC;EAEH,QAAA,OAAO,WAAW,CAAC;OACpB,CAAA;EAED;;;EAGG;EACK,IAAA,8BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UAAA,IAaP,KAAA,GAAA,IAAA,CAAA;UAZC,IAAM,YAAY,GAAe,EAAE,CAAC;UACpC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,IAAI,EAAA;cACjC,IAAI,KAAI,CAAC,MAAM,EAAE;EACf,gBAAA,IAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACrF,gBAAA,IAAI,gBAAgB,EAAE;EACpB,oBAAA,YAAY,CAAC,IAAI,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAE,EAAA,EAAA,MAAM,EAAE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,OAAO,GAAG,SAAS,EAAA,CAAA,CAAG,CAAC;EAC3G,iBAAA;EAAM,qBAAA;sBACL,YAAY,CAAC,IAAI,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,KAAE,MAAM,EAAE,aAAa,EAAA,CAAA,CAAG,CAAC;EACvD,iBAAA;EACF,aAAA;EACH,SAAC,CAAC,CAAC;EACH,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACpC,CAAA;EAED;;;EAGG;MACH,8BAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,aAAkC,EAAA;UAAtD,IAoBC,KAAA,GAAA,IAAA,CAAA;;;UAjBC,IAAI,IAAI,CAAC,QAAQ,EAAE;cACjB,IAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;EACpD,YAAA,IAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAoB,CAAC;cACtG,IAAI,aAAa,KAAK,MAAM,EAAE;EAC5B,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACxC,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;EAChC,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,UAAC,IAAI,EAAK,EAAA,OAAA,IAAI,CAAC,UAAU,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,CAAA,EAAA,CAAC,GAAG,CAAC,CAAC;kBACtH,IAAI,iBAAiB,IAAI,CAAC,EAAE;sBAC1B,IAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;EAC9D,oBAAA,IAAI,YAAY,EAAE;0BAChB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;EACxD,wBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;EAChC,qBAAA;EACF,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;EAIG;MACH,8BAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,IAAc,EAAA;UAC7B,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,EAAE;cAChD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;cAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACzC,YAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;EAChC,SAAA;OACF,CAAA;EAED,IAAA,8BAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,UAAuB,KAAa,EAAE,QAAkB,EAAA;UACtD,OAAO,QAAQ,CAAC,UAAU,CAAC;OAC5B,CAAA;;GA3QH,CAAoD,uBAAwC;oJAA/E,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA8C,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAjC,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAtE,aAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAAuE,eAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAvE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA9B,8BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,mWCpB3C,8sDAuCA,EAAA,MAAA,EAAA,CAAA,oZAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAkM,0BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhE,uBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,MAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtB,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAsB,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtB,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAuB,aAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAtB,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAsB,aAAA,CAAA,SAAA,EAAA,yBAAA,EAAAgE,2BAAA,EAAA,EAAA,eAAA,EAAApM,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDnBa,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAR1CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,0BAA0B;EACpC,oBAAA,WAAW,EAAE,mCAAmC;sBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;sBAChD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACrC,oBAAA,OAAO,EAAE,CAAC,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;mBACxD,CAAA;4PAyBK,OAAO,EAAA,CAAA;wBADVd,QAAK;kBAUI,gBAAgB,EAAA,CAAA;wBAAzBI,SAAM;kBAKG,oBAAoB,EAAA,CAAA;wBAA7BA,SAAM;kBAKG,kBAAkB,EAAA,CAAA;wBAA3BA,SAAM;;;AE7BT,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA3D,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAHvB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAf3C2H,aAAU;UACV5C,iBAAY;UACZqC,2BAAgB;UAChBS,cAAW;UACXvC,oBAAe;UACfmC,kBAAa;UACb,wBAAwB;UACxB,oBAAoB;UACpBK,sBAAmB;UACnB,iCAAiC;UACjC,uBAAuB;UACvB,gCAAgC;UAChC,+BAA+B;UAC/B,iCAAiC,aAGzB,8BAA8B,CAAA,EAAA,CAAA,CAAA;EAE7B,2BAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,EAnB7B,OAAA,EAAA,CAAA;cACP2H,aAAU;cACV5C,iBAAY;cACZqC,2BAAgB;cAChBS,cAAW;cACXvC,oBAAe;cACfmC,kBAAa;cACb,wBAAwB;cACxB,oBAAoB;cACpBK,sBAAmB;cACnB,iCAAiC;cACjC,uBAAuB;cACvB,gCAAgC;cAChC,+BAA+B;cAC/B,iCAAiC;WAClC,CAAA,EAAA,CAAA,CAAA;oHAIU,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBApBvC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPyD,aAAU;0BACV5C,iBAAY;0BACZqC,2BAAgB;0BAChBS,cAAW;0BACXvC,oBAAe;0BACfmC,kBAAa;0BACb,wBAAwB;0BACxB,oBAAoB;0BACpBK,sBAAmB;0BACnB,iCAAiC;0BACjC,uBAAuB;0BACvB,gCAAgC;0BAChC,+BAA+B;0BAC/B,iCAAiC;EAClC,qBAAA;sBACD,YAAY,EAAE,CAAC,8BAA8B,CAAC;sBAC9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;mBAC1C,CAAA;;;ECzBD,IAAM,0BAA0B,GAAGzE,yBAAoB,gBAAA,YAAA;EAAC,IAAA,SAAA,OAAA,GAAA;OAAQ;MAAA,OAAA,OAAA,CAAA;EAAA,CAAR,IAAS,CAAC;AAKlE,MAAA,+BAAA,kBAAA,UAAA,MAAA,EAAA;MACU,SAA0B,CAAA,+BAAA,EAAA,MAAA,CAAA,CAAA;;;;;EAqDlC,IAAA,SAAA,+BAAA,CAAuC,QAAgB,EAAA;EAAvD,QAAA,IAAA,KAAA,GACE,iBAAO,IAKR,IAAA,CAAA;EANsC,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;EAtC/C,QAAA,KAAc,CAAA,cAAA,GAA8B,IAAI,CAAC;EAkB/C,QAAA,KAAU,CAAA,UAAA,GAAG,KAAK,CAAC;EAauB,QAAA,KAAoB,CAAA,oBAAA,GAAG,IAAI,CAAC;UAS9E,IAAM,cAAc,GAAG4G,gBAAa,CAAC,KAAK,CAAC,KAAI,CAAC,QAAQ,CAAC,GAAG,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EACjF,QAAA,IAAI,CAACpM,gBAAS,CAAC,KAAI,CAAC,aAAa,CAAC,EAAE;EAClC,YAAA,KAAI,CAAC,aAAa,GAAG,cAAc,CAAC;EACrC,SAAA;;OACF;EAnDD,IAAA,MAAA,CAAA,cAAA,CACI,+BAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EADjB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,cAAc,CAAC;WAC5B;EACD,QAAA,GAAA,EAAA,UAAkB,KAAgC,EAAA;EAChD,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;WAC7B;;;EAHA,KAAA,CAAA,CAAA;EAeD,IAAA,MAAA,CAAA,cAAA,CACI,+BAAS,CAAA,SAAA,EAAA,WAAA,EAAA;;;;;;;;;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAG2F,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,+BAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,KAAoB,EAAA;EAC/B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;EACvB,YAAA,IAAIjF,wCAA8B,CAAC,KAAK,CAAC,EAAE;EAC1C,aAAA;WACF;;;EALA,KAAA,CAAA,CAAA;EAuBD,IAAA,+BAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,KAAa,EAAE,MAA2C,EAAA;EACzE,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;OACzB,CAAA;;GAhEH,CACU,0BAA0B;EADd,+BAAA,CAAA,IAAA,GAAAyB,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,+BAA+B,kBAsD/BqM,YAAS,EAAA,CAAA,EAAA,MAAA,EAAArM,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAtDT,+BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,8RAFzC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAEQ,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAHpDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;gCAuDcF,SAAM;iCAACiJ,YAAS,CAAA;;2BA/CpB,KAAK,EAAA,CAAA;wBAAb9I,QAAK;kBAGF,aAAa,EAAA,CAAA;wBADhBA,QAAK;kBAmBF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAW8C,oBAAoB,EAAA,CAAA;wBAAvEE,cAAW;yBAAC,qCAAqC,CAAA;;;ACnDpD,MAAA,uCAAA,kBAAA,UAAA,MAAA,EAAA;MAAqF,SAAkC,CAAA,uCAAA,EAAA,MAAA,CAAA,CAAA;EAHvH,IAAA,SAAA,uCAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAcC,CAAA,CAAA,IAAA,IAAA,CAAA;EADS,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;;OACzB;EARC,IAAA,MAAA,CAAA,cAAA,CACI,uCAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;WACtB;;;EAHA,KAAA,CAAA,CAAA;;GANH,CAAqF,+BAAkC;6JAA1G,uCAAuC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAzD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvC,uCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uCAAuC,oHAFxC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAED,uCAAuC,EAAA,UAAA,EAAA,CAAA;oBAHnDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;gCAKK,MAAM,EAAA,CAAA;wBADTC,QAAK;;;ECJR,IAAA,qCAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAA0C,CAAA,qCAAA,EAAA,MAAA,CAAA,CAAA;EAHpD,IAAA,SAAA,qCAAA,GAAA;;;EAIE,IAAA,qCAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,MAA6B,EAAA;EAC7D,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;OACzB,CAAA;;GANH,CAGU,uCAA0C;2JAH9B,qCAAqC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAvD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAArC,qCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,sFAF/C,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAEQ,qCAAqC,EAAA,UAAA,EAAA,CAAA;oBAH1DsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;ACKD,MAAA,iCAAA,kBAAA,YAAA;EAPA,IAAA,SAAA,iCAAA,GAAA;EAkBU,QAAA,IAAgB,CAAA,gBAAA,GAA8B,EAAE,CAAC;EASjD,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EASlB,QAAA,IAAc,CAAA,cAAA,GAA8B,IAAI,CAAC;EASjD,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;EASlB,QAAA,IAAa,CAAA,aAAA,GAA8B,EAAE,CAAC;EAEtD,QAAA,IAAa,CAAA,aAAA,GAAG,0CAAwC,CAAC;OAC1D;EA9CC,IAAA,MAAA,CAAA,cAAA,CACI,iCAAe,CAAA,SAAA,EAAA,iBAAA,EAAA;EADnB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,gBAAgB,CAAC;WAC9B;EACD,QAAA,GAAA,EAAA,UAAoB,eAA0C,EAAA;EAC5D,YAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;WACzC;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,iCAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,QAAiB,EAAA;EAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;WAC3B;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,iCAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EADjB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,cAAc,CAAC;WAC5B;EACD,QAAA,GAAA,EAAA,UAAkB,aAAwC,EAAA;EACxD,YAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;WACrC;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,iCAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,QAAiB,EAAA;EAC5B,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;WAC3B;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,iCAAY,CAAA,SAAA,EAAA,cAAA,EAAA;EADhB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,aAAa,CAAC;WAC3B;EACD,QAAA,GAAA,EAAA,UAAiB,YAAuC,EAAA;EACtD,YAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;WACnC;;;EAHA,KAAA,CAAA,CAAA;;;uJA3CU,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAtD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAjC,iCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,yOCZ9C,6dAUA,EAAA,MAAA,EAAA,CAAA,yOAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAG,sBAAA,EAAA,8BAAA,EAAAmI,gCAAA,EAAA,EAAA,eAAA,EAAAtM,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDEa,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAP7CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,8BAA8B;EACxC,oBAAA,WAAW,EAAE,uCAAuC;sBACpD,SAAS,EAAE,CAAC,uCAAuC,CAAC;sBACpD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;gCAMK,eAAe,EAAA,CAAA;wBADlBd,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAUF,aAAa,EAAA,CAAA;wBADhBA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAUF,YAAY,EAAA,CAAA;wBADfA,QAAK;;;EE7CF,SAAU,mBAAmB,CAAC,SAAkB,EAAA;EACpD,IAAA,QACEhC,aAAM,CAAY,SAAS,EAAE,MAAM,CAAC,KAAK,SAAS,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EACvI;EACJ;;ACMA,MAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;MAAgD,SAAqB,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;EA6EnE,IAAA,SAAA,0BAAA,CACY,QAAkB,EAClB,GAA6B,EAC7B,GAAqB,EACM,gBAAkC,EAAA;UAJzE,IAME,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,CAAC,IAC5C,IAAA,CAAA;EANW,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;EAClB,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAA0B;EAC7B,QAAA,KAAG,CAAA,GAAA,GAAH,GAAG,CAAkB;EACM,QAAA,KAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAnE/D,QAAA,KAAc,CAAA,cAAA,GAA8B,IAAI,CAAC;EAWnD,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAShB,QAAA,KAAU,CAAA,UAAA,GAAG,KAAK,CAAC;EAWnB,QAAA,KAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;OAuCzB;EA/ED,IAAA,MAAA,CAAA,cAAA,CACI,0BAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EADjB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,cAAc,CAAC;WAC5B;EAED,QAAA,GAAA,EAAA,UAAkB,KAAgC,EAAA;EAChD,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;WAC7B;;;EAJA,KAAA,CAAA,CAAA;EAQD,IAAA,MAAA,CAAA,cAAA,CACI,0BAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EAED,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAGiC,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC7C;;;EAJA,KAAA,CAAA,CAAA;EAQD,IAAA,MAAA,CAAA,cAAA,CACI,0BAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,0BAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EAED,QAAA,GAAA,EAAA,UAAa,KAAc,EAAA;EACzB,YAAA,IAAI,CAAC,SAAS,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC/C;;;EAJA,KAAA,CAAA,CAAA;EAQD,IAAA,MAAA,CAAA,cAAA,CACI,0BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EAED,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAJA,KAAA,CAAA,CAAA;EAQD,IAAA,MAAA,CAAA,cAAA,CACI,0BAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EAED,QAAA,GAAA,EAAA,UAAa,KAAmB,EAAA;cAC9B,IAAM,WAAW,GAAG3F,gBAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EAC9C,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;EACvB,YAAA,IAAI,WAAW,EAAE;kBACf,IAAI,CAAC,4BAA4B,EAAE,CAAC;EACrC,aAAA;WACF;;;EARA,KAAA,CAAA,CAAA;EAyBD,IAAA,0BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,IAAI,IAAI,CAAC,QAAQ,EAAE;cACjB,MAAM,CAAA,SAAA,CAAA,QAAQ,WAAE,CAAC;EAClB,SAAA;OACF,CAAA;MAES,0BAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,YAA+B,EAAA;EAC1D,QAAA,IAAI,CAAC,uBAAuB,GAAG,YAAY,CAAC,QAAgD,CAAC;UAC7F,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;UAChD,IAAI,CAAC,uBAAuB,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;UAChE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;UACtD,IAAI,CAAC,uBAAuB,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;EACxD,QAAA,IAAI,IAAI,CAAC,uBAAuB,YAAY,uCAAuC,EAAE;cACnF,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;EACnD,SAAA;EAED,QAAA,IAAI,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;cACrD,IAAI,CAAC,uBAAuB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;EAC/C,SAAA;OACF,CAAA;EAES,IAAA,0BAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;UACR,IAAI,IAAI,CAAC,QAAQ,EAAE;EACjB,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;EAC7B,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;EAC9F,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;;GAlHH,CAAgDiG,0BAAqB;EAAxD,0BAAA,CAAA,IAAA,GAAA9D,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,0BAA0B,mJAiF3B+D,sBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA/D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAjFhB,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,wQAF3B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAED,0BAA0B,EAAA,UAAA,EAAA,CAAA;oBAJtCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,gCAAgC;EAC1C,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;gCAkFIF,SAAM;iCAACW,sBAAiB,CAAA;;2BA3EvB,aAAa,EAAA,CAAA;wBADhBR,QAAK;kBAYF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAYF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAYF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBAYF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAeG,KAAK,EAAA,CAAA;wBAAbA,QAAK;;;AC5ER,MAAA,2BAAA,kBAAA,YAAA;EAPA,IAAA,SAAA,2BAAA,GAAA;EAmBU,QAAA,IAAc,CAAA,cAAA,GAA8B,IAAI,CAAC;EASjD,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAShB,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;OAmC5B;EA5DC,IAAA,MAAA,CAAA,cAAA,CACI,2BAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EADjB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,cAAc,CAAC;WAC5B;EACD,QAAA,GAAA,EAAA,UAAkB,aAAwC,EAAA;EACxD,YAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;WACrC;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,2BAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADV,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,OAAO,CAAC;WACrB;EACD,QAAA,GAAA,EAAA,UAAW,KAAc,EAAA;EACvB,YAAA,IAAI,CAAC,OAAO,GAAGC,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAC7C;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,2BAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAGA,8BAAqB,CAAC,KAAK,CAAC,CAAC;WAChD;;;EAHA,KAAA,CAAA,CAAA;EAeD,IAAA,MAAA,CAAA,cAAA,CACI,2BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;;;;;;;;;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,IAAiC,EAAA;EACxC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;WACnB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,2BAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,QAAsB,EAAA;EACjC,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;EAC1B,YAAA,IAAIR,2BAAiB,CAAC,QAAQ,CAAC,EAAE;EAC/B,gBAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;EACrC,aAAA;WACF;;;EANA,KAAA,CAAA,CAAA;;;iJArDU,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAhD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA3B,2BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,kNCdxC,kwBAwBA,EAAA,MAAA,EAAA,CAAA,2pCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,iCAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAuI,iCAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,eAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA1H,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA9E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDVa,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAPvCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uBAAuB;EACjC,oBAAA,WAAW,EAAE,gCAAgC;sBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;sBAC7C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;gCAOK,aAAa,EAAA,CAAA;wBADhBd,QAAK;kBAUF,MAAM,EAAA,CAAA;wBADTA,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAmBF,IAAI,EAAA,CAAA;wBADPA,QAAK;kBAUF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAcG,KAAK,EAAA,CAAA;wBAAbA,QAAK;;;AElER,MAAA,kCAAA,kBAAA,UAAA,MAAA,EAAA;MAAwD,SAAyE,CAAA,kCAAA,EAAA,MAAA,CAAA,CAAA;EAAjI,IAAA,SAAA,kCAAA,GAAA;;;EACE,IAAA,kCAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,IAA0C,EAAA;EAC1E,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;OAC9B,CAAA;;GAHH,CAAwD,qCAAyE;wJAApH,kCAAkC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAvD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAlC,kCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kCAAkC,uGCZ/C,+hBAeA,EAAA,MAAA,EAAA,CAAA,+0CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,IAAA,EAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAyI,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA5H,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,EAAA,eAAA,EAAA7E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDHa,kCAAkC,EAAA,UAAA,EAAA,CAAA;oBAP9CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,+BAA+B;EACzC,oBAAA,WAAW,EAAE,+BAA+B;sBAC5C,SAAS,EAAE,CAAC,+BAA+B,CAAC;sBAC5C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEAD,MAAA,8BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,8BAAA,GAAA;;;;oJAAa,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qJAA9B,8BAA8B,EAAA,YAAA,EAAA,CAH1B,iCAAiC,CADtC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,4BAA4B,EAAE,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAElF,iCAAiC,CAAA,EAAA,CAAA,CAAA;EAEhC,8BAAA,CAAA,IAAA,GAAA/E,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,8BAA8B,YAJhC,CAAC+E,iBAAY,EAAE,4BAA4B,EAAE,sCAAsC,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIlF,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAL1Cb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,4BAA4B,EAAE,sCAAsC,CAAC;sBAC7F,YAAY,EAAE,CAAC,iCAAiC,CAAC;sBACjD,OAAO,EAAE,CAAC,iCAAiC,CAAC;mBAC7C,CAAA;;;ACAD,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;;;sJAAa,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAhC,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gCAAgC,EAH5B,YAAA,EAAA,CAAA,0BAA0B,CAD/B,EAAA,OAAA,EAAA,CAAA+E,iBAAY,aAEZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;uJAEzB,gCAAgC,EAAA,OAAA,EAAA,CAJlC,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAL5Cb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,YAAY,EAAE,CAAC,0BAA0B,CAAC;sBAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;mBACtC,CAAA;;;ACID,MAAA,wBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wBAAA,GAAA;;;;8IAAa,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+IAAxB,wBAAwB,EAAA,YAAA,EAAA,CAHpB,2BAA2B,CAAA,EAAA,OAAA,EAAA,CADhC+E,iBAAY,EAAE,gCAAgC,EAAEK,mCAA8B,EAAE,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAE9G,2BAA2B,CAAA,EAAA,CAAA,CAAA;+IAE1B,wBAAwB,EAAA,OAAA,EAAA,CAJ1B,CAACL,iBAAY,EAAE,gCAAgC,EAAEK,mCAA8B,EAAE,8BAA8B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI9G,wBAAwB,EAAA,UAAA,EAAA,CAAA;oBALpClB,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAE,gCAAgC,EAAEK,mCAA8B,EAAE,8BAA8B,CAAC;sBACzH,YAAY,EAAE,CAAC,2BAA2B,CAAC;sBAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;mBACvC,CAAA;;;ACCD,MAAA,+BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,+BAAA,GAAA;;;;qJAAa,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAApF,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;sJAA/B,+BAA+B,EAAA,YAAA,EAAA,CAH3B,kCAAkC,CAAA,EAAA,OAAA,EAAA,CADvC+E,iBAAY,EAAEiD,yBAAoB,EAAEC,wBAAmB,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAEjF,kCAAkC,CAAA,EAAA,CAAA,CAAA;sJAEjC,+BAA+B,EAAA,OAAA,EAAA,CAJjC,CAAClD,iBAAY,EAAEiD,yBAAoB,EAAEC,wBAAmB,EAAE,wBAAwB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIjF,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAL3C/D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEiD,yBAAoB,EAAEC,wBAAmB,EAAE,wBAAwB,CAAC;sBAC5F,YAAY,EAAE,CAAC,kCAAkC,CAAC;sBAClD,OAAO,EAAE,CAAC,kCAAkC,CAAC;mBAC9C,CAAA;;;ECJD,IAAA,0CAAA,kBAAA,UAAA,MAAA,EAAA;MAGU,SAA2C,CAAA,0CAAA,EAAA,MAAA,CAAA,CAAA;EAHrD,IAAA,SAAA,0CAAA,GAAA;;;EAIE,IAAA,0CAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAkB,EAAA;UAClD,OAAO,IAAI,CAAC,UAAU,CAAC;OACxB,CAAA;;GANH,CAGU,qCAA2C;gKAH/B,0CAA0C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAjI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1C,0CAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0CAA0C,sFAFpD,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;oHAEQ,0CAA0C,EAAA,UAAA,EAAA,CAAA;oBAH/DsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,EAAE;mBACb,CAAA;;;ACMD,MAAA,mCAAA,kBAAA,UAAA,MAAA,EAAA;MAAyD,SAA8E,CAAA,mCAAA,EAAA,MAAA,CAAA,CAAA;MACrI,SAA+B,mCAAA,CAAA,QAAgB,EAAU,aAAkC,EAAA;UAA3F,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,QAAQ,CAAC,IAChB,IAAA,CAAA;EAFwD,QAAA,KAAa,CAAA,aAAA,GAAb,aAAa,CAAqB;;OAE1F;MAED,mCAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,MAAwC,EAAA;UAClD,IAAI,MAAM,CAAC,eAAe,EAAE;cAC1B,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;EAClE,SAAA;OACF,CAAA;;GATH,CAAyD,0CAA8E;EAA1H,mCAAA,CAAA,IAAA,GAAAtD,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mCAAmC,kBAC1BqM,YAAS,EAAA,EAAA,EAAA,KAAA,EAAAnE,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAAlI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EADlB,mCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,wGCbhD,k6BAoBA,EAAA,MAAA,EAAA,CAAA,muBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAuE,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA6H,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAhI,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,eAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAnC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAoC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA9G,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDPa,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAP/CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,gCAAgC;EAC1C,oBAAA,WAAW,EAAE,gCAAgC;sBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;sBAC7C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;gCAEcjB,SAAM;iCAACiJ,YAAS,CAAA;;;;AEE/B,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;;;sJAAa,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArM,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAhC,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gCAAgC,iBAH5B,mCAAmC,CAAA,EAAA,OAAA,EAAA,CADxC+E,iBAAY,EAAEqC,2BAAgB,EAAEsB,sBAAiB,EAAEpD,oBAAe,EAAEmC,kBAAa,EAAED,qBAAgB,EAAE,wBAAwB,aAE7H,mCAAmC,CAAA,EAAA,CAAA,CAAA;EAElC,gCAAA,CAAA,IAAA,GAAAxH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gCAAgC,EAJlC,OAAA,EAAA,CAAA,CAAC+E,iBAAY,EAAEqC,2BAAgB,EAAEsB,sBAAiB,EAAEpD,oBAAe,EAAEmC,kBAAa,EAAED,qBAAgB,EAAE,wBAAwB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI7H,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAL5CtD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAEqC,2BAAgB,EAAEsB,sBAAiB,EAAEpD,oBAAe,EAAEmC,kBAAa,EAAED,qBAAgB,EAAE,wBAAwB,CAAC;sBACxI,YAAY,EAAE,CAAC,mCAAmC,CAAC;sBACnD,OAAO,EAAE,CAAC,mCAAmC,CAAC;mBAC/C,CAAA;;;ACaD,MAAA,+BAAA,kBAAA,UAAA,MAAA,EAAA;MAAqD,SAAiD,CAAA,+BAAA,EAAA,MAAA,CAAA,CAAA;MAUpG,SAA+B,+BAAA,CAAA,QAAgB,EAAE,MAAkB,EAAA;UAAnE,IACE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,QAAQ,CAAC,IAkBhB,IAAA,CAAA;EA3BgD,QAAA,KAAa,CAAA,aAAA,GAAG,IAAI,CAAC;EAE7D,QAAA,KAAW,CAAA,WAAA,GAA8C,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;EAI7F,QAAA,KAAA,CAAA,SAAS,GAAG,SAAS,CAAAxM,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,MAAA,CAAA,EAAA,CAAA,MAAM,IAAA,CAAC;;;UAO1B,+BAA+B,CAAC,sCAAsC,EAAE,CAAC;EACzE,QAAA,IAAI,+BAA+B,CAAC,sCAAsC,KAAK,CAAC,EAAE;cAChF,IAAI;kBACF,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,EAAE,CAAC,oBAAoB,KAAK,UAAU,EAAE;EACnE,oBAAA,MAAM,CAAC,KAAK,CAAC,mRAE2E,CAAC,CAAC;EAC3F,iBAAA;EACF,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EACV,gBAAA,MAAM,CAAC,KAAK,CAAC,gOAE2C,CAAC,CAAC;EAC3D,aAAA;EACF,SAAA;;OACF;EAED,IAAA,+BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACE,IAAI,CAAC,4BAA4B,EAAE,CAAC;OACrC,CAAA;EAED;;;EAGG;EACK,IAAA,+BAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;;UACN,IAAI,IAAI,CAAC,MAAM,EAAE;EACf,YAAA,IAAM,eAAe,GAA6B,IAAI,CAAC,MAAM,CAAC,eAA2C,CAAC;;EAE1G,YAAA,IAAM,CAAC,GAAmB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;;EAGnF,YAAA,IAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,oBAAoB,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC,CAAC;;EAEhF,YAAA,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC;;EAEzC,YAAA,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,kBAAkB,CAAC;;EAEvC,YAAA,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;;EAGjC,YAAA,eAAe,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;EACrD,SAAA;OACF,CAAA;;GAzDH,CAAqD,+BAAiD;EAC7F,+BAAsC,CAAA,sCAAA,GAAG,CAAC,CAAC;EADvC,+BAAA,CAAA,IAAA,GAAAgF,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,+BAA+B,kBAUtBqM,YAAS,EAAA,EAAA,EAAA,KAAA,EAAArI,eAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;8HAVlB,+BAA+B,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kCAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAM/B2I,kBAAa,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA3I,aAAA,EAAA,QAAA,EClC1B,6oBAgBA,EAAA,MAAA,EAAA,CAAA,slBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAuE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,KAAA,EAAA,YAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAG,eAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,KAAA,EAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAN,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAoI,gCAAA,EAAA,EAAA,eAAA,EAAA3M,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDYa,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAP3CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,4BAA4B;EACtC,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;gCAWcjB,SAAM;iCAACiJ,YAAS,CAAA;;2BARoB,aAAa,EAAA,CAAA;wBAA7D5I,cAAW;yBAAC,kCAAkC,CAAA;kBAEtC,WAAW,EAAA,CAAA;wBAAnBF,QAAK;kBAEuC,MAAM,EAAA,CAAA;wBAAlDsF,YAAS;kBAAC,IAAA,EAAA,CAAAF,kBAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;;;;AEtB7C,MAAA,0CAAA,kBAAA,UAAA,MAAA,EAAA;MAAgE,SAAgE,CAAA,0CAAA,EAAA,MAAA,CAAA,CAAA;EANhI,IAAA,SAAA,0CAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA0BC,CAAA,CAAA,IAAA,IAAA,CAAA;UAPC,KAAA,CAAA,uBAAuB,GAAqD;cAC1E,WAAW,EAAE,IAAI,IAAI,EAAE;cACvB,MAAM,EAAEvM,+BAAqB;WAC9B,CAAC;EAGF,QAAA,KAAA,CAAA,MAAM,GAAG,SAAS,CAAApB,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,IAAA,CAAA,EAAA,CAAA,IAAI,IAAA,CAAC;;OACxB;EAnBC,IAAA,MAAA,CAAA,cAAA,CAAI,0CAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAAZ,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,QAA6C,EAAA;EACxD,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;EAC1B,YAAA,IAAI6C,gBAAS,CAAC,QAAQ,CAAC,EAAE;EACvB,gBAAA,IAAI,CAAC,UAAU,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,GAAK,IAAI,CAAC,uBAAuB,CAAA,EAAA,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAA,CAAE,CAAC;EAC/G,gBAAA,IAAI,CAAC,QAAQ,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,GAAK,IAAI,CAAC,uBAAuB,CAAA,EAAA,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAA,CAAE,CAAC;EAC5G,aAAA;;WAGF;;;EATA,KAAA,CAAA,CAAA;;GAHH,CAAgE,uCAAgE;gKAAnH,0CAA0C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAmC,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1C,0CAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0CAA0C,iHCZvD,ooBAiBA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA4M,+BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAArI,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA7E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDLa,0CAA0C,EAAA,UAAA,EAAA,CAAA;oBANtDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,yCAAyC;EACnD,oBAAA,WAAW,EAAE,yCAAyC;sBACtD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEiBD,MAAA,4BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,4BAAA,GAAA;;;;kJAAa,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mJAA5B,4BAA4B,EAAA,YAAA,EAAA,CAJxB,+BAA+B,CAAA,EAAA,OAAA,EAAA,CAT5C+E,iBAAY;UACZ8C,cAAW;UACXY,uBAAkB;UAClBK,iBAAc;UACdC,wBAAmB;UACnB1D,yCAAmB;UACnByC,sBAAmB;UACnB,sCAAsC,aAG9B,+BAA+B,CAAA,EAAA,CAAA,CAAA;EAG9B,4BAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,4BAA4B,EAF5B,SAAA,EAAA,CAAC,EAAE,OAAO,EAAEgJ,mBAAgB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC,EAZnE,OAAA,EAAA,CAAA;cACPjE,iBAAY;cACZ8C,cAAW;cACXY,uBAAkB;cAClBK,iBAAc;cACdC,wBAAmB;cACnB1D,yCAAmB;cACnByC,sBAAmB;cACnB,sCAAsC;WACvC,CAAA,EAAA,CAAA,CAAA;oHAKU,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBAfxC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ8C,cAAW;0BACXY,uBAAkB;0BAClBK,iBAAc;0BACdC,wBAAmB;0BACnB1D,yCAAmB;0BACnByC,sBAAmB;0BACnB,sCAAsC;EACvC,qBAAA;sBACD,YAAY,EAAE,CAAC,+BAA+B,CAAC;sBAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;sBAC1C,SAAS,EAAE,CAAC,EAAE,OAAO,EAAEkB,mBAAgB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;mBAC7E,CAAA;;;ACdD,MAAA,uCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uCAAA,GAAA;;;;6JAAa,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAhJ,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8JAAvC,uCAAuC,EAAA,YAAA,EAAA,CAHnC,0CAA0C,CAAA,EAAA,OAAA,EAAA,CAD/C+E,iBAAY,EAAE,4BAA4B,EAAEqC,2BAAgB,EAAES,cAAW,CAAA,EAAA,OAAA,EAAA,CAEzE,0CAA0C,CAAA,EAAA,CAAA,CAAA;8JAEzC,uCAAuC,EAAA,OAAA,EAAA,CAJzC,CAAC9C,iBAAY,EAAE,4BAA4B,EAAEqC,2BAAgB,EAAES,cAAW,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIzE,uCAAuC,EAAA,UAAA,EAAA,CAAA;oBALnD3D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAE,4BAA4B,EAAEqC,2BAAgB,EAAES,cAAW,CAAC;sBACpF,YAAY,EAAE,CAAC,0CAA0C,CAAC;sBAC1D,OAAO,EAAE,CAAC,0CAA0C,CAAC;mBACtD,CAAA;;;ECJD,IAAM,kCAAkC,GAAGxE,yBAAoB,gBAAA,YAAA;EAAC,IAAA,SAAA,OAAA,GAAA;OAAQ;MAAA,OAAA,OAAA,CAAA;EAAA,CAAR,IAAS,CAAC;AAS1E,MAAA,sCAAA,kBAAA,UAAA,MAAA,EAAA;MAA4D,SAAkC,CAAA,sCAAA,EAAA,MAAA,CAAA,CAAA;EAiC5F,IAAA,SAAA,sCAAA,CAA4D,gBAAyC,EAAA;EAArG,QAAA,IAAA,KAAA,GACE,iBAAO,IAER,IAAA,CAAA;EATD,QAAA,KAAA,CAAA,eAAe,GAAG,IAAI9C,cAAW,EAAE,CAAC;EACpC,QAAA,KAAA,CAAA,YAAY,GAAG,IAAIA,cAAW,EAAE,CAAC;EACjC,QAAA,KAAA,CAAA,cAAc,GAAG,IAAI,KAAK,EAAU,CAAC;EAErC,QAAA,KAAgB,CAAA,gBAAA,GAA2B,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;UAIlF,KAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAI,CAAC,gBAAgB,CAAC;;OACnE;EAxBD,IAAA,MAAA,CAAA,cAAA,CACI,sCAAgB,CAAA,SAAA,EAAA,kBAAA,EAAA;;;;;;;;;EADpB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,iBAAiB,CAAC;WAC/B;EACD,QAAA,GAAA,EAAA,UAAqB,KAAmC,EAAA;EACtD,YAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;WAChC;;;EAHA,KAAA,CAAA,CAAA;;GAfH,CAA4D,kCAAkC;EAAjF,sCAAA,CAAA,IAAA,GAAAP,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,sCAAsC,kBAiCjB,0BAA0B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAjC/C,sCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,8JCjBnD,+uBAgBA,EAAA,MAAA,EAAA,CAAA,0zBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAJ,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAmC,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,mBAAA,EAAAgG,8BAAA,EAAA,mBAAA,EAAAC,qBAAA,EAAA,EAAA,eAAA,EAAA9M,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDCa,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAPlDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oCAAoC;EAC9C,oBAAA,WAAW,EAAE,oCAAoC;sBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;sBACjD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;gCAkCclB,WAAQ;;gCAAIC,SAAM;iCAAC,0BAA0B,CAAA;;2BApBtD,gBAAgB,EAAA,CAAA;wBADnBG,QAAK;;;AELR,MAAA,mCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mCAAA,GAAA;;;;yJAAa,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAvD,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0JAAnC,mCAAmC,EAAA,YAAA,EAAA,CAH/B,sCAAsC,CAAA,EAAA,OAAA,EAAA,CATnD+E,iBAAY;UACZqC,2BAAgB;UAChBS,cAAW;UACXY,uBAAkB;UAClBa,oBAAe;UACf,oCAAoC;UACpC,2BAA2B;UAC3BxB,sBAAmB,aAGX,sCAAsC,CAAA,EAAA,CAAA,CAAA;EAErC,mCAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mCAAmC,EAbrC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZqC,2BAAgB;cAChBS,cAAW;cACXY,uBAAkB;cAClBa,oBAAe;cACf,oCAAoC;cACpC,2BAA2B;cAC3BxB,sBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAd/C5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZqC,2BAAgB;0BAChBS,cAAW;0BACXY,uBAAkB;0BAClBa,oBAAe;0BACf,oCAAoC;0BACpC,2BAA2B;0BAC3BxB,sBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,sCAAsC,CAAC;sBACtD,OAAO,EAAE,CAAC,sCAAsC,CAAC;mBAClD,CAAA;;;ACXD,MAAA,2CAAA,kBAAA,UAAA,MAAA,EAAA;MAAiE,SAAyD,CAAA,2CAAA,EAAA,MAAA,CAAA,CAAA;EAA1H,IAAA,SAAA,2CAAA,GAAA;;;;GAAA,CAAiE,+BAAyD;iKAA7G,2CAA2C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA9H,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA3C,2CAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2CAA2C,6GCZxD,4ZAKA,EAAA,MAAA,EAAA,CAAA,0nBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA+M,sCAAA,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAxI,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,4OAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,kTAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,sRAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA7E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDOa,2CAA2C,EAAA,UAAA,EAAA,CAAA;oBAPvDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,qCAAqC;EAC/C,oBAAA,WAAW,EAAE,0CAA0C;sBACvD,SAAS,EAAE,CAAC,0CAA0C,CAAC;sBACvD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEGD,MAAA,wCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,wCAAA,GAAA;;;;8JAAa,wCAAwC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAxC,wCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,wCAAwC,EAHpC,YAAA,EAAA,CAAA,2CAA2C,CADhD,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,mCAAmC,EAAEkD,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,aAE3H,2CAA2C,CAAA,EAAA,CAAA,CAAA;+JAE1C,wCAAwC,EAAA,OAAA,EAAA,CAJ1C,CAACrC,iBAAY,EAAE,mCAAmC,EAAEkD,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI3H,wCAAwC,EAAA,UAAA,EAAA,CAAA;oBALpDlD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAE,mCAAmC,EAAEkD,wBAAmB,EAAEb,2BAAgB,EAAE,iCAAiC,CAAC;sBACtI,YAAY,EAAE,CAAC,2CAA2C,CAAC;sBAC3D,OAAO,EAAE,CAAC,2CAA2C,CAAC;mBACvD,CAAA;;;ACDD,MAAA,wCAAA,kBAAA,UAAA,MAAA,EAAA;MAA8D,SAG7D,CAAA,wCAAA,EAAA,MAAA,CAAA,CAAA;EAVD,IAAA,SAAA,wCAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAYC,CAAA,CAAA,IAAA,IAAA,CAAA;EADC,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAApM,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OACzD;;GALD,CAA8D,qCAG7D;8JAHY,wCAAwC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAgF,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxC,wCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,8GCZrD,kzCAiCA,EAAA,MAAA,EAAA,CAAA,ygBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,uBAAA,EAAAsI,yBAAA,EAAA,8BAAA,EAAAC,gCAAA,EAAA,EAAA,eAAA,EAAAjN,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDrBa,wCAAwC,EAAA,UAAA,EAAA,CAAA;oBAPpDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,sCAAsC;EAChD,oBAAA,WAAW,EAAE,sCAAsC;sBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;sBACnD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEUD,MAAA,qCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qCAAA,GAAA;;;;2JAAa,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4JAArC,qCAAqC,EAAA,YAAA,EAAA,CAHjC,wCAAwC,CAAA,EAAA,OAAA,EAAA,CAPrD+E,iBAAY;UACZ0D,uBAAkB;UAClBc,kBAAa;UACbT,iBAAc;UACd,+BAA+B;UAC/B,sCAAsC,aAG9B,wCAAwC,CAAA,EAAA,CAAA,CAAA;EAEvC,qCAAA,CAAA,IAAA,GAAA9I,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qCAAqC,EAXvC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ0D,uBAAkB;cAClBc,kBAAa;cACbT,iBAAc;cACd,+BAA+B;cAC/B,sCAAsC;WACvC,CAAA,EAAA,CAAA,CAAA;oHAIU,qCAAqC,EAAA,UAAA,EAAA,CAAA;oBAZjD5E,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ0D,uBAAkB;0BAClBc,kBAAa;0BACbT,iBAAc;0BACd,+BAA+B;0BAC/B,sCAAsC;EACvC,qBAAA;sBACD,YAAY,EAAE,CAAC,wCAAwC,CAAC;sBACxD,OAAO,EAAE,CAAC,wCAAwC,CAAC;mBACpD,CAAA;;;ACRD,MAAA,mCAAA,kBAAA,UAAA,MAAA,EAAA;MAAyD,SAA8E,CAAA,mCAAA,EAAA,MAAA,CAAA,CAAA;EAAvI,IAAA,SAAA,mCAAA,GAAA;;;;GAAA,CAAyD,0CAA8E;yJAA1H,mCAAmC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA9I,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAnC,mCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mCAAmC,wGCZhD,u7DAoCA,EAAA,MAAA,EAAA,CAAA,smBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAoI,gCAAA,EAAA,EAAA,eAAA,EAAAlN,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDxBa,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAP/CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,gCAAgC;EAC1C,oBAAA,WAAW,EAAE,gCAAgC;sBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;sBAC7C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEaD,MAAA,gCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gCAAA,GAAA;;;;sJAAa,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;uJAAhC,gCAAgC,EAAA,YAAA,EAAA,CAH5B,mCAAmC,CAAA,EAAA,OAAA,EAAA,CAThD+E,iBAAY;UACZ0D,uBAAkB;UAClBhB,kBAAa;UACb8B,kBAAa;UACbD,oBAAe;UACf,2BAA2B;UAC3B,qCAAqC;UACrC,sCAAsC,aAG9B,mCAAmC,CAAA,EAAA,CAAA,CAAA;EAElC,gCAAA,CAAA,IAAA,GAAAtJ,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,gCAAgC,EAblC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ0D,uBAAkB;cAClBhB,kBAAa;cACb8B,kBAAa;cACbD,oBAAe;cACf,2BAA2B;cAC3B,qCAAqC;cACrC,sCAAsC;WACvC,CAAA,EAAA,CAAA,CAAA;oHAIU,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAd5CpF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ0D,uBAAkB;0BAClBhB,kBAAa;0BACb8B,kBAAa;0BACbD,oBAAe;0BACf,2BAA2B;0BAC3B,qCAAqC;0BACrC,sCAAsC;EACvC,qBAAA;sBACD,YAAY,EAAE,CAAC,mCAAmC,CAAC;sBACnD,OAAO,EAAE,CAAC,mCAAmC,CAAC;mBAC/C,CAAA;;;ACXD,MAAA,qCAAA,kBAAA,UAAA,MAAA,EAAA;MAA2D,SAAuD,CAAA,qCAAA,EAAA,MAAA,CAAA,CAAA;EAPlH,IAAA,SAAA,qCAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAUC,CAAA,CAAA,IAAA,IAAA,CAAA;EAFC,QAAA,KAAO,CAAA,OAAA,GAAG,KAAK,CAAC;EAChB,QAAA,KAAA,CAAA,qBAAqB,GAAG,SAAS,CAAAtO,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,eAAA,CAAA,EAAA,CAAA,eAAe,IAAA,CAAC;;OAClD;;GAHD,CAA2D,+BAAuD;2JAArG,qCAAqC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAgF,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAArC,qCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,2GCZlD,wlBAgBA,EAAA,MAAA,EAAA,CAAA,kEAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,eAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,cAAA,EAAA,cAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAO,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAAvE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDJa,qCAAqC,EAAA,UAAA,EAAA,CAAA;oBAPjDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,mCAAmC;EAC7C,oBAAA,WAAW,EAAE,mCAAmC;sBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;sBAChD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEYD,MAAA,kCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kCAAA,GAAA;;;;wJAAa,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;yJAAlC,kCAAkC,EAAA,YAAA,EAAA,CAH9B,qCAAqC,CAAA,EAAA,OAAA,EAAA,CARlD+E,iBAAY;UACZO,oBAAe;UACfmC,kBAAa;UACb+B,2BAAsB;UACtBC,yBAAoB;UACpBF,kBAAa;UACbG,6BAAwB,aAGhB,qCAAqC,CAAA,EAAA,CAAA,CAAA;EAEpC,kCAAA,CAAA,IAAA,GAAA1J,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kCAAkC,EAZpC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZO,oBAAe;cACfmC,kBAAa;cACb+B,2BAAsB;cACtBC,yBAAoB;cACpBF,kBAAa;cACbG,6BAAwB;WACzB,CAAA,EAAA,CAAA,CAAA;oHAIU,kCAAkC,EAAA,UAAA,EAAA,CAAA;oBAb9CxF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZO,oBAAe;0BACfmC,kBAAa;0BACb+B,2BAAsB;0BACtBC,yBAAoB;0BACpBF,kBAAa;0BACbG,6BAAwB;EACzB,qBAAA;sBACD,YAAY,EAAE,CAAC,qCAAqC,CAAC;sBACrD,OAAO,EAAE,CAAC,qCAAqC,CAAC;mBACjD,CAAA;;;ACPD,MAAA,8CAAA,kBAAA,UAAA,MAAA,EAAA;MAAoE,SAAqF,CAAA,8CAAA,EAAA,MAAA,CAAA,CAAA;EAPzJ,IAAA,SAAA,8CAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA8BC,CAAA,CAAA,IAAA,IAAA,CAAA;EAtBC,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAA1O,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;EAExD,QAAA,KAAW,CAAA,WAAA,GAAmB,EAAE,CAAC;;OAoBlC;EAlBC,IAAA,8CAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,KAAgC,EAAE,QAAgB,EAAA;EAChE,QAAA,IAAIiP,gBAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;EACjC,YAAA,IAAM,SAAO,GAAGC,mBAAgB,CAAC,QAAQ,CAAC,CAAC;EAC3C,YAAA,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,SAAS,EAAA,EAAK,OAAA,SAAS,CAAC,OAAO,KAAK,SAAO,CAA7B,EAA6B,CAAC,CAAC;EACjF,YAAA,OAAOrM,gBAAS,CAAC,eAAe,CAAC,GAAI,eAAe,CAAC,KAAgB,GAAG,EAAE,CAAC;EAC5E,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;MAED,8CAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,QAAgB,EAAA;EACjC,QAAA,IAAIoM,gBAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;EACjC,YAAA,IAAM,OAAO,GAAGC,mBAAgB,CAAC,QAAQ,CAAC,CAAC;EAC3C,YAAA,IAAM,WAAW,GAAGC,0BAAuB,CAAC,OAAO,CAAC,CAAC;EACrD,YAAA,OAAU,WAAW,GAAA,IAAA,GAAK,OAAO,GAAA,GAAG,CAAC;EACtC,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;;GAtBH,CAAoE,uCAAqF;oKAA5I,8CAA8C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAnK,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA9C,8CAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8CAA8C,qHCf3D,ynDAkCA,EAAA,MAAA,EAAA,CAAA,ksCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAAsC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAoG,gCAAA,EAAA,mBAAA,EAAAE,qBAAA,EAAA,EAAA,eAAA,EAAAnN,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDnBa,8CAA8C,EAAA,UAAA,EAAA,CAAA;oBAP1DsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,6CAA6C;EACvD,oBAAA,WAAW,EAAE,6CAA6C;sBAC1D,SAAS,EAAE,CAAC,6CAA6C,CAAC;sBAC1D,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AESD,MAAA,2CAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2CAAA,GAAA;;;;iKAAa,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kKAA3C,2CAA2C,EAAA,YAAA,EAAA,CAHvC,8CAA8C,CAAA,EAAA,OAAA,EAAA,CAR3D+E,iBAAY;UACZ,sCAAsC;UACtC0D,uBAAkB;UAClBK,iBAAc;UACdS,kBAAa;UACb9B,kBAAa;UACb,2BAA2B,aAGnB,8CAA8C,CAAA,EAAA,CAAA,CAAA;EAE7C,2CAAA,CAAA,IAAA,GAAAzH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2CAA2C,EAZ7C,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sCAAsC;cACtC0D,uBAAkB;cAClBK,iBAAc;cACdS,kBAAa;cACb9B,kBAAa;cACb,2BAA2B;WAC5B,CAAA,EAAA,CAAA,CAAA;oHAIU,2CAA2C,EAAA,UAAA,EAAA,CAAA;oBAbvDvD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sCAAsC;0BACtC0D,uBAAkB;0BAClBK,iBAAc;0BACdS,kBAAa;0BACb9B,kBAAa;0BACb,2BAA2B;EAC5B,qBAAA;sBACD,YAAY,EAAE,CAAC,8CAA8C,CAAC;sBAC9D,OAAO,EAAE,CAAC,8CAA8C,CAAC;mBAC1D,CAAA;;;ACPD,MAAA,0CAAA,kBAAA,UAAA,MAAA,EAAA;MAAgE,SAAiF,CAAA,0CAAA,EAAA,MAAA,CAAA,CAAA;EAPjJ,IAAA,SAAA,0CAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA4BC,CAAA,CAAA,IAAA,IAAA,CAAA;EApBC,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAAzM,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OAoBzD;EAlBC,IAAA,0CAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,KAAgC,EAAE,QAAgB,EAAA;EAChE,QAAA,IAAIiP,gBAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;EACjC,YAAA,IAAM,SAAO,GAAGC,mBAAgB,CAAC,QAAQ,CAAC,CAAC;EAC3C,YAAA,IAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,SAAS,EAAA,EAAK,OAAA,SAAS,CAAC,OAAO,KAAK,SAAO,CAA7B,EAA6B,CAAC,CAAC;EACjF,YAAA,OAAOrM,gBAAS,CAAC,eAAe,CAAC,GAAI,eAAe,CAAC,KAAgB,GAAG,EAAE,CAAC;EAC5E,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,EAAE,CAAC;EACX,SAAA;OACF,CAAA;MAED,0CAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,QAAgB,EAAA;EACjC,QAAA,IAAIoM,gBAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;EACjC,YAAA,IAAM,OAAO,GAAGC,mBAAgB,CAAC,QAAQ,CAAC,CAAC;EAC3C,YAAA,IAAM,WAAW,GAAGC,0BAAuB,CAAC,OAAO,CAAC,CAAC;EACrD,YAAA,OAAU,WAAW,GAAA,IAAA,GAAK,OAAO,GAAA,GAAG,CAAC;EACtC,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACjB,CAAA;;GApBH,CAAgE,uCAAiF;gKAApI,0CAA0C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAnK,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1C,0CAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0CAA0C,iHCfvD,uiDAkCA,EAAA,MAAA,EAAA,CAAA,8pCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAd,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAU,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAI,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAP,eAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,EAAA,EAAA,IAAA,EAAAsC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAoG,gCAAA,EAAA,mBAAA,EAAAE,qBAAA,EAAA,EAAA,eAAA,EAAAnN,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDnBa,0CAA0C,EAAA,UAAA,EAAA,CAAA;oBAPtDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,yCAAyC;EACnD,oBAAA,WAAW,EAAE,yCAAyC;sBACtD,SAAS,EAAE,CAAC,yCAAyC,CAAC;sBACtD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEUD,MAAA,uCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uCAAA,GAAA;;;;6JAAa,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8JAAvC,uCAAuC,EAAA,YAAA,EAAA,CAHnC,0CAA0C,CAAA,EAAA,OAAA,EAAA,CATvD+E,iBAAY;UACZ,sCAAsC;UACtC0D,uBAAkB;UAClBK,iBAAc;UACdS,kBAAa;UACb9B,kBAAa;UACb,+BAA+B;UAC/B,2BAA2B,aAGnB,0CAA0C,CAAA,EAAA,CAAA,CAAA;EAEzC,uCAAA,CAAA,IAAA,GAAAzH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uCAAuC,EAbzC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sCAAsC;cACtC0D,uBAAkB;cAClBK,iBAAc;cACdS,kBAAa;cACb9B,kBAAa;cACb,+BAA+B;cAC/B,2BAA2B;WAC5B,CAAA,EAAA,CAAA,CAAA;oHAIU,uCAAuC,EAAA,UAAA,EAAA,CAAA;oBAdnDvD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sCAAsC;0BACtC0D,uBAAkB;0BAClBK,iBAAc;0BACdS,kBAAa;0BACb9B,kBAAa;0BACb,+BAA+B;0BAC/B,2BAA2B;EAC5B,qBAAA;sBACD,YAAY,EAAE,CAAC,0CAA0C,CAAC;sBAC1D,OAAO,EAAE,CAAC,0CAA0C,CAAC;mBACtD,CAAA;;;ACXD,MAAA,yCAAA,kBAAA,UAAA,MAAA,EAAA;MAA+D,SAG9D,CAAA,yCAAA,EAAA,MAAA,CAAA,CAAA;EAHD,IAAA,SAAA,yCAAA,GAAA;;;;GAAA,CAA+D,0CAG9D;+JAHY,yCAAyC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAzH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAzC,yCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yCAAyC,+GCZtD,mpBAgBA,EAAA,MAAA,EAAA,CAAA,qsCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAyI,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA5H,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAa,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA7E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDJa,yCAAyC,EAAA,UAAA,EAAA,CAAA;oBAPrDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,uCAAuC;EACjD,oBAAA,WAAW,EAAE,uCAAuC;sBACpD,SAAS,EAAE,CAAC,uCAAuC,CAAC;sBACpD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEED,MAAA,sCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sCAAA,GAAA;;;;4JAAa,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;6JAAtC,sCAAsC,EAAA,YAAA,EAAA,CAHlC,yCAAyC,CAAA,EAAA,OAAA,EAAA,CAD9C+E,iBAAY,EAAEwF,mBAAc,EAAE,wBAAwB,EAAE9B,uBAAkB,CAAA,EAAA,OAAA,EAAA,CAE1E,yCAAyC,CAAA,EAAA,CAAA,CAAA;6JAExC,sCAAsC,EAAA,OAAA,EAAA,CAJxC,CAAC1D,iBAAY,EAAEwF,mBAAc,EAAE,wBAAwB,EAAE9B,uBAAkB,CAAC,CAAA,EAAA,CAAA,CAAA;oHAI1E,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBALlDvE,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAEwF,mBAAc,EAAE,wBAAwB,EAAE9B,uBAAkB,CAAC;sBACrF,YAAY,EAAE,CAAC,yCAAyC,CAAC;sBACzD,OAAO,EAAE,CAAC,yCAAyC,CAAC;mBACrD,CAAA;;;ACAD,MAAA,sCAAA,kBAAA,UAAA,MAAA,EAAA;MAA4D,SAAyD,CAAA,sCAAA,EAAA,MAAA,CAAA,CAAA;EAArH,IAAA,SAAA,sCAAA,GAAA;;;;GAAA,CAA4D,+BAAyD;4JAAxG,sCAAsC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAzI,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAtC,sCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,4GCZnD,0RAOA,EAAA,MAAA,EAAA,CAAA,uFAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,+BAAA,EAAAoJ,iCAAA,EAAA,oBAAA,EAAA5C,sBAAA,EAAA,EAAA,eAAA,EAAAxK,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDKa,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAPlDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oCAAoC;EAC9C,oBAAA,WAAW,EAAE,oCAAoC;sBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;sBACjD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEAD,MAAA,mCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mCAAA,GAAA;;;;yJAAa,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0JAAnC,mCAAmC,EAAA,YAAA,EAAA,CAH/B,sCAAsC,CAD3C,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,4BAA4B,EAAE,uCAAuC,CAAA,EAAA,OAAA,EAAA,CAEnF,sCAAsC,CAAA,EAAA,CAAA,CAAA;EAErC,mCAAA,CAAA,IAAA,GAAA/E,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mCAAmC,YAJrC,CAAC+E,iBAAY,EAAE,4BAA4B,EAAE,uCAAuC,CAAC,CAAA,EAAA,CAAA,CAAA;oHAInF,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAL/Cb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,4BAA4B,EAAE,uCAAuC,CAAC;sBAC9F,YAAY,EAAE,CAAC,sCAAsC,CAAC;sBACtD,OAAO,EAAE,CAAC,sCAAsC,CAAC;mBAClD,CAAA;;;ACED,MAAA,0CAAA,kBAAA,UAAA,MAAA,EAAA;MAAgE,SAAoE,CAAA,0CAAA,EAAA,MAAA,CAAA,CAAA;EAPpI,IAAA,SAAA,0CAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WASC,CAAA,CAAA,IAAA,IAAA,CAAA;EADC,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAA/J,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OACzD;;GAFD,CAAgE,uCAAoE;gKAAvH,0CAA0C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAgF,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA1C,0CAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0CAA0C,gHCZvD,+8CAiCA,EAAA,MAAA,EAAA,CAAA,qpCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAiI,gCAAA,EAAA,EAAA,eAAA,EAAA3M,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDrBa,0CAA0C,EAAA,UAAA,EAAA,CAAA;oBAPtDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,wCAAwC;EAClD,oBAAA,WAAW,EAAE,wCAAwC;sBACrD,SAAS,EAAE,CAAC,wCAAwC,CAAC;sBACrD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEUD,MAAA,uCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uCAAA,GAAA;;;;6JAAa,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;8JAAvC,uCAAuC,EAAA,YAAA,EAAA,CAHnC,0CAA0C,CAAA,EAAA,OAAA,EAAA,CAPvD+E,iBAAY;UACZ,sCAAsC;UACtC0D,uBAAkB;UAClBK,iBAAc;UACdS,kBAAa;UACb,2BAA2B,aAGnB,0CAA0C,CAAA,EAAA,CAAA,CAAA;EAEzC,uCAAA,CAAA,IAAA,GAAAvJ,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,uCAAuC,EAXzC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sCAAsC;cACtC0D,uBAAkB;cAClBK,iBAAc;cACdS,kBAAa;cACb,2BAA2B;WAC5B,CAAA,EAAA,CAAA,CAAA;oHAIU,uCAAuC,EAAA,UAAA,EAAA,CAAA;oBAZnDrF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sCAAsC;0BACtC0D,uBAAkB;0BAClBK,iBAAc;0BACdS,kBAAa;0BACb,2BAA2B;EAC5B,qBAAA;sBACD,YAAY,EAAE,CAAC,0CAA0C,CAAC;sBAC1D,OAAO,EAAE,CAAC,0CAA0C,CAAC;mBACtD,CAAA;;;ACLD,MAAA,qCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qCAAA,GAAA;;;;2JAAa,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAvJ,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAArC,qCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,mFAXtC,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,oFAAA,CAAA,EAAA,eAAA,EAAAA,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAW1B,qCAAqC,EAAA,UAAA,EAAA,CAAA;oBAbjDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,kCAAkC;EAC5C,oBAAA,QAAQ,EAAE,2BAA2B;EACrC,oBAAA,MAAM,EAAE;0BACN,oFAIC;EACF,qBAAA;sBACD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;ACJD,MAAA,kCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kCAAA,GAAA;;;;wJAAa,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAAlC,kCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,kCAAkC,EAH9B,YAAA,EAAA,CAAA,qCAAqC,CAD1C,EAAA,OAAA,EAAA,CAAA+E,iBAAY,aAEZ,qCAAqC,CAAA,EAAA,CAAA,CAAA;yJAEpC,kCAAkC,EAAA,OAAA,EAAA,CAJpC,CAACA,iBAAY,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIZ,kCAAkC,EAAA,UAAA,EAAA,CAAA;oBAL9Cb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,CAAC;sBACvB,YAAY,EAAE,CAAC,qCAAqC,CAAC;sBACrD,OAAO,EAAE,CAAC,qCAAqC,CAAC;mBACjD,CAAA;;;ACaD,MAAA,8CAAA,kBAAA,UAAA,MAAA,EAAA;MAAoE,SAA+D,CAAA,8CAAA,EAAA,MAAA,CAAA,CAAA;EAfnI,IAAA,SAAA,8CAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAiBC,CAAA,CAAA,IAAA,IAAA,CAAA;EADC,QAAA,KAAA,CAAA,QAAQ,GAAG,SAAS,CAAA/J,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,KAAA,CAAA,EAAA,CAAA,KAAK,IAAA,CAAC;;OAC3B;;GAFD,CAAoE,uCAA+D;oKAAtH,8CAA8C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAgF,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;6IAA9C,8CAA8C,EAAA,QAAA,EAAA,4CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,QAAA,ECtB3D,yqBAeA,EDJc,MAAA,EAAA,CAAA,owBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAqN,qCAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,EAAA,EAAA,IAAA,EAAA9I,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAM,eAAA,CAAA,SAAA,EAAA,QAAA,EAAA,4LAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAwI,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAzG,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAAD,aAAA,CAAA,aAAA,EAAA,EAAA,UAAA,EAAA;UACVrF,kBAAO,CAAC,0BAA0B,EAAE;EAClC,YAAAC,gBAAK,CAAC,IAAI,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;cAC5DD,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;cAChFC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAACiJ,qBAAgB,EAAEnJ,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAClG,YAAAC,qBAAU,CAAC,QAAQ,EAAEC,kBAAO,CAACiJ,qBAAgB,CAAC,CAAC;WAChD,CAAC;EACH,KAAA,EAAA,eAAA,EAAA7K,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHAIU,8CAA8C,EAAA,UAAA,EAAA,CAAA;oBAf1DsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,4CAA4C;EACtD,oBAAA,WAAW,EAAE,4CAA4C;sBACzD,SAAS,EAAE,CAAC,4CAA4C,CAAC;EACzD,oBAAA,UAAU,EAAE;0BACV9B,kBAAO,CAAC,0BAA0B,EAAE;EAClC,4BAAAC,gBAAK,CAAC,IAAI,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;8BAC5DD,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;8BAChFC,qBAAU,CAAC,QAAQ,EAAE,CAACC,kBAAO,CAACiJ,qBAAgB,EAAEnJ,gBAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAClG,4BAAAC,qBAAU,CAAC,QAAQ,EAAEC,kBAAO,CAACiJ,qBAAgB,CAAC,CAAC;2BAChD,CAAC;EACH,qBAAA;sBACD,eAAe,EAAEzG,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEKD,MAAA,2CAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2CAAA,GAAA;;;;iKAAa,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kKAA3C,2CAA2C,EAAA,YAAA,EAAA,CAHvC,8CAA8C,CAAA,EAAA,OAAA,EAAA,CAT3D+E,iBAAY;UACZ,kCAAkC;UAClC,wBAAwB;UACxBO,oBAAe;UACfmC,kBAAa;UACbD,qBAAgB;UAChBsD,kCAA6B;UAC7BlD,kBAAa,aAGL,8CAA8C,CAAA,EAAA,CAAA,CAAA;EAE7C,2CAAA,CAAA,IAAA,GAAA5H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2CAA2C,EAb7C,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,kCAAkC;cAClC,wBAAwB;cACxBO,oBAAe;cACfmC,kBAAa;cACbD,qBAAgB;cAChBsD,kCAA6B;cAC7BlD,kBAAa;WACd,CAAA,EAAA,CAAA,CAAA;oHAIU,2CAA2C,EAAA,UAAA,EAAA,CAAA;oBAdvD1D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,kCAAkC;0BAClC,wBAAwB;0BACxBO,oBAAe;0BACfmC,kBAAa;0BACbD,qBAAgB;0BAChBsD,kCAA6B;0BAC7BlD,kBAAa;EACd,qBAAA;sBACD,YAAY,EAAE,CAAC,8CAA8C,CAAC;sBAC9D,OAAO,EAAE,CAAC,8CAA8C,CAAC;mBAC1D,CAAA;;;ACbD,MAAA,sCAAA,kBAAA,UAAA,MAAA,EAAA;MAA4D,SAAgE,CAAA,sCAAA,EAAA,MAAA,CAAA,CAAA;EAP5H,IAAA,SAAA,sCAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WASC,CAAA,CAAA,IAAA,IAAA,CAAA;EADC,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAA5M,kBAAA,KAAAA,kBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OACzD;;GAFD,CAA4D,uCAAgE;4JAA/G,sCAAsC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAgF,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAtC,sCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,4GCZnD,i4CAiCA,EAAA,MAAA,EAAA,CAAA,inCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAiI,gCAAA,EAAA,EAAA,eAAA,EAAA3M,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDrBa,sCAAsC,EAAA,UAAA,EAAA,CAAA;oBAPlDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,oCAAoC;EAC9C,oBAAA,WAAW,EAAE,oCAAoC;sBACjD,SAAS,EAAE,CAAC,oCAAoC,CAAC;sBACjD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEUD,MAAA,mCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mCAAA,GAAA;;;;yJAAa,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;0JAAnC,mCAAmC,EAAA,YAAA,EAAA,CAH/B,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAPnD+E,iBAAY;UACZ,sCAAsC;UACtC0D,uBAAkB;UAClBK,iBAAc;UACdS,kBAAa;UACb,2BAA2B,aAGnB,sCAAsC,CAAA,EAAA,CAAA,CAAA;EAErC,mCAAA,CAAA,IAAA,GAAAvJ,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,mCAAmC,EAXrC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sCAAsC;cACtC0D,uBAAkB;cAClBK,iBAAc;cACdS,kBAAa;cACb,2BAA2B;WAC5B,CAAA,EAAA,CAAA,CAAA;oHAIU,mCAAmC,EAAA,UAAA,EAAA,CAAA;oBAZ/CrF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sCAAsC;0BACtC0D,uBAAkB;0BAClBK,iBAAc;0BACdS,kBAAa;0BACb,2BAA2B;EAC5B,qBAAA;sBACD,YAAY,EAAE,CAAC,sCAAsC,CAAC;sBACtD,OAAO,EAAE,CAAC,sCAAsC,CAAC;mBAClD,CAAA;;;ACPD,MAAA,uBAAA,kBAAA,YAAA;EA2DE,IAAA,SAAA,uBAAA,CAAoB,aAAgC,EAAA;EAAhC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAmB;EAnD5C,QAAA,IAAc,CAAA,cAAA,GAA8B,IAAI,CAAC;EASjD,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;OA0C6B;EA1DxD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EADjB,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,cAAc,CAAC;WAC5B;EACD,QAAA,GAAA,EAAA,UAAkB,aAAwC,EAAA;EACxD,YAAA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;WACrC;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EADb,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;EACD,QAAA,GAAA,EAAA,UAAc,KAAc,EAAA;EAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WACzB;;;EAHA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EADf,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,YAAY,CAAC;WAC1B;EACD,QAAA,GAAA,EAAA,UAAgB,WAAsC,EAAA;EACpD,YAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;EAChC,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;WACnC;;;EAJA,KAAA,CAAA,CAAA;EAOD,IAAA,MAAA,CAAA,cAAA,CACI,uBAAK,CAAA,SAAA,EAAA,OAAA,EAAA;EADT,QAAA,GAAA,EAAA,UACU,QAA4C,EAAA;;cACpD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;EACnC,gBAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;EAChB,oBAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;EAClB,iBAAA;;EACD,oBAAA,KAAmB,IAAA,UAAA,GAAA,QAAA,CAAA,QAAQ,CAAA,kCAAA,EAAE,CAAA,YAAA,CAAA,IAAA,EAAA,YAAA,GAAA,UAAA,CAAA,IAAA,EAAA,EAAA;EAAxB,wBAAA,IAAM,IAAI,GAAA,YAAA,CAAA,KAAA,CAAA;0BACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;EACrC,qBAAA;;;;;;;;;EACF,aAAA;WACF;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACI,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADZ,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAa,QAAqC,EAAA;EAChD,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;WAC3B;;;EAHA,KAAA,CAAA,CAAA;MAiBD,uBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,WAAsC,EAAA;UAAtD,IAcC,KAAA,GAAA,IAAA,CAAA;EAbC,QAAA,UAAU,CAAC,YAAA;cACT,IAAI,KAAI,CAAC,iBAAiB,EAAE;EAC1B,gBAAA,IAAM,SAAS,GAAG,KAAI,CAAC,iBAAiB,CAAC,aAA4B,CAAC;EACtE,gBAAA,IAAI,WAAW,IAAI,WAAW,KAAK,EAAE,EAAE;sBACrC,KAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;EACvE,iBAAA;EAAM,qBAAA;sBACL,SAAS,CAAC,cAAc,CAAC;EACvB,wBAAA,QAAQ,EAAE,QAAQ;EAClB,wBAAA,KAAK,EAAE,OAAO;EACf,qBAAA,CAAC,CAAC;EACJ,iBAAA;EACF,aAAA;EACH,SAAC,CAAC,CAAC;OACJ,CAAA;;;6IA3EU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAvF,eAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAvB,uBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,iUCbpC,seAaA,EAAA,MAAA,EAAA,CAAA,gVAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAyM,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA5H,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,oBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAAhE,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDAa,uBAAuB,EAAA,UAAA,EAAA,CAAA;oBAPnCsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,kBAAkB;EAC5B,oBAAA,WAAW,EAAE,2BAA2B;sBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;sBACxC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;uHAGK,aAAa,EAAA,CAAA;wBADhBd,QAAK;kBAUF,SAAS,EAAA,CAAA;wBADZA,QAAK;kBAUF,WAAW,EAAA,CAAA;wBADdA,QAAK;kBAWF,KAAK,EAAA,CAAA;wBADRA,QAAK;kBAaF,QAAQ,EAAA,CAAA;wBADXA,QAAK;kBAgB0B,iBAAiB,EAAA,CAAA;wBAAhDsF,YAAS;yBAAC,mBAAmB,CAAA;;;AE/ChC,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;0IAAa,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA7I,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;2IAApB,oBAAoB,EAAA,YAAA,EAAA,CAHhB,uBAAuB,CAAA,EAAA,OAAA,EAAA,CARpC2H,aAAU;UACV5C,iBAAY;UACZqC,2BAAgB;UAChB/B,yCAAmB;UACnB4C,wBAAmB;UACnB,wBAAwB;UACxBH,sBAAmB,aAGX,uBAAuB,CAAA,EAAA,CAAA,CAAA;EAEtB,oBAAA,CAAA,IAAA,GAAA9H,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAZtB,OAAA,EAAA,CAAA;cACP2H,aAAU;cACV5C,iBAAY;cACZqC,2BAAgB;cAChB/B,yCAAmB;cACnB4C,wBAAmB;cACnB,wBAAwB;cACxBH,sBAAmB;WACpB,CAAA,EAAA,CAAA,CAAA;oHAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBAbhC5D,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPyD,aAAU;0BACV5C,iBAAY;0BACZqC,2BAAgB;0BAChB/B,yCAAmB;0BACnB4C,wBAAmB;0BACnB,wBAAwB;0BACxBH,sBAAmB;EACpB,qBAAA;sBACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;sBACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;mBACnC,CAAA;;;ECnBM,IAAM,mBAAmB,GAAGyF,iBAAY,CAAC,uCAAuC,EAAEC,UAAK,EAA0B,CAAC,CAAC;EACnH,IAAM,uBAAuB,GAAGD,iBAAY,CAAC,4CAA4C,EAAEC,UAAK,EAAkC,CAAC,CAAC;EAEpI,IAAM,wBAAwB,GAAGD,iBAAY,CAAC,2CAA2C,CAAC;;;;;;;;;ECH1F,IAAM,0BAA0B,GAAGA,iBAAY,CAAC,qDAAqD,EAAEC,UAAK,EAAkB,CAAC,CAAC;EAChI,IAAM,0BAA0B,GAAGD,iBAAY,CAAC,qDAAqD,CAAC,CAAC;EAEvG,IAAM,8BAA8B,GAAGA,iBAAY,CACxD,0DAA0D,EAC1DC,UAAK,EAA0B,CAChC,CAAC;EACK,IAAM,8BAA8B,GAAGD,iBAAY,CAAC,0DAA0D,CAAC;;;;;;;;;;ACL/G,MAAM,uBAAuB,GAAG,eAAe;AASzC,MAAA,wBAAwB,GAAsB;EACzD,IAAA,OAAO,EAAE,KAAK;IACd;EAEF,IAAM,mBAAmB,GAAGE,kBAAa,CACvC,wBAAwB;EACxB;AACAC,SAAE,CAACC,mBAAyC,EAAE,UAAC,KAAK,EAAA,EAAK,QAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAC,EAAA,CAAC,EACnHD,OAAE,CAACE,0BAAmD,EAAE,UAAC,KAAK,EAAE,EAAQ,EAAA;EAAN,IAAA,IAAA,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA;EAAO,IAAA,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACxE,KAAK,CACR,EAAA,EAAA,OAAO,EAAE,KAAK,EACd,IAAI,EAAA,IAAA,EACJ,QAAQ,EAAE,SAAS,EACnB,UAAU,EAAE,MAAM,EAClB,CAAA,EAAA;EAN2E,CAM3E,CAAC,EACHF,OAAE,CAACG,0BAAmD,EAAE,UAAC,KAAK,IAAK,QAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAE,EAAA,EAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAG,EAAA,CAAC;EACnH;AACAH,SAAE,CAACI,uBAA6C,EAAE,UAAC,KAAK,EAAA,EAAK,QAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAC,EAAA,CAAC,EACvHJ,OAAE,CAACK,8BAAuD,EAAE,UAAC,KAAK,EAAE,EAAY,EAAA;EAAV,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;EAAO,IAAA,QAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAChF,KAAK,CACR,EAAA,EAAA,OAAO,EAAE,KAAK,EACd,QAAQ,EAAA,QAAA,EACR,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,UAAU,EACtB,CAAA,EAAA;EANmF,CAMnF,CAAC,EACHL,OAAE,CAACM,8BAAuD,EAAE,UAAC,KAAK,IAAK,QAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAE,EAAA,EAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,KAAG,EAAA,CAAC;EAC3H;AACAN,SAAE,CAACO,wBAA8C,EAAE,UAAC,KAAK,EAAK,EAAA,QAAM,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,wBAAwB,CAAG,EAAjC,EAAiC,CAAC,CACjG,CAAC;EAEc,SAAA,qBAAqB,CAAC,KAAoC,EAAE,MAAc,EAAA;EACxF,IAAA,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;EAC5C;;EC3CO,IAAM,yBAAyB,GAAGC,0BAAqB,CAAoB,uBAAuB,CAAC,CAAC;EACpG,IAAM,qBAAqB,GAAGC,mBAAc,CAAC,yBAAyB,EAAE,UAAC,KAAK,EAAA,EAAK,OAAA,KAAK,CAAC,OAAO,CAAb,EAAa,CAAC,CAAC;EAClG,IAAM,kBAAkB,GAAGA,mBAAc,CAAC,yBAAyB,EAAE,UAAC,KAAK,EAAA,EAAK,OAAA,KAAK,CAAC,IAAI,CAAV,EAAU,CAAC,CAAC;EAC5F,IAAM,sBAAsB,GAAGA,mBAAc,CAAC,yBAAyB,EAAE,UAAC,KAAK,EAAA,EAAK,OAAA,KAAK,CAAC,QAAQ,CAAd,EAAc,CAAC,CAAC;EACpG,IAAM,wBAAwB,GAAGA,mBAAc,CAAC,yBAAyB,EAAE,UAAC,KAAK,EAAA,EAAK,OAAA,KAAK,CAAC,UAAU,CAAhB,EAAgB,CAAC;;;;;;;;;;;ACC9G,MAAA,kBAAA,kBAAA,YAAA;EAME,IAAA,SAAA,kBAAA,CAAoB,KAA+B,EAAA;EAA/B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAA0B;EALnD,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAACC,qBAA2C,CAAC,CAAC;EAC1E,QAAA,IAAa,CAAA,aAAA,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAACC,kBAAwC,CAAC,CAAC;EAC5E,QAAA,IAAiB,CAAA,iBAAA,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAACC,sBAA4C,CAAC,CAAC;EACpF,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAACC,wBAA8C,CAAC,CAAC;OAEzB;MAEvD,kBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,QAAkB,EAAA;UACpC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAA,QAAA,EAAE,CAAC,CAAC;EAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,mBAAuC,CAAC,EAAE,QAAQ,EAAA,QAAA,EAAE,CAAC,CAAC,CAAC;OAC5E,CAAA;MAED,kBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,YAA0B,EAAA;UAChD,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAA,YAAA,EAAE,CAAC,CAAC;EAC/B,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACC,uBAA2C,CAAC,EAAE,YAAY,EAAA,YAAA,EAAE,CAAC,CAAC,CAAC;OACpF,CAAA;;;wIAhBU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAzK,eAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAAhE,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4IAAlB,kBAAkB,EAAA,CAAA,CAAA;oHAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;oBAD9BC,aAAU;;;ACMX,MAAA,mBAAA,kBAAA,YAAA;MA+BE,SACU,mBAAA,CAAA,QAAiB,EACjB,gBAAkC,EAClC,YAA8B,EAC9B,KAA+B,EAC/B,MAAc,EAAA;UALxB,IAMI,KAAA,GAAA,IAAA,CAAA;EALM,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;EACjB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAClC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAkB;EAC9B,QAAA,IAAK,CAAA,KAAA,GAAL,KAAK,CAA0B;EAC/B,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;UAnCxB,IAAoB,CAAA,oBAAA,GAAGyO,iBAAY,CAAC,YAClC,EAAA,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAChBC,WAAM,CAACH,mBAAuC,CAAC,EAC/CI,mBAAS,CAAC,UAAC,EAAY,EAAA;EAAV,YAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;EACnB,YAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7DC,aAAG,CAAC,UAAC,IAAI,EAAA,EAAK,OAAAC,0BAAiD,CAAC,EAAE,IAAI,EAAA,IAAA,EAAE,CAAC,CAAA,EAAA,CAAC,EAC1EC,oBAAU,CAAC,UAAC,KAAK,EAAA;EACf,gBAAA,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACnC,gBAAA,OAAO7I,OAAE,CAAC8I,0BAAiD,EAAE,CAAC,CAAC;eAChE,CAAC,CACH,CAAC;EACJ,SAAC,CAAC,CACH,CAXD,EAWC,CACF,CAAC;UAEF,IAAwB,CAAA,wBAAA,GAAGN,iBAAY,CAAC,YACtC,EAAA,OAAA,KAAI,CAAC,QAAQ,CAAC,IAAI,CAChBC,WAAM,CAACF,uBAA2C,CAAC,EACnDG,mBAAS,CAAC,UAAC,EAAgB,EAAA;EAAd,YAAA,IAAA,YAAY,GAAA,EAAA,CAAA,YAAA,CAAA;EACvB,YAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,IAAI,CACrEC,aAAG,CAAC,UAAC,QAAQ,EAAA,EAAK,OAAAI,8BAAqD,CAAC,EAAE,QAAQ,EAAA,QAAA,EAAE,CAAC,CAAA,EAAA,CAAC,EACtFF,oBAAU,CAAC,UAAC,KAAK,EAAA;EACf,gBAAA,KAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;EACnC,gBAAA,OAAO7I,OAAE,CAACgJ,8BAAqD,EAAE,CAAC,CAAC;eACpE,CAAC,CACH,CAAC;EACJ,SAAC,CAAC,CACH,CAXD,EAWC,CACF,CAAC;OAQE;;;yIArCO,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAlL,eAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAAmL,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAtK,eAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,CAAA,KAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,eAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA1E,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;6IAAnB,mBAAmB,EAAA,CAAA,CAAA;oHAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;oBAD/BC,aAAU;;;ACsBX,MAAA,oBAAA,kBAAA,UAAA,MAAA,EAAA;MAA0C,SAA2E,CAAA,oBAAA,EAAA,MAAA,CAAA,CAAA;EAMnH,IAAA,SAAA,oBAAA,CAC+B,QAAgB,EACrC,kBAAsC,EACtC,UAA0B,EAAA;UAHpC,IAKE,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAM,QAAQ,CAAC,IAiChB,IAAA,CAAA;EArC8B,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAQ;EACrC,QAAA,KAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;EACtC,QAAA,KAAU,CAAA,UAAA,GAAV,UAAU,CAAgB;UALpC,KAAA,CAAA,YAAY,GAAG,IAAI8C,oBAAe,CAAW,EAAE,CAAC,CAAC;EAQ/C,QAAA,KAAI,CAAC,yBAAyB,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,UAAC,aAAa,EAAA;;;cAGlF,IAAM,UAAU,GACdkC,gCAAsB,CAAC,aAAa,CAAC,IAAIC,cAAiC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;cAE5H,IAAM,cAAc,GAAG,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;EAEzD,YAAA,IAAM,MAAM,GACV,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;EAC7B,gBAAA,UAAU,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM;EAC3C,gBAAA,UAAU,CAAC,KAAK,CAAC,UAAC,KAAK,EAAE,KAAK,EAAK,EAAA,OAAA,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,CAA/B,EAA+B,CAAC,CAAC;cAEtE,IAAI,CAAC,MAAM,EAAE;EACX,gBAAA,KAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;EACtC,aAAA;EACH,SAAC,CAAC,CAAC;UACH,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,YAAA;EAChE,YAAA,IAAI,KAAI,CAAC,cAAc,CAAC,KAAK,EAAE;EAC7B,gBAAA,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,QAAQ,CAAC,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;EAC7D,aAAA;EACH,SAAC,CAAC,CAAC;EACH,QAAA,KAAI,CAAC,yBAAyB,GAAG,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,UAAC,aAAa,EAAA;EAC7F,YAAA,IAAIrH,gBAAS,CAAC,aAAa,CAAC,EAAE;kBAC5B,IAAM,WAAW,GAAI,aAAA,CAAA,CAAA,aAAa,CAAC,aAAa,UAAK,aAAa,CAAC,iBAAiB,CAAA,CAAC,CAAC;EACtF,gBAAA,IAAM,WAAW,GACf,WAAW,CAAC,MAAM,KAAK,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,CAAC,UAAC,GAAG,EAAE,CAAC,EAAA,EAAK,OAAA,GAAG,KAAK,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAlC,EAAkC,CAAC,CAAC;kBAC7H,IAAI,CAAC,WAAW,EAAE;EAChB,oBAAA,KAAI,CAAC,YAAY,CAAC,IAAI,CAAE,aAAA,CAAA,CAAA,aAAa,CAAC,aAAa,CAAK,EAAA,MAAA,CAAA,aAAa,CAAC,iBAAiB,GAAE,CAAC;EAC3F,iBAAA;EACF,aAAA;EACH,SAAC,CAAC,CAAC;;OACJ;EAED,IAAA,oBAAA,CAAA,SAAA,CAAA,KAAK,GAAL,YAAA;UACE,IAAI,IAAI,CAAC,mBAAmB,EAAE;EAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;EACxC,SAAA;UACD,IAAI,IAAI,CAAC,yBAAyB,EAAE;EAClC,YAAA,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;EAC9C,SAAA;UACD,IAAI,IAAI,CAAC,yBAAyB,EAAE;EAClC,YAAA,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;EAC9C,SAAA;OACF,CAAA;MAED,oBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,SAAkB,EAAA;EAC1B,QAAA,QACEA,gBAAS,CAAC,SAAS,CAAC;eACnBoH,gCAAsB,CAAC,SAAS,CAAC;EAChC,gBAAAC,cAAiC,CAAC,SAAS,CAAC;EAC5C,gBAAAkK,4BAA6C,CAAC,SAAS,CAAC,CAAC,EAC3D;OACH,CAAA;MAED,oBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,MAAc,EAAA;EACvB,QAAA,IAAIC,gBAAmC,CAAC,MAAM,CAAC,EAAE;EAC/C,YAAA,OAAOC,UAA6B,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EAC3E,SAAA;EAAM,aAAA,IAAIC,oBAAuC,CAAC,MAAM,CAAC,EAAE;EAC1D,YAAA,OAAOpN,cAAqC,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EACnF,SAAA;EAAM,aAAA,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;EACnC,YAAA,OAAOqN,sBAAuC,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EACrF,SAAA;EAAM,aAAA;cACL,MAAM,IAAI,KAAK,CACb,oDAAA,GAAqD,MAAM,CAAC,IAAI,GAA4D,4DAAA,CAC7H,CAAC;EACH,SAAA;OACF,CAAA;MAED,oBAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,KAAoE,EAAA;EAC3E,QAAA,IAAIvK,gCAAsB,CAAC,KAAK,CAAC,EAAE;EACjC,YAAA,OAAOwK,gBAAmC,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EACjG,SAAA;EAAM,aAAA,IAAIvK,cAAiC,CAAC,KAAK,CAAC,EAAE;EACnD,YAAA,OAAOtH,YAAmC,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EAC5G,SAAA;EAAM,aAAA,IAAIwR,4BAA6C,CAAC,KAAK,CAAC,EAAE;cAC/D,OAAOM,sBAAuC,CAC5C,KAAK,EACL,IAAI,CAAC,UAAU,EACf,EAAE,EACF,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAC5B,CAAC;EACH,SAAA;EAAM,aAAA;EACL,YAAA,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAC;EACH,SAAA;OACF,CAAA;EAED,IAAA,oBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,UAAoB,MAAc,EAAE,QAAwB,EAAE,KAAc,EAAA;UAC1E,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACjC,QAAA,IAAIL,gBAAmC,CAAC,MAAM,CAAC,EAAE;cAC/C,OAAOM,2BAA8C,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;EACzE,SAAA;EAAM,aAAA,IAAIJ,oBAAuC,CAAC,MAAM,CAAC,EAAE;cAC1D,OAAOK,+BAAsD,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;EACjF,SAAA;EAAM,aAAA,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;cACnC,OAAOC,iCAAkD,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;EAC7E,SAAA;EAAM,aAAA;EACL,YAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;EAC9E,SAAA;OACF,CAAA;EAED,IAAA,oBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,UAAkB,UAAsB,EAAE,MAAmB,EAAA;EAC3D,QAAA,IAAIR,gBAAmC,CAAC,UAAU,CAAC,EAAE;cACnD,IAAM,UAAQ,GAAGS,cAAiC,CAAC,UAAU,CAAC,CAAC;EAC/D,YAAA,OAAOL,gBAAmC,CAAC,UAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EACpG,SAAA;EAAM,aAAA,IAAIF,oBAAuC,CAAC,UAAU,CAAC,EAAE;EAC9D,YAAA,IAAM,YAAY,GAAGQ,kBAAyC,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;EACrH,YAAA,OAAOnS,YAAmC,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EAChH,SAAA;EAAM,aAAA,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE;cACvC,IAAM,kBAAkB,GAAGoS,wBAAyC,CAAC,UAAU,CAAC,CAAC;cACjF,OAAON,sBAAuC,CAC5C,kBAAkB,EAClB,IAAI,CAAC,UAAU,EACf,EAAE,EACF,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,MAAM,EACN,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAC5B,CAAC;EACH,SAAA;EAAM,aAAA;cACL,MAAM,IAAI,KAAK,CACb,wDAAA,GAAwD,UAAU,CAAC,IAAI,GAA0E,2EAAA,CAClJ,CAAC;EACH,SAAA;OACF,CAAA;MAED,oBAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,YAAsC,EAAA;EACrD,QAAA,IAAI,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;EACpF,QAAA,IAAI7R,gBAAS,CAAC,aAAa,CAAC,EAAE;;EAE5B,YAAA,IAAIoH,gCAAsB,CAAC,aAAa,CAAC,IAAIA,gCAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;EAC9F,gBAAA,aAAa,GAAGgL,aAAmC,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;;kBAE9F,IACE,CAAC,CAAA,YAAY,KAAA,IAAA,IAAZ,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,QAAQ,MAAK,yBAAyB,IAAI,CAAA,YAAY,aAAZ,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZ,YAAY,CAAE,QAAQ,KAAI,0BAA0B;sBAC7GpS,gBAAS,CAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,EACjC;sBACA,IAAM,MAAM,GAAG,CAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,YAAY,CAAE,QAAQ,MAAK,yBAAyB,CAAC;sBACpE,mBAAmB,CAAC,YAAY,KAAZ,IAAA,IAAA,YAAY,uBAAZ,YAAY,CAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;EAC1E,iBAAA;EACF,aAAA;EAAM,iBAAA,IAAIqH,cAAiC,CAAC,aAAa,CAAC,IAAIA,cAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;EAC3H,gBAAA,aAAa,GAAGgL,iBAAuC,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EACnG,aAAA;EAAM,iBAAA,IACLd,4BAA6C,CAAC,aAAa,CAAC;kBAC5DA,4BAA6C,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EACxE;EACA,gBAAA,aAAa,GAAGe,uBAA6C,CAAC,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EACzG,aAAA;EACF,SAAA;EACD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;OACzC,CAAA;MAEQ,oBAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,MAAc,EAAA;EACtC,QAAA,IAAId,gBAAmC,CAAC,MAAM,CAAC,EAAE;EAC/C,YAAA,IAAM,KAAK,GAAG9R,+BAAoB,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;cAChF,OAAOM,gBAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC;EACpH,SAAA;EAAM,aAAA,IAAI0R,oBAAuC,CAAC,MAAM,CAAC,EAAE;EAC1D,YAAA,IAAM,KAAK,GAAGhS,+BAAoB,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;cAC7F,OAAOM,gBAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC;EACrH,SAAA;EAAM,aAAA,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;EACnC,YAAA,IAAM,KAAK,GAAGN,+BAAoB,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;cACpF,OAAOM,gBAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;EAC/G,SAAA;EAAM,aAAA;EACL,YAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;EAClF,SAAA;OACF,CAAA;MAED,oBAA0B,CAAA,SAAA,CAAA,0BAAA,GAA1B,UAA2B,MAAc,EAAA;;UACvC,IAAM,UAAU,GAAyC,EAAE,CAAC;UAC5D,IAAM,SAAS,GAAGuS,eAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;;cAC7C,KAAyB,IAAA,KAAA,QAAA,CAAA,SAAS,CAAC,OAAO,EAAE,CAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAE,CAAA,EAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,CAAA,IAAA,EAAA,EAAA;EAAnC,gBAAA,IAAA,KAAA,MAAU,CAAA,EAAA,CAAA,KAAA,EAAA,CAAA,CAAA,EAAT,CAAC,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;kBAClB,IAAIf,gBAAmC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;EACrD,oBAAA,IAAM,UAAU,GAAG9R,+BAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC,CAAC;EAC/H,oBAAA,IAAM,oBAAoB,GAAyB;EACjD,wBAAA,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;EACnB,wBAAA,OAAO,EAAE8S,OAA0B,CAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;EAC3F,wBAAA,WAAW,EAAEA,OAA0B,CAAC,UAAU,EAAE,8BAA8B,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;uBAC3G,CAAC;sBACF,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC;EACpD,iBAAA;uBAAM,IAAId,oBAAuC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;sBAChE,IAAM,UAAU,GAAGhS,+BAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,8BAA8B,EAAE;0BACpF,cAAc;0BACd,uBAAuB;0BACvB,0BAA0B;EAC3B,qBAAA,CAAC,CAAC;EACH,oBAAA,IAAM,oBAAoB,GAAyB;EACjD,wBAAA,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;EACnB,wBAAA,OAAO,EAAE8S,OAA0B,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;EACvF,wBAAA,WAAW,EAAEA,OAA0B,CACrC,UAAU,EACV,uBAAuB,EACvB,IAAI,EACJ,IAAI,CAAC,UAAU,EACfA,OAA0B,CAAC,UAAU,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAC1F;uBACF,CAAC;sBACF,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC;EACpD,iBAAA;EACF,aAAA;;;;;;;;;EACD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OACnC,CAAA;MAED,oBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,QAAiB,EAAA;;EAEjC,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,KAAK,QAAQ,EAAE;EAC3C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EACrC,SAAA;OACF,CAAA;MAEQ,oBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,OAA4B,EAAA;EACtD,QAAA,IAAIxS,gBAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,MAAM,IAAIA,gBAAS,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;EACvF,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;cAC7B,IAAIoH,gCAAsB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;kBACrD,IAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EACxE,aAAA;mBAAM,IAAIC,cAAiC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;kBACvE,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EAC5E,aAAA;EACF,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;EAC/B,SAAA;EAED,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;OACrC,CAAA;EAEQ,IAAA,oBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,eAAmC,EAAE,SAAyD,EAAA;;EAExH,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,KAAK,eAAe,EAAE;cACnD,IAAI,SAAS,KAAK,WAAW,EAAE;EAC7B,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;EAC7C,aAAA;mBAAM,IAAI,SAAS,KAAK,aAAa,EAAE;EACtC,gBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;EACvC,aAAA;EACF,SAAA;OACF,CAAA;;GAtPH,CAA0CoL,eAA2E;EAAxG,oBAAA,CAAA,IAAA,GAAAtQ,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,kBAOrBqM,YAAS,EAAA,EAAA,EAAA,KAAA,EAAAkE,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAhM,eAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAAvE,aAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8IAPR,oBAAoB,EAAA,CAAA,CAAA;oHAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;oBADhCC,aAAU;;;gCAQNmD,SAAM;iCAACiJ,YAAS,CAAA;;;;AC1BrB,MAAA,oCAAA,kBAAA,YAAA;MAcE,SACU,oCAAA,CAAA,YAAyF,EACzF,kBAAsC,EAAA;EADtC,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAA6E;EACzF,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAoB;UAfhD,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;UACtD,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;UACtD,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAACmE,aAAG,CAAC,UAAC,aAAa,EAAK,EAAA,OAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAApB,EAAoB,CAAC,CAAC,CAAC;UACrG,IAAA,CAAA,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;UAEtD,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;UAC5C,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC;UACtD,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;UAC9D,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;UAElD,IAAA,CAAA,UAAU,GAAG,IAAIzN,oBAAe,CAAqC,SAAS,CAAC,CAAC;UAChF,IAAA,CAAA,aAAa,GAAG,IAAIA,oBAAe,CAAO,SAAS,CAAC,CAAC;EAOrD,QAAA,IAAgB,CAAA,gBAAA,GAAG,QAAQ,CAAC;EAC5B,QAAA,IAAY,CAAA,YAAA,GAAG,IAAI,CAAC;OAHhB;;;0JAjBO,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAiB,eAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAyM,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAAzQ,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAApC,oCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,kFCfjD,sgGAmDA,EAAA,MAAA,EAAA,CAAA,kkBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA0Q,uBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhE,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAhI,eAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAmC,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAA,aAAA,CAAA,SAAA,EAAA,wBAAA,EAAA8J,gCAAA,EAAA,wBAAA,EAAAC,gCAAA,EAAA,EAAA,eAAA,EAAA5Q,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDpCa,oCAAoC,EAAA,UAAA,EAAA,CAAA;oBAPhDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,iCAAiC;EAC3C,oBAAA,WAAW,EAAE,0CAA0C;sBACvD,SAAS,EAAE,CAAC,0CAA0C,CAAC;sBACvD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEcD,MAAA,iCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iCAAA,GAAA;;;;uJAAa,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wJAAjC,iCAAiC,EAAA,YAAA,EAAA,CAH7B,oCAAoC,CAAA,EAAA,OAAA,EAAA,CAXjD+E,iBAAY;UACZqC,2BAAgB;UAChB9B,oBAAe;UACfmC,kBAAa;UACbiC,6BAAwB;UACxB,cAAc;UACd,oBAAoB;UACpB,sCAAsC;UACtC,wBAAwB;UACxB,sCAAsC,aAG9B,oCAAoC,CAAA,EAAA,CAAA,CAAA;EAEnC,iCAAA,CAAA,IAAA,GAAA1J,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iCAAiC,EAfnC,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZqC,2BAAgB;cAChB9B,oBAAe;cACfmC,kBAAa;cACbiC,6BAAwB;cACxB,cAAc;cACd,oBAAoB;cACpB,sCAAsC;cACtC,wBAAwB;cACxB,sCAAsC;WACvC,CAAA,EAAA,CAAA,CAAA;oHAIU,iCAAiC,EAAA,UAAA,EAAA,CAAA;oBAhB7CxF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZqC,2BAAgB;0BAChB9B,oBAAe;0BACfmC,kBAAa;0BACbiC,6BAAwB;0BACxB,cAAc;0BACd,oBAAoB;0BACpB,sCAAsC;0BACtC,wBAAwB;0BACxB,sCAAsC;EACvC,qBAAA;sBACD,YAAY,EAAE,CAAC,oCAAoC,CAAC;sBACpD,OAAO,EAAE,CAAC,oCAAoC,CAAC;mBAChD,CAAA;;;ACND,MAAA,gCAAA,kBAAA,UAAA,MAAA,EAAA;MAAuF,SAAkC,CAAA,gCAAA,EAAA,MAAA,CAAA,CAAA;EAPzH,IAAA,SAAA,gCAAA,GAAA;;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAsCC,CAAA,CAAA,IAAA,IAAA,CAAA;EAhBC,QAAA,KAAA,CAAA,SAAS,IAAA,EAAA,GAAA,EAAA;cACP,EAAC,CAAA9M,2CAAiC,IAAG,IAAI;cACzC,EAAC,CAAAI,qCAA2B,IAAG,IAAI;cACnC,EAAC,CAAAC,+BAAqB,IAAG,IAAI;cAC7B,EAAC,CAAAC,gCAAsB,IAAG,IAAI;iBAC/B,CAAC;EAEF;;;EAGG;EACH,QAAA,KAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;OAKhB;EA9BC,IAAA,MAAA,CAAA,cAAA,CAAa,gCAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAArB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;EACD,QAAA,GAAA,EAAA,UAAsB,QAAuB,EAAA;EAC3C,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;;;;cAK1B,IAAI,IAAI,CAAC,QAAQ,EAAE;EACjB,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,MAAM,KAAKH,uCAA6B,IAAI,CAAC,CAAC,MAAM,KAAKT,mCAAyB,CAApF,EAAoF,CAAC,CAAC;EACtI,aAAA;WACF;;;EAVA,KAAA,CAAA,CAAA;EAyBD,IAAA,gCAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,IAAkB,EAAA;UAClD,OAAO,IAAI,CAAC,UAAU,CAAC;OACxB,CAAA;;GA9BH,CAAuF,+BAAkC;sJAA5G,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA0D,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAhC,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,qGCrB7C,m8BAwBA,EAAA,MAAA,EAAA,CAAA,u0CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAyI,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA5H,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,6NAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA7E,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDHa,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAP5CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,6BAA6B;EACvC,oBAAA,WAAW,EAAE,sCAAsC;sBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;sBACnD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEND,MAAA,8BAAA,kBAAA,UAAA,MAAA,EAAA;MAAoD,SAAqD,CAAA,8BAAA,EAAA,MAAA,CAAA,CAAA;EAAzG,IAAA,SAAA,8BAAA,GAAA;;;EACE,IAAA,MAAA,CAAA,cAAA,CACI,8BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADR,QAAA,GAAA,EAAA,YAAA;cAEE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EACD,QAAA,GAAA,EAAA,UAAS,KAAkC,EAAA;EACzC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;WACpB;;;EAHA,KAAA,CAAA,CAAA;;GAJH,CAAoD,gCAAqD;oJAA5F,8BAA8B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA9B,8BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,4HCd3C,80BAmBA,EAAA,MAAA,EAAA,CAAA,+KAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA8J,uBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAvF,eAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAsM,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA/L,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAoI,gCAAA,EAAA,uCAAA,EAAA4D,yCAAA,EAAA,EAAA,eAAA,EAAA9Q,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDLa,8BAA8B,EAAA,UAAA,EAAA,CAAA;oBAP1CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,0BAA0B;EACpC,oBAAA,WAAW,EAAE,mCAAmC;sBAChD,SAAS,EAAE,CAAC,mCAAmC,CAAC;sBAChD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;gCAGK,IAAI,EAAA,CAAA;wBADPd,QAAK;;;AEHR,MAAA,+BAAA,kBAAA,UAAA,MAAA,EAAA;MAAqD,SAAiD,CAAA,+BAAA,EAAA,MAAA,CAAA,CAAA;EAAtG,IAAA,SAAA,+BAAA,GAAA;;;;GAAA,CAAqD,+BAAiD;qJAAzF,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAAvD,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA/B,+BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,oGCZ5C,iLAKA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,oBAAA,EAAAG,sBAAA,EAAA,8BAAA,EAAAmI,gCAAA,EAAA,EAAA,eAAA,EAAAtM,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDOa,+BAA+B,EAAA,UAAA,EAAA,CAAA;oBAP3CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,4BAA4B;EACtC,oBAAA,WAAW,EAAE,4BAA4B;sBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;sBACzC,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AECD,MAAA,gCAAA,kBAAA,UAAA,MAAA,EAAA;MAAsD,SAAkD,CAAA,gCAAA,EAAA,MAAA,CAAA,CAAA;EAAxG,IAAA,SAAA,gCAAA,GAAA;;;;GAAA,CAAsD,+BAAkD;sJAA3F,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAhC,gCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,qGCZ7C,yIACA,EAAA,MAAA,EAAA,CAAA,yJAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAA+M,gCAAA,EAAA,EAAA,eAAA,EAAA/Q,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDWa,gCAAgC,EAAA,UAAA,EAAA,CAAA;oBAP5CsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,6BAA6B;EACvC,oBAAA,WAAW,EAAE,6BAA6B;sBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;sBAC1C,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AECD,MAAA,4CAAA,kBAAA,UAAA,MAAA,EAAA;MAAkE,SAAsE,CAAA,4CAAA,EAAA,MAAA,CAAA,CAAA;EAPxI,IAAA,SAAA,4CAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WASC,CAAA,CAAA,IAAA,IAAA,CAAA;EADC,QAAA,KAAA,CAAA,kBAAkB,GAAG,SAAS,CAAA,gBAAA,KAAA,gBAAA,GAAA,oBAAA,CAAA,CAAA,yBAAA,CAAA,EAAA,CAAA,yBAAyB,IAAA,CAAC;;OACzD;;GAFD,CAAkE,uCAAsE;kKAA3H,4CAA4C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAA5C,4CAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4CAA4C,mHCZzD,q4CAiCA,EAAA,MAAA,EAAA,CAAA,grCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,eAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAO,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,eAAA,CAAA,WAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAM,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,eAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAAc,aAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAH,eAAA,CAAA,OAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,8BAAA,EAAAiI,gCAAA,EAAA,EAAA,eAAA,EAAA3M,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDrBa,4CAA4C,EAAA,UAAA,EAAA,CAAA;oBAPxDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,2CAA2C;EACrD,oBAAA,WAAW,EAAE,2CAA2C;sBACxD,SAAS,EAAE,CAAC,2CAA2C,CAAC;sBACxD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;;AEgCY,MAAA,yCAAyC,GAAwB;EAC5E,IAAA;EACE,QAAA,GAAG,EAAErI,kCAAwB;EAC7B,QAAA,SAAS,EAAE,kCAAkC;EAC9C,KAAA;;;;;EAKD,IAAA;EACE,QAAA,GAAG,EAAEC,mCAAyB;EAC9B,QAAA,SAAS,EAAE,mCAAmC;EAC/C,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEG,+BAAqB;EAC1B,QAAA,SAAS,EAAE,+BAA+B;EAC3C,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,yCAA+B;EACpC,QAAA,SAAS,EAAE,wCAAwC;EACpD,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,mCAAyB;EAC9B,QAAA,SAAS,EAAE,mCAAmC;EAC/C,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,sCAA4B;EACjC,QAAA,SAAS,EAAE,qCAAqC;EACjD,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,6DAAmD;EACxD,QAAA,SAAS,EAAE,8CAA8C;EAC1D,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,yDAA+C;EACpD,QAAA,SAAS,EAAE,0CAA0C;EACtD,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,0CAAgC;EACrC,QAAA,SAAS,EAAE,yCAAyC;EACrD,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAER,4CAAkC;EACvC,QAAA,SAAS,EAAE,0CAA0C;EACtD,KAAA;;;;;EAKD,IAAA;EACE,QAAA,GAAG,EAAEU,2CAAiC;EACtC,QAAA,SAAS,EAAE,0CAA0C;EACtD,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,0CAAgC;EACrC,QAAA,SAAS,EAAE,8CAA8C;EAC1D,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,kCAAwB;EAC7B,QAAA,SAAS,EAAE,8BAA8B;EAC1C,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEE,qCAA2B;EAChC,QAAA,SAAS,EAAE,gCAAgC;EAC5C,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAED,uCAA6B;EAClC,QAAA,SAAS,EAAE,sCAAsC;EAClD,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEE,+BAAqB;EAC1B,QAAA,SAAS,EAAE,+BAA+B;EAC3C,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEC,gCAAsB;EAC3B,QAAA,SAAS,EAAE,gCAAgC;EAC5C,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEE,8CAAoC;EACzC,QAAA,SAAS,EAAE,4CAA4C;EACxD,KAAA;EACD,IAAA;EACE,QAAA,GAAG,EAAEjB,6CAAmC;EACxC,QAAA,SAAS,EAAE,2CAA2C;EACvD,KAAA;;;AC3HH,MAAA,mCAAA,kBAAA,UAAA,MAAA,EAAA;MAAyD,SAAyB,CAAA,mCAAA,EAAA,MAAA,CAAA,CAAA;EAAlF,IAAA,SAAA,mCAAA,GAAA;;OAIC;EAHQ,IAAA,mCAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,YAAA;EACL,QAAA,OAAO,yCAAyC,CAAC;OAClD,CAAA;MACF,OAAA,mCAAA,CAAA;EAAA,CAJD,CAAyD8P,8BAAyB,CAIjF;;ACMD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjM,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,EAHzB,YAAA,EAAA,CAAA,gCAAgC,CADrC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,wBAAwB,EAAEqC,2BAAgB,EAAE,8BAA8B,EAAEmC,kBAAa,aAEvG,gCAAgC,CAAA,EAAA,CAAA,CAAA;oJAE/B,6BAA6B,EAAA,OAAA,EAAA,CAJ/B,CAACxE,iBAAY,EAAE,wBAAwB,EAAEqC,2BAAgB,EAAE,8BAA8B,EAAEmC,kBAAa,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIvG,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBALzCrF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;sBACR,OAAO,EAAE,CAACa,iBAAY,EAAE,wBAAwB,EAAEqC,2BAAgB,EAAE,8BAA8B,EAAEmC,kBAAa,CAAC;sBAClH,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;ACSD,MAAA,2BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,2BAAA,GAAA;;;;iJAAa,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAvJ,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kJAA3B,2BAA2B,EAAA,YAAA,EAAA,CAHvB,8BAA8B,CAAA,EAAA,OAAA,EAAA,CAR3C+E,iBAAY;UACZ,sCAAsC;UACtCsC,qBAAgB;UAChB,oBAAoB;UACpB,wBAAwB;UACxB,wBAAwB;UACxB,+CAA+C,aAGvC,8BAA8B,CAAA,EAAA,CAAA,CAAA;EAE7B,2BAAA,CAAA,IAAA,GAAArH,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,EAZ7B,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sCAAsC;cACtCsC,qBAAgB;cAChB,oBAAoB;cACpB,wBAAwB;cACxB,wBAAwB;cACxB,+CAA+C;WAChD,CAAA,EAAA,CAAA,CAAA;oHAIU,2BAA2B,EAAA,UAAA,EAAA,CAAA;oBAbvCnD,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sCAAsC;0BACtCsC,qBAAgB;0BAChB,oBAAoB;0BACpB,wBAAwB;0BACxB,wBAAwB;0BACxB,+CAA+C;EAChD,qBAAA;sBACD,YAAY,EAAE,CAAC,8BAA8B,CAAC;sBAC9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;mBAC1C,CAAA;;;ACVD,MAAA,4BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,4BAAA,GAAA;;;;kJAAa,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArH,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mJAA5B,4BAA4B,EAAA,YAAA,EAAA,CAHxB,+BAA+B,CADpC,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,4BAA4B,EAAE,sCAAsC,CAAA,EAAA,OAAA,EAAA,CAElF,+BAA+B,CAAA,EAAA,CAAA,CAAA;EAE9B,4BAAA,CAAA,IAAA,GAAA/E,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,4BAA4B,YAJ9B,CAAC+E,iBAAY,EAAE,4BAA4B,EAAE,sCAAsC,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIlF,4BAA4B,EAAA,UAAA,EAAA,CAAA;oBALxCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,4BAA4B,EAAE,sCAAsC,CAAC;sBAC7F,YAAY,EAAE,CAAC,+BAA+B,CAAC;sBAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;mBAC3C,CAAA;;;ACCD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;mJAAa,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;EAA7B,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,iBAHzB,gCAAgC,CAAA,EAAA,OAAA,EAAA,CADrC+E,iBAAY,EAAE,sCAAsC,aAEpD,gCAAgC,CAAA,EAAA,CAAA,CAAA;EAE/B,6BAAA,CAAA,IAAA,GAAA/E,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,6BAA6B,EAJ/B,OAAA,EAAA,CAAA,CAAC+E,iBAAY,EAAE,sCAAsC,CAAC,CAAA,EAAA,CAAA,CAAA;oHAIpD,6BAA6B,EAAA,UAAA,EAAA,CAAA;oBALzCb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,sCAAsC,CAAC;sBAC/D,YAAY,EAAE,CAAC,gCAAgC,CAAC;sBAChD,OAAO,EAAE,CAAC,gCAAgC,CAAC;mBAC5C,CAAA;;;ACED,MAAA,wCAAA,kBAAA,UAAA,MAAA,EAAA;MAA8D,SAAyD,CAAA,wCAAA,EAAA,MAAA,CAAA,CAAA;EAAvH,IAAA,SAAA,wCAAA,GAAA;;;;GAAA,CAA8D,+BAAyD;8JAA1G,wCAAwC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;EAAxC,wCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wCAAwC,8GCZrD,+RAOA,EAAA,MAAA,EAAA,CAAA,sFAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAgE,aAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,+BAAA,EAAAoJ,iCAAA,EAAA,oBAAA,EAAA5C,sBAAA,EAAA,EAAA,eAAA,EAAAxK,aAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAAA,aAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHDKa,wCAAwC,EAAA,UAAA,EAAA,CAAA;oBAPpDsD,YAAS;EAAC,YAAA,IAAA,EAAA,CAAA;EACT,oBAAA,QAAQ,EAAE,sCAAsC;EAChD,oBAAA,WAAW,EAAE,sCAAsC;sBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;sBACnD,eAAe,EAAEc,0BAAuB,CAAC,MAAM;sBAC/C,aAAa,EAAEC,oBAAiB,CAAC,IAAI;mBACtC,CAAA;;;AEAD,MAAA,qCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qCAAA,GAAA;;;;2JAAa,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAArE,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4JAArC,qCAAqC,EAAA,YAAA,EAAA,CAHjC,wCAAwC,CAD7C,EAAA,OAAA,EAAA,CAAA+E,iBAAY,EAAE,uCAAuC,EAAE,4BAA4B,CAAA,EAAA,OAAA,EAAA,CAEnF,wCAAwC,CAAA,EAAA,CAAA,CAAA;EAEvC,qCAAA,CAAA,IAAA,GAAA/E,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,qCAAqC,YAJvC,CAAC+E,iBAAY,EAAE,uCAAuC,EAAE,4BAA4B,CAAC,CAAA,EAAA,CAAA,CAAA;oHAInF,qCAAqC,EAAA,UAAA,EAAA,CAAA;oBALjDb,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE,CAACa,iBAAY,EAAE,uCAAuC,EAAE,4BAA4B,CAAC;sBAC9F,YAAY,EAAE,CAAC,wCAAwC,CAAC;sBACxD,OAAO,EAAE,CAAC,wCAAwC,CAAC;mBACpD,CAAA;;;ACWD,MAAA,yCAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yCAAA,GAAA;;;;+JAAa,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA/E,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gKAAzC,yCAAyC,EAAA,YAAA,EAAA,CAHrC,4CAA4C,CAAA,EAAA,OAAA,EAAA,CAPzD+E,iBAAY;UACZ,sCAAsC;UACtC0D,uBAAkB;UAClBK,iBAAc;UACdS,kBAAa;UACb,2BAA2B,aAGnB,4CAA4C,CAAA,EAAA,CAAA,CAAA;EAE3C,yCAAA,CAAA,IAAA,GAAAvJ,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,yCAAyC,EAX3C,OAAA,EAAA,CAAA;cACP+E,iBAAY;cACZ,sCAAsC;cACtC0D,uBAAkB;cAClBK,iBAAc;cACdS,kBAAa;cACb,2BAA2B;WAC5B,CAAA,EAAA,CAAA,CAAA;oHAIU,yCAAyC,EAAA,UAAA,EAAA,CAAA;oBAZrDrF,WAAQ;EAAC,YAAA,IAAA,EAAA,CAAA;EACR,oBAAA,OAAO,EAAE;0BACPa,iBAAY;0BACZ,sCAAsC;0BACtC0D,uBAAkB;0BAClBK,iBAAc;0BACdS,kBAAa;0BACb,2BAA2B;EAC5B,qBAAA;sBACD,YAAY,EAAE,CAAC,4CAA4C,CAAC;sBAC5D,OAAO,EAAE,CAAC,4CAA4C,CAAC;mBACxD,CAAA;;;ECpBD;;EAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|