@senior-agronegocio/angular-components 0.0.9883 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/agro-angular-components.module.d.ts +13 -9
- package/common/agro-array-utils.class.d.ts +48 -48
- package/common/agro-cookie-utils.class.d.ts +9 -9
- package/common/agro-date-utils.class.d.ts +88 -88
- package/common/agro-logics.class.d.ts +23 -23
- package/common/agro-name-utils.class.d.ts +22 -22
- package/common/agro-number-utils.class.d.ts +77 -77
- package/common/agro-object-stringifier.class.d.ts +16 -16
- package/common/agro-object-utils.class.d.ts +184 -173
- package/common/agro-platform-utils.class.d.ts +60 -60
- package/common/agro-regex.constant.d.ts +155 -155
- package/common/agro-string-utils.class.d.ts +97 -97
- package/common/agro-unit-converter.class.d.ts +23 -23
- package/common/colors.class.d.ts +78 -78
- package/common/edl-query-builder.class.d.ts +27 -0
- package/common/index.d.ts +15 -12
- package/components/cancel-event-dialog/cancel-event-dialog-config.d.ts +8 -8
- package/components/cancel-event-dialog/cancel-event-dialog.component.d.ts +34 -33
- package/components/cancel-event-dialog/cancel-event-dialog.module.d.ts +14 -2
- package/components/cancel-event-dialog/index.d.ts +3 -3
- package/components/event-control-board/common/control-status.d.ts +5 -5
- package/components/event-control-board/common/documentsToIssue.d.ts +4 -4
- package/components/event-control-board/common/event-control-constants.d.ts +11 -11
- package/components/event-control-board/common/event-operation.d.ts +52 -52
- package/components/event-control-board/common/event-origin.d.ts +12 -12
- package/components/event-control-board/common/event-status.d.ts +7 -7
- package/components/event-control-board/common/input-fields-translate.d.ts +5 -5
- package/components/event-control-board/common/input-fields.d.ts +5 -5
- package/components/event-control-board/common/invoice-type.d.ts +9 -9
- package/components/event-control-board/common/lookup-error-message.constants.d.ts +3 -3
- package/components/event-control-board/common/operation.d.ts +5 -5
- package/components/event-control-board/common/operationType.d.ts +5 -5
- package/components/event-control-board/common/status-entity.d.ts +4 -4
- package/components/event-control-board/common/ticket-status.d.ts +7 -7
- package/components/event-control-board/common/transfer-status.d.ts +6 -6
- package/components/event-control-board/event-control-board.component.d.ts +120 -106
- package/components/event-control-board/event-control-board.module.d.ts +31 -2
- package/components/event-control-board/index.d.ts +22 -22
- package/components/event-control-board/service/e001pes/e001pes-dto.d.ts +12 -12
- package/components/event-control-board/service/e001pes/e001pes.d.ts +15 -15
- package/components/event-control-board/service/e001pes/e001pes.module.d.ts +7 -2
- package/components/event-control-board/service/e001pes/e001pes.service.d.ts +16 -13
- package/components/event-control-board/service/e001tns/e001tns-dto.d.ts +14 -14
- package/components/event-control-board/service/e001tns/e001tns.d.ts +19 -19
- package/components/event-control-board/service/e001tns/e001tns.module.d.ts +7 -2
- package/components/event-control-board/service/e001tns/e001tns.service.d.ts +14 -11
- package/components/event-control-board/service/e012fam/e012fam-dto.d.ts +11 -11
- package/components/event-control-board/service/e012fam/e012fam.d.ts +14 -14
- package/components/event-control-board/service/e012fam/e012fam.service.d.ts +14 -11
- package/components/event-control-board/service/e070emp/e070emp-dto.d.ts +10 -10
- package/components/event-control-board/service/e070emp/e070emp.d.ts +13 -13
- package/components/event-control-board/service/e070emp/e070emp.module.d.ts +7 -2
- package/components/event-control-board/service/e070emp/e070emp.service.d.ts +15 -12
- package/components/event-control-board/service/e070fil/e070fil-dto.d.ts +14 -14
- package/components/event-control-board/service/e070fil/e070fil.d.ts +17 -17
- package/components/event-control-board/service/e070fil/e070fil.module.d.ts +7 -2
- package/components/event-control-board/service/e070fil/e070fil.service.d.ts +15 -12
- package/components/event-control-board/service/e075der/e075der-dto.d.ts +15 -15
- package/components/event-control-board/service/e075der/e075der.d.ts +18 -18
- package/components/event-control-board/service/e075der/e075der.module.d.ts +7 -2
- package/components/event-control-board/service/e075der/e075der.service.d.ts +15 -12
- package/components/event-control-board/service/e113saf/e113saf-dto.d.ts +11 -11
- package/components/event-control-board/service/e113saf/e113saf.d.ts +14 -14
- package/components/event-control-board/service/e205dep/deposit-dto.d.ts +11 -11
- package/components/event-control-board/service/e205dep/e205dep-dto.d.ts +15 -15
- package/components/event-control-board/service/e205dep/e205dep.d.ts +16 -16
- package/components/event-control-board/service/e205dep/e205dep.service.d.ts +15 -12
- package/components/event-control-board/service/event-control/event-control-dto.d.ts +15 -15
- package/components/event-control-board/service/event-control/event-control.d.ts +21 -21
- package/components/event-control-board/service/event-control/event-control.module.d.ts +7 -2
- package/components/event-control-board/service/event-control/event-control.service.d.ts +14 -11
- package/components/event-control-board/service/event-control-item/event-control-item-dto.d.ts +18 -18
- package/components/event-control-board/service/event-control-item/event-control-item.d.ts +25 -25
- package/components/event-control-board/service/event-control-item/event-control-item.module.d.ts +7 -2
- package/components/event-control-board/service/event-control-item/event-control-item.service.d.ts +18 -15
- package/components/event-control-board/service/external-invoice/external-invoice-dto.d.ts +13 -13
- package/components/event-control-board/service/external-invoice/external-invoice.d.ts +13 -13
- package/components/event-control-board/service/external-invoice/external-invoice.module.d.ts +7 -2
- package/components/event-control-board/service/external-invoice/external-invoice.service.d.ts +14 -11
- package/components/event-control-board/service/fixation-entity/fixation-dto.d.ts +41 -41
- package/components/event-control-board/service/fixation-entity/fixation.module.d.ts +7 -2
- package/components/event-control-board/service/fixation-entity/fixation.service.d.ts +18 -15
- package/components/event-control-board/service/invoice/invoice-dto.d.ts +15 -15
- package/components/event-control-board/service/invoice/invoice.d.ts +21 -21
- package/components/event-control-board/service/invoice/invoice.module.d.ts +7 -2
- package/components/event-control-board/service/invoice/invoice.service.d.ts +14 -11
- package/components/event-control-board/service/origination/operationType.d.ts +5 -5
- package/components/event-control-board/service/origination/origination-dto.d.ts +50 -50
- package/components/event-control-board/service/origination/origination.d.ts +51 -51
- package/components/event-control-board/service/origination/origination.module.d.ts +7 -2
- package/components/event-control-board/service/origination/origination.service.d.ts +14 -11
- package/components/event-control-board/service/paginator-storage.service.d.ts +8 -8
- package/components/event-control-board/service/rural-estate/rural-estate-dto.d.ts +28 -28
- package/components/event-control-board/service/rural-estate/rural-estate.d.ts +34 -34
- package/components/event-control-board/service/rural-estate/rural-estate.module.d.ts +7 -2
- package/components/event-control-board/service/rural-estate/rural-estate.service.d.ts +14 -11
- package/components/event-control-board/service/ticket/ticket-dto.d.ts +17 -17
- package/components/event-control-board/service/ticket/ticket.d.ts +18 -18
- package/components/event-control-board/service/ticket/ticket.module.d.ts +7 -2
- package/components/event-control-board/service/ticket/ticket.service.d.ts +48 -45
- package/components/event-control-board/service/transfer/transfer-dto.d.ts +32 -32
- package/components/event-control-board/service/transfer/transfer.module.d.ts +7 -2
- package/components/event-control-board/service/transfer/transfer.service.d.ts +16 -13
- package/components/event-control-board/shared.module.d.ts +31 -2
- package/components/event-steps/event-steps.component.d.ts +39 -36
- package/components/event-steps/event-steps.module.d.ts +9 -2
- package/components/event-steps/index.d.ts +2 -2
- package/components/financial-title-table/financial-title-table-options.interface.d.ts +10 -10
- package/components/financial-title-table/financial-title-table.component.d.ts +128 -126
- package/components/financial-title-table/financial-title-table.module.d.ts +26 -2
- package/components/financial-title-table/index.d.ts +4 -4
- package/components/financial-title-table/services/financial/agro-financial.service.d.ts +26 -23
- package/components/financial-title-table/services/financial/enums.d.ts +27 -27
- package/components/financial-title-table/services/financial/index.d.ts +3 -3
- package/components/financial-title-table/services/financial/intefaces.d.ts +107 -107
- package/components/index.d.ts +5 -5
- package/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.d.ts +5 -5
- package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.d.ts +40 -36
- package/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.d.ts +26 -2
- package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.d.ts +32 -28
- package/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.d.ts +26 -2
- package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.d.ts +20 -17
- package/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.d.ts +26 -2
- package/components/modal-invoice-pj/index.d.ts +9 -9
- package/components/modal-invoice-pj/modal-invoice-pj-base.class.d.ts +64 -55
- package/components/modal-invoice-pj/modal-invoice-pj-options.interface.d.ts +10 -10
- package/components/modal-invoice-pj/modal-shared-imports.d.ts +7 -8
- package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.d.ts +8 -2
- package/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.d.ts +19 -16
- package/components/modal-invoice-pj/services/agro-invoice/index.d.ts +2 -2
- package/components/modal-invoice-pj/services/agro-invoice/interfaces.d.ts +75 -75
- package/enums/agro-entity-status.enum.d.ts +4 -4
- package/enums/agro-numbers.enum.d.ts +1008 -1008
- package/enums/agro-string-masks.enum.d.ts +10 -10
- package/enums/date-comparison-type.enum.d.ts +4 -4
- package/enums/fixation-status.d.ts +8 -8
- package/enums/http-codes.enum.d.ts +64 -64
- package/enums/index.d.ts +8 -7
- package/enums/invoice-status.enum.d.ts +12 -12
- package/enums/number-comparison-type.enum.d.ts +8 -8
- package/enums/unit-measurement.enum.d.ts +49 -49
- package/esm2022/agro-angular-components.module.mjs +24 -0
- package/esm2022/common/agro-array-utils.class.mjs +74 -0
- package/esm2022/common/agro-cookie-utils.class.mjs +47 -0
- package/esm2022/common/agro-date-utils.class.mjs +121 -0
- package/esm2022/common/agro-logics.class.mjs +54 -0
- package/esm2022/common/agro-name-utils.class.mjs +60 -0
- package/esm2022/common/agro-number-utils.class.mjs +129 -0
- package/esm2022/common/agro-object-stringifier.class.mjs +34 -0
- package/esm2022/common/agro-object-utils.class.mjs +320 -0
- package/esm2022/common/agro-platform-utils.class.mjs +119 -0
- package/esm2022/common/agro-regex.constant.mjs +156 -0
- package/esm2022/common/agro-string-utils.class.mjs +363 -0
- package/esm2022/common/agro-unit-converter.class.mjs +254 -0
- package/esm2022/common/colors.class.mjs +79 -0
- package/esm2022/common/edl-query-builder.class.mjs +141 -0
- package/esm2022/common/index.mjs +14 -0
- package/esm2022/components/cancel-event-dialog/cancel-event-dialog-config.mjs +2 -0
- package/esm2022/components/cancel-event-dialog/cancel-event-dialog.component.mjs +117 -0
- package/esm2022/components/cancel-event-dialog/cancel-event-dialog.module.mjs +24 -0
- package/esm2022/components/cancel-event-dialog/index.mjs +3 -0
- package/esm2022/components/event-control-board/common/control-status.mjs +7 -0
- package/esm2022/components/event-control-board/common/documentsToIssue.mjs +6 -0
- package/esm2022/components/event-control-board/common/event-control-constants.mjs +113 -0
- package/esm2022/components/event-control-board/common/event-operation.mjs +54 -0
- package/esm2022/components/event-control-board/common/event-origin.mjs +14 -0
- package/esm2022/components/event-control-board/common/event-status.mjs +9 -0
- package/esm2022/components/event-control-board/common/input-fields-translate.mjs +11 -0
- package/esm2022/components/event-control-board/common/input-fields.mjs +7 -0
- package/esm2022/components/event-control-board/common/invoice-type.mjs +11 -0
- package/esm2022/components/event-control-board/common/lookup-error-message.constants.mjs +11 -0
- package/esm2022/components/event-control-board/common/operation.mjs +7 -0
- package/esm2022/components/event-control-board/common/operationType.mjs +7 -0
- package/esm2022/components/event-control-board/common/status-entity.mjs +6 -0
- package/esm2022/components/event-control-board/common/ticket-status.mjs +9 -0
- package/esm2022/components/event-control-board/common/transfer-status.mjs +8 -0
- package/esm2022/components/event-control-board/event-control-board.component.mjs +609 -0
- package/esm2022/components/event-control-board/event-control-board.module.mjs +120 -0
- package/esm2022/components/event-control-board/index.mjs +22 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes.mjs +30 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e001pes/e001pes.service.mjs +33 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns.mjs +51 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/e001tns/e001tns.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/e012fam/e012fam-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e012fam/e012fam.mjs +29 -0
- package/esm2022/components/event-control-board/service/e012fam/e012fam.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp.mjs +37 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e070emp/e070emp.service.mjs +30 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil.mjs +52 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e070fil/e070fil.service.mjs +30 -0
- package/esm2022/components/event-control-board/service/e075der/e075der-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e075der/e075der.mjs +41 -0
- package/esm2022/components/event-control-board/service/e075der/e075der.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/e075der/e075der.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/e113saf/e113saf-dto.mjs +2 -0
- package/{esm2015/components/event-control-board/service/e113saf/e113saf.js → esm2022/components/event-control-board/service/e113saf/e113saf.mjs} +29 -20
- package/esm2022/components/event-control-board/service/e205dep/deposit-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e205dep/e205dep-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/e205dep/e205dep.mjs +31 -0
- package/esm2022/components/event-control-board/service/e205dep/e205dep.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/event-control/event-control-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/event-control/event-control.mjs +32 -0
- package/esm2022/components/event-control-board/service/event-control/event-control.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/event-control/event-control.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item.mjs +52 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/event-control-item/event-control-item.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice.mjs +28 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/external-invoice/external-invoice.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/fixation-entity/fixation-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/fixation-entity/fixation.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/fixation-entity/fixation.service.mjs +28 -0
- package/esm2022/components/event-control-board/service/invoice/invoice-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/invoice/invoice.mjs +56 -0
- package/esm2022/components/event-control-board/service/invoice/invoice.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/invoice/invoice.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/origination/operationType.mjs +7 -0
- package/esm2022/components/event-control-board/service/origination/origination-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/origination/origination.mjs +86 -0
- package/esm2022/components/event-control-board/service/origination/origination.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/origination/origination.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/paginator-storage.service.mjs +21 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate.mjs +102 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate.module.mjs +34 -0
- package/esm2022/components/event-control-board/service/rural-estate/rural-estate.service.mjs +23 -0
- package/esm2022/components/event-control-board/service/ticket/ticket-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/ticket/ticket.mjs +51 -0
- package/esm2022/components/event-control-board/service/ticket/ticket.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/ticket/ticket.service.mjs +58 -0
- package/esm2022/components/event-control-board/service/transfer/transfer-dto.mjs +2 -0
- package/esm2022/components/event-control-board/service/transfer/transfer.module.mjs +38 -0
- package/esm2022/components/event-control-board/service/transfer/transfer.service.mjs +33 -0
- package/esm2022/components/event-control-board/shared.module.mjs +200 -0
- package/esm2022/components/event-steps/event-steps.component.mjs +129 -0
- package/esm2022/components/event-steps/event-steps.module.mjs +19 -0
- package/esm2022/components/event-steps/index.mjs +3 -0
- package/esm2022/components/financial-title-table/financial-title-table-options.interface.mjs +2 -0
- package/esm2022/components/financial-title-table/financial-title-table.component.mjs +422 -0
- package/esm2022/components/financial-title-table/financial-title-table.module.mjs +100 -0
- package/esm2022/components/financial-title-table/index.mjs +4 -0
- package/esm2022/components/financial-title-table/services/financial/agro-financial.service.mjs +68 -0
- package/esm2022/components/financial-title-table/services/financial/enums.mjs +33 -0
- package/esm2022/components/financial-title-table/services/financial/index.mjs +3 -0
- package/esm2022/components/financial-title-table/services/financial/intefaces.mjs +2 -0
- package/esm2022/components/index.mjs +6 -0
- package/esm2022/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.mjs +2 -0
- package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.mjs +190 -0
- package/esm2022/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.mjs +38 -0
- package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.mjs +67 -0
- package/esm2022/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.mjs +38 -0
- package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.mjs +41 -0
- package/esm2022/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.mjs +38 -0
- package/esm2022/components/modal-invoice-pj/index.mjs +8 -0
- package/esm2022/components/modal-invoice-pj/modal-invoice-pj-base.class.mjs +207 -0
- package/esm2022/components/modal-invoice-pj/modal-invoice-pj-options.interface.mjs +2 -0
- package/esm2022/components/modal-invoice-pj/modal-shared-imports.mjs +42 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.mjs +41 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.mjs +48 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/index.mjs +3 -0
- package/esm2022/components/modal-invoice-pj/services/agro-invoice/interfaces.mjs +13 -0
- package/esm2022/enums/agro-entity-status.enum.mjs +6 -0
- package/{esm5/enums/agro-numbers.enum.js → esm2022/enums/agro-numbers.enum.mjs} +1009 -1009
- package/esm2022/enums/agro-string-masks.enum.mjs +12 -0
- package/esm2022/enums/date-comparison-type.enum.mjs +6 -0
- package/esm2022/enums/fixation-status.mjs +10 -0
- package/{esm2015/enums/http-codes.enum.js → esm2022/enums/http-codes.enum.mjs} +66 -66
- package/esm2022/enums/index.mjs +8 -0
- package/esm2022/enums/invoice-status.enum.mjs +14 -0
- package/esm2022/enums/number-comparison-type.enum.mjs +10 -0
- package/esm2022/enums/unit-measurement.enum.mjs +60 -0
- package/esm2022/form-validator/agro-form-validator.mjs +315 -0
- package/esm2022/form-validator/index.mjs +2 -0
- package/esm2022/lib-translation.module.mjs +26 -0
- package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.mjs +30 -0
- package/esm2022/pipe/cnpj-cpf/cnpj-cpf.pipe.module.mjs +18 -0
- package/esm2022/pipe/cnpj-cpf/index.mjs +3 -0
- package/esm2022/pipe/index.mjs +6 -0
- package/esm2022/pipe/kilogram/index.mjs +3 -0
- package/esm2022/pipe/kilogram/kilogram.module.mjs +20 -0
- package/esm2022/pipe/kilogram/kilogram.pipe.mjs +38 -0
- package/esm2022/pipe/lib-translate.pipe.mjs +24 -0
- package/esm2022/pipe/stringifier/index.mjs +3 -0
- package/esm2022/pipe/stringifier/stringifier.pipe.mjs +15 -0
- package/esm2022/pipe/stringifier/stringifier.pipe.module.mjs +18 -0
- package/esm2022/pipe/telephone/index.mjs +3 -0
- package/esm2022/pipe/telephone/telephone.pipe.mjs +93 -0
- package/esm2022/pipe/telephone/telephone.pipe.module.mjs +18 -0
- package/esm2022/public-api.mjs +11 -0
- package/esm2022/senior-agronegocio-angular-components.mjs +5 -0
- package/esm2022/services/agro-entity-service.mjs +137 -0
- package/esm2022/services/i18n/en-US.mjs +322 -0
- package/esm2022/services/i18n/es-CO.mjs +322 -0
- package/esm2022/services/i18n/pt-BR.mjs +322 -0
- package/esm2022/services/index.mjs +3 -0
- package/esm2022/services/lib-translation.service.mjs +58 -0
- package/esm2022/services/producer-invoice/index.mjs +3 -0
- package/esm2022/services/producer-invoice/producer-invoice-dto.mjs +2 -0
- package/esm2022/services/producer-invoice/producer-invoice.mjs +49 -0
- package/esm2022/services/producer-invoice/producer-invoice.service.mjs +56 -0
- package/esm2022/services/websocket/async-lock.mjs +27 -0
- package/esm2022/services/websocket/index.mjs +7 -0
- package/esm2022/services/websocket/models/index.mjs +2 -0
- package/esm2022/services/websocket/models/primitive-manager.mjs +45 -0
- package/esm2022/services/websocket/protocols/index.mjs +2 -0
- package/esm2022/services/websocket/protocols/on-event-options.mjs +2 -0
- package/esm2022/services/websocket/protocols/primitive-event.mjs +2 -0
- package/esm2022/services/websocket/user-information.service.mjs +34 -0
- package/esm2022/services/websocket/websocket.module.mjs +27 -0
- package/esm2022/services/websocket/websocket.service.mjs +327 -0
- package/{fesm2015/senior-agronegocio-angular-components.js → fesm2022/senior-agronegocio-angular-components.mjs} +8600 -7930
- package/fesm2022/senior-agronegocio-angular-components.mjs.map +1 -0
- package/form-validator/agro-form-validator.d.ts +117 -117
- package/form-validator/index.d.ts +1 -1
- package/index.d.ts +5 -0
- package/lib-translation.module.d.ts +8 -2
- package/package.json +60 -29
- package/pipe/cnpj-cpf/cnpj-cpf.pipe.d.ts +7 -4
- package/pipe/cnpj-cpf/cnpj-cpf.pipe.module.d.ts +8 -2
- package/pipe/cnpj-cpf/index.d.ts +2 -2
- package/pipe/index.d.ts +5 -5
- package/pipe/kilogram/index.d.ts +2 -2
- package/pipe/kilogram/kilogram.module.d.ts +8 -2
- package/pipe/kilogram/kilogram.pipe.d.ts +11 -8
- package/pipe/lib-translate.pipe.d.ts +10 -7
- package/pipe/stringifier/index.d.ts +2 -2
- package/pipe/stringifier/stringifier.pipe.d.ts +12 -9
- package/pipe/stringifier/stringifier.pipe.module.d.ts +8 -2
- package/pipe/telephone/index.d.ts +2 -2
- package/pipe/telephone/telephone.pipe.d.ts +24 -21
- package/pipe/telephone/telephone.pipe.module.d.ts +8 -2
- package/public-api.d.ts +9 -8
- package/services/agro-entity-service.d.ts +63 -62
- package/services/i18n/en-US.d.ts +321 -321
- package/services/i18n/es-CO.d.ts +321 -321
- package/services/i18n/pt-BR.d.ts +321 -321
- package/services/index.d.ts +2 -2
- package/services/lib-translation.service.d.ts +19 -16
- package/services/producer-invoice/index.d.ts +3 -3
- package/services/producer-invoice/producer-invoice-dto.d.ts +26 -26
- package/services/producer-invoice/producer-invoice.d.ts +27 -27
- package/services/producer-invoice/producer-invoice.service.d.ts +21 -18
- package/services/websocket/async-lock.d.ts +6 -6
- package/services/websocket/index.d.ts +6 -6
- package/services/websocket/models/index.d.ts +1 -1
- package/services/websocket/models/primitive-manager.d.ts +19 -19
- package/services/websocket/protocols/index.d.ts +2 -2
- package/services/websocket/protocols/on-event-options.d.ts +8 -8
- package/services/websocket/protocols/primitive-event.d.ts +10 -10
- package/services/websocket/user-information.service.d.ts +10 -7
- package/services/websocket/websocket.module.d.ts +7 -2
- package/services/websocket/websocket.service.d.ts +103 -100
- package/bundles/senior-agronegocio-angular-components.umd.js +0 -8888
- package/bundles/senior-agronegocio-angular-components.umd.js.map +0 -1
- package/bundles/senior-agronegocio-angular-components.umd.min.js +0 -17
- package/bundles/senior-agronegocio-angular-components.umd.min.js.map +0 -1
- package/esm2015/agro-angular-components.module.js +0 -22
- package/esm2015/common/agro-array-utils.class.js +0 -74
- package/esm2015/common/agro-cookie-utils.class.js +0 -47
- package/esm2015/common/agro-date-utils.class.js +0 -121
- package/esm2015/common/agro-logics.class.js +0 -54
- package/esm2015/common/agro-name-utils.class.js +0 -60
- package/esm2015/common/agro-number-utils.class.js +0 -129
- package/esm2015/common/agro-object-stringifier.class.js +0 -34
- package/esm2015/common/agro-object-utils.class.js +0 -301
- package/esm2015/common/agro-platform-utils.class.js +0 -119
- package/esm2015/common/agro-regex.constant.js +0 -156
- package/esm2015/common/agro-string-utils.class.js +0 -364
- package/esm2015/common/agro-unit-converter.class.js +0 -255
- package/esm2015/common/colors.class.js +0 -79
- package/esm2015/common/index.js +0 -13
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -117
- package/esm2015/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -19
- package/esm2015/components/cancel-event-dialog/index.js +0 -3
- package/esm2015/components/event-control-board/common/control-status.js +0 -7
- package/esm2015/components/event-control-board/common/documentsToIssue.js +0 -6
- package/esm2015/components/event-control-board/common/event-control-constants.js +0 -113
- package/esm2015/components/event-control-board/common/event-operation.js +0 -54
- package/esm2015/components/event-control-board/common/event-origin.js +0 -14
- package/esm2015/components/event-control-board/common/event-status.js +0 -9
- package/esm2015/components/event-control-board/common/input-fields-translate.js +0 -11
- package/esm2015/components/event-control-board/common/input-fields.js +0 -7
- package/esm2015/components/event-control-board/common/invoice-type.js +0 -11
- package/esm2015/components/event-control-board/common/lookup-error-message.constants.js +0 -11
- package/esm2015/components/event-control-board/common/operation.js +0 -7
- package/esm2015/components/event-control-board/common/operationType.js +0 -7
- package/esm2015/components/event-control-board/common/status-entity.js +0 -6
- package/esm2015/components/event-control-board/common/ticket-status.js +0 -9
- package/esm2015/components/event-control-board/common/transfer-status.js +0 -8
- package/esm2015/components/event-control-board/event-control-board.component.js +0 -597
- package/esm2015/components/event-control-board/event-control-board.module.js +0 -66
- package/esm2015/components/event-control-board/index.js +0 -22
- package/esm2015/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e001pes/e001pes.js +0 -20
- package/esm2015/components/event-control-board/service/e001pes/e001pes.module.js +0 -24
- package/esm2015/components/event-control-board/service/e001pes/e001pes.service.js +0 -34
- package/esm2015/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e001tns/e001tns.js +0 -42
- package/esm2015/components/event-control-board/service/e001tns/e001tns.module.js +0 -26
- package/esm2015/components/event-control-board/service/e001tns/e001tns.service.js +0 -24
- package/esm2015/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e012fam/e012fam.js +0 -20
- package/esm2015/components/event-control-board/service/e012fam/e012fam.service.js +0 -24
- package/esm2015/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e070emp/e070emp.js +0 -29
- package/esm2015/components/event-control-board/service/e070emp/e070emp.module.js +0 -24
- package/esm2015/components/event-control-board/service/e070emp/e070emp.service.js +0 -31
- package/esm2015/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e070fil/e070fil.js +0 -41
- package/esm2015/components/event-control-board/service/e070fil/e070fil.module.js +0 -24
- package/esm2015/components/event-control-board/service/e070fil/e070fil.service.js +0 -31
- package/esm2015/components/event-control-board/service/e075der/e075der-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e075der/e075der.js +0 -31
- package/esm2015/components/event-control-board/service/e075der/e075der.module.js +0 -24
- package/esm2015/components/event-control-board/service/e075der/e075der.service.js +0 -29
- package/esm2015/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
- package/esm2015/components/event-control-board/service/e205dep/e205dep.js +0 -20
- package/esm2015/components/event-control-board/service/e205dep/e205dep.service.js +0 -29
- package/esm2015/components/event-control-board/service/event-control/event-control-dto.js +0 -1
- package/esm2015/components/event-control-board/service/event-control/event-control.js +0 -20
- package/esm2015/components/event-control-board/service/event-control/event-control.module.js +0 -24
- package/esm2015/components/event-control-board/service/event-control/event-control.service.js +0 -24
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.js +0 -35
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -24
- package/esm2015/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -29
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.js +0 -20
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -24
- package/esm2015/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -24
- package/esm2015/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
- package/esm2015/components/event-control-board/service/fixation-entity/fixation.module.js +0 -24
- package/esm2015/components/event-control-board/service/fixation-entity/fixation.service.js +0 -29
- package/esm2015/components/event-control-board/service/invoice/invoice-dto.js +0 -1
- package/esm2015/components/event-control-board/service/invoice/invoice.js +0 -43
- package/esm2015/components/event-control-board/service/invoice/invoice.module.js +0 -26
- package/esm2015/components/event-control-board/service/invoice/invoice.service.js +0 -24
- package/esm2015/components/event-control-board/service/origination/operationType.js +0 -7
- package/esm2015/components/event-control-board/service/origination/origination-dto.js +0 -1
- package/esm2015/components/event-control-board/service/origination/origination.js +0 -59
- package/esm2015/components/event-control-board/service/origination/origination.module.js +0 -24
- package/esm2015/components/event-control-board/service/origination/origination.service.js +0 -24
- package/esm2015/components/event-control-board/service/paginator-storage.service.js +0 -32
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.js +0 -78
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -24
- package/esm2015/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -24
- package/esm2015/components/event-control-board/service/ticket/ticket-dto.js +0 -1
- package/esm2015/components/event-control-board/service/ticket/ticket.js +0 -39
- package/esm2015/components/event-control-board/service/ticket/ticket.module.js +0 -26
- package/esm2015/components/event-control-board/service/ticket/ticket.service.js +0 -59
- package/esm2015/components/event-control-board/service/transfer/transfer-dto.js +0 -1
- package/esm2015/components/event-control-board/service/transfer/transfer.module.js +0 -26
- package/esm2015/components/event-control-board/service/transfer/transfer.service.js +0 -34
- package/esm2015/components/event-control-board/shared.module.js +0 -56
- package/esm2015/components/event-steps/event-steps.component.js +0 -103
- package/esm2015/components/event-steps/event-steps.module.js +0 -16
- package/esm2015/components/event-steps/index.js +0 -3
- package/esm2015/components/financial-title-table/financial-title-table-options.interface.js +0 -1
- package/esm2015/components/financial-title-table/financial-title-table.component.js +0 -416
- package/esm2015/components/financial-title-table/financial-title-table.module.js +0 -45
- package/esm2015/components/financial-title-table/index.js +0 -4
- package/esm2015/components/financial-title-table/services/financial/agro-financial.service.js +0 -69
- package/esm2015/components/financial-title-table/services/financial/enums.js +0 -33
- package/esm2015/components/financial-title-table/services/financial/index.js +0 -3
- package/esm2015/components/financial-title-table/services/financial/intefaces.js +0 -1
- package/esm2015/components/index.js +0 -6
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -191
- package/esm2015/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -16
- package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -64
- package/esm2015/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -16
- package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -37
- package/esm2015/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -16
- package/esm2015/components/modal-invoice-pj/index.js +0 -8
- package/esm2015/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -196
- package/esm2015/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
- package/esm2015/components/modal-invoice-pj/modal-shared-imports.js +0 -32
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -28
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -49
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
- package/esm2015/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
- package/esm2015/enums/agro-entity-status.enum.js +0 -6
- package/esm2015/enums/agro-numbers.enum.js +0 -1009
- package/esm2015/enums/agro-string-masks.enum.js +0 -12
- package/esm2015/enums/date-comparison-type.enum.js +0 -6
- package/esm2015/enums/fixation-status.js +0 -10
- package/esm2015/enums/index.js +0 -8
- package/esm2015/enums/invoice-status.enum.js +0 -14
- package/esm2015/enums/number-comparison-type.enum.js +0 -10
- package/esm2015/enums/unit-measurement.enum.js +0 -60
- package/esm2015/form-validator/agro-form-validator.js +0 -319
- package/esm2015/form-validator/index.js +0 -2
- package/esm2015/lib-translation.module.js +0 -23
- package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -28
- package/esm2015/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -15
- package/esm2015/pipe/cnpj-cpf/index.js +0 -3
- package/esm2015/pipe/index.js +0 -6
- package/esm2015/pipe/kilogram/index.js +0 -3
- package/esm2015/pipe/kilogram/kilogram.module.js +0 -17
- package/esm2015/pipe/kilogram/kilogram.pipe.js +0 -38
- package/esm2015/pipe/lib-translate.pipe.js +0 -24
- package/esm2015/pipe/stringifier/index.js +0 -3
- package/esm2015/pipe/stringifier/stringifier.pipe.js +0 -13
- package/esm2015/pipe/stringifier/stringifier.pipe.module.js +0 -15
- package/esm2015/pipe/telephone/index.js +0 -3
- package/esm2015/pipe/telephone/telephone.pipe.js +0 -91
- package/esm2015/pipe/telephone/telephone.pipe.module.js +0 -15
- package/esm2015/public-api.js +0 -9
- package/esm2015/senior-agronegocio-angular-components.js +0 -7
- package/esm2015/services/agro-entity-service.js +0 -132
- package/esm2015/services/i18n/en-US.js +0 -322
- package/esm2015/services/i18n/es-CO.js +0 -322
- package/esm2015/services/i18n/pt-BR.js +0 -322
- package/esm2015/services/index.js +0 -3
- package/esm2015/services/lib-translation.service.js +0 -58
- package/esm2015/services/producer-invoice/index.js +0 -3
- package/esm2015/services/producer-invoice/producer-invoice-dto.js +0 -1
- package/esm2015/services/producer-invoice/producer-invoice.js +0 -32
- package/esm2015/services/producer-invoice/producer-invoice.service.js +0 -64
- package/esm2015/services/websocket/async-lock.js +0 -34
- package/esm2015/services/websocket/index.js +0 -6
- package/esm2015/services/websocket/models/index.js +0 -2
- package/esm2015/services/websocket/models/primitive-manager.js +0 -39
- package/esm2015/services/websocket/protocols/index.js +0 -1
- package/esm2015/services/websocket/protocols/on-event-options.js +0 -1
- package/esm2015/services/websocket/protocols/primitive-event.js +0 -1
- package/esm2015/services/websocket/user-information.service.js +0 -34
- package/esm2015/services/websocket/websocket.module.js +0 -21
- package/esm2015/services/websocket/websocket.service.js +0 -338
- package/esm5/agro-angular-components.module.js +0 -26
- package/esm5/common/agro-array-utils.class.js +0 -90
- package/esm5/common/agro-cookie-utils.class.js +0 -54
- package/esm5/common/agro-date-utils.class.js +0 -126
- package/esm5/common/agro-logics.class.js +0 -96
- package/esm5/common/agro-name-utils.class.js +0 -64
- package/esm5/common/agro-number-utils.class.js +0 -137
- package/esm5/common/agro-object-stringifier.class.js +0 -38
- package/esm5/common/agro-object-utils.class.js +0 -306
- package/esm5/common/agro-platform-utils.class.js +0 -123
- package/esm5/common/agro-regex.constant.js +0 -156
- package/esm5/common/agro-string-utils.class.js +0 -380
- package/esm5/common/agro-unit-converter.class.js +0 -258
- package/esm5/common/colors.class.js +0 -83
- package/esm5/common/index.js +0 -13
- package/esm5/components/cancel-event-dialog/cancel-event-dialog-config.js +0 -1
- package/esm5/components/cancel-event-dialog/cancel-event-dialog.component.js +0 -128
- package/esm5/components/cancel-event-dialog/cancel-event-dialog.module.js +0 -22
- package/esm5/components/cancel-event-dialog/index.js +0 -3
- package/esm5/components/event-control-board/common/control-status.js +0 -7
- package/esm5/components/event-control-board/common/documentsToIssue.js +0 -6
- package/esm5/components/event-control-board/common/event-control-constants.js +0 -113
- package/esm5/components/event-control-board/common/event-operation.js +0 -54
- package/esm5/components/event-control-board/common/event-origin.js +0 -14
- package/esm5/components/event-control-board/common/event-status.js +0 -9
- package/esm5/components/event-control-board/common/input-fields-translate.js +0 -11
- package/esm5/components/event-control-board/common/input-fields.js +0 -7
- package/esm5/components/event-control-board/common/invoice-type.js +0 -11
- package/esm5/components/event-control-board/common/lookup-error-message.constants.js +0 -11
- package/esm5/components/event-control-board/common/operation.js +0 -7
- package/esm5/components/event-control-board/common/operationType.js +0 -7
- package/esm5/components/event-control-board/common/status-entity.js +0 -6
- package/esm5/components/event-control-board/common/ticket-status.js +0 -9
- package/esm5/components/event-control-board/common/transfer-status.js +0 -8
- package/esm5/components/event-control-board/event-control-board.component.js +0 -619
- package/esm5/components/event-control-board/event-control-board.module.js +0 -69
- package/esm5/components/event-control-board/index.js +0 -22
- package/esm5/components/event-control-board/service/e001pes/e001pes-dto.js +0 -1
- package/esm5/components/event-control-board/service/e001pes/e001pes.js +0 -25
- package/esm5/components/event-control-board/service/e001pes/e001pes.module.js +0 -27
- package/esm5/components/event-control-board/service/e001pes/e001pes.service.js +0 -37
- package/esm5/components/event-control-board/service/e001tns/e001tns-dto.js +0 -1
- package/esm5/components/event-control-board/service/e001tns/e001tns.js +0 -45
- package/esm5/components/event-control-board/service/e001tns/e001tns.module.js +0 -29
- package/esm5/components/event-control-board/service/e001tns/e001tns.service.js +0 -27
- package/esm5/components/event-control-board/service/e012fam/e012fam-dto.js +0 -1
- package/esm5/components/event-control-board/service/e012fam/e012fam.js +0 -25
- package/esm5/components/event-control-board/service/e012fam/e012fam.service.js +0 -27
- package/esm5/components/event-control-board/service/e070emp/e070emp-dto.js +0 -1
- package/esm5/components/event-control-board/service/e070emp/e070emp.js +0 -34
- package/esm5/components/event-control-board/service/e070emp/e070emp.module.js +0 -27
- package/esm5/components/event-control-board/service/e070emp/e070emp.service.js +0 -34
- package/esm5/components/event-control-board/service/e070fil/e070fil-dto.js +0 -1
- package/esm5/components/event-control-board/service/e070fil/e070fil.js +0 -48
- package/esm5/components/event-control-board/service/e070fil/e070fil.module.js +0 -27
- package/esm5/components/event-control-board/service/e070fil/e070fil.service.js +0 -34
- package/esm5/components/event-control-board/service/e075der/e075der-dto.js +0 -1
- package/esm5/components/event-control-board/service/e075der/e075der.js +0 -36
- package/esm5/components/event-control-board/service/e075der/e075der.module.js +0 -27
- package/esm5/components/event-control-board/service/e075der/e075der.service.js +0 -32
- package/esm5/components/event-control-board/service/e113saf/e113saf-dto.js +0 -1
- package/esm5/components/event-control-board/service/e113saf/e113saf.js +0 -25
- package/esm5/components/event-control-board/service/e205dep/deposit-dto.js +0 -1
- package/esm5/components/event-control-board/service/e205dep/e205dep-dto.js +0 -1
- package/esm5/components/event-control-board/service/e205dep/e205dep.js +0 -25
- package/esm5/components/event-control-board/service/e205dep/e205dep.service.js +0 -32
- package/esm5/components/event-control-board/service/event-control/event-control-dto.js +0 -1
- package/esm5/components/event-control-board/service/event-control/event-control.js +0 -25
- package/esm5/components/event-control-board/service/event-control/event-control.module.js +0 -27
- package/esm5/components/event-control-board/service/event-control/event-control.service.js +0 -27
- package/esm5/components/event-control-board/service/event-control-item/event-control-item-dto.js +0 -1
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.js +0 -40
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.module.js +0 -27
- package/esm5/components/event-control-board/service/event-control-item/event-control-item.service.js +0 -32
- package/esm5/components/event-control-board/service/external-invoice/external-invoice-dto.js +0 -1
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.js +0 -25
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.module.js +0 -27
- package/esm5/components/event-control-board/service/external-invoice/external-invoice.service.js +0 -27
- package/esm5/components/event-control-board/service/fixation-entity/fixation-dto.js +0 -1
- package/esm5/components/event-control-board/service/fixation-entity/fixation.module.js +0 -27
- package/esm5/components/event-control-board/service/fixation-entity/fixation.service.js +0 -32
- package/esm5/components/event-control-board/service/invoice/invoice-dto.js +0 -1
- package/esm5/components/event-control-board/service/invoice/invoice.js +0 -48
- package/esm5/components/event-control-board/service/invoice/invoice.module.js +0 -29
- package/esm5/components/event-control-board/service/invoice/invoice.service.js +0 -27
- package/esm5/components/event-control-board/service/origination/operationType.js +0 -7
- package/esm5/components/event-control-board/service/origination/origination-dto.js +0 -1
- package/esm5/components/event-control-board/service/origination/origination.js +0 -62
- package/esm5/components/event-control-board/service/origination/origination.module.js +0 -27
- package/esm5/components/event-control-board/service/origination/origination.service.js +0 -27
- package/esm5/components/event-control-board/service/paginator-storage.service.js +0 -71
- package/esm5/components/event-control-board/service/rural-estate/rural-estate-dto.js +0 -1
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.js +0 -83
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.module.js +0 -27
- package/esm5/components/event-control-board/service/rural-estate/rural-estate.service.js +0 -27
- package/esm5/components/event-control-board/service/ticket/ticket-dto.js +0 -1
- package/esm5/components/event-control-board/service/ticket/ticket.js +0 -44
- package/esm5/components/event-control-board/service/ticket/ticket.module.js +0 -29
- package/esm5/components/event-control-board/service/ticket/ticket.service.js +0 -62
- package/esm5/components/event-control-board/service/transfer/transfer-dto.js +0 -1
- package/esm5/components/event-control-board/service/transfer/transfer.module.js +0 -29
- package/esm5/components/event-control-board/service/transfer/transfer.service.js +0 -37
- package/esm5/components/event-control-board/shared.module.js +0 -59
- package/esm5/components/event-steps/event-steps.component.js +0 -113
- package/esm5/components/event-steps/event-steps.module.js +0 -19
- package/esm5/components/event-steps/index.js +0 -3
- package/esm5/components/financial-title-table/financial-title-table-options.interface.js +0 -1
- package/esm5/components/financial-title-table/financial-title-table.component.js +0 -438
- package/esm5/components/financial-title-table/financial-title-table.module.js +0 -48
- package/esm5/components/financial-title-table/index.js +0 -4
- package/esm5/components/financial-title-table/services/financial/agro-financial.service.js +0 -76
- package/esm5/components/financial-title-table/services/financial/enums.js +0 -33
- package/esm5/components/financial-title-table/services/financial/index.js +0 -3
- package/esm5/components/financial-title-table/services/financial/intefaces.js +0 -1
- package/esm5/components/index.js +0 -6
- package/esm5/components/modal-invoice-pj/for-fixation/modal-fixation-options.interface.js +0 -1
- package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.js +0 -223
- package/esm5/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.js +0 -19
- package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.js +0 -67
- package/esm5/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.js +0 -19
- package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.js +0 -40
- package/esm5/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.js +0 -19
- package/esm5/components/modal-invoice-pj/index.js +0 -8
- package/esm5/components/modal-invoice-pj/modal-invoice-pj-base.class.js +0 -213
- package/esm5/components/modal-invoice-pj/modal-invoice-pj-options.interface.js +0 -1
- package/esm5/components/modal-invoice-pj/modal-shared-imports.js +0 -32
- package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.js +0 -31
- package/esm5/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.js +0 -56
- package/esm5/components/modal-invoice-pj/services/agro-invoice/index.js +0 -3
- package/esm5/components/modal-invoice-pj/services/agro-invoice/interfaces.js +0 -13
- package/esm5/enums/agro-entity-status.enum.js +0 -6
- package/esm5/enums/agro-string-masks.enum.js +0 -12
- package/esm5/enums/date-comparison-type.enum.js +0 -6
- package/esm5/enums/fixation-status.js +0 -10
- package/esm5/enums/http-codes.enum.js +0 -66
- package/esm5/enums/index.js +0 -8
- package/esm5/enums/invoice-status.enum.js +0 -14
- package/esm5/enums/number-comparison-type.enum.js +0 -10
- package/esm5/enums/unit-measurement.enum.js +0 -60
- package/esm5/form-validator/agro-form-validator.js +0 -341
- package/esm5/form-validator/index.js +0 -2
- package/esm5/lib-translation.module.js +0 -26
- package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.js +0 -35
- package/esm5/pipe/cnpj-cpf/cnpj-cpf.pipe.module.js +0 -18
- package/esm5/pipe/cnpj-cpf/index.js +0 -3
- package/esm5/pipe/index.js +0 -6
- package/esm5/pipe/kilogram/index.js +0 -3
- package/esm5/pipe/kilogram/kilogram.module.js +0 -20
- package/esm5/pipe/kilogram/kilogram.pipe.js +0 -41
- package/esm5/pipe/lib-translate.pipe.js +0 -29
- package/esm5/pipe/stringifier/index.js +0 -3
- package/esm5/pipe/stringifier/stringifier.pipe.js +0 -16
- package/esm5/pipe/stringifier/stringifier.pipe.module.js +0 -18
- package/esm5/pipe/telephone/index.js +0 -3
- package/esm5/pipe/telephone/telephone.pipe.js +0 -95
- package/esm5/pipe/telephone/telephone.pipe.module.js +0 -18
- package/esm5/public-api.js +0 -9
- package/esm5/senior-agronegocio-angular-components.js +0 -7
- package/esm5/services/agro-entity-service.js +0 -143
- package/esm5/services/i18n/en-US.js +0 -322
- package/esm5/services/i18n/es-CO.js +0 -322
- package/esm5/services/i18n/pt-BR.js +0 -322
- package/esm5/services/index.js +0 -3
- package/esm5/services/lib-translation.service.js +0 -60
- package/esm5/services/producer-invoice/index.js +0 -3
- package/esm5/services/producer-invoice/producer-invoice-dto.js +0 -1
- package/esm5/services/producer-invoice/producer-invoice.js +0 -37
- package/esm5/services/producer-invoice/producer-invoice.service.js +0 -72
- package/esm5/services/websocket/async-lock.js +0 -43
- package/esm5/services/websocket/index.js +0 -6
- package/esm5/services/websocket/models/index.js +0 -2
- package/esm5/services/websocket/models/primitive-manager.js +0 -58
- package/esm5/services/websocket/protocols/index.js +0 -1
- package/esm5/services/websocket/protocols/on-event-options.js +0 -1
- package/esm5/services/websocket/protocols/primitive-event.js +0 -1
- package/esm5/services/websocket/user-information.service.js +0 -38
- package/esm5/services/websocket/websocket.module.js +0 -24
- package/esm5/services/websocket/websocket.service.js +0 -410
- package/fesm2015/senior-agronegocio-angular-components.js.map +0 -1
- package/fesm5/senior-agronegocio-angular-components.js +0 -8646
- package/fesm5/senior-agronegocio-angular-components.js.map +0 -1
- package/senior-agronegocio-angular-components.d.ts +0 -6
- package/senior-agronegocio-angular-components.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"senior-agronegocio-angular-components.js","sources":["ng://@senior-agronegocio/angular-components/services/websocket/async-lock.ts","ng://@senior-agronegocio/angular-components/services/websocket/models/primitive-manager.ts","ng://@senior-agronegocio/angular-components/services/websocket/user-information.service.ts","ng://@senior-agronegocio/angular-components/services/websocket/websocket.service.ts","ng://@senior-agronegocio/angular-components/services/websocket/websocket.module.ts","ng://@senior-agronegocio/angular-components/services/i18n/pt-BR.ts","ng://@senior-agronegocio/angular-components/services/i18n/en-US.ts","ng://@senior-agronegocio/angular-components/services/i18n/es-CO.ts","ng://@senior-agronegocio/angular-components/enums/agro-entity-status.enum.ts","ng://@senior-agronegocio/angular-components/enums/agro-numbers.enum.ts","ng://@senior-agronegocio/angular-components/enums/agro-string-masks.enum.ts","ng://@senior-agronegocio/angular-components/enums/date-comparison-type.enum.ts","ng://@senior-agronegocio/angular-components/enums/http-codes.enum.ts","ng://@senior-agronegocio/angular-components/enums/number-comparison-type.enum.ts","ng://@senior-agronegocio/angular-components/enums/unit-measurement.enum.ts","ng://@senior-agronegocio/angular-components/common/agro-cookie-utils.class.ts","ng://@senior-agronegocio/angular-components/common/agro-object-utils.class.ts","ng://@senior-agronegocio/angular-components/common/agro-date-utils.class.ts","ng://@senior-agronegocio/angular-components/common/agro-regex.constant.ts","ng://@senior-agronegocio/angular-components/common/agro-string-utils.class.ts","ng://@senior-agronegocio/angular-components/common/agro-platform-utils.class.ts","ng://@senior-agronegocio/angular-components/common/agro-number-utils.class.ts","ng://@senior-agronegocio/angular-components/common/colors.class.ts","ng://@senior-agronegocio/angular-components/common/agro-name-utils.class.ts","ng://@senior-agronegocio/angular-components/common/agro-array-utils.class.ts","ng://@senior-agronegocio/angular-components/common/agro-logics.class.ts","ng://@senior-agronegocio/angular-components/common/agro-unit-converter.class.ts","ng://@senior-agronegocio/angular-components/services/lib-translation.service.ts","ng://@senior-agronegocio/angular-components/pipe/lib-translate.pipe.ts","ng://@senior-agronegocio/angular-components/lib-translation.module.ts","ng://@senior-agronegocio/angular-components/agro-angular-components.module.ts","ng://@senior-agronegocio/angular-components/form-validator/agro-form-validator.ts","ng://@senior-agronegocio/angular-components/pipe/kilogram/kilogram.pipe.ts","ng://@senior-agronegocio/angular-components/pipe/kilogram/kilogram.module.ts","ng://@senior-agronegocio/angular-components/pipe/cnpj-cpf/cnpj-cpf.pipe.ts","ng://@senior-agronegocio/angular-components/pipe/cnpj-cpf/cnpj-cpf.pipe.module.ts","ng://@senior-agronegocio/angular-components/common/agro-object-stringifier.class.ts","ng://@senior-agronegocio/angular-components/pipe/stringifier/stringifier.pipe.ts","ng://@senior-agronegocio/angular-components/pipe/stringifier/stringifier.pipe.module.ts","ng://@senior-agronegocio/angular-components/pipe/telephone/telephone.pipe.ts","ng://@senior-agronegocio/angular-components/pipe/telephone/telephone.pipe.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/shared.module.ts","ng://@senior-agronegocio/angular-components/components/event-steps/event-steps.component.ts","ng://@senior-agronegocio/angular-components/components/event-steps/event-steps.module.ts","ng://@senior-agronegocio/angular-components/services/producer-invoice/producer-invoice.ts","ng://@senior-agronegocio/angular-components/services/agro-entity-service.ts","ng://@senior-agronegocio/angular-components/services/producer-invoice/producer-invoice.service.ts","ng://@senior-agronegocio/angular-components/components/cancel-event-dialog/cancel-event-dialog.component.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/event-operation.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/input-fields.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/event-control-constants.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/event-origin.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/event-status.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/invoice-type.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/input-fields-translate.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/common/lookup-error-message.constants.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/event-control-item/event-control-item.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/event-control/event-control.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/paginator-storage.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/event-control-board.component.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e001pes/e001pes.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e001pes/e001pes.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e001tns/e001tns.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e001tns/e001tns.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e012fam/e012fam.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e070emp/e070emp.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e070emp/e070emp.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e070fil/e070fil.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e070fil/e070fil.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e075der/e075der.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e075der/e075der.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/e205dep/e205dep.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/event-control/event-control.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/event-control-item/event-control-item.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/external-invoice/external-invoice.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/external-invoice/external-invoice.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/invoice/invoice.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/invoice/invoice.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/origination/origination.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/origination/origination.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/rural-estate/rural-estate.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/rural-estate/rural-estate.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/ticket/ticket.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/ticket/ticket.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/transfer/transfer.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/transfer/transfer.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/fixation-entity/fixation.service.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/service/fixation-entity/fixation.module.ts","ng://@senior-agronegocio/angular-components/components/cancel-event-dialog/cancel-event-dialog.module.ts","ng://@senior-agronegocio/angular-components/components/event-control-board/event-control-board.module.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/services/agro-invoice/interfaces.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/services/agro-invoice/agro-invoice.service.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/modal-invoice-pj-base.class.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/services/agro-invoice/agro-invoice.module.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.component.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/modal-shared-imports.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/for-origination/modal-invoice-pj-for-origination.module.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.component.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/for-transfer/modal-invoice-pj-for-transfer.module.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.component.ts","ng://@senior-agronegocio/angular-components/components/modal-invoice-pj/for-fixation/modal-invoice-pj-for-fixation.module.ts","ng://@senior-agronegocio/angular-components/components/financial-title-table/services/financial/enums.ts","ng://@senior-agronegocio/angular-components/components/financial-title-table/services/financial/agro-financial.service.ts","ng://@senior-agronegocio/angular-components/components/financial-title-table/financial-title-table.component.ts","ng://@senior-agronegocio/angular-components/components/financial-title-table/financial-title-table.module.ts","ng://@senior-agronegocio/angular-components/senior-agronegocio-angular-components.ts"],"sourcesContent":["type QueueItem = () => void;\r\n\r\nexport class AsyncLock {\r\n private readonly queue: QueueItem[] = [];\r\n private acquired = false;\r\n\r\n public async acquire(): Promise<void> {\r\n if (!this.acquired) {\r\n this.acquired = true;\r\n return Promise.resolve();\r\n } else {\r\n return new Promise<void>((resolve, _) => {\r\n this.queue.push(resolve);\r\n });\r\n }\r\n }\r\n\r\n public async release(): Promise<void> {\r\n if (this.queue.length === 0 && this.acquired) {\r\n this.acquired = false;\r\n return Promise.resolve();\r\n }\r\n\r\n const continuation = this.queue.shift();\r\n return new Promise((res: QueueItem) => {\r\n continuation();\r\n res();\r\n });\r\n }\r\n}\r\n","import { StompSubscription } from \"@stomp/stompjs\";\r\nimport { BehaviorSubject, Observable, Subject } from \"rxjs\";\r\nimport { PrimitiveEvent } from \"../protocols/primitive-event\";\r\n\r\nexport class PrimitiveManager<T> {\r\n public domain: string;\r\n public service: string;\r\n public primitive: string;\r\n\r\n private readonly stompSubscriptions: StompSubscription[];\r\n private readonly event$: Subject<PrimitiveEvent<T>>;\r\n private readonly subscribed$: BehaviorSubject<boolean>;\r\n\r\n constructor(domain: string, service: string, primitive: string) {\r\n this.domain = domain;\r\n this.service = service;\r\n this.primitive = primitive;\r\n\r\n this.stompSubscriptions = [];\r\n this.event$ = new Subject<PrimitiveEvent<T>>();\r\n this.subscribed$ = new BehaviorSubject(false);\r\n }\r\n\r\n unsubscribe() {\r\n this.event$.complete();\r\n\r\n for (const stompSubscription of this.stompSubscriptions) {\r\n stompSubscription.unsubscribe();\r\n }\r\n\r\n this.subscribed$.complete();\r\n }\r\n\r\n fireEvent(event: PrimitiveEvent<T>) {\r\n this.event$.next(event);\r\n }\r\n\r\n subscribe(...subscriptions: StompSubscription[]) {\r\n this.stompSubscriptions.push(...subscriptions);\r\n this.subscribed$.next(true);\r\n }\r\n\r\n getEventObservable(): Observable<PrimitiveEvent<T>> {\r\n return this.event$.asObservable();\r\n }\r\n\r\n getSubscriptionObservable(): Observable<boolean> {\r\n return this.subscribed$.asObservable();\r\n }\r\n\r\n hasObservers(): boolean {\r\n // @IMPORTANT: Replace .observers.length === 1 with .observed in rxjs 7.0+\r\n return this.event$.observers.length !== 1;\r\n }\r\n\r\n getObserversCount(): number {\r\n return this.event$.observers.length;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { get as getCookie } from 'js-cookie';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserInformationService {\r\n private static readonly BASE_URL_COOKIE_KEY = 'com.senior.base.url';\r\n private static readonly TOKEN_COOKIE_KEY = 'com.senior.token';\r\n\r\n public getAuthToken() {\r\n const cookieValue = getCookie(UserInformationService.TOKEN_COOKIE_KEY) || '{}';\r\n const authToken = JSON.parse(cookieValue);\r\n return authToken.access_token;\r\n }\r\n\r\n public getTenantDomain() {\r\n const cookieValue = getCookie(UserInformationService.TOKEN_COOKIE_KEY) || '{}';\r\n const authToken = JSON.parse(cookieValue);\r\n return authToken.username.split('@')[1];\r\n }\r\n\r\n public getWebSocketUrl() {\r\n let baseUrl = getCookie(UserInformationService.BASE_URL_COOKIE_KEY);\r\n if (baseUrl && !baseUrl.endsWith('/')) {\r\n baseUrl += '/';\r\n }\r\n return baseUrl + 'websocket';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { filter, finalize, map, switchMap, take } from 'rxjs/operators';\r\nimport { Client, FrameImpl, StompConfig, StompSubscription } from '@stomp/stompjs';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nconst SockJS = require('sockjs-client');\r\nimport { AsyncLock } from './async-lock';\r\nimport { UserInformationService } from './user-information.service';\r\nimport { PrimitiveManager } from './models';\r\nimport { OnEventOptions, PrimitiveEvent } from './protocols';\r\n\r\nconst RECONNECT_INTERVAL_MILLISECONDS = 3000;\r\nconst CONNECTION_TIMEOUT_MILLISECONDS = 5000;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WebsocketService {\r\n private readonly connected$ = new BehaviorSubject<boolean>(false);\r\n private readonly disconnected$ = new Subject<void>();\r\n private readonly reconnected$ = new Subject<void>();\r\n private readonly error$ = new Subject<FrameImpl>();\r\n private readonly subscribed$ = new Subject<PrimitiveManager<any>>();\r\n\r\n private readonly primitiveManagers: Map<string, PrimitiveManager<any>> = new Map<string, PrimitiveManager<any>>();\r\n private readonly connectionLock = new AsyncLock();\r\n\r\n private stompClient: Client;\r\n private debugEnable = false;\r\n private lostConnection = false;\r\n\r\n constructor(private readonly userInformationService: UserInformationService) {\r\n }\r\n\r\n /**\r\n * Enables stompjs debug logs and additional info\r\n */\r\n public enableDebugLogs() {\r\n this.debugEnable = true;\r\n }\r\n\r\n /**\r\n * Manually starts the connection\r\n */\r\n public async connect() {\r\n await this.connectionLock.acquire();\r\n\r\n try {\r\n if (this.isConnected() || this.isConnecting()) {\r\n return;\r\n }\r\n this.lostConnection = false;\r\n\r\n const stompConfig: StompConfig = {\r\n webSocketFactory: () => {\r\n return new SockJS(\r\n this.getSubscriptionUrl(),\r\n null,\r\n {\r\n timeout: CONNECTION_TIMEOUT_MILLISECONDS\r\n }\r\n );\r\n },\r\n reconnectDelay: RECONNECT_INTERVAL_MILLISECONDS,\r\n debug: this.debug.bind(this),\r\n onConnect: this.handleOnConnected.bind(this),\r\n onDisconnect: this.handleOnDisconnect.bind(this),\r\n onWebSocketClose: this.handleOnWebSocketClose.bind(this),\r\n onStompError: this.handleOnStompError.bind(this),\r\n onWebSocketError: this.handleOnWebSocketError.bind(this)\r\n };\r\n\r\n this.debug('Connecting the Webscoket');\r\n\r\n this.stompClient = new Client(stompConfig);\r\n this.stompClient.activate();\r\n } finally {\r\n await this.connectionLock.release();\r\n }\r\n }\r\n\r\n /**\r\n * Manually disconnect the websocket. The reconnect loop will be stopped.\r\n */\r\n public async disconnect(): Promise<void> {\r\n if (!this.isConnected()) {\r\n return;\r\n }\r\n\r\n await this.connectionLock.acquire();\r\n try {\r\n for (const primitiveManager of this.primitiveManagers.values()) {\r\n primitiveManager.unsubscribe();\r\n }\r\n\r\n this.primitiveManagers.clear();\r\n this.connected$.next(false);\r\n\r\n if (this.stompClient) {\r\n await this.stompClient.deactivate();\r\n }\r\n } finally {\r\n await this.connectionLock.release();\r\n }\r\n }\r\n\r\n /**\r\n * Check if the websocket is connected\r\n * @return `boolean` representing if the websocket is connected\r\n */\r\n public isConnected(): boolean {\r\n if (!this.stompClient) {\r\n return false;\r\n }\r\n\r\n return this.stompClient.connected;\r\n }\r\n\r\n /**\r\n * Check if the websocket is tring to connect\r\n * @return `boolean` representing if the websocket status\r\n */\r\n public isConnecting(): boolean {\r\n if (!this.stompClient) {\r\n return false;\r\n }\r\n\r\n return !this.stompClient.connected && this.stompClient.active;\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when the connection is established.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<boolean>`\r\n */\r\n public onConnect(): Observable<boolean> {\r\n return this.connected$.asObservable()\r\n .pipe(filter(p => p === true));\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when the connection is closed.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<void>`\r\n */\r\n public onDisconnect(): Observable<void> {\r\n return this.disconnected$.asObservable();\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when the connection is reestablished.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<void>`\r\n */\r\n public onReconnect(): Observable<void> {\r\n return this.reconnected$.asObservable();\r\n }\r\n\r\n /**\r\n * Event responsable to emit an event when an error ocurred.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @return `Observable<FrameImpl>`\r\n */\r\n public onError(): Observable<FrameImpl> {\r\n return this.error$.asObservable();\r\n }\r\n\r\n /**\r\n * Event responsible to emit an event when a primitive is called.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @typeParam `<T>` Object type that will be used in the observable for the `data` property.\r\n * @param {OnEventOptions} options Configurations for the event.\r\n * @return `Observable<PrimitiveEvent<T>>` Observable that emits an event when the service calls the primitive.\r\n */\r\n public onEvent<T>(options: OnEventOptions): Observable<PrimitiveEvent<T>> {\r\n const { domain, service, primitive } = options;\r\n const key = this.buildPrimitiveManagerKey(domain, service, primitive);\r\n\r\n if (this.primitiveManagers.has(key)) {\r\n return this.primitiveManagers.get(key).getEventObservable();\r\n }\r\n\r\n const primitiveManager = new PrimitiveManager<T>(domain, service, primitive);\r\n this.primitiveManagers.set(key, primitiveManager);\r\n\r\n this.connect().then(() => {\r\n this.onConnect()\r\n .pipe(take(1))\r\n .subscribe(() => {\r\n this.createStompSubscriptions(primitiveManager);\r\n });\r\n });\r\n\r\n return primitiveManager\r\n .getEventObservable()\r\n .pipe(finalize(() => this.unsubscribePrimitiveOnFinalize(primitiveManager)));\r\n }\r\n\r\n /**\r\n * Event responsible to emit an event when a subscription is created for the primitive.\r\n * Do not forget to unsubscribe the observable when you don't need it anymore.\r\n * @param {OnEventOptions} options Configurations for the event.\r\n * Observable responsável por emitir uma notificação após o subscribe do evento pela primeira vez.\r\n * @return `Observable<boolean>` Observable that emits an event when the service calls the primitive.\r\n */\r\n public onSubscribe(options: OnEventOptions): Observable<boolean> {\r\n const { domain, service, primitive } = options;\r\n const key = this.buildPrimitiveManagerKey(domain, service, primitive);\r\n\r\n return this.onConnect().pipe(\r\n take(1),\r\n switchMap(() => {\r\n if (this.primitiveManagers.has(key)) {\r\n return this.primitiveManagers\r\n .get(key)\r\n .getSubscriptionObservable()\r\n .pipe(take(1));\r\n }\r\n\r\n return this.subscribed$.asObservable().pipe(\r\n filter((primitiveManager) => {\r\n return this.buildPrimitiveManagerKey(\r\n primitiveManager.domain,\r\n primitiveManager.service,\r\n primitiveManager.primitive\r\n ) === key;\r\n }),\r\n map(() => true),\r\n take(1)\r\n );\r\n })\r\n );\r\n }\r\n\r\n private debug(message: string, ...optionalParams: any[]) {\r\n if (!this.debugEnable) {\r\n return;\r\n }\r\n }\r\n\r\n private info(message: string) {\r\n console.info('WS info: ' + message);\r\n }\r\n\r\n private handleOnConnected() {\r\n this.info('Webscoket connected');\r\n\r\n this.connected$.next(true);\r\n if (this.lostConnection) {\r\n this.info('Webscoket reconnected, recriating subscriptions');\r\n this.handleReconnection();\r\n }\r\n }\r\n\r\n private handleOnDisconnect() {\r\n this.info('Webscoket disconnected');\r\n\r\n this.connected$.next(false);\r\n this.disconnected$.next();\r\n }\r\n\r\n private handleOnWebSocketClose(data: CloseEvent) {\r\n if (data?.reason?.toLowerCase().indexOf(\"go away\") !== -1) {\r\n this.lostConnection = true;\r\n this.handleError('AuthenticationError', new FrameImpl(\r\n {\r\n command: data.type,\r\n headers: {\r\n message: data.reason\r\n }\r\n }\r\n ));\r\n return;\r\n }\r\n\r\n if (data?.reason?.toLowerCase().indexOf(\"cannot connect to server\") !== -1) {\r\n this.lostConnection = true;\r\n this.handleError('ConnectionError', new FrameImpl(\r\n {\r\n command: data.type,\r\n headers: {\r\n message: data.reason\r\n }\r\n }\r\n ));\r\n return;\r\n }\r\n\r\n if (data.wasClean) {\r\n return;\r\n }\r\n\r\n this.lostConnection = true;\r\n }\r\n\r\n private handleOnStompError(data: FrameImpl) {\r\n this.handleError('StompError', data);\r\n\r\n if (this.isAuthenticationError(data)) {\r\n this.info('Authentication error, recriating subscriptions');\r\n this.handleReconnection();\r\n }\r\n }\r\n\r\n private isAuthenticationError(data: FrameImpl) {\r\n const errorMessage = data?.headers?.message;\r\n if (!errorMessage) {\r\n return false;\r\n }\r\n\r\n return errorMessage.toLowerCase().indexOf('forbiddenexception') !== -1;\r\n }\r\n\r\n private handleOnWebSocketError(data: any) {\r\n this.handleError('WebSocketError', data);\r\n }\r\n\r\n private handleError(origin: string, data: FrameImpl) {\r\n console.info(origin, data);\r\n this.error$.next(data);\r\n }\r\n\r\n private handleReconnection() {\r\n this.lostConnection = false;\r\n this.reconnectPrimitives();\r\n this.reconnected$.next();\r\n }\r\n\r\n private reconnectPrimitives(): void {\r\n for (const primitiveManager of this.primitiveManagers.values()) {\r\n this.createStompSubscriptions(primitiveManager);\r\n }\r\n }\r\n\r\n private buildSubscriptionUrlWithToken(domain: string, service: string, primitive: string): string {\r\n const authToken = this.userInformationService.getAuthToken();\r\n const tenant = this.userInformationService.getTenantDomain();\r\n return `/topic/${tenant}/${authToken}/${domain}/${service}/${primitive}`;\r\n }\r\n\r\n private getSubscriptionUrlWithoutToken(domain: string, service: string, primitive: string): string {\r\n const tenant = this.userInformationService.getTenantDomain();\r\n return `/topic/${tenant}/${domain}/${service}/${primitive}`;\r\n }\r\n\r\n private buildPrimitiveManagerKey(domain: string, service: string, primitive: string): string {\r\n return `${domain}/${service}/${primitive}`;\r\n }\r\n\r\n private async unsubscribePrimitiveOnFinalize(primitiveManager: PrimitiveManager<any>) {\r\n if (primitiveManager.hasObservers()) {\r\n return;\r\n }\r\n\r\n primitiveManager.unsubscribe();\r\n\r\n const key = this.buildPrimitiveManagerKey(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive);\r\n this.primitiveManagers.delete(key);\r\n\r\n await this.disconnectIfNoMoreObservables();\r\n }\r\n\r\n private async disconnectIfNoMoreObservables() {\r\n if (this.getObserversCount() === 0) {\r\n this.debug('Manually disconnecting because there are no more observers');\r\n await this.disconnect();\r\n }\r\n }\r\n\r\n private getObserversCount(): number {\r\n let observersCount = 0;\r\n\r\n this.primitiveManagers.forEach(primitiveManager => {\r\n observersCount += primitiveManager.getObserversCount();\r\n });\r\n\r\n return observersCount;\r\n }\r\n\r\n private createStompSubscription<T>(destination: string, primitiveManager: PrimitiveManager<T>): StompSubscription {\r\n return this.stompClient.subscribe(destination, (message: any) => {\r\n const event = JSON.parse(message.body || '{}');\r\n primitiveManager.fireEvent(event);\r\n });\r\n }\r\n\r\n private createStompSubscriptions<T>(primitiveManager: PrimitiveManager<T>): void {\r\n const subscriptionUrlWithToken = this.buildSubscriptionUrlWithToken(\r\n primitiveManager.domain,\r\n primitiveManager.service,\r\n primitiveManager.primitive\r\n );\r\n const subscriptionUrlWithoutToken = this.getSubscriptionUrlWithoutToken(\r\n primitiveManager.domain,\r\n primitiveManager.service,\r\n primitiveManager.primitive\r\n );\r\n\r\n const stompSubscriptionWithToken = this.createStompSubscription(subscriptionUrlWithToken, primitiveManager);\r\n const stompSubscriptionWithoutToken = this.createStompSubscription(subscriptionUrlWithoutToken, primitiveManager);\r\n primitiveManager.subscribe(stompSubscriptionWithToken, stompSubscriptionWithoutToken);\r\n this.subscribed$.next(primitiveManager);\r\n }\r\n\r\n private getSubscriptionUrl() {\r\n return `${this.userInformationService.getWebSocketUrl()}/subscription`;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { WebsocketService } from './websocket.service';\r\nimport { UserInformationService } from './user-information.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [],\r\n providers: [\r\n WebsocketService,\r\n UserInformationService\r\n ],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class WebsocketModule { }\r\n","const ptBR = {\r\n \"agro.angular_components.table_empty_description\": \"Altere os filtros acima para gerar outros resultados de busca\",\r\n \"agro.angular_components.nothing_found\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.panel_title_events_events\": \"Eventos\",\r\n \"agro.angular_components.refresh\": \"Atualizar\",\r\n \"agro.angular_components.event_control_header\": \"Consulta de eventos/integrações\",\r\n \"agro.angular_components.no\": \"Não\",\r\n \"agro.angular_components.yes\": \"Sim\",\r\n \"agro.angular_components.event_modal_title\": \"Reprocessamento de Eventos\",\r\n \"agro.angular_components.event_modal\": \"Deseja reprocessar o evento?\",\r\n \"agro.angular_components.reprocess_event\": \"Reprocessar evento\",\r\n \"agro.angular_components.events_close\": \"Fechar\",\r\n \"agro.angular_components.event_error_message\": \"Mensagem de erro\",\r\n \"agro.angular_components.last_update_date\": \"Última atualização\",\r\n \"agro.angular_components.show_event_details\": \"Detalhes do evento\",\r\n \"agro.angular_components.pending\": \"Pendente\",\r\n \"agro.angular_components.processing\": \"Processando\",\r\n \"agro.angular_components.panel_title_events_ended_with_error\": \"Falha\",\r\n \"agro.angular_components.tickets\": \"Tickets\",\r\n \"agro.angular_components.rural_estate\": \"Imóvel Rural\",\r\n \"agro.angular_components.change_request_event_summary\": \"Alteração de \\nPesagem\",\r\n \"agro.angular_components.ticket_maintenance_header\": \"Manutenção de ticket\",\r\n \"agro.angular_components.invoice_creating_event\": \"Emissão de NF\",\r\n \"agro.angular_components.balance_entry_control_event\": \"Entrada/saída balança\",\r\n \"agro.angular_components.event_origin_label\": \"Origem do evento\",\r\n \"agro.angular_components.event_details_header\": \"Detalhes do Evento\",\r\n \"agro.angular_components.registers_found\": \"{total} registro(s) encontrado(s)\",\r\n \"agro.angular_components.change_request_event\": \"Alteração de Pesagem\",\r\n \"agro.angular_components.status_label\": \"Status\",\r\n \"agro.angular_components.panel_title_events_completed_successfully\": \"Sucesso\",\r\n \"agro.angular_components.supplier\": \"Fornecedor\",\r\n \"agro.angular_components.ticket\": \"Ticket\",\r\n \"agro.angular_components.company\": \"Empresa\",\r\n \"agro.angular_components.label_branch\": \"Filial\",\r\n \"agro.angular_components.event_sidebar_title\": \"Evento {eventNumber}\",\r\n \"agro.angular_components.reprocessing_event_message_title\": \"Reprocessando Evento\",\r\n \"agro.angular_components.reprocessing_event_message_description\": \"O evento selecionado está sendo reprocessado.\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\": \"Erro ao reprocessar evento\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\": \"Houve um erro ao reprocessar o evento. Tente novamente mais tarde.\",\r\n \"agro.angular_components.actions\": \"Ações\",\r\n \"agro.angular_components.add\": \"Adicionar\",\r\n \"agro.angular_components.at_date\": \"Na data\",\r\n \"agro.angular_components.at_time\": \"Na hora\",\r\n \"agro.angular_components.cancel\": \"Cancelar\",\r\n \"agro.angular_components.clear\": \"Limpar\",\r\n \"agro.angular_components.created_by\": \"Criado por\",\r\n \"agro.angular_components.delete\": \"Excluir\",\r\n \"agro.angular_components.delete_confirmation_message\": \"Tem certeza que deseja excluir este item?\",\r\n \"agro.angular_components.delete_confirmation_title\": \"Confirmação de exclusão\",\r\n \"agro.angular_components.deleted_message_content\": \"Item excluído com sucesso\",\r\n \"agro.angular_components.deleted_message_title\": \"Exclusão realizada\",\r\n \"agro.angular_components.e_070_emp_cod_emp\": \"Código da empresa\",\r\n \"agro.angular_components.e_070_emp_created_by\": \"Criado por\",\r\n \"agro.angular_components.e_070_emp_created_date\": \"Data de criação\",\r\n \"agro.angular_components.e_070_emp_id\": \"Id\",\r\n \"agro.angular_components.e_070_emp_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.e_070_emp_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.e_070_emp_nom_emp\": \"Nome da empresa\",\r\n \"agro.angular_components.e_070_emp_sig_emp\": \"Nome fantasia / Sigla da empresa\",\r\n \"agro.angular_components.e_070_fil_cid_fil\": \"Cidade\",\r\n \"agro.angular_components.e_070_fil_cod_fil\": \"Código da filial\",\r\n \"agro.angular_components.e_070_fil_created_by\": \"Criado por\",\r\n \"agro.angular_components.e_070_fil_created_date\": \"Data de criação\",\r\n \"agro.angular_components.e_070_fil_id\": \"Id\",\r\n \"agro.angular_components.e_070_fil_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.e_070_fil_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.e_070_fil_nom_fil\": \"Nome da filial\",\r\n \"agro.angular_components.e_070_fil_num_cgc\": \"CNPJ\",\r\n \"agro.angular_components.e_070_fil_num_fon\": \"Numero Telefone\",\r\n \"agro.angular_components.e_070_fil_sig_fil\": \"Nome fantasia da filial\",\r\n \"agro.angular_components.edit\": \"Editar\",\r\n \"agro.angular_components.error_forbidden_description\": \"Você não tem permissão para acessar este recurso\",\r\n \"agro.angular_components.error_forbidden_title\": \"Acesso negado\",\r\n \"agro.angular_components.error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.error_max_length\": \"O valor máximo de caracteres é {0}\",\r\n \"agro.angular_components.error_max_value\": \"O valor máximo é {0}\",\r\n \"agro.angular_components.error_min_length\": \"O valor mínimo de caracteres é {valor}\",\r\n \"agro.angular_components.error_min_value\": \"O valor mínimo é {0}\",\r\n \"agro.angular_components.error_not_found_description\": \"O recurso solicitado não foi encontrado\",\r\n \"agro.angular_components.error_not_found_title\": \"Não encontrado\",\r\n \"agro.angular_components.error_required\": \"Campo obrigatório\",\r\n \"agro.angular_components.error_server_description\": \"Ocorreu um erro ao processar sua solicitação. Por favor, tente novamente\",\r\n \"agro.angular_components.error_server_title\": \"Erro no servidor\",\r\n \"agro.angular_components.error_server_try_again\": \"Tente novamente\",\r\n \"agro.angular_components.error_unauthorized_description\": \"Você não está autorizado a acessar este recurso\",\r\n \"agro.angular_components.error_unauthorized_title\": \"Não autorizado\",\r\n \"agro.angular_components.event_control\": \"Controle de eventos\",\r\n \"agro.angular_components.event_control_created_by\": \"Criado por\",\r\n \"agro.angular_components.event_control_created_date\": \"Data de criação\",\r\n \"agro.angular_components.event_control_e_070_emp\": \"Empresa\",\r\n \"agro.angular_components.event_control_e_070_emp_search_title\": \"Selecione a empresa\",\r\n \"agro.angular_components.event_control_e_070_fil\": \"Filial\",\r\n \"agro.angular_components.event_control_e_070_fil_search_title\": \"Selecione a filial\",\r\n \"agro.angular_components.event_control_empty_state_description\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_empty_state_title\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_event_origin\": \"Origem do evento\",\r\n \"agro.angular_components.event_control_event_origin_placeholder\": \"Selecione a origem do evento\",\r\n \"agro.angular_components.event_control_external_id\": \"Id externo\",\r\n \"agro.angular_components.event_control_form_general_title\": \"Geral\",\r\n \"agro.angular_components.event_control_form_title\": \"Controle de eventos\",\r\n \"agro.angular_components.event_control_id\": \"Id da entidade\",\r\n \"agro.angular_components.event_control_item\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_created_by\": \"Criado por\",\r\n \"agro.angular_components.event_control_item_created_date\": \"Data de criação\",\r\n \"agro.angular_components.event_control_item_empty_state_description\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_item_empty_state_title\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.event_control_item_event_control\": \"eventControlId\",\r\n \"agro.angular_components.event_control_item_event_control_search_title\": \"Selecione o controle de eventos\",\r\n \"agro.angular_components.event_control_item_event_group\": \"Grupo do evento\",\r\n \"agro.angular_components.event_control_item_event_operation\": \"Tipo da operação do evento\",\r\n \"agro.angular_components.event_control_item_event_operation_placeholder\": \"Selecione o tipo da operação do evento\",\r\n \"agro.angular_components.event_control_item_form_general_title\": \"Geral\",\r\n \"agro.angular_components.event_control_item_form_title\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_id\": \"Id da entidade\",\r\n \"agro.angular_components.event_control_item_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.event_control_item_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.event_control_item_list_grid_title\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_list_title\": \"Itens do controle de eventos\",\r\n \"agro.angular_components.event_control_item_message\": \"Mensagem de evento\",\r\n \"agro.angular_components.event_control_item_param\": \"Parâmetros do evento\",\r\n \"agro.angular_components.event_control_item_request\": \"Solicitação recebida\",\r\n \"agro.angular_components.event_control_item_response\": \"Resposta enviada\",\r\n \"agro.angular_components.event_control_item_sequence\": \"Sequência do evento\",\r\n \"agro.angular_components.event_control_item_status\": \"Status do evento\",\r\n \"agro.angular_components.event_control_item_status_placeholder\": \"Selecione o status do evento\",\r\n \"agro.angular_components.event_control_last_modified_by\": \"Última modificação por\",\r\n \"agro.angular_components.event_control_last_modified_date\": \"Data da última modificação\",\r\n \"agro.angular_components.event_control_list_grid_title\": \"Controle de eventos\",\r\n \"agro.angular_components.event_control_list_title\": \"Controle de eventos\",\r\n \"agro.angular_components.event_operation_change_request\": \"Solicitação de alteração\",\r\n \"agro.angular_components.event_operation_change_response\": \"Resposta de alteração\",\r\n \"agro.angular_components.event_operation_effective\": \"Efetivo\",\r\n \"agro.angular_components.event_operation_effective_confirmation\": \"Confirmação de efetivação\",\r\n \"agro.angular_components.event_operation_invoice_closing\": \"Fechamento de nota fiscal\",\r\n \"agro.angular_components.event_operation_invoice_creating\": \"Criação de nota fiscal\",\r\n \"agro.angular_components.event_operation_invoice_installments\": \"Parcelamento de no\",\r\n \"agro.angular_components.event_operation_provesional\": \"Saldo Provisório\",\r\n \"agro.angular_components.event_operation_remove_provisional\": \"Remoção de Saldo provisório\",\r\n \"agro.angular_components.event_operation_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_origin_balance_entry_control\": \"Controle de lançamento de saldo\",\r\n \"agro.angular_components.event_origin_change_request\": \"Solicitação de alteração\",\r\n \"agro.angular_components.event_origin_invoice\": \"Invoice\",\r\n \"agro.angular_components.event_origin_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_status_canceled\": \"Cancelado\",\r\n \"agro.angular_components.event_status_failed\": \"Falha\",\r\n \"agro.angular_components.event_status_pending\": \"Pendente\",\r\n \"agro.angular_components.event_status_processing\": \"Processado\",\r\n \"agro.angular_components.event_status_success\": \"Sucesso\",\r\n \"agro.angular_components.filter\": \"Filtrar\",\r\n \"agro.angular_components.filters\": \"Filtros\",\r\n \"agro.angular_components.list_grid_empty_field\": \"Nenhum registro encontrado\",\r\n \"agro.angular_components.product_header_title\": \"Eventos\",\r\n \"agro.angular_components.save\": \"Salvar\",\r\n \"agro.angular_components.select\": \"Selecione\",\r\n \"agro.angular_components.updated_by\": \"Atualizado por\",\r\n \"error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.choose_label\": \"Escolha\",\r\n \"agro.angular_components.remove_label\": \"Remover\",\r\n \"agro.angular_components.cancel_label\": \"Cancelar\",\r\n \"agro.angular_components.success_tooltip\": \"Sucesso\",\r\n \"agro.angular_components.menu_agro_events\": \"Eventos do Agro\",\r\n \"agro.angular_components.date\": \"Data\",\r\n \"agro.angular_components.label_code_branch\": \"Código da filial\",\r\n \"agro.angular_components.label_code_company\": \"Código da empresa\",\r\n \"agro.angular_components.label_code_deposit\": \"Código do depósito\",\r\n \"agro.angular_components.label_code\": \"Código\",\r\n \"agro.angular_components.label_company\": \"Empresa\",\r\n \"platform.backend.agro_origination_entry_control\": \"Controle entrada/saída via balança\",\r\n \"platform.backend.agro_origination_entry_exit_query\": \"Consulta entrada/saída\",\r\n \"platform.backend.agro_origination_links\": \"Ligações\",\r\n \"agro.angular_components.fantasy_name\": \"Nome fantasia\",\r\n \"platform.backend.agro_origination_operation_versus_transaction_link\": \"Ligação operação x transação\",\r\n \"platform.backend.menu_event_control\": \"Consulta de eventos/integrações\",\r\n \"agro.angular_components.company_search_label\": \"Consultar Empresa\",\r\n \"agro.angular_components.company_tooltip\": \"Selecione uma empresa para prosseguir\",\r\n \"agro.angular_components.branch_search_label\": \"Consultar Filial\",\r\n \"agro.angular_components.branch_tooltip\": \"Encontre as filiais da empresa\",\r\n \"agro.angular_components.dash\": \"-\",\r\n \"agro.angular_components.ticket_tooltip\": \"Adicione o número do ticket para especificar na busca\",\r\n \"agro.angular_components.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.grain_classification.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.angular_components.kilogram_unit_label\": \"KG\",\r\n \"agro.angular_components.event_list_header\": \"Lista de Eventos\",\r\n \"agro.angular_components.ticket_event\": \"Emissão do Ticket\",\r\n \"agro.angular_components.provisional_event\": \"Saldo provisório\",\r\n \"agro.angular_components.effective_event\": \"Saldo efetivo\",\r\n \"agro.angular_components.effective_confirmation_event\": \"Confirmação saldo efetivo\",\r\n \"agro.angular_components.remove_provisional_event\": \"Remover Saldo Provisório\",\r\n \"agro.angular_components.canceled\": \"Cancelado\",\r\n \"agro.angular_components.label_number\": \"Ticket\",\r\n \"agro.angular_components.cnpj\": \"CNPJ\",\r\n \"agro.angular_components.label_city\": \"Cidade\",\r\n \"agro.angular_components.menu_event_control\": \"Consulta de eventos/integrações\",\r\n \"agro.angular_components.transfer_origin_event\": \"Transferência entre Produtores\",\r\n \"agro.angular_components.generation_of_invoice_installments\": \"Geração das parcelas da nota fiscal\",\r\n \"agro.angular_components.invoice_canceled\": \"Fechamento da nota fiscal\",\r\n \"agro.angular_components.CANCEL_INVOICE\": \"Cancelamento de nota fiscal\",\r\n \"agro.angular_components.EFFECTIVE_CONFIRMATION\": \"Confirmação efetiva\",\r\n \"agro.angular_components.CHANGE_REQUEST\": \"Solicitação de alteração\",\r\n \"agro.angular_components.CHANGE_RESPONSE\": \"Resposta da solicitação de alteração\",\r\n \"agro.angular_components.PROCESS_FIXATION\": \"Processa a fixação\",\r\n \"agro.angular_components.TRANSFER_CREATE_INCOMING_INVOICE\": \"Emissão NF de entrada\",\r\n \"agro.angular_components.TRANSFER_CREATE_OUTGOING_INVOICE\": \"Emissão NF de saída\",\r\n \"agro.angular_components.TRANSFER_PRODUCER_BALANCE\": \"Transferência de saldo entre produtores\",\r\n \"agro.angular_components.control_code\": \"Identificador\",\r\n \"agro.angular_components.fixation_event\": \"Fixação\",\r\n \"agro.angular_components.FINISH_FINANCIAL_FIXATION\": \"Emissão/Baixa de títulos\",\r\n \"agro.angular_components.FINISH_PRODUCER_NET_VALUE_FIXATION\": \"Atualização de saldos\",\r\n \"agro.angular_components.CONCLUDE_FIXATION\": \"Conclusão da fixação\",\r\n \"agro.angular_components.CANCEL_FINANCIAL_FIXATION\": \"Cancela emissão de títulos\",\r\n \"agro.angular_components.CANCEL_PRODUCER_NET_VALUE_FIXATION\": \"Reverte atualização de saldos\",\r\n \"agro.angular_components.CANCEL_FIXATION\": \"Cancela fixação\",\r\n \"agro.angular_components.cancel_fixation_title\": \"Cancelar fixação\",\r\n \"agro.angular_components.cancel_fixation_description\": \"Tem certeza que deseja cancelar a fixação?\",\r\n \"agro.angular_components.error_cancel_fixation_message_title\": \"Erro ao cancelar fixação\",\r\n \"agro.angular_components.error_cancel_fixation_message_description\": \"Houve um erro ao cancelar a fixação. Tente novamente mais tarde.\",\r\n \"agro.angular_components.cancel_fixation_message_title\": \"Cancelamento de fixação\",\r\n \"agro.angular_components.cancel_fixation_message_description\": \"O processo de cancelamento da fixação foi iniciado com sucesso.\",\r\n \"agro.angular_components.warn_cancel_fixation_message_title\": \"Cancelamento de fixação\",\r\n \"agro.angular_components.warn_cancel_fixation_message_description\": \"Não é permitido cancelar a fixação de compra imediata.\",\r\n \"agro.angular_components.warn_immediate_cancel_fixation_message_description\": \"Não é possível cancelar uma fixação realizada via compra imediata.\",\r\n \"agro.angular_components.cancel_fixation_event\": \"Cancelamento de fixação\",\r\n \"agro.angular_components.invoice_type_INCOMING\": \"Entrada\",\r\n \"agro.angular_components.invoice_type_COMPLEMENT\": \"Complementar\",\r\n \"agro.angular_components.invoice_type_ADJUSTMENT\": \"Ajuste\",\r\n \"agro.angular_components.invoice_type_OUTGOING\": \"Saída\",\r\n \"agro.angular_components.invoice_type_RETURN\": \"Devolução\",\r\n \"agro.angular_components.invoice_type_SERVICE\": \"Serviço\",\r\n \"agro.angular_components.invoice_type_SYMBOLIC_RETURN\": \"Devolução simbólica\",\r\n \"agro.angular_components.cancel_reason\": \"Motivo do cancelamento\",\r\n \"agro.angular_components.TRANSFER_CANCEL_INCOMING_INVOICE\": \"Cancelamento de NF de entrada\",\r\n \"agro.angular_components.TRANSFER_CANCEL_OUTGOING_INVOICE\": \"Cancelamento de NF de saída \",\r\n \"agro.angular_components.TRANSFER_REVERSE_PRODUCER_BALANCE\": \"Estorno dos saldos de produtores\",\r\n \"agro.angular_components.TRANSFER_CONCLUDE_CANCEL\": \"Conclusão do cancelamento\",\r\n \"agro.angular_components.transfer_cancellation_event\": \"Cancelamento de transferência\",\r\n \"agro.angular_components.CREATE_INVOICE_FIXATION\": \"Emissão de NF\",\r\n \"agro.angular_components.CANCEL_INVOICE_FIXATION\": \"Cancelamento de NF\",\r\n \"agro.angular_components.ORIGINATION_CREATE_INVOICE\": \"Emissão de NF\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_BALANCE\": \"Emissão de saldo efetivo\",\r\n \"agro.angular_components.PRODUCER_NET_VALUE_EFFECTIVE_BALANCE_CONFIRMATION\": \"Confirmação de saldo efetivo\",\r\n \"agro.angular_components.CLOSE_INVOICE_FIXATION\": \"Fechamento de NF\",\r\n \"agro.angular_components.INVOICE_CLOSE_INVOICE\": \"Solicitação de cancelamento da NF\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\": \"Confirmação efetiva\",\r\n \"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE\": \"Saldo provisório\",\r\n \"agro.angular_components.CLOSE_INVOICE_TRANSFER\": \"Fechamento de NF\",\r\n \"agro.angular_components.REOPEN_INVOICE_TRANSFER\": \"Reabertura da NF\",\r\n \"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE\": \"Criação de título financeiro\",\r\n \"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE\": \"Cancelamento de título financeiro\",\r\n \"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE\": \"Emissão NF de serviço\",\r\n \"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE\": \"Cancelamento de NF de serviço\",\r\n \"agro.angular_components.REOPEN_INVOICE_FIXATION\": \"Reabertura da NF\",\r\n \"agro.angular_components.CIDASC_INTEGRATION\": \"Envio ao Cidasc\",\r\n \"agro.angular_components.CIDASC_CANCELLATION\": \"Cancelamento do Receituário\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_CULTURE\": \"Carga Cidasc - Cultura\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PEST\": \"Carga Cidasc - Praga\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT\": \"Carga Cidasc - Produto\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT\": \"Carga Cidasc - Unidade de medida\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT\": \"Carga Cidasc - Medida por hectare\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD\": \"Carga de dados do NovoReceituário\",\r\n \"agro.angular_components.agronomic_prescription_origin_event\": \"Receituário Agronômico\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\": \"Carga de dados do NovoReceituário - Tipo de Produto\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\": \"Carga de dados do NovoReceituário - Princípio Ativo\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_FORMULATION\": \"Carga de dados do NovoReceituário - Formulação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_BULLETIN\": \"Carga de dados do NovoReceituário - Bula\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\": \"Carga de dados do NovoReceituário - Unidade de aplicação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_SPECIE\": \"Carga de dados do NovoReceituário - Espécie\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\": \"Carga de dados do NovoReceituário - Tipo de aplicação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PROBLEMS\": \"Carga de dados do NovoReceituário - Pragas e problemas\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION\": \"Carga de dados do NovoReceituário - Aplicação\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_END\": \"Carga de dados do NovoReceituário - Finalizar integração\",\r\n \"agro.angular_components.new_prescription_page\": \"Parte {count}\",\r\n \"agro.angular_components.number_or_series\": \"Número\",\r\n \"agro.angular_components.panel_title_external_invoice_add_external_invoice\": \"Adicionar nota fiscal\",\r\n \"agro.angular_components.add_pj_invoice_modal_no_invoices_found\": \"Nenhuma nota fiscal disponível para este produtor\",\r\n \"agro.angular_components.number\": \"Número\",\r\n \"agro.angular_components.series\": \"Série\",\r\n \"agro.angular_components.itens\": \"Itens\",\r\n \"agro.angular_components.quantity\": \"Quantidade\",\r\n \"agro.angular_components.issuance_date\": \"Data de emissão\",\r\n \"agro.angular_components.no_register_found_for_external_invoices_summary\": \"Nenhuma nota encontrada\",\r\n \"agro.angular_components.total_value\": \"Valor total\",\r\n \"agro.angular_components.value_linked\": \"Valor vinculado\",\r\n \"agro.angular_components.no_accounts_found_title\": \"Nenhuma conta encontrada\",\r\n \"agro.angular_components.no_accounts_found_description\": \"Não foram encontradas contas para o produtor selecionado.\",\r\n \"agro.angular_components.details\": \"Detalhes\",\r\n \"agro.angular_components.error_less_or_equal_zero\": \"O valor da baixa deve ser maior que zero\",\r\n \"agro.angular_components.error_greater_than_allowed\": \"O valor da baixa deve ser menor ou igual ao valor líquido\",\r\n \"agro.angular_components.account_details\": \"Detalhes do título - \",\r\n \"agro.angular_components.status_open\": \"Aberto\",\r\n \"agro.angular_components.status_paid\": \"Pago\",\r\n \"agro.angular_components.title\": \"Título\",\r\n \"agro.angular_components.type\": \"Tipo\",\r\n \"agro.angular_components.entry\": \"Entrada\",\r\n \"agro.angular_components.due_date\": \"Vencimento\",\r\n \"agro.angular_components.original_value\": \"Valor original\",\r\n \"agro.angular_components.open_value\": \"Valor aberto\",\r\n \"agro.angular_components.value_net\": \"Valor líquido\",\r\n \"agro.angular_components.value_to_pay\": \"Valor baixa\",\r\n \"agro.angular_components.branch\": \"Filial\",\r\n \"agro.angular_components.producer\": \"Produtor\",\r\n \"agro.angular_components.value_fees\": \"Valor de juros\",\r\n \"agro.angular_components.value_fine\": \"Valor de multa\",\r\n \"agro.angular_components.value_charge\": \"Valor de cobrança\",\r\n \"agro.angular_components.value_correction\": \"Valor de correção\",\r\n \"agro.angular_components.value_additional\": \"Valor adicional\",\r\n \"agro.angular_components.value_discount\": \"Descontos\",\r\n \"agro.angular_components.value_other_discount\": \"Outros descontos\",\r\n \"agro.angular_components.error_loading_accounts_title\": \"Erro ao carregar contas\",\r\n \"agro.angular_components.error_loading_accounts_description\": \"Ocorreu um erro ao carregar as contas do produtor. Tente novamente mais tarde.\",\r\n \"agro.angular_components.close\": \"Fechar\",\r\n \"agro.angular_components.value_paid\": \"Valor a pagar\",\r\n \"agro.angular_components.timeout_request_error\": \"Tempo de requisição excedida. Tente novamente mais tarde.\",\r\n \"agro.angular_components.max_linked_invoices\": \"Valor máximo de notas vinculadas atingido\",\r\n \"agro.angular_components.max_linked_invoices_description\": \"Todos os itens de fixação já estão com o valor máximo de notas vinculadas\",\r\n \"agro.angular_components.invoice_created_successfully\": \"Nota fiscal criada com sucesso.\",\r\n \"agro.angular_components.invoice_already_linked\": \"Nota fiscal já está totalmente vinculada a outro item\",\r\n \"agro.angular_components.link_invoice\": \"Vincular nota fiscal\",\r\n \"agro.grain_classification.label_number\": \"Ticket\",\r\n \"agro.grain_classification.origination_create_stock_movement\": \"Movimentação de estoque\",\r\n};\r\nexport default ptBR;\r\n","const enUS = {\r\n \"agro.angular_components.table_empty_description\": \"Change the filters above to generate other search results\",\r\n \"agro.angular_components.nothing_found\": \"No records found\",\r\n \"agro.angular_components.panel_title_events_events\": \"Events\",\r\n \"agro.angular_components.refresh\": \"Refresh\",\r\n \"agro.angular_components.event_control_header\": \"Event/Integration Query\",\r\n \"agro.angular_components.no\": \"No\",\r\n \"agro.angular_components.yes\": \"Yes\",\r\n \"agro.angular_components.event_modal_title\": \"Event Reprocessing\",\r\n \"agro.angular_components.event_modal\": \"Do you want to reprocess the event?\",\r\n \"agro.angular_components.reprocess_event\": \"Reprocess event\",\r\n \"agro.angular_components.events_close\": \"Close\",\r\n \"agro.angular_components.event_error_message\": \"Error message\",\r\n \"agro.angular_components.last_update_date\": \"Last update\",\r\n \"agro.angular_components.show_event_details\": \"Event details\",\r\n \"agro.angular_components.pending\": \"Pending\",\r\n \"agro.angular_components.processing\": \"Processing\",\r\n \"agro.angular_components.panel_title_events_ended_with_error\": \"Failure\",\r\n \"agro.angular_components.tickets\": \"Tickets\",\r\n \"agro.angular_components.rural_estate\": \"Rural Estate\",\r\n \"agro.angular_components.change_request_event_summary\": \"Weight Change\",\r\n \"agro.angular_components.ticket_maintenance_header\": \"Ticket Maintenance\",\r\n \"agro.angular_components.invoice_creating_event\": \"Invoice Issuance\",\r\n \"agro.angular_components.balance_entry_control_event\": \"Balance Entry/Exit\",\r\n \"agro.angular_components.event_origin_label\": \"Event origin\",\r\n \"agro.angular_components.event_details_header\": \"Event Details\",\r\n \"agro.angular_components.registers_found\": \"{total} record(s) found\",\r\n \"agro.angular_components.change_request_event\": \"Weight Change\",\r\n \"agro.angular_components.status_label\": \"Status\",\r\n \"agro.angular_components.panel_title_events_completed_successfully\": \"Success\",\r\n \"agro.angular_components.supplier\": \"Supplier\",\r\n \"agro.angular_components.ticket\": \"Ticket\",\r\n \"agro.angular_components.company\": \"Company\",\r\n \"agro.angular_components.label_branch\": \"Branch\",\r\n \"agro.angular_components.event_sidebar_title\": \"Event - {event}\",\r\n \"agro.angular_components.reprocessing_event_message_title\": \"Reprocessing Event\",\r\n \"agro.angular_components.reprocessing_event_message_description\": \"The selected event is being reprocessed.\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\": \"Error reprocessing event\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\":\r\n \"There was an error reprocessing the event. Please try again later.\",\r\n \"agro.angular_components.actions\": \"Actions\",\r\n \"agro.angular_components.add\": \"Add\",\r\n \"agro.angular_components.at_date\": \"On date\",\r\n \"agro.angular_components.at_time\": \"At time\",\r\n \"agro.angular_components.cancel\": \"Cancel\",\r\n \"agro.angular_components.clear\": \"Clear\",\r\n \"agro.angular_components.created_by\": \"Created by\",\r\n \"agro.angular_components.delete\": \"Delete\",\r\n \"agro.angular_components.delete_confirmation_message\": \"Are you sure you want to delete this item?\",\r\n \"agro.angular_components.delete_confirmation_title\": \"Delete Confirmation\",\r\n \"agro.angular_components.deleted_message_content\": \"Item successfully deleted\",\r\n \"agro.angular_components.deleted_message_title\": \"Deletion completed\",\r\n \"agro.angular_components.e_070_emp_cod_emp\": \"Company code\",\r\n \"agro.angular_components.e_070_emp_created_by\": \"Created by\",\r\n \"agro.angular_components.e_070_emp_created_date\": \"Creation date\",\r\n \"agro.angular_components.e_070_emp_id\": \"Id\",\r\n \"agro.angular_components.e_070_emp_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.e_070_emp_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.e_070_emp_nom_emp\": \"Company name\",\r\n \"agro.angular_components.e_070_emp_sig_emp\": \"Trade name / Company acronym\",\r\n \"agro.angular_components.e_070_fil_cid_fil\": \"City\",\r\n \"agro.angular_components.e_070_fil_cod_fil\": \"Branch code\",\r\n \"agro.angular_components.e_070_fil_created_by\": \"Created by\",\r\n \"agro.angular_components.e_070_fil_created_date\": \"Creation date\",\r\n \"agro.angular_components.e_070_fil_id\": \"Id\",\r\n \"agro.angular_components.e_070_fil_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.e_070_fil_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.e_070_fil_nom_fil\": \"Branch name\",\r\n \"agro.angular_components.e_070_fil_num_cgc\": \"CNPJ\",\r\n \"agro.angular_components.e_070_fil_num_fon\": \"Phone number\",\r\n \"agro.angular_components.e_070_fil_sig_fil\": \"Branch trade name\",\r\n \"agro.angular_components.edit\": \"Edit\",\r\n \"agro.angular_components.error_forbidden_description\": \"You do not have permission to access this resource\",\r\n \"agro.angular_components.error_forbidden_title\": \"Access denied\",\r\n \"agro.angular_components.error_invalid\": \"Invalid value\",\r\n \"agro.angular_components.error_max_length\": \"The maximum number of characters is {0}\",\r\n \"agro.angular_components.error_max_value\": \"The maximum value is {0}\",\r\n \"agro.angular_components.error_min_length\": \"The minimum number of characters is {valor}\",\r\n \"agro.angular_components.error_min_value\": \"The minimum value is {0}\",\r\n \"agro.angular_components.error_not_found_description\": \"The requested resource was not found\",\r\n \"agro.angular_components.error_not_found_title\": \"Not found\",\r\n \"agro.angular_components.error_required\": \"Required field\",\r\n \"agro.angular_components.error_server_description\": \"An error occurred while processing your request. Please try again\",\r\n \"agro.angular_components.error_server_title\": \"Server error\",\r\n \"agro.angular_components.error_server_try_again\": \"Try again\",\r\n \"agro.angular_components.error_unauthorized_description\": \"You are not authorized to access this resource\",\r\n \"agro.angular_components.error_unauthorized_title\": \"Unauthorized\",\r\n \"agro.angular_components.event_control\": \"Event control\",\r\n \"agro.angular_components.event_control_created_by\": \"Created by\",\r\n \"agro.angular_components.event_control_created_date\": \"Creation date\",\r\n \"agro.angular_components.event_control_e_070_emp\": \"Company\",\r\n \"agro.angular_components.event_control_e_070_emp_search_title\": \"Select the company\",\r\n \"agro.angular_components.event_control_e_070_fil\": \"Branch\",\r\n \"agro.angular_components.event_control_e_070_fil_search_title\": \"Select the branch\",\r\n \"agro.angular_components.event_control_empty_state_description\": \"No records found\",\r\n \"agro.angular_components.event_control_empty_state_title\": \"No records found\",\r\n \"agro.angular_components.event_control_event_origin\": \"Event origin\",\r\n \"agro.angular_components.event_control_event_origin_placeholder\": \"Select the event origin\",\r\n \"agro.angular_components.event_control_external_id\": \"External Id\",\r\n \"agro.angular_components.event_control_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_form_title\": \"Event control\",\r\n \"agro.angular_components.event_control_id\": \"Entity Id\",\r\n \"agro.angular_components.event_control_item\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_created_by\": \"Created by\",\r\n \"agro.angular_components.event_control_item_created_date\": \"Creation date\",\r\n \"agro.angular_components.event_control_item_empty_state_description\": \"No records found\",\r\n \"agro.angular_components.event_control_item_empty_state_title\": \"No records found\",\r\n \"agro.angular_components.event_control_item_event_control\": \"eventControlId\",\r\n \"agro.angular_components.event_control_item_event_control_search_title\": \"Select the event control\",\r\n \"agro.angular_components.event_control_item_event_group\": \"Event group\",\r\n \"agro.angular_components.event_control_item_event_operation\": \"Event operation type\",\r\n \"agro.angular_components.event_control_item_event_operation_placeholder\": \"Select the event operation type\",\r\n \"agro.angular_components.event_control_item_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_item_form_title\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_id\": \"Entity Id\",\r\n \"agro.angular_components.event_control_item_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.event_control_item_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.event_control_item_list_grid_title\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_list_title\": \"Event control items\",\r\n \"agro.angular_components.event_control_item_message\": \"Event message\",\r\n \"agro.angular_components.event_control_item_param\": \"Event parameters\",\r\n \"agro.angular_components.event_control_item_request\": \"Request received\",\r\n \"agro.angular_components.event_control_item_response\": \"Response sent\",\r\n \"agro.angular_components.event_control_item_sequence\": \"Event sequence\",\r\n \"agro.angular_components.event_control_item_status\": \"Event status\",\r\n \"agro.angular_components.event_control_item_status_placeholder\": \"Select the event status\",\r\n \"agro.angular_components.event_control_last_modified_by\": \"Last modified by\",\r\n \"agro.angular_components.event_control_last_modified_date\": \"Last modification date\",\r\n \"agro.angular_components.event_control_list_grid_title\": \"Event control\",\r\n \"agro.angular_components.event_control_list_title\": \"Event control\",\r\n \"agro.angular_components.event_operation_change_request\": \"Change request\",\r\n \"agro.angular_components.event_operation_change_response\": \"Change response\",\r\n \"agro.angular_components.event_operation_effective\": \"Effective\",\r\n \"agro.angular_components.event_operation_effective_confirmation\": \"Effective confirmation\",\r\n \"agro.angular_components.event_operation_invoice_closing\": \"Invoice closing\",\r\n \"agro.angular_components.event_operation_invoice_creating\": \"Invoice creating\",\r\n \"agro.angular_components.event_operation_invoice_installments\": \"Invoice installments\",\r\n \"agro.angular_components.event_operation_provesional\": \"Provisional balance\",\r\n \"agro.angular_components.event_operation_remove_provisional\": \"Remove provisional balance\",\r\n \"agro.angular_components.event_operation_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_origin_balance_entry_control\": \"Balance entry control\",\r\n \"agro.angular_components.event_origin_change_request\": \"Change request\",\r\n \"agro.angular_components.event_origin_invoice\": \"Invoice\",\r\n \"agro.angular_components.event_origin_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_status_canceled\": \"Canceled\",\r\n \"agro.angular_components.event_status_failed\": \"Failed\",\r\n \"agro.angular_components.event_status_pending\": \"Pending\",\r\n \"agro.angular_components.event_status_processing\": \"Processed\",\r\n \"agro.angular_components.event_status_success\": \"Success\",\r\n \"agro.angular_components.filter\": \"Filter\",\r\n \"agro.angular_components.filters\": \"Filters\",\r\n \"agro.angular_components.list_grid_empty_field\": \"No records found\",\r\n \"agro.angular_components.product_header_title\": \"Events\",\r\n \"agro.angular_components.save\": \"Save\",\r\n \"agro.angular_components.select\": \"Select\",\r\n \"agro.angular_components.updated_by\": \"Updated by\",\r\n \"error_invalid\": \"Invalid value\",\r\n \"agro.angular_components.choose_label\": \"Choose\",\r\n \"agro.angular_components.remove_label\": \"Remove\",\r\n \"agro.angular_components.cancel_label\": \"Cancel\",\r\n \"agro.angular_components.success_tooltip\": \"Success\",\r\n \"agro.angular_components.menu_agro_events\": \"Agro Events\",\r\n \"agro.angular_components.date\": \"Date\",\r\n \"agro.angular_components.label_code_branch\": \"Branch code\",\r\n \"agro.angular_components.label_code_company\": \"Company code\",\r\n \"agro.angular_components.label_code_deposit\": \"Deposit code\",\r\n \"agro.angular_components.label_code\": \"Code\",\r\n \"agro.angular_components.label_company\": \"Company\",\r\n \"platform.backend.agro_origination_entry_control\": \"Balance entry/exit control\",\r\n \"platform.backend.agro_origination_entry_exit_query\": \"Entry/exit query\",\r\n \"platform.backend.agro_origination_links\": \"Links\",\r\n \"agro.angular_components.fantasy_name\": \"Trade name\",\r\n \"platform.backend.agro_origination_operation_versus_transaction_link\": \"Operation vs transaction link\",\r\n \"platform.backend.menu_event_control\": \"Event/Integration Query\",\r\n \"agro.angular_components.company_search_label\": \"Search Company\",\r\n \"agro.angular_components.company_tooltip\": \"Select a company to proceed\",\r\n \"agro.angular_components.branch_search_label\": \"Search Branch\",\r\n \"agro.angular_components.branch_tooltip\": \"Find the company's branches\",\r\n \"agro.angular_components.dash\": \"-\",\r\n \"agro.angular_components.ticket_tooltip\": \"Add the ticket number to specify in the search\",\r\n \"agro.angular_components.ticket_search_label\": \"Search Ticket\",\r\n \"agro.angular_components.kilogram_unit_label\": \"KG\",\r\n \"agro.angular_components.event_list_header\": \"Event List\",\r\n \"agro.angular_components.ticket_event\": \"Ticket Issuance\",\r\n \"agro.angular_components.provisional_event\": \"Provisional balance\",\r\n \"agro.angular_components.effective_event\": \"Effective balance\",\r\n \"agro.angular_components.effective_confirmation_event\": \"Effective balance confirmation\",\r\n \"agro.angular_components.remove_provisional_event\": \"Remove Provisional Balance\",\r\n \"agro.angular_components.canceled\": \"Canceled\",\r\n \"agro.angular_components.label_number\": \"Ticket\",\r\n \"agro.angular_components.cnpj\": \"CNPJ\",\r\n \"agro.angular_components.label_city\": \"City\",\r\n \"agro.angular_components.menu_event_control\": \"Event/Integration Query\",\r\n \"agro.angular_components.transfer_origin_event\": \"Transfer between Producers\",\r\n \"agro.angular_components.generation_of_invoice_installments\": \"Generation of invoice installments\",\r\n \"agro.angular_components.invoice_canceled\": \"Invoice closing\",\r\n \"agro.angular_components.CANCEL_INVOICE\": \"Invoice cancellation\",\r\n \"agro.angular_components.EFFECTIVE_CONFIRMATION\": \"Effective confirmation\",\r\n \"agro.angular_components.CHANGE_REQUEST\": \"Change request\",\r\n \"agro.angular_components.CHANGE_RESPONSE\": \"Change request response\",\r\n \"agro.angular_components.PROCESS_FIXATION\": \"Process the fixation\",\r\n \"agro.angular_components.TRANSFER_CREATE_INCOMING_INVOICE\": \"Creation of invoice transfer input\",\r\n \"agro.angular_components.TRANSFER_CREATE_OUTGOING_INVOICE\": \"Creation of the outgoing transfer invoice\",\r\n \"agro.angular_components.TRANSFER_PRODUCER_BALANCE\": \"Balance transfer between producers\",\r\n \"agro.angular_components.control_code\": \"Identifier\",\r\n \"agro.angular_components.fixation_event\": \"Fixation\",\r\n \"agro.angular_components.FINISH_FINANCIAL_FIXATION\": \"Financial settlement\",\r\n \"agro.angular_components.FINISH_PRODUCER_NET_VALUE_FIXATION\": \"Balance update\",\r\n \"agro.angular_components.CONCLUDE_FIXATION\": \"Fixation conclusion\",\r\n \"agro.angular_components.CANCEL_FINANCIAL_FIXATION\": \"Cancel financial fixation\",\r\n \"agro.angular_components.CANCEL_PRODUCER_NET_VALUE_FIXATION\": \"Cancel producer net value fixation\",\r\n \"agro.angular_components.CANCEL_FIXATION\": \"Cancel fixation\",\r\n \"agro.angular_components.cancel_fixation_title\": \"Cancel fixation\",\r\n \"agro.angular_components.cancel_fixation_description\": \"Are you sure you want to cancel the fixation?\",\r\n \"agro.angular_components.error_cancel_fixation_message_title\": \"Error canceling fixation\",\r\n \"agro.angular_components.error_cancel_fixation_message_description\": \"An error occurred while canceling the fixation. Please try again later.\",\r\n \"agro.angular_components.cancel_fixation_message_title\": \"Fixation cancellation\",\r\n \"agro.angular_components.cancel_fixation_message_description\": \"The fixation cancellation process has been successfully initiated.\",\r\n \"agro.angular_components.warn_cancel_fixation_message_title\": \"It is not possible to cancel the fixation\",\r\n \"agro.angular_components.warn_cancel_fixation_message_description\": \"It is not possible to cancel a fixation that is already cancelled or in process.\",\r\n \"agro.angular_components.warn_immediate_cancel_fixation_message_description\": \"It is not possible to cancel a fixation made via immediate buy.\",\r\n \"agro.angular_components.cancel_fixation_event\": \"Cancel fixation\",\r\n \"agro.angular_components.invoice_type_INCOMING\": \"Incoming\",\r\n \"agro.angular_components.invoice_type_COMPLEMENT\": \"Complementary\",\r\n \"agro.angular_components.invoice_type_ADJUSTMENT\": \"Adjustment\",\r\n \"agro.angular_components.invoice_type_OUTGOING\": \"Outgoing\",\r\n \"agro.angular_components.invoice_type_RETURN\": \"Return\",\r\n \"agro.angular_components.invoice_type_SERVICE\": \"Service\",\r\n \"agro.angular_components.invoice_type_SYMBOLIC_RETURN\": \"Symbolic return\",\r\n \"agro.angular_components.cancel_reason\": \"Cancellation reason\",\r\n \"agro.angular_components.transfer_cancellation_event\": \"Transfer cancellation\",\r\n \"agro.angular_components.CREATE_INVOICE_FIXATION\": \"Invoice fixation creation\",\r\n \"agro.angular_components.CANCEL_INVOICE_FIXATION\": \"Invoice fixation cancellation\",\r\n \"agro.angular_components.ORIGINATION_CREATE_INVOICE\": \"Invoice Issuance\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_BALANCE\": \"Effective balance issuance\",\r\n \"agro.angular_components.PRODUCER_NET_VALUE_EFFECTIVE_BALANCE_CONFIRMATION\": \"Effective balance confirmation\",\r\n \"agro.angular_components.CLOSE_INVOICE_FIXATION\": \"Invoice fixation closure\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\": \"Effective confirmation\",\r\n \"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE\": \"Provisional balance\",\r\n \"agro.angular_components.CLOSE_INVOICE_TRANSFER\": \"Close transfer invoice\",\r\n \"agro.angular_components.REOPEN_INVOICE_TRANSFER\": \"Reopen transfer invoice\",\r\n \"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE\": \"Financial title creation\",\r\n \"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE\": \"Financial title cancellation\",\r\n \"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE\": \"Service invoice issuance\",\r\n \"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE\": \"Service invoice cancellation\",\r\n \"agro.angular_components.REOPEN_INVOICE_FIXATION\": \"Reopen invoice fixation\",\r\n \"agro.angular_components.INVOICE_CLOSE_INVOICE\": \"Invoice cancellation request\",\r\n \"agro.angular_components.CIDASC_INTEGRATION\": \"Send to Cidasc\",\r\n \"agro.angular_components.CIDASC_CANCELLATION\": \"Prescription Cancellation\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_CULTURE\": \"Cidasc Load - Culture\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PEST\": \"Cidasc Load - Pest\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT\": \"Cidasc Load - Product\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT\": \"Cidasc Load - Unit of measure\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT\": \"Cidasc Load - Measure per hectare\",\r\n \"agro.angular_components.agronomic_prescription_origin_event\": \"Agronomic Prescription\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD\": \"NewPrescription data load\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\": \"NewPrescription data load - Product Type\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\": \"NewPrescription data load - Active Principle\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_FORMULATION\": \"NewPrescription data load - Formulation\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_BULLETIN\": \"NewPrescription data load - Bulletin\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\": \"NewPrescription data load - Application Unit\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_SPECIE\": \"NewPrescription data load - Species\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\": \"NewPrescription data load - Application Type\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PROBLEMS\": \"NewPrescription data load - Pests and Problems\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION\": \"NewPrescription data load - Application\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_END\": \"NewPrescription data load - End Integration\",\r\n \"agro.angular_components.new_prescription_page\": \"Part {count}\",\r\n \"agro.angular_components.number_or_series\": \"Número ou série\",\r\n \"agro.angular_components.panel_title_external_invoice_add_external_invoice\": \"Adicionar nota fiscal\",\r\n \"agro.angular_components.add_pj_invoice_modal_no_invoices_found\": \"Nenhuma nota fiscal disponível para este produtor\",\r\n \"agro.angular_components.number\": \"Número\",\r\n \"agro.angular_components.series\": \"Série\",\r\n \"agro.angular_components.itens\": \"Itens\",\r\n \"agro.angular_components.quantity\": \"Quantidade\",\r\n \"agro.angular_components.issuance_date\": \"Data de emissão\",\r\n \"agro.angular_components.no_accounts_found_title\": \"No accounts found\",\r\n \"agro.angular_components.no_accounts_found_description\": \"No accounts were found for the selected producer.\",\r\n \"agro.angular_components.details\": \"Details\",\r\n \"agro.angular_components.error_less_or_equal_zero\": \"The payment value must be greater than zero\",\r\n \"agro.angular_components.error_greater_than_allowed\": \"The payment value must be less than or equal to the net value\",\r\n \"agro.angular_components.account_details\": \"Account details - \",\r\n \"agro.angular_components.status_open\": \"Open\",\r\n \"agro.angular_components.status_paid\": \"Paid\",\r\n \"agro.angular_components.title\": \"Title\",\r\n \"agro.angular_components.type\": \"Type\",\r\n \"agro.angular_components.entry\": \"Entry\",\r\n \"agro.angular_components.due_date\": \"Due date\",\r\n \"agro.angular_components.original_value\": \"Original value\",\r\n \"agro.angular_components.open_value\": \"Open value\",\r\n \"agro.angular_components.value_net\": \"Net value\",\r\n \"agro.angular_components.value_to_pay\": \"Payment value\",\r\n \"agro.angular_components.branch\": \"Branch\",\r\n \"agro.angular_components.producer\": \"Producer\",\r\n \"agro.angular_components.value_fees\": \"Fees value\",\r\n \"agro.angular_components.value_fine\": \"Fine value\",\r\n \"agro.angular_components.value_charge\": \"Charge value\",\r\n \"agro.angular_components.value_correction\": \"Correction value\",\r\n \"agro.angular_components.value_additional\": \"Additional value\",\r\n \"agro.angular_components.value_discount\": \"Discounts\",\r\n \"agro.angular_components.value_other_discount\": \"Other discounts\",\r\n \"agro.angular_components.error_loading_accounts_title\": \"Error loading accounts\",\r\n \"agro.angular_components.error_loading_accounts_description\": \"An error occurred while loading the producer's accounts. Please try again later.\",\r\n \"agro.angular_components.close\": \"Close\",\r\n \"agro.angular_components.value_paid\": \"Value to pay\",\r\n \"agro.angular_components.timeout_request_error\": \"Request timeout. Please try again later.\",\r\n \"agro.angular_components.TRANSFER_CANCEL_INCOMING_INVOICE\": \"Incoming invoice cancellation\",\r\n \"agro.angular_components.TRANSFER_CANCEL_OUTGOING_INVOICE\": \"Outgoing invoice cancellation\",\r\n \"agro.angular_components.TRANSFER_REVERSE_PRODUCER_BALANCE\": \"Producer balance reversal\",\r\n \"agro.angular_components.TRANSFER_CONCLUDE_CANCEL\": \"Cancellation conclusion\",\r\n \"agro.angular_components.no_register_found_for_external_invoices_summary\": \"No invoices found\",\r\n \"agro.angular_components.total_value\": \"Total value\",\r\n \"agro.angular_components.value_linked\": \"Linked value\",\r\n \"agro.grain_classification.label_number\": \"Ticket\",\r\n \"agro.grain_classification.ticket_search_label\": \"Search Ticket\",\r\n \"agro.grain_classification.origination_create_stock_movement\": \"Stock Movement\",\r\n \"agro.angular_components.max_linked_invoices\": \"Maximum linked invoices value reached\",\r\n \"agro.angular_components.max_linked_invoices_description\": \"All fixation items already have the maximum value of linked invoices\",\r\n \"agro.angular_components.invoice_created_successfully\": \"Invoice created successfully.\",\r\n \"agro.angular_components.invoice_already_linked\": \"Invoice is already fully linked to another item\",\r\n \"agro.angular_components.link_invoice\": \"Link invoice\",\r\n};\r\nexport default enUS;\r\n","const esCO = {\r\n \"agro.angular_components.table_empty_description\": \"Ajuste los filtros arriba para generar otros resultados de búsqueda\",\r\n \"agro.angular_components.nothing_found\": \"No se encontraron registros\",\r\n \"agro.angular_components.panel_title_events_events\": \"Eventos\",\r\n \"agro.angular_components.refresh\": \"Actualizar\",\r\n \"agro.angular_components.event_control_header\": \"Consulta de eventos/integraciones\",\r\n \"agro.angular_components.no\": \"No\",\r\n \"agro.angular_components.yes\": \"Sí\",\r\n \"agro.angular_components.event_modal_title\": \"Reprocesamiento de Eventos\",\r\n \"agro.angular_components.event_modal\": \"¿Desea reprocesar el evento?\",\r\n \"agro.angular_components.reprocess_event\": \"Reprocesar evento\",\r\n \"agro.angular_components.events_close\": \"Cerrar\",\r\n \"agro.angular_components.event_error_message\": \"Mensaje de error\",\r\n \"agro.angular_components.last_update_date\": \"Última actualización\",\r\n \"agro.angular_components.show_event_details\": \"Detalles del evento\",\r\n \"agro.angular_components.pending\": \"Pendiente\",\r\n \"agro.angular_components.processing\": \"Procesando\",\r\n \"agro.angular_components.panel_title_events_ended_with_error\": \"Fallo\",\r\n \"agro.angular_components.tickets\": \"Tickets\",\r\n \"agro.angular_components.rural_estate\": \"Propiedad Rural\",\r\n \"agro.angular_components.change_request_event_summary\": \"Cambio de \\nPesaje\",\r\n \"agro.angular_components.ticket_maintenance_header\": \"Mantenimiento de ticket\",\r\n \"agro.angular_components.invoice_creating_event\": \"Emisión de Factura\",\r\n \"agro.angular_components.balance_entry_control_event\": \"Entrada/salida balanza\",\r\n \"agro.angular_components.event_origin_label\": \"Origen del evento\",\r\n \"agro.angular_components.event_details_header\": \"Detalles del Evento\",\r\n \"agro.angular_components.registers_found\": \"{total} registro(s) encontrado(s)\",\r\n \"agro.angular_components.change_request_event\": \"Cambio de Pesaje\",\r\n \"agro.angular_components.status_label\": \"Estado\",\r\n \"agro.angular_components.panel_title_events_completed_successfully\": \"Éxito\",\r\n \"agro.angular_components.supplier\": \"Proveedor\",\r\n \"agro.angular_components.ticket\": \"Ticket\",\r\n \"agro.angular_components.company\": \"Empresa\",\r\n \"agro.angular_components.label_branch\": \"Sucursal\",\r\n \"agro.angular_components.event_sidebar_title\": \"Evento - {event}\",\r\n \"agro.angular_components.reprocessing_event_message_title\": \"Reprocesando Evento\",\r\n \"agro.angular_components.reprocessing_event_message_description\": \"El evento seleccionado está siendo reprocesado.\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\": \"Error al reprocesar evento\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\":\r\n \"Hubo un error al reprocesar el evento. Intente nuevamente más tarde.\",\r\n \"agro.angular_components.actions\": \"Acciones\",\r\n \"agro.angular_components.add\": \"Agregar\",\r\n \"agro.angular_components.at_date\": \"En la fecha\",\r\n \"agro.angular_components.at_time\": \"En la hora\",\r\n \"agro.angular_components.cancel\": \"Cancelar\",\r\n \"agro.angular_components.clear\": \"Limpiar\",\r\n \"agro.angular_components.created_by\": \"Creado por\",\r\n \"agro.angular_components.delete\": \"Eliminar\",\r\n \"agro.angular_components.delete_confirmation_message\": \"¿Está seguro de que desea eliminar este ítem?\",\r\n \"agro.angular_components.delete_confirmation_title\": \"Confirmación de eliminación\",\r\n \"agro.angular_components.deleted_message_content\": \"Ítem eliminado con éxito\",\r\n \"agro.angular_components.deleted_message_title\": \"Eliminación realizada\",\r\n \"agro.angular_components.e_070_emp_cod_emp\": \"Código de la empresa\",\r\n \"agro.angular_components.e_070_emp_created_by\": \"Creado por\",\r\n \"agro.angular_components.e_070_emp_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.e_070_emp_id\": \"Id\",\r\n \"agro.angular_components.e_070_emp_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.e_070_emp_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.e_070_emp_nom_emp\": \"Nombre de la empresa\",\r\n \"agro.angular_components.e_070_emp_sig_emp\": \"Nombre comercial / Sigla de la empresa\",\r\n \"agro.angular_components.e_070_fil_cid_fil\": \"Ciudad\",\r\n \"agro.angular_components.e_070_fil_cod_fil\": \"Código de la sucursal\",\r\n \"agro.angular_components.e_070_fil_created_by\": \"Creado por\",\r\n \"agro.angular_components.e_070_fil_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.e_070_fil_id\": \"Id\",\r\n \"agro.angular_components.e_070_fil_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.e_070_fil_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.e_070_fil_nom_fil\": \"Nombre de la sucursal\",\r\n \"agro.angular_components.e_070_fil_num_cgc\": \"CNPJ\",\r\n \"agro.angular_components.e_070_fil_num_fon\": \"Número de Teléfono\",\r\n \"agro.angular_components.e_070_fil_sig_fil\": \"Nombre comercial de la sucursal\",\r\n \"agro.angular_components.edit\": \"Editar\",\r\n \"agro.angular_components.error_forbidden_description\": \"No tiene permiso para acceder a este recurso\",\r\n \"agro.angular_components.error_forbidden_title\": \"Acceso denegado\",\r\n \"agro.angular_components.error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.error_max_length\": \"El valor máximo de caracteres es {0}\",\r\n \"agro.angular_components.error_max_value\": \"El valor máximo es {0}\",\r\n \"agro.angular_components.error_min_length\": \"El valor mínimo de caracteres es {valor}\",\r\n \"agro.angular_components.error_min_value\": \"El valor mínimo es {0}\",\r\n \"agro.angular_components.error_not_found_description\": \"El recurso solicitado no fue encontrado\",\r\n \"agro.angular_components.error_not_found_title\": \"No encontrado\",\r\n \"agro.angular_components.error_required\": \"Campo obligatorio\",\r\n \"agro.angular_components.error_server_description\": \"Ocurrió un error al procesar su solicitud. Por favor, intente nuevamente\",\r\n \"agro.angular_components.error_server_title\": \"Error en el servidor\",\r\n \"agro.angular_components.error_server_try_again\": \"Intente nuevamente\",\r\n \"agro.angular_components.error_unauthorized_description\": \"No está autorizado para acceder a este recurso\",\r\n \"agro.angular_components.error_unauthorized_title\": \"No autorizado\",\r\n \"agro.angular_components.event_control\": \"Control de eventos\",\r\n \"agro.angular_components.event_control_created_by\": \"Creado por\",\r\n \"agro.angular_components.event_control_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.event_control_e_070_emp\": \"Empresa\",\r\n \"agro.angular_components.event_control_e_070_emp_search_title\": \"Seleccione la empresa\",\r\n \"agro.angular_components.event_control_e_070_fil\": \"Sucursal\",\r\n \"agro.angular_components.event_control_e_070_fil_search_title\": \"Seleccione la sucursal\",\r\n \"agro.angular_components.event_control_empty_state_description\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_empty_state_title\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_event_origin\": \"Origen del evento\",\r\n \"agro.angular_components.event_control_event_origin_placeholder\": \"Seleccione el origen del evento\",\r\n \"agro.angular_components.event_control_external_id\": \"Id externo\",\r\n \"agro.angular_components.event_control_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_form_title\": \"Control de eventos\",\r\n \"agro.angular_components.event_control_id\": \"Id de la entidad\",\r\n \"agro.angular_components.event_control_item\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_created_by\": \"Creado por\",\r\n \"agro.angular_components.event_control_item_created_date\": \"Fecha de creación\",\r\n \"agro.angular_components.event_control_item_empty_state_description\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_item_empty_state_title\": \"No se encontraron registros\",\r\n \"agro.angular_components.event_control_item_event_control\": \"eventControlId\",\r\n \"agro.angular_components.event_control_item_event_control_search_title\": \"Seleccione el control de eventos\",\r\n \"agro.angular_components.event_control_item_event_group\": \"Grupo del evento\",\r\n \"agro.angular_components.event_control_item_event_operation\": \"Tipo de operación del evento\",\r\n \"agro.angular_components.event_control_item_event_operation_placeholder\": \"Seleccione el tipo de operación del evento\",\r\n \"agro.angular_components.event_control_item_form_general_title\": \"General\",\r\n \"agro.angular_components.event_control_item_form_title\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_id\": \"Id de la entidad\",\r\n \"agro.angular_components.event_control_item_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.event_control_item_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.event_control_item_list_grid_title\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_list_title\": \"Ítems del control de eventos\",\r\n \"agro.angular_components.event_control_item_message\": \"Mensaje de evento\",\r\n \"agro.angular_components.event_control_item_param\": \"Parámetros del evento\",\r\n \"agro.angular_components.event_control_item_request\": \"Solicitud recibida\",\r\n \"agro.angular_components.event_control_item_response\": \"Respuesta enviada\",\r\n \"agro.angular_components.event_control_item_sequence\": \"Secuencia del evento\",\r\n \"agro.angular_components.event_control_item_status\": \"Estado del evento\",\r\n \"agro.angular_components.event_control_item_status_placeholder\": \"Seleccione el estado del evento\",\r\n \"agro.angular_components.event_control_last_modified_by\": \"Última modificación por\",\r\n \"agro.angular_components.event_control_last_modified_date\": \"Fecha de la última modificación\",\r\n \"agro.angular_components.event_control_list_grid_title\": \"Control de eventos\",\r\n \"agro.angular_components.event_control_list_title\": \"Control de eventos\",\r\n \"agro.angular_components.event_operation_change_request\": \"Solicitud de cambio\",\r\n \"agro.angular_components.event_operation_change_response\": \"Respuesta de cambio\",\r\n \"agro.angular_components.event_operation_effective\": \"Efectivo\",\r\n \"agro.angular_components.event_operation_effective_confirmation\": \"Confirmación de efectividad\",\r\n \"agro.angular_components.event_operation_invoice_closing\": \"Cierre de factura\",\r\n \"agro.angular_components.event_operation_invoice_creating\": \"Creación de factura\",\r\n \"agro.angular_components.event_operation_invoice_installments\": \"Parcelamiento de factura\",\r\n \"agro.angular_components.event_operation_provesional\": \"Saldo Provisional\",\r\n \"agro.angular_components.event_operation_remove_provisional\": \"Eliminación de Saldo provisional\",\r\n \"agro.angular_components.event_operation_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_origin_balance_entry_control\": \"Control de entrada/salida de saldo\",\r\n \"agro.angular_components.event_origin_change_request\": \"Solicitud de cambio\",\r\n \"agro.angular_components.event_origin_invoice\": \"Factura\",\r\n \"agro.angular_components.event_origin_ticket\": \"Ticket\",\r\n \"agro.angular_components.event_status_canceled\": \"Cancelado\",\r\n \"agro.angular_components.event_status_failed\": \"Fallo\",\r\n \"agro.angular_components.event_status_pending\": \"Pendiente\",\r\n \"agro.angular_components.event_status_processing\": \"Procesado\",\r\n \"agro.angular_components.event_status_success\": \"Éxito\",\r\n \"agro.angular_components.filter\": \"Filtrar\",\r\n \"agro.angular_components.filters\": \"Filtros\",\r\n \"agro.angular_components.list_grid_empty_field\": \"No se encontraron registros\",\r\n \"agro.angular_components.product_header_title\": \"Eventos\",\r\n \"agro.angular_components.save\": \"Guardar\",\r\n \"agro.angular_components.select\": \"Seleccione\",\r\n \"agro.angular_components.updated_by\": \"Actualizado por\",\r\n \"error_invalid\": \"Valor inválido\",\r\n \"agro.angular_components.choose_label\": \"Elegir\",\r\n \"agro.angular_components.remove_label\": \"Eliminar\",\r\n \"agro.angular_components.cancel_label\": \"Cancelar\",\r\n \"agro.angular_components.success_tooltip\": \"Éxito\",\r\n \"agro.angular_components.menu_agro_events\": \"Eventos del Agro\",\r\n \"agro.angular_components.date\": \"Fecha\",\r\n \"agro.angular_components.label_code_branch\": \"Código de la sucursal\",\r\n \"agro.angular_components.label_code_company\": \"Código de la empresa\",\r\n \"agro.angular_components.label_code_deposit\": \"Código del depósito\",\r\n \"agro.angular_components.label_code\": \"Código\",\r\n \"agro.angular_components.label_company\": \"Empresa\",\r\n \"platform.backend.agro_origination_entry_control\": \"Control de entrada/salida vía balanza\",\r\n \"platform.backend.agro_origination_entry_exit_query\": \"Consulta de entrada/salida\",\r\n \"platform.backend.agro_origination_links\": \"Enlaces\",\r\n \"agro.angular_components.fantasy_name\": \"Nombre comercial\",\r\n \"platform.backend.agro_origination_operation_versus_transaction_link\": \"Enlace operación x transacción\",\r\n \"platform.backend.menu_event_control\": \"Consulta de eventos/integraciones\",\r\n \"agro.angular_components.company_search_label\": \"Consultar Empresa\",\r\n \"agro.angular_components.company_tooltip\": \"Seleccione una empresa para continuar\",\r\n \"agro.angular_components.branch_search_label\": \"Consultar Sucursal\",\r\n \"agro.angular_components.branch_tooltip\": \"Encuentre las sucursales de la empresa\",\r\n \"agro.angular_components.dash\": \"-\",\r\n \"agro.angular_components.ticket_tooltip\": \"Agregue el número del ticket para especificar en la búsqueda\",\r\n \"agro.angular_components.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.angular_components.kilogram_unit_label\": \"KG\",\r\n \"agro.angular_components.event_list_header\": \"Lista de Eventos\",\r\n \"agro.angular_components.ticket_event\": \"Emisión del Ticket\",\r\n \"agro.angular_components.provisional_event\": \"Saldo provisional\",\r\n \"agro.angular_components.effective_event\": \"Saldo efectivo\",\r\n \"agro.angular_components.effective_confirmation_event\": \"Confirmación saldo efectivo\",\r\n \"agro.angular_components.remove_provisional_event\": \"Eliminar Saldo Provisional\",\r\n \"agro.angular_components.canceled\": \"Cancelado\",\r\n \"agro.angular_components.label_number\": \"Ticket\",\r\n \"agro.angular_components.cnpj\": \"CNPJ\",\r\n \"agro.angular_components.label_city\": \"Ciudad\",\r\n \"agro.angular_components.menu_event_control\": \"Consulta de eventos/integraciones\",\r\n \"agro.angular_components.transfer_origin_event\": \"Transferencia entre productores\",\r\n \"agro.angular_components.generation_of_invoice_installments\": \"Generación de cuotas de factura\",\r\n \"agro.angular_components.invoice_canceled\": \"Cierre de factura\",\r\n \"agro.angular_components.CANCEL_INVOICE\": \"Cancelación de factura\",\r\n \"agro.angular_components.EFFECTIVE_CONFIRMATION\": \"Confirmación efectiva\",\r\n \"agro.angular_components.CHANGE_REQUEST\": \"Solicitud de cambio\",\r\n \"agro.angular_components.CHANGE_RESPONSE\": \"Respuesta a la solicitud de cambio\",\r\n \"agro.angular_components.PROCESS_FIXATION\": \"Procesa la fijación\",\r\n \"agro.angular_components.TRANSFER_CREATE_INCOMING_INVOICE\": \"Creación de la factura entrante de transferencia\",\r\n \"agro.angular_components.TRANSFER_CREATE_OUTGOING_INVOICE\": \"Creación de la factura de transferencia saliente\",\r\n \"agro.angular_components.TRANSFER_PRODUCER_BALANCE\": \"Transferir saldo entre productores\",\r\n \"agro.angular_components.control_code\": \"Identificador\",\r\n \"agro.angular_components.fixation_event\": \"Fijación\",\r\n \"agro.angular_components.FINISH_FINANCIAL_FIXATION\": \"Liquidación financiera\",\r\n \"agro.angular_components.FINISH_PRODUCER_NET_VALUE_FIXATION\": \"Actualización de saldos\",\r\n \"agro.angular_components.CONCLUDE_FIXATION\": \"Conclusión de la fijación\",\r\n \"agro.angular_components.CANCEL_FINANCIAL_FIXATION\": \"Cancelar fijación financiera\",\r\n \"agro.angular_components.CANCEL_PRODUCER_NET_VALUE_FIXATION\": \"Cancelar fijación de valor neto del productor\",\r\n \"agro.angular_components.CANCEL_FIXATION\": \"Cancelar fijación\",\r\n \"agro.angular_components.cancel_fixation_title\": \"Cancelar fijación\",\r\n \"agro.angular_components.cancel_fixation_description\": \"¿Está seguro de que desea cancelar la fijación?\",\r\n \"agro.angular_components.error_cancel_fixation_message_title\": \"Error al cancelar la fijación\",\r\n \"agro.angular_components.error_cancel_fixation_message_description\": \"Ocurrió un error al cancelar la fijación. Por favor, inténtelo de nuevo más tarde.\",\r\n \"agro.angular_components.cancel_fixation_message_title\": \"Cancelación de fijación\",\r\n \"agro.angular_components.cancel_fixation_message_description\": \"El proceso de cancelación de la fijación se ha iniciado con éxito.\",\r\n \"agro.angular_components.warn_cancel_fixation_message_title\": \"No es posible cancelar la fijación\",\r\n \"agro.angular_components.warn_cancel_fixation_message_description\": \"No es posible cancelar una fijación que ya esté cancelada o en proceso.\",\r\n \"agro.angular_components.warn_immediate_cancel_fixation_message_description\": \"No es posible cancelar una fijación realizada vía compra inmediata.\",\r\n \"agro.angular_components.cancel_fixation_event\": \"Cancelación de fijación\",\r\n \"agro.angular_components.invoice_type_INCOMING\": \"Entrada\",\r\n \"agro.angular_components.invoice_type_COMPLEMENT\": \"Complementaria\",\r\n \"agro.angular_components.invoice_type_ADJUSTMENT\": \"Ajuste\",\r\n \"agro.angular_components.invoice_type_OUTGOING\": \"Salida\",\r\n \"agro.angular_components.invoice_type_RETURN\": \"Devolución\",\r\n \"agro.angular_components.invoice_type_SERVICE\": \"Servicio\",\r\n \"agro.angular_components.invoice_type_SYMBOLIC_RETURN\": \"Devolución simbólica\",\r\n \"agro.angular_components.cancel_reason\": \"Motivo de la cancelación\",\r\n \"agro.angular_components.transfer_cancellation_event\": \"Cancelación de transferencia\",\r\n \"agro.angular_components.CREATE_INVOICE_FIXATION\": \"Crear factura de fijación\",\r\n \"agro.angular_components.CANCEL_INVOICE_FIXATION\": \"Cancelar factura de fijación\",\r\n \"agro.angular_components.ORIGINATION_CREATE_INVOICE\": \"Emisión de factura\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_BALANCE\": \"Emisión de saldo efectivo\",\r\n \"agro.angular_components.PRODUCER_NET_VALUE_EFFECTIVE_BALANCE_CONFIRMATION\": \"Confirmación del saldo efectivo\",\r\n \"agro.angular_components.CLOSE_INVOICE_FIXATION\": \"Cerrar factura de fijación\",\r\n \"agro.angular_components.ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\": \"Confirmación efectiva\",\r\n \"agro.angular_components.ORIGINATION_CREATE_PROVISIONAL_BALANCE\": \"Saldo provisional\",\r\n \"agro.angular_components.CLOSE_INVOICE_TRANSFER\": \"Cierre de factura\",\r\n \"agro.angular_components.REOPEN_INVOICE_TRANSFER\": \"Reapertura de factura\",\r\n \"agro.angular_components.TRANSFER_CREATE_FINANCIAL_TITLE\": \"Creación de título financiero\",\r\n \"agro.angular_components.TRANSFER_CANCEL_FINANCIAL_TITLE\": \"Cancelación de título financiero\",\r\n \"agro.angular_components.TRANSFER_CREATE_SERVICE_INVOICE\": \"Emisión de NF de servicio\",\r\n \"agro.angular_components.TRANSFER_CANCEL_SERVICE_INVOICE\": \"Cancelación de NF de servicio\",\r\n \"agro.angular_components.REOPEN_INVOICE_FIXATION\": \"Reapertura de factura\",\r\n \"agro.angular_components.INVOICE_CLOSE_INVOICE\": \"Solicitud de cancelación de la factura\",\r\n \"agro.angular_components.CIDASC_INTEGRATION\": \"Envío a Cidasc\",\r\n \"agro.angular_components.CIDASC_CANCELLATION\": \"Cancelación de Receta\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_CULTURE\": \"Carga Cidasc - Cultivo\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PEST\": \"Carga Cidasc - Plaga\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_PRODUCT\": \"Carga Cidasc - Producto\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_MEASURE_UNIT\": \"Carga Cidasc - Unidad de medida\",\r\n \"agro.angular_components.CIDASC_DATA_LOAD_COMPOSED_MEASURE_UNIT\": \"Carga Cidasc - Medida por hectárea\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD\": \"Carga de datos de la Nueva Receta\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\": \"Carga de datos de la Nueva Receta - Tipo de Producto\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\": \"Carga de datos de la Nueva Receta - Principio Activo\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_FORMULATION\": \"Carga de datos de la Nueva Receta - Formulación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_BULLETIN\": \"Carga de datos de la Nueva Receta - Bula\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\": \"Carga de datos de la Nueva Receta - Unidad de aplicación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_SPECIE\": \"Carga de datos de la Nueva Receta - Especie\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\": \"Carga de datos de la Nueva Receta - Tipo de aplicación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_PROBLEMS\": \"Carga de datos de la Nueva Receta - Plagas y problemas\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_APPLICATION\": \"Carga de datos de la Nueva Receta - Aplicación\",\r\n \"agro.angular_components.PRESCRIPTION_DATA_LOAD_END\": \"Carga de datos de la Nueva Receta - Finalizar integración\",\r\n \"agro.angular_components.new_prescription_page\": \"Parte {count}\",\r\n \"agro.angular_components.agronomic_prescription_origin_event\": \"Recetario Agronómico\",\r\n \"agro.angular_components.no_accounts_found_title\": \"Ninguna cuenta encontrada\",\r\n \"agro.angular_components.no_accounts_found_description\": \"No se encontraron cuentas para el productor seleccionado.\",\r\n \"agro.angular_components.details\": \"Detalles\",\r\n \"agro.angular_components.error_less_or_equal_zero\": \"El valor de la baja debe ser mayor que cero\",\r\n \"agro.angular_components.error_greater_than_allowed\": \"El valor de la baja debe ser menor o igual al valor neto\",\r\n \"agro.angular_components.account_details\": \"Detalles del título - \",\r\n \"agro.angular_components.status_open\": \"Abierto\",\r\n \"agro.angular_components.status_paid\": \"Pagado\",\r\n \"agro.angular_components.title\": \"Título\",\r\n \"agro.angular_components.type\": \"Tipo\",\r\n \"agro.angular_components.entry\": \"Entrada\",\r\n \"agro.angular_components.due_date\": \"Vencimiento\",\r\n \"agro.angular_components.original_value\": \"Valor original\",\r\n \"agro.angular_components.open_value\": \"Valor abierto\",\r\n \"agro.angular_components.value_net\": \"Valor neto\",\r\n \"agro.angular_components.value_to_pay\": \"Valor baja\",\r\n \"agro.angular_components.branch\": \"Sucursal\",\r\n \"agro.angular_components.producer\": \"Productor\",\r\n \"agro.angular_components.value_fees\": \"Valor de intereses\",\r\n \"agro.angular_components.value_fine\": \"Valor de multa\",\r\n \"agro.angular_components.value_charge\": \"Valor de cobro\",\r\n \"agro.angular_components.value_correction\": \"Valor de corrección\",\r\n \"agro.angular_components.value_additional\": \"Valor adicional\",\r\n \"agro.angular_components.value_discount\": \"Descuentos\",\r\n \"agro.angular_components.value_other_discount\": \"Otros descuentos\",\r\n \"agro.angular_components.error_loading_accounts_title\": \"Error al cargar cuentas\",\r\n \"agro.angular_components.error_loading_accounts_description\": \"Ocurrió un error al cargar las cuentas del productor. Intente nuevamente más tarde.\",\r\n \"agro.angular_components.close\": \"Cerrar\",\r\n \"agro.angular_components.value_paid\": \"Valor a pagar\",\r\n \"agro.angular_components.timeout_request_error\": \"Tiempo de solicitud excedido. Intente nuevamente más tarde.\",\r\n \"agro.angular_components.TRANSFER_CANCEL_INCOMING_INVOICE\": \"Cancelación de NF de entrada\",\r\n \"agro.angular_components.TRANSFER_CANCEL_OUTGOING_INVOICE\": \"Cancelación de NF de salida \",\r\n \"agro.angular_components.TRANSFER_REVERSE_PRODUCER_BALANCE\": \"Reverso de los saldos de productores\",\r\n \"agro.angular_components.TRANSFER_CONCLUDE_CANCEL\": \"Conclusión de la cancelación\",\r\n \"agro.angular_components.panel_title_external_invoice_add_external_invoice\": \"Agregar factura\",\r\n \"agro.angular_components.add_pj_invoice_modal_no_invoices_found\": \"Ninguna factura disponible para este productor\",\r\n \"agro.angular_components.number\": \"Número\",\r\n \"agro.angular_components.series\": \"Serie\",\r\n \"agro.angular_components.itens\": \"Ítems\",\r\n \"agro.angular_components.quantity\": \"Cantidad\",\r\n \"agro.angular_components.issuance_date\": \"Fecha de emisión\",\r\n \"agro.angular_components.no_register_found_for_external_invoices_summary\": \"Ninguna nota encontrada\",\r\n \"agro.angular_components.total_value\": \"Valor total\",\r\n \"agro.angular_components.value_linked\": \"Valor vinculado\",\r\n \"agro.angular_components.number_or_series\": \"Número o serie\",\r\n \"agro.grain_classification.label_number\": \"Ticket\",\r\n \"agro.grain_classification.ticket_search_label\": \"Consultar Ticket\",\r\n \"agro.grain_classification.origination_create_stock_movement\": \"Movimiento de inventario\",\r\n \"agro.angular_components.max_linked_invoices\": \"Valor máximo de facturas vinculadas alcanzado\",\r\n \"agro.angular_components.max_linked_invoices_description\": \"Todos los ítems de fijación ya tienen el valor máximo de facturas vinculadas\",\r\n \"agro.angular_components.invoice_created_successfully\": \"Factura creada con éxito.\",\r\n \"agro.angular_components.invoice_already_linked\": \"La factura ya está totalmente vinculada a otro ítem\",\r\n \"agro.angular_components.link_invoice\": \"Vincular factura\",\r\n};\r\nexport default esCO;\r\n","export enum AgroEntityStatus {\r\n VA = 'VA',\r\n VI = 'VI'\r\n}\r\n","export type NUMBERS = AGRO_NUMBERS;\r\n\r\nexport enum AGRO_NUMBERS {\r\n MINIMUM_WEIGHT = 0.001,\r\n MINUS_ONE = -1,\r\n EIGHT = 8,\r\n EIGHT_HUNDRED = 800,\r\n EIGHT_HUNDRED_AND_EIGHT = 808,\r\n EIGHT_HUNDRED_AND_EIGHTEEN = 818,\r\n EIGHT_HUNDRED_AND_EIGHTY_EIGHT = 888,\r\n EIGHT_HUNDRED_AND_EIGHTY_FIVE = 885,\r\n EIGHT_HUNDRED_AND_EIGHTY_FOUR = 884,\r\n EIGHT_HUNDRED_AND_EIGHTY_NINE = 889,\r\n EIGHT_HUNDRED_AND_EIGHTY_ONE = 881,\r\n EIGHT_HUNDRED_AND_EIGHTY_SEVEN = 887,\r\n EIGHT_HUNDRED_AND_EIGHTY_SIX = 886,\r\n EIGHT_HUNDRED_AND_EIGHTY_THREE = 883,\r\n EIGHT_HUNDRED_AND_EIGHTY_TWO = 882,\r\n EIGHT_HUNDRED_AND_EIGHTY_ZERO = 880,\r\n EIGHT_HUNDRED_AND_ELEVEN = 811,\r\n EIGHT_HUNDRED_AND_FIFTEEN = 815,\r\n EIGHT_HUNDRED_AND_FIFTY_EIGHT = 858,\r\n EIGHT_HUNDRED_AND_FIFTY_FIVE = 855,\r\n EIGHT_HUNDRED_AND_FIFTY_FOUR = 854,\r\n EIGHT_HUNDRED_AND_FIFTY_NINE = 859,\r\n EIGHT_HUNDRED_AND_FIFTY_ONE = 851,\r\n EIGHT_HUNDRED_AND_FIFTY_SEVEN = 857,\r\n EIGHT_HUNDRED_AND_FIFTY_SIX = 856,\r\n EIGHT_HUNDRED_AND_FIFTY_THREE = 853,\r\n EIGHT_HUNDRED_AND_FIFTY_TWO = 852,\r\n EIGHT_HUNDRED_AND_FIFTY_ZERO = 850,\r\n EIGHT_HUNDRED_AND_FIVE = 805,\r\n EIGHT_HUNDRED_AND_FORTY_EIGHT = 848,\r\n EIGHT_HUNDRED_AND_FORTY_FIVE = 845,\r\n EIGHT_HUNDRED_AND_FORTY_FOUR = 844,\r\n EIGHT_HUNDRED_AND_FORTY_NINE = 849,\r\n EIGHT_HUNDRED_AND_FORTY_ONE = 841,\r\n EIGHT_HUNDRED_AND_FORTY_SEVEN = 847,\r\n EIGHT_HUNDRED_AND_FORTY_SIX = 846,\r\n EIGHT_HUNDRED_AND_FORTY_THREE = 843,\r\n EIGHT_HUNDRED_AND_FORTY_TWO = 842,\r\n EIGHT_HUNDRED_AND_FORTY_ZERO = 840,\r\n EIGHT_HUNDRED_AND_FOUR = 804,\r\n EIGHT_HUNDRED_AND_FOURTEEN = 814,\r\n EIGHT_HUNDRED_AND_NINE = 809,\r\n EIGHT_HUNDRED_AND_NINETEEN = 819,\r\n EIGHT_HUNDRED_AND_NINETY_EIGHT = 898,\r\n EIGHT_HUNDRED_AND_NINETY_FIVE = 895,\r\n EIGHT_HUNDRED_AND_NINETY_FOUR = 894,\r\n EIGHT_HUNDRED_AND_NINETY_NINE = 899,\r\n EIGHT_HUNDRED_AND_NINETY_ONE = 891,\r\n EIGHT_HUNDRED_AND_NINETY_SEVEN = 897,\r\n EIGHT_HUNDRED_AND_NINETY_SIX = 896,\r\n EIGHT_HUNDRED_AND_NINETY_THREE = 893,\r\n EIGHT_HUNDRED_AND_NINETY_TWO = 892,\r\n EIGHT_HUNDRED_AND_NINETY_ZERO = 890,\r\n EIGHT_HUNDRED_AND_ONE = 801,\r\n EIGHT_HUNDRED_AND_SEVEN = 807,\r\n EIGHT_HUNDRED_AND_SEVENTEEN = 817,\r\n EIGHT_HUNDRED_AND_SEVENTY_EIGHT = 878,\r\n EIGHT_HUNDRED_AND_SEVENTY_FIVE = 875,\r\n EIGHT_HUNDRED_AND_SEVENTY_FOUR = 874,\r\n EIGHT_HUNDRED_AND_SEVENTY_NINE = 879,\r\n EIGHT_HUNDRED_AND_SEVENTY_ONE = 871,\r\n EIGHT_HUNDRED_AND_SEVENTY_SEVEN = 877,\r\n EIGHT_HUNDRED_AND_SEVENTY_SIX = 876,\r\n EIGHT_HUNDRED_AND_SEVENTY_THREE = 873,\r\n EIGHT_HUNDRED_AND_SEVENTY_TWO = 872,\r\n EIGHT_HUNDRED_AND_SEVENTY_ZERO = 870,\r\n EIGHT_HUNDRED_AND_SIX = 806,\r\n EIGHT_HUNDRED_AND_SIXTEEN = 816,\r\n EIGHT_HUNDRED_AND_SIXTY_EIGHT = 868,\r\n EIGHT_HUNDRED_AND_SIXTY_FIVE = 865,\r\n EIGHT_HUNDRED_AND_SIXTY_FOUR = 864,\r\n EIGHT_HUNDRED_AND_SIXTY_NINE = 869,\r\n EIGHT_HUNDRED_AND_SIXTY_ONE = 861,\r\n EIGHT_HUNDRED_AND_SIXTY_SEVEN = 867,\r\n EIGHT_HUNDRED_AND_SIXTY_SIX = 866,\r\n EIGHT_HUNDRED_AND_SIXTY_THREE = 863,\r\n EIGHT_HUNDRED_AND_SIXTY_TWO = 862,\r\n EIGHT_HUNDRED_AND_SIXTY_ZERO = 860,\r\n EIGHT_HUNDRED_AND_TEN = 810,\r\n EIGHT_HUNDRED_AND_THIRTEEN = 813,\r\n EIGHT_HUNDRED_AND_THIRTY_EIGHT = 838,\r\n EIGHT_HUNDRED_AND_THIRTY_FIVE = 835,\r\n EIGHT_HUNDRED_AND_THIRTY_FOUR = 834,\r\n EIGHT_HUNDRED_AND_THIRTY_NINE = 839,\r\n EIGHT_HUNDRED_AND_THIRTY_ONE = 831,\r\n EIGHT_HUNDRED_AND_THIRTY_SEVEN = 837,\r\n EIGHT_HUNDRED_AND_THIRTY_SIX = 836,\r\n EIGHT_HUNDRED_AND_THIRTY_THREE = 833,\r\n EIGHT_HUNDRED_AND_THIRTY_TWO = 832,\r\n EIGHT_HUNDRED_AND_THIRTY_ZERO = 830,\r\n EIGHT_HUNDRED_AND_THREE = 803,\r\n EIGHT_HUNDRED_AND_TWELVE = 812,\r\n EIGHT_HUNDRED_AND_TWENTY_EIGHT = 828,\r\n EIGHT_HUNDRED_AND_TWENTY_FIVE = 825,\r\n EIGHT_HUNDRED_AND_TWENTY_FOUR = 824,\r\n EIGHT_HUNDRED_AND_TWENTY_NINE = 829,\r\n EIGHT_HUNDRED_AND_TWENTY_ONE = 821,\r\n EIGHT_HUNDRED_AND_TWENTY_SEVEN = 827,\r\n EIGHT_HUNDRED_AND_TWENTY_SIX = 826,\r\n EIGHT_HUNDRED_AND_TWENTY_THREE = 823,\r\n EIGHT_HUNDRED_AND_TWENTY_TWO = 822,\r\n EIGHT_HUNDRED_AND_TWENTY_ZERO = 820,\r\n EIGHT_HUNDRED_AND_TWO = 802,\r\n EIGHTEEN = 18,\r\n EIGHTY_ = 80,\r\n EIGHTY_EIGHT = 88,\r\n EIGHTY_FIVE = 85,\r\n EIGHTY_FOUR = 84,\r\n EIGHTY_NINE = 89,\r\n EIGHTY_ONE = 81,\r\n EIGHTY_SEVEN = 87,\r\n EIGHTY_SIX = 86,\r\n EIGHTY_THREE = 83,\r\n EIGHTY_TWO = 82,\r\n ELEVEN = 11,\r\n FIFTEEN = 15,\r\n FIFTY_ = 50,\r\n FIFTY_EIGHT = 58,\r\n FIFTY_FIVE = 55,\r\n FIFTY_FOUR = 54,\r\n FIFTY_NINE = 59,\r\n FIFTY_ONE = 51,\r\n FIFTY_SEVEN = 57,\r\n FIFTY_SIX = 56,\r\n FIFTY_THREE = 53,\r\n FIFTY_TWO = 52,\r\n FIVE = 5,\r\n FIVE_HUNDRED = 500,\r\n FIVE_HUNDRED_AND_EIGHT = 508,\r\n FIVE_HUNDRED_AND_EIGHTEEN = 518,\r\n FIVE_HUNDRED_AND_EIGHTY_EIGHT = 588,\r\n FIVE_HUNDRED_AND_EIGHTY_FIVE = 585,\r\n FIVE_HUNDRED_AND_EIGHTY_FOUR = 584,\r\n FIVE_HUNDRED_AND_EIGHTY_NINE = 589,\r\n FIVE_HUNDRED_AND_EIGHTY_ONE = 581,\r\n FIVE_HUNDRED_AND_EIGHTY_SEVEN = 587,\r\n FIVE_HUNDRED_AND_EIGHTY_SIX = 586,\r\n FIVE_HUNDRED_AND_EIGHTY_THREE = 583,\r\n FIVE_HUNDRED_AND_EIGHTY_TWO = 582,\r\n FIVE_HUNDRED_AND_EIGHTY_ZERO = 580,\r\n FIVE_HUNDRED_AND_ELEVEN = 511,\r\n FIVE_HUNDRED_AND_FIFTEEN = 515,\r\n FIVE_HUNDRED_AND_FIFTY_EIGHT = 558,\r\n FIVE_HUNDRED_AND_FIFTY_FIVE = 555,\r\n FIVE_HUNDRED_AND_FIFTY_FOUR = 554,\r\n FIVE_HUNDRED_AND_FIFTY_NINE = 559,\r\n FIVE_HUNDRED_AND_FIFTY_ONE = 551,\r\n FIVE_HUNDRED_AND_FIFTY_SEVEN = 557,\r\n FIVE_HUNDRED_AND_FIFTY_SIX = 556,\r\n FIVE_HUNDRED_AND_FIFTY_THREE = 553,\r\n FIVE_HUNDRED_AND_FIFTY_TWO = 552,\r\n FIVE_HUNDRED_AND_FIFTY_ZERO = 550,\r\n FIVE_HUNDRED_AND_FIVE = 505,\r\n FIVE_HUNDRED_AND_FORTY_EIGHT = 548,\r\n FIVE_HUNDRED_AND_FORTY_FIVE = 545,\r\n FIVE_HUNDRED_AND_FORTY_FOUR = 544,\r\n FIVE_HUNDRED_AND_FORTY_NINE = 549,\r\n FIVE_HUNDRED_AND_FORTY_ONE = 541,\r\n FIVE_HUNDRED_AND_FORTY_SEVEN = 547,\r\n FIVE_HUNDRED_AND_FORTY_SIX = 546,\r\n FIVE_HUNDRED_AND_FORTY_THREE = 543,\r\n FIVE_HUNDRED_AND_FORTY_TWO = 542,\r\n FIVE_HUNDRED_AND_FORTY_ZERO = 540,\r\n FIVE_HUNDRED_AND_FOUR = 504,\r\n FIVE_HUNDRED_AND_FOURTEEN = 514,\r\n FIVE_HUNDRED_AND_NINE = 509,\r\n FIVE_HUNDRED_AND_NINETEEN = 519,\r\n FIVE_HUNDRED_AND_NINETY_EIGHT = 598,\r\n FIVE_HUNDRED_AND_NINETY_FIVE = 595,\r\n FIVE_HUNDRED_AND_NINETY_FOUR = 594,\r\n FIVE_HUNDRED_AND_NINETY_NINE = 599,\r\n FIVE_HUNDRED_AND_NINETY_ONE = 591,\r\n FIVE_HUNDRED_AND_NINETY_SEVEN = 597,\r\n FIVE_HUNDRED_AND_NINETY_SIX = 596,\r\n FIVE_HUNDRED_AND_NINETY_THREE = 593,\r\n FIVE_HUNDRED_AND_NINETY_TWO = 592,\r\n FIVE_HUNDRED_AND_NINETY_ZERO = 590,\r\n FIVE_HUNDRED_AND_ONE = 501,\r\n FIVE_HUNDRED_AND_SEVEN = 507,\r\n FIVE_HUNDRED_AND_SEVENTEEN = 517,\r\n FIVE_HUNDRED_AND_SEVENTY_EIGHT = 578,\r\n FIVE_HUNDRED_AND_SEVENTY_FIVE = 575,\r\n FIVE_HUNDRED_AND_SEVENTY_FOUR = 574,\r\n FIVE_HUNDRED_AND_SEVENTY_NINE = 579,\r\n FIVE_HUNDRED_AND_SEVENTY_ONE = 571,\r\n FIVE_HUNDRED_AND_SEVENTY_SEVEN = 577,\r\n FIVE_HUNDRED_AND_SEVENTY_SIX = 576,\r\n FIVE_HUNDRED_AND_SEVENTY_THREE = 573,\r\n FIVE_HUNDRED_AND_SEVENTY_TWO = 572,\r\n FIVE_HUNDRED_AND_SEVENTY_ZERO = 570,\r\n FIVE_HUNDRED_AND_SIX = 506,\r\n FIVE_HUNDRED_AND_SIXTEEN = 516,\r\n FIVE_HUNDRED_AND_SIXTY_EIGHT = 568,\r\n FIVE_HUNDRED_AND_SIXTY_FIVE = 565,\r\n FIVE_HUNDRED_AND_SIXTY_FOUR = 564,\r\n FIVE_HUNDRED_AND_SIXTY_NINE = 569,\r\n FIVE_HUNDRED_AND_SIXTY_ONE = 561,\r\n FIVE_HUNDRED_AND_SIXTY_SEVEN = 567,\r\n FIVE_HUNDRED_AND_SIXTY_SIX = 566,\r\n FIVE_HUNDRED_AND_SIXTY_THREE = 563,\r\n FIVE_HUNDRED_AND_SIXTY_TWO = 562,\r\n FIVE_HUNDRED_AND_SIXTY_ZERO = 560,\r\n FIVE_HUNDRED_AND_TEN = 510,\r\n FIVE_HUNDRED_AND_THIRTEEN = 513,\r\n FIVE_HUNDRED_AND_THIRTY_EIGHT = 538,\r\n FIVE_HUNDRED_AND_THIRTY_FIVE = 535,\r\n FIVE_HUNDRED_AND_THIRTY_FOUR = 534,\r\n FIVE_HUNDRED_AND_THIRTY_NINE = 539,\r\n FIVE_HUNDRED_AND_THIRTY_ONE = 531,\r\n FIVE_HUNDRED_AND_THIRTY_SEVEN = 537,\r\n FIVE_HUNDRED_AND_THIRTY_SIX = 536,\r\n FIVE_HUNDRED_AND_THIRTY_THREE = 533,\r\n FIVE_HUNDRED_AND_THIRTY_TWO = 532,\r\n FIVE_HUNDRED_AND_THIRTY_ZERO = 530,\r\n FIVE_HUNDRED_AND_THREE = 503,\r\n FIVE_HUNDRED_AND_TWELVE = 512,\r\n FIVE_HUNDRED_AND_TWENTY_EIGHT = 528,\r\n FIVE_HUNDRED_AND_TWENTY_FIVE = 525,\r\n FIVE_HUNDRED_AND_TWENTY_FOUR = 524,\r\n FIVE_HUNDRED_AND_TWENTY_NINE = 529,\r\n FIVE_HUNDRED_AND_TWENTY_ONE = 521,\r\n FIVE_HUNDRED_AND_TWENTY_SEVEN = 527,\r\n FIVE_HUNDRED_AND_TWENTY_SIX = 526,\r\n FIVE_HUNDRED_AND_TWENTY_THREE = 523,\r\n FIVE_HUNDRED_AND_TWENTY_TWO = 522,\r\n FIVE_HUNDRED_AND_TWENTY_ZERO = 520,\r\n FIVE_HUNDRED_AND_TWO = 502,\r\n FORTY_ = 40,\r\n FORTY_EIGHT = 48,\r\n FORTY_FIVE = 45,\r\n FORTY_FOUR = 44,\r\n FORTY_NINE = 49,\r\n FORTY_ONE = 41,\r\n FORTY_SEVEN = 47,\r\n FORTY_SIX = 46,\r\n FORTY_THREE = 43,\r\n FORTY_TWO = 42,\r\n FOUR = 4,\r\n FOUR_HUNDRED = 400,\r\n FOUR_HUNDRED_AND_EIGHT = 408,\r\n FOUR_HUNDRED_AND_EIGHTEEN = 418,\r\n FOUR_HUNDRED_AND_EIGHTY_EIGHT = 488,\r\n FOUR_HUNDRED_AND_EIGHTY_FIVE = 485,\r\n FOUR_HUNDRED_AND_EIGHTY_FOUR = 484,\r\n FOUR_HUNDRED_AND_EIGHTY_NINE = 489,\r\n FOUR_HUNDRED_AND_EIGHTY_ONE = 481,\r\n FOUR_HUNDRED_AND_EIGHTY_SEVEN = 487,\r\n FOUR_HUNDRED_AND_EIGHTY_SIX = 486,\r\n FOUR_HUNDRED_AND_EIGHTY_THREE = 483,\r\n FOUR_HUNDRED_AND_EIGHTY_TWO = 482,\r\n FOUR_HUNDRED_AND_EIGHTY_ZERO = 480,\r\n FOUR_HUNDRED_AND_ELEVEN = 411,\r\n FOUR_HUNDRED_AND_FIFTEEN = 415,\r\n FOUR_HUNDRED_AND_FIFTY_EIGHT = 458,\r\n FOUR_HUNDRED_AND_FIFTY_FIVE = 455,\r\n FOUR_HUNDRED_AND_FIFTY_FOUR = 454,\r\n FOUR_HUNDRED_AND_FIFTY_NINE = 459,\r\n FOUR_HUNDRED_AND_FIFTY_ONE = 451,\r\n FOUR_HUNDRED_AND_FIFTY_SEVEN = 457,\r\n FOUR_HUNDRED_AND_FIFTY_SIX = 456,\r\n FOUR_HUNDRED_AND_FIFTY_THREE = 453,\r\n FOUR_HUNDRED_AND_FIFTY_TWO = 452,\r\n FOUR_HUNDRED_AND_FIFTY_ZERO = 450,\r\n FOUR_HUNDRED_AND_FIVE = 405,\r\n FOUR_HUNDRED_AND_FORTY_EIGHT = 448,\r\n FOUR_HUNDRED_AND_FORTY_FIVE = 445,\r\n FOUR_HUNDRED_AND_FORTY_FOUR = 444,\r\n FOUR_HUNDRED_AND_FORTY_NINE = 449,\r\n FOUR_HUNDRED_AND_FORTY_ONE = 441,\r\n FOUR_HUNDRED_AND_FORTY_SEVEN = 447,\r\n FOUR_HUNDRED_AND_FORTY_SIX = 446,\r\n FOUR_HUNDRED_AND_FORTY_THREE = 443,\r\n FOUR_HUNDRED_AND_FORTY_TWO = 442,\r\n FOUR_HUNDRED_AND_FORTY_ZERO = 440,\r\n FOUR_HUNDRED_AND_FOUR = 404,\r\n FOUR_HUNDRED_AND_FOURTEEN = 414,\r\n FOUR_HUNDRED_AND_NINE = 409,\r\n FOUR_HUNDRED_AND_NINETEEN = 419,\r\n FOUR_HUNDRED_AND_NINETY_EIGHT = 498,\r\n FOUR_HUNDRED_AND_NINETY_FIVE = 495,\r\n FOUR_HUNDRED_AND_NINETY_FOUR = 494,\r\n FOUR_HUNDRED_AND_NINETY_NINE = 499,\r\n FOUR_HUNDRED_AND_NINETY_ONE = 491,\r\n FOUR_HUNDRED_AND_NINETY_SEVEN = 497,\r\n FOUR_HUNDRED_AND_NINETY_SIX = 496,\r\n FOUR_HUNDRED_AND_NINETY_THREE = 493,\r\n FOUR_HUNDRED_AND_NINETY_TWO = 492,\r\n FOUR_HUNDRED_AND_NINETY_ZERO = 490,\r\n FOUR_HUNDRED_AND_ONE = 401,\r\n FOUR_HUNDRED_AND_SEVEN = 407,\r\n FOUR_HUNDRED_AND_SEVENTEEN = 417,\r\n FOUR_HUNDRED_AND_SEVENTY_EIGHT = 478,\r\n FOUR_HUNDRED_AND_SEVENTY_FIVE = 475,\r\n FOUR_HUNDRED_AND_SEVENTY_FOUR = 474,\r\n FOUR_HUNDRED_AND_SEVENTY_NINE = 479,\r\n FOUR_HUNDRED_AND_SEVENTY_ONE = 471,\r\n FOUR_HUNDRED_AND_SEVENTY_SEVEN = 477,\r\n FOUR_HUNDRED_AND_SEVENTY_SIX = 476,\r\n FOUR_HUNDRED_AND_SEVENTY_THREE = 473,\r\n FOUR_HUNDRED_AND_SEVENTY_TWO = 472,\r\n FOUR_HUNDRED_AND_SEVENTY_ZERO = 470,\r\n FOUR_HUNDRED_AND_SIX = 406,\r\n FOUR_HUNDRED_AND_SIXTEEN = 416,\r\n FOUR_HUNDRED_AND_SIXTY_EIGHT = 468,\r\n FOUR_HUNDRED_AND_SIXTY_FIVE = 465,\r\n FOUR_HUNDRED_AND_SIXTY_FOUR = 464,\r\n FOUR_HUNDRED_AND_SIXTY_NINE = 469,\r\n FOUR_HUNDRED_AND_SIXTY_ONE = 461,\r\n FOUR_HUNDRED_AND_SIXTY_SEVEN = 467,\r\n FOUR_HUNDRED_AND_SIXTY_SIX = 466,\r\n FOUR_HUNDRED_AND_SIXTY_THREE = 463,\r\n FOUR_HUNDRED_AND_SIXTY_TWO = 462,\r\n FOUR_HUNDRED_AND_SIXTY_ZERO = 460,\r\n FOUR_HUNDRED_AND_TEN = 410,\r\n FOUR_HUNDRED_AND_THIRTEEN = 413,\r\n FOUR_HUNDRED_AND_THIRTY_EIGHT = 438,\r\n FOUR_HUNDRED_AND_THIRTY_FIVE = 435,\r\n FOUR_HUNDRED_AND_THIRTY_FOUR = 434,\r\n FOUR_HUNDRED_AND_THIRTY_NINE = 439,\r\n FOUR_HUNDRED_AND_THIRTY_ONE = 431,\r\n FOUR_HUNDRED_AND_THIRTY_SEVEN = 437,\r\n FOUR_HUNDRED_AND_THIRTY_SIX = 436,\r\n FOUR_HUNDRED_AND_THIRTY_THREE = 433,\r\n FOUR_HUNDRED_AND_THIRTY_TWO = 432,\r\n FOUR_HUNDRED_AND_THIRTY_ZERO = 430,\r\n FOUR_HUNDRED_AND_THREE = 403,\r\n FOUR_HUNDRED_AND_TWELVE = 412,\r\n FOUR_HUNDRED_AND_TWENTY_EIGHT = 428,\r\n FOUR_HUNDRED_AND_TWENTY_FIVE = 425,\r\n FOUR_HUNDRED_AND_TWENTY_FOUR = 424,\r\n FOUR_HUNDRED_AND_TWENTY_NINE = 429,\r\n FOUR_HUNDRED_AND_TWENTY_ONE = 421,\r\n FOUR_HUNDRED_AND_TWENTY_SEVEN = 427,\r\n FOUR_HUNDRED_AND_TWENTY_SIX = 426,\r\n FOUR_HUNDRED_AND_TWENTY_THREE = 423,\r\n FOUR_HUNDRED_AND_TWENTY_TWO = 422,\r\n FOUR_HUNDRED_AND_TWENTY_ZERO = 420,\r\n FOUR_HUNDRED_AND_TWO = 402,\r\n FOURTEEN = 14,\r\n NINE = 9,\r\n NINE_HUNDRED = 900,\r\n NINE_HUNDRED_AND_EIGHT = 908,\r\n NINE_HUNDRED_AND_EIGHTEEN = 918,\r\n NINE_HUNDRED_AND_EIGHTY_EIGHT = 988,\r\n NINE_HUNDRED_AND_EIGHTY_FIVE = 985,\r\n NINE_HUNDRED_AND_EIGHTY_FOUR = 984,\r\n NINE_HUNDRED_AND_EIGHTY_NINE = 989,\r\n NINE_HUNDRED_AND_EIGHTY_ONE = 981,\r\n NINE_HUNDRED_AND_EIGHTY_SEVEN = 987,\r\n NINE_HUNDRED_AND_EIGHTY_SIX = 986,\r\n NINE_HUNDRED_AND_EIGHTY_THREE = 983,\r\n NINE_HUNDRED_AND_EIGHTY_TWO = 982,\r\n NINE_HUNDRED_AND_EIGHTY_ZERO = 980,\r\n NINE_HUNDRED_AND_ELEVEN = 911,\r\n NINE_HUNDRED_AND_FIFTEEN = 915,\r\n NINE_HUNDRED_AND_FIFTY_EIGHT = 958,\r\n NINE_HUNDRED_AND_FIFTY_FIVE = 955,\r\n NINE_HUNDRED_AND_FIFTY_FOUR = 954,\r\n NINE_HUNDRED_AND_FIFTY_NINE = 959,\r\n NINE_HUNDRED_AND_FIFTY_ONE = 951,\r\n NINE_HUNDRED_AND_FIFTY_SEVEN = 957,\r\n NINE_HUNDRED_AND_FIFTY_SIX = 956,\r\n NINE_HUNDRED_AND_FIFTY_THREE = 953,\r\n NINE_HUNDRED_AND_FIFTY_TWO = 952,\r\n NINE_HUNDRED_AND_FIFTY_ZERO = 950,\r\n NINE_HUNDRED_AND_FIVE = 905,\r\n NINE_HUNDRED_AND_FORTY_EIGHT = 948,\r\n NINE_HUNDRED_AND_FORTY_FIVE = 945,\r\n NINE_HUNDRED_AND_FORTY_FOUR = 944,\r\n NINE_HUNDRED_AND_FORTY_NINE = 949,\r\n NINE_HUNDRED_AND_FORTY_ONE = 941,\r\n NINE_HUNDRED_AND_FORTY_SEVEN = 947,\r\n NINE_HUNDRED_AND_FORTY_SIX = 946,\r\n NINE_HUNDRED_AND_FORTY_THREE = 943,\r\n NINE_HUNDRED_AND_FORTY_TWO = 942,\r\n NINE_HUNDRED_AND_FORTY_ZERO = 940,\r\n NINE_HUNDRED_AND_FOUR = 904,\r\n NINE_HUNDRED_AND_FOURTEEN = 914,\r\n NINE_HUNDRED_AND_NINE = 909,\r\n NINE_HUNDRED_AND_NINETEEN = 919,\r\n NINE_HUNDRED_AND_NINETY_EIGHT = 998,\r\n NINE_HUNDRED_AND_NINETY_FIVE = 995,\r\n NINE_HUNDRED_AND_NINETY_FOUR = 994,\r\n NINE_HUNDRED_AND_NINETY_NINE = 999,\r\n NINE_HUNDRED_AND_NINETY_ONE = 991,\r\n NINE_HUNDRED_AND_NINETY_SEVEN = 997,\r\n NINE_HUNDRED_AND_NINETY_SIX = 996,\r\n NINE_HUNDRED_AND_NINETY_THREE = 993,\r\n NINE_HUNDRED_AND_NINETY_TWO = 992,\r\n NINE_HUNDRED_AND_NINETY_ZERO = 990,\r\n NINE_HUNDRED_AND_ONE = 901,\r\n NINE_HUNDRED_AND_SEVEN = 907,\r\n NINE_HUNDRED_AND_SEVENTEEN = 917,\r\n NINE_HUNDRED_AND_SEVENTY_EIGHT = 978,\r\n NINE_HUNDRED_AND_SEVENTY_FIVE = 975,\r\n NINE_HUNDRED_AND_SEVENTY_FOUR = 974,\r\n NINE_HUNDRED_AND_SEVENTY_NINE = 979,\r\n NINE_HUNDRED_AND_SEVENTY_ONE = 971,\r\n NINE_HUNDRED_AND_SEVENTY_SEVEN = 977,\r\n NINE_HUNDRED_AND_SEVENTY_SIX = 976,\r\n NINE_HUNDRED_AND_SEVENTY_THREE = 973,\r\n NINE_HUNDRED_AND_SEVENTY_TWO = 972,\r\n NINE_HUNDRED_AND_SEVENTY_ZERO = 970,\r\n NINE_HUNDRED_AND_SIX = 906,\r\n NINE_HUNDRED_AND_SIXTEEN = 916,\r\n NINE_HUNDRED_AND_SIXTY_EIGHT = 968,\r\n NINE_HUNDRED_AND_SIXTY_FIVE = 965,\r\n NINE_HUNDRED_AND_SIXTY_FOUR = 964,\r\n NINE_HUNDRED_AND_SIXTY_NINE = 969,\r\n NINE_HUNDRED_AND_SIXTY_ONE = 961,\r\n NINE_HUNDRED_AND_SIXTY_SEVEN = 967,\r\n NINE_HUNDRED_AND_SIXTY_SIX = 966,\r\n NINE_HUNDRED_AND_SIXTY_THREE = 963,\r\n NINE_HUNDRED_AND_SIXTY_TWO = 962,\r\n NINE_HUNDRED_AND_SIXTY_ZERO = 960,\r\n NINE_HUNDRED_AND_TEN = 910,\r\n NINE_HUNDRED_AND_THIRTEEN = 913,\r\n NINE_HUNDRED_AND_THIRTY_EIGHT = 938,\r\n NINE_HUNDRED_AND_THIRTY_FIVE = 935,\r\n NINE_HUNDRED_AND_THIRTY_FOUR = 934,\r\n NINE_HUNDRED_AND_THIRTY_NINE = 939,\r\n NINE_HUNDRED_AND_THIRTY_ONE = 931,\r\n NINE_HUNDRED_AND_THIRTY_SEVEN = 937,\r\n NINE_HUNDRED_AND_THIRTY_SIX = 936,\r\n NINE_HUNDRED_AND_THIRTY_THREE = 933,\r\n NINE_HUNDRED_AND_THIRTY_TWO = 932,\r\n NINE_HUNDRED_AND_THIRTY_ZERO = 930,\r\n NINE_HUNDRED_AND_THREE = 903,\r\n NINE_HUNDRED_AND_TWELVE = 912,\r\n NINE_HUNDRED_AND_TWENTY_EIGHT = 928,\r\n NINE_HUNDRED_AND_TWENTY_FIVE = 925,\r\n NINE_HUNDRED_AND_TWENTY_FOUR = 924,\r\n NINE_HUNDRED_AND_TWENTY_NINE = 929,\r\n NINE_HUNDRED_AND_TWENTY_ONE = 921,\r\n NINE_HUNDRED_AND_TWENTY_SEVEN = 927,\r\n NINE_HUNDRED_AND_TWENTY_SIX = 926,\r\n NINE_HUNDRED_AND_TWENTY_THREE = 923,\r\n NINE_HUNDRED_AND_TWENTY_TWO = 922,\r\n NINE_HUNDRED_AND_TWENTY_ZERO = 920,\r\n NINE_HUNDRED_AND_TWO = 902,\r\n NINETEEN = 19,\r\n NINETY_ = 90,\r\n NINETY_EIGHT = 98,\r\n NINETY_FIVE = 95,\r\n NINETY_FOUR = 94,\r\n NINETY_NINE = 99,\r\n NINETY_ONE = 91,\r\n NINETY_SEVEN = 97,\r\n NINETY_SIX = 96,\r\n NINETY_THREE = 93,\r\n NINETY_TWO = 92,\r\n ONE = 1,\r\n ONE_HUNDRED = 100,\r\n ONE_HUNDRED_AND_EIGHT = 108,\r\n ONE_HUNDRED_AND_EIGHTEEN = 118,\r\n ONE_HUNDRED_AND_EIGHTY_EIGHT = 188,\r\n ONE_HUNDRED_AND_EIGHTY_FIVE = 185,\r\n ONE_HUNDRED_AND_EIGHTY_FOUR = 184,\r\n ONE_HUNDRED_AND_EIGHTY_NINE = 189,\r\n ONE_HUNDRED_AND_EIGHTY_ONE = 181,\r\n ONE_HUNDRED_AND_EIGHTY_SEVEN = 187,\r\n ONE_HUNDRED_AND_EIGHTY_SIX = 186,\r\n ONE_HUNDRED_AND_EIGHTY_THREE = 183,\r\n ONE_HUNDRED_AND_EIGHTY_TWO = 182,\r\n ONE_HUNDRED_AND_EIGHTY_ZERO = 180,\r\n ONE_HUNDRED_AND_ELEVEN = 111,\r\n ONE_HUNDRED_AND_FIFTEEN = 115,\r\n ONE_HUNDRED_AND_FIFTY_EIGHT = 158,\r\n ONE_HUNDRED_AND_FIFTY_FIVE = 155,\r\n ONE_HUNDRED_AND_FIFTY_FOUR = 154,\r\n ONE_HUNDRED_AND_FIFTY_NINE = 159,\r\n ONE_HUNDRED_AND_FIFTY_ONE = 151,\r\n ONE_HUNDRED_AND_FIFTY_SEVEN = 157,\r\n ONE_HUNDRED_AND_FIFTY_SIX = 156,\r\n ONE_HUNDRED_AND_FIFTY_THREE = 153,\r\n ONE_HUNDRED_AND_FIFTY_TWO = 152,\r\n ONE_HUNDRED_AND_FIFTY_ZERO = 150,\r\n ONE_HUNDRED_AND_FIVE = 105,\r\n ONE_HUNDRED_AND_FORTY_EIGHT = 148,\r\n ONE_HUNDRED_AND_FORTY_FIVE = 145,\r\n ONE_HUNDRED_AND_FORTY_FOUR = 144,\r\n ONE_HUNDRED_AND_FORTY_NINE = 149,\r\n ONE_HUNDRED_AND_FORTY_ONE = 141,\r\n ONE_HUNDRED_AND_FORTY_SEVEN = 147,\r\n ONE_HUNDRED_AND_FORTY_SIX = 146,\r\n ONE_HUNDRED_AND_FORTY_THREE = 143,\r\n ONE_HUNDRED_AND_FORTY_TWO = 142,\r\n ONE_HUNDRED_AND_FORTY_ZERO = 140,\r\n ONE_HUNDRED_AND_FOUR = 104,\r\n ONE_HUNDRED_AND_FOURTEEN = 114,\r\n ONE_HUNDRED_AND_NINE = 109,\r\n ONE_HUNDRED_AND_NINETEEN = 119,\r\n ONE_HUNDRED_AND_NINETY_EIGHT = 198,\r\n ONE_HUNDRED_AND_NINETY_FIVE = 195,\r\n ONE_HUNDRED_AND_NINETY_FOUR = 194,\r\n ONE_HUNDRED_AND_NINETY_NINE = 199,\r\n ONE_HUNDRED_AND_NINETY_ONE = 191,\r\n ONE_HUNDRED_AND_NINETY_SEVEN = 197,\r\n ONE_HUNDRED_AND_NINETY_SIX = 196,\r\n ONE_HUNDRED_AND_NINETY_THREE = 193,\r\n ONE_HUNDRED_AND_NINETY_TWO = 192,\r\n ONE_HUNDRED_AND_NINETY_ZERO = 190,\r\n ONE_HUNDRED_AND_ONE = 101,\r\n ONE_HUNDRED_AND_SEVEN = 107,\r\n ONE_HUNDRED_AND_SEVENTEEN = 117,\r\n ONE_HUNDRED_AND_SEVENTY_EIGHT = 178,\r\n ONE_HUNDRED_AND_SEVENTY_FIVE = 175,\r\n ONE_HUNDRED_AND_SEVENTY_FOUR = 174,\r\n ONE_HUNDRED_AND_SEVENTY_NINE = 179,\r\n ONE_HUNDRED_AND_SEVENTY_ONE = 171,\r\n ONE_HUNDRED_AND_SEVENTY_SEVEN = 177,\r\n ONE_HUNDRED_AND_SEVENTY_SIX = 176,\r\n ONE_HUNDRED_AND_SEVENTY_THREE = 173,\r\n ONE_HUNDRED_AND_SEVENTY_TWO = 172,\r\n ONE_HUNDRED_AND_SEVENTY_ZERO = 170,\r\n ONE_HUNDRED_AND_SIX = 106,\r\n ONE_HUNDRED_AND_SIXTEEN = 116,\r\n ONE_HUNDRED_AND_SIXTY_EIGHT = 168,\r\n ONE_HUNDRED_AND_SIXTY_FIVE = 165,\r\n ONE_HUNDRED_AND_SIXTY_FOUR = 164,\r\n ONE_HUNDRED_AND_SIXTY_NINE = 169,\r\n ONE_HUNDRED_AND_SIXTY_ONE = 161,\r\n ONE_HUNDRED_AND_SIXTY_SEVEN = 167,\r\n ONE_HUNDRED_AND_SIXTY_SIX = 166,\r\n ONE_HUNDRED_AND_SIXTY_THREE = 163,\r\n ONE_HUNDRED_AND_SIXTY_TWO = 162,\r\n ONE_HUNDRED_AND_SIXTY_ZERO = 160,\r\n ONE_HUNDRED_AND_TEN = 110,\r\n ONE_HUNDRED_AND_THIRTEEN = 113,\r\n ONE_HUNDRED_AND_THIRTY_EIGHT = 138,\r\n ONE_HUNDRED_AND_THIRTY_FIVE = 135,\r\n ONE_HUNDRED_AND_THIRTY_FOUR = 134,\r\n ONE_HUNDRED_AND_THIRTY_NINE = 139,\r\n ONE_HUNDRED_AND_THIRTY_ONE = 131,\r\n ONE_HUNDRED_AND_THIRTY_SEVEN = 137,\r\n ONE_HUNDRED_AND_THIRTY_SIX = 136,\r\n ONE_HUNDRED_AND_THIRTY_THREE = 133,\r\n ONE_HUNDRED_AND_THIRTY_TWO = 132,\r\n ONE_HUNDRED_AND_THIRTY_ZERO = 130,\r\n ONE_HUNDRED_AND_THREE = 103,\r\n ONE_HUNDRED_AND_TWELVE = 112,\r\n ONE_HUNDRED_AND_TWENTY_EIGHT = 128,\r\n ONE_HUNDRED_AND_TWENTY_FIVE = 125,\r\n ONE_HUNDRED_AND_TWENTY_FOUR = 124,\r\n ONE_HUNDRED_AND_TWENTY_NINE = 129,\r\n ONE_HUNDRED_AND_TWENTY_ONE = 121,\r\n ONE_HUNDRED_AND_TWENTY_SEVEN = 127,\r\n ONE_HUNDRED_AND_TWENTY_SIX = 126,\r\n ONE_HUNDRED_AND_TWENTY_THREE = 123,\r\n ONE_HUNDRED_AND_TWENTY_TWO = 122,\r\n ONE_HUNDRED_AND_TWENTY_ZERO = 120,\r\n ONE_HUNDRED_AND_TWO = 102,\r\n ONETHOUSAND = 1000,\r\n SEVEN = 7,\r\n SEVEN_HUNDRED = 700,\r\n SEVEN_HUNDRED_AND_EIGHT = 708,\r\n SEVEN_HUNDRED_AND_EIGHTEEN = 718,\r\n SEVEN_HUNDRED_AND_EIGHTY_EIGHT = 788,\r\n SEVEN_HUNDRED_AND_EIGHTY_FIVE = 785,\r\n SEVEN_HUNDRED_AND_EIGHTY_FOUR = 784,\r\n SEVEN_HUNDRED_AND_EIGHTY_NINE = 789,\r\n SEVEN_HUNDRED_AND_EIGHTY_ONE = 781,\r\n SEVEN_HUNDRED_AND_EIGHTY_SEVEN = 787,\r\n SEVEN_HUNDRED_AND_EIGHTY_SIX = 786,\r\n SEVEN_HUNDRED_AND_EIGHTY_THREE = 783,\r\n SEVEN_HUNDRED_AND_EIGHTY_TWO = 782,\r\n SEVEN_HUNDRED_AND_EIGHTY_ZERO = 780,\r\n SEVEN_HUNDRED_AND_ELEVEN = 711,\r\n SEVEN_HUNDRED_AND_FIFTEEN = 715,\r\n SEVEN_HUNDRED_AND_FIFTY_EIGHT = 758,\r\n SEVEN_HUNDRED_AND_FIFTY_FIVE = 755,\r\n SEVEN_HUNDRED_AND_FIFTY_FOUR = 754,\r\n SEVEN_HUNDRED_AND_FIFTY_NINE = 759,\r\n SEVEN_HUNDRED_AND_FIFTY_ONE = 751,\r\n SEVEN_HUNDRED_AND_FIFTY_SEVEN = 757,\r\n SEVEN_HUNDRED_AND_FIFTY_SIX = 756,\r\n SEVEN_HUNDRED_AND_FIFTY_THREE = 753,\r\n SEVEN_HUNDRED_AND_FIFTY_TWO = 752,\r\n SEVEN_HUNDRED_AND_FIFTY_ZERO = 750,\r\n SEVEN_HUNDRED_AND_FIVE = 705,\r\n SEVEN_HUNDRED_AND_FORTY_EIGHT = 748,\r\n SEVEN_HUNDRED_AND_FORTY_FIVE = 745,\r\n SEVEN_HUNDRED_AND_FORTY_FOUR = 744,\r\n SEVEN_HUNDRED_AND_FORTY_NINE = 749,\r\n SEVEN_HUNDRED_AND_FORTY_ONE = 741,\r\n SEVEN_HUNDRED_AND_FORTY_SEVEN = 747,\r\n SEVEN_HUNDRED_AND_FORTY_SIX = 746,\r\n SEVEN_HUNDRED_AND_FORTY_THREE = 743,\r\n SEVEN_HUNDRED_AND_FORTY_TWO = 742,\r\n SEVEN_HUNDRED_AND_FORTY_ZERO = 740,\r\n SEVEN_HUNDRED_AND_FOUR = 704,\r\n SEVEN_HUNDRED_AND_FOURTEEN = 714,\r\n SEVEN_HUNDRED_AND_NINE = 709,\r\n SEVEN_HUNDRED_AND_NINETEEN = 719,\r\n SEVEN_HUNDRED_AND_NINETY_EIGHT = 798,\r\n SEVEN_HUNDRED_AND_NINETY_FIVE = 795,\r\n SEVEN_HUNDRED_AND_NINETY_FOUR = 794,\r\n SEVEN_HUNDRED_AND_NINETY_NINE = 799,\r\n SEVEN_HUNDRED_AND_NINETY_ONE = 791,\r\n SEVEN_HUNDRED_AND_NINETY_SEVEN = 797,\r\n SEVEN_HUNDRED_AND_NINETY_SIX = 796,\r\n SEVEN_HUNDRED_AND_NINETY_THREE = 793,\r\n SEVEN_HUNDRED_AND_NINETY_TWO = 792,\r\n SEVEN_HUNDRED_AND_NINETY_ZERO = 790,\r\n SEVEN_HUNDRED_AND_ONE = 701,\r\n SEVEN_HUNDRED_AND_SEVEN = 707,\r\n SEVEN_HUNDRED_AND_SEVENTEEN = 717,\r\n SEVEN_HUNDRED_AND_SEVENTY_EIGHT = 778,\r\n SEVEN_HUNDRED_AND_SEVENTY_FIVE = 775,\r\n SEVEN_HUNDRED_AND_SEVENTY_FOUR = 774,\r\n SEVEN_HUNDRED_AND_SEVENTY_NINE = 779,\r\n SEVEN_HUNDRED_AND_SEVENTY_ONE = 771,\r\n SEVEN_HUNDRED_AND_SEVENTY_SEVEN = 777,\r\n SEVEN_HUNDRED_AND_SEVENTY_SIX = 776,\r\n SEVEN_HUNDRED_AND_SEVENTY_THREE = 773,\r\n SEVEN_HUNDRED_AND_SEVENTY_TWO = 772,\r\n SEVEN_HUNDRED_AND_SEVENTY_ZERO = 770,\r\n SEVEN_HUNDRED_AND_SIX = 706,\r\n SEVEN_HUNDRED_AND_SIXTEEN = 716,\r\n SEVEN_HUNDRED_AND_SIXTY_EIGHT = 768,\r\n SEVEN_HUNDRED_AND_SIXTY_FIVE = 765,\r\n SEVEN_HUNDRED_AND_SIXTY_FOUR = 764,\r\n SEVEN_HUNDRED_AND_SIXTY_NINE = 769,\r\n SEVEN_HUNDRED_AND_SIXTY_ONE = 761,\r\n SEVEN_HUNDRED_AND_SIXTY_SEVEN = 767,\r\n SEVEN_HUNDRED_AND_SIXTY_SIX = 766,\r\n SEVEN_HUNDRED_AND_SIXTY_THREE = 763,\r\n SEVEN_HUNDRED_AND_SIXTY_TWO = 762,\r\n SEVEN_HUNDRED_AND_SIXTY_ZERO = 760,\r\n SEVEN_HUNDRED_AND_TEN = 710,\r\n SEVEN_HUNDRED_AND_THIRTEEN = 713,\r\n SEVEN_HUNDRED_AND_THIRTY_EIGHT = 738,\r\n SEVEN_HUNDRED_AND_THIRTY_FIVE = 735,\r\n SEVEN_HUNDRED_AND_THIRTY_FOUR = 734,\r\n SEVEN_HUNDRED_AND_THIRTY_NINE = 739,\r\n SEVEN_HUNDRED_AND_THIRTY_ONE = 731,\r\n SEVEN_HUNDRED_AND_THIRTY_SEVEN = 737,\r\n SEVEN_HUNDRED_AND_THIRTY_SIX = 736,\r\n SEVEN_HUNDRED_AND_THIRTY_THREE = 733,\r\n SEVEN_HUNDRED_AND_THIRTY_TWO = 732,\r\n SEVEN_HUNDRED_AND_THIRTY_ZERO = 730,\r\n SEVEN_HUNDRED_AND_THREE = 703,\r\n SEVEN_HUNDRED_AND_TWELVE = 712,\r\n SEVEN_HUNDRED_AND_TWENTY_EIGHT = 728,\r\n SEVEN_HUNDRED_AND_TWENTY_FIVE = 725,\r\n SEVEN_HUNDRED_AND_TWENTY_FOUR = 724,\r\n SEVEN_HUNDRED_AND_TWENTY_NINE = 729,\r\n SEVEN_HUNDRED_AND_TWENTY_ONE = 721,\r\n SEVEN_HUNDRED_AND_TWENTY_SEVEN = 727,\r\n SEVEN_HUNDRED_AND_TWENTY_SIX = 726,\r\n SEVEN_HUNDRED_AND_TWENTY_THREE = 723,\r\n SEVEN_HUNDRED_AND_TWENTY_TWO = 722,\r\n SEVEN_HUNDRED_AND_TWENTY_ZERO = 720,\r\n SEVEN_HUNDRED_AND_TWO = 702,\r\n SEVENTEEN = 17,\r\n SEVENTY_ = 70,\r\n SEVENTY_EIGHT = 78,\r\n SEVENTY_FIVE = 75,\r\n SEVENTY_FOUR = 74,\r\n SEVENTY_NINE = 79,\r\n SEVENTY_ONE = 71,\r\n SEVENTY_SEVEN = 77,\r\n SEVENTY_SIX = 76,\r\n SEVENTY_THREE = 73,\r\n SEVENTY_TWO = 72,\r\n SIX = 6,\r\n SIX_HUNDRED = 600,\r\n SIX_HUNDRED_AND_EIGHT = 608,\r\n SIX_HUNDRED_AND_EIGHTEEN = 618,\r\n SIX_HUNDRED_AND_EIGHTY_EIGHT = 688,\r\n SIX_HUNDRED_AND_EIGHTY_FIVE = 685,\r\n SIX_HUNDRED_AND_EIGHTY_FOUR = 684,\r\n SIX_HUNDRED_AND_EIGHTY_NINE = 689,\r\n SIX_HUNDRED_AND_EIGHTY_ONE = 681,\r\n SIX_HUNDRED_AND_EIGHTY_SEVEN = 687,\r\n SIX_HUNDRED_AND_EIGHTY_SIX = 686,\r\n SIX_HUNDRED_AND_EIGHTY_THREE = 683,\r\n SIX_HUNDRED_AND_EIGHTY_TWO = 682,\r\n SIX_HUNDRED_AND_EIGHTY_ZERO = 680,\r\n SIX_HUNDRED_AND_ELEVEN = 611,\r\n SIX_HUNDRED_AND_FIFTEEN = 615,\r\n SIX_HUNDRED_AND_FIFTY_EIGHT = 658,\r\n SIX_HUNDRED_AND_FIFTY_FIVE = 655,\r\n SIX_HUNDRED_AND_FIFTY_FOUR = 654,\r\n SIX_HUNDRED_AND_FIFTY_NINE = 659,\r\n SIX_HUNDRED_AND_FIFTY_ONE = 651,\r\n SIX_HUNDRED_AND_FIFTY_SEVEN = 657,\r\n SIX_HUNDRED_AND_FIFTY_SIX = 656,\r\n SIX_HUNDRED_AND_FIFTY_THREE = 653,\r\n SIX_HUNDRED_AND_FIFTY_TWO = 652,\r\n SIX_HUNDRED_AND_FIFTY_ZERO = 650,\r\n SIX_HUNDRED_AND_FIVE = 605,\r\n SIX_HUNDRED_AND_FORTY_EIGHT = 648,\r\n SIX_HUNDRED_AND_FORTY_FIVE = 645,\r\n SIX_HUNDRED_AND_FORTY_FOUR = 644,\r\n SIX_HUNDRED_AND_FORTY_NINE = 649,\r\n SIX_HUNDRED_AND_FORTY_ONE = 641,\r\n SIX_HUNDRED_AND_FORTY_SEVEN = 647,\r\n SIX_HUNDRED_AND_FORTY_SIX = 646,\r\n SIX_HUNDRED_AND_FORTY_THREE = 643,\r\n SIX_HUNDRED_AND_FORTY_TWO = 642,\r\n SIX_HUNDRED_AND_FORTY_ZERO = 640,\r\n SIX_HUNDRED_AND_FOUR = 604,\r\n SIX_HUNDRED_AND_FOURTEEN = 614,\r\n SIX_HUNDRED_AND_NINE = 609,\r\n SIX_HUNDRED_AND_NINETEEN = 619,\r\n SIX_HUNDRED_AND_NINETY_EIGHT = 698,\r\n SIX_HUNDRED_AND_NINETY_FIVE = 695,\r\n SIX_HUNDRED_AND_NINETY_FOUR = 694,\r\n SIX_HUNDRED_AND_NINETY_NINE = 699,\r\n SIX_HUNDRED_AND_NINETY_ONE = 691,\r\n SIX_HUNDRED_AND_NINETY_SEVEN = 697,\r\n SIX_HUNDRED_AND_NINETY_SIX = 696,\r\n SIX_HUNDRED_AND_NINETY_THREE = 693,\r\n SIX_HUNDRED_AND_NINETY_TWO = 692,\r\n SIX_HUNDRED_AND_NINETY_ZERO = 690,\r\n SIX_HUNDRED_AND_ONE = 601,\r\n SIX_HUNDRED_AND_SEVEN = 607,\r\n SIX_HUNDRED_AND_SEVENTEEN = 617,\r\n SIX_HUNDRED_AND_SEVENTY_EIGHT = 678,\r\n SIX_HUNDRED_AND_SEVENTY_FIVE = 675,\r\n SIX_HUNDRED_AND_SEVENTY_FOUR = 674,\r\n SIX_HUNDRED_AND_SEVENTY_NINE = 679,\r\n SIX_HUNDRED_AND_SEVENTY_ONE = 671,\r\n SIX_HUNDRED_AND_SEVENTY_SEVEN = 677,\r\n SIX_HUNDRED_AND_SEVENTY_SIX = 676,\r\n SIX_HUNDRED_AND_SEVENTY_THREE = 673,\r\n SIX_HUNDRED_AND_SEVENTY_TWO = 672,\r\n SIX_HUNDRED_AND_SEVENTY_ZERO = 670,\r\n SIX_HUNDRED_AND_SIX = 606,\r\n SIX_HUNDRED_AND_SIXTEEN = 616,\r\n SIX_HUNDRED_AND_SIXTY_EIGHT = 668,\r\n SIX_HUNDRED_AND_SIXTY_FIVE = 665,\r\n SIX_HUNDRED_AND_SIXTY_FOUR = 664,\r\n SIX_HUNDRED_AND_SIXTY_NINE = 669,\r\n SIX_HUNDRED_AND_SIXTY_ONE = 661,\r\n SIX_HUNDRED_AND_SIXTY_SEVEN = 667,\r\n SIX_HUNDRED_AND_SIXTY_SIX = 666,\r\n SIX_HUNDRED_AND_SIXTY_THREE = 663,\r\n SIX_HUNDRED_AND_SIXTY_TWO = 662,\r\n SIX_HUNDRED_AND_SIXTY_ZERO = 660,\r\n SIX_HUNDRED_AND_TEN = 610,\r\n SIX_HUNDRED_AND_THIRTEEN = 613,\r\n SIX_HUNDRED_AND_THIRTY_EIGHT = 638,\r\n SIX_HUNDRED_AND_THIRTY_FIVE = 635,\r\n SIX_HUNDRED_AND_THIRTY_FOUR = 634,\r\n SIX_HUNDRED_AND_THIRTY_NINE = 639,\r\n SIX_HUNDRED_AND_THIRTY_ONE = 631,\r\n SIX_HUNDRED_AND_THIRTY_SEVEN = 637,\r\n SIX_HUNDRED_AND_THIRTY_SIX = 636,\r\n SIX_HUNDRED_AND_THIRTY_THREE = 633,\r\n SIX_HUNDRED_AND_THIRTY_TWO = 632,\r\n SIX_HUNDRED_AND_THIRTY_ZERO = 630,\r\n SIX_HUNDRED_AND_THREE = 603,\r\n SIX_HUNDRED_AND_TWELVE = 612,\r\n SIX_HUNDRED_AND_TWENTY_EIGHT = 628,\r\n SIX_HUNDRED_AND_TWENTY_FIVE = 625,\r\n SIX_HUNDRED_AND_TWENTY_FOUR = 624,\r\n SIX_HUNDRED_AND_TWENTY_NINE = 629,\r\n SIX_HUNDRED_AND_TWENTY_ONE = 621,\r\n SIX_HUNDRED_AND_TWENTY_SEVEN = 627,\r\n SIX_HUNDRED_AND_TWENTY_SIX = 626,\r\n SIX_HUNDRED_AND_TWENTY_THREE = 623,\r\n SIX_HUNDRED_AND_TWENTY_TWO = 622,\r\n SIX_HUNDRED_AND_TWENTY_ZERO = 620,\r\n SIX_HUNDRED_AND_TWO = 602,\r\n SIXTEEN = 16,\r\n SIXTY_ = 60,\r\n SIXTY_EIGHT = 68,\r\n SIXTY_FIVE = 65,\r\n SIXTY_FOUR = 64,\r\n SIXTY_NINE = 69,\r\n SIXTY_ONE = 61,\r\n SIXTY_SEVEN = 67,\r\n SIXTY_SIX = 66,\r\n SIXTY_THREE = 63,\r\n SIXTY_TWO = 62,\r\n TEN = 10,\r\n THIRTEEN = 13,\r\n THIRTY_ = 30,\r\n THIRTY_EIGHT = 38,\r\n THIRTY_FIVE = 35,\r\n THIRTY_FOUR = 34,\r\n THIRTY_NINE = 39,\r\n THIRTY_ONE = 31,\r\n THIRTY_SEVEN = 37,\r\n THIRTY_SIX = 36,\r\n THIRTY_THREE = 33,\r\n THIRTY_TWO = 32,\r\n THREE = 3,\r\n THREE_HUNDRED = 300,\r\n THREE_HUNDRED_AND_EIGHT = 308,\r\n THREE_HUNDRED_AND_EIGHTEEN = 318,\r\n THREE_HUNDRED_AND_EIGHTY_EIGHT = 388,\r\n THREE_HUNDRED_AND_EIGHTY_FIVE = 385,\r\n THREE_HUNDRED_AND_EIGHTY_FOUR = 384,\r\n THREE_HUNDRED_AND_EIGHTY_NINE = 389,\r\n THREE_HUNDRED_AND_EIGHTY_ONE = 381,\r\n THREE_HUNDRED_AND_EIGHTY_SEVEN = 387,\r\n THREE_HUNDRED_AND_EIGHTY_SIX = 386,\r\n THREE_HUNDRED_AND_EIGHTY_THREE = 383,\r\n THREE_HUNDRED_AND_EIGHTY_TWO = 382,\r\n THREE_HUNDRED_AND_EIGHTY_ZERO = 380,\r\n THREE_HUNDRED_AND_ELEVEN = 311,\r\n THREE_HUNDRED_AND_FIFTEEN = 315,\r\n THREE_HUNDRED_AND_FIFTY_EIGHT = 358,\r\n THREE_HUNDRED_AND_FIFTY_FIVE = 355,\r\n THREE_HUNDRED_AND_FIFTY_FOUR = 354,\r\n THREE_HUNDRED_AND_FIFTY_NINE = 359,\r\n THREE_HUNDRED_AND_FIFTY_ONE = 351,\r\n THREE_HUNDRED_AND_FIFTY_SEVEN = 357,\r\n THREE_HUNDRED_AND_FIFTY_SIX = 356,\r\n THREE_HUNDRED_AND_FIFTY_THREE = 353,\r\n THREE_HUNDRED_AND_FIFTY_TWO = 352,\r\n THREE_HUNDRED_AND_FIFTY_ZERO = 350,\r\n THREE_HUNDRED_AND_FIVE = 305,\r\n THREE_HUNDRED_AND_FORTY_EIGHT = 348,\r\n THREE_HUNDRED_AND_FORTY_FIVE = 345,\r\n THREE_HUNDRED_AND_FORTY_FOUR = 344,\r\n THREE_HUNDRED_AND_FORTY_NINE = 349,\r\n THREE_HUNDRED_AND_FORTY_ONE = 341,\r\n THREE_HUNDRED_AND_FORTY_SEVEN = 347,\r\n THREE_HUNDRED_AND_FORTY_SIX = 346,\r\n THREE_HUNDRED_AND_FORTY_THREE = 343,\r\n THREE_HUNDRED_AND_FORTY_TWO = 342,\r\n THREE_HUNDRED_AND_FORTY_ZERO = 340,\r\n THREE_HUNDRED_AND_FOUR = 304,\r\n THREE_HUNDRED_AND_FOURTEEN = 314,\r\n THREE_HUNDRED_AND_NINE = 309,\r\n THREE_HUNDRED_AND_NINETEEN = 319,\r\n THREE_HUNDRED_AND_NINETY_EIGHT = 398,\r\n THREE_HUNDRED_AND_NINETY_FIVE = 395,\r\n THREE_HUNDRED_AND_NINETY_FOUR = 394,\r\n THREE_HUNDRED_AND_NINETY_NINE = 399,\r\n THREE_HUNDRED_AND_NINETY_ONE = 391,\r\n THREE_HUNDRED_AND_NINETY_SEVEN = 397,\r\n THREE_HUNDRED_AND_NINETY_SIX = 396,\r\n THREE_HUNDRED_AND_NINETY_THREE = 393,\r\n THREE_HUNDRED_AND_NINETY_TWO = 392,\r\n THREE_HUNDRED_AND_NINETY_ZERO = 390,\r\n THREE_HUNDRED_AND_ONE = 301,\r\n THREE_HUNDRED_AND_SEVEN = 307,\r\n THREE_HUNDRED_AND_SEVENTEEN = 317,\r\n THREE_HUNDRED_AND_SEVENTY_EIGHT = 378,\r\n THREE_HUNDRED_AND_SEVENTY_FIVE = 375,\r\n THREE_HUNDRED_AND_SEVENTY_FOUR = 374,\r\n THREE_HUNDRED_AND_SEVENTY_NINE = 379,\r\n THREE_HUNDRED_AND_SEVENTY_ONE = 371,\r\n THREE_HUNDRED_AND_SEVENTY_SEVEN = 377,\r\n THREE_HUNDRED_AND_SEVENTY_SIX = 376,\r\n THREE_HUNDRED_AND_SEVENTY_THREE = 373,\r\n THREE_HUNDRED_AND_SEVENTY_TWO = 372,\r\n THREE_HUNDRED_AND_SEVENTY_ZERO = 370,\r\n THREE_HUNDRED_AND_SIX = 306,\r\n THREE_HUNDRED_AND_SIXTEEN = 316,\r\n THREE_HUNDRED_AND_SIXTY_EIGHT = 368,\r\n THREE_HUNDRED_AND_SIXTY_FIVE = 365,\r\n THREE_HUNDRED_AND_SIXTY_FOUR = 364,\r\n THREE_HUNDRED_AND_SIXTY_NINE = 369,\r\n THREE_HUNDRED_AND_SIXTY_ONE = 361,\r\n THREE_HUNDRED_AND_SIXTY_SEVEN = 367,\r\n THREE_HUNDRED_AND_SIXTY_SIX = 366,\r\n THREE_HUNDRED_AND_SIXTY_THREE = 363,\r\n THREE_HUNDRED_AND_SIXTY_TWO = 362,\r\n THREE_HUNDRED_AND_SIXTY_ZERO = 360,\r\n THREE_HUNDRED_AND_TEN = 310,\r\n THREE_HUNDRED_AND_THIRTEEN = 313,\r\n THREE_HUNDRED_AND_THIRTY_EIGHT = 338,\r\n THREE_HUNDRED_AND_THIRTY_FIVE = 335,\r\n THREE_HUNDRED_AND_THIRTY_FOUR = 334,\r\n THREE_HUNDRED_AND_THIRTY_NINE = 339,\r\n THREE_HUNDRED_AND_THIRTY_ONE = 331,\r\n THREE_HUNDRED_AND_THIRTY_SEVEN = 337,\r\n THREE_HUNDRED_AND_THIRTY_SIX = 336,\r\n THREE_HUNDRED_AND_THIRTY_THREE = 333,\r\n THREE_HUNDRED_AND_THIRTY_TWO = 332,\r\n THREE_HUNDRED_AND_THIRTY_ZERO = 330,\r\n THREE_HUNDRED_AND_THREE = 303,\r\n THREE_HUNDRED_AND_TWELVE = 312,\r\n THREE_HUNDRED_AND_TWENTY_EIGHT = 328,\r\n THREE_HUNDRED_AND_TWENTY_FIVE = 325,\r\n THREE_HUNDRED_AND_TWENTY_FOUR = 324,\r\n THREE_HUNDRED_AND_TWENTY_NINE = 329,\r\n THREE_HUNDRED_AND_TWENTY_ONE = 321,\r\n THREE_HUNDRED_AND_TWENTY_SEVEN = 327,\r\n THREE_HUNDRED_AND_TWENTY_SIX = 326,\r\n THREE_HUNDRED_AND_TWENTY_THREE = 323,\r\n THREE_HUNDRED_AND_TWENTY_TWO = 322,\r\n THREE_HUNDRED_AND_TWENTY_ZERO = 320,\r\n THREE_HUNDRED_AND_TWO = 302,\r\n TWELVE = 12,\r\n TWENTY_ = 20,\r\n TWENTY_EIGHT = 28,\r\n TWENTY_FIVE = 25,\r\n TWENTY_FOUR = 24,\r\n TWENTY_NINE = 29,\r\n TWENTY_ONE = 21,\r\n TWENTY_SEVEN = 27,\r\n TWENTY_SIX = 26,\r\n TWENTY_THREE = 23,\r\n TWENTY_TWO = 22,\r\n TWO = 2,\r\n TWO_HUNDRED = 200,\r\n TWO_HUNDRED_AND_EIGHT = 208,\r\n TWO_HUNDRED_AND_EIGHTEEN = 218,\r\n TWO_HUNDRED_AND_EIGHTY_EIGHT = 288,\r\n TWO_HUNDRED_AND_EIGHTY_FIVE = 285,\r\n TWO_HUNDRED_AND_EIGHTY_FOUR = 284,\r\n TWO_HUNDRED_AND_EIGHTY_NINE = 289,\r\n TWO_HUNDRED_AND_EIGHTY_ONE = 281,\r\n TWO_HUNDRED_AND_EIGHTY_SEVEN = 287,\r\n TWO_HUNDRED_AND_EIGHTY_SIX = 286,\r\n TWO_HUNDRED_AND_EIGHTY_THREE = 283,\r\n TWO_HUNDRED_AND_EIGHTY_TWO = 282,\r\n TWO_HUNDRED_AND_EIGHTY_ZERO = 280,\r\n TWO_HUNDRED_AND_ELEVEN = 211,\r\n TWO_HUNDRED_AND_FIFTEEN = 215,\r\n TWO_HUNDRED_AND_FIFTY_EIGHT = 258,\r\n TWO_HUNDRED_AND_FIFTY_FIVE = 255,\r\n TWO_HUNDRED_AND_FIFTY_FOUR = 254,\r\n TWO_HUNDRED_AND_FIFTY_NINE = 259,\r\n TWO_HUNDRED_AND_FIFTY_ONE = 251,\r\n TWO_HUNDRED_AND_FIFTY_SEVEN = 257,\r\n TWO_HUNDRED_AND_FIFTY_SIX = 256,\r\n TWO_HUNDRED_AND_FIFTY_THREE = 253,\r\n TWO_HUNDRED_AND_FIFTY_TWO = 252,\r\n TWO_HUNDRED_AND_FIFTY_ZERO = 250,\r\n TWO_HUNDRED_AND_FIVE = 205,\r\n TWO_HUNDRED_AND_FORTY_EIGHT = 248,\r\n TWO_HUNDRED_AND_FORTY_FIVE = 245,\r\n TWO_HUNDRED_AND_FORTY_FOUR = 244,\r\n TWO_HUNDRED_AND_FORTY_NINE = 249,\r\n TWO_HUNDRED_AND_FORTY_ONE = 241,\r\n TWO_HUNDRED_AND_FORTY_SEVEN = 247,\r\n TWO_HUNDRED_AND_FORTY_SIX = 246,\r\n TWO_HUNDRED_AND_FORTY_THREE = 243,\r\n TWO_HUNDRED_AND_FORTY_TWO = 242,\r\n TWO_HUNDRED_AND_FORTY_ZERO = 240,\r\n TWO_HUNDRED_AND_FOUR = 204,\r\n TWO_HUNDRED_AND_FOURTEEN = 214,\r\n TWO_HUNDRED_AND_NINE = 209,\r\n TWO_HUNDRED_AND_NINETEEN = 219,\r\n TWO_HUNDRED_AND_NINETY_EIGHT = 298,\r\n TWO_HUNDRED_AND_NINETY_FIVE = 295,\r\n TWO_HUNDRED_AND_NINETY_FOUR = 294,\r\n TWO_HUNDRED_AND_NINETY_NINE = 299,\r\n TWO_HUNDRED_AND_NINETY_ONE = 291,\r\n TWO_HUNDRED_AND_NINETY_SEVEN = 297,\r\n TWO_HUNDRED_AND_NINETY_SIX = 296,\r\n TWO_HUNDRED_AND_NINETY_THREE = 293,\r\n TWO_HUNDRED_AND_NINETY_TWO = 292,\r\n TWO_HUNDRED_AND_NINETY_ZERO = 290,\r\n TWO_HUNDRED_AND_ONE = 201,\r\n TWO_HUNDRED_AND_SEVEN = 207,\r\n TWO_HUNDRED_AND_SEVENTEEN = 217,\r\n TWO_HUNDRED_AND_SEVENTY_EIGHT = 278,\r\n TWO_HUNDRED_AND_SEVENTY_FIVE = 275,\r\n TWO_HUNDRED_AND_SEVENTY_FOUR = 274,\r\n TWO_HUNDRED_AND_SEVENTY_NINE = 279,\r\n TWO_HUNDRED_AND_SEVENTY_ONE = 271,\r\n TWO_HUNDRED_AND_SEVENTY_SEVEN = 277,\r\n TWO_HUNDRED_AND_SEVENTY_SIX = 276,\r\n TWO_HUNDRED_AND_SEVENTY_THREE = 273,\r\n TWO_HUNDRED_AND_SEVENTY_TWO = 272,\r\n TWO_HUNDRED_AND_SEVENTY_ZERO = 270,\r\n TWO_HUNDRED_AND_SIX = 206,\r\n TWO_HUNDRED_AND_SIXTEEN = 216,\r\n TWO_HUNDRED_AND_SIXTY_EIGHT = 268,\r\n TWO_HUNDRED_AND_SIXTY_FIVE = 265,\r\n TWO_HUNDRED_AND_SIXTY_FOUR = 264,\r\n TWO_HUNDRED_AND_SIXTY_NINE = 269,\r\n TWO_HUNDRED_AND_SIXTY_ONE = 261,\r\n TWO_HUNDRED_AND_SIXTY_SEVEN = 267,\r\n TWO_HUNDRED_AND_SIXTY_SIX = 266,\r\n TWO_HUNDRED_AND_SIXTY_THREE = 263,\r\n TWO_HUNDRED_AND_SIXTY_TWO = 262,\r\n TWO_HUNDRED_AND_SIXTY_ZERO = 260,\r\n TWO_HUNDRED_AND_TEN = 210,\r\n TWO_HUNDRED_AND_THIRTEEN = 213,\r\n TWO_HUNDRED_AND_THIRTY_EIGHT = 238,\r\n TWO_HUNDRED_AND_THIRTY_FIVE = 235,\r\n TWO_HUNDRED_AND_THIRTY_FOUR = 234,\r\n TWO_HUNDRED_AND_THIRTY_NINE = 239,\r\n TWO_HUNDRED_AND_THIRTY_ONE = 231,\r\n TWO_HUNDRED_AND_THIRTY_SEVEN = 237,\r\n TWO_HUNDRED_AND_THIRTY_SIX = 236,\r\n TWO_HUNDRED_AND_THIRTY_THREE = 233,\r\n TWO_HUNDRED_AND_THIRTY_TWO = 232,\r\n TWO_HUNDRED_AND_THIRTY_ZERO = 230,\r\n TWO_HUNDRED_AND_THREE = 203,\r\n TWO_HUNDRED_AND_TWELVE = 212,\r\n TWO_HUNDRED_AND_TWENTY_EIGHT = 228,\r\n TWO_HUNDRED_AND_TWENTY_FIVE = 225,\r\n TWO_HUNDRED_AND_TWENTY_FOUR = 224,\r\n TWO_HUNDRED_AND_TWENTY_NINE = 229,\r\n TWO_HUNDRED_AND_TWENTY_ONE = 221,\r\n TWO_HUNDRED_AND_TWENTY_SEVEN = 227,\r\n TWO_HUNDRED_AND_TWENTY_SIX = 226,\r\n TWO_HUNDRED_AND_TWENTY_THREE = 223,\r\n TWO_HUNDRED_AND_TWENTY_TWO = 222,\r\n TWO_HUNDRED_AND_TWENTY_ZERO = 220,\r\n TWO_HUNDRED_AND_TWO = 202,\r\n ZERO = 0,\r\n FIVE_SECONDS = 5000,\r\n MS_PER_DAY = 86400000\r\n}\r\n","export enum AgroStringMasks {\r\n CNPJ = \"99.999.999/9999-99\",\r\n CPF = \"999.999.999-99\",\r\n CEP = \"99999-999\",\r\n CELLPHONE = \"(99) 99999-9999\",\r\n PHONE = \"(99) 9999-9999\",\r\n DATE = \"99/99/9999\",\r\n TIME = \"99:99\",\r\n DATETIME = \"99/99/9999 99:99\",\r\n}\r\n","export enum DateComparisonType {\r\n greatherThan = \"greatherThan\",\r\n lessThan = \"lessThan\",\r\n}\r\n","export enum HttpCodes {\r\n Continue = 100,\r\n SwitchingProtocols = 101,\r\n Processing = 102,\r\n EarlyHints = 103,\r\n OK = 200,\r\n Created = 201,\r\n Accepted = 202,\r\n NonAuthoritativeInformation = 203,\r\n NoContent = 204,\r\n ResetContent = 205,\r\n PartialContent = 206,\r\n MultiStatus = 207,\r\n AlreadyReported = 208,\r\n IMUsed = 226,\r\n MultipleChoices = 300,\r\n MovedPermanently = 301,\r\n Found = 302,\r\n SeeOther = 303,\r\n NotModified = 304,\r\n UseProxy = 305,\r\n TemporaryRedirect = 307,\r\n PermanentRedirect = 308,\r\n BadRequest = 400,\r\n Unauthorized = 401,\r\n PaymentRequired = 402,\r\n Forbidden = 403,\r\n NotFound = 404,\r\n MethodNotAllowed = 405,\r\n NotAcceptable = 406,\r\n ProxyAuthenticationRequired = 407,\r\n RequestTimeout = 408,\r\n Conflict = 409,\r\n Gone = 410,\r\n LengthRequired = 411,\r\n PreconditionFailed = 412,\r\n PayloadTooLarge = 413,\r\n URITooLong = 414,\r\n UnsupportedMediaType = 415,\r\n RangeNotSatisfiable = 416,\r\n ExpectationFailed = 417,\r\n ImATeapot = 418,\r\n MisdirectedRequest = 421,\r\n UnprocessableEntity = 422,\r\n Locked = 423,\r\n FailedDependency = 424,\r\n TooEarly = 425,\r\n UpgradeRequired = 426,\r\n PreconditionRequired = 428,\r\n TooManyRequests = 429,\r\n RequestHeaderFieldsTooLarge = 431,\r\n UnavailableForLegalReasons = 451,\r\n InternalServerError = 500,\r\n NotImplemented = 501,\r\n BadGateway = 502,\r\n ServiceUnavailable = 503,\r\n GatewayTimeout = 504,\r\n HTTPVersionNotSupported = 505,\r\n VariantAlsoNegotiates = 506,\r\n InsufficientStorage = 507,\r\n LoopDetected = 508,\r\n NotExtended = 510,\r\n NetworkAuthenticationRequired = 511\r\n}\r\n","export enum NumberComparisonType {\r\n EQUALS = \"EQUALS\",\r\n NOT_EQUALS = \"NOT_EQUALS\",\r\n LESS_THAN = \"LESS_THAN\",\r\n LESS_THAN_OR_EQUAL = \"LESS_THAN_OR_EQUAL\",\r\n GREATER_THAN = \"GREATER_THAN\",\r\n GREATER_THAN_OR_EQUAL = \"GREATER_THAN_OR_EQUAL\",\r\n}\r\n","export enum UnitOfMeasurement {\r\n // Comprimento\r\n METRO = \"m\",\r\n CENTIMETRO = \"cm\",\r\n MILIMETRO = \"mm\",\r\n QUILOMETRO = \"km\",\r\n POLEGADA = \"in\",\r\n PE = \"ft\",\r\n\r\n // Massa\r\n GRAMA = \"g\",\r\n QUILOGRAMA = \"kg\",\r\n TONELADA = \"t\",\r\n LIBRA = \"lb\",\r\n SACA = \"saca\",\r\n\r\n // Área\r\n METRO_QUADRADO = \"m²\",\r\n CENTIMETRO_QUADRADO = \"cm²\",\r\n HECTARE = \"ha\",\r\n ALQUEIRE_50x50 = \"alq50x50\",\r\n ALQUEIRE_50x75 = \"alq50x75\",\r\n ALQUEIRE_DO_NORTE = \"alqDoNorte\",\r\n ALQUEIRE_75x80 = \"alq75x80\",\r\n ALQUEIRE_79x79 = \"alq79x79\",\r\n ALQUEIRE_80x80 = \"alq80x80\",\r\n ALQUEIRE_75x100 = \"alq75x100\",\r\n ALQUEIRE_100x150 = \"alq100x150\",\r\n ALQUEIRE_BAIANO = \"alqBaiano\",\r\n ALQUEIRAO = \"alqueirao\",\r\n ALQUEIRE_PAULISTA = \"alqPaulista\",\r\n ALQUEIRE_MINEIRO = \"alqMineiro\",\r\n\r\n // Volume\r\n LITRO = \"L\",\r\n MILILITRO = \"mL\",\r\n METRO_CUBICO = \"m³\",\r\n\r\n // Tempo\r\n SEGUNDO = \"s\",\r\n MINUTO = \"min\",\r\n HORA = \"h\",\r\n DIA = \"dia\",\r\n\r\n // Temperatura\r\n CELSIUS = \"°C\",\r\n FAHRENHEIT = \"°F\",\r\n KELVIN = \"K\",\r\n\r\n // Energia\r\n JOULE = \"J\",\r\n CALORIA = \"cal\",\r\n QUILOWATT_HORA = \"kWh\",\r\n\r\n // Eletricidade\r\n VOLT = \"V\",\r\n AMPERE = \"A\",\r\n WATT = \"W\",\r\n\r\n // Dados digitais\r\n BYTE = \"B\",\r\n KILOBYTE = \"KB\",\r\n MEGABYTE = \"MB\",\r\n GIGABYTE = \"GB\",\r\n TERABYTE = \"TB\",\r\n}\r\n","\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\nexport { AgroCookieUtils as ACU, AgroCookieUtils as CookieUtils };\r\n\r\nexport class AgroCookieUtils {\r\n\r\n public static getCookie(name: string, parseURIValue = false): string | undefined {\r\n const cookieValue = document.cookie.split(';')\r\n .map(cookie => cookie.trim())\r\n .find(cookie => cookie.startsWith(name));\r\n let result = cookieValue?.split('=')[1];\r\n\r\n if (parseURIValue && result) {\r\n result = decodeURIComponent(result);\r\n }\r\n return result;\r\n\r\n }\r\n\r\n public static parseCookieToObject(cookieString: string, parseURIString = false): { [key: string]: string } {\r\n const cookieObject: { [key: string]: string } = {};\r\n if (parseURIString) {\r\n cookieString = decodeURIComponent(cookieString);\r\n }\r\n if (AgroCookieUtils.isStringAnObject(cookieString)) {\r\n return JSON.parse(cookieString);\r\n }\r\n cookieString.split(';').forEach(cookie => {\r\n const [key, value] = cookie.split('=').map(c => c.trim());\r\n cookieObject[key] = value;\r\n });\r\n return cookieObject;\r\n }\r\n\r\n public static isStringAnObject(str: string) {\r\n try {\r\n const parsed = JSON.parse(str);\r\n return typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed);\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n public static setCookie(name: string, value: string, days: number) {\r\n if (days < AGRO_NUMBERS.ZERO) {\r\n throw new Error(\"O número de dias não pode ser negativo.\");\r\n }\r\n const date = new Date();\r\n date.setTime(date.getTime() + (days * AGRO_NUMBERS.MS_PER_DAY));\r\n const expires = 'expires=' + date.toUTCString();\r\n document.cookie = `${name}=${value};${expires};path=/`;\r\n }\r\n\r\n\r\n}\r\n","import { FieldType } from \"@seniorsistemas/angular-components\";\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\nexport { AgroObjectUtils as AOU, AgroObjectUtils as ObjectUtils };\r\n\r\n/**\r\n * Classe utilitária para operações de objeto.\r\n */\r\nexport class AgroObjectUtils {\r\n /**\r\n * Verifica se um objeto é nulo ou indefinido.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for nulo ou indefinido, false caso contrário.\r\n */\r\n static isNullOrUndefined(obj: any): boolean {\r\n return obj === null || obj === undefined;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não é nulo e não é indefinido.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto não for nulo e não for indefinido, false caso contrário.\r\n */\r\n static isNotNullOrUndefined(obj: any): boolean {\r\n return !AgroObjectUtils.isNullOrUndefined(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma string.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma string, false caso contrário.\r\n */\r\n static isString(obj: any): boolean {\r\n return typeof obj === \"string\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um número.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um número, false caso contrário.\r\n */\r\n static isNumber(obj: any): boolean {\r\n return typeof obj === \"number\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um booleano.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um booleano, false caso contrário.\r\n */\r\n static isBoolean(obj: any): boolean {\r\n return typeof obj === \"boolean\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma função.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma função, false caso contrário.\r\n */\r\n static isFunction(obj: any): boolean {\r\n return typeof obj === \"function\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um array.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um array, false caso contrário.\r\n */\r\n static isArray(obj: any): boolean {\r\n return Array.isArray(obj);\r\n }\r\n\r\n /**\r\n * Verifica se o valor informado é um objeto.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um objeto, false caso contrário.\r\n */\r\n static isObject(obj: any): boolean {\r\n return typeof obj === \"object\";\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma data.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma data, false caso contrário.\r\n */\r\n static isDate(obj: any): boolean {\r\n return obj instanceof Date;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um erro.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um erro, false caso contrário.\r\n */\r\n static isError(obj: any): boolean {\r\n return obj instanceof Error;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é uma expressão regular.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for uma expressão regular, false caso contrário.\r\n */\r\n static isRegExp(obj: any): boolean {\r\n return obj instanceof RegExp;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é um valor primitivo.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for um valor primitivo, false caso contrário.\r\n */\r\n static isPrimitive(obj: any): boolean {\r\n return AgroObjectUtils.isString(obj) || AgroObjectUtils.isNumber(obj) || AgroObjectUtils.isBoolean(obj);\r\n }\r\n\r\n /**\r\n * Verifica se todos os valores de um objeto são nulos ou indefinidos.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se todos os valores do objeto forem nulos ou indefinidos, false caso contrário.\r\n */\r\n static allNull(obj: any): boolean {\r\n if (!AgroObjectUtils.isObject(obj)) {\r\n return false;\r\n }\r\n\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key) && !AgroObjectUtils.isNullOrUndefined(obj[key])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private static compareArrays(arr1: unknown[], arr2: unknown[]): boolean {\r\n if (arr1.length !== arr2.length) {\r\n return false;\r\n }\r\n return arr1.every((v, i) => AgroObjectUtils.isEqual(v, arr2[i]));\r\n }\r\n\r\n private static compareObjects(obj1: object, obj2: object): boolean {\r\n const keys1 = Object.keys(obj1);\r\n const keys2 = Object.keys(obj2);\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n return keys1.every((key) => (obj2 as any).hasOwnProperty(key) && AgroObjectUtils.isEqual((obj1 as any)[key], (obj2 as any)[key]));\r\n }\r\n\r\n /**\r\n * Compara dois objetos para verificar se são iguais.\r\n * @param obj1 - O primeiro objeto a ser comparado.\r\n * @param obj2 - O segundo objeto a ser comparado.\r\n * @returns True se os objetos forem iguais, false caso contrário.\r\n */\r\n static isEqual(obj1: unknown, obj2: unknown): boolean {\r\n if (obj1 === obj2) {\r\n return true;\r\n }\r\n\r\n if (obj1 === null || obj2 === null || typeof obj1 !== \"object\" || typeof obj2 !== \"object\") {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(obj1) && Array.isArray(obj2)) {\r\n return this.compareArrays(obj1, obj2);\r\n }\r\n\r\n if (Array.isArray(obj1) || Array.isArray(obj2)) {\r\n return false;\r\n }\r\n\r\n return this.compareObjects(obj1, obj2);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é nulo.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for nulo ou um objeto vazio, false caso contrário.\r\n */\r\n static isNull(obj: any): boolean {\r\n return obj === null;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não é nulo.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto não for nulo, false caso contrário.\r\n */\r\n static isNotNull(obj: any): boolean {\r\n return !AgroObjectUtils.isNull(obj);\r\n }\r\n\r\n /**\r\n * Converte um objeto para uma string JSON.\r\n * @param obj - O objeto a ser convertido.\r\n * @returns A string JSON representando o objeto.\r\n */\r\n static toJSON(obj: any): string {\r\n return JSON.stringify(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não é vazio.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto não for vazio, false caso contrário.\r\n */\r\n static isNotEmpty(obj: any): boolean {\r\n if (!AgroObjectUtils.isObject(obj)) {\r\n return false;\r\n }\r\n return Object.keys(obj).length !== AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é vazio.\r\n * @param obj - O objeto a ser verificado.\r\n * @returns True se o objeto for vazio, false caso contrário.\r\n */\r\n static isEmpty(obj: any): boolean {\r\n return !AgroObjectUtils.isNotEmpty(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto não está vazio e contém uma determinada propriedade.\r\n * @param obj - O objeto a ser verificado.\r\n * @param property - A propriedade a ser verificada.\r\n * @returns True se o objeto não estiver vazio e contiver a propriedade, false caso contrário.\r\n */\r\n static containsProperty(obj: any, property: string): boolean {\r\n return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty(property);\r\n }\r\n\r\n /**\r\n * Verifica se o parâmetro recebido é um objeto e se ele contém a propriedade ID.\r\n */\r\n static hasId(obj: any): boolean {\r\n return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty(\"id\");\r\n }\r\n\r\n /**\r\n * Verifica se o valor informado no parâmetro possui as propriedades de uma entidade SDL (id e createdAt).\r\n * @param obj\r\n * @returns\r\n */\r\n static isSDLEntity(obj: any): boolean {\r\n return AgroObjectUtils.isNotEmpty(obj) && obj.hasOwnProperty(\"id\") && obj.hasOwnProperty(\"createdAt\");\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é valido, considerando que haja no mínimo 1 propriedade\r\n */\r\n static isValid(obj: any): boolean {\r\n return Object.keys(obj).length > AGRO_NUMBERS.ZERO && AgroObjectUtils.isNotEmpty(obj);\r\n }\r\n\r\n /**\r\n * Verifica se um objeto é inválido, considerando que não haja nenhuma propriedade\r\n */\r\n static isInvalid(obj: any): boolean {\r\n return !AgroObjectUtils.isValid(obj);\r\n }\r\n\r\n /**\r\n * Encontra uma propriedade em um objeto pelo nome e retorna seu valor.\r\n * Se o valor for um objeto, retorna o próprio objeto.\r\n *\r\n * @param obj O objeto onde buscar.\r\n * @param key O nome da propriedade a ser encontrada.\r\n * @param deepSearch Indica se a busca deve ser em profundidade (padrão: true).\r\n * @returns O valor da propriedade, ou undefined se não for encontrada.\r\n */\r\n static findProperty(obj: Record<string, any>, key: string, deepSearch: boolean = true): any {\r\n if (AgroObjectUtils.isInvalid(obj)) {\r\n throw new Error(\"O primeiro argumento deve ser um objeto.\");\r\n }\r\n\r\n if (key in obj) {\r\n return obj[key];\r\n }\r\n\r\n if (deepSearch) {\r\n for (const prop in obj) {\r\n if (obj.hasOwnProperty(prop) && typeof obj[prop] === \"object\") {\r\n const result = AgroObjectUtils.findProperty(obj[prop], key, deepSearch);\r\n if (result !== undefined) {\r\n return result;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Recebe uma string (JSON) e tenta converter para um objeto.\r\n * @param value\r\n */\r\n static fromString(value: string): any {\r\n try {\r\n return JSON.parse(value);\r\n } catch (e) {\r\n return undefined;\r\n }\r\n }\r\n\r\n /**\r\n * Retorna o valor de uma propriedade de um objeto, formatado conforme o tipo especificado.\r\n *\r\n * @param obj - O objeto do qual a propriedade será extraída.\r\n * @param path - O caminho da propriedade no objeto (pode ser um caminho aninhado).\r\n * @param type - O tipo de formatação a ser aplicada (String, Date, Money).\r\n * @returns O valor formatado da propriedade.\r\n */\r\n static getPropAndFormatValue(obj: any, path: any, type: FieldType) {\r\n const r = path.split(\".\").reduce((result: any, prop: any) => (result[prop] === undefined ? \"\" : result[prop]), obj);\r\n if (!r) {\r\n return \"\";\r\n }\r\n if (type === FieldType.String) {\r\n return r;\r\n } else if (type === FieldType.Date) {\r\n const moment = require(\"moment\");\r\n return moment(r).format(\"L\");\r\n } else if (type === FieldType.Money) {\r\n return Number(r).toLocaleString(\"pt-BR\", { style: \"currency\", currency: \"BRL\" });\r\n } else {\r\n return r;\r\n }\r\n }\r\n}\r\n","import { AGRO_NUMBERS } from '../enums';\r\n\r\nconst DEFAULT_DATE_FORMAT = 'DD/MM/YYYY';\r\n\r\nexport class AgroDateUtils {\r\n /**\r\n * Verifica se uma data é nula ou indefinida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data for nula ou indefinida, false caso contrário.\r\n */\r\n public static isNullOrUndefined(date: Date | null | undefined): boolean {\r\n return date === null || date === undefined;\r\n }\r\n\r\n /**\r\n * Verifica se uma data não é nula e não é indefinida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data não for nula e não for indefinida, false caso contrário.\r\n */\r\n public static isNotNullOrUndefined(date: Date | null | undefined): boolean {\r\n return !AgroDateUtils.isNullOrUndefined(date);\r\n }\r\n\r\n /**\r\n * Verifica se uma data é válida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data for válida, false caso contrário.\r\n */\r\n public static isValid(date: string): boolean {\r\n return !isNaN(Date.parse(date));\r\n }\r\n\r\n /**\r\n * Verifica se uma data é inválida.\r\n * @param date - A data a ser verificada.\r\n * @returns True se a data for inválida, false caso contrário.\r\n */\r\n public static isInvalid(date: string): boolean {\r\n return !AgroDateUtils.isValid(date);\r\n }\r\n\r\n /**\r\n * Verifica se uma data é antes de outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for antes da outra data, false caso contrário.\r\n */\r\n public static isBefore(date: Date, otherDate: Date): boolean {\r\n return date < otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é depois de outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for depois da outra data, false caso contrário.\r\n */\r\n public static isAfter(date: Date, otherDate: Date): boolean {\r\n return date > otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é igual a outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for igual a outra data, false caso contrário.\r\n */\r\n public static isEqual(date: Date, otherDate: Date): boolean {\r\n return date.getTime() === otherDate.getTime();\r\n }\r\n\r\n /**\r\n * Verifica se uma data é menor ou igual a outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for menor ou igual a outra data, false caso contrário.\r\n */\r\n public static isLessOrEqual(date: Date, otherDate: Date): boolean {\r\n return date <= otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é maior ou igual a outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for maior ou igual a outra data, false caso contrário.\r\n */\r\n public static isGreaterOrEqual(date: Date, otherDate: Date): boolean {\r\n return date >= otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é menor que outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for menor que outra data, false caso contrário.\r\n */\r\n public static isLess(date: Date, otherDate: Date): boolean {\r\n return date < otherDate;\r\n }\r\n\r\n /**\r\n * Verifica se uma data é maior que outra data.\r\n * @param date - A data a ser verificada.\r\n * @param otherDate - A outra data a ser comparada.\r\n * @returns True se a data for maior que outra data, false caso contrário.\r\n */\r\n public static isGreater(date: Date, otherDate: Date): boolean {\r\n return date > otherDate;\r\n }\r\n\r\n /**\r\n * Retorna a data formatada conforme o formato especificado.\r\n * @param date\r\n * @param format\r\n * @returns\r\n */\r\n static formatDate(date: Date, format: string = DEFAULT_DATE_FORMAT): string {\r\n const moment = require('moment');\r\n return moment(date).utc().format(format);\r\n }\r\n\r\n /**\r\n * Retorna uma string com o número informado adicionando um 0 à esquerda, caso o número seja menor que 10.\r\n * @param value\r\n * @returns\r\n */\r\n static padZero(value: number): string {\r\n if (value < AGRO_NUMBERS.TEN) {\r\n return '0' + value;\r\n }\r\n return value.toString();\r\n }\r\n}","export const AGRO_REGEX = {\r\n /**\r\n * Validação de E-mail\r\n */\r\n isEmail: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/,\r\n\r\n /**\r\n * Validação de Números Inteiros Positivos\r\n */\r\n positiveInteger: /^[1-9]\\d*$/,\r\n\r\n /**\r\n * Validação de Números Decimais Positivos\r\n */\r\n positiveDecimal: /^\\d*\\.?\\d+$/,\r\n\r\n /**\r\n * Validação de string que consiste apenas em espaços em branco ou está vazia.\r\n */\r\n onlyBlankSpaces: /^\\s*$/,\r\n\r\n /**\r\n * Validação de CEP (Código Postal)\r\n */\r\n zipCode: /^\\d{8}$|^\\d{5}-\\d{3}$/,\r\n\r\n /**\r\n * Validação de String (qualquer caractere)\r\n */\r\n isString: /^[\\s\\S]*$/,\r\n\r\n /**\r\n * Validação de UUID\r\n */\r\n isUUID: /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,\r\n\r\n /**\r\n * Validação de Número\r\n */\r\n isNumber: /^-?\\d+$/,\r\n\r\n /**\r\n * Validação de Número Decimal\r\n */\r\n isDecimal: /^\\d*\\.?\\d+$/,\r\n\r\n /**\r\n * Validação de Placa de Veículo\r\n */\r\n isLicensePlate: /^[A-Za-z0-9]{1,7}-?[A-Za-z0-9]{1,7}$/,\r\n\r\n /**\r\n * Validação de Número de Telefone\r\n */\r\n isPhoneNumber: /^\\+?\\d{1,4}-?\\d{6,11}$/,\r\n\r\n /**\r\n * Validação de Data (Formato YYYY-MM-DD)\r\n */\r\n isDate: /^\\d{4}-\\d{2}-\\d{2}$/,\r\n\r\n /**\r\n * Validação de Hora (Formato HH:mm)\r\n */\r\n isTime: /^(0\\d|1\\d|2[0-3]):[0-5]\\d$/,\r\n\r\n /**\r\n * Validação de Data e Hora (Formato YYYY-MM-DD HH:mm)\r\n */\r\n isDateTime: /^\\d{4}-\\d{2}-\\d{2} (0\\d|1\\d|2[0-3]):[0-5]\\d$/,\r\n\r\n /**\r\n * Validação de URL\r\n */\r\n isURL: /^(http|https):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?$/,\r\n\r\n /**\r\n * Validação de Número Hexadecimal\r\n */\r\n isHexNumber: /^[0-9a-fA-F]+$/,\r\n\r\n /**\r\n * Validação de Base64\r\n */\r\n isBase64: /^[a-zA-Z0-9+/]+={0,2}$/,\r\n\r\n /**\r\n * Validação de Nome de Usuário (3 a 20 caracteres alfanuméricos)\r\n */\r\n isUsername: /^\\w{3,20}$/,\r\n\r\n /**\r\n * Validação de Alfanumérico\r\n */\r\n isAlphanumeric: /^[a-zA-Z0-9]+$/,\r\n\r\n /**\r\n * Validação de Slug (letras minúsculas, números e traços)\r\n */\r\n isSlug: /^[a-z0-9-]+$/,\r\n\r\n /**\r\n * Validação de Número de Cartão de Crédito\r\n */\r\n isCreditCard: /^\\d{4}-\\d{4}-\\d{4}-\\d{4}$/,\r\n\r\n /**\r\n * Validação de Número Hexadecimal\r\n */\r\n isHexadecimal: /^[0-9a-fA-F]+$/,\r\n\r\n /**\r\n * Validação de Moeda\r\n */\r\n isCurrency: /^\\d+(\\.\\d{1,2})?$/,\r\n\r\n /**\r\n * Validação de Porcentagem\r\n */\r\n isPercentage: /^(100(\\.0{1,2})?|[1-9]?\\d(\\.\\d{1,2})?)$/,\r\n\r\n /**\r\n * Validação de Tag HTML Simples\r\n */\r\n isHTMLTag: /^<([a-z]+)([^<]+)*(?:>(.*)<\\/\\1>|\\s+\\/>)$/,\r\n\r\n /**\r\n * Validação de Nome de Usuário com Espaços (3 a 20 caracteres alfanuméricos e espaços)\r\n */\r\n isUsernameWithSpaces: /^[a-zA-Z0-9_ ]{3,20}$/,\r\n\r\n /**\r\n * Validação de Senha Forte (mínimo 8 caracteres, uma letra minúscula, uma letra maiúscula, um número e um caractere especial)\r\n */\r\n isStrongPassword: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/,\r\n\r\n /**\r\n * Validação de String Alfabética\r\n */\r\n isAlphabetic: /^[a-zA-Z]+$/,\r\n\r\n /**\r\n * Validação de Hora no Formato de 12 Horas\r\n */\r\n isTime12Hour: /^(0?[1-9]|1[0-2]):\\d{2} (AM|PM)$/i,\r\n\r\n /**\r\n * Validação de Latitude\r\n */\r\n isLatitude: /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)$/,\r\n\r\n /**\r\n * Validação de Longitude\r\n */\r\n isLongitude: /^[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/,\r\n\r\n /**\r\n * Validação de Endereço MAC\r\n */\r\n isMACAddress: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/,\r\n\r\n /**\r\n * Validação de Data de Expiração de Cartão de Crédito\r\n */\r\n isCreditCardExpiration: /^(0[1-9]|1[0-2])\\/\\d{2}$/,\r\n\r\n /**\r\n * Validação de Número de Seguro Social (SSN)\r\n */\r\n isSSN: /^\\d{3}-\\d{2}-\\d{4}$/,\r\n\r\n /**\r\n * Validação se todos os dígitos são iguais\r\n */\r\n isAllDigitsEqual: /^(.)\\1+$/,\r\n\r\n /**\r\n * Validação de Placa de Veículo do Mercosul\r\n * Formato: ABC1D23\r\n */\r\n isMercosulLicensePlate: /^[A-Z]{3}[0-9]{1}[A-Z]{1}[0-9]{2}$/,\r\n\r\n /**\r\n * Validação de Placa de Veículo Antiga\r\n * Formato: AAA-0000\r\n */\r\n isOldLicensePlate: /^[A-Z]{3}\\d{4}$/,\r\n\r\n isISODate: /^\\d{4}-\\d{2}-\\d{2}$/,\r\n isISOTime: /^\\d{2}:\\d{2}:\\d{2}$/,\r\n isISODateTime: /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z$/,\r\n};\r\n","import { AGRO_NUMBERS, AgroStringMasks } from \"../enums\";\r\nimport { AGRO_REGEX } from \"./agro-regex.constant\";\r\n\r\nexport { AgroStringUtils as StringUtils };\r\n\r\nexport type NullableString = string | null | undefined;\r\n\r\n/**\r\n * Classe utilitária para operações de string.\r\n */\r\nexport class AgroStringUtils {\r\n private static readonly CNPJ_TRADICIONAL_PESOS_1: number[] = [\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n private static readonly CNPJ_TRADICIONAL_PESOS_2: number[] = [\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n // Pesos utilizados para cálculo de dígitos verificadores do CNPJ alfanumérico (2026)\r\n private static readonly CNPJ_ALFANUMERICO_PESOS_1: number[] = [\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n private static readonly CNPJ_ALFANUMERICO_PESOS_2: number[] = [\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n AGRO_NUMBERS.NINE,\r\n AGRO_NUMBERS.EIGHT,\r\n AGRO_NUMBERS.SEVEN,\r\n AGRO_NUMBERS.SIX,\r\n AGRO_NUMBERS.FIVE,\r\n AGRO_NUMBERS.FOUR,\r\n AGRO_NUMBERS.THREE,\r\n AGRO_NUMBERS.TWO,\r\n ];\r\n /** Retorna true se a string contém apenas letras */\r\n static isOnlyLetters(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /^[A-Za-z]+$/.test(str);\r\n }\r\n\r\n /** Retorna true se a string contém pelo menos uma letra */\r\n static hasLetters(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /[A-Za-z]/.test(str);\r\n }\r\n\r\n /** Retorna true se a string contém apenas números */\r\n static isOnlyNumbers(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /^\\d+$/.test(str);\r\n }\r\n\r\n /** Retorna true se a string contém pelo menos um número */\r\n static hasNumbers(str: NullableString): boolean {\r\n if (!str) {\r\n return false;\r\n }\r\n return /\\d/.test(str);\r\n }\r\n\r\n /**\r\n * Verifica se a string está vazia.\r\n */\r\n static isEmpty(str: NullableString): boolean {\r\n if (str && AgroStringUtils.isString(str)) {\r\n return str?.trim()?.length === AGRO_NUMBERS.ZERO;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Verifica se a string não está vazia.\r\n */\r\n static isNotEmpty(str: NullableString): boolean {\r\n if (str && AgroStringUtils.isString(str)) {\r\n return !AgroStringUtils.isEmpty(str);\r\n }\r\n return false;\r\n }\r\n\r\n /** Verifica se a string é nula, indefinida ou contém apenas espaços em branco */\r\n static isBlank(str: NullableString): boolean {\r\n return !str || AGRO_REGEX.onlyBlankSpaces.test(str);\r\n }\r\n\r\n /** Verifica se a string não é nula, indefinida ou contém apenas espaços em branco */\r\n static isNotBlank(str: NullableString): boolean {\r\n return !AgroStringUtils.isBlank(str);\r\n }\r\n\r\n /**\r\n * Remove espaços em branco do início e do fim da string.\r\n */\r\n static trimToNull(str: NullableString): string | null {\r\n if (!str) {\r\n return null;\r\n }\r\n const trimmed = str.trim();\r\n return trimmed === \"\" ? null : trimmed;\r\n }\r\n\r\n /**\r\n * Compara duas strings ignorando diferenças entre maiúsculas e minúsculas.\r\n */\r\n static equalsIgnoreCase(str1: NullableString, str2: NullableString): boolean {\r\n return str1?.toLowerCase() === str2?.toLowerCase();\r\n }\r\n\r\n /**\r\n * Compara duas strings considerando diferenças entre maiúsculas e minúsculas.\r\n */\r\n static equals(str1: NullableString, str2: NullableString): boolean {\r\n return str1 === str2;\r\n }\r\n\r\n static reverse(str: string): string {\r\n return str.split(\"\").reverse().join(\"\");\r\n }\r\n\r\n static isEmail(str: string): boolean {\r\n return AGRO_REGEX.isEmail.test(str);\r\n }\r\n\r\n static isPositiveInteger(str: string): boolean {\r\n return AGRO_REGEX.positiveInteger.test(str);\r\n }\r\n\r\n /** Retorna true se a string é uma string válida (não null, não undefined, não vazia) */\r\n static isString(value: any): boolean {\r\n return typeof value === \"string\" && value.trim().length > AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n static isPositiveDecimal(str: string): boolean {\r\n return AGRO_REGEX.positiveDecimal.test(str);\r\n }\r\n\r\n static isZipCode(str: string): boolean {\r\n return AGRO_REGEX.zipCode.test(str);\r\n }\r\n\r\n static isUUID(str: string): boolean {\r\n return AGRO_REGEX.isUUID.test(str);\r\n }\r\n\r\n static isNumber(str: string): boolean {\r\n return [AGRO_REGEX.isNumber.test(str), AGRO_REGEX.isDecimal.test(str)].includes(true);\r\n }\r\n\r\n static validateCPF(cpf: string): boolean {\r\n cpf = cpf.replace(/\\D/g, \"\");\r\n\r\n if (cpf.length !== AGRO_NUMBERS.ELEVEN || /^(\\d)\\1+$/.test(cpf)) {\r\n return false;\r\n }\r\n\r\n const calcVerifier = (cpf: string, length: number): number => {\r\n let sum = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < length; i++) {\r\n sum += parseInt(cpf[i], AGRO_NUMBERS.TEN) * (length + AGRO_NUMBERS.ONE - i);\r\n }\r\n const result = sum % AGRO_NUMBERS.ELEVEN;\r\n return result < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - result;\r\n };\r\n\r\n const digit1 = calcVerifier(cpf, AGRO_NUMBERS.NINE);\r\n const digit2 = calcVerifier(cpf, AGRO_NUMBERS.TEN);\r\n\r\n return (\r\n digit1 === parseInt(cpf[AGRO_NUMBERS.NINE], AGRO_NUMBERS.TEN) && digit2 === parseInt(cpf[AGRO_NUMBERS.TEN], AGRO_NUMBERS.TEN)\r\n );\r\n }\r\n\r\n /**\r\n * Detecta automaticamente se é CNPJ antigo ou novo formato.\r\n */\r\n static validateCNPJ(cnpj: string): boolean {\r\n if (!cnpj) {\r\n return false;\r\n }\r\n cnpj = cnpj.trim();\r\n\r\n // Se contém letras → valida formato alfanumérico\r\n if (AgroStringUtils.hasLetters(cnpj)) {\r\n return AgroStringUtils.validateCNPJAlfanumerico(cnpj);\r\n }\r\n\r\n // Caso contrário, valida como CNPJ tradicional\r\n return AgroStringUtils.validateCNPJAntigo(cnpj);\r\n }\r\n\r\n /**\r\n * Valida o CNPJ tradicional (somente números)\r\n */\r\n private static validateCNPJAntigo(cnpj: string): boolean {\r\n cnpj = cnpj.replace(/\\D/g, \"\");\r\n\r\n if (!AgroStringUtils.isOnlyNumbers(cnpj)) {\r\n return false;\r\n }\r\n if (cnpj.length !== AGRO_NUMBERS.FOURTEEN) {\r\n return false;\r\n }\r\n if (/^(\\d)\\1{13}$/.test(cnpj)) {\r\n return false;\r\n }\r\n\r\n let soma = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < AGRO_NUMBERS.TWELVE; i++) {\r\n soma += parseInt(cnpj.charAt(i), AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_1[i];\r\n }\r\n let resto = soma % AGRO_NUMBERS.ELEVEN;\r\n const digito1 = resto < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - resto;\r\n\r\n soma = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < AGRO_NUMBERS.THIRTEEN; i++) {\r\n soma += parseInt(cnpj.charAt(i), AGRO_NUMBERS.TEN) * AgroStringUtils.CNPJ_TRADICIONAL_PESOS_2[i];\r\n }\r\n resto = soma % AGRO_NUMBERS.ELEVEN;\r\n const digito2 = resto < AGRO_NUMBERS.TWO ? AGRO_NUMBERS.ZERO : AGRO_NUMBERS.ELEVEN - resto;\r\n\r\n return (\r\n parseInt(cnpj.charAt(AGRO_NUMBERS.TWELVE), AGRO_NUMBERS.TEN) === digito1 &&\r\n parseInt(cnpj.charAt(AGRO_NUMBERS.THIRTEEN), AGRO_NUMBERS.TEN) === digito2\r\n );\r\n }\r\n\r\n /**\r\n * Valida o CNPJ em formato alfanumérico (padrão 2026)\r\n */\r\n private static validateCNPJAlfanumerico(cnpj: string): boolean {\r\n if (!AgroStringUtils.isString(cnpj)) {\r\n return false;\r\n }\r\n\r\n // Remove caracteres especiais (pontos, barra, traço, espaços)\r\n const clean = cnpj.replace(/[^A-Za-z0-9]/g, \"\").toUpperCase();\r\n\r\n // O CNPJ deve ter exatamente 14 posições\r\n if (clean.length !== AGRO_NUMBERS.FOURTEEN) {\r\n return false;\r\n }\r\n\r\n // Verifica se há pelo menos uma letra e um número\r\n if (!AgroStringUtils.hasLetters(clean) || !AgroStringUtils.hasNumbers(clean)) {\r\n return false;\r\n }\r\n\r\n // Calcula o primeiro dígito verificador\r\n const pesos1 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_1;\r\n const pesos2 = AgroStringUtils.CNPJ_ALFANUMERICO_PESOS_2;\r\n\r\n // Pega os 12 primeiros caracteres\r\n const base = clean.substring(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.TWELVE);\r\n const dvInformado = clean.substring(AGRO_NUMBERS.TWELVE, AGRO_NUMBERS.FOURTEEN);\r\n\r\n const calculaDV = (str: string, pesos: number[]): number => {\r\n let soma = AGRO_NUMBERS.ZERO;\r\n for (let i = AGRO_NUMBERS.ZERO; i < pesos.length; i++) {\r\n const char = str.charAt(i);\r\n const asciiValue = char.charCodeAt(0) - AGRO_NUMBERS.FORTY_EIGHT; // conforme documento (48 = '0')\r\n soma += asciiValue * pesos[i]; // asciiValue já calculado a partir do enum FORTY_EIGHT\r\n }\r\n const resto = soma % AGRO_NUMBERS.ELEVEN;\r\n const digito = AGRO_NUMBERS.ELEVEN - resto;\r\n return digito > AGRO_NUMBERS.NINE ? AGRO_NUMBERS.ZERO : digito; // segue mesma regra do CNPJ tradicional\r\n };\r\n\r\n const dv1 = calculaDV(base, pesos1);\r\n const dv2 = calculaDV(base + dv1.toString(), pesos2);\r\n\r\n const dvCalculado = `${dv1}${dv2}`;\r\n\r\n return dvCalculado === dvInformado;\r\n }\r\n\r\n /** Calcula a diferença entre duas strings em termos de número de caracteres diferentes */\r\n static difference(str1: string, str2: string): number {\r\n const len1 = str1.length;\r\n const len2 = str2.length;\r\n let diff = Math.abs(len1 - len2);\r\n for (let i = AGRO_NUMBERS.ZERO; i < Math.min(len1, len2); i++) {\r\n if (str1[i] !== str2[i]) {\r\n diff++;\r\n }\r\n }\r\n return diff;\r\n }\r\n\r\n /** Verifica se str1 termina com str2 */\r\n static endsWith(str1: string, str2: string): boolean {\r\n return str1.endsWith(str2);\r\n }\r\n\r\n /** Verifica se str1 começa com str2 */\r\n static startsWith(str1: string, str2: string): boolean {\r\n return str1.startsWith(str2);\r\n }\r\n\r\n /** Verifica se str1 contém str2 */\r\n static contains(str1: string, str2: string): boolean {\r\n return str1.includes(str2);\r\n }\r\n\r\n /** Verifica se str1 começa com str2, ignorando maiúsculas e minúsculas */\r\n static startsWithIgnoreCase(str1: string, str2: string): boolean {\r\n return str1.toLowerCase().startsWith(str2.toLowerCase());\r\n }\r\n\r\n /** Verifica se str1 termina com str2, ignorando maiúsculas e minúsculas */\r\n static endsWithIgnoreCase(str1: string, str2: string): boolean {\r\n return str1.toLowerCase().endsWith(str2.toLowerCase());\r\n }\r\n\r\n /** Inverte o caso de cada letra na string */\r\n static swapCase(str: string): string {\r\n let swapped = \"\";\r\n for (let i = AGRO_NUMBERS.ZERO; i < str.length; i++) {\r\n const char = str[i];\r\n swapped += char === char.toUpperCase() ? char.toLowerCase() : char.toUpperCase();\r\n }\r\n return swapped;\r\n }\r\n\r\n /** Coloca a primeira letra da string em maiúsculo */\r\n static capitalize(str: string): string {\r\n return str.charAt(AGRO_NUMBERS.ZERO).toUpperCase() + str.slice(1);\r\n }\r\n\r\n /** Coloca a primeira letra da string em minúsculo */\r\n static uncapitalize(str: string): string {\r\n return str.charAt(AGRO_NUMBERS.ZERO).toLowerCase() + str.slice(1);\r\n }\r\n\r\n /** Conta o número de ocorrências de uma substring dentro de uma string */\r\n static countMatches(str: string, substring: string): number {\r\n const regex = new RegExp(substring, \"g\");\r\n const matches = str.match(regex);\r\n return matches ? matches.length : AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Aplica uma máscara simples à string fornecida.O padrão de máscaras é definido pelo enum AgroStringMasks ou\r\n * pode ser uma string personalizada onde '9' representa um dígito a ser substituído pelo caractere correspondente\r\n * da string.\r\n */\r\n static applyMask(value: string, mask: AgroStringMasks | string): string {\r\n const valueChars = value.replace(/[^A-Za-z0-9]/g, \"\");\r\n\r\n const maskChars = mask.split(\"\");\r\n let maskedValue = \"\";\r\n let j = AGRO_NUMBERS.ZERO;\r\n for (const maskChar of maskChars) {\r\n if (j >= valueChars.length) {\r\n break;\r\n }\r\n if (maskChar === \"9\") {\r\n maskedValue += valueChars[j];\r\n j += AGRO_NUMBERS.ONE; // increment extracted per Sonar recommendation\r\n } else {\r\n maskedValue += maskChar;\r\n }\r\n }\r\n return maskedValue;\r\n }\r\n\r\n static isValid(str: NullableString): boolean {\r\n return typeof str !== \"undefined\" && str !== null && this.isNotEmpty(str);\r\n }\r\n\r\n static isInvalid(str: NullableString): boolean {\r\n return !AgroStringUtils.isValid(str);\r\n }\r\n\r\n static isISODate(value: string): boolean {\r\n return AGRO_REGEX.isISODate.test(value);\r\n }\r\n\r\n static isISOTime(value: string): boolean {\r\n return AGRO_REGEX.isISOTime.test(value);\r\n }\r\n\r\n static isISODatetime(value: string): boolean {\r\n return AGRO_REGEX.isISODateTime.test(value);\r\n }\r\n}\r\n","import { AgroCookieUtils } from \"./agro-cookie-utils.class\";\r\nimport { AgroObjectUtils } from \"./agro-object-utils.class\";\r\nimport { StringUtils } from \"./agro-string-utils.class\";\r\n\r\n// Cookie name constants\r\nconst COOKIE_TOKEN = 'com.senior.token';\r\nconst COOKIE_BASE_URL = 'com.senior.base.url';\r\nconst COOKIE_SERVICES_URL = 'com.senior.services.url';\r\n\r\nexport {AgroPlatformUtils as APU, AgroPlatformUtils as PlatformUtils};\r\n\r\nexport class AgroPlatformUtils {\r\n /**\r\n * Retorna o tenant atual\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns\r\n */\r\n static getCurrentTenant(): string {\r\n const tenant = AgroPlatformUtils.getTokenField(\"tenantName\");\r\n if (tenant) {\r\n return tenant;\r\n }\r\n throw new Error(`Cookie: \"${COOKIE_TOKEN}\" não encontrado.`);\r\n }\r\n\r\n /**\r\n * Retorna o locale do tenant atual\r\n *\r\n * @returns\r\n */\r\n static getCurrentTenantLocale(): string {\r\n const locale = AgroPlatformUtils.getTokenField(\"locale\");\r\n if (locale) {\r\n return locale;\r\n }\r\n throw new Error(`'locale' não encontrado para o tenant atual.`);\r\n }\r\n\r\n /**\r\n * @deprecated Use getCurrentTenantLocale()\r\n * Mantido por compatibilidade retroativa.\r\n */\r\n static getCurrenTenantLocale(): string {\r\n // legacy typo retained\r\n return AgroPlatformUtils.getCurrentTenantLocale();\r\n }\r\n\r\n /**\r\n * Retorna o nome completo do usuário logado\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns string || null\r\n */\r\n static getCurrentUserName(): string | null {\r\n const name = AgroPlatformUtils.getTokenField(\"fullName\");\r\n return name || null;\r\n }\r\n /**\r\n * Retorna o nome de usuário logado\r\n * Ex: admin@tenant.com.br\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns string || null\r\n */\r\n static getCurrentUserUsername(): string | null {\r\n const username = AgroPlatformUtils.getTokenField(\"username\");\r\n return username || null;\r\n }\r\n\r\n /**\r\n * Retorna o e-mail do usuário logado\r\n * Caso contrário, retorna uma instância de Error\r\n * @returns string\r\n */\r\n static getCurrentUserEmail(): string | null {\r\n const email = AgroPlatformUtils.getTokenField(\"email\");\r\n if (!email) {\r\n console.info(`Cookie: \"${COOKIE_TOKEN}\" não encontrado.`);\r\n }\r\n return email || null;\r\n }\r\n\r\n /**\r\n * Retorna uma string com a baseURL atual\r\n * Caso contrário, retorna uma instância de Error\r\n * @example \"https://cloud-leaf.senior.com.br\" || \"https://platform.senior.com.br\"\r\n */\r\n static getBaseURL(): string {\r\n const cookie = AgroCookieUtils.getCookie(COOKIE_BASE_URL);\r\n if (cookie) {\r\n return decodeURIComponent(cookie);\r\n }\r\n throw new Error(`Cookie: \"${COOKIE_BASE_URL}\" não encontrado.`);\r\n }\r\n\r\n /**\r\n * Retorna uma string com a URL dos serviços\r\n * Caso contrário, retorna uma instância de Error\r\n * @example \"https://cloud-leaf.senior.com.br/t/senior.com.br/bridge/1.0/\"\r\n */\r\n static getServicesURL(): string {\r\n const cookie = AgroCookieUtils.getCookie(COOKIE_SERVICES_URL);\r\n if (StringUtils.isNotEmpty(cookie)) {\r\n return decodeURIComponent(cookie);\r\n }\r\n throw new Error(`Cookie: \"${COOKIE_SERVICES_URL}\" não encontrado.`);\r\n }\r\n\r\n /**\r\n * Retorna uma string com o token de acesso atual\r\n * Caso contrário, retorna uma instância de Error\r\n */\r\n static getCurrentAccessToken(): string | null {\r\n const token = AgroPlatformUtils.getTokenField(\"access_token\");\r\n if (!token) {\r\n console.info(`Cookie: \"${COOKIE_TOKEN}\" não encontrado.`);\r\n }\r\n return token || null;\r\n }\r\n\r\n /**\r\n * Helper para extrair um campo do cookie de token.\r\n */\r\n private static getTokenField(field: string): string | undefined {\r\n const cookie = AgroCookieUtils.getCookie(COOKIE_TOKEN);\r\n if (!cookie) {\r\n return undefined;\r\n }\r\n const obj = AgroCookieUtils.parseCookieToObject(cookie, true);\r\n return obj[field];\r\n }\r\n}\r\n","/**\r\n * Classe de utilitários para operações com números.\r\n */\r\n\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\nexport class AgroNumberUtils {\r\n /**\r\n * Verifica se um número é nulo ou indefinido.\r\n * @param num - O número a ser verificado.\r\n * @returns True se o número for nulo ou indefinido, false caso contrário.\r\n */\r\n static isNullOrUndefined(num: any): boolean {\r\n return num === null || num === undefined;\r\n }\r\n\r\n /**\r\n * Verifica se um número não é nulo e não é indefinido.\r\n * @param num - O número a ser verificado.\r\n * @returns True se o número não for nulo e não for indefinido, false caso contrário.\r\n */\r\n static isNotNullOrUndefined(num: any): boolean {\r\n return !AgroNumberUtils.isNullOrUndefined(num);\r\n }\r\n\r\n /**\r\n * Verifica se um número é par.\r\n *\r\n * @param value O número a ser verificado.\r\n * @returns True se for par, false caso contrário.\r\n */\r\n static isEven(value: number): boolean {\r\n return value % AGRO_NUMBERS.TWO === AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Verifica se um número é ímpar.\r\n *\r\n * @param value O número a ser verificado.\r\n * @returns True se for ímpar, false caso contrário.\r\n */\r\n static isOdd(value: number): boolean {\r\n return value % AGRO_NUMBERS.TWO !== AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n /**\r\n * Calcula a porcentagem de um valor em relação a um total.\r\n *\r\n * @param partial O valor parcial.\r\n * @param total O valor total.\r\n * @returns A porcentagem calculada.\r\n */\r\n static percentage(partial: number, total: number): number {\r\n if (total === AGRO_NUMBERS.ZERO) {\r\n throw new Error(\"O total não pode ser zero.\");\r\n }\r\n return (partial / total) * AGRO_NUMBERS.ONE_HUNDRED;\r\n }\r\n\r\n /**\r\n * Formata um número para o formato monetário.\r\n *\r\n * @param value O número a ser formatado.\r\n * @param currency O símbolo da moeda (padrão: \"BRL\").\r\n * @param locale O código da localidade (padrão: \"pt-BR\").\r\n * @returns Uma string no formato monetário.\r\n */\r\n static toCurrency(value: number, currency: string = \"BRL\", locale: string = \"pt-BR\"): string {\r\n return new Intl.NumberFormat(locale, {\r\n style: \"currency\",\r\n currency: currency,\r\n }).format(value);\r\n }\r\n\r\n /**\r\n * Gera um número aleatório no intervalo especificado.\r\n *\r\n * @param min O valor mínimo (inclusivo).\r\n * @param max O valor máximo (exclusivo).\r\n * @returns Um número aleatório no intervalo.\r\n */\r\n static randomInRange(min: number, max: number): number {\r\n if (max <= min) {\r\n throw new Error(\"O valor máximo deve ser maior que o mínimo.\");\r\n }\r\n return Math.random() * (max - min) + min;\r\n }\r\n\r\n /**\r\n * Verifica se um número é primo.\r\n *\r\n * @param value O número a ser verificado.\r\n * @returns True se for primo, false caso contrário.\r\n */\r\n static isPrime(value: number): boolean {\r\n if (value <= AGRO_NUMBERS.ONE) {\r\n return false;\r\n }\r\n for (let i = AGRO_NUMBERS.TWO; i <= Math.sqrt(value); i++) {\r\n if (value % i === AGRO_NUMBERS.ZERO) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Arredonda um número para `n` casas decimais.\r\n *\r\n * @param value O número a ser arredondado.\r\n * @param decimals O número de casas decimais (padrão: 2).\r\n * @returns O número arredondado.\r\n */\r\n static roundTo(value: number, decimals: number = AGRO_NUMBERS.TWO): number {\r\n if (decimals < AGRO_NUMBERS.ZERO) {\r\n throw new Error(\"O número de casas decimais não pode ser negativo.\");\r\n }\r\n const factor = Math.pow(AGRO_NUMBERS.TEN, decimals);\r\n return Math.round(value * factor) / factor;\r\n }\r\n\r\n\r\n /**\r\n * Pega apenas números, convertendo strings para números e retornarndo apenas o maior inteiro encontrado.\r\n * @param value - O valor a ser processado.\r\n * @returns O maior número inteiro encontrado ou 0 se nenhum número for encontrado.\r\n */\r\n static getNearInteger(value: any): number {\r\n if (typeof value === \"number\") {\r\n return Math.floor(value);\r\n }\r\n\r\n if (typeof value === \"string\") {\r\n const numbers = value.match(/\\d+/g);\r\n if (numbers && numbers.length > 0) {\r\n return Math.max(...numbers.map(Number));\r\n }\r\n }\r\n\r\n return 0;\r\n }\r\n}\r\n","export class Colors {\r\n static readonly BASE = {\r\n LIME: \"#ADE500\",\r\n LIME_RGB: \"173, 229, 0\",\r\n HIPPIE_BLUE: \"#67ACBC\",\r\n HIPPIE_BLUE_RGB: \"103, 172, 188\",\r\n TEAL: \"#008080\",\r\n TEAL_RGB: \"0, 128, 128\",\r\n TARAWERA: \"#063951\",\r\n TARAWERA_RGB: \"6, 57, 81\",\r\n CLAIRVOYANT: \"#400753\",\r\n CLAIRVOYANT_RGB: \"64, 7, 83\",\r\n COCOA_BEAN: \"#50201F\",\r\n COCOA_BEAN_RGB: \"80, 32, 31\",\r\n SUNSET_ORANGE: \"#F45B5B\",\r\n SUNSET_ORANGE_RGB: \"244, 91, 91\",\r\n BUTTERCUP: \"#F5A319\",\r\n BUTTERCUP_RGB: \"245, 163, 25\"\r\n };\r\n\r\n static readonly GRAY_SCALE = {\r\n BLACK: \"#333333\",\r\n BLACK_RGB: \"51, 51, 51\",\r\n DISABLED_EDITION: \"#697882\",\r\n DISABLED_EDITION_RGB: \"105, 120, 130\",\r\n SECONDARY: \"#999999\",\r\n SECONDARY_RGB: \"153, 153, 153\",\r\n PRIMAEY_DISABLED: \"#CCCCCC\", // legacy typo\r\n PRIMAEY_DISABLED_RGB: \"204, 204, 204\", // legacy typo\r\n PRIMARY_DISABLED: \"#CCCCCC\",\r\n PRIMARY_DISABLED_RGB: \"204, 204, 204\",\r\n SECONDARY_DISABLED: \"#D8D8D8\",\r\n SECONDARY_DISABLED_RGB: \"216, 216, 216\",\r\n BLACK_HAZE: \"#E5EAEA\",\r\n BLACK_HAZE_RGB: \"229, 234, 234\",\r\n WHITE: \"#FFFFFF\",\r\n WHITE_RGB: \"255, 255, 255\"\r\n };\r\n\r\n static readonly CRITICAL = {\r\n RED: \"#C13018\",\r\n RED_RGB: \"193, 48, 24\",\r\n ORANGE: \"#F8931F\",\r\n ORANGE_RGB: \"248, 147, 31\",\r\n YELLOW: \"#FCBF10\",\r\n YELLOW_RGB: \"252, 191, 16\",\r\n GREEN: \"#0C9348\",\r\n GREEN_RGB: \"12, 147, 72\",\r\n BLUE: \"#428BCA\",\r\n BLUE_RGB: \"66, 139, 202\"\r\n };\r\n\r\n static readonly HIPPIE_BLUE = {\r\n HEX_900: \"#1D2F34\",\r\n RGB_900: \"rgb(29, 47, 52)\",\r\n HEX_700: \"#426E78\",\r\n RGB_700: \"rgb(66, 110, 120)\",\r\n HEX_500: \"#67ACBC\",\r\n RGB_500: \"rgb(103, 172, 188)\",\r\n HEX_300: \"#9ECAD4\",\r\n RGB_300: \"rgb(158, 202, 212)\",\r\n HEX_100: \"#D5E8EC\",\r\n RGB_100: \"rgb(213, 232, 236)\",\r\n HEX_50: \"#F1F7F8\",\r\n RGB_50: \"rgb(241, 247, 248)\"\r\n };\r\n\r\n static readonly TEAL = {\r\n HEX_900: \"#0C2827\",\r\n RGB_900: \"rgb(12, 40, 39)\",\r\n HEX_700: \"#005050\",\r\n RGB_700: \"rgb(0, 80, 80)\",\r\n HEX_500: \"#008080\",\r\n RGB_500: \"rgb(0, 128, 128)\",\r\n HEX_300: \"#4DA6A6\",\r\n RGB_300: \"rgb(77, 166, 166)\",\r\n HEX_100: \"#B3D9D9\",\r\n RGB_100: \"rgb(179, 217, 217)\",\r\n HEX_50: \"#E0F0F0\",\r\n RGB_50: \"rgb(224, 240, 240)\"\r\n };\r\n}\r\n","import { AgroStringUtils } from \"./agro-string-utils.class\";\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\nexport class AgroNameUtils {\r\n /**\r\n * Abrevia o último sobrenome, mantendo o primeiro nome completo.\r\n * @param fullName valor completo do nome (Ex: Tiago Batista Corrêa)\r\n * @returns nome abreviado (Ex: Tiago C.)\r\n */\r\n static abbreviateName(fullName: string): string | null {\r\n if (AgroStringUtils.isInvalid(fullName)) {\r\n return null;\r\n }\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n if (parts.length < AGRO_NUMBERS.TWO) {\r\n return fullName; // Retorna o nome original se não puder ser abreviado\r\n }\r\n\r\n const firstName = parts[0]; // Primeiro nome completo\r\n const lastName = parts[parts.length - 1]; // Último sobrenome\r\n\r\n // Retorna o nome abreviado\r\n return `${firstName} ${lastName.charAt(0)}.`;\r\n }\r\n\r\n /**\r\n * Abrevia todos os sobrenomes, mantendo o primeiro nome completo.\r\n *\r\n * @param fullName O nome completo. (Ex: Tiago Batista Corrêa)\r\n * @returns O nome com os sobrenomes abreviados. (Ex: Tiago B. C.)\r\n */\r\n static abbreviateAllLastNames(fullName: string): string | null {\r\n if (AgroStringUtils.isInvalid(fullName)) {\r\n return null;\r\n }\r\n\r\n const parts = fullName.trim().split(/\\s+/);\r\n if (parts.length < AGRO_NUMBERS.TWO) {\r\n return fullName;\r\n }\r\n\r\n const firstName = parts[0];\r\n const abbreviatedLastNames = parts\r\n .slice(1)\r\n .map((name) => `${name.charAt(0)}.`)\r\n .join(\" \");\r\n\r\n return `${firstName} ${abbreviatedLastNames}`;\r\n }\r\n\r\n /**\r\n * Retorna as iniciais do nome completo.\r\n *\r\n * @param fullName O nome completo. (Ex: Tiago Batista Corrêa)\r\n * @returns Uma string contendo as iniciais do nome. (Ex: TBC)\r\n */\r\n static getInitials(fullName: string): string | null {\r\n if (AgroStringUtils.isInvalid(fullName)) {\r\n return null;\r\n }\r\n\r\n return fullName\r\n .trim()\r\n .split(/\\s+/)\r\n .map((name) => name.charAt(0).toUpperCase())\r\n .join(\"\");\r\n }\r\n}\r\n","import { AgroObjectUtils } from \"./agro-object-utils.class\";\r\n\r\n/**\r\n * Classe com funções úteis para Arrays.\r\n */\r\nexport class AgroArrayUtils {\r\n /**\r\n * Verifica se o valor informado é um array.\r\n */\r\n public static isArray(value: any): boolean {\r\n return Array.isArray(value);\r\n }\r\n\r\n /**\r\n * Remove um item de um array.\r\n * @param array Array de onde o item será removido.\r\n * @param item Item a ser removido.\r\n */\r\n public static removeItem(array: any[], item: any): void {\r\n const index = array.indexOf(item);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n }\r\n }\r\n\r\n /**\r\n * Remove um item de um array por índice.\r\n * @param array Array de onde o item será removido.\r\n * @param index Índice do item a ser removido.\r\n */\r\n public static removeItemByIndex(array: any[], index: number): void {\r\n array.splice(index, 1);\r\n }\r\n\r\n /**\r\n * Remove todos os itens de um array.\r\n * @param array Array de onde os itens serão removidos.\r\n */\r\n public static removeAllItems(array: any[]): void {\r\n array.splice(0, array.length);\r\n }\r\n\r\n /**\r\n * Verifica se um array é vazio.\r\n * @param array Array a ser verificado.\r\n */\r\n public static isEmpty(array: any[]): boolean {\r\n return AgroArrayUtils.isArray(array) && array.length === 0;\r\n }\r\n\r\n /**\r\n * Verifica se um array é vazio.\r\n * @param array Array a ser verificado.\r\n */\r\n public static isNotEmpty(array: any[]): boolean {\r\n return !AgroArrayUtils.isEmpty(array);\r\n }\r\n\r\n /**\r\n * Localiza um item em um array de objetos de acordo com a propriedade e valor informados.\r\n */\r\n public static findItemByProperty(array: any[], property: string, value: any): any {\r\n for (const item of array) {\r\n if (item[property] === value) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Valida se dois arrays são iguais.\r\n * Considera se os arrays possuem os mesmos elementos na mesma ordem.\r\n * @param arr1\r\n * @param arr2\r\n * @returns\r\n */\r\n public static arraysAreEqual(arr1: any[], arr2: any[]): boolean {\r\n return AgroObjectUtils.isEqual(arr1, arr2);\r\n }\r\n}\r\n","import { AGRO_NUMBERS } from '../enums';\r\ntype AnyRecord = Record<string, any>;\r\n\r\nexport interface DistributionResult<T> {\r\n data: Partial<T>;\r\n samplingSuccess: number; // percentage of total\r\n samplingQuantity: number; // absolute count\r\n}\r\n\r\nexport class AgroLogics {\r\n // 🔹 Constantes locais\r\n private static readonly FAHRENHEIT_OFFSET = 32;\r\n private static readonly FAHRENHEIT_NUMERATOR = 9;\r\n private static readonly FAHRENHEIT_DENOMINATOR = 5;\r\n private static readonly KELVIN_OFFSET = 273.15;\r\n private static readonly PERCENT = 100;\r\n\r\n /**\r\n * Agrupa o conjunto de dados pelos campos de entidade fornecidos e calcula\r\n * a distribuição de probabilidade (frequência e porcentagem).\r\n *\r\n * @param data - Array de objetos a serem analisados\r\n * @param keys - Chaves ou caminhos aninhados para agrupar (ex: [\"entity1\", \"entity2\"])\r\n * @returns Array de estatísticas agrupadas ordenadas por samplingSuccess (decrescente)\r\n */\r\n static entityDistributionStats<T extends AnyRecord>(\r\n data: T[],\r\n keys: (keyof T | string)[]\r\n ): DistributionResult<T>[] {\r\n const total = data.length;\r\n const map = new Map<string, { data: Partial<T>; count: number }>();\r\n\r\n const resolvePath = (source: any, path: string): any => {\r\n const parts = path.split('.');\r\n let value = source;\r\n for (const p of parts) {\r\n if (value == null) {\r\n return undefined;\r\n }\r\n value = value[p];\r\n }\r\n return value;\r\n };\r\n\r\n for (const item of data) {\r\n const keyValues = keys.map((k) => resolvePath(item, k as string));\r\n const uniqueKey = JSON.stringify(keyValues);\r\n\r\n if (!map.has(uniqueKey)) {\r\n const groupedData: Partial<T> = {};\r\n for (const k of keys) {\r\n const rootName = k.toString().split('.')[0];\r\n (groupedData as any)[rootName] = resolvePath(item, k as string);\r\n }\r\n map.set(uniqueKey, { data: groupedData, count: 0 });\r\n }\r\n const entry = map.get(uniqueKey);\r\n entry.count += AGRO_NUMBERS.ONE;\r\n }\r\n\r\n const result: DistributionResult<T>[] = Array.from(map.values()).map((entry) => ({\r\n data: entry.data,\r\n samplingQuantity: entry.count,\r\n samplingSuccess: Math.round((entry.count / total) * this.PERCENT),\r\n }));\r\n\r\n result.sort((a, b) => b.samplingSuccess - a.samplingSuccess);\r\n\r\n return result;\r\n }\r\n}\r\n","import { UnitOfMeasurement } from \"../enums/unit-measurement.enum\";\r\nimport { AGRO_NUMBERS } from \"../enums\";\r\n\r\ntype ConversionUnit = {\r\n units: UnitOfMeasurement[];\r\n factorTable: { [key: string]: number };\r\n};\r\n\r\nconst TWO_HUNDRED_SEVENTY_THREE_POINT_ONE_FIVE = 273.15;\r\n\r\nexport class AgroUnitConverter {\r\n // 🔹 Comprimento\r\n readonly LENGTH_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.METRO,\r\n UnitOfMeasurement.CENTIMETRO,\r\n UnitOfMeasurement.MILIMETRO,\r\n UnitOfMeasurement.QUILOMETRO,\r\n UnitOfMeasurement.POLEGADA,\r\n UnitOfMeasurement.PE,\r\n ];\r\n\r\n // 🔹 Massa\r\n readonly MASS_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.GRAMA,\r\n UnitOfMeasurement.QUILOGRAMA,\r\n UnitOfMeasurement.TONELADA,\r\n UnitOfMeasurement.LIBRA,\r\n UnitOfMeasurement.SACA,\r\n ];\r\n\r\n // 🔹 Área\r\n readonly AREA_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.METRO_QUADRADO,\r\n UnitOfMeasurement.CENTIMETRO_QUADRADO,\r\n UnitOfMeasurement.HECTARE,\r\n UnitOfMeasurement.ALQUEIRE_50x50,\r\n UnitOfMeasurement.ALQUEIRE_50x75,\r\n UnitOfMeasurement.ALQUEIRE_DO_NORTE,\r\n UnitOfMeasurement.ALQUEIRE_75x80,\r\n UnitOfMeasurement.ALQUEIRE_79x79,\r\n UnitOfMeasurement.ALQUEIRE_80x80,\r\n UnitOfMeasurement.ALQUEIRE_75x100,\r\n UnitOfMeasurement.ALQUEIRE_100x150,\r\n UnitOfMeasurement.ALQUEIRE_BAIANO,\r\n UnitOfMeasurement.ALQUEIRAO,\r\n UnitOfMeasurement.ALQUEIRE_PAULISTA,\r\n UnitOfMeasurement.ALQUEIRE_MINEIRO,\r\n ];\r\n\r\n // 🔹 Volume\r\n readonly VOLUME_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.LITRO, UnitOfMeasurement.MILILITRO, UnitOfMeasurement.METRO_CUBICO];\r\n\r\n // 🔹 Tempo\r\n readonly TIME_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.SEGUNDO,\r\n UnitOfMeasurement.MINUTO,\r\n UnitOfMeasurement.HORA,\r\n UnitOfMeasurement.DIA,\r\n ];\r\n\r\n // 🔹 Temperatura\r\n readonly TEMPERATURE_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.CELSIUS, UnitOfMeasurement.FAHRENHEIT, UnitOfMeasurement.KELVIN];\r\n\r\n // 🔹 Energia\r\n readonly ENERGY_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.JOULE, UnitOfMeasurement.CALORIA, UnitOfMeasurement.QUILOWATT_HORA];\r\n\r\n // 🔹 Eletricidade\r\n readonly ELECTRICITY_UNITS: UnitOfMeasurement[] = [UnitOfMeasurement.VOLT, UnitOfMeasurement.AMPERE, UnitOfMeasurement.WATT];\r\n\r\n // 🔹 Dados digitais\r\n readonly DATA_UNITS: UnitOfMeasurement[] = [\r\n UnitOfMeasurement.BYTE,\r\n UnitOfMeasurement.KILOBYTE,\r\n UnitOfMeasurement.MEGABYTE,\r\n UnitOfMeasurement.GIGABYTE,\r\n UnitOfMeasurement.TERABYTE,\r\n ];\r\n\r\n private readonly conversionUnits: ConversionUnit[];\r\n\r\n constructor() {\r\n this.conversionUnits = [\r\n {\r\n units: this.LENGTH_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.METRO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.CENTIMETRO]: 0.01,\r\n [UnitOfMeasurement.MILIMETRO]: 0.001,\r\n [UnitOfMeasurement.QUILOMETRO]: AGRO_NUMBERS.ONETHOUSAND,\r\n [UnitOfMeasurement.POLEGADA]: 0.0254,\r\n [UnitOfMeasurement.PE]: 0.3048,\r\n },\r\n },\r\n {\r\n units: this.MASS_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.GRAMA]: 0.001,\r\n [UnitOfMeasurement.QUILOGRAMA]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.TONELADA]: AGRO_NUMBERS.ONETHOUSAND,\r\n [UnitOfMeasurement.LIBRA]: 0.453592,\r\n [UnitOfMeasurement.SACA]: 60,\r\n },\r\n },\r\n {\r\n units: this.AREA_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.METRO_QUADRADO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.CENTIMETRO_QUADRADO]: 0.0001,\r\n [UnitOfMeasurement.HECTARE]: 10000,\r\n [UnitOfMeasurement.ALQUEIRE_50x50]: 12100,\r\n [UnitOfMeasurement.ALQUEIRE_50x75]: 18200,\r\n [UnitOfMeasurement.ALQUEIRE_DO_NORTE]: 27200,\r\n [UnitOfMeasurement.ALQUEIRE_75x80]: 29000,\r\n [UnitOfMeasurement.ALQUEIRE_79x79]: 30200,\r\n [UnitOfMeasurement.ALQUEIRE_80x80]: 31900,\r\n [UnitOfMeasurement.ALQUEIRE_75x100]: 36300,\r\n [UnitOfMeasurement.ALQUEIRE_100x150]: 72600,\r\n [UnitOfMeasurement.ALQUEIRE_BAIANO]: 96800,\r\n [UnitOfMeasurement.ALQUEIRAO]: 193600,\r\n [UnitOfMeasurement.ALQUEIRE_PAULISTA]: 24200,\r\n [UnitOfMeasurement.ALQUEIRE_MINEIRO]: 48400,\r\n },\r\n },\r\n {\r\n units: this.VOLUME_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.LITRO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.MILILITRO]: 0.001,\r\n [UnitOfMeasurement.METRO_CUBICO]: AGRO_NUMBERS.ONETHOUSAND,\r\n },\r\n },\r\n {\r\n units: this.TIME_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.SEGUNDO]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.MINUTO]: AGRO_NUMBERS.SIXTY_,\r\n [UnitOfMeasurement.HORA]: 3600,\r\n [UnitOfMeasurement.DIA]: 86400,\r\n },\r\n },\r\n {\r\n units: this.ENERGY_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.JOULE]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.CALORIA]: 4.184,\r\n [UnitOfMeasurement.QUILOWATT_HORA]: 3_600_000,\r\n },\r\n },\r\n {\r\n units: this.DATA_UNITS,\r\n factorTable: {\r\n [UnitOfMeasurement.BYTE]: AGRO_NUMBERS.ONE,\r\n [UnitOfMeasurement.KILOBYTE]: 1024,\r\n [UnitOfMeasurement.MEGABYTE]: 1024 ** AGRO_NUMBERS.TWO,\r\n [UnitOfMeasurement.GIGABYTE]: 1024 ** AGRO_NUMBERS.THREE,\r\n [UnitOfMeasurement.TERABYTE]: 1024 ** AGRO_NUMBERS.FOUR,\r\n },\r\n },\r\n ];\r\n }\r\n\r\n // 🔹 Métodos de conversão\r\n convertTemperatureUnit(valor: number, de: UnitOfMeasurement, para: UnitOfMeasurement): number {\r\n if (de === para) {\r\n return valor;\r\n }\r\n\r\n let celsius: number;\r\n switch (de) {\r\n case UnitOfMeasurement.CELSIUS:\r\n celsius = valor;\r\n break;\r\n case UnitOfMeasurement.FAHRENHEIT:\r\n celsius = ((valor - AGRO_NUMBERS.THIRTY_TWO) * AGRO_NUMBERS.FIVE) / AGRO_NUMBERS.NINE;\r\n break;\r\n case UnitOfMeasurement.KELVIN:\r\n celsius = valor - TWO_HUNDRED_SEVENTY_THREE_POINT_ONE_FIVE;\r\n break;\r\n default:\r\n throw new Error(\"Unidade inválida\");\r\n }\r\n\r\n switch (para) {\r\n case UnitOfMeasurement.CELSIUS:\r\n return celsius;\r\n case UnitOfMeasurement.FAHRENHEIT:\r\n return (celsius * AGRO_NUMBERS.NINE) / AGRO_NUMBERS.FIVE + AGRO_NUMBERS.THIRTY_TWO;\r\n case UnitOfMeasurement.KELVIN:\r\n return celsius + TWO_HUNDRED_SEVENTY_THREE_POINT_ONE_FIVE;\r\n default:\r\n throw new Error(\"Unidade inválida\");\r\n }\r\n }\r\n\r\n private isTemperatureUnit(unit: UnitOfMeasurement): boolean {\r\n return this.TEMPERATURE_UNITS.includes(unit);\r\n }\r\n\r\n convertScalableUnits(valor: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n if (from === to) {\r\n return valor;\r\n }\r\n\r\n if (this.isTemperatureUnit(from) || this.isTemperatureUnit(to)) {\r\n return this.convertTemperatureUnit(valor, from, to);\r\n }\r\n\r\n\r\n const unitCategory = this.conversionUnits.find((u) => u.units.includes(from));\r\n if (!unitCategory?.units?.includes(to)) {\r\n throw new Error(`Não é possível converter de ${from} para ${to}: categorias diferentes ou unidade não escalável.`);\r\n }\r\n\r\n const fatorDe = unitCategory.factorTable[from];\r\n const fatorPara = unitCategory.factorTable[to];\r\n\r\n const emBase = valor * fatorDe;\r\n return emBase / fatorPara;\r\n }\r\n\r\n convertLitersPerArea(valor: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n const areaCategory = this.conversionUnits.find((u) => u.units.includes(from));\r\n if (!areaCategory?.units?.includes(to)) {\r\n throw new Error(`Unidade de área inválida: ${from} ou ${to}`);\r\n }\r\n\r\n const fatorFrom = areaCategory.factorTable[from];\r\n const fatorTo = areaCategory.factorTable[to];\r\n\r\n return (valor / fatorFrom) * fatorTo;\r\n }\r\n\r\n convertKgPerArea(valor: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n return this.convertLitersPerArea(valor, from, to);\r\n }\r\n\r\n convertBushelToKg(bushel: number, factor: number): number {\r\n if (factor <= 0) {\r\n throw new Error(\"Fator de conversão inválido\");\r\n }\r\n return bushel * factor;\r\n }\r\n\r\n convertKgToBushel(kg: number, factor: number): number {\r\n if (factor <= 0) {\r\n throw new Error(\"Fator de conversão inválido\");\r\n }\r\n return kg / factor;\r\n }\r\n\r\n calculateAreaFromVolume(totalVolume: number, rate: number, rateUnit: UnitOfMeasurement, areaUnit: UnitOfMeasurement): number {\r\n if (rate <= 0) {\r\n throw new Error(\"Taxa de aplicação inválida\");\r\n }\r\n const rateInDesiredUnit = this.convertLitersPerArea(rate, rateUnit, areaUnit);\r\n return totalVolume / rateInDesiredUnit;\r\n }\r\n\r\n convertElectricityUnit(valor: number, voltage: number, from: UnitOfMeasurement, to: UnitOfMeasurement): number {\r\n if (from === to) {\r\n return valor;\r\n }\r\n\r\n const toWatt = (v: number, unit: UnitOfMeasurement): number => {\r\n switch (unit) {\r\n case UnitOfMeasurement.VOLT:\r\n case UnitOfMeasurement.AMPERE:\r\n return voltage * v; // P = V * I\r\n case UnitOfMeasurement.WATT:\r\n return v;\r\n default:\r\n throw new Error(`A unidade ${unit} não é escalável diretamente.`);\r\n }\r\n };\r\n\r\n const fromWatt = (w: number, unit: UnitOfMeasurement): number => {\r\n switch (unit) {\r\n case UnitOfMeasurement.VOLT:\r\n case UnitOfMeasurement.AMPERE:\r\n return w / voltage;\r\n case UnitOfMeasurement.WATT:\r\n return w;\r\n default:\r\n throw new Error(`A unidade ${unit} não é escalável diretamente.`);\r\n }\r\n };\r\n\r\n const wattValue = toWatt(valor, from);\r\n return fromWatt(wattValue, to);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport ptBR from \"./i18n/pt-BR\";\r\nimport enUS from \"./i18n/en-US\";\r\nimport esCO from \"./i18n/es-CO\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { AgroPlatformUtils } from \"../common\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class LibTranslationService {\r\n private availableTranslations: { [key: string]: any } = {\r\n \"pt-BR\": ptBR,\r\n \"en-US\": enUS,\r\n \"es-CO\": esCO,\r\n };\r\n\r\n private currentTranslation: Record<string, any> = {};\r\n\r\n constructor() {\r\n this.setLang(\"pt-BR\");\r\n }\r\n\r\n getLangOfUser(): string {\r\n return AgroPlatformUtils.getCurrentTenantLocale() || \"pt-BR\";\r\n }\r\n\r\n setLang(lang: string): void {\r\n this.currentTranslation = this.availableTranslations[lang] || {};\r\n }\r\n\r\n public instant(key: string, interpolateParams?: { [key: string]: any }): string {\r\n let translation = this.currentTranslation[key] || key;\r\n\r\n if (interpolateParams) {\r\n Object.keys(interpolateParams).forEach((param) => {\r\n translation = translation.replace(new RegExp(`{${param}}`, \"g\"), interpolateParams[param]);\r\n });\r\n }\r\n\r\n return translation;\r\n }\r\n\r\n /**\r\n * Gets the translated value of a key (or an array of keys)\r\n * @returns the translated key, or an object of translated keys\r\n */\r\n get(key: string | Array<string>, interpolateParams?: Object): Observable<string | any> {\r\n if (Array.isArray(key)) {\r\n const translations: { [key: string]: string } = {};\r\n key.forEach((k) => {\r\n translations[k] = this.instant(k, interpolateParams);\r\n });\r\n return of(translations);\r\n } else {\r\n return of(this.instant(key, interpolateParams));\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { LibTranslationService } from '../services/lib-translation.service';\r\n\r\n@Pipe({\r\n name: 'libTranslate'\r\n})\r\nexport class LibTranslatePipe implements PipeTransform {\r\n\r\n constructor(\r\n private translateService: LibTranslationService\r\n ){}\r\n\r\n transform(value: unknown, ...args: unknown[]): string {\r\n if (args.length > 0) {\r\n return this.translateService.instant(value as string, args[0]);\r\n }\r\n return this.translateService.instant(value as string);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LibTranslatePipe } from './pipe/lib-translate.pipe';\r\nimport { LibTranslationService } from './services';\r\n\r\n@NgModule({\r\n declarations: [\r\n LibTranslatePipe\r\n ],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [LibTranslationService],\r\n exports: [\r\n LibTranslatePipe\r\n ]\r\n})\r\nexport class LibTranslationModule { }\r\n","import {\r\n ModuleWithProviders,\r\n NgModule,\r\n InjectionToken\r\n} from \"@angular/core\";\r\n\r\nexport const HostProjectConfigsInjectionToken = new InjectionToken<HostProjectConfigs>(\"hostProjectConfigs\");\r\n\r\nexport interface HostProjectConfigs {\r\n domain: string;\r\n service: string;\r\n}\r\n\r\n@NgModule({\r\n})\r\nexport class AgroAngularComponentsModule {\r\n static forRoot(config: HostProjectConfigs): ModuleWithProviders<AgroAngularComponentsModule> {\r\n return {\r\n ngModule: AgroAngularComponentsModule,\r\n providers: [\r\n {\r\n provide: HostProjectConfigsInjectionToken,\r\n useValue: config\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n","import { AbstractControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';\r\nimport { DateComparisonType } from '../enums/date-comparison-type.enum';\r\nimport { AGRO_REGEX } from '../common/agro-regex.constant';\r\nimport { NumberComparisonType } from '../enums/number-comparison-type.enum';\r\nimport { ObjectUtils } from '../common/agro-object-utils.class';\r\n\r\nexport class AgroFormValidator {\r\n\r\n /**\r\n * Validator para checar se o campo é um e-mail\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * EMAIL_FIELD: ['', [Validators.required, AgroFormValidator.emailValidator]]\r\n * });\r\n * @param control\r\n * @returns\r\n */\r\n public static emailValidator(control: AbstractControl): { [key: string]: any } | null {\r\n if (control.value && !AGRO_REGEX.isEmail.test(control.value)) {\r\n control.setErrors({ emailValidator: true });\r\n return { emailValidator: true };\r\n }\r\n control.setErrors(null);\r\n return null;\r\n }\r\n\r\n\r\n /**\r\n * Aplique esse validador em um campo do tipo Date, para verificar se a data selecionada é maior ou menor que a data atual.\r\n *\r\n * Utilize o parâmetro comparisonType para definir se a data selecionada deve ser maior ou menor que a data atual.\r\n * A validação será através do enum DateComparisonType.\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * NOME_CAMPO: ['', [Validators.required, AgroFormValidator.compareDateWithToday(DateComparisonType.greatherThan)]]\r\n * });\r\n * @param comparisonType\r\n * @returns\r\n */\r\n public static compareDateWithToday(comparisonType: DateComparisonType): ValidatorFn {\r\n const compareDate = (control: AbstractControl): { [key: string]: any } | null => {\r\n const methodName = 'dateComparisonToday';\r\n const selectedDate: Date = new Date(control.value);\r\n const currentDate: Date = new Date();\r\n\r\n const conditions = {\r\n [DateComparisonType.greatherThan]: selectedDate <= currentDate,\r\n [DateComparisonType.lessThan]: selectedDate >= currentDate\r\n };\r\n\r\n if (conditions[comparisonType]) {\r\n return { [methodName]: { value: control.value } };\r\n }\r\n\r\n return null;\r\n };\r\n return compareDate;\r\n }\r\n\r\n /**\r\n * Compara dois campos do tipo Date, verificando se o campo A é maior que o campo B. Se A for maior que B, então\r\n * o campo A é invalidado. Caso contrário, o campo A é validado.\r\n *\r\n * Aplique esse campo no FormGroup, passando os nomes dos campos que deseja comparar.\r\n * @example\r\n * this.myForm = this.fb.group({\r\n NOME_CAMPO_dateA: ['', Validators.required],\r\n NOME_CAMPO_dateB: ['', Validators.required]\r\n }, { validator: AgroFormValidator.dateComparisonValidator('NOME_CAMPO_dateA', 'NOME_CAMPO_dateB') });\r\n * @param controlNameA\r\n * @param controlNameB\r\n * @returns\r\n */\r\n public static compareDateWithOtherDateField(controlNameA: string, controlNameB: string): ValidatorFn {\r\n const compareDate = (control: AbstractControl): { [key: string]: any } | null => {\r\n const formGroup = control as FormGroup;\r\n const dateA = formGroup.get(controlNameA)?.value;\r\n const dateB = formGroup.get(controlNameB)?.value;\r\n const methodName = 'compareDateWithOtherDateField';\r\n if (dateA && dateB) {\r\n const dateAObj = new Date(dateA);\r\n const dateBObj = new Date(dateB);\r\n if (dateAObj < dateBObj) {\r\n formGroup.get(controlNameA)?.setErrors({ [methodName]: true });\r\n return { [methodName]: true };\r\n } else if (formGroup.get(controlNameA)?.hasError(methodName)) {\r\n formGroup.get(controlNameA)?.setErrors(null);\r\n }\r\n }\r\n return null;\r\n };\r\n return compareDate;\r\n }\r\n\r\n /**\r\n * Validator para checar se o campo é um número de telefone de acordo com uma máscara informada.\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * TELEFONE_FIELD: ['', [Validators.required, AgroFormValidator.phoneValidator('(99) 9999-9999')]]\r\n * });\r\n * @param mask\r\n * @returns\r\n */\r\n public static phoneValidator(mask: string): ValidatorFn {\r\n const phoneControlValidation = (control: AbstractControl): { [key: string]: any } | null => {\r\n const methodName = 'phoneValidator';\r\n const regex = new RegExp(`^${mask.replace(/9/g, '\\\\d').replace(/\\(/g, '\\\\(').replace(/\\)/g, '\\\\)').replace(/-/g, '\\\\-')}$`);\r\n if (control.value && !regex.test(control.value)) {\r\n control.setErrors({ [methodName]: true });\r\n return { [methodName]: true };\r\n }\r\n control.setErrors(null);\r\n return null;\r\n };\r\n return phoneControlValidation;\r\n }\r\n\r\n /**\r\n * Validator para checar se um campo de números é maior ou menor que outro campo.\r\n *\r\n * Aplique esse validator no FormGroup, passando os nomes dos campos que deseja comparar.\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * NUMERO_A: ['', Validators.required],\r\n * NUMERO_B: ['', Validators.required]\r\n * }, { validator: AgroFormValidator.compareNumberFields('NUMERO_A', 'NUMERO_B', NumberComparisonType.EQUALS) });\r\n *\r\n * Neste caso, a verificação será se o NUMERO_A é igual ao NUMERB_B.\r\n * @param controlNameA\r\n * @param controlNameB\r\n * @returns\r\n */\r\n public static compareNumberFields(controlNameA: string, controlNameB: string, comparisonMethod: NumberComparisonType): ValidatorFn {\r\n const compareNumber = (control: AbstractControl): { [key: string]: any } | null => {\r\n const formGroup = control as FormGroup;\r\n const numberA = formGroup.get(controlNameA)?.value;\r\n const numberB = formGroup.get(controlNameB)?.value;\r\n const methodName = 'compareNumberFields';\r\n if (numberA && numberB) {\r\n const errorType = NumberComparisonType[comparisonMethod];\r\n const errorCondition = {\r\n [NumberComparisonType.EQUALS]: numberA !== numberB,\r\n [NumberComparisonType.GREATER_THAN]: numberA <= numberB,\r\n [NumberComparisonType.LESS_THAN]: numberA >= numberB,\r\n [NumberComparisonType.GREATER_THAN_OR_EQUAL]: numberA < numberB,\r\n [NumberComparisonType.LESS_THAN_OR_EQUAL]: numberA > numberB,\r\n [NumberComparisonType.NOT_EQUALS]: numberA === numberB\r\n };\r\n\r\n if (errorCondition[comparisonMethod]) {\r\n const controlA = formGroup.get(controlNameA);\r\n if (controlA) {\r\n controlA.setErrors({ [methodName]: comparisonMethod });\r\n }\r\n return { [methodName]: errorType };\r\n } else if (formGroup.get(controlNameA)?.hasError(methodName)) {\r\n const controlA = formGroup.get(controlNameA);\r\n if (controlA) {\r\n controlA.setErrors(null);\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n return compareNumber;\r\n }\r\n\r\n /**\r\n * Validator para checar se um valor está entre os demais valores de três formControls.\r\n *\r\n * Aplique esse validator no FormGroup, passando os nomes dos três formControls que deseja comparar.\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * minorFormControl: ['', Validators.required],\r\n * targetFormControl: ['', Validators.required],\r\n * majorFormControl: ['', Validators.required]\r\n * }, { validator: AgroFormValidator.checkValueBetween('minorFormControl', 'targetFormControl', 'majorFormControl') });\r\n *\r\n * Neste caso, a verificação será se o targetFormControl está entre o minorFormControl e o majorFormControl.\r\n * @param minorFormControl\r\n * @param targetFormControl\r\n * @param majorFormControl\r\n * @returns\r\n */\r\n public static checkValueBetween(minorFormControl: string, targetFormControl: string, majorFormControl: string): ValidatorFn {\r\n const checkValue = (control: AbstractControl): { [key: string]: any } | null => {\r\n const formGroup = control as FormGroup;\r\n const valueA = formGroup.get(minorFormControl)?.value;\r\n const valueB = formGroup.get(targetFormControl)?.value;\r\n const valueC = formGroup.get(majorFormControl)?.value;\r\n const methodName = 'checkValueBetween';\r\n\r\n const areNumbers = [valueA, valueB, valueC].every(v => v !== null && v !== undefined);\r\n\r\n if (areNumbers) {\r\n if (valueB < valueA || valueB > valueC) {\r\n const targetControl = formGroup.get(targetFormControl);\r\n if (targetControl) {\r\n targetControl.setErrors({ [methodName]: true });\r\n }\r\n return { [methodName]: true };\r\n } else {\r\n const targetControl = formGroup.get(targetFormControl);\r\n if (targetControl?.hasError(methodName)) {\r\n const errors = { ...targetControl.errors };\r\n delete errors[methodName];\r\n targetControl.setErrors(Object.keys(errors).length ? errors : null);\r\n }\r\n }\r\n }\r\n return null;\r\n };\r\n return checkValue;\r\n }\r\n\r\n\r\n /**\r\n * Validator para checar se o campo é um objeto e se possui uma propriedade específica.\r\n *\r\n * @example\r\n * this.myForm = this.fb.group({\r\n * OBJETO_FIELD: ['', [Validators.required, AgroFormValidator.objectPropertyValidator('propriedade')]]\r\n * });\r\n * @param propertyName\r\n * @returns\r\n */\r\n public static objectPropertyValidator(propertyName: string): ValidatorFn {\r\n const objectProperty = (control: AbstractControl): { [key: string]: any } | null => {\r\n const methodName = 'objectProperty';\r\n if (ObjectUtils.isObject(control.value) && ObjectUtils.containsProperty(control.value, propertyName)) {\r\n control.setErrors(null);\r\n return null;\r\n }\r\n control.setErrors({ [methodName]: true });\r\n return { [methodName]: true };\r\n };\r\n return objectProperty;\r\n }\r\n\r\n /**\r\n * Valida se o campo é um CPF (Cadastro de Pessoa Física) válido.\r\n */\r\n public static CPFValidator(): ValidatorFn {\r\n const cpfVal = (control: AbstractControl): ValidationErrors | null => {\r\n const cpf = (control.value || '').replace(/[^\\d]/g, '');\r\n\r\n if (!cpf) {\r\n return null; // Não valida campo vazio, use Validators.required junto se quiser obrigatoriedade\r\n }\r\n\r\n if (cpf.length !== 11) {\r\n return { cpfValidator: true };\r\n }\r\n\r\n // Verifica se todos os dígitos são iguais (ex.: 11111111111)\r\n if (/^(\\d)\\1{10}$/.test(cpf)) {\r\n return { cpfValidator: true };\r\n }\r\n\r\n // Validação dos dígitos verificadores\r\n const calcCheckDigit = (cpfSlice: string, factor: number) => {\r\n let total = 0;\r\n for (const digit of cpfSlice) {\r\n total += parseInt(digit, 10) * factor--;\r\n }\r\n const remainder = total % 11;\r\n return remainder < 2 ? 0 : 11 - remainder;\r\n };\r\n\r\n const digit1 = calcCheckDigit(cpf.substring(0, 9), 10);\r\n const digit2 = calcCheckDigit(cpf.substring(0, 9) + digit1, 11);\r\n\r\n const isValid = digit1 === parseInt(cpf.charAt(9), 10) &&\r\n digit2 === parseInt(cpf.charAt(10), 10);\r\n\r\n return isValid ? null : { cpfValidator: true };\r\n };\r\n return cpfVal;\r\n }\r\n\r\n /**\r\n * Validator de CNPJ (Cadastro Nacional da Pessoa Jurídica).\r\n * @returns \r\n */\r\n public static CNPJValidator(): ValidatorFn {\r\n const cnpjVal = (control: AbstractControl): ValidationErrors | null => {\r\n const value = control.value?.replace(/\\D/g, '');\r\n\r\n if (!value || value.length !== 14) {\r\n return { cnpjValidator: true };\r\n }\r\n\r\n // Verifica CNPJs com todos os dígitos iguais (inválidos)\r\n if (/^(\\d)\\1{13}$/.test(value)) {\r\n return { cnpjValidator: true };\r\n }\r\n\r\n const validateCheckDigit = (cnpj: string, length: number): number => {\r\n const weights = length === 12\r\n ? [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2]\r\n : [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n\r\n const sum = cnpj\r\n .slice(0, length)\r\n .split('')\r\n .reduce((acc, digit, index) => {\r\n return acc + parseInt(digit, 10) * weights[index];\r\n }, 0);\r\n\r\n const remainder = sum % 11;\r\n return remainder < 2 ? 0 : 11 - remainder;\r\n };\r\n\r\n const firstCheckDigit = validateCheckDigit(value, 12);\r\n const secondCheckDigit = validateCheckDigit(value, 13);\r\n\r\n if (\r\n firstCheckDigit !== parseInt(value.charAt(12), 10) ||\r\n secondCheckDigit !== parseInt(value.charAt(13), 10)\r\n ) {\r\n return { cnpjValidator: true };\r\n }\r\n\r\n return null; // válido\r\n };\r\n return cnpjVal;\r\n }\r\n\r\n\r\n /**\r\n * Valida se a placa do veículo é válida.\r\n * @returns \r\n */\r\n public static licensePlateValidator(): ValidatorFn {\r\n const licensePlateVal = (control: AbstractControl): { [key: string]: any } | null => {\r\n const value = (control.value || '').toUpperCase().trim().replace(/-/g, '');\r\n if (!value) {\r\n return null; // Campo vazio não é responsabilidade desse validador\r\n }\r\n\r\n const isValid = AGRO_REGEX.isMercosulLicensePlate.test(value) ||\r\n AGRO_REGEX.isOldLicensePlate.test(value);\r\n\r\n return isValid ? null : { licensePlateInvalid: true };\r\n };\r\n return licensePlateVal;\r\n }\r\n\r\n\r\n\r\n}","import { DecimalPipe } from \"@angular/common\";\r\nimport { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"kilogram\",\r\n})\r\nexport class KilogramPipe implements PipeTransform {\r\n constructor(private readonly decimalPipe: DecimalPipe) {}\r\n\r\n transform(value: number, format = \"1.3-3\", kgCaseInsensitive: \"UPPER\" | \"LOWER\" = \"UPPER\"): string {\r\n if (value == null || isNaN(value)) {\r\n return \"\";\r\n }\r\n let str = this.decimalPipe.transform(value, format);\r\n const kgStr = \"kg\";\r\n if (!str) {\r\n console.info(\"Formato do peso inválido para transformação\");\r\n return \"\";\r\n }\r\n\r\n str = str.replace(/,/g, \".\");\r\n\r\n return `${this.replaceLastDotWithComma(str)} ${kgCaseInsensitive === \"UPPER\" ? kgStr.toUpperCase() : kgStr.toLowerCase()}`;\r\n }\r\n\r\n private replaceLastDotWithComma(value: string): string {\r\n const lastDotIndex = value.lastIndexOf(\".\");\r\n if (lastDotIndex === -1) {\r\n return value;\r\n }\r\n return `${value.substring(0, lastDotIndex)},${value.substring(lastDotIndex + 1)}`;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { KilogramPipe } from './kilogram.pipe';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [KilogramPipe],\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: [KilogramPipe]\r\n})\r\nexport class KilogramModule { }\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AgroStringUtils } from \"../../common\";\r\nimport { AgroStringMasks } from \"../../enums\";\r\n\r\n@Pipe({\r\n name: \"cnpjCpf\",\r\n})\r\nexport class CnpjCpfPipe implements PipeTransform {\r\n transform(value: unknown, ...args: unknown[]): unknown {\r\n if (typeof value !== \"string\" && typeof value === \"number\") {\r\n value = value?.toString();\r\n }\r\n\r\n if (typeof value !== \"string\") {\r\n return value;\r\n }\r\n\r\n if (AgroStringUtils.validateCNPJ(value)) {\r\n return AgroStringUtils.applyMask(value, AgroStringMasks.CNPJ);\r\n }\r\n\r\n if (AgroStringUtils.validateCPF(value)) {\r\n return AgroStringUtils.applyMask(value, AgroStringMasks.CPF);\r\n }\r\n return value;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CnpjCpfPipe } from \"./cnpj-cpf.pipe\";\r\n\r\n@NgModule({\r\n declarations: [CnpjCpfPipe],\r\n imports: [CommonModule],\r\n exports: [CnpjCpfPipe],\r\n})\r\nexport class CnpjCpfPipeModule {}\r\n","import { PipeTransform } from \"@angular/core\";\r\nimport { AgroStringUtils } from \"./agro-string-utils.class\";\r\n\r\nexport type UsePipes = {\r\n [key: string]: PipeTransform | string;\r\n};\r\n\r\nexport class AgroObjectStringifier {\r\n /**\r\n * Formata um objeto concatenando valores segundo as chaves e pipes informados.\r\n *\r\n * @param separator Separador entre os valores (ex: \"-\")\r\n * @param fields Campos a extrair. Podem conter subpropriedades (\"propriedade.subPropriedade\") e pipes (\"propriedade|nomeDaPipe:arg1:arg2\")\r\n * @param obj Objeto origem\r\n */\r\n static formatObject(separator: string, fields: string[], obj: any, usePipes?: UsePipes): string {\r\n function mapField(field: string): string {\r\n const value = AgroObjectStringifier.resolvePath(obj, field);\r\n if (usePipes?.hasOwnProperty(field)) {\r\n\r\n if (AgroStringUtils.isString(usePipes[field])) {\r\n return (usePipes[field] as string).toString();\r\n }\r\n return (usePipes[field] as PipeTransform).transform(value);\r\n\r\n }\r\n return value ?? \"\";\r\n }\r\n\r\n function filterValid(v: string | number): boolean {\r\n return typeof v === \"number\" || AgroStringUtils.isValid(v);\r\n }\r\n\r\n return fields.map(mapField).filter(filterValid).join(` ${separator} `);\r\n }\r\n\r\n /** Resolve um caminho tipo \"empresa.cargo\" dentro de um objeto */\r\n private static resolvePath(obj: any, path: string): any {\r\n function reducer(acc: any, key: string): any {\r\n return acc?.[key];\r\n }\r\n return path.split(\".\").reduce(reducer, obj);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AgroObjectStringifier, UsePipes } from \"../../common/agro-object-stringifier.class\";\r\n\r\ntype AnyObject = { [key: string]: any };\r\n\r\n@Pipe({ name: \"stringifier\" })\r\nexport class StringifierPipe implements PipeTransform {\r\n transform(value: AnyObject, separator: string, paths: string[], pipes?: UsePipes): string {\r\n return AgroObjectStringifier.formatObject(separator, paths, value, pipes);\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { StringifierPipe } from \"./stringifier.pipe\";\r\n\r\n@NgModule({\r\n declarations: [StringifierPipe],\r\n imports: [CommonModule],\r\n exports: [StringifierPipe],\r\n})\r\nexport class StringifierPipeModule {}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { AGRO_NUMBERS } from \"../../enums/agro-numbers.enum\";\r\n\r\n@Pipe({ name: \"telephone\" })\r\nexport class TelephonePipe implements PipeTransform {\r\n /**\r\n * Transforma um número de telefone aplicando máscara automaticamente.\r\n * @param value Valor do telefone.\r\n * @param withDDI Define se deve forçar formatação com DDI (mesmo que não exista).\r\n */\r\n transform(value: string | number, withDDI = false): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const digits = this.cleanDigits(value);\r\n if (!digits) {\r\n return value.toString();\r\n }\r\n\r\n const { ddi, ddd, number } = this.extractParts(digits, withDDI);\r\n return this.formatPhone(ddi, ddd, number, value.toString(), withDDI);\r\n }\r\n\r\n /** Remove todos os caracteres não numéricos */\r\n private cleanDigits(value: string | number): string {\r\n return value.toString().replace(/\\D+/g, \"\");\r\n }\r\n\r\n /** Extrai DDI, DDD e número, considerando se deve aplicar DDI forçado */\r\n private extractParts(digits: string, withDDI: boolean): { ddi: string; ddd: string; number: string } {\r\n const len = digits.length;\r\n\r\n if (withDDI) {\r\n return this.extractWithDDI(digits);\r\n }\r\n\r\n if (len <= AGRO_NUMBERS.NINE) {\r\n return { ddi: \"\", ddd: \"\", number: digits };\r\n }\r\n\r\n if (len <= AGRO_NUMBERS.ELEVEN) {\r\n return this.extractWithDDD(digits);\r\n }\r\n\r\n return this.extractWithDDI(digits);\r\n }\r\n\r\n /** Extrai DDD e número (sem DDI) */\r\n private extractWithDDD(digits: string): { ddi: string; ddd: string; number: string } {\r\n const ddd = digits.slice(0, 2);\r\n const number = digits.slice(2);\r\n return { ddi: \"\", ddd, number };\r\n }\r\n\r\n /** Extrai DDI, DDD e número */\r\n private extractWithDDI(digits: string): { ddi: string; ddd: string; number: string } {\r\n const len = digits.length;\r\n\r\n let ddiLen = AGRO_NUMBERS.ONE;\r\n if (len >= AGRO_NUMBERS.FOURTEEN) {\r\n ddiLen = AGRO_NUMBERS.THREE;\r\n }\r\n if (len >= AGRO_NUMBERS.TWELVE) {\r\n ddiLen = AGRO_NUMBERS.TWO;\r\n }\r\n\r\n const ddi = digits.slice(AGRO_NUMBERS.ZERO, ddiLen);\r\n const ddd = digits.slice(ddiLen, ddiLen + AGRO_NUMBERS.TWO);\r\n const number = digits.slice(ddiLen + AGRO_NUMBERS.TWO);\r\n return { ddi, ddd, number };\r\n }\r\n\r\n /** Monta o número formatado */\r\n private formatPhone(ddi: string, ddd: string, number: string, fallback: string, withDDI: boolean): string {\r\n if (!number) {\r\n return fallback;\r\n }\r\n\r\n let formatted = \"\";\r\n\r\n if (withDDI || ddi) {\r\n formatted += `+${ddi || \"55\"} `;\r\n }\r\n if (ddd) {\r\n formatted += `(${ddd}) `;\r\n }\r\n\r\n formatted += this.formatNumber(number);\r\n return formatted;\r\n }\r\n\r\n /** Aplica máscara de 8 ou 9 dígitos */\r\n private formatNumber(number: string): string {\r\n const len = number.length;\r\n if (len === AGRO_NUMBERS.NINE) {\r\n return `${number.slice(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.FIVE)}-${number.slice(AGRO_NUMBERS.FIVE)}`;\r\n }\r\n if (len === AGRO_NUMBERS.EIGHT) {\r\n return `${number.slice(AGRO_NUMBERS.ZERO, AGRO_NUMBERS.FOUR)}-${number.slice(AGRO_NUMBERS.FOUR)}`;\r\n }\r\n return number;\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { TelephonePipe } from \"./telephone.pipe\";\r\n\r\n@NgModule({\r\n declarations: [TelephonePipe],\r\n imports: [CommonModule],\r\n exports: [TelephonePipe],\r\n})\r\nexport class TelephonePipeModule {}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { ConfirmDialogModule } from \"primeng/confirmdialog\";\r\nimport { PanelModule } from \"primeng/panel\";\r\nimport { TabViewModule } from \"primeng/tabview\";\r\nimport { CurrencyMaskModule } from \"@seniorsistemas/ng2-currency-mask\";\r\nimport { InputTextModule } from \"primeng/inputtext\";\r\nimport { CheckboxModule } from \"primeng/checkbox\";\r\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\r\nimport { CalendarModule } from \"primeng/calendar\";\r\nimport { DropdownModule } from \"primeng/dropdown\";\r\nimport { SharedModule as PrimeSharedModule } from \"primeng/api\";\r\nimport {\r\n CustomFieldsModule,\r\n ControlErrorsModule,\r\n EmptyStateModule,\r\n DynamicFormModule,\r\n TokenListModule,\r\n LoadingStateModule,\r\n NumberInputModule,\r\n TableModule,\r\n ObjectCardModule,\r\n ButtonModule,\r\n SidebarModule,\r\n} from \"@seniorsistemas/angular-components\";\r\nimport { HotkeyModule } from \"angular2-hotkeys\";\r\nimport { CyclicJsonInterceptorModule, HttpInterceptorModule } from \"@seniorsistemas/platform-components\";\r\n\r\n@NgModule({\r\n exports: [\r\n CommonModule,\r\n FormsModule,\r\n ButtonModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n CurrencyMaskModule,\r\n CustomFieldsModule,\r\n ControlErrorsModule,\r\n EmptyStateModule,\r\n DynamicFormModule,\r\n TokenListModule,\r\n PanelModule,\r\n InputTextModule,\r\n ButtonModule,\r\n CheckboxModule,\r\n PrimeTableModule,\r\n ConfirmDialogModule,\r\n CalendarModule,\r\n DropdownModule,\r\n TabViewModule,\r\n PrimeSharedModule,\r\n SidebarModule,\r\n HotkeyModule,\r\n LoadingStateModule,\r\n NumberInputModule,\r\n CyclicJsonInterceptorModule,\r\n HttpInterceptorModule,\r\n TableModule,\r\n ObjectCardModule,\r\n ],\r\n})\r\nexport class SharedModule {}\r\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport { Component, EventEmitter, Input, Output } from \"@angular/core\";\r\n\r\nexport enum StepState {\r\n Default = \"default\",\r\n Success = \"success\",\r\n Warning = \"warning\",\r\n}\r\n\r\nexport interface Step {\r\n idEvent: string;\r\n idItem: string;\r\n label: string;\r\n subLabel?: string;\r\n ariaLabel?: string;\r\n ariaControls?: string;\r\n state?: StepState;\r\n disabled?: boolean;\r\n hidden?: boolean;\r\n tooltip?: string;\r\n}\r\n\r\nexport interface StepSelectionEvent {\r\n step: Step;\r\n index: number;\r\n event: any;\r\n}\r\n\r\nconst leftBottom = \"left bottom\";\r\nconst rightBottom = \"right bottom\";\r\nconst activeDesactive = \"active => desactive\";\r\nconst desactiveActive = \"desactive => active\";\r\n\r\n@Component({\r\n selector: \"s-event-steps\",\r\n templateUrl: \"./event-steps.component.html\",\r\n styleUrls: [\"./event-steps.component.scss\"],\r\n host: {\r\n \"aria-orientation\": \"horizontal\",\r\n role: \"tablist\",\r\n \"tab-index\": \"0\",\r\n },\r\n animations: [\r\n trigger(\"beforeActiveDesative\", [\r\n state(\r\n \"active\",\r\n style({\r\n \"background-position\": leftBottom,\r\n })\r\n ),\r\n state(\r\n \"desactive\",\r\n style({\r\n \"background-position\": rightBottom,\r\n })\r\n ),\r\n transition(activeDesactive, [animate(\"50ms 100ms linear\")]),\r\n transition(desactiveActive, [animate(\"50ms 250ms linear\")]),\r\n ]),\r\n trigger(\"activeDesative\", [\r\n state(\r\n \"active\",\r\n style({\r\n \"background-position\": leftBottom,\r\n })\r\n ),\r\n state(\r\n \"desactive\",\r\n style({\r\n \"background-position\": rightBottom,\r\n })\r\n ),\r\n transition(activeDesactive, [animate(\"100ms 150ms linear\")]),\r\n transition(desactiveActive, [animate(\"100ms 150ms linear\")]),\r\n ]),\r\n trigger(\"afterActiveDesative\", [\r\n state(\r\n \"active\",\r\n style({\r\n \"background-position\": leftBottom,\r\n })\r\n ),\r\n state(\r\n \"desactive\",\r\n style({\r\n \"background-position\": rightBottom,\r\n })\r\n ),\r\n transition(activeDesactive, [animate(\"50ms 250ms linear\")]),\r\n transition(desactiveActive, [animate(\"50ms 100ms linear\")]),\r\n ]),\r\n ],\r\n})\r\nexport class EventStepsComponent {\r\n public static nextId = 0;\r\n\r\n @Input()\r\n public id: string;\r\n @Input()\r\n public steps!: Step[];\r\n @Input()\r\n public activeIndex = 0;\r\n\r\n @Output()\r\n public stepSelected: EventEmitter<StepSelectionEvent> = new EventEmitter();\r\n\r\n constructor() {\r\n EventStepsComponent.nextId += 1;\r\n this.id = `s-steps-${EventStepsComponent.nextId}`;\r\n }\r\n\r\n public stepClick(step: Step, index: number, event: any) {\r\n if (step.disabled) {\r\n return;\r\n }\r\n this.stepSelected.emit({ step, index, event });\r\n }\r\n\r\n public get stepState() {\r\n return StepState;\r\n }\r\n\r\n public barAnimation(index: number, activeIndex: number): boolean {\r\n const visited = index < activeIndex;\r\n const activated = index === activeIndex;\r\n return visited || activated;\r\n }\r\n\r\n public afterBarAnimation(index: number, activeIndex: number): boolean {\r\n const visited = index < activeIndex;\r\n const activated = index === activeIndex - 1;\r\n return visited || activated;\r\n }\r\n\r\n get visibledStep() {\r\n return this.steps.filter((step: Step) => !step.hidden);\r\n }\r\n}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { EventStepsComponent } from \"./event-steps.component\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, TooltipModule],\r\n declarations: [EventStepsComponent],\r\n exports: [EventStepsComponent],\r\n})\r\nexport class EventStepsModule {}\r\n","const moment = require(\"moment\");\r\n\r\nimport { ProducerInvoiceDto } from \"./producer-invoice-dto\";\r\nimport { Origination } from \"../../components/event-control-board/service/origination/origination\";\r\nimport { RuralEstate } from \"../../components/event-control-board/service/rural-estate/rural-estate\";\r\nimport { E001pes } from \"../../components/event-control-board/service/e001pes/e001pes\";\r\nimport { ExternalInvoice } from \"../../components/event-control-board/service/external-invoice/external-invoice\";\r\nimport { Invoice } from \"../../components/event-control-board/service/invoice/invoice\";\r\n\r\nexport class ProducerInvoice {\r\n public id?: string;\r\n public balanceEntryControl!: Origination;\r\n public ruralEstate!: RuralEstate;\r\n public e001pes!: E001pes;\r\n public externalInvoices!: ExternalInvoice[];\r\n public weight!: number;\r\n public percentage!: number;\r\n public invoiceErpxId?: string;\r\n public invoice?: Invoice;\r\n public provisionalId?: string;\r\n public effectiveId?: string;\r\n public isMainProducer?: boolean;\r\n public createdBy?: string;\r\n public createdDate?: Date;\r\n public lastModifiedBy?: string;\r\n public lastModifiedDate?: Date;\r\n public custom?: any;\r\n\r\n public static fromDto(producerInvoiceDto: ProducerInvoiceDto, originEntity?: string): ProducerInvoice {\r\n const model: any = { ...producerInvoiceDto };\r\n\r\n model.createdDate = model.createdDate && moment(model.createdDate).toDate();\r\n model.lastModifiedDate = model.lastModifiedDate && moment(model.lastModifiedDate).toDate();\r\n\r\n const lookupSeparator = \" - \";\r\n const displayFields = [\r\n \"id\",\r\n \"weight\",\r\n \"percentage\",\r\n \"invoiceErpxId\",\r\n \"provisionalId\",\r\n \"effectiveId\",\r\n \"isMainProducer\",\r\n \"createdBy\",\r\n \"createdDate\",\r\n \"lastModifiedBy\",\r\n \"lastModifiedDate\",\r\n ];\r\n\r\n model.label = displayFields.map((field) => model[field]).join(lookupSeparator);\r\n\r\n return model as ProducerInvoice;\r\n }\r\n\r\n public static toDto(producerInvoice: ProducerInvoice, originEntity?: string): ProducerInvoiceDto {\r\n const dto: any = { ...producerInvoice };\r\n\r\n dto.createdDate = dto.createdDate && moment(dto.createdDate).format();\r\n dto.lastModifiedDate = dto.lastModifiedDate && moment(dto.lastModifiedDate).format();\r\n\r\n delete dto.label;\r\n\r\n return dto;\r\n }\r\n}\r\n","import { HttpParams, HttpClient } from '@angular/common/http';\r\nimport { MessageService, SortMeta } from 'primeng';\r\nimport { LibTranslationService } from './lib-translation.service';\r\nimport { throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nexport class AgroEntityService<T> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected entityUrl: string,\r\n protected actionsUrl: string,\r\n protected queriesUrl: string,\r\n protected translate: LibTranslationService\r\n ) {\r\n this.http = http;\r\n this.messageService = messageService;\r\n this.entityUrl = entityUrl;\r\n this.actionsUrl = actionsUrl;\r\n this.queriesUrl = queriesUrl;\r\n this.translate = translate;\r\n\r\n this.defaultCatch = this.defaultCatch.bind(this);\r\n }\r\n\r\n public getListQueryParams(listParams: ListParams) {\r\n const ten = 10;\r\n const { page = 0, size = ten, sort = [], filterQuery = '', displayFields = [] } = listParams;\r\n\r\n let params = new HttpParams();\r\n params = params.append('size', String(size));\r\n params = params.append('offset', String(page));\r\n\r\n if (sort?.length) {\r\n params = params.append('orderby', sort.map(this.getBodyFilters()).join(', '));\r\n }\r\n\r\n if (filterQuery) {\r\n params = params.append('filter', filterQuery);\r\n }\r\n\r\n if (displayFields?.length) {\r\n params = params.append('displayfields', displayFields.join());\r\n }\r\n\r\n return params;\r\n }\r\n\r\n private getBodyParams(listParams: ListParams): BodyParams {\r\n const ten = 10;\r\n const { page = 0, size = ten, sort = [], filterQuery = '', displayFields = [] } = listParams;\r\n const bodyParams: BodyParams = {};\r\n\r\n bodyParams.size = size;\r\n bodyParams.offset = page;\r\n\r\n if (sort?.length) {\r\n bodyParams.orderBy = sort.map(this.getBodyFilters()).join(', ');\r\n }\r\n\r\n if (filterQuery) {\r\n bodyParams.filter = filterQuery;\r\n }\r\n\r\n if (displayFields?.length) {\r\n bodyParams.displayfields = displayFields.join();\r\n }\r\n\r\n return bodyParams;\r\n }\r\n\r\n private getBodyFilters(): (value: SortMeta, index: number, array: SortMeta[]) => string {\r\n return (s) => {\r\n let order = '';\r\n if (s.order === 1) {\r\n order = ' asc';\r\n }\r\n if (s.order === -1) {\r\n order = ' desc';\r\n }\r\n return `${s.field}${order}`;\r\n };\r\n }\r\n\r\n public defaultCatch(errorMsgs: ErrorMessage[] = []) {\r\n const unauthorized401 = 401;\r\n errorMsgs = [...errorMsgs];\r\n const zero = 0;\r\n return catchError((err: any) => {\r\n if (err) {\r\n const errorMessage = errorMsgs.find((eMsg) => eMsg.status === err?.status || zero);\r\n let summary = err.status ? String(err.status) : 'Error';\r\n let detail = this.getErrorMessage(err);\r\n\r\n if (err.status === unauthorized401) {\r\n summary = this.translate.instant('agro.angular_components.error_unauthorized_title');\r\n detail = this.translate.instant('agro.angular_components.error_unauthorized_description');\r\n }\r\n\r\n if (errorMessage) {\r\n summary = errorMessage.summary ? this.translate.instant(errorMessage.summary) : summary;\r\n detail = errorMessage.detail ? this.translate.instant(errorMessage.detail) : detail;\r\n }\r\n\r\n this.messageService.add({\r\n severity: 'error',\r\n summary,\r\n detail,\r\n });\r\n }\r\n\r\n return throwError(err);\r\n });\r\n }\r\n\r\n public getErrorMessage(err: any) {\r\n if (err?.error?.message) {\r\n return err.error.message;\r\n }\r\n if (err.statusText) {\r\n return err.statusText;\r\n }\r\n if (err.message) {\r\n return err.message;\r\n }\r\n return 'Error';\r\n }\r\n\r\n public list(listParams: ListParams, errorMessage: ErrorMessage[] = []) {\r\n return this.http\r\n .get<T[]>(this.entityUrl, { params: this.getListQueryParams(listParams) })\r\n .pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public get(id: any, errorMessage: ErrorMessage[] = []) {\r\n return this.http.get<T>(`${this.entityUrl}/${id}`).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public insert(entity: T, errorMessage: ErrorMessage[] = []) {\r\n return this.http.post<T>(`${this.entityUrl}`, entity).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public update(id: any, entity: T, errorMessage: ErrorMessage[] = []) {\r\n return this.http.put<T>(`${this.entityUrl}/${id}`, entity).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public delete(id: any, errorMessage: ErrorMessage[] = []) {\r\n return this.http.delete<T>(`${this.entityUrl}/${id}`).pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public listCustomFilter(listParams: ListParams, action: string, errorMessage: ErrorMessage[] = []) {\r\n return this.http\r\n .post<T[]>(`${this.actionsUrl}/${action}`, this.getBodyParams(listParams))\r\n .pipe(this.defaultCatch(errorMessage));\r\n }\r\n\r\n public insertBulk(entities: T[]) {\r\n const body = entities ? { entities } : {};\r\n return this.http.post<T[]>(`${this.entityUrl}/bulk`, body).pipe(this.defaultCatch());\r\n }\r\n}\r\n\r\nexport interface PayloadRequest {\r\n search: RecFiltrosMensagemInfo;\r\n pageRequest: RecPageRequest;\r\n}\r\n\r\nexport interface RecFiltrosMensagemInfo {\r\n titulo: string;\r\n conteudo: string;\r\n}\r\n\r\nexport interface PayloadRequestGrupo {\r\n search: RecFiltrosGrupoProdutor;\r\n pageRequest: RecPageRequest;\r\n}\r\n\r\nexport interface RecFiltrosGrupoProdutor {\r\n nome: string;\r\n}\r\n\r\nexport interface RecPageRequest {\r\n offset: number;\r\n size: number;\r\n}\r\n\r\nexport interface ListParams {\r\n page?: number;\r\n size?: number;\r\n sort?: SortMeta[];\r\n filterQuery?: string;\r\n displayFields?: string[];\r\n}\r\n\r\nexport interface BodyParams {\r\n offset?: number;\r\n size?: number;\r\n orderBy?: string;\r\n filter?: string;\r\n displayfields?: string;\r\n}\r\n\r\nexport interface ErrorMessage {\r\n status: number;\r\n summary: string;\r\n detail?: string;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from '../lib-translation.service';\r\nimport { ProducerInvoiceDto } from './producer-invoice-dto';\r\nimport { AgroEntityService } from '../agro-entity-service';\r\nimport { AGRO_NUMBERS } from '../../enums/agro-numbers.enum';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport interface ProducerInvoiceTotalizers {\r\n invoiceId: string;\r\n totalLinked: number;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProducerInvoiceService extends AgroEntityService<ProducerInvoiceDto> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/producerInvoice`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public async getTotalLinkedInInvoices(\r\n invoiceId: string[],\r\n fixationId: string\r\n ): Promise<ProducerInvoiceTotalizers[]> {\r\n const filter =\r\n `fixationItem.fixation.id eq '${fixationId}' ` + `and invoiceId in ('${invoiceId.join(\"','\")}') `;\r\n return new Promise<ProducerInvoiceTotalizers[]>((resolve, reject) => {\r\n this.list({\r\n filterQuery: filter,\r\n size: AGRO_NUMBERS.ONE_HUNDRED,\r\n }).subscribe({\r\n next: (data: any) => {\r\n const invoiceList = data.contents;\r\n const producerInvoice = new Map<string, number>();\r\n if (invoiceList.length) {\r\n invoiceList.forEach((invoice: any) => {\r\n producerInvoice.set(\r\n invoice.invoiceId,\r\n (producerInvoice.get(invoice.invoiceId) ?? 0) + invoice.linkedValue\r\n );\r\n });\r\n }\r\n resolve(\r\n Array.from(producerInvoice.entries()).map(([key, value]) => {\r\n return {\r\n invoiceId: key,\r\n totalLinked: value,\r\n };\r\n })\r\n );\r\n },\r\n error: (err) => reject(new Error(typeof err === 'string' ? err : JSON.stringify(err))),\r\n });\r\n });\r\n }\r\n\r\n public deleteAllProducerInvoice(fixationId: string): Observable<any> {\r\n return this.http.post(`${this.actionsUrl}/deleteAllProducerInvoice`, { fixationId }).pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { ButtonPriority, FieldType, FormField } from \"@seniorsistemas/angular-components\";\r\nimport { DynamicDialogConfig, DynamicDialogRef } from \"primeng\";\r\nimport { Subject } from \"rxjs\";\r\nimport { LibTranslationService } from \"../../services/lib-translation.service\";\r\nimport { CancelEventDialogConfig } from \"./cancel-event-dialog-config\";\r\nimport { AGRO_NUMBERS } from \"../../enums/agro-numbers.enum\";\r\n\r\n@Component({\r\n selector: \"s-cancel-event-dialog\",\r\n templateUrl: \"./cancel-event-dialog.component.html\",\r\n styleUrls: [\"./cancel-event-dialog.component.scss\"],\r\n})\r\nexport class CancelEventDialogComponent implements OnInit, OnDestroy {\r\n\r\n\r\n @Input()\r\n public cancelEventDialogConfig: CancelEventDialogConfig;\r\n public formGroup: FormGroup;\r\n public formFields: FormField[];\r\n public transferId: string;\r\n public loading = false;\r\n public reasonMinLength = AGRO_NUMBERS.FIFTEEN;\r\n public translations: any;\r\n\r\n private ngUnsubscribe = new Subject();\r\n private readonly cpSize = {\r\n sm: 12,\r\n md: AGRO_NUMBERS.TWELVE,\r\n lg: AGRO_NUMBERS.TWELVE,\r\n xl: AGRO_NUMBERS.TWELVE,\r\n };\r\n\r\n public priority = ButtonPriority;\r\n\r\n\r\n constructor(\r\n private readonly formBuilder: FormBuilder,\r\n public config: DynamicDialogConfig,\r\n public ref: DynamicDialogRef,\r\n private readonly translate: LibTranslationService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.setFormGroup();\r\n this.setFormFields();\r\n this.setDataConfigDialog();\r\n this.setTranslations();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n }\r\n\r\n private setFormGroup() {\r\n this.formGroup = this.formBuilder.group({\r\n reason: [{ value: null, disabled: false }, Validators.compose([Validators.required, Validators.minLength(this.reasonMinLength)])],\r\n });\r\n }\r\n\r\n private setFormFields() {\r\n this.formFields = [\r\n new FormField({\r\n name: \"reason\",\r\n label: this.translate.instant(\"agro.angular_components.cancel_reason\"),\r\n type: FieldType.String,\r\n multiple: false,\r\n required: () => true,\r\n size: this.cpSize,\r\n maxLength: AGRO_NUMBERS.ONE_HUNDRED,\r\n }),\r\n ];\r\n }\r\n\r\n private setDataConfigDialog() {\r\n this.cancelEventDialogConfig = this.config.data?.cancelEventDialogConfig ?? {} as CancelEventDialogConfig;\r\n this.reasonMinLength = this.cancelEventDialogConfig?.reasonMinLength ?? AGRO_NUMBERS.FIFTEEN;\r\n }\r\n\r\n private setTranslations() {\r\n this.translations = {\r\n required: this.translate.instant(\"agro.angular_components.error_required\"),\r\n min: this.translate.instant(\"agro.angular_components.error_min_value\"),\r\n max: this.translate.instant(\"agro.angular_components.error_max_value\"),\r\n minlength: this.translate.instant(\"agro.angular_components.error_min_length\", { valor: this.reasonMinLength }),\r\n maxlength: this.translate.instant(\"agro.angular_components.error_max_length_transfer_code\"),\r\n pattern: this.translate.instant(\"agro.angular_components.error_invalid\"),\r\n FormDateError_data1: this.translate.instant(\"agro.angular_components.initial_invalid_date\"),\r\n FormDateError_data2: this.translate.instant(\"agro.angular_components.end_invalid_date\"),\r\n };\r\n }\r\n\r\n\r\n\r\n public async handleConfirmClick() {\r\n if (this.formGroup.invalid && this.cancelEventDialogConfig?.withReason) {\r\n this.validateAllFormFields(this.formGroup);\r\n return;\r\n }\r\n const reason = this.formGroup.get(\"reason\")?.value;\r\n this.loading = true;\r\n await this.cancelEventDialogConfig.cancelFunction(reason);\r\n this.loading = false;\r\n this.ref.close(true);\r\n }\r\n\r\n private validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach((field) => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsDirty({ onlySelf: true });\r\n }\r\n if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n public handleCancelClick() {\r\n this.ref.close();\r\n }\r\n}","export enum EventOperation {\r\n PROVISIONAL = \"PROVISIONAL\",\r\n EFFECTIVE = \"EFFECTIVE\",\r\n TICKET = \"TICKET\",\r\n CREATE_INVOICE = \"CREATE_INVOICE\",\r\n INVOICE_CLOSE_INVOICE = \"INVOICE_CLOSE_INVOICE\",\r\n EFFECTIVE_CONFIRMATION = \"EFFECTIVE_CONFIRMATION\",\r\n REMOVE_PROVISIONAL = \"REMOVE_PROVISIONAL\",\r\n CHANGE_REQUEST = \"CHANGE_REQUEST\",\r\n CHANGE_RESPONSE = \"CHANGE_RESPONSE\",\r\n PROCESS_FIXATION = \"PROCESS_FIXATION\",\r\n CANCEL_INVOICE = \"CANCEL_INVOICE\",\r\n REPROCESS_INVOICE = \"REPROCESS_INVOICE\",\r\n TRANSFER_CREATE_INCOMING_INVOICE = \"TRANSFER_CREATE_INCOMING_INVOICE\",\r\n TRANSFER_CREATE_OUTGOING_INVOICE = \"TRANSFER_CREATE_OUTGOING_INVOICE\",\r\n TRANSFER_PRODUCER_BALANCE = \"TRANSFER_PRODUCER_BALANCE\",\r\n FINISH_FINANCIAL_FIXATION = \"FINISH_FINANCIAL_FIXATION\",\r\n FINISH_PRODUCER_NET_VALUE_FIXATION = \"FINISH_PRODUCER_NET_VALUE_FIXATION\",\r\n CONCLUDE_FIXATION = \"CONCLUDE_FIXATION\",\r\n CANCEL_FINANCIAL_FIXATION = \"CANCEL_FINANCIAL_FIXATION\",\r\n CANCEL_PRODUCER_NET_VALUE_FIXATION = \"CANCEL_PRODUCER_NET_VALUE_FIXATION\",\r\n CANCEL_FIXATION = \"CANCEL_FIXATION\",\r\n TRANSFER_CANCEL_INCOMING_INVOICE = \"TRANSFER_CANCEL_INCOMING_INVOICE\",\r\n TRANSFER_CANCEL_OUTGOING_INVOICE = \"TRANSFER_CANCEL_OUTGOING_INVOICE\",\r\n TRANSFER_REVERSE_PRODUCER_BALANCE = \"TRANSFER_REVERSE_PRODUCER_BALANCE\",\r\n TRANSFER_CONCLUDE_CANCEL = \"TRANSFER_CONCLUDE_CANCEL\",\r\n CREATE_INVOICE_FIXATION = \"CREATE_INVOICE_FIXATION\",\r\n CANCEL_INVOICE_FIXATION = \"CANCEL_INVOICE_FIXATION\",\r\n CLOSE_INVOICE_FIXATION = \"CLOSE_INVOICE_FIXATION\",\r\n ORIGINATION_CREATE_EFFECTIVE_BALANCE = \"ORIGINATION_CREATE_EFFECTIVE_BALANCE\",\r\n ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION = \"ORIGINATION_CREATE_EFFECTIVE_CONFIRMATION\",\r\n ORIGINATION_CREATE_INVOICE = \"ORIGINATION_CREATE_INVOICE\",\r\n ORIGINATION_CREATE_PROVISIONAL_BALANCE = \"ORIGINATION_CREATE_PROVISIONAL_BALANCE\",\r\n CLOSE_INVOICE_TRANSFER = \"CLOSE_INVOICE_TRANSFER\",\r\n REOPEN_INVOICE_TRANSFER = \"REOPEN_INVOICE_TRANSFER\",\r\n TRANSFER_CREATE_FINANCIAL_TITLE = \"TRANSFER_CREATE_FINANCIAL_TITLE\",\r\n TRANSFER_CANCEL_FINANCIAL_TITLE = \"TRANSFER_CANCEL_FINANCIAL_TITLE\",\r\n TRANSFER_CREATE_SERVICE_INVOICE = \"TRANSFER_CREATE_SERVICE_INVOICE\",\r\n TRANSFER_CANCEL_SERVICE_INVOICE = \"TRANSFER_CANCEL_SERVICE_INVOICE\",\r\n REOPEN_INVOICE_FIXATION = \"REOPEN_INVOICE_FIXATION\",\r\n PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE = \"PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE\",\r\n PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE = \"PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE\",\r\n PRESCRIPTION_DATA_LOAD_FORMULATION = \"PRESCRIPTION_DATA_LOAD_FORMULATION\",\r\n PRESCRIPTION_DATA_LOAD_BULLETIN = \"PRESCRIPTION_DATA_LOAD_BULLETIN\",\r\n PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT = \"PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT\",\r\n PRESCRIPTION_DATA_LOAD_SPECIE = \"PRESCRIPTION_DATA_LOAD_SPECIE\",\r\n PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE = \"PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE\",\r\n PRESCRIPTION_DATA_LOAD_PROBLEMS = \"PRESCRIPTION_DATA_LOAD_PROBLEMS\",\r\n PRESCRIPTION_DATA_LOAD_APPLICATION = \"PRESCRIPTION_DATA_LOAD_APPLICATION\",\r\n PRESCRIPTION_DATA_LOAD_END = \"PRESCRIPTION_DATA_LOAD_END\",\r\n ORIGINATION_CREATE_STOCK_MOVEMENT = \"ORIGINATION_CREATE_STOCK_MOVEMENT\",\r\n}\r\n","export enum InputFields {\r\n AGRO_INVOICE_TYPE = 'agroInvoiceType',\r\n INVOICE_TYPE = 'invoiceType',\r\n INVOICE_NUMBER = 'number'\r\n}","import { EventOperation } from \"./event-operation\";\r\nimport { InputFields } from \"./input-fields\";\r\n\r\nexport const eventItem = [\r\n { label: \"agro.angular_components.ticket_event\", value: EventOperation.TICKET },\r\n { label: \"agro.angular_components.provisional_event\", value: EventOperation.PROVISIONAL },\r\n {\r\n label: \"agro.angular_components.CREATE_INVOICE_FIXATION\",\r\n value: EventOperation.CREATE_INVOICE,\r\n },\r\n { label: \"agro.angular_components.remove_provisional_event\", value: EventOperation.REMOVE_PROVISIONAL },\r\n { label: \"agro.angular_components.effective_event\", value: EventOperation.EFFECTIVE },\r\n { label: \"agro.angular_components.effective_confirmation_event\", value: EventOperation.EFFECTIVE_CONFIRMATION },\r\n { label: \"agro.angular_components.change_request_event_summary\", value: EventOperation.CHANGE_REQUEST },\r\n { label: \"agro.angular_components.change_response_event\", value: EventOperation.CHANGE_RESPONSE },\r\n { label: \"agro.angular_components.fixation_event\", value: EventOperation.PROCESS_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.CANCEL_INVOICE}`,\r\n value: EventOperation.CANCEL_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.INVOICE_CLOSE_INVOICE}`,\r\n value: EventOperation.INVOICE_CLOSE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.INVOICE_CLOSE_INVOICE}`,\r\n value: EventOperation.INVOICE_CLOSE_INVOICE,\r\n subLabelField: InputFields.AGRO_INVOICE_TYPE,\r\n },\r\n { label: `agro.angular_components.${EventOperation.REPROCESS_INVOICE}`, value: EventOperation.REPROCESS_INVOICE },\r\n { label: `agro.angular_components.${EventOperation.EFFECTIVE_CONFIRMATION}`, value: EventOperation.EFFECTIVE_CONFIRMATION },\r\n { label: `agro.angular_components.${EventOperation.CHANGE_REQUEST}`, value: EventOperation.CHANGE_REQUEST },\r\n { label: `agro.angular_components.${EventOperation.CHANGE_RESPONSE}`, value: EventOperation.CHANGE_RESPONSE },\r\n { label: `agro.angular_components.${EventOperation.PROCESS_FIXATION}`, value: EventOperation.PROCESS_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_INCOMING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CREATE_INCOMING_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CREATE_OUTGOING_INVOICE,\r\n },\r\n { label: `agro.angular_components.${EventOperation.TRANSFER_PRODUCER_BALANCE}`, value: EventOperation.TRANSFER_PRODUCER_BALANCE },\r\n { label: `agro.angular_components.${EventOperation.FINISH_FINANCIAL_FIXATION}`, value: EventOperation.FINISH_FINANCIAL_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION}`,\r\n value: EventOperation.FINISH_PRODUCER_NET_VALUE_FIXATION,\r\n },\r\n { label: `agro.angular_components.${EventOperation.CONCLUDE_FIXATION}`, value: EventOperation.CONCLUDE_FIXATION },\r\n { label: `agro.angular_components.${EventOperation.CANCEL_FINANCIAL_FIXATION}`, value: EventOperation.CANCEL_FINANCIAL_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION}`,\r\n value: EventOperation.CANCEL_PRODUCER_NET_VALUE_FIXATION,\r\n },\r\n { label: `agro.angular_components.${EventOperation.CANCEL_FIXATION}`, value: EventOperation.CANCEL_FIXATION },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CANCEL_INCOMING_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE}`,\r\n value: EventOperation.TRANSFER_CANCEL_OUTGOING_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE}`,\r\n value: EventOperation.TRANSFER_REVERSE_PRODUCER_BALANCE,\r\n },\r\n { label: `agro.angular_components.${EventOperation.TRANSFER_CONCLUDE_CANCEL}`, value: EventOperation.TRANSFER_CONCLUDE_CANCEL },\r\n {\r\n label: `agro.angular_components.${EventOperation.CREATE_INVOICE_FIXATION}`,\r\n value: EventOperation.CREATE_INVOICE_FIXATION,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.CANCEL_INVOICE_FIXATION}`,\r\n value: EventOperation.CANCEL_INVOICE_FIXATION,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.CLOSE_INVOICE_FIXATION}`,\r\n value: EventOperation.CLOSE_INVOICE_FIXATION,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.CLOSE_INVOICE_TRANSFER}`,\r\n value: EventOperation.CLOSE_INVOICE_TRANSFER,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.REOPEN_INVOICE_TRANSFER}`,\r\n value: EventOperation.REOPEN_INVOICE_TRANSFER,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.ORIGINATION_CREATE_INVOICE}`,\r\n value: EventOperation.ORIGINATION_CREATE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_FINANCIAL_TITLE}`,\r\n value: EventOperation.TRANSFER_CREATE_FINANCIAL_TITLE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_FINANCIAL_TITLE}`,\r\n value: EventOperation.TRANSFER_CANCEL_FINANCIAL_TITLE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CREATE_SERVICE_INVOICE}`,\r\n value: EventOperation.TRANSFER_CREATE_SERVICE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.TRANSFER_CANCEL_SERVICE_INVOICE}`,\r\n value: EventOperation.TRANSFER_CANCEL_SERVICE_INVOICE,\r\n },\r\n {\r\n label: `agro.angular_components.${EventOperation.REOPEN_INVOICE_FIXATION}`,\r\n value: EventOperation.REOPEN_INVOICE_FIXATION,\r\n },\r\n];\r\n","export enum EventOrigin {\r\n BALANCE_ENTRY_CONTROL = 'BALANCE_ENTRY_CONTROL',\r\n TICKET = 'TICKET',\r\n INVOICE = 'INVOICE',\r\n TRANSFER = 'TRANSFER',\r\n CHANGE_REQUEST = 'CHANGE_REQUEST',\r\n CREATE_INVOICE = 'CREATE_INVOICE',\r\n CLOSE_INVOICE = 'CLOSE_INVOICE',\r\n FIXATION = 'FIXATION',\r\n CANCEL_FIXATION = 'CANCEL_FIXATION',\r\n TRANSFER_CANCELLATION = 'TRANSFER_CANCELLATION',\r\n}\r\n","export enum EventStatus {\r\n PENDING = 'PENDING',\r\n PROCESSING = 'PROCESSING',\r\n SUCCESS = 'SUCCESS',\r\n FAILED = 'FAILED',\r\n CANCELED = 'CANCELED'\r\n}\r\n","export enum InvoiceType {\r\n INCOMING = 'INCOMING',\r\n OUTGOING = 'OUTGOING',\r\n RETURN = 'RETURN',\r\n COMPLEMENT = 'COMPLEMENT',\r\n SYMBOLIC_RETURN = 'SYMBOLIC_RETURN',\r\n ADJUSTMENT = 'ADJUSTMENT',\r\n SERVICE = 'SERVICE',\r\n}\r\n","import { InvoiceType } from \"./invoice-type\";\r\n\r\nexport const invoiceTypeTranslate = [\r\n {value: InvoiceType.INCOMING, label: `agro.angular_components.invoice_type_${InvoiceType.INCOMING}`},\r\n {value: InvoiceType.COMPLEMENT, label: `agro.angular_components.invoice_type_${InvoiceType.COMPLEMENT}`},\r\n {value: InvoiceType.ADJUSTMENT, label: `agro.angular_components.invoice_type_${InvoiceType.ADJUSTMENT}`},\r\n {value: InvoiceType.OUTGOING, label: `agro.angular_components.invoice_type_${InvoiceType.OUTGOING}`},\r\n {value: InvoiceType.RETURN, label: `agro.angular_components.invoice_type_${InvoiceType.RETURN}`},\r\n {value: InvoiceType.SERVICE, label: `agro.angular_components.invoice_type_${InvoiceType.SERVICE}`},\r\n {value: InvoiceType.SYMBOLIC_RETURN, label: `agro.angular_components.invoice_type_${InvoiceType.SYMBOLIC_RETURN}`},\r\n];\r\n","export const LookupErrorMessages: { [key: string]: string } = {\r\n required: 'agro.angular_components.error_required',\r\n min: 'agro.angular_components.error_min_value',\r\n max: 'agro.angular_components.error_max_value',\r\n minlength: 'agro.angular_components.error_min_length',\r\n maxlength: 'agro.angular_components.error_max_length',\r\n pattern: 'agro.angular_components.error_invalid',\r\n FormDateError_data1: 'agro.angular_components.initial_invalid_date',\r\n FormDateError_data2: 'agro.angular_components.end_invalid_date'\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { EventControlItemDto } from '../event-control-item/event-control-item-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\n@Injectable()\r\nexport class EventControlItemService extends AgroEntityService<EventControlItemDto> {\r\n\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/agro_events/entities/eventControlItem`,\r\n `agro/agro_events/actions`,\r\n `agro/agro_events/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public reprocessFailedEvent(body: ReprocessFailedEvent) {\r\n return this.http\r\n .post<any>(\r\n `agro/agro_events/signals/reprocessFailedEvent`,\r\n body\r\n )\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n\r\nexport interface ReprocessFailedEvent {\r\n eventControlItemId: string;\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { EventControlDto } from '../event-control/event-control-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\n@Injectable()\r\nexport class EventControlService extends AgroEntityService<EventControlDto> {\r\n\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/agro_events/entities/eventControl`,\r\n `agro/agro_events/actions`,\r\n `agro/agro_events/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { user as userService } from '@seniorsistemas/senior-platform-data';\r\n\r\nexport class PaginatorStorageService {\r\n private GET_USER_ID = userService.getUserData().then((user) => user.id);\r\n private PAGINATOR_KEY = 'SENIOR_PAGINATOR';\r\n\r\n public async store(key: string, value: any) {\r\n sessionStorage.setItem(`${await this.GET_USER_ID}_${key}`, JSON.stringify(value));\r\n }\r\n\r\n public async get(key: string) {\r\n return JSON.parse(sessionStorage.getItem(`${await this.GET_USER_ID}_${key}`) || '') || {};\r\n }\r\n\r\n public async storePaginator(key: string, listParams: any = {}) {\r\n const store = (await this.get(this.PAGINATOR_KEY)) || {};\r\n store[key] = listParams;\r\n await this.store(this.PAGINATOR_KEY, store);\r\n }\r\n\r\n public async getPaginator(key: string) {\r\n const store = (await this.get(this.PAGINATOR_KEY)) || {};\r\n return store[key] || {};\r\n }\r\n}\r\n","import { registerLocaleData } from \"@angular/common\";\r\nimport localePt from \"@angular/common/locales/pt\";\r\nimport { Component, EventEmitter, Input, LOCALE_ID, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { BadgeColors, ButtonPriority, FieldType, FormField, Step, StepState } from \"@seniorsistemas/angular-components\";\r\nimport { DialogService, MessageService } from \"primeng\";\r\nimport { Subject } from \"rxjs\";\r\nimport { catchError, takeUntil } from \"rxjs/operators\";\r\nimport { AGRO_NUMBERS } from \"../../enums/agro-numbers.enum\";\r\nimport { LibTranslationService } from \"../../services/lib-translation.service\";\r\nimport { ProducerInvoiceService } from \"../../services/producer-invoice\";\r\nimport { WebsocketService } from \"../../services/websocket\";\r\nimport { CancelEventDialogConfig } from \"../cancel-event-dialog/cancel-event-dialog-config\";\r\nimport { CancelEventDialogComponent } from \"../cancel-event-dialog/cancel-event-dialog.component\";\r\nimport { eventItem } from \"./common/event-control-constants\";\r\nimport { EventOperation } from \"./common/event-operation\";\r\nimport { EventOrigin } from \"./common/event-origin\";\r\nimport { EventStatus } from \"./common/event-status\";\r\nimport { invoiceTypeTranslate } from \"./common/input-fields-translate\";\r\nimport { LookupErrorMessages } from \"./common/lookup-error-message.constants\";\r\nimport { E070Emp } from \"./service/e070emp/e070emp\";\r\nimport { E070Fil } from \"./service/e070fil/e070fil\";\r\nimport { EventControlItem } from \"./service/event-control-item/event-control-item\";\r\nimport { EventControlItemService, ReprocessFailedEvent } from \"./service/event-control-item/event-control-item.service\";\r\nimport { EventControl } from \"./service/event-control/event-control\";\r\nimport { EventControlService } from \"./service/event-control/event-control.service\";\r\nimport { PaginatorStorageService } from \"./service/paginator-storage.service\";\r\nconst moment = require(\"moment\");\r\n\r\n@Component({\r\n selector: \"event-control-board\",\r\n templateUrl: \"./event-control-board.component.html\",\r\n styleUrls: [\"./event-control-board.component.scss\"],\r\n providers: [{ provide: LOCALE_ID, useValue: \"pt-BR\" }],\r\n})\r\nexport class EventControlBoardComponent implements OnInit, OnDestroy, OnChanges {\r\n @Input() company!: E070Emp;\r\n @Input() branch!: E070Fil;\r\n @Input() controlCode!: string[];\r\n @Input() eventOrigin!: EventOrigin;\r\n @Input() eventStatus!: EventStatus;\r\n @Input() externalId!: string;\r\n @Input() createdDate!: Date;\r\n @Input() standalone!: boolean;\r\n @Input() showCancelButton!: boolean;\r\n @Input() cancelEventDialogConfig!: CancelEventDialogConfig;\r\n @Output() processedEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n public producerInvoice!: any;\r\n\r\n public steps: Step[] = [];\r\n public selectedStep: any;\r\n public eventId!: \"\";\r\n public showSidebar = false;\r\n public showReprocessButton = false;\r\n public sidebarTitle!: string;\r\n public sidebarLoading!: boolean;\r\n\r\n public filterFormGroup!: FormGroup;\r\n public filterFields!: FormField[];\r\n\r\n public gridData!: any[];\r\n public gridDataResolved!: any[];\r\n public gridColumns!: any[];\r\n public gridTotalRecords = AGRO_NUMBERS.ZERO;\r\n public gridLoading = false;\r\n public displayModal = false;\r\n\r\n public ButtonPriority = ButtonPriority;\r\n public BadgeColors = BadgeColors;\r\n\r\n public permissions: any = {};\r\n public localeConfig: any = {};\r\n\r\n public currentListParams: any = {\r\n page: AGRO_NUMBERS.ZERO,\r\n size: AGRO_NUMBERS.TEN,\r\n displayFields: this.getDisplayFields(),\r\n sort: [],\r\n filterData: {}\r\n };\r\n\r\n private readonly ngUnsubscribe = new Subject();\r\n private readonly eventItem = eventItem;\r\n private readonly invoiceTypeTranslate = invoiceTypeTranslate;\r\n\r\n constructor(\r\n private readonly translate: LibTranslationService,\r\n private readonly formBuilder: FormBuilder,\r\n private readonly websocketService: WebsocketService,\r\n private readonly eventControlService: EventControlService,\r\n private readonly paginatorStorageService: PaginatorStorageService,\r\n private readonly eventControlItemService: EventControlItemService,\r\n private readonly producerInvoiceService: ProducerInvoiceService,\r\n private readonly messageService: MessageService,\r\n private readonly dialogService: DialogService\r\n ) {\r\n registerLocaleData(localePt);\r\n }\r\n\r\n public async ngOnInit() {\r\n this.gridColumns = this.setGridColumns();\r\n this.callWebsocket();\r\n }\r\n\r\n public ngOnChanges(changes: SimpleChanges) {\r\n if (!this.filterFormGroup) {\r\n this.initializeFormGroup();\r\n this.setFormFields();\r\n }\r\n\r\n this.updateCompanyAndBranchFormFields(changes);\r\n this.updateEventOriginAndControlCodeFormFields(changes);\r\n this.updateEventStatusAndCreatedDateFormFields(changes);\r\n this.onSearch();\r\n }\r\n\r\n private updateCompanyAndBranchFormFields(changes: SimpleChanges) {\r\n if (changes.company && changes.company.currentValue !== changes.company.previousValue) {\r\n this.filterFormGroup.get(\"company\")?.setValue(changes.company.currentValue ?? null);\r\n }\r\n\r\n if (changes.branch && changes.branch.currentValue !== changes.branch.previousValue) {\r\n this.filterFormGroup.get(\"branch\")?.setValue(changes.branch.currentValue ?? null);\r\n }\r\n }\r\n\r\n private updateEventOriginAndControlCodeFormFields(changes: SimpleChanges) {\r\n if (changes.eventOrigin && changes.eventOrigin.currentValue !== changes.eventOrigin.previousValue) {\r\n this.filterFormGroup.get(\"eventOrigin\")?.setValue(changes.eventOrigin.currentValue ?? null);\r\n }\r\n\r\n if (changes.controlCode && changes.controlCode.currentValue !== changes.controlCode.previousValue) {\r\n this.filterFormGroup.get(\"controlCode\")?.setValue(changes.controlCode.currentValue ?? null);\r\n }\r\n }\r\n\r\n private updateEventStatusAndCreatedDateFormFields(changes: SimpleChanges) {\r\n if (changes.eventStatus && changes.eventStatus.currentValue !== changes.eventStatus.previousValue) {\r\n this.filterFormGroup.get(\"status\")?.setValue(changes.eventStatus.currentValue ?? null);\r\n }\r\n\r\n if (changes.createdDate && changes.createdDate.currentValue !== changes.createdDate.previousValue) {\r\n this.filterFormGroup.get(\"createdDate\")?.setValue(changes.createdDate.currentValue ?? null);\r\n }\r\n }\r\n\r\n private initializeFormGroup() {\r\n this.filterFormGroup = this.formBuilder.group({\r\n company: [{ value: this.company ?? null, disabled: false }, Validators.compose([])],\r\n branch: [{ value: this.branch ?? null, disabled: false }, Validators.compose([])],\r\n controlCode: [{ value: this.controlCode ?? null, disabled: false }, Validators.compose([])],\r\n externalId: [{ value: this.externalId ?? null, disabled: false }, Validators.compose([])],\r\n eventOrigin: [{ value: this.eventOrigin ?? null, disabled: false }, Validators.compose([])],\r\n status: [{ value: this.eventStatus ?? null, disabled: false }, Validators.compose([])],\r\n createdDate: [{ value: this.createdDate ?? null, disabled: false }, Validators.compose([])],\r\n });\r\n }\r\n\r\n private setFormFields() {\r\n this.filterFields = [\r\n new FormField({\r\n name: \"company\",\r\n type: FieldType.Chips,\r\n }),\r\n new FormField({\r\n name: \"branch\",\r\n type: FieldType.Chips,\r\n }),\r\n new FormField({\r\n name: \"controlCode\",\r\n type: FieldType.Chips,\r\n }),\r\n new FormField({\r\n name: \"externalId\",\r\n type: FieldType.String,\r\n }),\r\n new FormField({\r\n name: \"eventOrigin\",\r\n type: FieldType.Enum,\r\n }),\r\n new FormField({\r\n name: \"status\",\r\n type: FieldType.Enum,\r\n }),\r\n new FormField({\r\n name: \"createdDate\",\r\n type: FieldType.Date,\r\n }),\r\n ];\r\n }\r\n\r\n private setGridColumns() {\r\n return [\r\n { field: \"company\", header: this.translate.instant(\"agro.angular_components.company\") },\r\n { field: \"branch\", header: this.translate.instant(\"agro.angular_components.label_branch\") },\r\n { field: \"eventOrigin\", header: this.translate.instant(\"agro.angular_components.event_origin_label\") },\r\n { field: \"controlCode\", header: this.translate.instant(\"agro.angular_components.control_code\") },\r\n ];\r\n }\r\n\r\n public ngOnDestroy() {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n this.websocketService.disconnect();\r\n }\r\n\r\n public callWebsocket() {\r\n this.websocketService\r\n .onEvent<any>({\r\n domain: \"agro\",\r\n service: \"agro_events\",\r\n primitive: \"processedEvent\",\r\n })\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe((message) => {\r\n const externalId = message?.data?.externalId;\r\n const filterData = this.filterFormGroup.getRawValue();\r\n if (!externalId || this.externalId === externalId || this.gridData?.some((item: any) => item.externalId === externalId)) {\r\n this.updateGrid({ filterData });\r\n this.processedEvent.emit(message);\r\n }\r\n });\r\n\r\n this.websocketService\r\n .onEvent<any>({\r\n domain: \"platform\",\r\n service: \"notifications\",\r\n primitive: \"userNotified\",\r\n })\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe(() => {\r\n const filterData = this.filterFormGroup.getRawValue();\r\n this.updateGrid({ filterData });\r\n });\r\n }\r\n\r\n public onSearch() {\r\n const filterData = this.filterFormGroup.getRawValue();\r\n this.gridLoading = true;\r\n this.resetGrid({ filterData });\r\n this.updateGrid({ filterData });\r\n }\r\n\r\n public resetGrid(listParams?: any) {\r\n if (listParams) {\r\n this.currentListParams = { ...this.currentListParams, ...listParams };\r\n }\r\n this.currentListParams.page = AGRO_NUMBERS.ZERO;\r\n }\r\n\r\n private updateGrid(listParams: any = {}) {\r\n this.currentListParams = { ...this.currentListParams, ...listParams };\r\n\r\n if (this.currentListParams.sort?.length <= 0) {\r\n this.currentListParams.sort = this.standalone ?\r\n [{ field: \"createdDate\", order: 1 }] :\r\n [{ field: \"lastModifiedDate\", order: -1 }];\r\n }\r\n\r\n this.currentListParams.filterQuery = this.getFilter();\r\n\r\n this.eventControlService\r\n .list(this.currentListParams)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n catchError((err: any) => {\r\n this.gridLoading = false;\r\n throw err;\r\n })\r\n )\r\n .subscribe((list: any) => {\r\n this.gridData = list.contents;\r\n this.gridTotalRecords = list.totalElements;\r\n if (!this.gridData || this.gridData.length <= AGRO_NUMBERS.ZERO) {\r\n this.gridLoading = false;\r\n return;\r\n }\r\n this.processEventControlItems();\r\n });\r\n }\r\n\r\n private getFilter(): string {\r\n const { filterData } = this.currentListParams;\r\n const filters: string[] = [];\r\n\r\n if (filterData[\"company\"]?.id) {\r\n filters.push(`e070emp.id eq '${filterData[\"company\"].id}'`);\r\n }\r\n\r\n if (filterData[\"branch\"]?.id) {\r\n filters.push(`e070fil.id eq '${filterData[\"branch\"].id}'`);\r\n }\r\n\r\n const controlCode = filterData[\"controlCode\"];\r\n if (controlCode && Array.isArray(controlCode) && controlCode.length > 0) {\r\n const codes = controlCode.map((code: string) => parseInt(code, 10)).join(\",\");\r\n filters.push(`controlCode in (${codes})`);\r\n }\r\n\r\n if (filterData[\"externalId\"]) {\r\n filters.push(`externalId eq '${filterData[\"externalId\"]}'`);\r\n }\r\n\r\n if (filterData[\"eventOrigin\"]) {\r\n filters.push(`eventOrigin eq '${filterData[\"eventOrigin\"]}'`);\r\n }\r\n\r\n if (filterData[\"status\"]) {\r\n filters.push(`eventControlItem.status eq '${filterData[\"status\"]}'`);\r\n }\r\n\r\n if (filterData[\"createdDate\"]) {\r\n filters.push(`createdDate ge '${this.getStartDate(filterData[\"createdDate\"])}'`);\r\n filters.push(`createdDate le '${this.getEndDate(filterData[\"createdDate\"])}'`);\r\n }\r\n\r\n return filters.join(\" and \");\r\n }\r\n\r\n private getEndDate(value: any): string {\r\n const endDate = moment(value).endOf(\"day\").format(\"YYYY-MM-DDTHH:mm:ss\") + \"Z\";\r\n return endDate;\r\n }\r\n private getStartDate(value: any): string {\r\n const startDate = moment(value).startOf(\"day\").format(\"YYYY-MM-DDTHH:mm:ss\") + \"Z\";\r\n return startDate;\r\n }\r\n\r\n private getDisplayFields(): string[] {\r\n return [\r\n '*',\r\n 'company.*',\r\n 'branch.*',\r\n 'eventControlItem.eventDomain',\r\n 'eventControlItem.id',\r\n 'eventControlItem.eventDomain',\r\n 'eventControlItem.eventService',\r\n 'eventControlItem.eventPrimitive',\r\n 'eventControlItem.eventControl',\r\n 'eventControlItem.eventGroup',\r\n 'eventControlItem.sequence',\r\n 'eventControlItem.eventOperation',\r\n 'eventControlItem.output',\r\n 'eventControlItem.input',\r\n 'eventControlItem.status',\r\n 'eventControlItem.subTitle',\r\n 'eventControlItem.message',\r\n 'eventControlItem.createdBy',\r\n 'eventControlItem.createdDate',\r\n 'eventControlItem.lastModifiedBy',\r\n 'eventControlItem.lastModifiedDate',\r\n ];\r\n }\r\n\r\n private processEventControlItems() {\r\n this.gridData.forEach((item) => {\r\n const sortedItems = item.eventControlItem.sort((a: EventControlItem, b: EventControlItem) => {\r\n return a.sequence - b.sequence;\r\n });\r\n const steps = sortedItems.map((detail: EventControlItem, index: number) => this.createStep(detail, item, index));\r\n const activeIndex = this.calculateActiveIndex(sortedItems);\r\n item.groups = [{ steps, activeIndex }];\r\n item.activeIndex = activeIndex;\r\n });\r\n this.gridDataResolved = this.gridData;\r\n this.gridLoading = false;\r\n }\r\n\r\n private calculateActiveIndex(details: EventControlItem[]): number {\r\n const lastActive = details.reduce(\r\n (lastIndex, detail, currentIndex) => (detail.status !== EventStatus.PENDING ? currentIndex : lastIndex),\r\n -1\r\n );\r\n if (lastActive !== -1 && details[lastActive].status === EventStatus.SUCCESS) {\r\n return lastActive + 1;\r\n }\r\n return lastActive;\r\n }\r\n\r\n private createStep(detail: EventControlItem, item: EventControl, detailIndex: number) {\r\n console.log('Detail:', detail);\r\n return {\r\n item: detail,\r\n controlCode: item.controlCode,\r\n eventType: item.eventOrigin,\r\n label: this.getEventLabel(detail),\r\n subLabel: this.formatSubtitle(detail),\r\n disabled: detail.status === EventStatus.PENDING && detailIndex !== this.calculateActiveIndex(item.eventControlItem),\r\n tooltip: this.getEventLabel(detail),\r\n state: this.determineStepState(detail),\r\n };\r\n }\r\n\r\n private determineStepState(detail: { status: EventStatus }): StepState {\r\n if (detail.status === EventStatus.SUCCESS) {\r\n return StepState.Success;\r\n }\r\n if (detail.status === EventStatus.FAILED) {\r\n return StepState.Warning;\r\n }\r\n return StepState.Default;\r\n }\r\n\r\n private getEventLabel(detail: any): string {\r\n const eventLabel = this.eventItem.find((e) => e.value === detail.eventOperation)?.label;\r\n if (eventLabel) {\r\n return this.translate.instant(eventLabel);\r\n }\r\n const localLabel = this.translate.instant(\"agro.angular_components.\" + detail.eventOperation);\r\n if (localLabel) {\r\n return localLabel;\r\n }\r\n return detail.eventOperation;\r\n }\r\n\r\n private formatSubtitle(detail: EventControlItem): string | null {\r\n const { eventOperation, subTitle } = detail;\r\n\r\n const invoiceOperations = [\r\n EventOperation.CREATE_INVOICE_FIXATION,\r\n EventOperation.CANCEL_INVOICE_FIXATION,\r\n EventOperation.ORIGINATION_CREATE_INVOICE\r\n ];\r\n\r\n const numberPrefixOperations = [\r\n EventOperation.CLOSE_INVOICE_FIXATION,\r\n EventOperation.REOPEN_INVOICE_FIXATION\r\n ];\r\n\r\n const prescriptionOperations = [\r\n EventOperation.PRESCRIPTION_DATA_LOAD_PRODUCT_TYPE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_ACTIVE_PRINCIPLE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_FORMULATION,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_BULLETIN,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_APPLICATION_UNIT,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_SPECIE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_APPLICATION_TYPE,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_PROBLEMS,\r\n EventOperation.PRESCRIPTION_DATA_LOAD_APPLICATION\r\n ];\r\n\r\n let formattedSubtitle = subTitle;\r\n if (invoiceOperations.includes(eventOperation)) {\r\n const label = this.invoiceTypeTranslate.find((e) => e.value === subTitle)?.label;\r\n formattedSubtitle = label ? this.translate.instant(label) : subTitle;\r\n }\r\n\r\n if (numberPrefixOperations.includes(eventOperation)) {\r\n formattedSubtitle = subTitle ? `n° ${subTitle}` : subTitle;\r\n }\r\n\r\n if (prescriptionOperations.includes(eventOperation)) {\r\n formattedSubtitle = this.translate.instant('agro.angular_components.new_prescription_page', { count: subTitle });\r\n }\r\n\r\n return formattedSubtitle;\r\n }\r\n\r\n\r\n\r\n public onGridChange(event: any) {\r\n const size = event?.rows;\r\n const page = event?.first / size;\r\n const sort = event.multiSortMeta;\r\n this.gridLoading = true;\r\n if (size !== AGRO_NUMBERS.TEN || page !== AGRO_NUMBERS.ZERO || (sort && sort.length > AGRO_NUMBERS.ZERO)) {\r\n this.paginatorStorageService.storePaginator(\"EventControlBoardPaginator\", { page, size, sort });\r\n }\r\n\r\n return this.updateGrid({ page, size, sort });\r\n }\r\n\r\n public getPageSize() {\r\n return this.currentListParams.size;\r\n }\r\n\r\n public getRowIndex() {\r\n return this.currentListParams.page * this.currentListParams.size;\r\n }\r\n\r\n public getSortField() {\r\n if (!this.currentListParams.sort || this.currentListParams.sort.length <= AGRO_NUMBERS.ZERO) {\r\n return this.gridColumns[AGRO_NUMBERS.ZERO].field;\r\n }\r\n return this.currentListParams.sort[AGRO_NUMBERS.ZERO].field;\r\n }\r\n\r\n public getSortOrder() {\r\n if (!this.currentListParams.sort || this.currentListParams.sort.length <= AGRO_NUMBERS.ZERO) {\r\n return AGRO_NUMBERS.ONE;\r\n }\r\n\r\n return this.currentListParams.sort[AGRO_NUMBERS.ZERO].order;\r\n }\r\n\r\n public getErrorMessages() {\r\n const translatedErrorMessages: { [key: string]: string } = {};\r\n for (const key in LookupErrorMessages) {\r\n if (LookupErrorMessages.hasOwnProperty(key)) {\r\n this.translate.get(LookupErrorMessages[key]).subscribe((res: string) => {\r\n translatedErrorMessages[key] = res;\r\n });\r\n }\r\n }\r\n return translatedErrorMessages;\r\n }\r\n\r\n getProducerInvoiceIdFromParams(param: any): string | null {\r\n if (!param) {\r\n return null;\r\n }\r\n\r\n return [\r\n param.producerInvoiceIds?.[0],\r\n param.invoice?.generalData?.transactionalId,\r\n param.producerInvoiceId,\r\n param.externalId,\r\n param.externalInvoiceIds?.[0],\r\n ].find((id) => id) ?? null;\r\n }\r\n\r\n getProducerBalanceEntryControlIdFromParams(param: any) {\r\n const { producerBalanceEntryControlId } = param;\r\n return producerBalanceEntryControlId ? producerBalanceEntryControlId : null;\r\n }\r\n\r\n public stepSelected(event: any) {\r\n this.selectedStep = event.step;\r\n this.applySidebarTitle(\"\");\r\n\r\n switch (this.selectedStep.eventType) {\r\n case EventOrigin.BALANCE_ENTRY_CONTROL:\r\n case EventOrigin.TICKET:\r\n case EventOrigin.INVOICE:\r\n case EventOrigin.CREATE_INVOICE:\r\n this.sidebarLoading = true;\r\n {\r\n const param = JSON.parse(this.selectedStep.item.input);\r\n const producerInvoiceId = this.getProducerInvoiceIdFromParams(param);\r\n let filterQuery = \"\";\r\n\r\n if (!producerInvoiceId) {\r\n const producerBalanceEntryControlId = this.getProducerBalanceEntryControlIdFromParams(param);\r\n\r\n if (!producerBalanceEntryControlId) {\r\n this.sidebarLoading = false;\r\n return;\r\n }\r\n\r\n filterQuery = `producerBalanceEntryControl.id eq '${producerBalanceEntryControlId}'`;\r\n } else {\r\n filterQuery = `id eq '${producerInvoiceId}'`;\r\n }\r\n\r\n this.producerInvoiceService\r\n .list({\r\n displayFields: [\"*\", \"producerBalanceEntryControl.*\", \"producerBalanceEntryControl.producer.*\"],\r\n filterQuery,\r\n page: 0,\r\n size: 1,\r\n })\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe(\r\n (result: any) => {\r\n this.producerInvoice = result?.contents[0];\r\n this.producerInvoice;\r\n this.sidebarLoading = false;\r\n this.applySidebarTitle(this.getProducerInvoiceNumberAndSerie());\r\n },\r\n () => {\r\n this.sidebarLoading = false;\r\n }\r\n );\r\n }\r\n break;\r\n case EventOrigin.FIXATION:\r\n case EventOrigin.CANCEL_FIXATION:\r\n case EventOrigin.CHANGE_REQUEST:\r\n case EventOrigin.TRANSFER:\r\n break;\r\n }\r\n\r\n this.showReprocessButton = event.step.state === StepState.Warning;\r\n\r\n this.showSidebar = true;\r\n }\r\n\r\n private applySidebarTitle(title: string) {\r\n this.sidebarTitle = this.translate.instant(\"agro.angular_components.event_sidebar_title\", { eventNumber: title });\r\n }\r\n\r\n private getProducerInvoiceNumberAndSerie(): string {\r\n if (this.producerInvoice?.number && this.producerInvoice?.series) {\r\n return `${this.producerInvoice.number} - ${this.producerInvoice.series}`;\r\n }\r\n return \"\";\r\n }\r\n\r\n public reprocessEvent() {\r\n const reprocessEventObj: ReprocessFailedEvent = {\r\n eventControlItemId: this.selectedStep.item.id,\r\n };\r\n this.eventControlItemService\r\n .reprocessFailedEvent(reprocessEventObj)\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .subscribe(\r\n () => {\r\n this.addMessage(\r\n \"info\",\r\n \"agro.angular_components.reprocessing_event_message_title\",\r\n \"agro.angular_components.reprocessing_event_message_description\"\r\n );\r\n },\r\n () => {\r\n this.addMessage(\r\n \"error\",\r\n \"agro.angular_components.error_reprocessing_event_message_title\",\r\n \"agro.angular_components.error_reprocessing_event_message_description\"\r\n );\r\n }\r\n );\r\n }\r\n\r\n private addMessage(severity: string, summary: string, detail: string, life = AGRO_NUMBERS.FIVE_SECONDS) {\r\n this.messageService.add({\r\n severity,\r\n summary: this.translate.instant(summary),\r\n detail: this.translate.instant(detail),\r\n life,\r\n });\r\n }\r\n\r\n public openModal() {\r\n this.displayModal = true;\r\n this.showSidebar = false;\r\n }\r\n\r\n public async openCancelModal() {\r\n await this.cancelEventDialogConfig.beforeOpen?.();\r\n this.dialogService.open(CancelEventDialogComponent, {\r\n header: this.cancelEventDialogConfig?.header,\r\n contentStyle: { height: \"100%\" },\r\n closable: true,\r\n closeOnEscape: false,\r\n data: { cancelEventDialogConfig: this.cancelEventDialogConfig },\r\n });\r\n }\r\n\r\n public confirmModal() {\r\n this.reprocessEvent();\r\n this.displayModal = false;\r\n }\r\n\r\n public cancelModal() {\r\n this.displayModal = false;\r\n }\r\n\r\n public closeSidebar() {\r\n this.showSidebar = false;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { E001pesDto } from \"./e001pes-dto\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\n@Injectable()\r\nexport class E001pesService extends AgroEntityService<E001pesDto> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e001pes`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getE001pes(body: any) {\r\n return this.http\r\n .post<E001pesService[]>(`${this.queriesUrl}/getE001pes`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n public getE001pesByControlStatusEntry(body: any) {\r\n return this.http\r\n .post<E001pesService[]>(`${this.queriesUrl}/getE001pesByControlStatus`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E001pesService } from \"./e001pes.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e001pes\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e001pes`,\r\n },\r\n ]),\r\n ],\r\n providers: [E001pesService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E001pesModule { }\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { E001TnsDto } from \"./e001tns-dto\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\n\r\n@Injectable()\r\nexport class E001TnsService extends AgroEntityService<E001TnsDto> {\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e001tns`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E001TnsService } from \"./e001tns.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e001tns\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e001tns`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n E001TnsService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class E001TnsModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { E012famDto } from \"./e012fam-dto\";\r\n\r\n@Injectable()\r\nexport class E012famService extends AgroEntityService<E012famDto> {\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e012fam`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService, ListParams } from '../../../../services/agro-entity-service';\r\nimport { E070EmpDto } from \"./e070emp-dto\";\r\n\r\n@Injectable()\r\nexport class E070EmpService extends AgroEntityService<E070EmpDto> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e070emp`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public listExternalE001Emp(listParams: ListParams) {\r\n return this.http\r\n .get<E070EmpDto>(\"erpx_fnd/transacao/entities/e070emp\", {\r\n params: this.getListQueryParams(listParams),\r\n })\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E070EmpService } from \"./e070emp.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e070emp\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e070emp`,\r\n },\r\n ]),\r\n ],\r\n providers: [E070EmpService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E070EmpModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService, ListParams } from '../../../../services/agro-entity-service';\r\nimport { E070FilDto } from \"./e070fil-dto\";\r\n\r\n@Injectable()\r\nexport class E070FilService extends AgroEntityService<E070FilDto> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e070fil`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public listExternalE001Tns(listParams: ListParams) {\r\n return this.http\r\n .get<E070FilDto>(\"erpx_fnd/transacao/entities/e070fil\", {\r\n params: this.getListQueryParams(listParams),\r\n })\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E070FilService } from \"./e070fil.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e070fil\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e070fil`,\r\n },\r\n ]),\r\n ],\r\n providers: [E070FilService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E070FilModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { E075DerDto } from \"./e075der-dto\";\r\n\r\n@Injectable()\r\nexport class E075DerService extends AgroEntityService<E075DerDto> {\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e075der`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getE075derByControlStatus(body: any) {\r\n return this.http\r\n .post<E075DerService[]>(`${this.queriesUrl}/getE075derByControlStatus`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { E075DerService } from \"./e075der.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"e075der\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/e075der`,\r\n },\r\n ]),\r\n ],\r\n providers: [E075DerService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class E075DerModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { E205depDto } from \"./deposit-dto\";\r\n\r\n@Injectable()\r\nexport class E205depService extends AgroEntityService<E205depDto> {\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/e205dep`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getE205depByControlStatus(body: any) {\r\n return this.http\r\n .post<E205depDto[]>(`${this.queriesUrl}/getE205depByControlStatus`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { EventControlService } from \"../event-control/event-control.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"eventControl\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/agro_events/entities/eventControl`,\r\n },\r\n ]),\r\n ],\r\n providers: [EventControlService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class EventControlModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { EventControlItemService } from \"../event-control-item/event-control-item.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"eventControlItem\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/agro_events/entities/eventControlItem`,\r\n },\r\n ]),\r\n ],\r\n providers: [EventControlItemService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class EventControlItemModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { ExternalInvoiceDto } from \"./external-invoice-dto\";\r\n\r\n@Injectable()\r\nexport class ExternalInvoiceService extends AgroEntityService<ExternalInvoiceDto> {\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/externalInvoice`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\n\r\nimport { ExternalInvoiceService } from \"../external-invoice/external-invoice.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"externalInvoice\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/externalInvoice`,\r\n },\r\n ]),\r\n ],\r\n providers: [ExternalInvoiceService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class ExternalInvoiceModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { InvoiceDto } from '../invoice/invoice-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\n@Injectable()\r\nexport class InvoiceService extends AgroEntityService<InvoiceDto> {\r\n\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/invoice`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\nimport { InvoiceService } from '../invoice/invoice.service';\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: 'invoice',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/origination/entities/invoice`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n InvoiceService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class InvoiceModule {}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { OriginationDto } from \"../origination/origination-dto\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\n\r\n@Injectable()\r\nexport class OriginationService extends AgroEntityService<OriginationDto> {\r\n\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: TranslateService\r\n ) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/balanceEntryControl`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { OriginationService } from \"./origination.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"balanceEntryControl\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/origination/entities/balanceEntryControl`,\r\n },\r\n ]),\r\n ],\r\n providers: [OriginationService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class OriginationModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { RuralEstateDto } from '../rural-estate/rural-estate-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\nimport { LibTranslationService } from '../../../../services/lib-translation.service';\r\n\r\n@Injectable()\r\nexport class RuralEstateService extends AgroEntityService<RuralEstateDto> {\r\n\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: LibTranslationService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/ruralEstate`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\n\r\nimport { RuralEstateService } from \"../rural-estate/rural-estate.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"ruralEstate\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/erpx_fnd/rural_estate/entities/ruralEstate`,\r\n },\r\n ]),\r\n ],\r\n providers: [RuralEstateService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class RuralEstateModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { TicketDto } from '../ticket/ticket-dto';\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\nimport {Observable} from \"rxjs\";\r\n\r\nexport interface IListMainteinerTicketsPayload {\r\n filter: {\r\n e070emp: string;\r\n e070fil: string;\r\n e001pes?: string;\r\n e113saf?: string;\r\n e075der?: string;\r\n e210dxp?: string;\r\n ticket?: string[];\r\n ruralEstate?: string;\r\n startDate?: string;\r\n endDate?: string;\r\n status?: string;\r\n balanceEntryControlType?: string;\r\n operation?: string;\r\n };\r\n pageRequest: {\r\n offset: number;\r\n size: number;\r\n };\r\n sort: {\r\n field?: string,\r\n order?: number\r\n };\r\n}\r\n\r\n@Injectable()\r\nexport class TicketService extends AgroEntityService<TicketDto> {\r\n\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/origination/entities/ticket`,\r\n `agro/origination/actions`,\r\n `agro/origination/queries`,\r\n translate\r\n );\r\n }\r\n\r\n getTicketSummaryByParent(parent: number) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/getTicketSummaryByParent/`, {parent})\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n listMainteinerTickets(filter: IListMainteinerTicketsPayload) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/listMainteinerTickets/`, filter)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n searchTotalWeightResultFromTickets(body: any) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/searchTotalWeightResultFromTickets/`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n cancelTicket(body: any) {\r\n return this.http\r\n .post<any>(`${this.actionsUrl}/cancelTicket/`, body);\r\n }\r\n\r\n mergeTickets(body: any): Observable<any> {\r\n return this.http.post<any>(`${this.actionsUrl}/mergeTickets/`, body).pipe(this.defaultCatch());\r\n }\r\n\r\n unMergeTickets(body: any): Observable<any> {\r\n return this.http.post<any>(`${this.actionsUrl}/unMergeTickets/`, body).pipe(this.defaultCatch());\r\n }\r\n\r\n checkGroupInvoicePermission(body: any) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/checkGroupInvoicePermission/`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n getContractTickets(tickets: number[]) {\r\n return this.http\r\n .post<any>(`${this.queriesUrl}/getContractTickets/`, { tickets })\r\n .pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\nimport { TicketService } from '../ticket/ticket.service';\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: 'ticket',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/origination/entities/ticket`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n TicketService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class TicketModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\nimport { TransferDto } from './transfer-dto';\r\n\r\n@Injectable()\r\nexport class TransferService extends AgroEntityService<TransferDto> {\r\n\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/transfer/entities/transfer`,\r\n `agro/transfer/actions`,\r\n `agro/transfer/queries`,\r\n translate\r\n );\r\n }\r\n\r\n public getTransferWithAllProperties(id: any) {\r\n return this.http.get(`${this.entityUrl}/${id}`, {\r\n params: {\r\n displayfields: '*,quantities.*,effective.*,destinations.*,destinations.externalInvoices,destinations.producer.e001pes,producer.*,producer.e001pes,destinations.invoices'\r\n }\r\n }).pipe(this.defaultCatch());\r\n }\r\n\r\n public printProducerExtractReport(transferId: string) {\r\n return this.http.post<any>(`${this.actionsUrl}/printReceiptReport`, { transferId }).pipe(this.defaultCatch());\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\n\r\nimport { TransferService } from './transfer.service';\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: 'transfer',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/transfer/entities/transfer`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n TransferService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class TransferModule {}\r\n\r\n","import { FixationDto } from './fixation-dto';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { AgroEntityService } from '../../../../services/agro-entity-service';\r\n\r\nexport interface ICancelFixationPayload {\r\n fixationId: string;\r\n}\r\n\r\n@Injectable()\r\nexport class FixationService extends AgroEntityService<FixationDto> {\r\n\r\n constructor(protected http: HttpClient, protected messageService: MessageService, protected translate: TranslateService) {\r\n super(\r\n http,\r\n messageService,\r\n `agro/fixation/entities/fixation`,\r\n `agro/fixation/actions`,\r\n `agro/fixation/queries`,\r\n translate\r\n );\r\n }\r\n\r\n cancelFixation(body: ICancelFixationPayload) {\r\n return this.http\r\n .post<FixationService[]>(`${this.actionsUrl}/cancelFixationEvent`, body)\r\n .pipe(this.defaultCatch());\r\n }\r\n\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { PermissionsModule } from \"@seniorsistemas/platform-components\";\r\nimport { FixationService } from \"./fixation.service\";\r\n\r\n@NgModule({\r\n imports: [\r\n PermissionsModule.forChild([\r\n {\r\n name: \"fixation\",\r\n actions: [\"Visualizar\", \"Incluir\", \"Editar\", \"Excluir\"],\r\n uri: `res://senior.com.br/agro/fixation/entities/fixation`,\r\n },\r\n ]),\r\n ],\r\n providers: [FixationService],\r\n declarations: [],\r\n exports: [],\r\n})\r\nexport class FixationModule {}\r\n","import { CommonModule } from \"@angular/common\";\r\nimport { NgModule } from \"@angular/core\";\r\nimport { TooltipModule } from \"primeng/tooltip\";\r\nimport { CancelEventDialogComponent } from \"./cancel-event-dialog.component\";\r\nimport { ButtonModule, DynamicFormModule, LoadingStateModule } from \"@seniorsistemas/angular-components\";\r\nimport { LibTranslationModule } from \"../../lib-translation.module\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\n\r\n@NgModule({\r\n imports: [CommonModule, ReactiveFormsModule, TooltipModule, ButtonModule, LibTranslationModule, DynamicFormModule, LoadingStateModule],\r\n declarations: [CancelEventDialogComponent],\r\n exports: [CancelEventDialogComponent],\r\n})\r\nexport class CancelEventDialogModule {}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { LocaleModule, ButtonModule, BadgeModule } from \"@seniorsistemas/angular-components\";\r\nimport { DialogModule, DialogService, FieldsetModule } from \"primeng\";\r\nimport { EventStepsModule } from \"../event-steps/event-steps.module\";\r\nimport { EventControlBoardComponent } from \"./event-control-board.component\";\r\nimport { SharedModule } from \"./shared.module\";\r\nimport { E001pesModule } from \"./service/e001pes/e001pes.module\";\r\nimport { E001TnsModule } from \"./service/e001tns/e001tns.module\";\r\nimport { E012famService } from \"./service/e012fam/e012fam.service\";\r\nimport { E070EmpModule } from \"./service/e070emp/e070emp.module\";\r\nimport { E070FilModule } from \"./service/e070fil/e070fil.module\";\r\nimport { E075DerModule } from \"./service/e075der/e075der.module\";\r\nimport { E205depService } from \"./service/e205dep/e205dep.service\";\r\nimport { EventControlModule } from \"./service/event-control/event-control.module\";\r\nimport { EventControlItemModule } from \"./service/event-control-item/event-control-item.module\";\r\nimport { ExternalInvoiceModule } from \"./service/external-invoice/external-invoice.module\";\r\nimport { InvoiceModule } from \"./service/invoice/invoice.module\";\r\nimport { OriginationModule } from \"./service/origination/origination.module\";\r\nimport { RuralEstateModule } from \"./service/rural-estate/rural-estate.module\";\r\nimport { TicketModule } from \"./service/ticket/ticket.module\";\r\nimport { PaginatorStorageService } from \"./service/paginator-storage.service\";\r\nimport { WebsocketModule } from \"../../services/websocket/websocket.module\";\r\n\r\nimport { LibTranslationModule } from \"../../lib-translation.module\";\r\nimport { EventControlService } from \"./service/event-control/event-control.service\";\r\nimport { TransferModule } from \"./service/transfer/transfer.module\";\r\nimport { FixationModule } from \"./service/fixation-entity/fixation.module\";\r\nimport { CancelEventDialogModule } from \"../cancel-event-dialog/cancel-event-dialog.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n LocaleModule.forChild(),\r\n SharedModule,\r\n ButtonModule,\r\n EventStepsModule,\r\n DialogModule,\r\n FieldsetModule,\r\n BadgeModule,\r\n E001pesModule,\r\n E001TnsModule,\r\n E070EmpModule,\r\n E070FilModule,\r\n TransferModule,\r\n E075DerModule,\r\n EventControlModule,\r\n EventControlItemModule,\r\n ExternalInvoiceModule,\r\n InvoiceModule,\r\n OriginationModule,\r\n RuralEstateModule,\r\n TicketModule,\r\n WebsocketModule,\r\n LibTranslationModule,\r\n FixationModule,\r\n CancelEventDialogModule,\r\n ],\r\n declarations: [EventControlBoardComponent],\r\n exports: [EventControlBoardComponent],\r\n providers: [E012famService, E205depService, PaginatorStorageService,\r\n EventControlService, DialogService],\r\n})\r\nexport class EventControlBoardModule {}\r\n","export enum statusLookup {\r\n PENDING = \"PENDING\",\r\n FINISHED = \"FINISHED\",\r\n ERROR = \"ERROR\",\r\n}\r\n\r\nexport enum statusIntegration {\r\n SUCCESS = \"SUCCESS\",\r\n IN_PROGRESS = \"IN_PROGRESS\",\r\n ERROR = \"ERROR\",\r\n}\r\n\r\nexport interface IInvoiceLookupFilter {\r\n filter: IRecInvoiceLookupFilter;\r\n pageRequest: IRecPageRequest;\r\n}\r\nexport interface IRecInvoiceLookupFilter {\r\n companyId: string;\r\n branchId: string;\r\n ruralEstateIds: string[];\r\n producerIds: string[];\r\n productId: string;\r\n multiProducts: boolean;\r\n number?: number;\r\n series?: string;\r\n key?: string;\r\n issuanceDateStart?: string;\r\n issuanceDateEnd?: string;\r\n}\r\n\r\nexport interface IRecPageRequest {\r\n offset: number;\r\n size: number;\r\n orderBy: IOrderBy[];\r\n}\r\n\r\nexport interface IOrderBy {\r\n field: string;\r\n order: \"asc\" | \"desc\";\r\n}\r\n\r\nexport interface IInvoiceLookupResponse {\r\n status: statusLookup;\r\n message: string;\r\n result: IInvoiceLookupDataResponse;\r\n}\r\n\r\nexport interface IInvoiceLookupRecord {\r\n externalInvoiceId?: string;\r\n companyId: string;\r\n branchId: string;\r\n producerId: string;\r\n issuanceDate: string;\r\n items: IInvoiceLookupItemRecord[];\r\n invoiceId?: string;\r\n ruralEstateId?: string;\r\n number?: number;\r\n series?: string;\r\n seriesId?: string;\r\n seriesLegal?: string;\r\n key?: string;\r\n netTotalValue?: number;\r\n totalItems?: number;\r\n totalItemsQuantity?: number;\r\n}\r\n\r\ninterface IInvoiceLookupItemRecord {\r\n itemSequence: number;\r\n productId: string;\r\n productCode: string;\r\n serviceId: string;\r\n unitPrice: number;\r\n quantity: number;\r\n}\r\n\r\nexport interface IInvoiceLookupDataResponse {\r\n totalElements: number;\r\n status: statusIntegration;\r\n invoices?: IInvoiceLookupRecord[];\r\n message?: string;\r\n lookupId?: string;\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { LibTranslationService as TranslateService } from \"../../../../services/lib-translation.service\";\r\nimport { IInvoiceLookupFilter, IInvoiceLookupResponse, statusLookup } from \"./interfaces\";\r\nimport { asyncScheduler, Observable, scheduled, Subject, timer } from \"rxjs\";\r\nimport { concatMap, defaultIfEmpty, filter, scan, switchMap, take, takeUntil, tap } from \"rxjs/operators\";\r\n\r\n@Injectable()\r\nexport class AgroInvoiceService extends AgroEntityService<any> {\r\n private readonly pooling = new Subject<void>();\r\n\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: TranslateService\r\n ) {\r\n super(http, messageService, `agro/invoice/entities/invoice`, `agro/invoice/actions`, `agro/invoice/queries`, translate);\r\n }\r\n\r\n invoiceLookupFilter(data: IInvoiceLookupFilter): Observable<IInvoiceLookupResponse> {\r\n return this.http\r\n .post<{ requestId: string }>(`${this.queriesUrl}/invoiceLookup`, data)\r\n .pipe(switchMap((res) => this.pollInvoiceResult(res.requestId)));\r\n }\r\n\r\n cancelActivePooling() {\r\n this.pooling.next();\r\n }\r\n\r\n private pollInvoiceResult(requestId: string): Observable<IInvoiceLookupResponse> {\r\n const delays = Array.from({ length: 10 }, (_, index) => {\r\n if (index === 0) {return 1000;}\r\n return (index + 1) * 1000;\r\n });\r\n\r\n return scheduled(delays, asyncScheduler).pipe(\r\n concatMap((delay) =>\r\n timer(delay).pipe(\r\n switchMap(() => this.http.post<IInvoiceLookupResponse>(`${this.queriesUrl}/getInvoiceLookup`, { requestId })),\r\n tap((res: IInvoiceLookupResponse) => {\r\n if (res.status === statusLookup.ERROR) {\r\n throw new Error(res.message);\r\n }\r\n })\r\n )\r\n ),\r\n scan((_, curr) => curr, null as IInvoiceLookupResponse | null),\r\n filter((res) => res?.status === statusLookup.FINISHED),\r\n take(1),\r\n defaultIfEmpty(null),\r\n takeUntil(this.pooling)\r\n );\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Directive, EventEmitter } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ButtonPriority, Column, LocaleService } from '@seniorsistemas/angular-components';\r\nimport { LazyLoadEvent, MessageService } from 'primeng';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, finalize, takeUntil } from 'rxjs/operators';\r\nimport { AgroNumberUtils } from '../../common/agro-number-utils.class';\r\nimport { AGRO_NUMBERS } from '../../enums/agro-numbers.enum';\r\nimport { KilogramPipe } from '../../pipe/kilogram';\r\nimport { ListParams } from '../../services/agro-entity-service';\r\nimport { LibTranslationService } from '../../services/lib-translation.service';\r\nimport { ModalInvoicePjOptions } from './modal-invoice-pj-options.interface';\r\nimport { AgroInvoiceService } from './services/agro-invoice/agro-invoice.service';\r\nimport { IInvoiceLookupFilter, IInvoiceLookupResponse } from './services/agro-invoice/interfaces';\r\n\r\nconst INVOICE_ITEMS = 'invoiceItems.*';\r\n\r\n@Directive()\r\nexport abstract class ModalInvoicePjBase {\r\n public abstract options: ModalInvoicePjOptions;\r\n public abstract whenSelectInvoices: EventEmitter<any[]>;\r\n\r\n public abstract gridColumns: Partial<Column & { sortable?: boolean }>[];\r\n\r\n public gridData: any[];\r\n public buttonPriority = ButtonPriority;\r\n\r\n public dontHaveAnyInvoice = false;\r\n\r\n public gridLoading = true;\r\n public gridTotalRecords!: number;\r\n public selected: any[] = [];\r\n public unselectedIds = new Set<number>();\r\n\r\n public visible = false;\r\n\r\n public searchValue: FormControl = new FormControl('', []);\r\n\r\n protected readonly ngUnsubscribe = new Subject();\r\n\r\n protected currentParams: ListParams = {\r\n page: 0,\r\n size: 10,\r\n sort: [{ field: 'issuanceDate', order: 1 }],\r\n displayFields: ['*', INVOICE_ITEMS, 'issuanceDate'],\r\n filterQuery: '',\r\n };\r\n\r\n public gridFieldValuesMap: { [key: string]: (row: any) => any } = {\r\n issuanceDate: (row) => this.datePipe.transform(row.issuanceDate, 'dd/MM/yyyy', 'pt-BR'),\r\n invoiceItems: (row) => row.totalItems || 0,\r\n quantity: (row) => this.kilogramPipe.transform(row.totalItemsQuantity || 0),\r\n };\r\n\r\n constructor(\r\n protected readonly translate: LibTranslationService,\r\n protected readonly invoiceService: AgroInvoiceService,\r\n protected readonly localeService: LocaleService,\r\n protected readonly kilogramPipe: KilogramPipe,\r\n protected readonly messageService: MessageService,\r\n protected readonly datePipe: DatePipe,\r\n ) { }\r\n\r\n ngOnDestroy() {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.whenSearchValueChanges();\r\n }\r\n\r\n abstract adaptResult(result: IInvoiceLookupResponse): Promise<any>;\r\n abstract beforeAdd(selectedInvoices: any): Promise<any>;\r\n\r\n protected whenSearchValueChanges() {\r\n this.searchValue.valueChanges\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .pipe(debounceTime(AGRO_NUMBERS.THREE_HUNDRED))\r\n .subscribe((value: string) => {\r\n if (value) {\r\n this.updateGridData(\r\n { first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] },\r\n value\r\n );\r\n } else {\r\n this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] });\r\n }\r\n });\r\n }\r\n\r\n tryToSearchAgain() {\r\n this.gridLoading = true;\r\n this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] });\r\n }\r\n\r\n public open(): void {\r\n if (this.checkIfOptionsIsValid()) {\r\n this.visible = true;\r\n this.gridData = [];\r\n this.gridLoading = true;\r\n this.gridTotalRecords = AGRO_NUMBERS.ZERO;\r\n this.selected = [];\r\n this.unselectedIds.clear();\r\n this.currentParams = {\r\n page: 0,\r\n size: 10,\r\n sort: [],\r\n filterQuery: '',\r\n displayFields: ['*', INVOICE_ITEMS],\r\n };\r\n this.updateGridData({ first: 0, rows: 10, multiSortMeta: [{ field: 'issuanceDate', order: 1 }] });\r\n this.selected = [];\r\n } else {\r\n console.info('ModalInvoicePjComponent: Opções inválidas para abrir o modal.');\r\n }\r\n }\r\n\r\n protected checkIfOptionsIsValid(): boolean {\r\n if (!this.options) {\r\n return false;\r\n }\r\n\r\n if (!this.options.companyId || !this.options.branchId) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n private getPagination(event: LazyLoadEvent): { page: number; size: number } {\r\n const size = event.rows;\r\n const page = event.first / size;\r\n return { page, size };\r\n }\r\n\r\n public updateCurrentParams(event: LazyLoadEvent) {\r\n this.currentParams = {\r\n ...this.getPagination(event),\r\n sort: event.multiSortMeta?.length ? event.multiSortMeta : [{ field: 'issuanceDate', order: 1 }],\r\n displayFields: ['*', INVOICE_ITEMS, 'issuanceDate'],\r\n };\r\n }\r\n\r\n public updateGridData(event: LazyLoadEvent, searchValue?: string) {\r\n\r\n this.cancelPooling();\r\n\r\n const { companyId, branchId } = this.options;\r\n const producerId = this.options.producersIds[0];\r\n const ruralEstateId = this.options.ruralEstateIds[0];\r\n\r\n this.gridLoading = true;\r\n this.dontHaveAnyInvoice = false;\r\n this.updateCurrentParams(event);\r\n\r\n const filterBody: IInvoiceLookupFilter = {\r\n filter: {\r\n companyId,\r\n branchId,\r\n producerIds: [producerId],\r\n ruralEstateIds: [ruralEstateId],\r\n multiProducts: false,\r\n productId: this.options.productId,\r\n },\r\n pageRequest: {\r\n offset: this.currentParams.page,\r\n size: this.currentParams.size,\r\n orderBy: this.currentParams.sort.map((sort) => ({\r\n field: sort.field,\r\n order: sort.order === 1 ? 'asc' : 'desc',\r\n })),\r\n },\r\n };\r\n\r\n if (searchValue) {\r\n searchValue = AgroNumberUtils.getNearInteger(searchValue).toString();\r\n }\r\n\r\n this.invoiceService\r\n .invoiceLookupFilter(filterBody)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n finalize(() => {\r\n this.gridLoading = false;\r\n })\r\n )\r\n .subscribe(\r\n (result) => {\r\n this.gridData = result?.result?.invoices || [];\r\n if (this.gridData.length === 0 && !searchValue) {\r\n this.dontHaveAnyInvoice = true;\r\n }\r\n this.gridTotalRecords = result.result.totalElements;\r\n },\r\n (error) => {\r\n console.info('Erro ao buscar notas fiscais: ', error);\r\n },\r\n () => {\r\n this.gridLoading = false;\r\n }\r\n );\r\n }\r\n\r\n cancelPooling() {\r\n this.invoiceService.cancelActivePooling();\r\n }\r\n\r\n async add(): Promise<void> {\r\n try {\r\n await this.beforeAdd(this.selected);\r\n this.whenSelectInvoices.emit(this.selected);\r\n this.resetSpecs();\r\n } catch (error) {\r\n console.info('Erro ao selecionar notas fiscais: ', error);\r\n }\r\n }\r\n\r\n protected resetSpecs(): void {\r\n this.selected = [];\r\n this.dontHaveAnyInvoice = false;\r\n this.visible = false;\r\n this.gridData = [];\r\n this.gridLoading = false;\r\n this.gridTotalRecords = 0;\r\n }\r\n\r\n async cancel(): Promise<void> {\r\n this.resetSpecs();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PermissionsModule } from '@seniorsistemas/platform-components';\r\nimport { AgroInvoiceService } from './agro-invoice.service';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\n@NgModule({\r\n imports: [\r\n HttpClientModule,\r\n PermissionsModule.forChild([\r\n {\r\n name: 'invoice',\r\n actions: ['Visualizar', 'Incluir', 'Editar', 'Excluir'],\r\n uri: `res://senior.com.br/agro/origination/entities/invoice`,\r\n },\r\n ]),\r\n ],\r\n providers: [\r\n AgroInvoiceService,\r\n ],\r\n declarations: [\r\n ],\r\n exports: [\r\n ],\r\n})\r\nexport class AgroInvoiceModule {}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Column, LocaleService } from '@seniorsistemas/angular-components';\r\nimport { MessageService } from 'primeng';\r\nimport { KilogramPipe } from '../../../pipe/kilogram';\r\nimport { LibTranslationService } from '../../../services/lib-translation.service';\r\nimport { ModalInvoicePjBase } from '../modal-invoice-pj-base.class';\r\nimport { ModalInvoicePjOptions } from '../modal-invoice-pj-options.interface';\r\nimport { AgroInvoiceService } from '../services/agro-invoice';\r\nimport { IInvoiceLookupResponse } from '../services/agro-invoice/interfaces';\r\nimport { EMPTY, of } from 'rxjs';\r\n\r\n@Component({\r\n selector: 's-modal-invoice-pj-for-origination',\r\n templateUrl: '../template.html',\r\n styleUrls: ['../style.scss'],\r\n})\r\nexport class ModalInvoicePjForOriginationComponent extends ModalInvoicePjBase implements OnInit, OnDestroy {\r\n @Input() options: ModalInvoicePjOptions;\r\n @Output() whenSelectInvoices = new EventEmitter<any[]>();\r\n\r\n public gridColumns: Partial<Column & { sortable?: boolean }>[];\r\n\r\n constructor(\r\n public translate: LibTranslationService,\r\n public invoiceService: AgroInvoiceService,\r\n public localeService: LocaleService,\r\n public kilogramPipe: KilogramPipe,\r\n public messageService: MessageService,\r\n public datePipe: DatePipe\r\n ) {\r\n super(translate, invoiceService, localeService, kilogramPipe, messageService, datePipe);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.defineGridColumns();\r\n super.ngOnInit();\r\n }\r\n\r\n defineGridColumns(): void {\r\n this.gridColumns = [\r\n { field: 'number', header: this.translate.instant('agro.angular_components.number') },\r\n { field: 'series', header: this.translate.instant('agro.angular_components.series') },\r\n { field: 'invoiceItems', header: this.translate.instant('agro.angular_components.itens'), sortable: false },\r\n { field: 'quantity', header: this.translate.instant('agro.angular_components.quantity'), sortable: false },\r\n { field: 'issuanceDate', header: this.translate.instant('agro.angular_components.issuance_date') },\r\n ];\r\n }\r\n\r\n\r\n adaptResult(result: IInvoiceLookupResponse): Promise<any> {\r\n return Promise.resolve(result as any);\r\n }\r\n\r\n beforeAdd(selectedInvoices: any): Promise<any> {\r\n return of(EMPTY).toPromise();\r\n }\r\n}\r\n","import { ReactiveFormsModule } from '@angular/forms';\r\nimport { AgroInvoiceModule } from './services/agro-invoice/index';\r\nimport { LibTranslationModule } from '../../lib-translation.module';\r\nimport { CommonModule, CurrencyPipe, DatePipe, DecimalPipe } from '@angular/common';\r\nimport {\r\n BignumberInputModule,\r\n ButtonModule,\r\n EmptyStateModule,\r\n LoadingStateModule,\r\n LocaleModule,\r\n LocalizedDatePipe,\r\n TableHeaderCheckboxModule,\r\n TableModule,\r\n} from '@seniorsistemas/angular-components';\r\nimport { TableModule as PrimeTableModule } from 'primeng/table';\r\nimport { ConfirmDialogModule, DialogModule, InputTextModule, MessagesModule, SharedModule } from 'primeng';\r\nimport { KilogramModule, KilogramPipe } from '../../pipe/kilogram';\r\nimport { HttpClientModule } from '@angular/common/http';\r\n\r\nexport const imports = [\r\n CommonModule,\r\n LibTranslationModule,\r\n ButtonModule,\r\n SharedModule,\r\n PrimeTableModule,\r\n KilogramModule,\r\n EmptyStateModule,\r\n BignumberInputModule,\r\n InputTextModule,\r\n ReactiveFormsModule,\r\n AgroInvoiceModule,\r\n DialogModule,\r\n TableModule,\r\n LoadingStateModule,\r\n MessagesModule,\r\n HttpClientModule,\r\n ConfirmDialogModule,\r\n TableHeaderCheckboxModule,\r\n LocaleModule.forRoot(),\r\n];\r\nexport const providers = [DecimalPipe, DatePipe, KilogramPipe, LocalizedDatePipe, CurrencyPipe];\r\n","import { NgModule } from '@angular/core';\r\nimport { ModalInvoicePjForOriginationComponent } from './modal-invoice-pj-for-origination.component';\r\nimport { imports, providers } from '../modal-shared-imports';\r\n\r\n@NgModule({\r\n declarations: [ModalInvoicePjForOriginationComponent],\r\n imports: [...imports],\r\n providers: [...providers],\r\n exports: [ModalInvoicePjForOriginationComponent],\r\n})\r\nexport class ModalInvoicePjForOriginationModule {}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { LocaleService } from '@seniorsistemas/angular-components';\r\nimport { MessageService } from 'primeng';\r\nimport { KilogramPipe } from '../../../pipe/kilogram';\r\nimport { LibTranslationService } from '../../../services/lib-translation.service';\r\nimport { AgroInvoiceService } from '../services/agro-invoice';\r\nimport { ModalInvoicePjForOriginationComponent } from '../for-origination/modal-invoice-pj-for-origination.component';\r\n\r\n@Component({\r\n selector: 's-modal-invoice-pj-for-transfer',\r\n templateUrl: '../template.html',\r\n styleUrls: ['../style.scss'],\r\n})\r\nexport class ModalInvoicePjForTransferComponent extends ModalInvoicePjForOriginationComponent implements OnInit, OnDestroy {\r\n\r\n constructor(\r\n public translate: LibTranslationService,\r\n public invoiceService: AgroInvoiceService,\r\n public localeService: LocaleService,\r\n public kilogramPipe: KilogramPipe,\r\n public messageService: MessageService,\r\n public datePipe: DatePipe\r\n ) {\r\n super(translate, invoiceService, localeService, kilogramPipe, messageService, datePipe);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ModalInvoicePjForTransferComponent } from './modal-invoice-pj-for-transfer.component';\r\nimport { imports, providers } from '../modal-shared-imports';\r\n\r\n@NgModule({\r\n declarations: [ModalInvoicePjForTransferComponent],\r\n imports: [...imports],\r\n providers: [...providers],\r\n exports: [ModalInvoicePjForTransferComponent],\r\n})\r\nexport class ModalInvoicePjForTransferModule {}\r\n","import { CurrencyPipe, DatePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Column, LocaleService } from '@seniorsistemas/angular-components';\r\nimport { MessageService } from 'primeng';\r\nimport { EMPTY, of } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { KilogramPipe } from '../../../pipe/kilogram';\r\nimport { LibTranslationService } from '../../../services/lib-translation.service';\r\nimport { ProducerInvoiceService } from '../../../services/producer-invoice/producer-invoice.service';\r\nimport { ModalInvoicePjBase } from '../modal-invoice-pj-base.class';\r\nimport { AgroInvoiceService } from '../services/agro-invoice';\r\nimport { IInvoiceLookupResponse } from '../services/agro-invoice/interfaces';\r\nimport { ModalInvoicePjForFixationOptions } from './modal-fixation-options.interface';\r\nimport { ListParams } from '../../../services/agro-entity-service';\r\n\r\n@Component({\r\n selector: 's-modal-invoice-pj-for-fixation',\r\n templateUrl: '../template.html',\r\n styleUrls: ['../style.scss'],\r\n})\r\nexport class ModalInvoicePjForFixationComponent extends ModalInvoicePjBase implements OnInit, OnDestroy {\r\n @Input() options: ModalInvoicePjForFixationOptions;\r\n @Output() whenSelectInvoices = new EventEmitter<any[]>();\r\n\r\n public gridColumns: Partial<Column & { sortable?: boolean }>[];\r\n\r\n constructor(\r\n readonly translationService: LibTranslationService,\r\n readonly invoiceService: AgroInvoiceService,\r\n readonly localeService: LocaleService,\r\n readonly kilogramPipe: KilogramPipe,\r\n readonly currencyPipe: CurrencyPipe,\r\n readonly producerInvoiceService: ProducerInvoiceService,\r\n readonly messageService: MessageService,\r\n public datePipe: DatePipe\r\n ) {\r\n super(translationService, invoiceService, localeService, kilogramPipe, messageService, datePipe);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.defineGridColumns();\r\n this.gridFieldValuesMap = {\r\n ...this.gridFieldValuesMap,\r\n series: (row) => row?.seriesLegal || row?.series || row.series,\r\n totalValue: (row) => this.currencyPipe.transform(row?.netTotalValue || 0, 'BRL'),\r\n };\r\n super.ngOnInit();\r\n }\r\n\r\n defineGridColumns(): void {\r\n this.gridColumns = [\r\n { field: 'number', header: this.translate.instant('agro.angular_components.number') },\r\n { field: 'series', header: this.translate.instant('agro.angular_components.series') },\r\n {\r\n field: 'totalValue',\r\n header: this.translate.instant('agro.angular_components.total_value'),\r\n sortable: false,\r\n },\r\n {\r\n field: 'linkedValue',\r\n header: this.translate.instant('agro.angular_components.value_linked'),\r\n sortable: false,\r\n },\r\n { field: 'issuanceDate', header: this.translate.instant('agro.angular_components.issuance_date') },\r\n ];\r\n }\r\n\r\n beforeAdd(selectedInvoices: any[]): Promise<any> {\r\n if (selectedInvoices?.length) {\r\n this.linkSelectedInvoicesInFixationItem();\r\n }\r\n return of(EMPTY).toPromise();\r\n }\r\n\r\n public open(): void {\r\n if (this.options.fixationItems.filter((item) => item.requiredValue > item.totalValueInvoices).length === 0) {\r\n this.messageService.add({\r\n severity: 'warn',\r\n summary: this.translate.instant('agro.angular_components.max_linked_invoices'),\r\n detail: this.translate.instant('agro.angular_components.max_linked_invoices_description'),\r\n });\r\n return;\r\n }\r\n super.open();\r\n }\r\n\r\n public async linkSelectedInvoicesInFixationItem() {\r\n if (!(await this.isValidAndSetLinkedValueInInvoices())) {\r\n this.gridLoading = false;\r\n return;\r\n }\r\n const entities = []\r\n .concat(\r\n ...this.selected.map((invoice: any) => {\r\n return this.options.fixationItems.map((fixationItem: any) => {\r\n const requiredValue =\r\n (fixationItem.requiredValue || 0) - (fixationItem.totalValueInvoices || 0);\r\n if (invoice.remainingValue <= 0 || requiredValue <= 0) {\r\n return null;\r\n }\r\n const valueToBeLinked =\r\n requiredValue > invoice.remainingValue ? invoice.remainingValue : requiredValue;\r\n\r\n invoice.remainingValue -= valueToBeLinked;\r\n const body = {\r\n series: invoice?.series,\r\n number: String(invoice?.number),\r\n invoiceId: invoice?.id,\r\n linkedValue: valueToBeLinked,\r\n totalValue: invoice?.totalValue,\r\n issuanceDate: invoice?.issuanceDate,\r\n fixationItem,\r\n };\r\n\r\n fixationItem.totalValueInvoices = (fixationItem.totalValueInvoices || 0) + valueToBeLinked;\r\n\r\n return body;\r\n });\r\n })\r\n )\r\n .filter((entity: any) => entity !== null);\r\n this.gridLoading = true;\r\n this.producerInvoiceService\r\n .insertBulk(entities)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n finalize(() => {\r\n this.gridLoading = false;\r\n this.whenSelectInvoices.emit(this.selected);\r\n })\r\n )\r\n .subscribe(() => {\r\n this.messageService.add({\r\n severity: 'success',\r\n summary: this.translate.instant('agro.angular_components.success'),\r\n detail: this.translate.instant('agro.angular_components.invoice_created_successfully'),\r\n });\r\n this.cancel();\r\n });\r\n }\r\n\r\n async isValidAndSetLinkedValueInInvoices(): Promise<boolean> {\r\n const valorLinked = await this.producerInvoiceService.getTotalLinkedInInvoices(\r\n this.selected.map((invoice: any) => invoice.id),\r\n this.options.fixationId\r\n );\r\n let isValid = true;\r\n this.selected.forEach((invoice: any) => {\r\n invoice.linkedValue = valorLinked.find((linked: any) => linked.invoiceId === invoice.id)?.totalLinked || 0;\r\n if (invoice.linkedValue >= invoice.totalValue) {\r\n this.messageService.add({\r\n severity: 'warn',\r\n summary: this.translate.instant('agro.angular_components.link_invoice'),\r\n detail: this.translate.instant('agro.angular_components.invoice_already_linked'),\r\n });\r\n isValid = false;\r\n }\r\n invoice.remainingValue = invoice.totalValue - invoice.linkedValue;\r\n });\r\n return isValid;\r\n }\r\n\r\n async adaptResult(result: IInvoiceLookupResponse): Promise<any> {\r\n return Promise.resolve(result as any);\r\n }\r\n\r\n cancel(): Promise<void> {\r\n this.options.fixationItems = [];\r\n return super.cancel();\r\n }\r\n\r\n async updateLinkedValueInGrid(rows: number): Promise<void> {\r\n const invoiceId = this.gridData.map((invoice: any) => invoice.id);\r\n let filter = `fixationItem.fixation.id eq '${this.options.fixationId}'`;\r\n if (invoiceId && invoiceId.length > 0) {\r\n filter += `and invoiceId in ('${invoiceId.join(\"','\")}') `;\r\n }\r\n const listParams: Partial<ListParams> = {\r\n page: 0,\r\n size: rows,\r\n filterQuery: filter,\r\n };\r\n await this.producerInvoiceService\r\n .list(listParams)\r\n .pipe(takeUntil(this.ngUnsubscribe))\r\n .toPromise()\r\n .then((producerInvoices: any) => {\r\n producerInvoices?.contents.forEach((invoice: any) => {\r\n const gridInvoice = this.gridData.find((item: any) => item.id === invoice.invoiceId);\r\n if (gridInvoice) {\r\n gridInvoice.linkedValue = invoice.linkedValue;\r\n }\r\n });\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { ModalInvoicePjForFixationComponent } from './modal-invoice-pj-for-fixation.component';\r\nimport { imports, providers } from '../modal-shared-imports';\r\n@NgModule({\r\n declarations: [ModalInvoicePjForFixationComponent],\r\n imports: [...imports],\r\n providers: [...providers],\r\n exports: [ModalInvoicePjForFixationComponent],\r\n})\r\nexport class ModalInvoicePjForFixationModule {}\r\n","export enum TypeAccount {\r\n PAYABLE = \"PAYABLE\",\r\n RECEIVABLE = \"RECEIVABLE\"\r\n}\r\n\r\nexport enum StatusType {\r\n OPEN = 'OPEN',\r\n PAID = 'PAID',\r\n CANCELLED = 'CANCELLED'\r\n}\r\n\r\nexport enum TitleFieldsOrderBy {\r\n NUMBER_TITLE = \"NUMBER_TITLE\",\r\n ISSUE_DATE = \"ISSUE_DATE\",\r\n DUE_DATE = \"DUE_DATE\",\r\n ORIGINAL_VALUE = \"ORIGINAL_VALUE\",\r\n OPEN_VALUE = \"OPEN_VALUE\",\r\n NET_VALUE = \"NET_VALUE\",\r\n STATUS = \"STATUS\"\r\n}\r\n\r\nexport enum OrderByType {\r\n ASC = \"ASC\",\r\n DESC = \"DESC\"\r\n}\r\n\r\nexport enum QueryStatus {\r\n PENDING = \"PENDING\",\r\n FINISHED = \"FINISHED\",\r\n ERROR = \"ERROR\"\r\n}","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { asyncScheduler, Observable, scheduled, Subject, timer } from \"rxjs\";\r\nimport { concatMap, defaultIfEmpty, filter, map, scan, switchMap, take, takeUntil, tap } from \"rxjs/operators\";\r\nimport { AgroEntityService } from \"../../../../services/agro-entity-service\";\r\nimport { LibTranslationService } from \"../../../../services/lib-translation.service\";\r\nimport { QueryStatus } from \"./enums\";\r\nimport {\r\n FinancialQueryDataResponse,\r\n GetListTitlesResponseInput,\r\n GetListTitlesResponseOutput,\r\n RequestListTitlesInput,\r\n RequestListTitlesOutput,\r\n TitleDto,\r\n} from \"./intefaces\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class AgroFinancialService extends AgroEntityService<TitleDto> {\r\n private readonly pooling = new Subject<void>();\r\n\r\n constructor(\r\n protected http: HttpClient,\r\n protected messageService: MessageService,\r\n protected translate: LibTranslationService\r\n ) {\r\n super(http, messageService, \"agro/financial/entities/title\", \"agro/financial/actions\", \"agro/financial/queries\", translate);\r\n }\r\n\r\n listTitles(input: RequestListTitlesInput): Observable<FinancialQueryDataResponse> {\r\n return this.requestListTitles(input).pipe(switchMap((res: RequestListTitlesOutput) => this.pollListTitlesResult(res.requestId)));\r\n }\r\n\r\n private requestListTitles(input: RequestListTitlesInput) {\r\n return this.http.post<{ requestId: string }>(`${this.queriesUrl}/requestListTitles`, input).pipe(this.defaultCatch());\r\n }\r\n\r\n private getListTitlesResponse(input: GetListTitlesResponseInput) {\r\n return this.http.post<GetListTitlesResponseOutput>(`${this.queriesUrl}/getListTitlesResponse`, input).pipe(this.defaultCatch());\r\n }\r\n\r\n /**\r\n * Realiza o polling para obter o resultado da listagem de títulos financeiros\r\n *\r\n * @param requestId Id da requisição utlizada na busca pelo resultado\r\n * @returns\r\n */\r\n private pollListTitlesResult(requestId: string): Observable<FinancialQueryDataResponse> {\r\n // define o intervalo de polling entre cada tentativa de maneira exponencial\r\n const delays = Array.from({ length: 10 }, (_, index) => {\r\n if (index === 0) {\r\n return 1000;\r\n }\r\n return (index + 1) * 1000;\r\n });\r\n\r\n return scheduled(delays, asyncScheduler).pipe(\r\n concatMap((delay, index) =>\r\n timer(delay).pipe(\r\n switchMap(() => this.getListTitlesResponse({ requestId })),\r\n tap((res: GetListTitlesResponseOutput) => {\r\n if (res.status === QueryStatus.ERROR) {\r\n throw new Error(res.message);\r\n }\r\n }),\r\n map((res) => ({ res, isLast: index === delays.length - 1 }))\r\n )\r\n ),\r\n scan((_, curr) => curr, null as { res: GetListTitlesResponseOutput; isLast: boolean } | null),\r\n filter((data) => data?.res.status === QueryStatus.FINISHED || data?.isLast),\r\n take(1),\r\n map((data) => {\r\n if (data?.isLast && data.res.status === QueryStatus.PENDING) {\r\n throw new Error(\"agro.angular_components.timeout_request_error\");\r\n }\r\n return data?.res;\r\n }),\r\n takeUntil(this.pooling),\r\n map((res: GetListTitlesResponseOutput | null) => res?.result)\r\n );\r\n }\r\n}\r\n","import { registerLocaleData } from \"@angular/common\";\r\nimport localePt from \"@angular/common/locales/pt\";\r\nimport { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { FormArray, FormControl, FormGroup, ValidatorFn, Validators } from \"@angular/forms\";\r\nimport { BadgeColors, ButtonPriority, ButtonSize, FieldType } from \"@seniorsistemas/angular-components\";\r\nimport { LazyLoadEvent, MessageService, Table } from \"primeng\";\r\nimport { catchError, takeUntil } from \"rxjs/operators\";\r\nimport { AgroObjectUtils } from \"../../common/agro-object-utils.class\";\r\nimport { AGRO_NUMBERS } from \"../../enums\";\r\nimport { LibTranslationService } from \"../../services/lib-translation.service\";\r\nimport { FinancialTitleOptions } from \"./financial-title-table-options.interface\";\r\nimport { AgroFinancialService } from \"./services/financial/agro-financial.service\";\r\nimport { OrderByType, TitleFieldsOrderBy } from \"./services/financial/enums\";\r\nimport {\r\n FinancialQueryDataResponse,\r\n FinancialTitleListDto,\r\n RecOrderBy,\r\n RecordTitleDto,\r\n RequestListTitlesInput,\r\n} from \"./services/financial/intefaces\";\r\n\r\ninterface ColumnConfig {\r\n field: string;\r\n header: string;\r\n path: string[];\r\n type: FieldType;\r\n orderBy: TitleFieldsOrderBy | null;\r\n}\r\n\r\n@Component({\r\n selector: \"s-financial-title-table\",\r\n templateUrl: \"./financial-title-table.component.html\",\r\n styleUrls: [\"./financial-title-table.component.css\"],\r\n})\r\nexport class FinancialTitleTableComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(\"TitleTable\") table: Table;\r\n\r\n @Input() options!: FinancialTitleOptions;\r\n @Input() selected: FinancialTitleListDto[] = [];\r\n @Output() selectionChange = new EventEmitter<any[]>();\r\n\r\n gridData: FinancialTitleListDto[] = [];\r\n gridTotalRecords: number;\r\n\r\n errorMessage: any = {\r\n required: this.translate.instant(\"agro.angular_components.error_required\"),\r\n lessThanZero: this.translate.instant(\"agro.angular_components.error_less_or_equal_zero\"),\r\n greatherThanAllowed: this.translate.instant(\"agro.angular_components.error_greater_than_allowed\"),\r\n };\r\n\r\n tableInitialized = false;\r\n showSidebar = false;\r\n selectedRow: RecordTitleDto;\r\n\r\n gridColumns: ColumnConfig[] = [];\r\n sidebarFields: any[] = [];\r\n\r\n componentLoading = false;\r\n\r\n buttonSize = ButtonSize;\r\n buttonPriority = ButtonPriority;\r\n badgeColors = BadgeColors;\r\n\r\n form = new FormGroup({\r\n titlesForm: new FormArray([], []),\r\n });\r\n\r\n private currentListParams: LazyLoadEvent = { first: 0, rows: 10, sortField: null, sortOrder: null, filters: {} };\r\n readonly ngUnsubscribe = new EventEmitter<void>();\r\n\r\n get titlesForm(): FormArray {\r\n return this.form.get(\"titlesForm\") as FormArray;\r\n }\r\n\r\n constructor(\r\n private readonly translate: LibTranslationService,\r\n private readonly financialService: AgroFinancialService,\r\n private readonly messageService: MessageService\r\n ) {\r\n registerLocaleData(localePt);\r\n }\r\n\r\n /**\r\n * Inicializa colunas da tabela e campos exibidos no sidebar,\r\n * depois dispara a primeira busca de títulos com os filtros informados em {@link options}.\r\n */\r\n ngOnInit() {\r\n this.gridColumns = [\r\n this.getFields(\"title\", \"agro.angular_components.title\", [\"numberTitle\"], FieldType.String, TitleFieldsOrderBy.NUMBER_TITLE),\r\n this.getFields(\"type\", \"agro.angular_components.type\", [\"titleType.cod\", \"titleType.desc\"], FieldType.String, null),\r\n this.getFields(\"entryDate\", \"agro.angular_components.entry\", [\"issueDate\"], FieldType.Date, TitleFieldsOrderBy.ISSUE_DATE),\r\n this.getFields(\"dueDate\", \"agro.angular_components.due_date\", [\"dueDate\"], FieldType.Date, TitleFieldsOrderBy.DUE_DATE),\r\n this.getFields(\r\n \"valueOrigin\",\r\n \"agro.angular_components.original_value\",\r\n [\"values.originalValue\"],\r\n FieldType.Money,\r\n TitleFieldsOrderBy.ORIGINAL_VALUE\r\n ),\r\n this.getFields(\r\n \"valueOpen\",\r\n \"agro.angular_components.open_value\",\r\n [\"values.openValue\"],\r\n FieldType.Money,\r\n TitleFieldsOrderBy.OPEN_VALUE\r\n ),\r\n this.getFields(\r\n \"valueNet\",\r\n \"agro.angular_components.value_net\",\r\n [\"values.netValue\"],\r\n FieldType.Money,\r\n TitleFieldsOrderBy.NET_VALUE\r\n ),\r\n this.getFields(\"valuePaid\", \"agro.angular_components.value_to_pay\", [\"valuePaid\"], FieldType.Money, null),\r\n ];\r\n this.sidebarFields = [\r\n this.getFields(\"company\", \"agro.angular_components.company\", [\"company.cod\", \"company.desc\"], FieldType.String, null),\r\n this.getFields(\"branch\", \"agro.angular_components.branch\", [\"branch.cod\", \"branch.desc\"], FieldType.String, null),\r\n this.getFields(\"producer\", \"agro.angular_components.producer\", [\"producer.cod\", \"producer.desc\"], FieldType.String, null),\r\n ...this.gridColumns.filter((col) => ![\"valuePaid\", \"valueNet\"].includes(col.field)),\r\n this.getFields(\"valueFees\", \"agro.angular_components.value_fees\", [\"values.interestValue\"], FieldType.Money, null),\r\n this.getFields(\"valueFine\", \"agro.angular_components.value_fine\", [\"values.fineValue\"], FieldType.Money, null),\r\n this.getFields(\"valueCharge\", \"agro.angular_components.value_charge\", [\"values.chargeValue\"], FieldType.Money, null),\r\n this.getFields(\r\n \"valueCorrection\",\r\n \"agro.angular_components.value_correction\",\r\n [\"values.monetaryCorrectionValue\"],\r\n FieldType.Money,\r\n null\r\n ),\r\n this.getFields(\r\n \"valueAdditional\",\r\n \"agro.angular_components.value_additional\",\r\n [\"values.otherAdditionValue\"],\r\n FieldType.Money,\r\n null\r\n ),\r\n this.getFields(\"valueDiscount\", \"agro.angular_components.value_discount\", [\"values.discountValue\"], FieldType.Money, null),\r\n this.getFields(\r\n \"valueOtherDiscount\",\r\n \"agro.angular_components.value_other_discount\",\r\n [\"values.otherDiscountValue\"],\r\n FieldType.Money,\r\n null\r\n ),\r\n ...this.gridColumns.filter((col) => [\"valueNet\"].includes(col.field)),\r\n ];\r\n this.updateGrid(this.currentListParams);\r\n }\r\n\r\n /**\r\n * Após a renderização da tabela, sincroniza o estado de checkbox/linha editável\r\n * com o array de títulos selecionados para evitar acesso a referências ainda não criadas.\r\n */\r\n ngAfterViewInit() {\r\n this.tableInitialized = true;\r\n this.synchronizeCheckboxAndEditableFieldState();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.ngUnsubscribe.next();\r\n this.ngUnsubscribe.complete();\r\n }\r\n\r\n getPageSize() {\r\n return this.currentListParams?.rows;\r\n }\r\n\r\n getRowIndex() {\r\n return this.currentListParams?.first;\r\n }\r\n\r\n getSortField() {\r\n return this.currentListParams?.sortField;\r\n }\r\n\r\n getSortOrder() {\r\n return this.currentListParams?.sortOrder;\r\n }\r\n\r\n /**\r\n * Faz requisição paginada/ordenada para listar os títulos, monta o formulário\r\n * reativo para cada linha e trata erros de backend exibindo mensagem ao usuário.\r\n *\r\n * @param event parâmetros de paginação, ordenação e filtros vindos do PrimeNG.\r\n */\r\n updateGrid(event: LazyLoadEvent) {\r\n this.componentLoading = true;\r\n const size = event.rows;\r\n const page = event.first / size;\r\n const field = event.sortField;\r\n const sortOrder = event.sortOrder;\r\n this.currentListParams = event;\r\n\r\n const input: RequestListTitlesInput = {\r\n pageRequest: { offset: page, orderBy: this.getRecOrderBy(field, sortOrder), size },\r\n filter: this.options,\r\n };\r\n\r\n this.financialService\r\n .listTitles(input)\r\n .pipe(\r\n takeUntil(this.ngUnsubscribe),\r\n catchError((err: any) => {\r\n this.componentLoading = false;\r\n const detailMsg = err?.message || \"agro.angular_components.error_loading_accounts_description\";\r\n this.addMessage(\r\n \"warn\",\r\n \"agro.angular_components.error_loading_accounts_title\",\r\n detailMsg\r\n );\r\n throw err;\r\n })\r\n )\r\n .subscribe((list: FinancialQueryDataResponse) => {\r\n this.gridData = list.titles || [];\r\n\r\n this.createFormGroupForTitle();\r\n\r\n this.gridTotalRecords = list.totalElements;\r\n this.componentLoading = false;\r\n this.synchronizeCheckboxAndEditableFieldState();\r\n });\r\n }\r\n\r\n onSelectionChange(event: any) {\r\n this.selected = event;\r\n this.synchronizeCheckboxAndEditableFieldState();\r\n this.selectionChange.emit(this.selected);\r\n }\r\n\r\n /**\r\n * Quando um item é desmarcado, limpa o `valuePaid` correspondente\r\n * tanto no modelo da linha quanto no {@link titlesForm}, sem disparar novos eventos.\r\n *\r\n * @param event evento de desmarcação emitido pelo PrimeNG.\r\n */\r\n onUnselect(event: any) {\r\n const row = this.gridData.find((r) => r.id === event.data.id);\r\n if (row) {\r\n row.valuePaid = null;\r\n // atualiza form control correspondente\r\n const idx = this.gridData.findIndex((g) => g.id === row.id);\r\n const ctrl = this.titlesForm.at(idx)?.get(\"valuePaid\");\r\n if (ctrl) {\r\n ctrl.setValue(null, { emitEvent: false });\r\n }\r\n }\r\n }\r\n\r\n showDetails(rowData: any) {\r\n this.selectedRow = rowData;\r\n this.showSidebar = true;\r\n }\r\n\r\n closeDetails() {\r\n this.showSidebar = false;\r\n }\r\n\r\n isLastColumn(index: number, columns: any[]): boolean {\r\n return index === columns.length - 1;\r\n }\r\n\r\n getStyleColumns(field: string): any {\r\n let styleClass = {};\r\n switch (field) {\r\n case \"checkbox\":\r\n styleClass = { width: \"50px\" };\r\n break;\r\n case \"title\":\r\n case \"dueDate\":\r\n styleClass = { width: \"150px\" };\r\n break;\r\n case \"type\":\r\n case \"entryDate\":\r\n styleClass = { width: \"120px\" };\r\n break;\r\n default:\r\n styleClass = { width: \"198px\" };\r\n break;\r\n }\r\n return styleClass;\r\n }\r\n\r\n getProp(obj: any, col: any): any {\r\n if (!obj || !col?.path) {\r\n return \"-\";\r\n }\r\n let separator = \"\";\r\n let result = \"\";\r\n for (const path of col.path) {\r\n result += separator + AgroObjectUtils.getPropAndFormatValue(obj, path, col.type);\r\n separator = \" - \";\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Reconstrói o {@link titlesForm} com base na {@link gridData} atual,\r\n * preservando valores já informados em itens selecionados e registrando listeners de mudança.\r\n */\r\n private createFormGroupForTitle() {\r\n const titlesFormArray = this.form.get(\"titlesForm\") as FormArray;\r\n titlesFormArray.clear();\r\n this.gridData.forEach((item) => {\r\n const selectedItem = this.selected.find((sel) => sel.id === item.id);\r\n const group = new FormGroup({\r\n id: new FormControl(item.id || null, []),\r\n valuePaid: new FormControl(selectedItem?.valuePaid ?? null, []),\r\n });\r\n this.subscribeToValuePaidChanges(group, item);\r\n titlesFormArray.push(group);\r\n });\r\n }\r\n\r\n /**\r\n * Observa mudanças no campo `valuePaid` de uma linha.\r\n * Atualiza o array {@link selected} quando o título está selecionado,\r\n * aplica o limite do valor líquido (`netValue`) e evita loops de eventos usando\r\n * `setValue` com `emitEvent: false`.\r\n *\r\n * @param formGroup grupo de formulário associado à linha da tabela.\r\n * @param item título financeiro correspondente à linha.\r\n */\r\n private subscribeToValuePaidChanges(formGroup: FormGroup, item: FinancialTitleListDto) {\r\n const valuePaidControl = formGroup.get(\"valuePaid\");\r\n valuePaidControl.valueChanges.pipe(takeUntil(this.ngUnsubscribe)).subscribe((rawValue) => {\r\n const valuePaid = this.parseNumberSafe(rawValue);\r\n const titleId = formGroup.get(\"id\")?.value;\r\n\r\n // atualiza selected se o título estiver selecionado\r\n const selIndex = this.selected.findIndex((s) => s.id === titleId);\r\n if (selIndex !== -1) {\r\n // garante que valuePaid seja numérico ou null\r\n this.selected[selIndex].valuePaid = valuePaid;\r\n\r\n const net = Number(this.selected[selIndex]?.values?.netValue) || 0;\r\n if (valuePaid !== null && valuePaid > net) {\r\n this.selected[selIndex].valuePaid = net;\r\n // Usado para evitar loop infinito de eventos\r\n valuePaidControl.setValue(net, { emitEvent: false });\r\n }\r\n\r\n // atualiza flag de erro\r\n this.selected[selIndex].hasError = valuePaidControl.invalid;\r\n // emite mudança de seleção\r\n this.selectionChange.emit(this.selected);\r\n } else {\r\n // se não estiver selecionado, apenas aplica limite local baseado no item\r\n const net = Number(item?.values?.netValue) || 0;\r\n if (valuePaid !== null && valuePaid > net) {\r\n valuePaidControl.setValue(net, { emitEvent: false });\r\n }\r\n }\r\n });\r\n }\r\n\r\n private parseNumberSafe(value: any): number | null {\r\n if (value === null || value === undefined || value === \"\") {\r\n return null;\r\n }\r\n if (typeof value === \"number\") {\r\n return value;\r\n }\r\n if (typeof value === \"string\") {\r\n const cleaned = value.replace(/\\./g, \"\").replace(\",\", \".\");\r\n const n = parseFloat(cleaned);\r\n return isNaN(n) ? null : n;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Inicia o modo de edição na linha da tabela PrimeNG e aplica regras de validação\r\n * no formulário reativo correspondente àquela linha.\r\n *\r\n * @param row objeto de linha recebido da tabela.\r\n */\r\n private initRowEdit(row: any) {\r\n if (this.table) {\r\n this.table.initRowEdit(row);\r\n this.applyValidationToRowEdit(row);\r\n }\r\n }\r\n\r\n /**\r\n * Adiciona validadores dinamicamente ao campo `valuePaid` da linha em edição,\r\n * marca o controle como sujo e força revalidação imediata para exibir erros na tela.\r\n *\r\n * @param row objeto de linha para aplicar validação.\r\n */\r\n private applyValidationToRowEdit(row: any) {\r\n const rowIndex = this.gridData.findIndex((r) => r.id === row.id);\r\n const formGroup = this.titlesForm.at(rowIndex) as FormGroup;\r\n if (!formGroup) {\r\n return;\r\n }\r\n const valuePaidControl = formGroup.get(\"valuePaid\");\r\n valuePaidControl?.setValidators([this.getValidatorsForRowEdit(), Validators.required]);\r\n valuePaidControl?.markAsDirty();\r\n valuePaidControl?.updateValueAndValidity();\r\n }\r\n\r\n /**\r\n * Constrói o {@link ValidatorFn} que valida o `valuePaid`:\r\n * - deve ser maior que zero;\r\n * - não pode ultrapassar o valor líquido (`netValue`) do título.\r\n *\r\n * Retorna os erros consumidos pelo componente `s-control-errors`.\r\n */\r\n private getValidatorsForRowEdit(): ValidatorFn {\r\n return (control: FormControl) => {\r\n const parent = control.parent as FormGroup;\r\n const titleId = parent?.get(\"id\")?.value;\r\n const rawValue = control.value;\r\n const valuePaid = this.parseNumberSafe(rawValue);\r\n if (valuePaid === null || valuePaid === undefined) {\r\n return null;\r\n }\r\n if (valuePaid <= AGRO_NUMBERS.ZERO) {\r\n return { lessThanZero: true };\r\n }\r\n // procura pelo título no selected ou no gridData (prioriza selected)\r\n const selectedRow = this.selected.find((sel) => sel.id === titleId) || this.gridData.find((g) => g.id === titleId);\r\n const netValue = Number(selectedRow?.values?.netValue) || 0;\r\n if (valuePaid > netValue) {\r\n return { greatherThanAllowed: true };\r\n }\r\n return null;\r\n };\r\n }\r\n\r\n private cancelRowEdit(row: any) {\r\n if (this.table) {\r\n this.table.cancelRowEdit(row);\r\n }\r\n }\r\n\r\n /**\r\n * Mantém o estado visual da tabela (checkbox marcado e linha editável) em\r\n * sincronia com o array de títulos selecionados, inclusive restaurando valores\r\n * digitados ao recarregar, ordenar ou paginar a grid.\r\n */\r\n private synchronizeCheckboxAndEditableFieldState() {\r\n if (!this.gridData || !this.tableInitialized) {\r\n return;\r\n }\r\n\r\n this.gridData.forEach((row, index) => {\r\n const selectedRow = this.selected.find((sel) => sel.id === row.id);\r\n\r\n const ctrl = this.titlesForm.at(index)?.get(\"valuePaid\");\r\n\r\n if (selectedRow) {\r\n // Sincroniza o valor pago do item selecionado\r\n row.valuePaid = selectedRow.valuePaid;\r\n if (ctrl) {\r\n ctrl.setValue(selectedRow.valuePaid, { emitEvent: false });\r\n }\r\n this.initRowEdit(row);\r\n } else {\r\n // Cancela a edição se não estiver selecionado\r\n if (ctrl) {\r\n ctrl.setValue(null, { emitEvent: false });\r\n }\r\n this.cancelRowEdit(row);\r\n }\r\n });\r\n }\r\n\r\n private getFields(field: string, header: string, path: string[], type: FieldType, fieldOrderBy: TitleFieldsOrderBy): ColumnConfig {\r\n return { field, path, type, header: this.translate.instant(header), orderBy: fieldOrderBy };\r\n }\r\n\r\n private addMessage(severity: string, summary: string, detail: string, sticky = false, life = 7000) {\r\n this.messageService.add({\r\n severity,\r\n sticky,\r\n life,\r\n summary: this.translate.instant(summary),\r\n detail: this.translate.instant(detail),\r\n });\r\n }\r\n\r\n private getRecOrderBy(field: string, order: number): RecOrderBy {\r\n const gridColumnField = this.gridColumns.find((col) => col.field === field);\r\n if (gridColumnField?.orderBy === null) {\r\n return null;\r\n }\r\n return {\r\n field: gridColumnField?.orderBy || TitleFieldsOrderBy.NUMBER_TITLE,\r\n order: order === 1 ? OrderByType.ASC : OrderByType.DESC,\r\n };\r\n }\r\n}\r\n","import { ObserversModule } from '@angular/cdk/observers';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport {\r\n BadgeModule,\r\n ButtonModule,\r\n ControlErrorsModule,\r\n EmptyStateModule,\r\n LoadingStateModule,\r\n LocaleModule,\r\n NumberInputModule,\r\n SidebarModule,\r\n TableHeaderCheckboxModule,\r\n TableModule,\r\n} from \"@seniorsistemas/angular-components\";\r\nimport { CyclicJsonInterceptorModule, HttpInterceptorModule } from \"@seniorsistemas/platform-components\";\r\nimport { InputTextModule, SharedModule } from \"primeng\";\r\nimport { TableModule as PrimeTableModule } from \"primeng/table\";\r\nimport { LibTranslationModule } from \"../../lib-translation.module\";\r\nimport { FinancialTitleTableComponent } from \"./financial-title-table.component\";\r\n@NgModule({\r\n imports: [\r\n HttpInterceptorModule,\r\n CyclicJsonInterceptorModule,\r\n CommonModule,\r\n CyclicJsonInterceptorModule,\r\n HttpInterceptorModule,\r\n LocaleModule.forChild(),\r\n EmptyStateModule,\r\n TableModule,\r\n PrimeTableModule,\r\n LibTranslationModule,\r\n BadgeModule,\r\n ButtonModule,\r\n SidebarModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n LoadingStateModule,\r\n InputTextModule,\r\n NumberInputModule,\r\n TableHeaderCheckboxModule,\r\n SharedModule,\r\n ObserversModule,\r\n ControlErrorsModule,\r\n ],\r\n declarations: [FinancialTitleTableComponent],\r\n exports: [FinancialTitleTableComponent],\r\n})\r\nexport class FinancialTitleTableModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {LibTranslatePipe as ɵa} from './pipe/lib-translate.pipe';\nexport {LibTranslationService as ɵb} from './services/lib-translation.service';"],"names":["getCookie","SockJS","moment","require$$0","StringUtils","ObjectUtils","PrimeTableModule","PrimeSharedModule","TableModule","TranslateService","userService","StepState","MessageService","SharedModule","InputTextModule","ConfirmDialogModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEa,SAAS;IAAtB;QACqB,UAAK,GAAgB,EAAE,CAAC;QACjC,aAAQ,GAAG,KAAK,CAAC;KAyB5B;IAvBgB,OAAO;;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;aAC5B;iBAAM;gBACH,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC1B,CAAC,CAAC;aACN;SACJ;KAAA;IAEY,OAAO;;YAChB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAC1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;aAC3B;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,IAAI,OAAO,CAAC,CAAC,GAAc;gBAC9B,YAAY,EAAE,CAAC;gBACf,GAAG,EAAE,CAAC;aACT,CAAC,CAAC;SACN;KAAA;;;MCxBQ,gBAAgB;IASzB,YAAY,MAAc,EAAE,OAAe,EAAE,SAAiB;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,EAAqB,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;KACjD;IAED,WAAW;QACP,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEvB,KAAK,MAAM,iBAAiB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACrD,iBAAiB,CAAC,WAAW,EAAE,CAAC;SACnC;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;KAC/B;IAED,SAAS,CAAC,KAAwB;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,SAAS,CAAC,GAAG,aAAkC;QAC3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACrC;IAED,yBAAyB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;KAC1C;IAED,YAAY;;QAER,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;KAC7C;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;KACvC;CACJ;;;ICpDY,sBAAsB,8BAAnC,MAAa,sBAAsB;IAIxB,YAAY;QACf,MAAM,WAAW,GAAGA,GAAS,CAAC,wBAAsB,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,YAAY,CAAC;KACjC;IAEM,eAAe;QAClB,MAAM,WAAW,GAAGA,GAAS,CAAC,wBAAsB,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3C;IAEM,eAAe;QAClB,IAAI,OAAO,GAAGA,GAAS,CAAC,wBAAsB,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACnC,OAAO,IAAI,GAAG,CAAC;SAClB;QACD,OAAO,OAAO,GAAG,WAAW,CAAC;KAChC;CACJ,CAAA;AAtB2B,0CAAmB,GAAG,qBAAqB,CAAC;AAC5C,uCAAgB,GAAG,kBAAkB,CAAC;;AAFrD,sBAAsB;IAHlC,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,sBAAsB,CAuBlC;;ACnBD,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAC7C,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAK7C,IAAa,gBAAgB,GAA7B,MAAa,gBAAgB;IAczB,YAA6B,sBAA8C;QAA9C,2BAAsB,GAAtB,sBAAsB,CAAwB;QAb1D,eAAU,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;QACjD,kBAAa,GAAG,IAAI,OAAO,EAAQ,CAAC;QACpC,iBAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;QACnC,WAAM,GAAG,IAAI,OAAO,EAAa,CAAC;QAClC,gBAAW,GAAG,IAAI,OAAO,EAAyB,CAAC;QAEnD,sBAAiB,GAAuC,IAAI,GAAG,EAAiC,CAAC;QACjG,mBAAc,GAAG,IAAI,SAAS,EAAE,CAAC;QAG1C,gBAAW,GAAG,KAAK,CAAC;QACpB,mBAAc,GAAG,KAAK,CAAC;KAG9B;;;;IAKM,eAAe;QAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3B;;;;IAKY,OAAO;;YAChB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAEpC,IAAI;gBACA,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;oBAC3C,OAAO;iBACV;gBACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAE5B,MAAM,WAAW,GAAgB;oBAC7B,gBAAgB,EAAE;wBACd,OAAO,IAAIC,YAAM,CACb,IAAI,CAAC,kBAAkB,EAAE,EACzB,IAAI,EACJ;4BACI,OAAO,EAAE,+BAA+B;yBAC3C,CACJ,CAAC;qBACL;oBACD,cAAc,EAAE,+BAA+B;oBAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5C,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAChD,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxD,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAChD,gBAAgB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC3D,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAEvC,IAAI,CAAC,WAAW,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;aAC/B;oBAAS;gBACN,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACvC;SACJ;KAAA;;;;IAKY,UAAU;;YACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;gBACrB,OAAO;aACV;YAED,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI;gBACA,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;oBAC5D,gBAAgB,CAAC,WAAW,EAAE,CAAC;iBAClC;gBAED,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE5B,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;iBACvC;aACJ;oBAAS;gBACN,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;aACvC;SACJ;KAAA;;;;;IAMM,WAAW;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;KACrC;;;;;IAMM,YAAY;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;KACjE;;;;;;IAOM,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE;aAChC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;KACtC;;;;;;IAOM,YAAY;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC5C;;;;;;IAOM,WAAW;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;KAC3C;;;;;;IAOM,OAAO;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;KACrC;;;;;;;;IASM,OAAO,CAAI,OAAuB;QACrC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC;SAC/D;QAED,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAI,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC7E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YAChB,IAAI,CAAC,SAAS,EAAE;iBACX,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACb,SAAS,CAAC;gBACP,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;aACnD,CAAC,CAAC;SACV,CAAC,CAAC;QAEH,OAAO,gBAAgB;aAClB,kBAAkB,EAAE;aACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,8BAA8B,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;KACpF;;;;;;;;IASM,WAAW,CAAC,OAAuB;QACtC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEtE,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CACxB,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC;YACN,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACjC,OAAO,IAAI,CAAC,iBAAiB;qBACxB,GAAG,CAAC,GAAG,CAAC;qBACR,yBAAyB,EAAE;qBAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACtB;YAED,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,IAAI,CACvC,MAAM,CAAC,CAAC,gBAAgB;gBACpB,OAAO,IAAI,CAAC,wBAAwB,CAChC,gBAAgB,CAAC,MAAM,EACvB,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,SAAS,CAC7B,KAAK,GAAG,CAAC;aACb,CAAC,EACF,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;SACL,CAAC,CACL,CAAC;KACL;IAEO,KAAK,CAAC,OAAe,EAAE,GAAG,cAAqB;QACnD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO;SACV;KACJ;IAEO,IAAI,CAAC,OAAe;QACxB,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC;KACvC;IAEO,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAC7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;KACJ;IAEO,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAEpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAEO,sBAAsB,CAAC,IAAgB;;QAC3C,IAAI,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,WAAW,GAAG,OAAO,CAAC,SAAS,OAAM,CAAC,CAAC,EAAE;YACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,IAAI,SAAS,CACjD;gBACI,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,OAAO,EAAE;oBACL,OAAO,EAAE,IAAI,CAAC,MAAM;iBACvB;aACJ,CACJ,CAAC,CAAC;YACH,OAAO;SACV;QAED,IAAI,OAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,WAAW,GAAG,OAAO,CAAC,0BAA0B,OAAM,CAAC,CAAC,EAAE;YACxE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,SAAS,CAC7C;gBACI,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,OAAO,EAAE;oBACL,OAAO,EAAE,IAAI,CAAC,MAAM;iBACvB;aACJ,CACJ,CAAC,CAAC;YACH,OAAO;SACV;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QAED,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC9B;IAEO,kBAAkB,CAAC,IAAe;QACtC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC5D,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;KACJ;IAEO,qBAAqB,CAAC,IAAe;;QACzC,MAAM,YAAY,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,0CAAE,OAAO,CAAC;QAC5C,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;KAC1E;IAEO,sBAAsB,CAAC,IAAS;QACpC,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;KAC5C;IAEO,WAAW,CAAC,MAAc,EAAE,IAAe;QAC/C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC1B;IAEO,kBAAkB;QACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;IAEO,mBAAmB;QACvB,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAAE;YAC5D,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;SACnD;KACJ;IAEO,6BAA6B,CAAC,MAAc,EAAE,OAAe,EAAE,SAAiB;QACpF,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC;QAC7D,OAAO,UAAU,MAAM,IAAI,SAAS,IAAI,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;KAC5E;IAEO,8BAA8B,CAAC,MAAc,EAAE,OAAe,EAAE,SAAiB;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC;QAC7D,OAAO,UAAU,MAAM,IAAI,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;KAC/D;IAEO,wBAAwB,CAAC,MAAc,EAAE,OAAe,EAAE,SAAiB;QAC/E,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;KAC9C;IAEa,8BAA8B,CAAC,gBAAuC;;YAChF,IAAI,gBAAgB,CAAC,YAAY,EAAE,EAAE;gBACjC,OAAO;aACV;YAED,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAE/B,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACzH,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEnC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;SAC9C;KAAA;IAEa,6BAA6B;;YACvC,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE;gBAChC,IAAI,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBACzE,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aAC3B;SACJ;KAAA;IAEO,iBAAiB;QACrB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB;YAC3C,cAAc,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;SAC1D,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;KACzB;IAEO,uBAAuB,CAAI,WAAmB,EAAE,gBAAqC;QACzF,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAY;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;YAC/C,gBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACrC,CAAC,CAAC;KACN;IAEO,wBAAwB,CAAI,gBAAqC;QACrE,MAAM,wBAAwB,GAAG,IAAI,CAAC,6BAA6B,CAC/D,gBAAgB,CAAC,MAAM,EACvB,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,SAAS,CAC7B,CAAC;QACF,MAAM,2BAA2B,GAAG,IAAI,CAAC,8BAA8B,CACnE,gBAAgB,CAAC,MAAM,EACvB,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,SAAS,CAC7B,CAAC;QAEF,MAAM,0BAA0B,GAAG,IAAI,CAAC,uBAAuB,CAAC,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;QAC5G,MAAM,6BAA6B,GAAG,IAAI,CAAC,uBAAuB,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,CAAC;QAClH,gBAAgB,CAAC,SAAS,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,CAAC;QACtF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC3C;IAEO,kBAAkB;QACtB,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,eAAe,CAAC;KAC1E;CACJ,CAAA;;YAxXwD,sBAAsB;;;AAdlE,gBAAgB;IAH5B,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,gBAAgB,CAsY5B;;ICrYY,eAAe,GAA5B,MAAa,eAAe;CAAI,CAAA;AAAnB,eAAe;IAV3B,QAAQ,CAAC;QACR,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE;YACT,gBAAgB;YAChB,sBAAsB;SACvB;QACD,OAAO,EAAE;YACP,YAAY;SACb;KACF,CAAC;GACW,eAAe,CAAI;;ACjBhC,MAAM,IAAI,GAAG;IACT,iDAAiD,EAAE,+DAA+D;IAClH,uCAAuC,EAAE,4BAA4B;IACrE,mDAAmD,EAAE,SAAS;IAC9D,iCAAiC,EAAE,WAAW;IAC9C,8CAA8C,EAAE,iCAAiC;IACjF,4BAA4B,EAAE,KAAK;IACnC,6BAA6B,EAAE,KAAK;IACpC,2CAA2C,EAAE,4BAA4B;IACzE,qCAAqC,EAAE,8BAA8B;IACrE,yCAAyC,EAAE,oBAAoB;IAC/D,sCAAsC,EAAE,QAAQ;IAChD,6CAA6C,EAAE,kBAAkB;IACjE,0CAA0C,EAAE,oBAAoB;IAChE,4CAA4C,EAAE,oBAAoB;IAClE,iCAAiC,EAAE,UAAU;IAC7C,oCAAoC,EAAE,aAAa;IACnD,6DAA6D,EAAE,OAAO;IACtE,iCAAiC,EAAE,SAAS;IAC5C,sCAAsC,EAAE,cAAc;IACtD,sDAAsD,EAAE,wBAAwB;IAChF,mDAAmD,EAAE,sBAAsB;IAC3E,gDAAgD,EAAE,eAAe;IACjE,qDAAqD,EAAE,uBAAuB;IAC9E,4CAA4C,EAAE,kBAAkB;IAChE,8CAA8C,EAAE,oBAAoB;IACpE,yCAAyC,EAAE,mCAAmC;IAC9E,8CAA8C,EAAE,sBAAsB;IACtE,sCAAsC,EAAE,QAAQ;IAChD,mEAAmE,EAAE,SAAS;IAC9E,kCAAkC,EAAE,YAAY;IAChD,gCAAgC,EAAE,QAAQ;IAC1C,iCAAiC,EAAE,SAAS;IAC5C,sCAAsC,EAAE,QAAQ;IAChD,6CAA6C,EAAE,sBAAsB;IACrE,0DAA0D,EAAE,sBAAsB;IAClF,gEAAgE,EAAE,+CAA+C;IACjH,gEAAgE,EAAE,4BAA4B;IAC9F,sEAAsE,EAAE,oEAAoE;IAC5I,iCAAiC,EAAE,OAAO;IAC1C,6BAA6B,EAAE,WAAW;IAC1C,iCAAiC,EAAE,SAAS;IAC5C,iCAAiC,EAAE,SAAS;IAC5C,gCAAgC,EAAE,UAAU;IAC5C,+BAA+B,EAAE,QAAQ;IACzC,oCAAoC,EAAE,YAAY;IAClD,gCAAgC,EAAE,SAAS;IAC3C,qDAAqD,EAAE,2CAA2C;IAClG,mDAAmD,EAAE,yBAAyB;IAC9E,iDAAiD,EAAE,2BAA2B;IAC9E,+CAA+C,EAAE,oBAAoB;IACrE,2CAA2C,EAAE,mBAAmB;IAChE,8CAA8C,EAAE,YAAY;IAC5D,gDAAgD,EAAE,iBAAiB;IACnE,sCAAsC,EAAE,IAAI;IAC5C,oDAAoD,EAAE,wBAAwB;IAC9E,sDAAsD,EAAE,4BAA4B;IACpF,2CAA2C,EAAE,iBAAiB;IAC9D,2CAA2C,EAAE,kCAAkC;IAC/E,2CAA2C,EAAE,QAAQ;IACrD,2CAA2C,EAAE,kBAAkB;IAC/D,8CAA8C,EAAE,YAAY;IAC5D,gDAAgD,EAAE,iBAAiB;IACnE,sCAAsC,EAAE,IAAI;IAC5C,oDAAoD,EAAE,wBAAwB;IAC9E,sDAAsD,EAAE,4BAA4B;IACpF,2CAA2C,EAAE,gBAAgB;IAC7D,2CAA2C,EAAE,MAAM;IACnD,2CAA2C,EAAE,iBAAiB;IAC9D,2CAA2C,EAAE,yBAAyB;IACtE,8BAA8B,EAAE,QAAQ;IACxC,qDAAqD,EAAE,kDAAkD;IACzG,+CAA+C,EAAE,eAAe;IAChE,uCAAuC,EAAE,gBAAgB;IACzD,0CAA0C,EAAE,oCAAoC;IAChF,yCAAyC,EAAE,sBAAsB;IACjE,0CAA0C,EAAE,wCAAwC;IACpF,yCAAyC,EAAE,sBAAsB;IACjE,qDAAqD,EAAE,yCAAyC;IAChG,+CAA+C,EAAE,gBAAgB;IACjE,wCAAwC,EAAE,mBAAmB;IAC7D,kDAAkD,EAAE,0EAA0E;IAC9H,4CAA4C,EAAE,kBAAkB;IAChE,gDAAgD,EAAE,iBAAiB;IACnE,wDAAwD,EAAE,iDAAiD;IAC3G,kDAAkD,EAAE,gBAAgB;IACpE,uCAAuC,EAAE,qBAAqB;IAC9D,kDAAkD,EAAE,YAAY;IAChE,oDAAoD,EAAE,iBAAiB;IACvE,iDAAiD,EAAE,SAAS;IAC5D,8DAA8D,EAAE,qBAAqB;IACrF,iDAAiD,EAAE,QAAQ;IAC3D,8DAA8D,EAAE,oBAAoB;IACpF,+DAA+D,EAAE,4BAA4B;IAC7F,yDAAyD,EAAE,4BAA4B;IACvF,oDAAoD,EAAE,kBAAkB;IACxE,gEAAgE,EAAE,8BAA8B;IAChG,mDAAmD,EAAE,YAAY;IACjE,0DAA0D,EAAE,OAAO;IACnE,kDAAkD,EAAE,qBAAqB;IACzE,0CAA0C,EAAE,gBAAgB;IAC5D,4CAA4C,EAAE,8BAA8B;IAC5E,uDAAuD,EAAE,YAAY;IACrE,yDAAyD,EAAE,iBAAiB;IAC5E,oEAAoE,EAAE,4BAA4B;IAClG,8DAA8D,EAAE,4BAA4B;IAC5F,0DAA0D,EAAE,gBAAgB;IAC5E,uEAAuE,EAAE,iCAAiC;IAC1G,wDAAwD,EAAE,iBAAiB;IAC3E,4DAA4D,EAAE,4BAA4B;IAC1F,wEAAwE,EAAE,wCAAwC;IAClH,+DAA+D,EAAE,OAAO;IACxE,uDAAuD,EAAE,8BAA8B;IACvF,+CAA+C,EAAE,gBAAgB;IACjE,6DAA6D,EAAE,wBAAwB;IACvF,+DAA+D,EAAE,4BAA4B;IAC7F,4DAA4D,EAAE,8BAA8B;IAC5F,uDAAuD,EAAE,8BAA8B;IACvF,oDAAoD,EAAE,oBAAoB;IAC1E,kDAAkD,EAAE,sBAAsB;IAC1E,oDAAoD,EAAE,sBAAsB;IAC5E,qDAAqD,EAAE,kBAAkB;IACzE,qDAAqD,EAAE,qBAAqB;IAC5E,mDAAmD,EAAE,kBAAkB;IACvE,+DAA+D,EAAE,8BAA8B;IAC/F,wDAAwD,EAAE,wBAAwB;IAClF,0DAA0D,EAAE,4BAA4B;IACxF,uDAAuD,EAAE,qBAAqB;IAC9E,kDAAkD,EAAE,qBAAqB;IACzE,wDAAwD,EAAE,0BAA0B;IACpF,yDAAyD,EAAE,uBAAuB;IAClF,mDAAmD,EAAE,SAAS;IAC9D,gEAAgE,EAAE,2BAA2B;IAC7F,yDAAyD,EAAE,2BAA2B;IACtF,0DAA0D,EAAE,wBAAwB;IACpF,8DAA8D,EAAE,oBAAoB;IACpF,qDAAqD,EAAE,kBAAkB;IACzE,4DAA4D,EAAE,6BAA6B;IAC3F,gDAAgD,EAAE,QAAQ;IAC1D,4DAA4D,EAAE,iCAAiC;IAC/F,qDAAqD,EAAE,0BAA0B;IACjF,8CAA8C,EAAE,SAAS;IACzD,6CAA6C,EAAE,QAAQ;IACvD,+CAA+C,EAAE,WAAW;IAC5D,6CAA6C,EAAE,OAAO;IACtD,8CAA8C,EAAE,UAAU;IAC1D,iDAAiD,EAAE,YAAY;IAC/D,8CAA8C,EAAE,SAAS;IACzD,gCAAgC,EAAE,SAAS;IAC3C,iCAAiC,EAAE,SAAS;IAC5C,+CAA+C,EAAE,4BAA4B;IAC7E,8CAA8C,EAAE,SAAS;IACzD,8BAA8B,EAAE,QAAQ;IACxC,gCAAgC,EAAE,WAAW;IAC7C,oCAAoC,EAAE,gBAAgB;IACtD,eAAe,EAAE,gBAAgB;IACjC,sCAAsC,EAAE,SAAS;IACjD,sCAAsC,EAAE,SAAS;IACjD,sCAAsC,EAAE,UAAU;IAClD,yCAAyC,EAAE,SAAS;IACpD,0CAA0C,EAAE,iBAAiB;IAC7D,8BAA8B,EAAE,MAAM;IACtC,2CAA2C,EAAE,kBAAkB;IAC/D,4CAA4C,EAAE,mBAAmB;IACjE,4CAA4C,EAAE,oBAAoB;IAClE,oCAAoC,EAAE,QAAQ;IAC9C,uCAAuC,EAAE,SAAS;IAClD,iDAAiD,EAAE,oCAAoC;IACvF,oDAAoD,EAAE,wBAAwB;IAC9E,yCAAyC,EAAE,UAAU;IACrD,sCAAsC,EAAE,eAAe;IACvD,qEAAqE,EAAE,8BAA8B;IACrG,qCAAqC,EAAE,iCAAiC;IACxE,8CAA8C,EAAE,mBAAmB;IACnE,yCAAyC,EAAE,uCAAuC;IAClF,6CAA6C,EAAE,kBAAkB;IACjE,wCAAwC,EAAE,gCAAgC;IAC1E,8BAA8B,EAAE,GAAG;IACnC,wCAAwC,EAAE,uDAAuD;IACjG,6CAA6C,EAAE,kBAAkB;IACjE,+CAA+C,EAAE,kBAAkB;IACnE,6CAA6C,EAAE,IAAI;IACnD,2CAA2C,EAAE,kBAAkB;IAC/D,sCAAsC,EAAE,mBAAmB;IAC3D,2CAA2C,EAAE,kBAAkB;IAC/D,yCAAyC,EAAE,eAAe;IAC1D,sDAAsD,EAAE,2BAA2B;IACnF,kDAAkD,EAAE,0BAA0B;IAC9E,kCAAkC,EAAE,WAAW;IAC/C,sCAAsC,EAAE,QAAQ;IAChD,8BAA8B,EAAE,MAAM;IACtC,oCAAoC,EAAE,QAAQ;IAC9C,4CAA4C,EAAE,iCAAiC;IAC/E,+CAA+C,EAAE,gCAAgC;IACjF,4DAA4D,EAAE,qCAAqC;IACnG,0CAA0C,EAAE,2BAA2B;IACvE,wCAAwC,EAAE,6BAA6B;IACvE,gDAAgD,EAAE,qBAAqB;IACvE,wCAAwC,EAAE,0BAA0B;IACpE,yCAAyC,EAAE,sCAAsC;IACjF,0CAA0C,EAAE,oBAAoB;IAChE,0DAA0D,EAAE,uBAAuB;IACnF,0DAA0D,EAAE,qBAAqB;IACjF,mDAAmD,EAAE,yCAAyC;IAC9F,sCAAsC,EAAE,eAAe;IACvD,wCAAwC,EAAE,SAAS;IACnD,mDAAmD,EAAE,0BAA0B;IAC/E,4DAA4D,EAAE,uBAAuB;IACrF,2CAA2C,EAAE,sBAAsB;IACnE,mDAAmD,EAAE,4BAA4B;IACjF,4DAA4D,EAAE,+BAA+B;IAC7F,yCAAyC,EAAE,iBAAiB;IAC5D,+CAA+C,EAAE,kBAAkB;IACnE,qDAAqD,EAAE,4CAA4C;IACnG,6DAA6D,EAAE,0BAA0B;IACzF,mEAAmE,EAAE,kEAAkE;IACvI,uDAAuD,EAAE,yBAAyB;IAClF,6DAA6D,EAAE,iEAAiE;IAChI,4DAA4D,EAAE,yBAAyB;IACvF,kEAAkE,EAAE,wDAAwD;IAC5H,4EAA4E,EAAE,oEAAoE;IAClJ,+CAA+C,EAAE,yBAAyB;IAC1E,+CAA+C,EAAE,SAAS;IAC1D,iDAAiD,EAAE,cAAc;IACjE,iDAAiD,EAAE,QAAQ;IAC3D,+CAA+C,EAAE,OAAO;IACxD,6CAA6C,EAAE,WAAW;IAC1D,8CAA8C,EAAE,SAAS;IACzD,sDAAsD,EAAE,qBAAqB;IAC7E,uCAAuC,EAAE,wBAAwB;IACjE,0DAA0D,EAAE,+BAA+B;IAC3F,0DAA0D,EAAE,8BAA8B;IAC1F,2DAA2D,EAAE,kCAAkC;IAC/F,kDAAkD,EAAE,2BAA2B;IAC/E,qDAAqD,EAAE,+BAA+B;IACtF,iDAAiD,EAAE,eAAe;IAClE,iDAAiD,EAAE,oBAAoB;IACvE,oDAAoD,EAAE,eAAe;IACrE,8DAA8D,EAAE,0BAA0B;IAC1F,2EAA2E,EAAE,8BAA8B;IAC3G,gDAAgD,EAAE,kBAAkB;IACpE,+CAA+C,EAAE,mCAAmC;IACpF,mEAAmE,EAAE,qBAAqB;IAC1F,gEAAgE,EAAE,kBAAkB;IACpF,gDAAgD,EAAE,kBAAkB;IACpE,iDAAiD,EAAE,kBAAkB;IACrE,yDAAyD,EAAE,8BAA8B;IACzF,yDAAyD,EAAE,mCAAmC;IAC9F,yDAAyD,EAAE,uBAAuB;IAClF,yDAAyD,EAAE,+BAA+B;IAC1F,iDAAiD,EAAE,kBAAkB;IACrE,4CAA4C,EAAE,iBAAiB;IAC/D,6CAA6C,EAAE,6BAA6B;IAC5E,kDAAkD,EAAE,wBAAwB;IAC5E,+CAA+C,EAAE,sBAAsB;IACvE,kDAAkD,EAAE,wBAAwB;IAC5E,uDAAuD,EAAE,kCAAkC;IAC3F,gEAAgE,EAAE,mCAAmC;IACrG,gDAAgD,EAAE,mCAAmC;IACrF,6DAA6D,EAAE,wBAAwB;IACvF,6DAA6D,EAAE,qDAAqD;IACpH,iEAAiE,EAAE,qDAAqD;IACxH,4DAA4D,EAAE,gDAAgD;IAC9G,yDAAyD,EAAE,0CAA0C;IACrG,iEAAiE,EAAE,0DAA0D;IAC7H,uDAAuD,EAAE,6CAA6C;IACtG,iEAAiE,EAAE,uDAAuD;IAC1H,yDAAyD,EAAE,wDAAwD;IACnH,4DAA4D,EAAE,+CAA+C;IAC7G,oDAAoD,EAAE,0DAA0D;IAChH,+CAA+C,EAAE,eAAe;IAChE,0CAA0C,EAAE,QAAQ;IACpD,2EAA2E,EAAE,uBAAuB;IACpG,gEAAgE,EAAE,mDAAmD;IACrH,gCAAgC,EAAE,QAAQ;IAC1C,gCAAgC,EAAE,OAAO;IACzC,+BAA+B,EAAE,OAAO;IACxC,kCAAkC,EAAE,YAAY;IAChD,uCAAuC,EAAE,iBAAiB;IAC1D,yEAAyE,EAAE,yBAAyB;IACpG,qCAAqC,EAAE,aAAa;IACpD,sCAAsC,EAAE,iBAAiB;IACzD,iDAAiD,EAAE,0BAA0B;IAC7E,uDAAuD,EAAE,2DAA2D;IACpH,iCAAiC,EAAE,UAAU;IAC7C,kDAAkD,EAAE,0CAA0C;IAC9F,oDAAoD,EAAE,2DAA2D;IACjH,yCAAyC,EAAE,uBAAuB;IAClE,qCAAqC,EAAE,QAAQ;IAC/C,qCAAqC,EAAE,MAAM;IAC7C,+BAA+B,EAAE,QAAQ;IACzC,8BAA8B,EAAE,MAAM;IACtC,+BAA+B,EAAE,SAAS;IAC1C,kCAAkC,EAAE,YAAY;IAChD,wCAAwC,EAAE,gBAAgB;IAC1D,oCAAoC,EAAE,cAAc;IACpD,mCAAmC,EAAE,eAAe;IACpD,sCAAsC,EAAE,aAAa;IACrD,gCAAgC,EAAE,QAAQ;IAC1C,kCAAkC,EAAE,UAAU;IAC9C,oCAAoC,EAAE,gBAAgB;IACtD,oCAAoC,EAAE,gBAAgB;IACtD,sCAAsC,EAAE,mBAAmB;IAC3D,0CAA0C,EAAE,mBAAmB;IAC/D,0CAA0C,EAAE,iBAAiB;IAC7D,wCAAwC,EAAE,WAAW;IACrD,8CAA8C,EAAE,kBAAkB;IAClE,sDAAsD,EAAE,yBAAyB;IACjF,4DAA4D,EAAE,gFAAgF;IAC9I,+BAA+B,EAAE,QAAQ;IACzC,oCAAoC,EAAE,eAAe;IACrD,+CAA+C,EAAE,2DAA2D;IAC5G,6CAA6C,EAAE,2CAA2C;IAC1F,yDAAyD,EAAE,2EAA2E;IACtI,sDAAsD,EAAE,iCAAiC;IACzF,gDAAgD,EAAE,uDAAuD;IACzG,sCAAsC,EAAE,sBAAsB;IAC9D,wCAAwC,EAAE,QAAQ;IAClD,6DAA6D,EAAE,yBAAyB;CAC3F,CAAC;;AC/TF,MAAM,IAAI,GAAG;IACT,iDAAiD,EAAE,2DAA2D;IAC9G,uCAAuC,EAAE,kBAAkB;IAC3D,mDAAmD,EAAE,QAAQ;IAC7D,iCAAiC,EAAE,SAAS;IAC5C,8CAA8C,EAAE,yBAAyB;IACzE,4BAA4B,EAAE,IAAI;IAClC,6BAA6B,EAAE,KAAK;IACpC,2CAA2C,EAAE,oBAAoB;IACjE,qCAAqC,EAAE,qCAAqC;IAC5E,yCAAyC,EAAE,iBAAiB;IAC5D,sCAAsC,EAAE,OAAO;IAC/C,6CAA6C,EAAE,eAAe;IAC9D,0CAA0C,EAAE,aAAa;IACzD,4CAA4C,EAAE,eAAe;IAC7D,iCAAiC,EAAE,SAAS;IAC5C,oCAAoC,EAAE,YAAY;IAClD,6DAA6D,EAAE,SAAS;IACxE,iCAAiC,EAAE,SAAS;IAC5C,sCAAsC,EAAE,cAAc;IACtD,sDAAsD,EAAE,eAAe;IACvE,mDAAmD,EAAE,oBAAoB;IACzE,gDAAgD,EAAE,kBAAkB;IACpE,qDAAqD,EAAE,oBAAoB;IAC3E,4CAA4C,EAAE,cAAc;IAC5D,8CAA8C,EAAE,eAAe;IAC/D,yCAAyC,EAAE,yBAAyB;IACpE,8CAA8C,EAAE,eAAe;IAC/D,sCAAsC,EAAE,QAAQ;IAChD,mEAAmE,EAAE,SAAS;IAC9E,kCAAkC,EAAE,UAAU;IAC9C,gCAAgC,EAAE,QAAQ;IAC1C,iCAAiC,EAAE,SAAS;IAC5C,sCAAsC,EAAE,QAAQ;IAChD,6CAA6C,EAAE,iBAAiB;IAChE,0DAA0D,EAAE,oBAAoB;IAChF,gEAAgE,EAAE,0CAA0C;IAC5G,gEAAgE,EAAE,0BAA0B;IAC5F,sEAAsE,EAClE,oEAAoE;IACxE,iCAAiC,EAAE,SAAS;IAC5C,6BAA6B,EAAE,KAAK;IACpC,iCAAiC,EAAE,SAAS;IAC5C,iCAAiC,EAAE,SAAS;IAC5C,gCAAgC,EAAE,QAAQ;IAC1C,+BAA+B,EAAE,OAAO;IACxC,oCAAoC,EAAE,YAAY;IAClD,gCAAgC,EAAE,QAAQ;IAC1C,qDAAqD,EAAE,4CAA4C;IACnG,mDAAmD,EAAE,qBAAqB;IAC1E,iDAAiD,EAAE,2BAA2B;IAC9E,+CAA+C,EAAE,oBAAoB;IACrE,2CAA2C,EAAE,cAAc;IAC3D,8CAA8C,EAAE,YAAY;IAC5D,gDAAgD,EAAE,eAAe;IACjE,sCAAsC,EAAE,IAAI;IAC5C,oDAAoD,EAAE,kBAAkB;IACxE,sDAAsD,EAAE,wBAAwB;IAChF,2CAA2C,EAAE,cAAc;IAC3D,2CAA2C,EAAE,8BAA8B;IAC3E,2CAA2C,EAAE,MAAM;IACnD,2CAA2C,EAAE,aAAa;IAC1D,8CAA8C,EAAE,YAAY;IAC5D,gDAAgD,EAAE,eAAe;IACjE,sCAAsC,EAAE,IAAI;IAC5C,oDAAoD,EAAE,kBAAkB;IACxE,sDAAsD,EAAE,wBAAwB;IAChF,2CAA2C,EAAE,aAAa;IAC1D,2CAA2C,EAAE,MAAM;IACnD,2CAA2C,EAAE,cAAc;IAC3D,2CAA2C,EAAE,mBAAmB;IAChE,8BAA8B,EAAE,MAAM;IACtC,qDAAqD,EAAE,oDAAoD;IAC3G,+CAA+C,EAAE,eAAe;IAChE,uCAAuC,EAAE,eAAe;IACxD,0CAA0C,EAAE,yCAAyC;IACrF,yCAAyC,EAAE,0BAA0B;IACrE,0CAA0C,EAAE,6CAA6C;IACzF,yCAAyC,EAAE,0BAA0B;IACrE,qDAAqD,EAAE,sCAAsC;IAC7F,+CAA+C,EAAE,WAAW;IAC5D,wCAAwC,EAAE,gBAAgB;IAC1D,kDAAkD,EAAE,mEAAmE;IACvH,4CAA4C,EAAE,cAAc;IAC5D,gDAAgD,EAAE,WAAW;IAC7D,wDAAwD,EAAE,gDAAgD;IAC1G,kDAAkD,EAAE,cAAc;IAClE,uCAAuC,EAAE,eAAe;IACxD,kDAAkD,EAAE,YAAY;IAChE,oDAAoD,EAAE,eAAe;IACrE,iDAAiD,EAAE,SAAS;IAC5D,8DAA8D,EAAE,oBAAoB;IACpF,iDAAiD,EAAE,QAAQ;IAC3D,8DAA8D,EAAE,mBAAmB;IACnF,+DAA+D,EAAE,kBAAkB;IACnF,yDAAyD,EAAE,kBAAkB;IAC7E,oDAAoD,EAAE,cAAc;IACpE,gEAAgE,EAAE,yBAAyB;IAC3F,mDAAmD,EAAE,aAAa;IAClE,0DAA0D,EAAE,SAAS;IACrE,kDAAkD,EAAE,eAAe;IACnE,0CAA0C,EAAE,WAAW;IACvD,4CAA4C,EAAE,qBAAqB;IACnE,uDAAuD,EAAE,YAAY;IACrE,yDAAyD,EAAE,eAAe;IAC1E,oEAAoE,EAAE,kBAAkB;IACxF,8DAA8D,EAAE,kBAAkB;IAClF,0DAA0D,EAAE,gBAAgB;IAC5E,uEAAuE,EAAE,0BAA0B;IACnG,wDAAwD,EAAE,aAAa;IACvE,4DAA4D,EAAE,sBAAsB;IACpF,wEAAwE,EAAE,iCAAiC;IAC3G,+DAA+D,EAAE,SAAS;IAC1E,uDAAuD,EAAE,qBAAqB;IAC9E,+CAA+C,EAAE,WAAW;IAC5D,6DAA6D,EAAE,kBAAkB;IACjF,+DAA+D,EAAE,wBAAwB;IACzF,4DAA4D,EAAE,qBAAqB;IACnF,uDAAuD,EAAE,qBAAqB;IAC9E,oDAAoD,EAAE,eAAe;IACrE,kDAAkD,EAAE,kBAAkB;IACtE,oDAAoD,EAAE,kBAAkB;IACxE,qDAAqD,EAAE,eAAe;IACtE,qDAAqD,EAAE,gBAAgB;IACvE,mDAAmD,EAAE,cAAc;IACnE,+DAA+D,EAAE,yBAAyB;IAC1F,wDAAwD,EAAE,kBAAkB;IAC5E,0DAA0D,EAAE,wBAAwB;IACpF,uDAAuD,EAAE,eAAe;IACxE,kDAAkD,EAAE,eAAe;IACnE,wDAAwD,EAAE,gBAAgB;IAC1E,yDAAyD,EAAE,iBAAiB;IAC5E,mDAAmD,EAAE,WAAW;IAChE,gEAAgE,EAAE,wBAAwB;IAC1F,yDAAyD,EAAE,iBAAiB;IAC5E,0DAA0D,EAAE,kBAAkB;IAC9E,8DAA8D,EAAE,sBAAsB;IACtF,qDAAqD,EAAE,qBAAqB;IAC5E,4DAA4D,EAAE,4BAA4B;IAC1F,gDAAgD,EAAE,QAAQ;IAC1D,4DAA4D,EAAE,uBAAuB;IACrF,qDAAqD,EAAE,gBAAgB;IACvE,8CAA8C,EAAE,SAAS;IACzD,6CAA6C,EAAE,QAAQ;IACvD,+CAA+C,EAAE,UAAU;IAC3D,6CAA6C,EAAE,QAAQ;IACvD,8CAA8C,EAAE,SAAS;IACzD,iDAAiD,EAAE,WAAW;IAC9D,8CAA8C,EAAE,SAAS;IACzD,gCAAgC,EAAE,QAAQ;IAC1C,iCAAiC,EAAE,SAAS;IAC5C,+CAA+C,EAAE,kBAAkB;IACnE,8CAA8C,EAAE,QAAQ;IACxD,8BAA8B,EAAE,MAAM;IACtC,gCAAgC,EAAE,QAAQ;IAC1C,oCAAoC,EAAE,YAAY;IAClD,eAAe,EAAE,eAAe;IAChC,sCAAsC,EAAE,QAAQ;IAChD,sCAAsC,EAAE,QAAQ;IAChD,sCAAsC,EAAE,QAAQ;IAChD,yCAAyC,EAAE,SAAS;IACpD,0CAA0C,EAAE,aAAa;IACzD,8BAA8B,EAAE,MAAM;IACtC,2CAA2C,EAAE,aAAa;IAC1D,4CAA4C,EAAE,cAAc;IAC5D,4CAA4C,EAAE,cAAc;IAC5D,oCAAoC,EAAE,MAAM;IAC5C,uCAAuC,EAAE,SAAS;IAClD,iDAAiD,EAAE,4BAA4B;IAC/E,oDAAoD,EAAE,kBAAkB;IACxE,yCAAyC,EAAE,OAAO;IAClD,sCAAsC,EAAE,YAAY;IACpD,qEAAqE,EAAE,+BAA+B;IACtG,qCAAqC,EAAE,yBAAyB;IAChE,8CAA8C,EAAE,gBAAgB;IAChE,yCAAyC,EAAE,6BAA6B;IACxE,6CAA6C,EAAE,eAAe;IAC9D,wCAAwC,EAAE,6BAA6B;IACvE,8BAA8B,EAAE,GAAG;IACnC,wCAAwC,EAAE,gDAAgD;IAC1F,6CAA6C,EAAE,eAAe;IAC9D,6CAA6C,EAAE,IAAI;IACnD,2CAA2C,EAAE,YAAY;IACzD,sCAAsC,EAAE,iBAAiB;IACzD,2CAA2C,EAAE,qBAAqB;IAClE,yCAAyC,EAAE,mBAAmB;IAC9D,sDAAsD,EAAE,gCAAgC;IACxF,kDAAkD,EAAE,4BAA4B;IAChF,kCAAkC,EAAE,UAAU;IAC9C,sCAAsC,EAAE,QAAQ;IAChD,8BAA8B,EAAE,MAAM;IACtC,oCAAoC,EAAE,MAAM;IAC5C,4CAA4C,EAAE,yBAAyB;IACvE,+CAA+C,EAAE,4BAA4B;IAC7E,4DAA4D,EAAE,oCAAoC;IAClG,0CAA0C,EAAE,iBAAiB;IAC7D,wCAAwC,EAAE,sBAAsB;IAChE,gDAAgD,EAAE,wBAAwB;IAC1E,wCAAwC,EAAE,gBAAgB;IAC1D,yCAAyC,EAAE,yBAAyB;IACpE,0CAA0C,EAAE,sBAAsB;IAClE,0DAA0D,EAAE,oCAAoC;IAChG,0DAA0D,EAAE,2CAA2C;IACvG,mDAAmD,EAAE,oCAAoC;IACzF,sCAAsC,EAAE,YAAY;IACpD,wCAAwC,EAAE,UAAU;IACpD,mDAAmD,EAAE,sBAAsB;IAC3E,4DAA4D,EAAE,gBAAgB;IAC9E,2CAA2C,EAAE,qBAAqB;IAClE,mDAAmD,EAAE,2BAA2B;IAChF,4DAA4D,EAAE,oCAAoC;IAClG,yCAAyC,EAAE,iBAAiB;IAC5D,+CAA+C,EAAE,iBAAiB;IAClE,qDAAqD,EAAE,+CAA+C;IACtG,6DAA6D,EAAE,0BAA0B;IACzF,mEAAmE,EAAE,yEAAyE;IAC9I,uDAAuD,EAAE,uBAAuB;IAChF,6DAA6D,EAAE,oEAAoE;IACnI,4DAA4D,EAAE,2CAA2C;IACzG,kEAAkE,EAAE,kFAAkF;IACtJ,4EAA4E,EAAE,iEAAiE;IAC/I,+CAA+C,EAAE,iBAAiB;IAClE,+CAA+C,EAAE,UAAU;IAC3D,iDAAiD,EAAE,eAAe;IAClE,iDAAiD,EAAE,YAAY;IAC/D,+CAA+C,EAAE,UAAU;IAC3D,6CAA6C,EAAE,QAAQ;IACvD,8CAA8C,EAAE,SAAS;IACzD,sDAAsD,EAAE,iBAAiB;IACzE,uCAAuC,EAAE,qBAAqB;IAC9D,qDAAqD,EAAE,uBAAuB;IAC9E,iDAAiD,EAAE,2BAA2B;IAC9E,iDAAiD,EAAE,+BAA+B;IAClF,oDAAoD,EAAE,kBAAkB;IACxE,8DAA8D,EAAE,4BAA4B;IAC5F,2EAA2E,EAAE,gCAAgC;IAC7G,gDAAgD,EAAE,0BAA0B;IAC5E,mEAAmE,EAAE,wBAAwB;IAC7F,gEAAgE,EAAE,qBAAqB;IACvF,gDAAgD,EAAE,wBAAwB;IAC1E,iDAAiD,EAAE,yBAAyB;IAC5E,yDAAyD,EAAE,0BAA0B;IACrF,yDAAyD,EAAE,8BAA8B;IACzF,yDAAyD,EAAE,0BAA0B;IACrF,yDAAyD,EAAE,8BAA8B;IACzF,iDAAiD,EAAE,yBAAyB;IAC5E,+CAA+C,EAAE,8BAA8B;IAC/E,4CAA4C,EAAE,gBAAgB;IAC9D,6CAA6C,EAAE,2BAA2B;IAC1E,kDAAkD,EAAE,uBAAuB;IAC3E,+CAA+C,EAAE,oBAAoB;IACrE,kDAAkD,EAAE,uBAAuB;IAC3E,uDAAuD,EAAE,+BAA+B;IACxF,gEAAgE,EAAE,mCAAmC;IACrG,6DAA6D,EAAE,wBAAwB;IACvF,gDAAgD,EAAE,2BAA2B;IAC7E,6DAA6D,EAAE,0CAA0C;IACzG,iEAAiE,EAAE,8CAA8C;IACjH,4DAA4D,EAAE,yCAAyC;IACvG,yDAAyD,EAAE,sCAAsC;IACjG,iEAAiE,EAAE,8CAA8C;IACjH,uDAAuD,EAAE,qCAAqC;IAC9F,iEAAiE,EAAE,8CAA8C;IACjH,yDAAyD,EAAE,gDAAgD;IAC3G,4DAA4D,EAAE,yCAAyC;IACvG,oDAAoD,EAAE,6CAA6C;IACnG,+CAA+C,EAAE,cAAc;IAC/D,0CAA0C,EAAE,iBAAiB;IAC7D,2EAA2E,EAAE,uBAAuB;IACpG,gEAAgE,EAAE,mDAAmD;IACrH,gCAAgC,EAAE,QAAQ;IAC1C,gCAAgC,EAAE,OAAO;IACzC,+BAA+B,EAAE,OAAO;IACxC,kCAAkC,EAAE,YAAY;IAChD,uCAAuC,EAAE,iBAAiB;IAC1D,iDAAiD,EAAE,mBAAmB;IACtE,uDAAuD,EAAE,mDAAmD;IAC5G,iCAAiC,EAAE,SAAS;IAC5C,kDAAkD,EAAE,6CAA6C;IACjG,oDAAoD,EAAE,+DAA+D;IACrH,yCAAyC,EAAE,oBAAoB;IAC/D,qCAAqC,EAAE,MAAM;IAC7C,qCAAqC,EAAE,MAAM;IAC7C,+BAA+B,EAAE,OAAO;IACxC,8BAA8B,EAAE,MAAM;IACtC,+BAA+B,EAAE,OAAO;IACxC,kCAAkC,EAAE,UAAU;IAC9C,wCAAwC,EAAE,gBAAgB;IAC1D,oCAAoC,EAAE,YAAY;IAClD,mCAAmC,EAAE,WAAW;IAChD,sCAAsC,EAAE,eAAe;IACvD,gCAAgC,EAAE,QAAQ;IAC1C,kCAAkC,EAAE,UAAU;IAC9C,oCAAoC,EAAE,YAAY;IAClD,oCAAoC,EAAE,YAAY;IAClD,sCAAsC,EAAE,cAAc;IACtD,0CAA0C,EAAE,kBAAkB;IAC9D,0CAA0C,EAAE,kBAAkB;IAC9D,wCAAwC,EAAE,WAAW;IACrD,8CAA8C,EAAE,iBAAiB;IACjE,sDAAsD,EAAE,wBAAwB;IAChF,4DAA4D,EAAE,kFAAkF;IAChJ,+BAA+B,EAAE,OAAO;IACxC,oCAAoC,EAAE,cAAc;IACpD,+CAA+C,EAAE,0CAA0C;IAC3F,0DAA0D,EAAE,+BAA+B;IAC3F,0DAA0D,EAAE,+BAA+B;IAC3F,2DAA2D,EAAE,2BAA2B;IACxF,kDAAkD,EAAE,yBAAyB;IAC7E,yEAAyE,EAAE,mBAAmB;IAC9F,qCAAqC,EAAE,aAAa;IACpD,sCAAsC,EAAE,cAAc;IACtD,wCAAwC,EAAE,QAAQ;IAClD,+CAA+C,EAAE,eAAe;IAChE,6DAA6D,EAAE,gBAAgB;IAC/E,6CAA6C,EAAE,uCAAuC;IACtF,yDAAyD,EAAE,sEAAsE;IACjI,sDAAsD,EAAE,+BAA+B;IACvF,gDAAgD,EAAE,iDAAiD;IACnG,sCAAsC,EAAE,cAAc;CACzD,CAAC;;AChUF,MAAM,IAAI,GAAG;IACT,iDAAiD,EAAE,qEAAqE;IACxH,uCAAuC,EAAE,6BAA6B;IACtE,mDAAmD,EAAE,SAAS;IAC9D,iCAAiC,EAAE,YAAY;IAC/C,8CAA8C,EAAE,mCAAmC;IACnF,4BAA4B,EAAE,IAAI;IAClC,6BAA6B,EAAE,IAAI;IACnC,2CAA2C,EAAE,4BAA4B;IACzE,qCAAqC,EAAE,8BAA8B;IACrE,yCAAyC,EAAE,mBAAmB;IAC9D,sCAAsC,EAAE,QAAQ;IAChD,6CAA6C,EAAE,kBAAkB;IACjE,0CAA0C,EAAE,sBAAsB;IAClE,4CAA4C,EAAE,qBAAqB;IACnE,iCAAiC,EAAE,WAAW;IAC9C,oCAAoC,EAAE,YAAY;IAClD,6DAA6D,EAAE,OAAO;IACtE,iCAAiC,EAAE,SAAS;IAC5C,sCAAsC,EAAE,iBAAiB;IACzD,sDAAsD,EAAE,oBAAoB;IAC5E,mDAAmD,EAAE,yBAAyB;IAC9E,gDAAgD,EAAE,oBAAoB;IACtE,qDAAqD,EAAE,wBAAwB;IAC/E,4CAA4C,EAAE,mBAAmB;IACjE,8CAA8C,EAAE,qBAAqB;IACrE,yCAAyC,EAAE,mCAAmC;IAC9E,8CAA8C,EAAE,kBAAkB;IAClE,sCAAsC,EAAE,QAAQ;IAChD,mEAAmE,EAAE,OAAO;IAC5E,kCAAkC,EAAE,WAAW;IAC/C,gCAAgC,EAAE,QAAQ;IAC1C,iCAAiC,EAAE,SAAS;IAC5C,sCAAsC,EAAE,UAAU;IAClD,6CAA6C,EAAE,kBAAkB;IACjE,0DAA0D,EAAE,qBAAqB;IACjF,gEAAgE,EAAE,iDAAiD;IACnH,gEAAgE,EAAE,4BAA4B;IAC9F,sEAAsE,EAClE,sEAAsE;IAC1E,iCAAiC,EAAE,UAAU;IAC7C,6BAA6B,EAAE,SAAS;IACxC,iCAAiC,EAAE,aAAa;IAChD,iCAAiC,EAAE,YAAY;IAC/C,gCAAgC,EAAE,UAAU;IAC5C,+BAA+B,EAAE,SAAS;IAC1C,oCAAoC,EAAE,YAAY;IAClD,gCAAgC,EAAE,UAAU;IAC5C,qDAAqD,EAAE,+CAA+C;IACtG,mDAAmD,EAAE,6BAA6B;IAClF,iDAAiD,EAAE,0BAA0B;IAC7E,+CAA+C,EAAE,uBAAuB;IACxE,2CAA2C,EAAE,sBAAsB;IACnE,8CAA8C,EAAE,YAAY;IAC5D,gDAAgD,EAAE,mBAAmB;IACrE,sCAAsC,EAAE,IAAI;IAC5C,oDAAoD,EAAE,yBAAyB;IAC/E,sDAAsD,EAAE,iCAAiC;IACzF,2CAA2C,EAAE,sBAAsB;IACnE,2CAA2C,EAAE,wCAAwC;IACrF,2CAA2C,EAAE,QAAQ;IACrD,2CAA2C,EAAE,uBAAuB;IACpE,8CAA8C,EAAE,YAAY;IAC5D,gDAAgD,EAAE,mBAAmB;IACrE,sCAAsC,EAAE,IAAI;IAC5C,oDAAoD,EAAE,yBAAyB;IAC/E,sDAAsD,EAAE,iCAAiC;IACzF,2CAA2C,EAAE,uBAAuB;IACpE,2CAA2C,EAAE,MAAM;IACnD,2CAA2C,EAAE,oBAAoB;IACjE,2CAA2C,EAAE,iCAAiC;IAC9E,8BAA8B,EAAE,QAAQ;IACxC,qDAAqD,EAAE,8CAA8C;IACrG,+CAA+C,EAAE,iBAAiB;IAClE,uCAAuC,EAAE,gBAAgB;IACzD,0CAA0C,EAAE,sCAAsC;IAClF,yCAAyC,EAAE,wBAAwB;IACnE,0CAA0C,EAAE,0CAA0C;IACtF,yCAAyC,EAAE,wBAAwB;IACnE,qDAAqD,EAAE,yCAAyC;IAChG,+CAA+C,EAAE,eAAe;IAChE,wCAAwC,EAAE,mBAAmB;IAC7D,kDAAkD,EAAE,0EAA0E;IAC9H,4CAA4C,EAAE,sBAAsB;IACpE,gDAAgD,EAAE,oBAAoB;IACtE,wDAAwD,EAAE,gDAAgD;IAC1G,kDAAkD,EAAE,eAAe;IACnE,uCAAuC,EAAE,oBAAoB;IAC7D,kDAAkD,EAAE,YAAY;IAChE,oDAAoD,EAAE,mBAAmB;IACzE,iDAAiD,EAAE,SAAS;IAC5D,8DAA8D,EAAE,uBAAuB;IACvF,iDAAiD,EAAE,UAAU;IAC7D,8DAA8D,EAAE,wBAAwB;IACxF,+DAA+D,EAAE,6BAA6B;IAC9F,yDAAyD,EAAE,6BAA6B;IACxF,oDAAoD,EAAE,mBAAmB;IACzE,gEAAgE,EAAE,iCAAiC;IACnG,mDAAmD,EAAE,YAAY;IACjE,0DAA0D,EAAE,SAAS;IACrE,kDAAkD,EAAE,oBAAoB;IACxE,0CAA0C,EAAE,kBAAkB;IAC9D,4CAA4C,EAAE,8BAA8B;IAC5E,uDAAuD,EAAE,YAAY;IACrE,yDAAyD,EAAE,mBAAmB;IAC9E,oEAAoE,EAAE,6BAA6B;IACnG,8DAA8D,EAAE,6BAA6B;IAC7F,0DAA0D,EAAE,gBAAgB;IAC5E,uEAAuE,EAAE,kCAAkC;IAC3G,wDAAwD,EAAE,kBAAkB;IAC5E,4DAA4D,EAAE,8BAA8B;IAC5F,wEAAwE,EAAE,4CAA4C;IACtH,+DAA+D,EAAE,SAAS;IAC1E,uDAAuD,EAAE,8BAA8B;IACvF,+CAA+C,EAAE,kBAAkB;IACnE,6DAA6D,EAAE,yBAAyB;IACxF,+DAA+D,EAAE,iCAAiC;IAClG,4DAA4D,EAAE,8BAA8B;IAC5F,uDAAuD,EAAE,8BAA8B;IACvF,oDAAoD,EAAE,mBAAmB;IACzE,kDAAkD,EAAE,uBAAuB;IAC3E,oDAAoD,EAAE,oBAAoB;IAC1E,qDAAqD,EAAE,mBAAmB;IAC1E,qDAAqD,EAAE,sBAAsB;IAC7E,mDAAmD,EAAE,mBAAmB;IACxE,+DAA+D,EAAE,iCAAiC;IAClG,wDAAwD,EAAE,yBAAyB;IACnF,0DAA0D,EAAE,iCAAiC;IAC7F,uDAAuD,EAAE,oBAAoB;IAC7E,kDAAkD,EAAE,oBAAoB;IACxE,wDAAwD,EAAE,qBAAqB;IAC/E,yDAAyD,EAAE,qBAAqB;IAChF,mDAAmD,EAAE,UAAU;IAC/D,gEAAgE,EAAE,6BAA6B;IAC/F,yDAAyD,EAAE,mBAAmB;IAC9E,0DAA0D,EAAE,qBAAqB;IACjF,8DAA8D,EAAE,0BAA0B;IAC1F,qDAAqD,EAAE,mBAAmB;IAC1E,4DAA4D,EAAE,kCAAkC;IAChG,gDAAgD,EAAE,QAAQ;IAC1D,4DAA4D,EAAE,oCAAoC;IAClG,qDAAqD,EAAE,qBAAqB;IAC5E,8CAA8C,EAAE,SAAS;IACzD,6CAA6C,EAAE,QAAQ;IACvD,+CAA+C,EAAE,WAAW;IAC5D,6CAA6C,EAAE,OAAO;IACtD,8CAA8C,EAAE,WAAW;IAC3D,iDAAiD,EAAE,WAAW;IAC9D,8CAA8C,EAAE,OAAO;IACvD,gCAAgC,EAAE,SAAS;IAC3C,iCAAiC,EAAE,SAAS;IAC5C,+CAA+C,EAAE,6BAA6B;IAC9E,8CAA8C,EAAE,SAAS;IACzD,8BAA8B,EAAE,SAAS;IACzC,gCAAgC,EAAE,YAAY;IAC9C,oCAAoC,EAAE,iBAAiB;IACvD,eAAe,EAAE,gBAAgB;IACjC,sCAAsC,EAAE,QAAQ;IAChD,sCAAsC,EAAE,UAAU;IAClD,sCAAsC,EAAE,UAAU;IAClD,yCAAyC,EAAE,OAAO;IAClD,0CAA0C,EAAE,kBAAkB;IAC9D,8BAA8B,EAAE,OAAO;IACvC,2CAA2C,EAAE,uBAAuB;IACpE,4CAA4C,EAAE,sBAAsB;IACpE,4CAA4C,EAAE,qBAAqB;IACnE,oCAAoC,EAAE,QAAQ;IAC9C,uCAAuC,EAAE,SAAS;IAClD,iDAAiD,EAAE,uCAAuC;IAC1F,oDAAoD,EAAE,4BAA4B;IAClF,yCAAyC,EAAE,SAAS;IACpD,sCAAsC,EAAE,kBAAkB;IAC1D,qEAAqE,EAAE,gCAAgC;IACvG,qCAAqC,EAAE,mCAAmC;IAC1E,8CAA8C,EAAE,mBAAmB;IACnE,yCAAyC,EAAE,uCAAuC;IAClF,6CAA6C,EAAE,oBAAoB;IACnE,wCAAwC,EAAE,wCAAwC;IAClF,8BAA8B,EAAE,GAAG;IACnC,wCAAwC,EAAE,8DAA8D;IACxG,6CAA6C,EAAE,kBAAkB;IACjE,6CAA6C,EAAE,IAAI;IACnD,2CAA2C,EAAE,kBAAkB;IAC/D,sCAAsC,EAAE,oBAAoB;IAC5D,2CAA2C,EAAE,mBAAmB;IAChE,yCAAyC,EAAE,gBAAgB;IAC3D,sDAAsD,EAAE,6BAA6B;IACrF,kDAAkD,EAAE,4BAA4B;IAChF,kCAAkC,EAAE,WAAW;IAC/C,sCAAsC,EAAE,QAAQ;IAChD,8BAA8B,EAAE,MAAM;IACtC,oCAAoC,EAAE,QAAQ;IAC9C,4CAA4C,EAAE,mCAAmC;IACjF,+CAA+C,EAAE,iCAAiC;IAClF,4DAA4D,EAAE,iCAAiC;IAC/F,0CAA0C,EAAE,mBAAmB;IAC/D,wCAAwC,EAAE,wBAAwB;IAClE,gDAAgD,EAAE,uBAAuB;IACzE,wCAAwC,EAAE,qBAAqB;IAC/D,yCAAyC,EAAE,oCAAoC;IAC/E,0CAA0C,EAAE,qBAAqB;IACjE,0DAA0D,EAAE,kDAAkD;IAC9G,0DAA0D,EAAE,kDAAkD;IAC9G,mDAAmD,EAAE,oCAAoC;IACzF,sCAAsC,EAAE,eAAe;IACvD,wCAAwC,EAAE,UAAU;IACpD,mDAAmD,EAAE,wBAAwB;IAC7E,4DAA4D,EAAE,yBAAyB;IACvF,2CAA2C,EAAE,2BAA2B;IACxE,mDAAmD,EAAE,8BAA8B;IACnF,4DAA4D,EAAE,+CAA+C;IAC7G,yCAAyC,EAAE,mBAAmB;IAC9D,+CAA+C,EAAE,mBAAmB;IACpE,qDAAqD,EAAE,iDAAiD;IACxG,6DAA6D,EAAE,+BAA+B;IAC9F,mEAAmE,EAAE,oFAAoF;IACzJ,uDAAuD,EAAE,yBAAyB;IAClF,6DAA6D,EAAE,oEAAoE;IACnI,4DAA4D,EAAE,oCAAoC;IAClG,kEAAkE,EAAE,yEAAyE;IAC7I,4EAA4E,EAAE,qEAAqE;IACnJ,+CAA+C,EAAE,yBAAyB;IAC1E,+CAA+C,EAAE,SAAS;IAC1D,iDAAiD,EAAE,gBAAgB;IACnE,iDAAiD,EAAE,QAAQ;IAC3D,+CAA+C,EAAE,QAAQ;IACzD,6CAA6C,EAAE,YAAY;IAC3D,8CAA8C,EAAE,UAAU;IAC1D,sDAAsD,EAAE,sBAAsB;IAC9E,uCAAuC,EAAE,0BAA0B;IACnE,qDAAqD,EAAE,8BAA8B;IACrF,iDAAiD,EAAE,2BAA2B;IAC9E,iDAAiD,EAAE,8BAA8B;IACjF,oDAAoD,EAAE,oBAAoB;IAC1E,8DAA8D,EAAE,2BAA2B;IAC3F,2EAA2E,EAAE,iCAAiC;IAC9G,gDAAgD,EAAE,4BAA4B;IAC9E,mEAAmE,EAAE,uBAAuB;IAC5F,gEAAgE,EAAE,mBAAmB;IACrF,gDAAgD,EAAE,mBAAmB;IACrE,iDAAiD,EAAE,uBAAuB;IAC1E,yDAAyD,EAAE,+BAA+B;IAC1F,yDAAyD,EAAE,kCAAkC;IAC7F,yDAAyD,EAAE,2BAA2B;IACtF,yDAAyD,EAAE,+BAA+B;IAC1F,iDAAiD,EAAE,uBAAuB;IAC1E,+CAA+C,EAAE,wCAAwC;IACzF,4CAA4C,EAAE,gBAAgB;IAC9D,6CAA6C,EAAE,uBAAuB;IACtE,kDAAkD,EAAE,wBAAwB;IAC5E,+CAA+C,EAAE,sBAAsB;IACvE,kDAAkD,EAAE,yBAAyB;IAC7E,uDAAuD,EAAE,iCAAiC;IAC1F,gEAAgE,EAAE,oCAAoC;IACtG,gDAAgD,EAAE,mCAAmC;IACrF,6DAA6D,EAAE,sDAAsD;IACrH,iEAAiE,EAAE,sDAAsD;IACzH,4DAA4D,EAAE,iDAAiD;IAC/G,yDAAyD,EAAE,0CAA0C;IACrG,iEAAiE,EAAE,0DAA0D;IAC7H,uDAAuD,EAAE,6CAA6C;IACtG,iEAAiE,EAAE,wDAAwD;IAC3H,yDAAyD,EAAE,wDAAwD;IACnH,4DAA4D,EAAE,gDAAgD;IAC9G,oDAAoD,EAAE,2DAA2D;IACjH,+CAA+C,EAAE,eAAe;IAChE,6DAA6D,EAAE,sBAAsB;IACrF,iDAAiD,EAAE,2BAA2B;IAC9E,uDAAuD,EAAE,2DAA2D;IACpH,iCAAiC,EAAE,UAAU;IAC7C,kDAAkD,EAAE,6CAA6C;IACjG,oDAAoD,EAAE,0DAA0D;IAChH,yCAAyC,EAAE,wBAAwB;IACnE,qCAAqC,EAAE,SAAS;IAChD,qCAAqC,EAAE,QAAQ;IAC/C,+BAA+B,EAAE,QAAQ;IACzC,8BAA8B,EAAE,MAAM;IACtC,+BAA+B,EAAE,SAAS;IAC1C,kCAAkC,EAAE,aAAa;IACjD,wCAAwC,EAAE,gBAAgB;IAC1D,oCAAoC,EAAE,eAAe;IACrD,mCAAmC,EAAE,YAAY;IACjD,sCAAsC,EAAE,YAAY;IACpD,gCAAgC,EAAE,UAAU;IAC5C,kCAAkC,EAAE,WAAW;IAC/C,oCAAoC,EAAE,oBAAoB;IAC1D,oCAAoC,EAAE,gBAAgB;IACtD,sCAAsC,EAAE,gBAAgB;IACxD,0CAA0C,EAAE,qBAAqB;IACjE,0CAA0C,EAAE,iBAAiB;IAC7D,wCAAwC,EAAE,YAAY;IACtD,8CAA8C,EAAE,kBAAkB;IAClE,sDAAsD,EAAE,yBAAyB;IACjF,4DAA4D,EAAE,qFAAqF;IACnJ,+BAA+B,EAAE,QAAQ;IACzC,oCAAoC,EAAE,eAAe;IACrD,+CAA+C,EAAE,6DAA6D;IAC9G,0DAA0D,EAAE,8BAA8B;IAC1F,0DAA0D,EAAE,8BAA8B;IAC1F,2DAA2D,EAAE,sCAAsC;IACnG,kDAAkD,EAAE,8BAA8B;IAClF,2EAA2E,EAAE,iBAAiB;IAC9F,gEAAgE,EAAE,gDAAgD;IAClH,gCAAgC,EAAE,QAAQ;IAC1C,gCAAgC,EAAE,OAAO;IACzC,+BAA+B,EAAE,OAAO;IACxC,kCAAkC,EAAE,UAAU;IAC9C,uCAAuC,EAAE,kBAAkB;IAC3D,yEAAyE,EAAE,yBAAyB;IACpG,qCAAqC,EAAE,aAAa;IACpD,sCAAsC,EAAE,iBAAiB;IACzD,0CAA0C,EAAE,gBAAgB;IAC5D,wCAAwC,EAAE,QAAQ;IAClD,+CAA+C,EAAE,kBAAkB;IACnE,6DAA6D,EAAE,0BAA0B;IACzF,6CAA6C,EAAE,+CAA+C;IAC9F,yDAAyD,EAAE,8EAA8E;IACzI,sDAAsD,EAAE,2BAA2B;IACnF,gDAAgD,EAAE,qDAAqD;IACvG,sCAAsC,EAAE,kBAAkB;CAC7D,CAAC;;IChUU,gBAGX;AAHD,WAAY,gBAAgB;IACxB,6BAAS,CAAA;IACT,6BAAS,CAAA;AACb,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;;ICDW,YA8+BX;AA9+BD,WAAY,YAAY;IACpB,uEAAsB,CAAA;IACtB,0DAAc,CAAA;IACd,iDAAS,CAAA;IACT,mEAAmB,CAAA;IACnB,uFAA6B,CAAA;IAC7B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,yFAA8B,CAAA;IAC9B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,mFAA2B,CAAA;IAC3B,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,uGAAqC,CAAA;IACrC,qGAAoC,CAAA;IACpC,qGAAoC,CAAA;IACpC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,uGAAqC,CAAA;IACrC,mGAAmC,CAAA;IACnC,uGAAqC,CAAA;IACrC,mGAAmC,CAAA;IACnC,qGAAoC,CAAA;IACpC,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,mFAA2B,CAAA;IAC3B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,uFAA6B,CAAA;IAC7B,yFAA8B,CAAA;IAC9B,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,mFAA2B,CAAA;IAC3B,wDAAa,CAAA;IACb,sDAAY,CAAA;IACZ,gEAAiB,CAAA;IACjB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,oDAAW,CAAA;IACX,sDAAY,CAAA;IACZ,oDAAW,CAAA;IACX,8DAAgB,CAAA;IAChB,4DAAe,CAAA;IACf,4DAAe,CAAA;IACf,4DAAe,CAAA;IACf,0DAAc,CAAA;IACd,8DAAgB,CAAA;IAChB,0DAAc,CAAA;IACd,8DAAgB,CAAA;IAChB,0DAAc,CAAA;IACd,+CAAQ,CAAA;IACR,iEAAkB,CAAA;IAClB,qFAA4B,CAAA;IAC5B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,uFAA6B,CAAA;IAC7B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,iFAA0B,CAAA;IAC1B,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,iFAA0B,CAAA;IAC1B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,uFAA6B,CAAA;IAC7B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,iFAA0B,CAAA;IAC1B,oDAAW,CAAA;IACX,8DAAgB,CAAA;IAChB,4DAAe,CAAA;IACf,4DAAe,CAAA;IACf,4DAAe,CAAA;IACf,0DAAc,CAAA;IACd,8DAAgB,CAAA;IAChB,0DAAc,CAAA;IACd,8DAAgB,CAAA;IAChB,0DAAc,CAAA;IACd,+CAAQ,CAAA;IACR,iEAAkB,CAAA;IAClB,qFAA4B,CAAA;IAC5B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,uFAA6B,CAAA;IAC7B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,iFAA0B,CAAA;IAC1B,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,iFAA0B,CAAA;IAC1B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,uFAA6B,CAAA;IAC7B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,iFAA0B,CAAA;IAC1B,wDAAa,CAAA;IACb,+CAAQ,CAAA;IACR,iEAAkB,CAAA;IAClB,qFAA4B,CAAA;IAC5B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,uFAA6B,CAAA;IAC7B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,iFAA0B,CAAA;IAC1B,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,iFAA0B,CAAA;IAC1B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,uFAA6B,CAAA;IAC7B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,iFAA0B,CAAA;IAC1B,wDAAa,CAAA;IACb,sDAAY,CAAA;IACZ,gEAAiB,CAAA;IACjB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,6CAAO,CAAA;IACP,+DAAiB,CAAA;IACjB,mFAA2B,CAAA;IAC3B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,qFAA4B,CAAA;IAC5B,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,iFAA0B,CAAA;IAC1B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,+EAAyB,CAAA;IACzB,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,+EAAyB,CAAA;IACzB,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,+EAAyB,CAAA;IACzB,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,qFAA4B,CAAA;IAC5B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,+EAAyB,CAAA;IACzB,gEAAkB,CAAA;IAClB,iDAAS,CAAA;IACT,mEAAmB,CAAA;IACnB,uFAA6B,CAAA;IAC7B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,yFAA8B,CAAA;IAC9B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,mFAA2B,CAAA;IAC3B,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,uGAAqC,CAAA;IACrC,qGAAoC,CAAA;IACpC,qGAAoC,CAAA;IACpC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,uGAAqC,CAAA;IACrC,mGAAmC,CAAA;IACnC,uGAAqC,CAAA;IACrC,mGAAmC,CAAA;IACnC,qGAAoC,CAAA;IACpC,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,mFAA2B,CAAA;IAC3B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,uFAA6B,CAAA;IAC7B,yFAA8B,CAAA;IAC9B,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,mFAA2B,CAAA;IAC3B,0DAAc,CAAA;IACd,wDAAa,CAAA;IACb,kEAAkB,CAAA;IAClB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,gEAAiB,CAAA;IACjB,8DAAgB,CAAA;IAChB,kEAAkB,CAAA;IAClB,8DAAgB,CAAA;IAChB,kEAAkB,CAAA;IAClB,8DAAgB,CAAA;IAChB,6CAAO,CAAA;IACP,+DAAiB,CAAA;IACjB,mFAA2B,CAAA;IAC3B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,qFAA4B,CAAA;IAC5B,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,iFAA0B,CAAA;IAC1B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,+EAAyB,CAAA;IACzB,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,+EAAyB,CAAA;IACzB,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,+EAAyB,CAAA;IACzB,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,qFAA4B,CAAA;IAC5B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,+EAAyB,CAAA;IACzB,sDAAY,CAAA;IACZ,oDAAW,CAAA;IACX,8DAAgB,CAAA;IAChB,4DAAe,CAAA;IACf,4DAAe,CAAA;IACf,4DAAe,CAAA;IACf,0DAAc,CAAA;IACd,8DAAgB,CAAA;IAChB,0DAAc,CAAA;IACd,8DAAgB,CAAA;IAChB,0DAAc,CAAA;IACd,8CAAQ,CAAA;IACR,wDAAa,CAAA;IACb,sDAAY,CAAA;IACZ,gEAAiB,CAAA;IACjB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,iDAAS,CAAA;IACT,mEAAmB,CAAA;IACnB,uFAA6B,CAAA;IAC7B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,yFAA8B,CAAA;IAC9B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qFAA4B,CAAA;IAC5B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,mFAA2B,CAAA;IAC3B,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,uGAAqC,CAAA;IACrC,qGAAoC,CAAA;IACpC,qGAAoC,CAAA;IACpC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,uGAAqC,CAAA;IACrC,mGAAmC,CAAA;IACnC,uGAAqC,CAAA;IACrC,mGAAmC,CAAA;IACnC,qGAAoC,CAAA;IACpC,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,mFAA2B,CAAA;IAC3B,6FAAgC,CAAA;IAChC,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,uFAA6B,CAAA;IAC7B,yFAA8B,CAAA;IAC9B,qGAAoC,CAAA;IACpC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,qGAAoC,CAAA;IACpC,iGAAkC,CAAA;IAClC,mGAAmC,CAAA;IACnC,mFAA2B,CAAA;IAC3B,oDAAW,CAAA;IACX,sDAAY,CAAA;IACZ,gEAAiB,CAAA;IACjB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,8DAAgB,CAAA;IAChB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,gEAAiB,CAAA;IACjB,4DAAe,CAAA;IACf,6CAAO,CAAA;IACP,+DAAiB,CAAA;IACjB,mFAA2B,CAAA;IAC3B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,qFAA4B,CAAA;IAC5B,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,iFAA0B,CAAA;IAC1B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iFAA0B,CAAA;IAC1B,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,+EAAyB,CAAA;IACzB,mFAA2B,CAAA;IAC3B,2FAA+B,CAAA;IAC/B,mGAAmC,CAAA;IACnC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,mGAAmC,CAAA;IACnC,+FAAiC,CAAA;IACjC,iGAAkC,CAAA;IAClC,+EAAyB,CAAA;IACzB,uFAA6B,CAAA;IAC7B,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,6FAAgC,CAAA;IAChC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,+FAAiC,CAAA;IACjC,2FAA+B,CAAA;IAC/B,6FAAgC,CAAA;IAChC,+EAAyB,CAAA;IACzB,yFAA8B,CAAA;IAC9B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,mFAA2B,CAAA;IAC3B,qFAA4B,CAAA;IAC5B,iGAAkC,CAAA;IAClC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,+FAAiC,CAAA;IACjC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,iGAAkC,CAAA;IAClC,6FAAgC,CAAA;IAChC,+FAAiC,CAAA;IACjC,+EAAyB,CAAA;IACzB,+CAAQ,CAAA;IACR,kEAAmB,CAAA;IACnB,kEAAqB,CAAA;AACzB,CAAC,EA9+BW,YAAY,KAAZ,YAAY,QA8+BvB;;ICh/BW,eASX;AATD,WAAY,eAAe;IACvB,8CAA2B,CAAA;IAC3B,yCAAsB,CAAA;IACtB,oCAAiB,CAAA;IACjB,gDAA6B,CAAA;IAC7B,2CAAwB,CAAA;IACxB,sCAAmB,CAAA;IACnB,iCAAc,CAAA;IACd,gDAA6B,CAAA;AACjC,CAAC,EATW,eAAe,KAAf,eAAe,QAS1B;;ICTW,kBAGX;AAHD,WAAY,kBAAkB;IAC1B,mDAA6B,CAAA;IAC7B,2CAAqB,CAAA;AACzB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;;ICHW,SA+DX;AA/DD,WAAY,SAAS;IACjB,mDAAc,CAAA;IACd,uEAAwB,CAAA;IACxB,uDAAgB,CAAA;IAChB,uDAAgB,CAAA;IAChB,uCAAQ,CAAA;IACR,iDAAa,CAAA;IACb,mDAAc,CAAA;IACd,yFAAiC,CAAA;IACjC,qDAAe,CAAA;IACf,2DAAkB,CAAA;IAClB,+DAAoB,CAAA;IACpB,yDAAiB,CAAA;IACjB,iEAAqB,CAAA;IACrB,+CAAY,CAAA;IACZ,iEAAqB,CAAA;IACrB,mEAAsB,CAAA;IACtB,6CAAW,CAAA;IACX,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,mDAAc,CAAA;IACd,qEAAuB,CAAA;IACvB,qEAAuB,CAAA;IACvB,uDAAgB,CAAA;IAChB,2DAAkB,CAAA;IAClB,iEAAqB,CAAA;IACrB,qDAAe,CAAA;IACf,mDAAc,CAAA;IACd,mEAAsB,CAAA;IACtB,6DAAmB,CAAA;IACnB,yFAAiC,CAAA;IACjC,+DAAoB,CAAA;IACpB,mDAAc,CAAA;IACd,2CAAU,CAAA;IACV,+DAAoB,CAAA;IACpB,uEAAwB,CAAA;IACxB,iEAAqB,CAAA;IACrB,uDAAgB,CAAA;IAChB,2EAA0B,CAAA;IAC1B,yEAAyB,CAAA;IACzB,qEAAuB,CAAA;IACvB,qDAAe,CAAA;IACf,uEAAwB,CAAA;IACxB,yEAAyB,CAAA;IACzB,+CAAY,CAAA;IACZ,mEAAsB,CAAA;IACtB,mDAAc,CAAA;IACd,iEAAqB,CAAA;IACrB,2EAA0B,CAAA;IAC1B,iEAAqB,CAAA;IACrB,yFAAiC,CAAA;IACjC,uFAAgC,CAAA;IAChC,yEAAyB,CAAA;IACzB,+DAAoB,CAAA;IACpB,uDAAgB,CAAA;IAChB,uEAAwB,CAAA;IACxB,+DAAoB,CAAA;IACpB,iFAA6B,CAAA;IAC7B,6EAA2B,CAAA;IAC3B,yEAAyB,CAAA;IACzB,2DAAkB,CAAA;IAClB,yDAAiB,CAAA;IACjB,6FAAmC,CAAA;AACvC,CAAC,EA/DW,SAAS,KAAT,SAAS,QA+DpB;;IC/DW,oBAOX;AAPD,WAAY,oBAAoB;IAC5B,yCAAiB,CAAA;IACjB,iDAAyB,CAAA;IACzB,+CAAuB,CAAA;IACvB,iEAAyC,CAAA;IACzC,qDAA6B,CAAA;IAC7B,uEAA+C,CAAA;AACnD,CAAC,EAPW,oBAAoB,KAApB,oBAAoB,QAO/B;;ICPW,iBAiEX;AAjED,WAAY,iBAAiB;;IAEzB,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,qCAAgB,CAAA;IAChB,sCAAiB,CAAA;IACjB,oCAAe,CAAA;IACf,8BAAS,CAAA;;IAGT,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,mCAAc,CAAA;IACd,iCAAY,CAAA;IACZ,kCAAa,CAAA;;IAGb,+CAAqB,CAAA;IACrB,qDAA2B,CAAA;IAC3B,mCAAc,CAAA;IACd,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAC3B,qDAAgC,CAAA;IAChC,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAC3B,kDAA6B,CAAA;IAC7B,oDAA+B,CAAA;IAC/B,kDAA6B,CAAA;IAC7B,4CAAuB,CAAA;IACvB,sDAAiC,CAAA;IACjC,oDAA+B,CAAA;;IAG/B,gCAAW,CAAA;IACX,qCAAgB,CAAA;IAChB,6CAAmB,CAAA;;IAGnB,kCAAa,CAAA;IACb,mCAAc,CAAA;IACd,+BAAU,CAAA;IACV,gCAAW,CAAA;;IAGX,wCAAc,CAAA;IACd,2CAAiB,CAAA;IACjB,iCAAY,CAAA;;IAGZ,gCAAW,CAAA;IACX,oCAAe,CAAA;IACf,2CAAsB,CAAA;;IAGtB,+BAAU,CAAA;IACV,iCAAY,CAAA;IACZ,+BAAU,CAAA;;IAGV,+BAAU,CAAA;IACV,oCAAe,CAAA;IACf,oCAAe,CAAA;IACf,oCAAe,CAAA;IACf,oCAAe,CAAA;AACnB,CAAC,EAjEW,iBAAiB,KAAjB,iBAAiB,QAiE5B;;MC7DY,eAAe;IAEjB,OAAO,SAAS,CAAC,IAAY,EAAE,aAAa,GAAG,KAAK;QACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;aACzC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;aAC5B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,aAAa,IAAI,MAAM,EAAE;YACzB,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACvC;QACD,OAAO,MAAM,CAAC;KAEjB;IAEM,OAAO,mBAAmB,CAAC,YAAoB,EAAE,cAAc,GAAG,KAAK;QAC1E,MAAM,YAAY,GAA8B,EAAE,CAAC;QACnD,IAAI,cAAc,EAAE;YAChB,YAAY,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;SACnD;QACD,IAAI,eAAe,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACnC;QACD,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM;YAClC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1D,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;KACvB;IAEM,OAAO,gBAAgB,CAAC,GAAW;QACtC,IAAI;YACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAClF;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;KACJ;IAEM,OAAO,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,IAAY;QAC7D,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC9D;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChD,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,OAAO,SAAS,CAAC;KAC1D;CAGJ;;ACjDD;;;AAGA,MAAa,eAAe;;;;;;IAMxB,OAAO,iBAAiB,CAAC,GAAQ;QAC7B,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC;KAC5C;;;;;;IAOD,OAAO,oBAAoB,CAAC,GAAQ;QAChC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;KAClD;;;;;;IAOD,OAAO,QAAQ,CAAC,GAAQ;QACpB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;KAClC;;;;;;IAOD,OAAO,QAAQ,CAAC,GAAQ;QACpB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;KAClC;;;;;;IAOD,OAAO,SAAS,CAAC,GAAQ;QACrB,OAAO,OAAO,GAAG,KAAK,SAAS,CAAC;KACnC;;;;;;IAOD,OAAO,UAAU,CAAC,GAAQ;QACtB,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC;KACpC;;;;;;IAOD,OAAO,OAAO,CAAC,GAAQ;QACnB,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAC7B;;;;;;IAOD,OAAO,QAAQ,CAAC,GAAQ;QACpB,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;KAClC;;;;;;IAOD,OAAO,MAAM,CAAC,GAAQ;QAClB,OAAO,GAAG,YAAY,IAAI,CAAC;KAC9B;;;;;;IAOD,OAAO,OAAO,CAAC,GAAQ;QACnB,OAAO,GAAG,YAAY,KAAK,CAAC;KAC/B;;;;;;IAOD,OAAO,QAAQ,CAAC,GAAQ;QACpB,OAAO,GAAG,YAAY,MAAM,CAAC;KAChC;;;;;;IAOD,OAAO,WAAW,CAAC,GAAQ;QACvB,OAAO,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC3G;;;;;;IAOD,OAAO,OAAO,CAAC,GAAQ;QACnB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAChC,OAAO,KAAK,CAAC;SAChB;QAED,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;YACnB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzE,OAAO,KAAK,CAAC;aAChB;SACJ;QAED,OAAO,IAAI,CAAC;KACf;IAEO,OAAO,aAAa,CAAC,IAAe,EAAE,IAAe;QACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YAC7B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpE;IAEO,OAAO,cAAc,CAAC,IAAY,EAAE,IAAY;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YAC/B,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAM,IAAY,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,OAAO,CAAE,IAAY,CAAC,GAAG,CAAC,EAAG,IAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACrI;;;;;;;IAQD,OAAO,OAAO,CAAC,IAAa,EAAE,IAAa;QACvC,IAAI,IAAI,KAAK,IAAI,EAAE;YACf,OAAO,IAAI,CAAC;SACf;QAED,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACxF,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACzC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC5C,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC1C;;;;;;IAOD,OAAO,MAAM,CAAC,GAAQ;QAClB,OAAO,GAAG,KAAK,IAAI,CAAC;KACvB;;;;;;IAOD,OAAO,SAAS,CAAC,GAAQ;QACrB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACvC;;;;;;IAOD,OAAO,MAAM,CAAC,GAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC9B;;;;;;IAOD,OAAO,UAAU,CAAC,GAAQ;QACtB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAChC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC;KACxD;;;;;;IAOD,OAAO,OAAO,CAAC,GAAQ;QACnB,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC3C;;;;;;;IAQD,OAAO,gBAAgB,CAAC,GAAQ,EAAE,QAAgB;QAC9C,OAAO,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;KAC1E;;;;IAKD,OAAO,KAAK,CAAC,GAAQ;QACjB,OAAO,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;KACtE;;;;;;IAOD,OAAO,WAAW,CAAC,GAAQ;QACvB,OAAO,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACzG;;;;IAKD,OAAO,OAAO,CAAC,GAAQ;QACnB,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACzF;;;;IAKD,OAAO,SAAS,CAAC,GAAQ;QACrB,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACxC;;;;;;;;;;IAWD,OAAO,YAAY,CAAC,GAAwB,EAAE,GAAW,EAAE,aAAsB,IAAI;QACjF,IAAI,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;QAED,IAAI,GAAG,IAAI,GAAG,EAAE;YACZ,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;SACnB;QAED,IAAI,UAAU,EAAE;YACZ,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;gBACpB,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;oBAC3D,MAAM,MAAM,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;oBACxE,IAAI,MAAM,KAAK,SAAS,EAAE;wBACtB,OAAO,MAAM,CAAC;qBACjB;iBACJ;aACJ;SACJ;QAED,OAAO,SAAS,CAAC;KACpB;;;;;IAMD,OAAO,UAAU,CAAC,KAAa;QAC3B,IAAI;YACA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,SAAS,CAAC;SACpB;KACJ;;;;;;;;;IAUD,OAAO,qBAAqB,CAAC,GAAQ,EAAE,IAAS,EAAE,IAAe;QAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,IAAS,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpH,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO,EAAE,CAAC;SACb;QACD,IAAI,IAAI,KAAK,SAAS,CAAC,MAAM,EAAE;YAC3B,OAAO,CAAC,CAAC;SACZ;aAAM,IAAI,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;YAChC,MAAMC,QAAM,GAAGC,MAAiB,CAAC;YACjC,OAAOD,QAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAChC;aAAM,IAAI,IAAI,KAAK,SAAS,CAAC,KAAK,EAAE;YACjC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;SACpF;aAAM;YACH,OAAO,CAAC,CAAC;SACZ;KACJ;CACJ;;AC5UD,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAEzC,MAAa,aAAa;;;;;;IAMf,OAAO,iBAAiB,CAAC,IAA6B;QACzD,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC;KAC9C;;;;;;IAOM,OAAO,oBAAoB,CAAC,IAA6B;QAC5D,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;KACjD;;;;;;IAOM,OAAO,OAAO,CAAC,IAAY;QAC9B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;KACnC;;;;;;IAOM,OAAO,SAAS,CAAC,IAAY;QAChC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACvC;;;;;;;IAQM,OAAO,QAAQ,CAAC,IAAU,EAAE,SAAe;QAC9C,OAAO,IAAI,GAAG,SAAS,CAAC;KAC3B;;;;;;;IAQM,OAAO,OAAO,CAAC,IAAU,EAAE,SAAe;QAC7C,OAAO,IAAI,GAAG,SAAS,CAAC;KAC3B;;;;;;;IAQM,OAAO,OAAO,CAAC,IAAU,EAAE,SAAe;QAC7C,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;KACjD;;;;;;;IAQM,OAAO,aAAa,CAAC,IAAU,EAAE,SAAe;QACnD,OAAO,IAAI,IAAI,SAAS,CAAC;KAC5B;;;;;;;IAQM,OAAO,gBAAgB,CAAC,IAAU,EAAE,SAAe;QACtD,OAAO,IAAI,IAAI,SAAS,CAAC;KAC5B;;;;;;;IAQM,OAAO,MAAM,CAAC,IAAU,EAAE,SAAe;QAC5C,OAAO,IAAI,GAAG,SAAS,CAAC;KAC3B;;;;;;;IAQM,OAAO,SAAS,CAAC,IAAU,EAAE,SAAe;QAC/C,OAAO,IAAI,GAAG,SAAS,CAAC;KAC3B;;;;;;;IAQD,OAAO,UAAU,CAAC,IAAU,EAAE,SAAiB,mBAAmB;QAC9D,MAAMA,QAAM,GAAGC,MAAiB,CAAC;QACjC,OAAOD,QAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KAC5C;;;;;;IAOD,OAAO,OAAO,CAAC,KAAa;QACxB,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE;YAC1B,OAAO,GAAG,GAAG,KAAK,CAAC;SACtB;QACD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KAC3B;CACJ;;MCrIY,UAAU,GAAG;;;;IAItB,OAAO,EAAE,4BAA4B;;;;IAKrC,eAAe,EAAE,YAAY;;;;IAK7B,eAAe,EAAE,aAAa;;;;IAK9B,eAAe,EAAE,OAAO;;;;IAKxB,OAAO,EAAE,uBAAuB;;;;IAKhC,QAAQ,EAAE,WAAW;;;;IAKrB,MAAM,EAAE,4FAA4F;;;;IAKpG,QAAQ,EAAE,SAAS;;;;IAKnB,SAAS,EAAE,aAAa;;;;IAKxB,cAAc,EAAE,sCAAsC;;;;IAKtD,aAAa,EAAE,wBAAwB;;;;IAKvC,MAAM,EAAE,qBAAqB;;;;IAK7B,MAAM,EAAE,4BAA4B;;;;IAKpC,UAAU,EAAE,8CAA8C;;;;IAK1D,KAAK,EAAE,wDAAwD;;;;IAK/D,WAAW,EAAE,gBAAgB;;;;IAK7B,QAAQ,EAAE,wBAAwB;;;;IAKlC,UAAU,EAAE,YAAY;;;;IAKxB,cAAc,EAAE,gBAAgB;;;;IAKhC,MAAM,EAAE,cAAc;;;;IAKtB,YAAY,EAAE,2BAA2B;;;;IAKzC,aAAa,EAAE,gBAAgB;;;;IAK/B,UAAU,EAAE,mBAAmB;;;;IAK/B,YAAY,EAAE,yCAAyC;;;;IAKvD,SAAS,EAAE,2CAA2C;;;;IAKtD,oBAAoB,EAAE,uBAAuB;;;;IAK7C,gBAAgB,EAAE,sEAAsE;;;;IAKxF,YAAY,EAAE,aAAa;;;;IAK3B,YAAY,EAAE,mCAAmC;;;;IAKjD,UAAU,EAAE,qCAAqC;;;;IAKjD,WAAW,EAAE,qDAAqD;;;;IAKlE,YAAY,EAAE,2CAA2C;;;;IAKzD,sBAAsB,EAAE,0BAA0B;;;;IAKlD,KAAK,EAAE,qBAAqB;;;;IAK5B,gBAAgB,EAAE,UAAU;;;;;IAM5B,sBAAsB,EAAE,oCAAoC;;;;;IAM5D,iBAAiB,EAAE,iBAAiB;IAEpC,SAAS,EAAE,qBAAqB;IAChC,SAAS,EAAE,qBAAqB;IAChC,aAAa,EAAE,kDAAkD;CACpE;;ACxLD;;;AAGA,MAAa,eAAe;;IA6DxB,OAAO,aAAa,CAAC,GAAmB;QACpC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClC;;IAGD,OAAO,UAAU,CAAC,GAAmB;QACjC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/B;;IAGD,OAAO,aAAa,CAAC,GAAmB;QACpC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC5B;;IAGD,OAAO,UAAU,CAAC,GAAmB;QACjC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzB;;;;IAKD,OAAO,OAAO,CAAC,GAAmB;;QAC9B,IAAI,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtC,OAAO,OAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,4CAAI,MAAM,MAAK,YAAY,CAAC,IAAI,CAAC;SACpD;QACD,OAAO,IAAI,CAAC;KACf;;;;IAKD,OAAO,UAAU,CAAC,GAAmB;QACjC,IAAI,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACtC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACxC;QACD,OAAO,KAAK,CAAC;KAChB;;IAGD,OAAO,OAAO,CAAC,GAAmB;QAC9B,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvD;;IAGD,OAAO,UAAU,CAAC,GAAmB;QACjC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACxC;;;;IAKD,OAAO,UAAU,CAAC,GAAmB;QACjC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,IAAI,CAAC;SACf;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,OAAO,KAAK,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;KAC1C;;;;IAKD,OAAO,gBAAgB,CAAC,IAAoB,EAAE,IAAoB;QAC9D,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,SAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,GAAE,CAAC;KACtD;;;;IAKD,OAAO,MAAM,CAAC,IAAoB,EAAE,IAAoB;QACpD,OAAO,IAAI,KAAK,IAAI,CAAC;KACxB;IAED,OAAO,OAAO,CAAC,GAAW;QACtB,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC3C;IAED,OAAO,OAAO,CAAC,GAAW;QACtB,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvC;IAED,OAAO,iBAAiB,CAAC,GAAW;QAChC,OAAO,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/C;;IAGD,OAAO,QAAQ,CAAC,KAAU;QACtB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;KAC/E;IAED,OAAO,iBAAiB,CAAC,GAAW;QAChC,OAAO,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC/C;IAED,OAAO,SAAS,CAAC,GAAW;QACxB,OAAO,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvC;IAED,OAAO,MAAM,CAAC,GAAW;QACrB,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACtC;IAED,OAAO,QAAQ,CAAC,GAAW;QACvB,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACzF;IAED,OAAO,WAAW,CAAC,GAAW;QAC1B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE7B,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC7D,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,MAAc;YAC7C,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;aAC/E;YACD,MAAM,MAAM,GAAG,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC;YACzC,OAAO,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;SACvF,CAAC;QAEF,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAEnD,QACI,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAC/H;KACL;;;;IAKD,OAAO,YAAY,CAAC,IAAY;QAC5B,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;;QAGnB,IAAI,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAClC,OAAO,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;SACzD;;QAGD,OAAO,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;KACnD;;;;IAKO,OAAO,kBAAkB,CAAC,IAAY;QAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAE/B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YACtC,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,CAAC,QAAQ,EAAE;YACvC,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1D,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;SACpG;QACD,IAAI,KAAK,GAAG,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;QAE3F,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;YAC5D,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;SACpG;QACD,KAAK,GAAG,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;QAE3F,QACI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,OAAO;YACxE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,OAAO,EAC5E;KACL;;;;IAKO,OAAO,wBAAwB,CAAC,IAAY;QAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;SAChB;;QAGD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;;QAG9D,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC,QAAQ,EAAE;YACxC,OAAO,KAAK,CAAC;SAChB;;QAGD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC1E,OAAO,KAAK,CAAC;SAChB;;QAGD,MAAM,MAAM,GAAG,eAAe,CAAC,yBAAyB,CAAC;QACzD,MAAM,MAAM,GAAG,eAAe,CAAC,yBAAyB,CAAC;;QAGzD,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEhF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,KAAe;YAC3C,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;YAC7B,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC;gBACjE,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACjC;YACD,MAAM,KAAK,GAAG,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC;YACzC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;YAC3C,OAAO,MAAM,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,MAAM,CAAC;SAClE,CAAC;QAEF,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;QAEnC,OAAO,WAAW,KAAK,WAAW,CAAC;KACtC;;IAGD,OAAO,UAAU,CAAC,IAAY,EAAE,IAAY;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;gBACrB,IAAI,EAAE,CAAC;aACV;SACJ;QACD,OAAO,IAAI,CAAC;KACf;;IAGD,OAAO,QAAQ,CAAC,IAAY,EAAE,IAAY;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC9B;;IAGD,OAAO,UAAU,CAAC,IAAY,EAAE,IAAY;QACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAChC;;IAGD,OAAO,QAAQ,CAAC,IAAY,EAAE,IAAY;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC9B;;IAGD,OAAO,oBAAoB,CAAC,IAAY,EAAE,IAAY;QAClD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KAC5D;;IAGD,OAAO,kBAAkB,CAAC,IAAY,EAAE,IAAY;QAChD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;KAC1D;;IAGD,OAAO,QAAQ,CAAC,GAAW;QACvB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjD,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;SACpF;QACD,OAAO,OAAO,CAAC;KAClB;;IAGD,OAAO,UAAU,CAAC,GAAW;QACzB,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACrE;;IAGD,OAAO,YAAY,CAAC,GAAW;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACrE;;IAGD,OAAO,YAAY,CAAC,GAAW,EAAE,SAAiB;QAC9C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;KACvD;;;;;;IAOD,OAAO,SAAS,CAAC,KAAa,EAAE,IAA8B;QAC1D,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE;gBACxB,MAAM;aACT;YACD,IAAI,QAAQ,KAAK,GAAG,EAAE;gBAClB,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC;aACzB;iBAAM;gBACH,WAAW,IAAI,QAAQ,CAAC;aAC3B;SACJ;QACD,OAAO,WAAW,CAAC;KACtB;IAED,OAAO,OAAO,CAAC,GAAmB;QAC9B,OAAO,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KAC7E;IAED,OAAO,SAAS,CAAC,GAAmB;QAChC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACxC;IAED,OAAO,SAAS,CAAC,KAAa;QAC1B,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAED,OAAO,SAAS,CAAC,KAAa;QAC1B,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3C;IAED,OAAO,aAAa,CAAC,KAAa;QAC9B,OAAO,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC/C;;AA9ZuB,wCAAwB,GAAa;IACzD,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;CACnB,CAAC;AACsB,wCAAwB,GAAa;IACzD,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;CACnB,CAAC;AACF;AACwB,yCAAyB,GAAa;IAC1D,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;CACnB,CAAC;AACsB,yCAAyB,GAAa;IAC1D,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;IAChB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,KAAK;IAClB,YAAY,CAAC,GAAG;CACnB,CAAC;;ACjEN;AACA,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,mBAAmB,GAAG,yBAAyB,CAAC;AAEtD,MAEa,iBAAiB;;;;;;IAM1B,OAAO,gBAAgB;QACnB,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,mBAAmB,CAAC,CAAC;KAChE;;;;;;IAOD,OAAO,sBAAsB;QACzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,MAAM,EAAE;YACR,OAAO,MAAM,CAAC;SACjB;QACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACnE;;;;;IAMD,OAAO,qBAAqB;;QAExB,OAAO,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;KACrD;;;;;;IAOD,OAAO,kBAAkB;QACrB,MAAM,IAAI,GAAG,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzD,OAAO,IAAI,IAAI,IAAI,CAAC;KACvB;;;;;;;IAOD,OAAO,sBAAsB;QACzB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC7D,OAAO,QAAQ,IAAI,IAAI,CAAC;KAC3B;;;;;;IAOD,OAAO,mBAAmB;QACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,CAAC,IAAI,CAAC,YAAY,YAAY,mBAAmB,CAAC,CAAC;SAC7D;QACD,OAAO,KAAK,IAAI,IAAI,CAAC;KACxB;;;;;;IAOD,OAAO,UAAU;QACb,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,MAAM,EAAE;YACR,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACrC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,eAAe,mBAAmB,CAAC,CAAC;KACnE;;;;;;IAOD,OAAO,cAAc;QACjB,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC9D,IAAIE,eAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAChC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACrC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,mBAAmB,mBAAmB,CAAC,CAAC;KACvE;;;;;IAMD,OAAO,qBAAqB;QACxB,MAAM,KAAK,GAAG,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,CAAC,IAAI,CAAC,YAAY,YAAY,mBAAmB,CAAC,CAAC;SAC7D;QACD,OAAO,KAAK,IAAI,IAAI,CAAC;KACxB;;;;IAKO,OAAO,aAAa,CAAC,KAAa;QACtC,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,GAAG,GAAG,eAAe,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;KACrB;CACJ;;ACjID;;;AAIA,MAEa,eAAe;;;;;;IAMxB,OAAO,iBAAiB,CAAC,GAAQ;QAC7B,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC;KAC5C;;;;;;IAOD,OAAO,oBAAoB,CAAC,GAAQ;QAChC,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;KAClD;;;;;;;IAQD,OAAO,MAAM,CAAC,KAAa;QAC3B,OAAO,KAAK,GAAG,YAAY,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC;KACrD;;;;;;;IAQD,OAAO,KAAK,CAAC,KAAa;QAC1B,OAAO,KAAK,GAAG,YAAY,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,CAAC;KACrD;;;;;;;;IASD,OAAO,UAAU,CAAC,OAAe,EAAE,KAAa;QAC5C,IAAI,KAAK,KAAK,YAAY,CAAC,IAAI,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACjD;QACL,OAAO,CAAC,OAAO,GAAG,KAAK,IAAI,YAAY,CAAC,WAAW,CAAC;KACnD;;;;;;;;;IAUD,OAAO,UAAU,CAAC,KAAa,EAAE,WAAmB,KAAK,EAAE,SAAiB,OAAO;QAC/E,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACjC,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpB;;;;;;;;IASD,OAAO,aAAa,CAAC,GAAW,EAAE,GAAW;QACzC,IAAI,GAAG,IAAI,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAClE;QACD,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;KAC5C;;;;;;;IAQD,OAAO,OAAO,CAAC,KAAa;QACxB,IAAI,KAAK,IAAI,YAAY,CAAC,GAAG,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;QACD,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE;YACvD,IAAI,KAAK,GAAG,CAAC,KAAK,YAAY,CAAC,IAAI,EAAE;gBACjC,OAAO,KAAK,CAAC;aAChB;SACJ;QACD,OAAO,IAAI,CAAC;KACf;;;;;;;;IASD,OAAO,OAAO,CAAC,KAAa,EAAE,WAAmB,YAAY,CAAC,GAAG;QAC7D,IAAI,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACxE;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;KAC9C;;;;;;IAQD,OAAO,cAAc,CAAC,KAAU;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;aAC3C;SACJ;QAED,OAAO,CAAC,CAAC;KACZ;CACJ;;MC7IY,MAAM;;AACC,WAAI,GAAG;IACnB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,aAAa;IACvB,WAAW,EAAE,SAAS;IACtB,eAAe,EAAE,eAAe;IAChC,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,WAAW;IACzB,WAAW,EAAE,SAAS;IACtB,eAAe,EAAE,WAAW;IAC5B,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,YAAY;IAC5B,aAAa,EAAE,SAAS;IACxB,iBAAiB,EAAE,aAAa;IAChC,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,cAAc;CAChC,CAAC;AAEc,iBAAU,GAAG;IACzB,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,YAAY;IACvB,gBAAgB,EAAE,SAAS;IAC3B,oBAAoB,EAAE,eAAe;IACrC,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,eAAe;IAClC,gBAAgB,EAAE,SAAS;IAC3B,oBAAoB,EAAE,eAAe;IACrC,gBAAgB,EAAE,SAAS;IAC3B,oBAAoB,EAAE,eAAe;IACjC,kBAAkB,EAAE,SAAS;IAC7B,sBAAsB,EAAE,eAAe;IACvC,UAAU,EAAE,SAAS;IACrB,cAAc,EAAE,eAAe;IAC/B,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,eAAe;CAC7B,CAAC;AAEc,eAAQ,GAAG;IACvB,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,cAAc;IAC1B,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,cAAc;IAC1B,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,cAAc;CAC3B,CAAC;AAEc,kBAAW,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,oBAAoB;IAC7B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,oBAAoB;IAC7B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,oBAAoB;CAC/B,CAAC;AAEc,WAAI,GAAG;IACnB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,iBAAiB;IAC1B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,gBAAgB;IACzB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,oBAAoB;CAC/B,CAAC;;MC7EO,aAAa;;;;;;IAMtB,OAAO,cAAc,CAAC,QAAgB;QAClC,IAAI,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC;SACf;QAEL,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE;YAC7B,OAAO,QAAQ,CAAC;SACnB;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;;QAGzC,OAAO,GAAG,SAAS,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;KAChD;;;;;;;IAQD,OAAO,sBAAsB,CAAC,QAAgB;QAC1C,IAAI,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC;SACf;QAEL,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE;YAC7B,OAAO,QAAQ,CAAC;SACnB;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,oBAAoB,GAAG,KAAK;aAC7B,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;aACnC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEf,OAAO,GAAG,SAAS,IAAI,oBAAoB,EAAE,CAAC;KACjD;;;;;;;IAQD,OAAO,WAAW,CAAC,QAAgB;QAC/B,IAAI,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC;SACf;QAED,OAAO,QAAQ;aACV,IAAI,EAAE;aACN,KAAK,CAAC,KAAK,CAAC;aACZ,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;KACjB;CACJ;;AClED;;;AAGA,MAAa,cAAc;;;;IAIhB,OAAO,OAAO,CAAC,KAAU;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAC/B;;;;;;IAOM,OAAO,UAAU,CAAC,KAAY,EAAE,IAAS;QAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACd,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC1B;KACJ;;;;;;IAOM,OAAO,iBAAiB,CAAC,KAAY,EAAE,KAAa;QACvD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KAC1B;;;;;IAMM,OAAO,cAAc,CAAC,KAAY;QACrC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KACjC;;;;;IAMM,OAAO,OAAO,CAAC,KAAY;QAC9B,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;KAC9D;;;;;IAMM,OAAO,UAAU,CAAC,KAAY;QACjC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KACzC;;;;IAKM,OAAO,kBAAkB,CAAC,KAAY,EAAE,QAAgB,EAAE,KAAU;QACvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE;gBAC1B,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,IAAI,CAAC;KACf;;;;;;;;IASM,OAAO,cAAc,CAAC,IAAW,EAAE,IAAW;QAClD,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7C;CACJ;;MCvEY,UAAU;;;;;;;;;IAgBnB,OAAO,uBAAuB,CAC1B,IAAS,EACT,IAA0B;QAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA+C,CAAC;QAEnE,MAAM,WAAW,GAAG,CAAC,MAAW,EAAE,IAAY;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,GAAG,MAAM,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACnB,IAAI,KAAK,IAAI,IAAI,EAAE;oBACf,OAAO,SAAS,CAAC;iBACpB;gBACD,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;aACpB;YACD,OAAO,KAAK,CAAC;SAChB,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,IAAI,EAAE,CAAW,CAAC,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE5C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACrB,MAAM,WAAW,GAAe,EAAE,CAAC;gBACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;oBAClB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3C,WAAmB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAW,CAAC,CAAC;iBACnE;gBACD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aACvD;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjC,KAAK,CAAC,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC;SACnC;QAED,MAAM,MAAM,GAA4B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;YAC7E,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,gBAAgB,EAAE,KAAK,CAAC,KAAK;YAC7B,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC;SACpE,CAAC,CAAC,CAAC;QAEJ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;QAE7D,OAAO,MAAM,CAAC;KACjB;;AA3DD;AACwB,4BAAiB,GAAG,EAAE,CAAC;AACvB,+BAAoB,GAAG,CAAC,CAAC;AACzB,iCAAsB,GAAG,CAAC,CAAC;AAC3B,wBAAa,GAAG,MAAM,CAAC;AACvB,kBAAO,GAAG,GAAG,CAAC;;ACP1C,MAAM,wCAAwC,GAAG,MAAM,CAAC;AAExD,MAAa,iBAAiB;IAsE1B;;QApES,iBAAY,GAAwB;YACzC,iBAAiB,CAAC,KAAK;YACvB,iBAAiB,CAAC,UAAU;YAC5B,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,UAAU;YAC5B,iBAAiB,CAAC,QAAQ;YAC1B,iBAAiB,CAAC,EAAE;SACvB,CAAC;;QAGO,eAAU,GAAwB;YACvC,iBAAiB,CAAC,KAAK;YACvB,iBAAiB,CAAC,UAAU;YAC5B,iBAAiB,CAAC,QAAQ;YAC1B,iBAAiB,CAAC,KAAK;YACvB,iBAAiB,CAAC,IAAI;SACzB,CAAC;;QAGO,eAAU,GAAwB;YACvC,iBAAiB,CAAC,cAAc;YAChC,iBAAiB,CAAC,mBAAmB;YACrC,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,cAAc;YAChC,iBAAiB,CAAC,cAAc;YAChC,iBAAiB,CAAC,iBAAiB;YACnC,iBAAiB,CAAC,cAAc;YAChC,iBAAiB,CAAC,cAAc;YAChC,iBAAiB,CAAC,cAAc;YAChC,iBAAiB,CAAC,eAAe;YACjC,iBAAiB,CAAC,gBAAgB;YAClC,iBAAiB,CAAC,eAAe;YACjC,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,iBAAiB;YACnC,iBAAiB,CAAC,gBAAgB;SACrC,CAAC;;QAGO,iBAAY,GAAwB,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;;QAG3H,eAAU,GAAwB;YACvC,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,MAAM;YACxB,iBAAiB,CAAC,IAAI;YACtB,iBAAiB,CAAC,GAAG;SACxB,CAAC;;QAGO,sBAAiB,GAAwB,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;;QAG7H,iBAAY,GAAwB,CAAC,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;;QAG3H,sBAAiB,GAAwB,CAAC,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;;QAGpH,eAAU,GAAwB;YACvC,iBAAiB,CAAC,IAAI;YACtB,iBAAiB,CAAC,QAAQ;YAC1B,iBAAiB,CAAC,QAAQ;YAC1B,iBAAiB,CAAC,QAAQ;YAC1B,iBAAiB,CAAC,QAAQ;SAC7B,CAAC;QAKE,IAAI,CAAC,eAAe,GAAG;YACnB;gBACI,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,WAAW,EAAE;oBACT,CAAC,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG;oBAC3C,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI;oBACpC,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAK;oBACpC,CAAC,iBAAiB,CAAC,UAAU,GAAG,YAAY,CAAC,WAAW;oBACxD,CAAC,iBAAiB,CAAC,QAAQ,GAAG,MAAM;oBACpC,CAAC,iBAAiB,CAAC,EAAE,GAAG,MAAM;iBACjC;aACJ;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,WAAW,EAAE;oBACT,CAAC,iBAAiB,CAAC,KAAK,GAAG,KAAK;oBAChC,CAAC,iBAAiB,CAAC,UAAU,GAAG,YAAY,CAAC,GAAG;oBAChD,CAAC,iBAAiB,CAAC,QAAQ,GAAG,YAAY,CAAC,WAAW;oBACtD,CAAC,iBAAiB,CAAC,KAAK,GAAG,QAAQ;oBACnC,CAAC,iBAAiB,CAAC,IAAI,GAAG,EAAE;iBAC/B;aACJ;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,WAAW,EAAE;oBACT,CAAC,iBAAiB,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG;oBACpD,CAAC,iBAAiB,CAAC,mBAAmB,GAAG,MAAM;oBAC/C,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK;oBAClC,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAK;oBACzC,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAK;oBACzC,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAK;oBAC5C,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAK;oBACzC,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAK;oBACzC,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAK;oBACzC,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAK;oBAC1C,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAK;oBAC3C,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAK;oBAC1C,CAAC,iBAAiB,CAAC,SAAS,GAAG,MAAM;oBACrC,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,KAAK;oBAC5C,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,KAAK;iBAC9C;aACJ;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,WAAW,EAAE;oBACT,CAAC,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG;oBAC3C,CAAC,iBAAiB,CAAC,SAAS,GAAG,KAAK;oBACpC,CAAC,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW;iBAC7D;aACJ;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,WAAW,EAAE;oBACT,CAAC,iBAAiB,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG;oBAC7C,CAAC,iBAAiB,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM;oBAC/C,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI;oBAC9B,CAAC,iBAAiB,CAAC,GAAG,GAAG,KAAK;iBACjC;aACJ;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,WAAW,EAAE;oBACT,CAAC,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC,GAAG;oBAC3C,CAAC,iBAAiB,CAAC,OAAO,GAAG,KAAK;oBAClC,CAAC,iBAAiB,CAAC,cAAc,GAAG,OAAS;iBAChD;aACJ;YACD;gBACI,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,WAAW,EAAE;oBACT,CAAC,iBAAiB,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG;oBAC1C,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI;oBAClC,CAAC,iBAAiB,CAAC,QAAQ,GAAG,SAAA,IAAI,EAAI,YAAY,CAAC,GAAG,CAAA;oBACtD,CAAC,iBAAiB,CAAC,QAAQ,GAAG,SAAA,IAAI,EAAI,YAAY,CAAC,KAAK,CAAA;oBACxD,CAAC,iBAAiB,CAAC,QAAQ,GAAG,SAAA,IAAI,EAAI,YAAY,CAAC,IAAI,CAAA;iBAC1D;aACJ;SACJ,CAAC;KACL;;IAGD,sBAAsB,CAAC,KAAa,EAAE,EAAqB,EAAE,IAAuB;QAChF,IAAI,EAAE,KAAK,IAAI,EAAE;YACb,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,OAAe,CAAC;QACpB,QAAQ,EAAE;YACN,KAAK,iBAAiB,CAAC,OAAO;gBAC1B,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACV,KAAK,iBAAiB,CAAC,UAAU;gBAC7B,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC;gBACtF,MAAM;YACV,KAAK,iBAAiB,CAAC,MAAM;gBACzB,OAAO,GAAG,KAAK,GAAG,wCAAwC,CAAC;gBAC3D,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SAC3C;QAED,QAAQ,IAAI;YACR,KAAK,iBAAiB,CAAC,OAAO;gBAC1B,OAAO,OAAO,CAAC;YACnB,KAAK,iBAAiB,CAAC,UAAU;gBAC7B,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;YACvF,KAAK,iBAAiB,CAAC,MAAM;gBACzB,OAAO,OAAO,GAAG,wCAAwC,CAAC;YAC9D;gBACI,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SAC3C;KACJ;IAEO,iBAAiB,CAAC,IAAuB;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAChD;IAED,oBAAoB,CAAC,KAAa,EAAE,IAAuB,EAAE,EAAqB;;QAC9E,IAAI,IAAI,KAAK,EAAE,EAAE;YACb,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE;YAC5D,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;SACvD;QAGD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,QAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,0CAAE,QAAQ,CAAC,EAAE,EAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,SAAS,EAAE,mDAAmD,CAAC,CAAC;SACtH;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;QAC/B,OAAO,MAAM,GAAG,SAAS,CAAC;KAC7B;IAED,oBAAoB,CAAC,KAAa,EAAE,IAAuB,EAAE,EAAqB;;QAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,QAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,0CAAE,QAAQ,CAAC,EAAE,EAAC,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;SACjE;QAED,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE7C,OAAO,CAAC,KAAK,GAAG,SAAS,IAAI,OAAO,CAAC;KACxC;IAED,gBAAgB,CAAC,KAAa,EAAE,IAAuB,EAAE,EAAqB;QAC1E,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;KACrD;IAED,iBAAiB,CAAC,MAAc,EAAE,MAAc;QAC5C,IAAI,MAAM,IAAI,CAAC,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QACD,OAAO,MAAM,GAAG,MAAM,CAAC;KAC1B;IAED,iBAAiB,CAAC,EAAU,EAAE,MAAc;QACxC,IAAI,MAAM,IAAI,CAAC,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAClD;QACD,OAAO,EAAE,GAAG,MAAM,CAAC;KACtB;IAED,uBAAuB,CAAC,WAAmB,EAAE,IAAY,EAAE,QAA2B,EAAE,QAA2B;QAC/G,IAAI,IAAI,IAAI,CAAC,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACjD;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9E,OAAO,WAAW,GAAG,iBAAiB,CAAC;KAC1C;IAED,sBAAsB,CAAC,KAAa,EAAE,OAAe,EAAE,IAAuB,EAAE,EAAqB;QACjG,IAAI,IAAI,KAAK,EAAE,EAAE;YACb,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,IAAuB;YAC9C,QAAQ,IAAI;gBACR,KAAK,iBAAiB,CAAC,IAAI,CAAC;gBAC5B,KAAK,iBAAiB,CAAC,MAAM;oBACzB,OAAO,OAAO,GAAG,CAAC,CAAC;gBACvB,KAAK,iBAAiB,CAAC,IAAI;oBACvB,OAAO,CAAC,CAAC;gBACb;oBACI,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,+BAA+B,CAAC,CAAC;aACzE;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,IAAuB;YAChD,QAAQ,IAAI;gBACR,KAAK,iBAAiB,CAAC,IAAI,CAAC;gBAC5B,KAAK,iBAAiB,CAAC,MAAM;oBACzB,OAAO,CAAC,GAAG,OAAO,CAAC;gBACvB,KAAK,iBAAiB,CAAC,IAAI;oBACvB,OAAO,CAAC,CAAC;gBACb;oBACI,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,+BAA+B,CAAC,CAAC;aACzE;SACJ,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;KAClC;CACJ;;ICxRY,qBAAqB,GAAlC,MAAa,qBAAqB;IAS9B;QARQ,0BAAqB,GAA2B;YACpD,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SAChB,CAAC;QAEM,uBAAkB,GAAwB,EAAE,CAAC;QAGjD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KACzB;IAED,aAAa;QACT,OAAO,iBAAiB,CAAC,sBAAsB,EAAE,IAAI,OAAO,CAAC;KAChE;IAED,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACpE;IAEM,OAAO,CAAC,GAAW,EAAE,iBAA0C;QAClE,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAEtD,IAAI,iBAAiB,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK;gBACzC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;aAC9F,CAAC,CAAC;SACN;QAED,OAAO,WAAW,CAAC;KACtB;;;;;IAMD,GAAG,CAAC,GAA2B,EAAE,iBAA0B;QACvD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,YAAY,GAA8B,EAAE,CAAC;YACnD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACV,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;SAC3B;aAAM;YACH,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;SACnD;KACJ;CACJ,CAAA;;AAhDY,qBAAqB;IAHjC,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,qBAAqB,CAgDjC;;ICpDY,gBAAgB,GAA7B,MAAa,gBAAgB;IAE3B,YACU,gBAAuC;QAAvC,qBAAgB,GAAhB,gBAAgB,CAAuB;KAC9C;IAEH,SAAS,CAAC,KAAc,EAAE,GAAG,IAAe;QAC1C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC;KACvD;CAEF,CAAA;;YAV6B,qBAAqB;;AAHtC,gBAAgB;IAH5B,IAAI,CAAC;QACJ,IAAI,EAAE,cAAc;KACrB,CAAC;GACW,gBAAgB,CAa5B;;ICFY,oBAAoB,GAAjC,MAAa,oBAAoB;CAAI,CAAA;AAAxB,oBAAoB;IAZhC,QAAQ,CAAC;QACR,YAAY,EAAE;YACZ,gBAAgB;SACjB;QACD,OAAO,EAAE;YACP,YAAY;SACb;QACD,SAAS,EAAE,CAAC,qBAAqB,CAAC;QAClC,OAAO,EAAE;YACP,gBAAgB;SACjB;KACF,CAAC;GACW,oBAAoB,CAAI;;;MCXxB,gCAAgC,GAAG,IAAI,cAAc,CAAqB,oBAAoB,CAAC,CAAC;AAS7G,IAAa,2BAA2B,mCAAxC,MAAa,2BAA2B;IACpC,OAAO,OAAO,CAAC,MAA0B;QACrC,OAAO;YACH,QAAQ,EAAE,6BAA2B;YACrC,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,gCAAgC;oBACzC,QAAQ,EAAE,MAAM;iBACnB;aACJ;SACJ,CAAC;KACL;CACJ,CAAA;AAZY,2BAA2B;IAFvC,QAAQ,CAAC,EACT,CAAC;GACW,2BAA2B,CAYvC;;MCrBY,iBAAiB;;;;;;;;;;;IAYnB,OAAO,cAAc,CAAC,OAAwB;QACjD,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC1D,OAAO,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;SACnC;QACD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;KACf;;;;;;;;;;;;;;IAgBM,OAAO,oBAAoB,CAAC,cAAkC;QACjE,MAAM,WAAW,GAAG,CAAC,OAAwB;YACzC,MAAM,UAAU,GAAG,qBAAqB,CAAC;YACzC,MAAM,YAAY,GAAS,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,WAAW,GAAS,IAAI,IAAI,EAAE,CAAC;YAErC,MAAM,UAAU,GAAG;gBACf,CAAC,kBAAkB,CAAC,YAAY,GAAG,YAAY,IAAI,WAAW;gBAC9D,CAAC,kBAAkB,CAAC,QAAQ,GAAG,YAAY,IAAI,WAAW;aAC7D,CAAC;YAEF,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE;gBAC5B,OAAO,EAAE,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;aACrD;YAED,OAAO,IAAI,CAAC;SACf,CAAC;QACF,OAAO,WAAW,CAAC;KACtB;;;;;;;;;;;;;;;IAgBM,OAAO,6BAA6B,CAAC,YAAoB,EAAE,YAAoB;QAClF,MAAM,WAAW,GAAG,CAAC,OAAwB;;YACzC,MAAM,SAAS,GAAG,OAAoB,CAAC;YACvC,MAAM,KAAK,SAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,KAAK,CAAC;YACjD,MAAM,KAAK,SAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,KAAK,CAAC;YACjD,MAAM,UAAU,GAAG,+BAA+B,CAAC;YACnD,IAAI,KAAK,IAAI,KAAK,EAAE;gBAChB,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,QAAQ,GAAG,QAAQ,EAAE;oBACrB,MAAA,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,SAAS,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,EAAE;oBAC/D,OAAO,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;iBACjC;qBAAM,UAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,QAAQ,CAAC,UAAU,GAAG;oBAC1D,MAAA,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,SAAS,CAAC,IAAI,EAAE;iBAChD;aACJ;YACD,OAAO,IAAI,CAAC;SACf,CAAC;QACF,OAAO,WAAW,CAAC;KACtB;;;;;;;;;;;IAYM,OAAO,cAAc,CAAC,IAAY;QACrC,MAAM,sBAAsB,GAAG,CAAC,OAAwB;YACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5H,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC7C,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC1C,OAAO,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;aACjC;YACD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC;SACf,CAAC;QACF,OAAO,sBAAsB,CAAC;KACjC;;;;;;;;;;;;;;;;IAiBM,OAAO,mBAAmB,CAAC,YAAoB,EAAE,YAAoB,EAAE,gBAAsC;QAChH,MAAM,aAAa,GAAG,CAAC,OAAwB;;YAC3C,MAAM,SAAS,GAAG,OAAoB,CAAC;YACvC,MAAM,OAAO,SAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,KAAK,CAAC;YACnD,MAAM,OAAO,SAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,KAAK,CAAC;YACnD,MAAM,UAAU,GAAG,qBAAqB,CAAC;YACzC,IAAI,OAAO,IAAI,OAAO,EAAE;gBACpB,MAAM,SAAS,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;gBACzD,MAAM,cAAc,GAAG;oBACnB,CAAC,oBAAoB,CAAC,MAAM,GAAG,OAAO,KAAK,OAAO;oBAClD,CAAC,oBAAoB,CAAC,YAAY,GAAG,OAAO,IAAI,OAAO;oBACvD,CAAC,oBAAoB,CAAC,SAAS,GAAG,OAAO,IAAI,OAAO;oBACpD,CAAC,oBAAoB,CAAC,qBAAqB,GAAG,OAAO,GAAG,OAAO;oBAC/D,CAAC,oBAAoB,CAAC,kBAAkB,GAAG,OAAO,GAAG,OAAO;oBAC5D,CAAC,oBAAoB,CAAC,UAAU,GAAG,OAAO,KAAK,OAAO;iBACzD,CAAC;gBAEF,IAAI,cAAc,CAAC,gBAAgB,CAAC,EAAE;oBAClC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC7C,IAAI,QAAQ,EAAE;wBACV,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC,CAAC;qBAC1D;oBACD,OAAO,EAAE,CAAC,UAAU,GAAG,SAAS,EAAE,CAAC;iBACtC;qBAAM,UAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,QAAQ,CAAC,UAAU,GAAG;oBAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC7C,IAAI,QAAQ,EAAE;wBACV,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;qBAC5B;iBACJ;aACJ;YACD,OAAO,IAAI,CAAC;SACf,CAAC;QACF,OAAO,aAAa,CAAC;KACxB;;;;;;;;;;;;;;;;;;IAmBM,OAAO,iBAAiB,CAAC,gBAAwB,EAAE,iBAAyB,EAAE,gBAAwB;QACzG,MAAM,UAAU,GAAG,CAAC,OAAwB;;YACxC,MAAM,SAAS,GAAG,OAAoB,CAAC;YACvC,MAAM,MAAM,SAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,0CAAE,KAAK,CAAC;YACtD,MAAM,MAAM,SAAG,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,0CAAE,KAAK,CAAC;YACvD,MAAM,MAAM,SAAG,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,0CAAE,KAAK,CAAC;YACtD,MAAM,UAAU,GAAG,mBAAmB,CAAC;YAEvC,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC;YAEtF,IAAI,UAAU,EAAE;gBACZ,IAAI,MAAM,GAAG,MAAM,IAAI,MAAM,GAAG,MAAM,EAAE;oBACpC,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACvD,IAAI,aAAa,EAAE;wBACf,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;qBACnD;oBACD,OAAO,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;iBACjC;qBAAM;oBACH,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACvD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,UAAU,GAAG;wBACrC,MAAM,MAAM,qBAAQ,aAAa,CAAC,MAAM,CAAE,CAAC;wBAC3C,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC1B,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;qBACvE;iBACJ;aACJ;YACD,OAAO,IAAI,CAAC;SACf,CAAC;QACF,OAAO,UAAU,CAAC;KACrB;;;;;;;;;;;IAaM,OAAO,uBAAuB,CAAC,YAAoB;QACtD,MAAM,cAAc,GAAG,CAAC,OAAwB;YAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC;YACpC,IAAIC,eAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAIA,eAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE;gBAClG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC;aACf;YACD,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;YAC1C,OAAO,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;SACjC,CAAC;QACF,OAAO,cAAc,CAAC;KACzB;;;;IAKM,OAAO,YAAY;QACtB,MAAM,MAAM,GAAG,CAAC,OAAwB;YACpC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAExD,IAAI,CAAC,GAAG,EAAE;gBACN,OAAO,IAAI,CAAC;aACf;YAED,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,EAAE;gBACnB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aACjC;;YAGD,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC1B,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aACjC;;YAGD,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,MAAc;gBACpD,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;oBAC1B,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC;iBAC3C;gBACD,MAAM,SAAS,GAAG,KAAK,GAAG,EAAE,CAAC;gBAC7B,OAAO,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;aAC7C,CAAC;YAEF,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;YAEhE,MAAM,OAAO,GAAG,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClD,MAAM,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAE5C,OAAO,OAAO,GAAG,IAAI,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SAClD,CAAC;QACF,OAAO,MAAM,CAAC;KACjB;;;;;IAMM,OAAO,aAAa;QACvB,MAAM,OAAO,GAAG,CAAC,OAAwB;;YACrC,MAAM,KAAK,SAAG,OAAO,CAAC,KAAK,0CAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAEhD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;gBAC/B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAClC;;YAGD,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC5B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAClC;YAED,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,MAAc;gBACpD,MAAM,OAAO,GAAG,MAAM,KAAK,EAAE;sBACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;sBACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE9C,MAAM,GAAG,GAAG,IAAI;qBACX,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;qBAChB,KAAK,CAAC,EAAE,CAAC;qBACT,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK;oBACtB,OAAO,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;iBACrD,EAAE,CAAC,CAAC,CAAC;gBAEV,MAAM,SAAS,GAAG,GAAG,GAAG,EAAE,CAAC;gBAC3B,OAAO,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;aAC7C,CAAC;YAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAEvD,IACI,eAAe,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,gBAAgB,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EACrD;gBACE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAClC;YAED,OAAO,IAAI,CAAC;SACf,CAAC;QACF,OAAO,OAAO,CAAC;KAClB;;;;;IAOM,OAAO,qBAAqB;QAC/B,MAAM,eAAe,GAAG,CAAC,OAAwB;YAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO,IAAI,CAAC;aACf;YAED,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzD,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE7C,OAAO,OAAO,GAAG,IAAI,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;SACzD,CAAC;QACF,OAAO,eAAe,CAAC;KAC1B;CAIJ;;IC3VY,YAAY,GAAzB,MAAa,YAAY;IACrB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;KAAI;IAEzD,SAAS,CAAC,KAAa,EAAE,MAAM,GAAG,OAAO,EAAE,oBAAuC,OAAO;QACrF,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/B,OAAO,EAAE,CAAC;SACb;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC5D,OAAO,EAAE,CAAC;SACb;QAED,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAE7B,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,iBAAiB,KAAK,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;KAC9H;IAEO,uBAAuB,CAAC,KAAa;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;YACrB,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;KACrF;CACJ,CAAA;;YAzB6C,WAAW;;AAD5C,YAAY;IAHxB,IAAI,CAAC;QACF,IAAI,EAAE,UAAU;KACnB,CAAC;GACW,YAAY,CA0BxB;;ICnBY,cAAc,GAA3B,MAAa,cAAc;CAAI,CAAA;AAAlB,cAAc;IAP1B,QAAQ,CAAC;QACR,YAAY,EAAE,CAAC,YAAY,CAAC;QAC5B,OAAO,EAAE;YACP,YAAY;SACb;QACD,OAAO,EAAE,CAAC,YAAY,CAAC;KACxB,CAAC;GACW,cAAc,CAAI;;ICNlB,WAAW,GAAxB,MAAa,WAAW;IACpB,SAAS,CAAC,KAAc,EAAE,GAAG,IAAe;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACxD,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,CAAC;SAC7B;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YACrC,OAAO,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;SACjE;QAED,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YACpC,OAAO,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;SAChE;QACD,OAAO,KAAK,CAAC;KAChB;CACJ,CAAA;AAnBY,WAAW;IAHvB,IAAI,CAAC;QACF,IAAI,EAAE,SAAS;KAClB,CAAC;GACW,WAAW,CAmBvB;;ICjBY,iBAAiB,GAA9B,MAAa,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAL7B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,WAAW,CAAC;QAC3B,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,OAAO,EAAE,CAAC,WAAW,CAAC;KACzB,CAAC;GACW,iBAAiB,CAAG;;MCFpB,qBAAqB;;;;;;;;IAQ9B,OAAO,YAAY,CAAC,SAAiB,EAAE,MAAgB,EAAE,GAAQ,EAAE,QAAmB;QAClF,SAAS,QAAQ,CAAC,KAAa;YAC3B,MAAM,KAAK,GAAG,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5D,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,cAAc,CAAC,KAAK,GAAG;gBAEjC,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;oBAC3C,OAAQ,QAAQ,CAAC,KAAK,CAAY,CAAC,QAAQ,EAAE,CAAC;iBACjD;gBACD,OAAQ,QAAQ,CAAC,KAAK,CAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aAE9D;YACD,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;SACtB;QAED,SAAS,WAAW,CAAC,CAAkB;YACnC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC9D;QAED,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;KAC1E;;IAGO,OAAO,WAAW,CAAC,GAAQ,EAAE,IAAY;QAC7C,SAAS,OAAO,CAAC,GAAQ,EAAE,GAAW;YAClC,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAG,GAAG,EAAE;SACrB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KAC/C;CACJ;;ICrCY,eAAe,GAA5B,MAAa,eAAe;IACxB,SAAS,CAAC,KAAgB,EAAE,SAAiB,EAAE,KAAe,EAAE,KAAgB;QAC5E,OAAO,qBAAqB,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KAC7E;CACJ,CAAA;AAJY,eAAe;IAD3B,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;GACjB,eAAe,CAI3B;;ICDY,qBAAqB,GAAlC,MAAa,qBAAqB;CAAG,CAAA;AAAxB,qBAAqB;IALjC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,eAAe,CAAC;QAC/B,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,OAAO,EAAE,CAAC,eAAe,CAAC;KAC7B,CAAC;GACW,qBAAqB,CAAG;;ICLxB,aAAa,GAA1B,MAAa,aAAa;;;;;;IAMtB,SAAS,CAAC,KAAsB,EAAE,OAAO,GAAG,KAAK;QAC7C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,EAAE,CAAC;SACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;SAC3B;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;KACxE;;IAGO,WAAW,CAAC,KAAsB;QACtC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;KAC/C;;IAGO,YAAY,CAAC,MAAc,EAAE,OAAgB;QACjD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAE1B,IAAI,OAAO,EAAE;YACT,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACtC;QAED,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE;YAC1B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;SAC/C;QAED,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE;YAC5B,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KACtC;;IAGO,cAAc,CAAC,MAAc;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;KACnC;;IAGO,cAAc,CAAC,MAAc;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAE1B,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;QAC9B,IAAI,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE;YAC9B,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;SAC/B;QACD,IAAI,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE;YAC5B,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC;SAC7B;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;KAC/B;;IAGO,WAAW,CAAC,GAAW,EAAE,GAAW,EAAE,MAAc,EAAE,QAAgB,EAAE,OAAgB;QAC5F,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,QAAQ,CAAC;SACnB;QAED,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,OAAO,IAAI,GAAG,EAAE;YAChB,SAAS,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,CAAC;SACnC;QACD,IAAI,GAAG,EAAE;YACL,SAAS,IAAI,IAAI,GAAG,IAAI,CAAC;SAC5B;QAED,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC;KACpB;;IAGO,YAAY,CAAC,MAAc;QAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,IAAI,GAAG,KAAK,YAAY,CAAC,IAAI,EAAE;YAC3B,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;SACrG;QACD,IAAI,GAAG,KAAK,YAAY,CAAC,KAAK,EAAE;YAC5B,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;SACrG;QACD,OAAO,MAAM,CAAC;KACjB;CACJ,CAAA;AAlGY,aAAa;IADzB,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;GACf,aAAa,CAkGzB;;IC7FY,mBAAmB,GAAhC,MAAa,mBAAmB;CAAG,CAAA;AAAtB,mBAAmB;IAL/B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,OAAO,EAAE,CAAC,aAAa,CAAC;KAC3B,CAAC;GACW,mBAAmB,CAAG;;ICqDtB,YAAY,GAAzB,MAAa,YAAY;CAAG,CAAA;AAAf,YAAY;IAjCxB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,mBAAmB;YACnB,YAAY;YACZ,kBAAkB;YAClB,kBAAkB;YAClB,mBAAmB;YACnB,gBAAgB;YAChB,iBAAiB;YACjB,eAAe;YACf,WAAW;YACX,eAAe;YACf,YAAY;YACZ,cAAc;YACdC,WAAgB;YAChB,mBAAmB;YACnB,cAAc;YACd,cAAc;YACd,aAAa;YACbC,cAAiB;YACjB,aAAa;YACb,YAAY;YACZ,kBAAkB;YAClB,iBAAiB;YACjB,2BAA2B;YAC3B,qBAAqB;YACrBC,aAAW;YACX,gBAAgB;SACnB;KACJ,CAAC;GACW,YAAY,CAAG;;;AC3D5B,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACvB,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB;AAqBD,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,eAAe,GAAG,qBAAqB,CAAC;AA8D9C,IAAa,mBAAmB,2BAAhC,MAAa,mBAAmB;IAa5B;QALO,gBAAW,GAAG,CAAC,CAAC;QAGhB,iBAAY,GAAqC,IAAI,YAAY,EAAE,CAAC;QAGvE,qBAAmB,CAAC,MAAM,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE,GAAG,WAAW,qBAAmB,CAAC,MAAM,EAAE,CAAC;KACrD;IAEM,SAAS,CAAC,IAAU,EAAE,KAAa,EAAE,KAAU;QAClD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO;SACV;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KAClD;IAED,IAAW,SAAS;QAChB,OAAO,SAAS,CAAC;KACpB;IAEM,YAAY,CAAC,KAAa,EAAE,WAAmB;QAClD,MAAM,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,KAAK,WAAW,CAAC;QACxC,OAAO,OAAO,IAAI,SAAS,CAAC;KAC/B;IAEM,iBAAiB,CAAC,KAAa,EAAE,WAAmB;QACvD,MAAM,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,KAAK,WAAW,GAAG,CAAC,CAAC;QAC5C,OAAO,OAAO,IAAI,SAAS,CAAC;KAC/B;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAU,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAC1D;CACJ,CAAA;AA3CiB,0BAAM,GAAG,CAAC,CAAC;AAGzB;IADC,KAAK,EAAE;+CACU;AAElB;IADC,KAAK,EAAE;kDACc;AAEtB;IADC,KAAK,EAAE;wDACe;AAGvB;IADC,MAAM,EAAE;yDACkE;AAXlE,mBAAmB;IA5D/B,SAAS,CAAC;QACP,QAAQ,EAAE,eAAe;QACzB,mxJAA2C;QAE3C,IAAI,EAAE;YACF,kBAAkB,EAAE,YAAY;YAChC,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,GAAG;SACnB;QACD,UAAU,EAAE;YACR,OAAO,CAAC,sBAAsB,EAAE;gBAC5B,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;oBACF,qBAAqB,EAAE,UAAU;iBACpC,CAAC,CACL;gBACD,KAAK,CACD,WAAW,EACX,KAAK,CAAC;oBACF,qBAAqB,EAAE,WAAW;iBACrC,CAAC,CACL;gBACD,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC3D,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC9D,CAAC;YACF,OAAO,CAAC,gBAAgB,EAAE;gBACtB,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;oBACF,qBAAqB,EAAE,UAAU;iBACpC,CAAC,CACL;gBACD,KAAK,CACD,WAAW,EACX,KAAK,CAAC;oBACF,qBAAqB,EAAE,WAAW;iBACrC,CAAC,CACL;gBACD,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC5D,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;aAC/D,CAAC;YACF,OAAO,CAAC,qBAAqB,EAAE;gBAC3B,KAAK,CACD,QAAQ,EACR,KAAK,CAAC;oBACF,qBAAqB,EAAE,UAAU;iBACpC,CAAC,CACL;gBACD,KAAK,CACD,WAAW,EACX,KAAK,CAAC;oBACF,qBAAqB,EAAE,WAAW;iBACrC,CAAC,CACL;gBACD,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC3D,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC9D,CAAC;SACL;;KACJ,CAAC;GACW,mBAAmB,CA4C/B;;IC/HY,gBAAgB,GAA7B,MAAa,gBAAgB;CAAG,CAAA;AAAnB,gBAAgB;IAL5B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;QACtC,YAAY,EAAE,CAAC,mBAAmB,CAAC;QACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;KACjC,CAAC;GACW,gBAAgB,CAAG;;MCDnB,eAAe;IAmBjB,OAAO,OAAO,CAAC,kBAAsC,EAAE,YAAqB;QAC/E,MAAM,KAAK,qBAAa,kBAAkB,CAAE,CAAC;QAE7C,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5E,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;QAE3F,MAAM,eAAe,GAAG,KAAK,CAAC;QAC9B,MAAM,aAAa,GAAG;YAClB,IAAI;YACJ,QAAQ;YACR,YAAY;YACZ,eAAe;YACf,eAAe;YACf,aAAa;YACb,gBAAgB;YAChB,WAAW;YACX,aAAa;YACb,gBAAgB;YAChB,kBAAkB;SACrB,CAAC;QAEF,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/E,OAAO,KAAwB,CAAC;KACnC;IAEM,OAAO,KAAK,CAAC,eAAgC,EAAE,YAAqB;QACvE,MAAM,GAAG,qBAAa,eAAe,CAAE,CAAC;QAExC,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QACtE,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,gBAAgB,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC;QAErF,OAAO,GAAG,CAAC,KAAK,CAAC;QAEjB,OAAO,GAAG,CAAC;KACd;CACJ;;MC1DY,iBAAiB;IAC1B,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAAiB,EACjB,UAAkB,EAClB,UAAkB,EAClB,SAAgC;QALhC,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;QAClB,eAAU,GAAV,UAAU,CAAQ;QAClB,cAAS,GAAT,SAAS,CAAuB;QAE1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpD;IAEM,kBAAkB,CAAC,UAAsB;QAC5C,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;QAE7F,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE;YACd,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACjF;QAED,IAAI,WAAW,EAAE;YACb,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;SACjD;QAED,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;YACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;SACjE;QAED,OAAO,MAAM,CAAC;KACjB;IAEO,aAAa,CAAC,UAAsB;QACxC,MAAM,GAAG,GAAG,EAAE,CAAC;QACf,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,WAAW,GAAG,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;QAC7F,MAAM,UAAU,GAAe,EAAE,CAAC;QAElC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;QAEzB,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE;YACd,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACnE;QAED,IAAI,WAAW,EAAE;YACb,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;SACnC;QAED,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;YACvB,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;SACnD;QAED,OAAO,UAAU,CAAC;KACrB;IAEO,cAAc;QAClB,OAAO,CAAC,CAAC;YACL,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE;gBACf,KAAK,GAAG,MAAM,CAAC;aAClB;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,KAAK,GAAG,OAAO,CAAC;aACnB;YACD,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;SAC/B,CAAC;KACL;IAEM,YAAY,CAAC,YAA4B,EAAE;QAC9C,MAAM,eAAe,GAAG,GAAG,CAAC;QAC5B,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC;QACf,OAAO,UAAU,CAAC,CAAC,GAAQ;YACvB,IAAI,GAAG,EAAE;gBACL,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,MAAK,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA,IAAI,IAAI,CAAC,CAAC;gBACnF,IAAI,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBACxD,IAAI,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAEvC,IAAI,GAAG,CAAC,MAAM,KAAK,eAAe,EAAE;oBAChC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;oBACrF,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;iBAC7F;gBAED,IAAI,YAAY,EAAE;oBACd,OAAO,GAAG,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;oBACxF,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;iBACvF;gBAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;oBACpB,QAAQ,EAAE,OAAO;oBACjB,OAAO;oBACP,MAAM;iBACT,CAAC,CAAC;aACN;YAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;SAC1B,CAAC,CAAC;KACN;IAEM,eAAe,CAAC,GAAQ;;QAC3B,UAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,0CAAE,OAAO,EAAE;YACrB,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;SAC5B;QACD,IAAI,GAAG,CAAC,UAAU,EAAE;YAChB,OAAO,GAAG,CAAC,UAAU,CAAC;SACzB;QACD,IAAI,GAAG,CAAC,OAAO,EAAE;YACb,OAAO,GAAG,CAAC,OAAO,CAAC;SACtB;QACD,OAAO,OAAO,CAAC;KAClB;IAEM,IAAI,CAAC,UAAsB,EAAE,eAA+B,EAAE;QACjE,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAM,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;aACzE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;KAC9C;IAEM,GAAG,CAAC,EAAO,EAAE,eAA+B,EAAE;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;KAC5F;IAEM,MAAM,CAAC,MAAS,EAAE,eAA+B,EAAE;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;KAC/F;IAEM,MAAM,CAAC,EAAO,EAAE,MAAS,EAAE,eAA+B,EAAE;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;KACpG;IAEM,MAAM,CAAC,EAAO,EAAE,eAA+B,EAAE;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAI,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;KAC/F;IAEM,gBAAgB,CAAC,UAAsB,EAAE,MAAc,EAAE,eAA+B,EAAE;QAC7F,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;aACzE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;KAC9C;IAEM,UAAU,CAAC,QAAa;QAC3B,MAAM,IAAI,GAAG,QAAQ,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,IAAI,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACxF;CACJ;;AC/ID,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,iBAAqC;IAC7E,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAA2B;QAErC,KAAK,CACD,IAAI,EACJ,cAAc,EACd,2CAA2C,EAC3C,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QAXQ,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;KAUxC;IAEY,wBAAwB,CACjC,SAAmB,EACnB,UAAkB;;YAElB,MAAM,MAAM,GACR,gCAAgC,UAAU,IAAI,GAAG,sBAAsB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACtG,OAAO,IAAI,OAAO,CAA8B,CAAC,OAAO,EAAE,MAAM;gBAC5D,IAAI,CAAC,IAAI,CAAC;oBACN,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,YAAY,CAAC,WAAW;iBACjC,CAAC,CAAC,SAAS,CAAC;oBACT,IAAI,EAAE,CAAC,IAAS;wBACZ,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;wBAClC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;wBAClD,IAAI,WAAW,CAAC,MAAM,EAAE;4BACpB,WAAW,CAAC,OAAO,CAAC,CAAC,OAAY;;gCAC7B,eAAe,CAAC,GAAG,CACf,OAAO,CAAC,SAAS,EACjB,OAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,mCAAI,CAAC,IAAI,OAAO,CAAC,WAAW,CACtE,CAAC;6BACL,CAAC,CAAC;yBACN;wBACD,OAAO,CACH,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;4BACnD,OAAO;gCACH,SAAS,EAAE,GAAG;gCACd,WAAW,EAAE,KAAK;6BACrB,CAAC;yBACL,CAAC,CACL,CAAC;qBACL;oBACD,KAAK,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;iBACzF,CAAC,CAAC;aACN,CAAC,CAAC;SACN;KAAA;IAEM,wBAAwB,CAAC,UAAkB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,2BAA2B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClH;CACJ,CAAA;;YArDuB,UAAU;YACA,cAAc;YACnBC,qBAAgB;;;AAJhC,sBAAsB;IAHlC,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,sBAAsB,CAuDlC;;IC1DY,0BAA0B,GAAvC,MAAa,0BAA0B;IAuBnC,YACqB,WAAwB,EAClC,MAA2B,EAC3B,GAAqB,EACX,SAAgC;QAHhC,gBAAW,GAAX,WAAW,CAAa;QAClC,WAAM,GAAN,MAAM,CAAqB;QAC3B,QAAG,GAAH,GAAG,CAAkB;QACX,cAAS,GAAT,SAAS,CAAuB;QAnB9C,YAAO,GAAG,KAAK,CAAC;QAChB,oBAAe,GAAG,YAAY,CAAC,OAAO,CAAC;QAGtC,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;QACrB,WAAM,GAAG;YACtB,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,YAAY,CAAC,MAAM;YACvB,EAAE,EAAE,YAAY,CAAC,MAAM;YACvB,EAAE,EAAE,YAAY,CAAC,MAAM;SAC1B,CAAC;QAEK,aAAQ,GAAG,cAAc,CAAC;KAQ5B;IAEL,QAAQ;QACJ,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IAED,WAAW;QACP,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KACjC;IAEO,YAAY;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACpC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACpI,CAAC,CAAC;KACN;IAEO,aAAa;QACjB,IAAI,CAAC,UAAU,GAAG;YACd,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC;gBACtE,IAAI,EAAE,SAAS,CAAC,MAAM;gBACtB,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,MAAM,IAAI;gBACpB,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,SAAS,EAAE,YAAY,CAAC,WAAW;aACtC,CAAC;SACL,CAAC;KACL;IAEO,mBAAmB;;QACvB,IAAI,CAAC,uBAAuB,eAAG,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,uBAAuB,mCAAI,EAA6B,CAAC;QAC1G,IAAI,CAAC,eAAe,eAAG,IAAI,CAAC,uBAAuB,0CAAE,eAAe,mCAAI,YAAY,CAAC,OAAO,CAAC;KAChG;IAEO,eAAe;QACnB,IAAI,CAAC,YAAY,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,CAAC;YAC1E,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyC,CAAC;YACtE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yCAAyC,CAAC;YACtE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;YAC9G,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wDAAwD,CAAC;YAC3F,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC;YACxE,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,8CAA8C,CAAC;YAC3F,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,CAAC;SAC1F,CAAC;KACL;IAIY,kBAAkB;;;YAC3B,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,WAAI,IAAI,CAAC,uBAAuB,0CAAE,UAAU,CAAA,EAAE;gBACpE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC3C,OAAO;aACV;YACD,MAAM,MAAM,SAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,KAAK,CAAC;YACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;KACxB;IAEO,qBAAqB,CAAC,SAAoB;QAC9C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK;YAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,YAAY,WAAW,EAAE;gBAChC,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3C;YACD,IAAI,OAAO,YAAY,SAAS,EAAE;gBAC9B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACvC;SACJ,CAAC,CAAC;KACN;IAEM,iBAAiB;QACpB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;KACpB;CACJ,CAAA;;YArFqC,WAAW;YAC1B,mBAAmB;YACtB,gBAAgB;YACA,qBAAqB;;AAvBrD;IADC,KAAK,EAAE;2EACgD;AAJ/C,0BAA0B;IALtC,SAAS,CAAC;QACP,QAAQ,EAAE,uBAAuB;QACjC,o5BAAmD;;KAEtD,CAAC;GACW,0BAA0B,CA6GtC;;AC3HD,IAAY,cAmDX;AAnDD,WAAY,cAAc;IACtB,6CAA2B,CAAA;IAC3B,yCAAuB,CAAA;IACvB,mCAAiB,CAAA;IACjB,mDAAiC,CAAA;IACjC,iEAA+C,CAAA;IAC/C,mEAAiD,CAAA;IACjD,2DAAyC,CAAA;IACzC,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,uDAAqC,CAAA;IACrC,mDAAiC,CAAA;IACjC,yDAAuC,CAAA;IACvC,uFAAqE,CAAA;IACrE,uFAAqE,CAAA;IACrE,yEAAuD,CAAA;IACvD,yEAAuD,CAAA;IACvD,2FAAyE,CAAA;IACzE,yDAAuC,CAAA;IACvC,yEAAuD,CAAA;IACvD,2FAAyE,CAAA;IACzE,qDAAmC,CAAA;IACnC,uFAAqE,CAAA;IACrE,uFAAqE,CAAA;IACrE,yFAAuE,CAAA;IACvE,uEAAqD,CAAA;IACrD,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;IACnD,mEAAiD,CAAA;IACjD,+FAA6E,CAAA;IAC7E,yGAAuF,CAAA;IACvF,2EAAyD,CAAA;IACzD,mGAAiF,CAAA;IACjF,mEAAiD,CAAA;IACjD,qEAAmD,CAAA;IACnD,qFAAmE,CAAA;IACnE,qFAAmE,CAAA;IACnE,qFAAmE,CAAA;IACnE,qFAAmE,CAAA;IACnE,qEAAmD,CAAA;IACnD,6FAA2E,CAAA;IAC3E,qGAAmF,CAAA;IACnF,2FAAyE,CAAA;IACzE,qFAAmE,CAAA;IACnE,qGAAmF,CAAA;IACnF,iFAA+D,CAAA;IAC/D,qGAAmF,CAAA;IACnF,qFAAmE,CAAA;IACnE,2FAAyE,CAAA;IACzE,2EAAyD,CAAA;IACzD,yFAAuE,CAAA;AAC3E,CAAC,EAnDW,cAAc,KAAd,cAAc,QAmDzB;;ACnDD,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,oDAAqC,CAAA;IACrC,2CAA4B,CAAA;IAC5B,wCAAyB,CAAA;AAC7B,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;;ACDM,MAAM,SAAS,GAAG;IACrB,EAAE,KAAK,EAAE,sCAAsC,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE;IAC/E,EAAE,KAAK,EAAE,2CAA2C,EAAE,KAAK,EAAE,cAAc,CAAC,WAAW,EAAE;IACzF;QACI,KAAK,EAAE,iDAAiD;QACxD,KAAK,EAAE,cAAc,CAAC,cAAc;KACvC;IACD,EAAE,KAAK,EAAE,kDAAkD,EAAE,KAAK,EAAE,cAAc,CAAC,kBAAkB,EAAE;IACvG,EAAE,KAAK,EAAE,yCAAyC,EAAE,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE;IACrF,EAAE,KAAK,EAAE,sDAAsD,EAAE,KAAK,EAAE,cAAc,CAAC,sBAAsB,EAAE;IAC/G,EAAE,KAAK,EAAE,sDAAsD,EAAE,KAAK,EAAE,cAAc,CAAC,cAAc,EAAE;IACvG,EAAE,KAAK,EAAE,+CAA+C,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE;IACjG,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,cAAc,CAAC,gBAAgB,EAAE;IAC3F;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,cAAc,EAAE;QACjE,KAAK,EAAE,cAAc,CAAC,cAAc;KACvC;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,qBAAqB,EAAE;QACxE,KAAK,EAAE,cAAc,CAAC,qBAAqB;KAC9C;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,qBAAqB,EAAE;QACxE,KAAK,EAAE,cAAc,CAAC,qBAAqB;QAC3C,aAAa,EAAE,WAAW,CAAC,iBAAiB;KAC/C;IACD,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE;IACjH,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,sBAAsB,EAAE;IAC3H,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,cAAc,EAAE;IAC3G,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE;IAC7G,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,gBAAgB,EAAE;IAC/G;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,gCAAgC,EAAE;QACnF,KAAK,EAAE,cAAc,CAAC,gCAAgC;KACzD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,gCAAgC,EAAE;QACnF,KAAK,EAAE,cAAc,CAAC,gCAAgC;KACzD;IACD,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,yBAAyB,EAAE;IACjI,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,yBAAyB,EAAE;IACjI;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,kCAAkC,EAAE;QACrF,KAAK,EAAE,cAAc,CAAC,kCAAkC;KAC3D;IACD,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,iBAAiB,EAAE;IACjH,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,yBAAyB,EAAE;IACjI;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,kCAAkC,EAAE;QACrF,KAAK,EAAE,cAAc,CAAC,kCAAkC;KAC3D;IACD,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE;IAC7G;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,gCAAgC,EAAE;QACnF,KAAK,EAAE,cAAc,CAAC,gCAAgC;KACzD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,gCAAgC,EAAE;QACnF,KAAK,EAAE,cAAc,CAAC,gCAAgC;KACzD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,iCAAiC,EAAE;QACpF,KAAK,EAAE,cAAc,CAAC,iCAAiC;KAC1D;IACD,EAAE,KAAK,EAAE,2BAA2B,cAAc,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,wBAAwB,EAAE;IAC/H;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,uBAAuB,EAAE;QAC1E,KAAK,EAAE,cAAc,CAAC,uBAAuB;KAChD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,uBAAuB,EAAE;QAC1E,KAAK,EAAE,cAAc,CAAC,uBAAuB;KAChD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,sBAAsB,EAAE;QACzE,KAAK,EAAE,cAAc,CAAC,sBAAsB;KAC/C;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,sBAAsB,EAAE;QACzE,KAAK,EAAE,cAAc,CAAC,sBAAsB;KAC/C;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,uBAAuB,EAAE;QAC1E,KAAK,EAAE,cAAc,CAAC,uBAAuB;KAChD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,0BAA0B,EAAE;QAC7E,KAAK,EAAE,cAAc,CAAC,0BAA0B;KACnD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,+BAA+B,EAAE;QAClF,KAAK,EAAE,cAAc,CAAC,+BAA+B;KACxD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,+BAA+B,EAAE;QAClF,KAAK,EAAE,cAAc,CAAC,+BAA+B;KACxD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,+BAA+B,EAAE;QAClF,KAAK,EAAE,cAAc,CAAC,+BAA+B;KACxD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,+BAA+B,EAAE;QAClF,KAAK,EAAE,cAAc,CAAC,+BAA+B;KACxD;IACD;QACI,KAAK,EAAE,2BAA2B,cAAc,CAAC,uBAAuB,EAAE;QAC1E,KAAK,EAAE,cAAc,CAAC,uBAAuB;KAChD;CACJ,CAAC;;AChHF,IAAY,WAWX;AAXD,WAAY,WAAW;IACnB,8DAA+C,CAAA;IAC/C,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,gDAAiC,CAAA;IACjC,gDAAiC,CAAA;IACjC,8CAA+B,CAAA;IAC/B,oCAAqB,CAAA;IACrB,kDAAmC,CAAA;IACnC,8DAA+C,CAAA;AACnD,CAAC,EAXW,WAAW,KAAX,WAAW,QAWtB;;ACXD,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;IACzB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACzB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;;ACND,IAAY,WAQX;AARD,WAAY,WAAW;IACnB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;IACrB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,kDAAmC,CAAA;IACnC,wCAAyB,CAAA;IACzB,kCAAmB,CAAA;AACvB,CAAC,EARW,WAAW,KAAX,WAAW,QAQtB;;ACNM,MAAM,oBAAoB,GAAG;IAChC,EAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,wCAAwC,WAAW,CAAC,QAAQ,EAAE,EAAC;IACpG,EAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,wCAAwC,WAAW,CAAC,UAAU,EAAE,EAAC;IACxG,EAAC,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,KAAK,EAAE,wCAAwC,WAAW,CAAC,UAAU,EAAE,EAAC;IACxG,EAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,wCAAwC,WAAW,CAAC,QAAQ,EAAE,EAAC;IACpG,EAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,wCAAwC,WAAW,CAAC,MAAM,EAAE,EAAC;IAChG,EAAC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,wCAAwC,WAAW,CAAC,OAAO,EAAE,EAAC;IAClG,EAAC,KAAK,EAAE,WAAW,CAAC,eAAe,EAAE,KAAK,EAAE,wCAAwC,WAAW,CAAC,eAAe,EAAE,EAAC;CACrH,CAAC;;ACVK,MAAM,mBAAmB,GAA8B;IAC1D,QAAQ,EAAE,wCAAwC;IAClD,GAAG,EAAE,yCAAyC;IAC9C,GAAG,EAAE,yCAAyC;IAC9C,SAAS,EAAE,0CAA0C;IACrD,SAAS,EAAE,0CAA0C;IACrD,OAAO,EAAE,uCAAuC;IAChD,mBAAmB,EAAE,8CAA8C;IACnE,mBAAmB,EAAE,0CAA0C;CAClE,CAAC;;ACDF,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,iBAAsC;IAE/E,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,4CAA4C,EAC5C,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;IAEM,oBAAoB,CAAC,IAA0B;QAClD,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CACD,+CAA+C,EAC/C,IAAI,CACP;aACA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;CACJ,CAAA;;YAnB+B,UAAU;YAA4B,cAAc;YAAuBA,qBAAgB;;AAF9G,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAqBnC;;ACrBD,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,iBAAkC;IAEvE,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,wCAAwC,EACxC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;CACJ,CAAA;;YAV+B,UAAU;YAA4B,cAAc;YAAuBA,qBAAgB;;AAF9G,mBAAmB;IAD/B,UAAU,EAAE;GACA,mBAAmB,CAY/B;;MClBY,uBAAuB;IAApC;QACY,gBAAW,GAAGC,IAAW,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,kBAAa,GAAG,kBAAkB,CAAC;KAoB9C;IAlBgB,KAAK,CAAC,GAAW,EAAE,KAAU;;YACtC,cAAc,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SACrF;KAAA;IAEY,GAAG,CAAC,GAAW;;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;SAC7F;KAAA;IAEY,cAAc,CAAC,GAAW,EAAE,aAAkB,EAAE;;YACzD,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzD,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YACxB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;SAC/C;KAAA;IAEY,YAAY,CAAC,GAAW;;YACjC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SAC3B;KAAA;CACJ;;ICWY,0BAA0B,GAAvC,MAAa,0BAA0B;IAmDnC,YACqB,SAAgC,EAChC,WAAwB,EACxB,gBAAkC,EAClC,mBAAwC,EACxC,uBAAgD,EAChD,uBAAgD,EAChD,sBAA8C,EAC9C,cAA8B,EAC9B,aAA4B;QAR5B,cAAS,GAAT,SAAS,CAAuB;QAChC,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAjDvC,mBAAc,GAAsB,IAAI,YAAY,EAAO,CAAC;QAI/D,UAAK,GAAW,EAAE,CAAC;QAGnB,gBAAW,GAAG,KAAK,CAAC;QACpB,wBAAmB,GAAG,KAAK,CAAC;QAU5B,qBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC;QACrC,gBAAW,GAAG,KAAK,CAAC;QACpB,iBAAY,GAAG,KAAK,CAAC;QAErB,mBAAc,GAAG,cAAc,CAAC;QAChC,gBAAW,GAAG,WAAW,CAAC;QAE1B,gBAAW,GAAQ,EAAE,CAAC;QACtB,iBAAY,GAAQ,EAAE,CAAC;QAEvB,sBAAiB,GAAQ;YAC5B,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,YAAY,CAAC,GAAG;YACtB,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtC,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,EAAE;SACjB,CAAC;QAEe,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,cAAS,GAAG,SAAS,CAAC;QACtB,yBAAoB,GAAG,oBAAoB,CAAC;QAazD,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KAChC;IAEY,QAAQ;;YACjB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;KAAA;IAEM,WAAW,CAAC,OAAsB;QACrC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,yCAAyC,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,yCAAyC,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;IAEO,gCAAgC,CAAC,OAAsB;;QAC3D,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE;YACnF,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,0CAAE,QAAQ,OAAC,OAAO,CAAC,OAAO,CAAC,YAAY,mCAAI,IAAI,EAAE;SACvF;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE;YAChF,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,QAAQ,OAAC,OAAO,CAAC,MAAM,CAAC,YAAY,mCAAI,IAAI,EAAE;SACrF;KACJ;IAEO,yCAAyC,CAAC,OAAsB;;QACpE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE;YAC/F,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,0CAAE,QAAQ,OAAC,OAAO,CAAC,WAAW,CAAC,YAAY,mCAAI,IAAI,EAAE;SAC/F;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE;YAC/F,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,0CAAE,QAAQ,OAAC,OAAO,CAAC,WAAW,CAAC,YAAY,mCAAI,IAAI,EAAE;SAC/F;KACJ;IAEO,yCAAyC,CAAC,OAAsB;;QACpE,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE;YAC/F,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,QAAQ,OAAC,OAAO,CAAC,WAAW,CAAC,YAAY,mCAAI,IAAI,EAAE;SAC1F;QAED,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE;YAC/F,MAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,0CAAE,QAAQ,OAAC,OAAO,CAAC,WAAW,CAAC,YAAY,mCAAI,IAAI,EAAE;SAC/F;KACJ;IAEO,mBAAmB;;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,OAAO,EAAE,CAAC,EAAE,KAAK,QAAE,IAAI,CAAC,OAAO,mCAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnF,MAAM,EAAE,CAAC,EAAE,KAAK,QAAE,IAAI,CAAC,MAAM,mCAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjF,WAAW,EAAE,CAAC,EAAE,KAAK,QAAE,IAAI,CAAC,WAAW,mCAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3F,UAAU,EAAE,CAAC,EAAE,KAAK,QAAE,IAAI,CAAC,UAAU,mCAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzF,WAAW,EAAE,CAAC,EAAE,KAAK,QAAE,IAAI,CAAC,WAAW,mCAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3F,MAAM,EAAE,CAAC,EAAE,KAAK,QAAE,IAAI,CAAC,WAAW,mCAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtF,WAAW,EAAE,CAAC,EAAE,KAAK,QAAE,IAAI,CAAC,WAAW,mCAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC9F,CAAC,CAAC;KACN;IAEO,aAAa;QACjB,IAAI,CAAC,YAAY,GAAG;YAChB,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS,CAAC,KAAK;aACxB,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS,CAAC,KAAK;aACxB,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS,CAAC,KAAK;aACxB,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS,CAAC,IAAI;aACvB,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS,CAAC,IAAI;aACvB,CAAC;YACF,IAAI,SAAS,CAAC;gBACV,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS,CAAC,IAAI;aACvB,CAAC;SACL,CAAC;KACL;IAEO,cAAc;QAClB,OAAO;YACH,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,CAAC,EAAE;YACvF,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,CAAC,EAAE;YAC3F,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,4CAA4C,CAAC,EAAE;YACtG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,CAAC,EAAE;SACnG,CAAC;KACL;IAEM,WAAW;QACd,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;KACtC;IAEM,aAAa;QAChB,IAAI,CAAC,gBAAgB;aAChB,OAAO,CAAM;YACV,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,gBAAgB;SAC9B,CAAC;aACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACnC,SAAS,CAAC,CAAC,OAAO;;YACf,MAAM,UAAU,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,UAAU,CAAC;YAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,WAAI,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,UAAU,KAAK,UAAU,EAAC,EAAE;gBACrH,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrC;SACJ,CAAC,CAAC;QAEP,IAAI,CAAC,gBAAgB;aAChB,OAAO,CAAM;YACV,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,cAAc;SAC5B,CAAC;aACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACnC,SAAS,CAAC;YACP,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;SACnC,CAAC,CAAC;KACV;IAEM,QAAQ;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;KACnC;IAEM,SAAS,CAAC,UAAgB;QAC7B,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,iBAAiB,mCAAQ,IAAI,CAAC,iBAAiB,GAAK,UAAU,CAAE,CAAC;SACzE;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;KACnD;IAEO,UAAU,CAAC,aAAkB,EAAE;;QACnC,IAAI,CAAC,iBAAiB,mCAAQ,IAAI,CAAC,iBAAiB,GAAK,UAAU,CAAE,CAAC;QAEtE,IAAI,OAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,0CAAE,MAAM,KAAI,CAAC,EAAE;YAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU;gBACzC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACpC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SAClD;QAED,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEtD,IAAI,CAAC,mBAAmB;aACnB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;aAC5B,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,UAAU,CAAC,CAAC,GAAQ;YAChB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,MAAM,GAAG,CAAC;SACb,CAAC,CACL;aACA,SAAS,CAAC,CAAC,IAAS;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE;gBAC7D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,OAAO;aACV;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACnC,CAAC,CAAC;KACV;IAEO,SAAS;;QACb,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC9C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,UAAI,UAAU,CAAC,SAAS,CAAC,0CAAE,EAAE,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC/D;QAED,UAAI,UAAU,CAAC,QAAQ,CAAC,0CAAE,EAAE,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC9D;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACrE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAY,KAAK,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAC;SAC7C;QAED,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SAC/D;QAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,mBAAmB,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACjE;QAED,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;YACtB,OAAO,CAAC,IAAI,CAAC,+BAA+B,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACxE;QAED,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC;SAClF;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAChC;IAEO,UAAU,CAAC,KAAU;QACzB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,GAAG,CAAC;QAC/E,OAAO,OAAO,CAAC;KAClB;IACO,YAAY,CAAC,KAAU;QAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,GAAG,CAAC;QACnF,OAAO,SAAS,CAAC;KACpB;IAEO,gBAAgB;QACpB,OAAO;YACH,GAAG;YACH,WAAW;YACX,UAAU;YACV,8BAA8B;YAC9B,qBAAqB;YACrB,8BAA8B;YAC9B,+BAA+B;YAC/B,iCAAiC;YACjC,+BAA+B;YAC/B,6BAA6B;YAC7B,2BAA2B;YAC3B,iCAAiC;YACjC,yBAAyB;YACzB,wBAAwB;YACxB,yBAAyB;YACzB,2BAA2B;YAC3B,0BAA0B;YAC1B,4BAA4B;YAC5B,8BAA8B;YAC9B,iCAAiC;YACjC,mCAAmC;SACtC,CAAC;KACL;IAEO,wBAAwB;QAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI;YACvB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,CAAmB;gBACpF,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;aAClC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAwB,EAAE,KAAa,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;YACjH,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;IAEO,oBAAoB,CAAC,OAA2B;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,MAAM,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC,EACvG,CAAC,CAAC,CACL,CAAC;QACF,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE;YACzE,OAAO,UAAU,GAAG,CAAC,CAAC;SACzB;QACD,OAAO,UAAU,CAAC;KACrB;IAEO,UAAU,CAAC,MAAwB,EAAE,IAAkB,EAAE,WAAmB;QAChF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO;YACH,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,IAAI,WAAW,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACnH,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACnC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;SACzC,CAAC;KACL;IAEO,kBAAkB,CAAC,MAA+B;QACtD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE;YACvC,OAAOC,WAAS,CAAC,OAAO,CAAC;SAC5B;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;YACtC,OAAOA,WAAS,CAAC,OAAO,CAAC;SAC5B;QACD,OAAOA,WAAS,CAAC,OAAO,CAAC;KAC5B;IAEO,aAAa,CAAC,MAAW;;QAC7B,MAAM,UAAU,SAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,cAAc,CAAC,0CAAE,KAAK,CAAC;QACxF,IAAI,UAAU,EAAE;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC7C;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QAC9F,IAAI,UAAU,EAAE;YACZ,OAAO,UAAU,CAAC;SACrB;QACD,OAAO,MAAM,CAAC,cAAc,CAAC;KAChC;IAEO,cAAc,CAAC,MAAwB;;QAC3C,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAE5C,MAAM,iBAAiB,GAAG;YACtB,cAAc,CAAC,uBAAuB;YACtC,cAAc,CAAC,uBAAuB;YACtC,cAAc,CAAC,0BAA0B;SAC5C,CAAC;QAEF,MAAM,sBAAsB,GAAG;YAC3B,cAAc,CAAC,sBAAsB;YACrC,cAAc,CAAC,uBAAuB;SACzC,CAAC;QAEF,MAAM,sBAAsB,GAAG;YAC3B,cAAc,CAAC,mCAAmC;YAClD,cAAc,CAAC,uCAAuC;YACtD,cAAc,CAAC,kCAAkC;YACjD,cAAc,CAAC,+BAA+B;YAC9C,cAAc,CAAC,uCAAuC;YACtD,cAAc,CAAC,6BAA6B;YAC5C,cAAc,CAAC,uCAAuC;YACtD,cAAc,CAAC,+BAA+B;YAC9C,cAAc,CAAC,kCAAkC;SACpD,CAAC;QAEF,IAAI,iBAAiB,GAAG,QAAQ,CAAC;QACjC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAC5C,MAAM,KAAK,SAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,0CAAE,KAAK,CAAC;YACjF,iBAAiB,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;SACxE;QAED,IAAI,sBAAsB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACjD,iBAAiB,GAAG,QAAQ,GAAG,MAAM,QAAQ,EAAE,GAAG,QAAQ,CAAC;SAC9D;QAED,IAAI,sBAAsB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACjD,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;SACpH;QAED,OAAO,iBAAiB,CAAC;KAC5B;IAIM,YAAY,CAAC,KAAU;QAC1B,MAAM,IAAI,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,IAAG,IAAI,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,KAAK,YAAY,CAAC,GAAG,IAAI,IAAI,KAAK,YAAY,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE;YACtG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;SACnG;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;KAChD;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;KACtC;IAEM,WAAW;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;KACpE;IAEM,YAAY;QACf,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE;YACzF,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;KAC/D;IAEM,YAAY;QACf,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE;YACzF,OAAO,YAAY,CAAC,GAAG,CAAC;SAC3B;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;KAC/D;IAEM,gBAAgB;QACnB,MAAM,uBAAuB,GAA8B,EAAE,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE;YACnC,IAAI,mBAAmB,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;gBACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAW;oBAC/D,uBAAuB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;iBACtC,CAAC,CAAC;aACN;SACJ;QACD,OAAO,uBAAuB,CAAC;KAClC;IAED,8BAA8B,CAAC,KAAU;;QACrC,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,IAAI,CAAC;SACf;QAED,aAAO;kBACH,KAAK,CAAC,kBAAkB,0CAAG,CAAC;wBAC5B,KAAK,CAAC,OAAO,0CAAE,WAAW,0CAAE,eAAe;YAC3C,KAAK,CAAC,iBAAiB;YACvB,KAAK,CAAC,UAAU;kBAChB,KAAK,CAAC,kBAAkB,0CAAG,CAAC;SAC/B,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,mCAAI,IAAI,CAAC;KAC9B;IAED,0CAA0C,CAAC,KAAU;QACjD,MAAM,EAAE,6BAA6B,EAAE,GAAG,KAAK,CAAC;QAChD,OAAO,6BAA6B,GAAG,6BAA6B,GAAG,IAAI,CAAC;KAC/E;IAEM,YAAY,CAAC,KAAU;QAC1B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAE3B,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS;YAC/B,KAAK,WAAW,CAAC,qBAAqB,CAAC;YACvC,KAAK,WAAW,CAAC,MAAM,CAAC;YACxB,KAAK,WAAW,CAAC,OAAO,CAAC;YACzB,KAAK,WAAW,CAAC,cAAc;gBAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B;oBACI,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;oBACrE,IAAI,WAAW,GAAG,EAAE,CAAC;oBAErB,IAAI,CAAC,iBAAiB,EAAE;wBACpB,MAAM,6BAA6B,GAAG,IAAI,CAAC,0CAA0C,CAAC,KAAK,CAAC,CAAC;wBAE7F,IAAI,CAAC,6BAA6B,EAAE;4BAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;4BAC5B,OAAO;yBACV;wBAED,WAAW,GAAG,sCAAsC,6BAA6B,GAAG,CAAC;qBACxF;yBAAM;wBACH,WAAW,GAAG,UAAU,iBAAiB,GAAG,CAAC;qBAChD;oBAED,IAAI,CAAC,sBAAsB;yBACtB,IAAI,CAAC;wBACF,aAAa,EAAE,CAAC,GAAG,EAAE,+BAA+B,EAAE,wCAAwC,CAAC;wBAC/F,WAAW;wBACX,IAAI,EAAE,CAAC;wBACP,IAAI,EAAE,CAAC;qBACV,CAAC;yBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;yBACnC,SAAS,CACN,CAAC,MAAW;wBACR,IAAI,CAAC,eAAe,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC3C,IAAI,CAAC,eAAe,CAAC;wBACrB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;wBAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC;qBACnE,EACD;wBACI,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;qBAC/B,CACJ,CAAC;iBACT;gBACD,MAAM;YACV,KAAK,WAAW,CAAC,QAAQ,CAAC;YAC1B,KAAK,WAAW,CAAC,eAAe,CAAC;YACjC,KAAK,WAAW,CAAC,cAAc,CAAC;YAChC,KAAK,WAAW,CAAC,QAAQ;gBACrB,MAAM;SACb;QAED,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,KAAKA,WAAS,CAAC,OAAO,CAAC;QAElE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3B;IAEO,iBAAiB,CAAC,KAAa;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6CAA6C,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;KACrH;IAEO,gCAAgC;;QACpC,IAAI,OAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,YAAI,IAAI,CAAC,eAAe,0CAAE,MAAM,CAAA,EAAE;YAC9D,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;SAC5E;QACD,OAAO,EAAE,CAAC;KACb;IAEM,cAAc;QACjB,MAAM,iBAAiB,GAAyB;YAC5C,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;SAChD,CAAC;QACF,IAAI,CAAC,uBAAuB;aACvB,oBAAoB,CAAC,iBAAiB,CAAC;aACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACnC,SAAS,CACN;YACI,IAAI,CAAC,UAAU,CACX,MAAM,EACN,0DAA0D,EAC1D,gEAAgE,CACnE,CAAC;SACL,EACD;YACI,IAAI,CAAC,UAAU,CACX,OAAO,EACP,gEAAgE,EAChE,sEAAsE,CACzE,CAAC;SACL,CACJ,CAAC;KACT;IAEO,UAAU,CAAC,QAAgB,EAAE,OAAe,EAAE,MAAc,EAAE,IAAI,GAAG,YAAY,CAAC,YAAY;QAClG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YACpB,QAAQ;YACR,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;YACtC,IAAI;SACP,CAAC,CAAC;KACN;IAEM,SAAS;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;IAEY,eAAe;;;YACxB,aAAM,MAAA,IAAI,CAAC,uBAAuB,EAAC,UAAU,mDAAI,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBAChD,MAAM,QAAE,IAAI,CAAC,uBAAuB,0CAAE,MAAM;gBAC5C,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;gBAChC,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,KAAK;gBACpB,IAAI,EAAE,EAAE,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EAAE;aAClE,CAAC,CAAC;;KACN;IAEM,YAAY;QACf,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC7B;IAEM,WAAW;QACd,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;KAC7B;IAEM,YAAY;QACf,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;CACJ,CAAA;;YA9jBmC,qBAAqB;YACnB,WAAW;YACN,gBAAgB;YACb,mBAAmB;YACf,uBAAuB;YACvB,uBAAuB;YACxB,sBAAsB;YAC9BC,gBAAc;YACf,aAAa;;AA3DxC;IAAR,KAAK,EAAE;2DAAmB;AAClB;IAAR,KAAK,EAAE;0DAAkB;AACjB;IAAR,KAAK,EAAE;+DAAwB;AACvB;IAAR,KAAK,EAAE;+DAA2B;AAC1B;IAAR,KAAK,EAAE;+DAA2B;AAC1B;IAAR,KAAK,EAAE;8DAAqB;AACpB;IAAR,KAAK,EAAE;+DAAoB;AACnB;IAAR,KAAK,EAAE;8DAAsB;AACrB;IAAR,KAAK,EAAE;oEAA4B;AAC3B;IAAR,KAAK,EAAE;2EAAmD;AACjD;IAAT,MAAM,EAAE;kEAA6D;AAX7D,0BAA0B;IANtC,SAAS,CAAC;QACP,QAAQ,EAAE,qBAAqB;QAC/B,okiBAAmD;QAEnD,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;;KACzD,CAAC;GACW,0BAA0B,CAknBtC;;AC9oBD,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAC7D,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAA2B;QAErC,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QAXQ,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;KAUxC;IAEM,UAAU,CAAC,IAAS;QACvB,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAmB,GAAG,IAAI,CAAC,UAAU,aAAa,EAAE,IAAI,CAAC;aAC7D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;IAEM,8BAA8B,CAAC,IAAS;QAC3C,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAmB,GAAG,IAAI,CAAC,UAAU,4BAA4B,EAAE,IAAI,CAAC;aAC5E,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;CACJ,CAAA;;YAzBuB,UAAU;YACAA,gBAAc;YACnBH,qBAAgB;;AAJhC,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CA2B1B;;IChBY,aAAa,GAA1B,MAAa,aAAa;CAAI,CAAA;AAAjB,aAAa;IAdzB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,uDAAuD;iBAC/D;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,cAAc,CAAC;QAC3B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,aAAa,CAAI;;ACV9B,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAC7D,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;CAEJ,CAAA;;YAX+B,UAAU;YAA4B,cAAc;YAAuBA,qBAAgB;;AAD9G,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAY1B;;ICEY,aAAa,GAA1B,MAAa,aAAa;CAAG,CAAA;AAAhB,aAAa;IAlBzB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,uDAAuD;iBAC/D;aACJ,CAAC;SACL;QACD,SAAS,EAAE;YACP,cAAc;SACjB;QACD,YAAY,EAAE,EACb;QACD,OAAO,EAAE,EACR;KACJ,CAAC;GACW,aAAa,CAAG;;ACd7B,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAC7D,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;CACJ,CAAA;;YAV+B,UAAU;YAA4BG,gBAAc;YAAuBH,qBAAgB;;AAD9G,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAW1B;;ACXD,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAC7D,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAA2B;QAErC,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QAXQ,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;KAUxC;IAEM,mBAAmB,CAAC,UAAsB;QAC7C,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAa,qCAAqC,EAAE;YACpD,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;SAC9C,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;CACJ,CAAA;;YArBuB,UAAU;YACA,cAAc;YACnBA,qBAAgB;;AAJhC,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAuB1B;;ICbY,aAAa,GAA1B,MAAa,aAAa;CAAG,CAAA;AAAhB,aAAa;IAdzB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,uDAAuD;iBAC/D;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,cAAc,CAAC;QAC3B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,aAAa,CAAG;;ACV7B,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAC7D,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAA2B;QAErC,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QAXQ,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;KAUxC;IAEM,mBAAmB,CAAC,UAAsB;QAC7C,OAAO,IAAI,CAAC,IAAI;aACX,GAAG,CAAa,qCAAqC,EAAE;YACpD,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;SAC9C,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;CACJ,CAAA;;YArBuB,UAAU;YACA,cAAc;YACnBA,qBAAgB;;AAJhC,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAuB1B;;ICbY,aAAa,GAA1B,MAAa,aAAa;CAAG,CAAA;AAAhB,aAAa;IAdzB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,uDAAuD;iBAC/D;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,cAAc,CAAC;QAC3B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,aAAa,CAAG;;ACV7B,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAC7D,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAA2B;QAErC,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QAXQ,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;KAUxC;IAEM,yBAAyB,CAAC,IAAS;QACtC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAmB,GAAG,IAAI,CAAC,UAAU,4BAA4B,EAAE,IAAI,CAAC;aAC5E,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;CACJ,CAAA;;YAnBuB,UAAU;YACA,cAAc;YACnBA,qBAAgB;;AAJhC,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAqB1B;;ICXY,aAAa,GAA1B,MAAa,aAAa;CAAG,CAAA;AAAhB,aAAa;IAdzB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,uDAAuD;iBAC/D;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,cAAc,CAAC;QAC3B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,aAAa,CAAG;;ICVhB,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAC7D,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;IAEM,yBAAyB,CAAC,IAAS;QACtC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAe,GAAG,IAAI,CAAC,UAAU,4BAA4B,EAAE,IAAI,CAAC;aACxE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;CACJ,CAAA;;YAhB+B,UAAU;YAA4BG,gBAAc;YAAuBH,qBAAgB;;AAD9G,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAiB1B;;ICPY,kBAAkB,GAA/B,MAAa,kBAAkB;CAAG,CAAA;AAArB,kBAAkB;IAd9B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,4DAA4D;iBACpE;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;QAChC,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,kBAAkB,CAAG;;ICArB,sBAAsB,GAAnC,MAAa,sBAAsB;CAAG,CAAA;AAAzB,sBAAsB;IAdlC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,gEAAgE;iBACxE;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,uBAAuB,CAAC;QACpC,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,sBAAsB,CAAG;;ACVtC,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,iBAAqC;IAC7E,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,2CAA2C,EAC3C,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;CACJ,CAAA;;YAV+B,UAAU;YAA4BG,gBAAc;YAAuBH,qBAAgB;;AAD9G,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CAWlC;;ICAY,qBAAqB,GAAlC,MAAa,qBAAqB;CAAG,CAAA;AAAxB,qBAAqB;IAdjC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,+DAA+D;iBACvE;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;QACnC,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,qBAAqB,CAAG;;ACXrC,IAAa,cAAc,GAA3B,MAAa,cAAe,SAAQ,iBAA6B;IAE7D,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,mCAAmC,EACnC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;CAIJ,CAAA;;YAb+B,UAAU;YAA4B,cAAc;YAAuBA,qBAAgB;;AAF9G,cAAc;IAD1B,UAAU,EAAE;GACA,cAAc,CAe1B;;ICDY,aAAa,GAA1B,MAAa,aAAa;CAAG,CAAA;AAAhB,aAAa;IAlBzB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,uDAAuD;iBAC/D;aACJ,CAAC;SACL;QACD,SAAS,EAAE;YACP,cAAc;SACjB;QACD,YAAY,EAAE,EACb;QACD,OAAO,EAAE,EACR;KACJ,CAAC;GACW,aAAa,CAAG;;ACd7B,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,iBAAiC;IAErE,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAA2B;QAErC,KAAK,CACD,IAAI,EACJ,cAAc,EACd,+CAA+C,EAC/C,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QAXQ,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;KAUxC;CACJ,CAAA;;YAbuB,UAAU;YACAG,gBAAc;YACnBH,qBAAgB;;AALhC,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAgB9B;;ICNY,iBAAiB,GAA9B,MAAa,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAd7B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,mEAAmE;iBAC3E;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,iBAAiB,CAAG;;ACVjC,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,iBAAiC;IAErE,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAAgC;QACxH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,uCAAuC,EACvC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAuB;KAS3H;CAEJ,CAAA;;YAX+B,UAAU;YAA4B,cAAc;YAAuB,qBAAqB;;AAFnH,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CAa9B;;ICFY,iBAAiB,GAA9B,MAAa,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAd7B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,gEAAgE;iBACxE;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,kBAAkB,CAAC;QAC/B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,iBAAiB,CAAG;;ACgBjC,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,iBAA4B;IAE3D,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,EAC1B,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;IAED,wBAAwB,CAAC,MAAc;QACnC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,4BAA4B,EAAE,EAAC,MAAM,EAAC,CAAC;aACnE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;IAED,qBAAqB,CAAC,MAAqC;QACvD,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,yBAAyB,EAAE,MAAM,CAAC;aAC9D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;IAED,kCAAkC,CAAC,IAAS;QACxC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,sCAAsC,EAAE,IAAI,CAAC;aACzE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;IAED,YAAY,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,gBAAgB,EAAE,IAAI,CAAC,CAAC;KAC5D;IAED,YAAY,CAAC,IAAS;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,gBAAgB,EAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACnG;IAED,cAAc,CAAC,IAAS;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,kBAAkB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACpG;IAED,2BAA2B,CAAC,IAAS;QACjC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,+BAA+B,EAAE,IAAI,CAAC;aAClE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;IAED,kBAAkB,CAAC,OAAiB;QAChC,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC;aAChE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAClC;CACJ,CAAA;;YArD+B,UAAU;YAA4B,cAAc;YAAuBA,qBAAgB;;AAF9G,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CAuDzB;;ICpEY,YAAY,GAAzB,MAAa,YAAY;CAAG,CAAA;AAAf,YAAY;IAlBxB,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,sDAAsD;iBAC9D;aACJ,CAAC;SACL;QACD,SAAS,EAAE;YACP,aAAa;SAChB;QACD,YAAY,EAAE,EACb;QACD,OAAO,EAAE,EACR;KACJ,CAAC;GACW,YAAY,CAAG;;ACd5B,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,iBAA8B;IAE/D,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,iCAAiC,EACjC,uBAAuB,EACvB,uBAAuB,EACvB,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;IAEM,4BAA4B,CAAC,EAAO;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,EAAE;YAC5C,MAAM,EAAE;gBACJ,aAAa,EAAE,yJAAyJ;aAC3K;SACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAChC;IAEM,0BAA0B,CAAC,UAAkB;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,IAAI,CAAC,UAAU,qBAAqB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACjH;CACJ,CAAA;;YAtB+B,UAAU;YAA4B,cAAc;YAAuBA,qBAAgB;;AAF9G,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAwB3B;;ICTY,cAAc,GAA3B,MAAa,cAAc;CAAG,CAAA;AAAjB,cAAc;IAlB1B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,qDAAqD;iBAC7D;aACJ,CAAC;SACL;QACD,SAAS,EAAE;YACP,eAAe;SAClB;QACD,YAAY,EAAE,EACb;QACD,OAAO,EAAE,EACR;KACJ,CAAC;GACW,cAAc,CAAG;;ACX9B,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,iBAA8B;IAE/D,YAAsB,IAAgB,EAAY,cAA8B,EAAY,SAA2B;QACnH,KAAK,CACD,IAAI,EACJ,cAAc,EACd,iCAAiC,EACjC,uBAAuB,EACvB,uBAAuB,EACvB,SAAS,CACZ,CAAC;QARgB,SAAI,GAAJ,IAAI,CAAY;QAAY,mBAAc,GAAd,cAAc,CAAgB;QAAY,cAAS,GAAT,SAAS,CAAkB;KAStH;IAED,cAAc,CAAC,IAA4B;QACvC,OAAO,IAAI,CAAC,IAAI;aACf,IAAI,CAAoB,GAAG,IAAI,CAAC,UAAU,sBAAsB,EAAE,IAAI,CAAC;aACvE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KAC9B;CAEJ,CAAA;;YAjB+B,UAAU;YAA4B,cAAc;YAAuBA,qBAAgB;;AAF9G,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAmB3B;;ICbY,cAAc,GAA3B,MAAa,cAAc;CAAG,CAAA;AAAjB,cAAc;IAd1B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,qDAAqD;iBAC7D;aACJ,CAAC;SACL;QACD,SAAS,EAAE,CAAC,eAAe,CAAC;QAC5B,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE;KACd,CAAC;GACW,cAAc,CAAG;;ICLjB,uBAAuB,GAApC,MAAa,uBAAuB;CAAG,CAAA;AAA1B,uBAAuB;IALnC,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QACtI,YAAY,EAAE,CAAC,0BAA0B,CAAC;QAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;KACxC,CAAC;GACW,uBAAuB,CAAG;;ICgD1B,uBAAuB,GAApC,MAAa,uBAAuB;CAAG,CAAA;AAA1B,uBAAuB;IAhCnC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY,CAAC,QAAQ,EAAE;YACvB,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,YAAY;YACZ,cAAc;YACd,WAAW;YACX,aAAa;YACb,aAAa;YACb,aAAa;YACb,aAAa;YACb,cAAc;YACd,aAAa;YACb,kBAAkB;YAClB,sBAAsB;YACtB,qBAAqB;YACrB,aAAa;YACb,iBAAiB;YACjB,iBAAiB;YACjB,YAAY;YACZ,eAAe;YACf,oBAAoB;YACpB,cAAc;YACd,uBAAuB;SAC1B;QACD,YAAY,EAAE,CAAC,0BAA0B,CAAC;QAC1C,OAAO,EAAE,CAAC,0BAA0B,CAAC;QACrC,SAAS,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,uBAAuB;YAC/D,mBAAmB,EAAE,aAAa,CAAC;KAC1C,CAAC;GACW,uBAAuB,CAAG;;AC7DvC,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;AACnB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAED,AAAA,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IACzB,wCAAmB,CAAA;IACnB,gDAA2B,CAAA;IAC3B,oCAAe,CAAA;AACnB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;;ICAY,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,iBAAsB;IAG1D,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAA2B;QAErC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,SAAS,CAAC,CAAC;QAJ9G,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAkB;QALxB,YAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;KAQ9C;IAED,mBAAmB,CAAC,IAA0B;QAC1C,OAAO,IAAI,CAAC,IAAI;aACX,IAAI,CAAwB,GAAG,IAAI,CAAC,UAAU,gBAAgB,EAAE,IAAI,CAAC;aACrE,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACxE;IAED,mBAAmB;QACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;IAEO,iBAAiB,CAAC,SAAiB;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;YAC/C,IAAI,KAAK,KAAK,CAAC,EAAE;gBAAC,OAAO,IAAI,CAAC;aAAC;YAC/B,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;SAC7B,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CACzC,SAAS,CAAC,CAAC,KAAK,KACZ,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CACb,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAyB,GAAG,IAAI,CAAC,UAAU,mBAAmB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,EAC7G,GAAG,CAAC,CAAC,GAA2B;YAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,YAAY,CAAC,KAAK,EAAE;gBACnC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAChC;SACJ,CAAC,CACL,CACJ,EACD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,IAAqC,CAAC,EAC9D,MAAM,CAAC,CAAC,GAAG,KAAK,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,YAAY,CAAC,QAAQ,CAAC,EACtD,IAAI,CAAC,CAAC,CAAC,EACP,cAAc,CAAC,IAAI,CAAC,EACpB,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1B,CAAC;KACL;CACJ,CAAA;;YAzCuB,UAAU;YACA,cAAc;YACnBA,qBAAgB;;AANhC,kBAAkB;IAD9B,UAAU,EAAE;GACA,kBAAkB,CA6C9B;;ACvCD,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAGvC,IAAsB,kBAAkB,GAAxC,MAAsB,kBAAkB;IAoCpC,YACuB,SAAgC,EAChC,cAAkC,EAClC,aAA4B,EAC5B,YAA0B,EAC1B,cAA8B,EAC9B,QAAkB;QALlB,cAAS,GAAT,SAAS,CAAuB;QAChC,mBAAc,GAAd,cAAc,CAAoB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAU;QAnClC,mBAAc,GAAG,cAAc,CAAC;QAEhC,uBAAkB,GAAG,KAAK,CAAC;QAE3B,gBAAW,GAAG,IAAI,CAAC;QAEnB,aAAQ,GAAU,EAAE,CAAC;QACrB,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,YAAO,GAAG,KAAK,CAAC;QAEhB,gBAAW,GAAgB,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEvC,kBAAa,GAAG,IAAI,OAAO,EAAE,CAAC;QAEvC,kBAAa,GAAe;YAClC,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC3C,aAAa,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc,CAAC;YACnD,WAAW,EAAE,EAAE;SAClB,CAAC;QAEK,uBAAkB,GAAyC;YAC9D,YAAY,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,CAAC;YACvF,YAAY,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,UAAU,IAAI,CAAC;YAC1C,QAAQ,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,IAAI,CAAC,CAAC;SAC9E,CAAC;KASG;IAEL,WAAW;QACP,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KACjC;IAED,QAAQ;QACJ,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;IAKS,sBAAsB;QAC5B,IAAI,CAAC,WAAW,CAAC,YAAY;aACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACnC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;aAC9C,SAAS,CAAC,CAAC,KAAa;YACrB,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,cAAc,CACf,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,EAC5E,KAAK,CACR,CAAC;aACL;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACrG;SACJ,CAAC,CAAC;KACV;IAED,gBAAgB;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACrG;IAEM,IAAI;QACP,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG;gBACjB,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE;gBACR,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC;aACtC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACtB;aAAM;YACH,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;SACjF;KACJ;IAES,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACnD,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;KACf;IAEO,aAAa,CAAC,KAAoB;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;KACzB;IAEM,mBAAmB,CAAC,KAAoB;;QAC3C,IAAI,CAAC,aAAa,mCACX,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAC5B,IAAI,EAAE,OAAA,KAAK,CAAC,aAAa,0CAAE,MAAM,IAAG,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAC/F,aAAa,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,cAAc,CAAC,GACtD,CAAC;KACL;IAEM,cAAc,CAAC,KAAoB,EAAE,WAAoB;QAE5D,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhC,MAAM,UAAU,GAAyB;YACrC,MAAM,EAAE;gBACJ,SAAS;gBACT,QAAQ;gBACR,WAAW,EAAE,CAAC,UAAU,CAAC;gBACzB,cAAc,EAAE,CAAC,aAAa,CAAC;gBAC/B,aAAa,EAAE,KAAK;gBACpB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;aACpC;YACD,WAAW,EAAE;gBACT,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;gBAC/B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;gBAC7B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;oBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM;iBAC3C,CAAC,CAAC;aACN;SACJ,CAAC;QAEF,IAAI,WAAW,EAAE;YACb,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;SACxE;QAED,IAAI,CAAC,cAAc;aACd,mBAAmB,CAAC,UAAU,CAAC;aAC/B,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,QAAQ,CAAC;YACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC5B,CAAC,CACL;aACA,SAAS,CACN,CAAC,MAAM;;YACH,IAAI,CAAC,QAAQ,GAAG,OAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,QAAQ,KAAI,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAClC;YACD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;SACvD,EACD,CAAC,KAAK;YACF,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;SACzD,EACD;YACI,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC5B,CACJ,CAAC;KACT;IAED,aAAa;QACT,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;KAC7C;IAEK,GAAG;;YACL,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;aACrB;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;aAC7D;SACJ;KAAA;IAES,UAAU;QAChB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;KAC7B;IAEK,MAAM;;YACR,IAAI,CAAC,UAAU,EAAE,CAAC;SACrB;KAAA;CACJ,CAAA;;YA/KqC,qBAAqB;YAChB,kBAAkB;YACnB,aAAa;YACd,YAAY;YACVG,gBAAc;YACpB,QAAQ;;AA1CvB,kBAAkB;IADvC,SAAS,EAAE;GACU,kBAAkB,CAoNvC;;IC/MY,iBAAiB,GAA9B,MAAa,iBAAiB;CAAG,CAAA;AAApB,iBAAiB;IAnB7B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,gBAAgB;YAChB,iBAAiB,CAAC,QAAQ,CAAC;gBACvB;oBACI,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvD,GAAG,EAAE,uDAAuD;iBAC/D;aACJ,CAAC;SACL;QACD,SAAS,EAAE;YACP,kBAAkB;SACrB;QACD,YAAY,EAAE,EACb;QACD,OAAO,EAAE,EACR;KACJ,CAAC;GACW,iBAAiB,CAAG;;ICPpB,qCAAqC,GAAlD,MAAa,qCAAsC,SAAQ,kBAAkB;IAMzE,YACW,SAAgC,EAChC,cAAkC,EAClC,aAA4B,EAC5B,YAA0B,EAC1B,cAA8B,EAC9B,QAAkB;QAEzB,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAPjF,cAAS,GAAT,SAAS,CAAuB;QAChC,mBAAc,GAAd,cAAc,CAAoB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAU;QAVnB,uBAAkB,GAAG,IAAI,YAAY,EAAS,CAAC;KAaxD;IAED,QAAQ;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,KAAK,CAAC,QAAQ,EAAE,CAAC;KACpB;IAED,iBAAiB;QACb,IAAI,CAAC,WAAW,GAAG;YACf,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,EAAE;YACrF,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,EAAE;YACrF,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3G,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kCAAkC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC1G,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC,EAAE;SACrG,CAAC;KACL;IAGD,WAAW,CAAC,MAA8B;QACtC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;KACzC;IAED,SAAS,CAAC,gBAAqB;QAC3B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;KAChC;CACJ,CAAA;;YAjCyB,qBAAqB;YAChB,kBAAkB;YACnB,aAAa;YACd,YAAY;YACVA,gBAAc;YACpB,QAAQ;;AAXpB;IAAR,KAAK,EAAE;sEAAgC;AAC9B;IAAT,MAAM,EAAE;iFAAgD;AAFhD,qCAAqC;IALjD,SAAS,CAAC;QACP,QAAQ,EAAE,oCAAoC;QAC9C,w4KAA+B;;KAElC,CAAC;GACW,qCAAqC,CAwCjD;;ACtCM,MAAM,OAAO,GAAG;IACnB,YAAY;IACZ,oBAAoB;IACpB,YAAY;IACZC,cAAY;IACZP,WAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpBQ,iBAAe;IACf,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACZN,aAAW;IACX,kBAAkB;IAClB,cAAc;IACd,gBAAgB;IAChBO,qBAAmB;IACnB,yBAAyB;IACzB,YAAY,CAAC,OAAO,EAAE;CACzB,CAAC;AACF,AAAO,MAAM,SAAS,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;;IC9BnF,kCAAkC,GAA/C,MAAa,kCAAkC;CAAG,CAAA;AAArC,kCAAkC;IAN9C,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,qCAAqC,CAAC;QACrD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;QACrB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;QACzB,OAAO,EAAE,CAAC,qCAAqC,CAAC;KACnD,CAAC;GACW,kCAAkC,CAAG;;ICIrC,kCAAkC,GAA/C,MAAa,kCAAmC,SAAQ,qCAAqC;IAEzF,YACW,SAAgC,EAChC,cAAkC,EAClC,aAA4B,EAC5B,YAA0B,EAC1B,cAA8B,EAC9B,QAAkB;QAEzB,KAAK,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QAPjF,cAAS,GAAT,SAAS,CAAuB;QAChC,mBAAc,GAAd,cAAc,CAAoB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,aAAQ,GAAR,QAAQ,CAAU;KAG5B;CAEJ,CAAA;;YAVyB,qBAAqB;YAChB,kBAAkB;YACnB,aAAa;YACd,YAAY;YACVH,gBAAc;YACpB,QAAQ;;AARpB,kCAAkC;IAL9C,SAAS,CAAC;QACP,QAAQ,EAAE,iCAAiC;QAC3C,w4KAA+B;;KAElC,CAAC;GACW,kCAAkC,CAa9C;;ICjBY,+BAA+B,GAA5C,MAAa,+BAA+B;CAAG,CAAA;AAAlC,+BAA+B;IAN3C,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,kCAAkC,CAAC;QAClD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;QACrB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;QACzB,OAAO,EAAE,CAAC,kCAAkC,CAAC;KAChD,CAAC;GACW,+BAA+B,CAAG;;ICUlC,kCAAkC,GAA/C,MAAa,kCAAmC,SAAQ,kBAAkB;IAMtE,YACa,kBAAyC,EACzC,cAAkC,EAClC,aAA4B,EAC5B,YAA0B,EAC1B,YAA0B,EAC1B,sBAA8C,EAC9C,cAA8B,EAChC,QAAkB;QAEzB,KAAK,CAAC,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QATxF,uBAAkB,GAAlB,kBAAkB,CAAuB;QACzC,mBAAc,GAAd,cAAc,CAAoB;QAClC,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,mBAAc,GAAd,cAAc,CAAgB;QAChC,aAAQ,GAAR,QAAQ,CAAU;QAZnB,uBAAkB,GAAG,IAAI,YAAY,EAAS,CAAC;KAexD;IAED,QAAQ;QACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,mCAChB,IAAI,CAAC,kBAAkB,KAC1B,MAAM,EAAE,CAAC,GAAG,KAAK,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,MAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA,IAAI,GAAG,CAAC,MAAM,EAC9D,UAAU,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa,KAAI,CAAC,EAAE,KAAK,CAAC,GACnF,CAAC;QACF,KAAK,CAAC,QAAQ,EAAE,CAAC;KACpB;IAED,iBAAiB;QACb,IAAI,CAAC,WAAW,GAAG;YACf,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,EAAE;YACrF,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gCAAgC,CAAC,EAAE;YACrF;gBACI,KAAK,EAAE,YAAY;gBACnB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qCAAqC,CAAC;gBACrE,QAAQ,EAAE,KAAK;aAClB;YACD;gBACI,KAAK,EAAE,aAAa;gBACpB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,CAAC;gBACtE,QAAQ,EAAE,KAAK;aAClB;YACD,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,uCAAuC,CAAC,EAAE;SACrG,CAAC;KACL;IAED,SAAS,CAAC,gBAAuB;QAC7B,IAAI,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE;YAC1B,IAAI,CAAC,kCAAkC,EAAE,CAAC;SAC7C;QACD,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;KAChC;IAEM,IAAI;QACP,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBACpB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,6CAA6C,CAAC;gBAC9E,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,yDAAyD,CAAC;aAC5F,CAAC,CAAC;YACH,OAAO;SACV;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;KAChB;IAEY,kCAAkC;;YAC3C,IAAI,EAAE,MAAM,IAAI,CAAC,kCAAkC,EAAE,CAAC,EAAE;gBACpD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,OAAO;aACV;YACD,MAAM,QAAQ,GAAG,EAAE;iBACd,MAAM,CACH,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY;gBAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,YAAiB;oBACpD,MAAM,aAAa,GACf,CAAC,YAAY,CAAC,aAAa,IAAI,CAAC,KAAK,YAAY,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;oBAC/E,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,EAAE;wBACnD,OAAO,IAAI,CAAC;qBACf;oBACD,MAAM,eAAe,GACjB,aAAa,GAAG,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC;oBAEpF,OAAO,CAAC,cAAc,IAAI,eAAe,CAAC;oBAC1C,MAAM,IAAI,GAAG;wBACT,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;wBACvB,MAAM,EAAE,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;wBAC/B,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE;wBACtB,WAAW,EAAE,eAAe;wBAC5B,UAAU,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU;wBAC/B,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;wBACnC,YAAY;qBACf,CAAC;oBAEF,YAAY,CAAC,kBAAkB,GAAG,CAAC,YAAY,CAAC,kBAAkB,IAAI,CAAC,IAAI,eAAe,CAAC;oBAE3F,OAAO,IAAI,CAAC;iBACf,CAAC,CAAC;aACN,CAAC,CACL;iBACA,MAAM,CAAC,CAAC,MAAW,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,sBAAsB;iBACtB,UAAU,CAAC,QAAQ,CAAC;iBACpB,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,QAAQ,CAAC;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC/C,CAAC,CACL;iBACA,SAAS,CAAC;gBACP,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;oBACpB,QAAQ,EAAE,SAAS;oBACnB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iCAAiC,CAAC;oBAClE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sDAAsD,CAAC;iBACzF,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,EAAE,CAAC;aACjB,CAAC,CAAC;SACV;KAAA;IAEK,kCAAkC;;YACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAC1E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,KAAK,OAAO,CAAC,EAAE,CAAC,EAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,CAC1B,CAAC;YACF,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAY;;gBAC/B,OAAO,CAAC,WAAW,GAAG,OAAA,WAAW,CAAC,IAAI,CAAC,CAAC,MAAW,KAAK,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC,0CAAE,WAAW,KAAI,CAAC,CAAC;gBAC3G,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE;oBAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;wBACpB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,sCAAsC,CAAC;wBACvE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gDAAgD,CAAC;qBACnF,CAAC,CAAC;oBACH,OAAO,GAAG,KAAK,CAAC;iBACnB;gBACD,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;aACrE,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;SAClB;KAAA;IAEK,WAAW,CAAC,MAA8B;;YAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;SACzC;KAAA;IAED,MAAM;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;KACzB;IAEK,uBAAuB,CAAC,IAAY;;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAY,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,MAAM,GAAG,gCAAgC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC;YACxE,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACnC,MAAM,IAAI,sBAAsB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aAC9D;YACD,MAAM,UAAU,GAAwB;gBACpC,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,MAAM;aACtB,CAAC;YACF,MAAM,IAAI,CAAC,sBAAsB;iBAC5B,IAAI,CAAC,UAAU,CAAC;iBAChB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;iBACnC,SAAS,EAAE;iBACX,IAAI,CAAC,CAAC,gBAAqB;gBACxB,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAY;oBAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAS,KAAK,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;oBACrF,IAAI,WAAW,EAAE;wBACb,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;qBACjD;iBACJ,EAAE;aACN,CAAC,CAAC;SACV;KAAA;CACJ,CAAA;;YAxKoC,qBAAqB;YACzB,kBAAkB;YACnB,aAAa;YACd,YAAY;YACZ,YAAY;YACF,sBAAsB;YAC9BA,gBAAc;YACtB,QAAQ;;AAbpB;IAAR,KAAK,EAAE;mEAA2C;AACzC;IAAT,MAAM,EAAE;8EAAgD;AAFhD,kCAAkC;IAL9C,SAAS,CAAC;QACP,QAAQ,EAAE,iCAAiC;QAC3C,w4KAA+B;;KAElC,CAAC;GACW,kCAAkC,CA+K9C;;IC1LY,+BAA+B,GAA5C,MAAa,+BAA+B;CAAG,CAAA;AAAlC,+BAA+B;IAN3C,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,kCAAkC,CAAC;QAClD,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;QACrB,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;QACzB,OAAO,EAAE,CAAC,kCAAkC,CAAC;KAChD,CAAC;GACW,+BAA+B,CAAG;;ICTnC,WAGX;AAHD,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;AAC7B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,2BAAa,CAAA;IACb,2BAAa,CAAA;IACb,qCAAuB,CAAA;AAC3B,CAAC,EAJW,UAAU,KAAV,UAAU,QAIrB;AAED,AAAA,IAAY,kBAQX;AARD,WAAY,kBAAkB;IAC1B,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,2CAAqB,CAAA;IACrB,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;AACrB,CAAC,EARW,kBAAkB,KAAlB,kBAAkB,QAQ7B;AAED,AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,0BAAW,CAAA;IACX,4BAAa,CAAA;AACjB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,AAAA,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,8BAAe,CAAA;AACnB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;;ICVY,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,iBAA2B;IAGjE,YACc,IAAgB,EAChB,cAA8B,EAC9B,SAAgC;QAE1C,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,+BAA+B,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,SAAS,CAAC,CAAC;QAJlH,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAuB;QAL7B,YAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;KAQ9C;IAED,UAAU,CAAC,KAA6B;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAA4B,KAAK,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACpI;IAEO,iBAAiB,CAAC,KAA6B;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAwB,GAAG,IAAI,CAAC,UAAU,oBAAoB,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACzH;IAEO,qBAAqB,CAAC,KAAiC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA8B,GAAG,IAAI,CAAC,UAAU,wBAAwB,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACnI;;;;;;;IAQO,oBAAoB,CAAC,SAAiB;;QAE1C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK;YAC/C,IAAI,KAAK,KAAK,CAAC,EAAE;gBACb,OAAO,IAAI,CAAC;aACf;YACD,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC;SAC7B,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,IAAI,CACzC,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,KACnB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CACb,SAAS,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAC1D,GAAG,CAAC,CAAC,GAAgC;YACjC,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,KAAK,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAChC;SACJ,CAAC,EACF,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAC/D,CACJ,EACD,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,IAAoE,CAAC,EAC7F,MAAM,CAAC,CAAC,IAAI,KAAK,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,MAAM,MAAK,WAAW,CAAC,QAAQ,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,CAAC,EAC3E,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,IAAI;YACL,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE;gBACzD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;aACpE;YACD,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC;SACpB,CAAC,EACF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EACvB,GAAG,CAAC,CAAC,GAAuC,KAAK,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAC,CAChE,CAAC;KACL;CACJ,CAAA;;YA3DuB,UAAU;YACA,cAAc;YACnB,qBAAqB;;;AANrC,oBAAoB;IAHhC,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,oBAAoB,CA+DhC;;ICjDY,4BAA4B,GAAzC,MAAa,4BAA4B;IAwCrC,YACqB,SAAgC,EAChC,gBAAsC,EACtC,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAuB;QAChC,qBAAgB,GAAhB,gBAAgB,CAAsB;QACtC,mBAAc,GAAd,cAAc,CAAgB;QAvC1C,aAAQ,GAA4B,EAAE,CAAC;QACtC,oBAAe,GAAG,IAAI,YAAY,EAAS,CAAC;QAEtD,aAAQ,GAA4B,EAAE,CAAC;QAGvC,iBAAY,GAAQ;YAChB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,wCAAwC,CAAC;YAC1E,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kDAAkD,CAAC;YACxF,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oDAAoD,CAAC;SACpG,CAAC;QAEF,qBAAgB,GAAG,KAAK,CAAC;QACzB,gBAAW,GAAG,KAAK,CAAC;QAGpB,gBAAW,GAAmB,EAAE,CAAC;QACjC,kBAAa,GAAU,EAAE,CAAC;QAE1B,qBAAgB,GAAG,KAAK,CAAC;QAEzB,eAAU,GAAG,UAAU,CAAC;QACxB,mBAAc,GAAG,cAAc,CAAC;QAChC,gBAAW,GAAG,WAAW,CAAC;QAE1B,SAAI,GAAG,IAAI,SAAS,CAAC;YACjB,UAAU,EAAE,IAAI,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC;SACpC,CAAC,CAAC;QAEK,sBAAiB,GAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACxG,kBAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;QAW9C,kBAAkB,CAAC,QAAQ,CAAC,CAAC;KAChC;IAVD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAc,CAAC;KACnD;;;;;IAcD,QAAQ;QACJ,IAAI,CAAC,WAAW,GAAG;YACf,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,+BAA+B,EAAE,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC;YAC5H,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YACnH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,+BAA+B,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,UAAU,CAAC;YAC1H,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,kCAAkC,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC;YACvH,IAAI,CAAC,SAAS,CACV,aAAa,EACb,wCAAwC,EACxC,CAAC,sBAAsB,CAAC,EACxB,SAAS,CAAC,KAAK,EACf,kBAAkB,CAAC,cAAc,CACpC;YACD,IAAI,CAAC,SAAS,CACV,WAAW,EACX,oCAAoC,EACpC,CAAC,kBAAkB,CAAC,EACpB,SAAS,CAAC,KAAK,EACf,kBAAkB,CAAC,UAAU,CAChC;YACD,IAAI,CAAC,SAAS,CACV,UAAU,EACV,mCAAmC,EACnC,CAAC,iBAAiB,CAAC,EACnB,SAAS,CAAC,KAAK,EACf,kBAAkB,CAAC,SAAS,CAC/B;YACD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,sCAAsC,EAAE,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;SAC5G,CAAC;QACF,IAAI,CAAC,aAAa,GAAG;YACjB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,iCAAiC,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YACrH,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,gCAAgC,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YACjH,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,kCAAkC,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;YACzH,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnF,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,oCAAoC,EAAE,CAAC,sBAAsB,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;YAClH,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,oCAAoC,EAAE,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;YAC9G,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,sCAAsC,EAAE,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;YACpH,IAAI,CAAC,SAAS,CACV,iBAAiB,EACjB,0CAA0C,EAC1C,CAAC,gCAAgC,CAAC,EAClC,SAAS,CAAC,KAAK,EACf,IAAI,CACP;YACD,IAAI,CAAC,SAAS,CACV,iBAAiB,EACjB,0CAA0C,EAC1C,CAAC,2BAA2B,CAAC,EAC7B,SAAS,CAAC,KAAK,EACf,IAAI,CACP;YACD,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,wCAAwC,EAAE,CAAC,sBAAsB,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;YAC1H,IAAI,CAAC,SAAS,CACV,oBAAoB,EACpB,8CAA8C,EAC9C,CAAC,2BAA2B,CAAC,EAC7B,SAAS,CAAC,KAAK,EACf,IAAI,CACP;YACD,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACxE,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC3C;;;;;IAMD,eAAe;QACX,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,wCAAwC,EAAE,CAAC;KACnD;IAED,WAAW;QACP,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KACjC;IAED,WAAW;;QACP,aAAO,IAAI,CAAC,iBAAiB,0CAAE,IAAI,CAAC;KACvC;IAED,WAAW;;QACP,aAAO,IAAI,CAAC,iBAAiB,0CAAE,KAAK,CAAC;KACxC;IAED,YAAY;;QACR,aAAO,IAAI,CAAC,iBAAiB,0CAAE,SAAS,CAAC;KAC5C;IAED,YAAY;;QACR,aAAO,IAAI,CAAC,iBAAiB,0CAAE,SAAS,CAAC;KAC5C;;;;;;;IAQD,UAAU,CAAC,KAAoB;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAE/B,MAAM,KAAK,GAA2B;YAClC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE;YAClF,MAAM,EAAE,IAAI,CAAC,OAAO;SACvB,CAAC;QAEF,IAAI,CAAC,gBAAgB;aAChB,UAAU,CAAC,KAAK,CAAC;aACjB,IAAI,CACD,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,UAAU,CAAC,CAAC,GAAQ;YAChB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,MAAM,SAAS,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,KAAI,4DAA4D,CAAC;YAC/F,IAAI,CAAC,UAAU,CACX,MAAM,EACN,sDAAsD,EACtD,SAAS,CACZ,CAAC;YACF,MAAM,GAAG,CAAC;SACb,CAAC,CACL;aACA,SAAS,CAAC,CAAC,IAAgC;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YAElC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;YAC3C,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,wCAAwC,EAAE,CAAC;SACnD,CAAC,CAAC;KACV;IAED,iBAAiB,CAAC,KAAU;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,wCAAwC,EAAE,CAAC;QAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5C;;;;;;;IAQD,UAAU,CAAC,KAAU;;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,GAAG,EAAE;YACL,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;;YAErB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5D,MAAM,IAAI,SAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,0CAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,IAAI,EAAE;gBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;aAC7C;SACJ;KACJ;IAED,WAAW,CAAC,OAAY;QACpB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;KAC3B;IAED,YAAY;QACR,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC5B;IAED,YAAY,CAAC,KAAa,EAAE,OAAc;QACtC,OAAO,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;KACvC;IAED,eAAe,CAAC,KAAa;QACzB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,QAAQ,KAAK;YACT,KAAK,UAAU;gBACX,UAAU,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;gBAC/B,MAAM;YACV,KAAK,OAAO,CAAC;YACb,KAAK,SAAS;gBACV,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBAChC,MAAM;YACV,KAAK,MAAM,CAAC;YACZ,KAAK,WAAW;gBACZ,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBAChC,MAAM;YACV;gBACI,UAAU,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBAChC,MAAM;SACb;QACD,OAAO,UAAU,CAAC;KACrB;IAED,OAAO,CAAC,GAAQ,EAAE,GAAQ;QACtB,IAAI,CAAC,GAAG,IAAI,EAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAA,EAAE;YACpB,OAAO,GAAG,CAAC;SACd;QACD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE;YACzB,MAAM,IAAI,SAAS,GAAG,eAAe,CAAC,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACjF,SAAS,GAAG,KAAK,CAAC;SACrB;QAED,OAAO,MAAM,CAAC;KACjB;;;;;IAMO,uBAAuB;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAc,CAAC;QACjE,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI;;YACvB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;gBACxB,EAAE,EAAE,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;gBACxC,SAAS,EAAE,IAAI,WAAW,OAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,SAAS,mCAAI,IAAI,EAAE,EAAE,CAAC;aAClE,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B,CAAC,CAAC;KACN;;;;;;;;;;IAWO,2BAA2B,CAAC,SAAoB,EAAE,IAA2B;QACjF,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ;;YACjF,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,OAAO,SAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,0CAAE,KAAK,CAAC;;YAG3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;;gBAEjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;gBAE9C,MAAM,GAAG,GAAG,MAAM,aAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,0CAAE,MAAM,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,GAAG,GAAG,EAAE;oBACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC;;oBAExC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;iBACxD;;gBAGD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,gBAAgB,CAAC,OAAO,CAAC;;gBAE5D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC5C;iBAAM;;gBAEH,MAAM,GAAG,GAAG,MAAM,OAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,GAAG,GAAG,EAAE;oBACvC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;iBACxD;aACJ;SACJ,CAAC,CAAC;KACN;IAEO,eAAe,CAAC,KAAU;QAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE;YACvD,OAAO,IAAI,CAAC;SACf;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3D,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC;KACf;;;;;;;IAQO,WAAW,CAAC,GAAQ;QACxB,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;SACtC;KACJ;;;;;;;IAQO,wBAAwB,CAAC,GAAQ;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAc,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,aAAa,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE;QACvF,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,GAAG;QAChC,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,sBAAsB,GAAG;KAC9C;;;;;;;;IASO,uBAAuB;QAC3B,OAAO,CAAC,OAAoB;;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAmB,CAAC;YAC3C,MAAM,OAAO,SAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,IAAI,2CAAG,KAAK,CAAC;YACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;gBAC/C,OAAO,IAAI,CAAC;aACf;YACD,IAAI,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE;gBAChC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aACjC;;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YACnH,MAAM,QAAQ,GAAG,MAAM,OAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,SAAS,GAAG,QAAQ,EAAE;gBACtB,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;aACxC;YACD,OAAO,IAAI,CAAC;SACf,CAAC;KACL;IAEO,aAAa,CAAC,GAAQ;QAC1B,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SACjC;KACJ;;;;;;IAOO,wCAAwC;QAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1C,OAAO;SACV;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK;;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAEnE,MAAM,IAAI,SAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,0CAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAEzD,IAAI,WAAW,EAAE;;gBAEb,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;gBACtC,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC9D;gBACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aACzB;iBAAM;;gBAEH,IAAI,IAAI,EAAE;oBACN,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC7C;gBACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAC3B;SACJ,CAAC,CAAC;KACN;IAEO,SAAS,CAAC,KAAa,EAAE,MAAc,EAAE,IAAc,EAAE,IAAe,EAAE,YAAgC;QAC9G,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;KAC/F;IAEO,UAAU,CAAC,QAAgB,EAAE,OAAe,EAAE,MAAc,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,GAAG,IAAI;QAC7F,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YACpB,QAAQ;YACR,MAAM;YACN,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;SACzC,CAAC,CAAC;KACN;IAEO,aAAa,CAAC,KAAa,EAAE,KAAa;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,MAAK,IAAI,EAAE;YACnC,OAAO,IAAI,CAAC;SACf;QACD,OAAO;YACH,KAAK,EAAE,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,OAAO,KAAI,kBAAkB,CAAC,YAAY;YAClE,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG,WAAW,CAAC,IAAI;SAC1D,CAAC;KACL;CACJ,CAAA;;YApamC,qBAAqB;YACd,oBAAoB;YACtBA,gBAAc;;AA1C1B;IAAxB,SAAS,CAAC,YAAY,CAAC;2DAAc;AAE7B;IAAR,KAAK,EAAE;6DAAiC;AAChC;IAAR,KAAK,EAAE;8DAAwC;AACtC;IAAT,MAAM,EAAE;qEAA6C;AAL7C,4BAA4B;IALxC,SAAS,CAAC;QACP,QAAQ,EAAE,yBAAyB;QACnC,k1RAAqD;;KAExD,CAAC;GACW,4BAA4B,CA6cxC;;IC9bY,yBAAyB,GAAtC,MAAa,yBAAyB;CAAG,CAAA;AAA5B,yBAAyB;IA5BrC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,qBAAqB;YACrB,2BAA2B;YAC3B,YAAY;YACZ,2BAA2B;YAC3B,qBAAqB;YACrB,YAAY,CAAC,QAAQ,EAAE;YACvB,gBAAgB;YAChBJ,aAAW;YACXF,WAAgB;YAChB,oBAAoB;YACpB,WAAW;YACX,YAAY;YACZ,aAAa;YACb,mBAAmB;YACnB,WAAW;YACX,kBAAkB;YAClBQ,iBAAe;YACf,iBAAiB;YACjB,yBAAyB;YACzBD,cAAY;YACZ,eAAe;YACf,mBAAmB;SACtB;QACD,YAAY,EAAE,CAAC,4BAA4B,CAAC;QAC5C,OAAO,EAAE,CAAC,4BAA4B,CAAC;KAC1C,CAAC;GACW,yBAAyB,CAAG;;ACjDzC;;GAEG;;;;"}
|