@hitsoft/kadooglu-keops 0.0.1
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 +24 -0
- package/config/enums/index.d.ts +1 -0
- package/config/enums/route-names.d.ts +23 -0
- package/config/index.d.ts +5 -0
- package/config/kadooglu-keops-config.module.d.ts +8 -0
- package/config/providers/index.d.ts +1 -0
- package/config/providers/route.provider.d.ts +8 -0
- package/config/public-api.d.ts +3 -0
- package/esm2020/config/enums/index.mjs +2 -0
- package/esm2020/config/enums/route-names.mjs +2 -0
- package/esm2020/config/hitsoft-kadooglu-keops-config.mjs +5 -0
- package/esm2020/config/kadooglu-keops-config.module.mjs +18 -0
- package/esm2020/config/providers/index.mjs +2 -0
- package/esm2020/config/providers/route.provider.mjs +212 -0
- package/esm2020/config/public-api.mjs +4 -0
- package/esm2020/hitsoft-kadooglu-keops.mjs +5 -0
- package/esm2020/lib/features/container-definitions/components/container-definition-form.component.mjs +81 -0
- package/esm2020/lib/features/container-definitions/components/container-definitions.component.mjs +69 -0
- package/esm2020/lib/features/container-definitions/hit-container-definitions-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-definitions/hit-container-definitions.module.mjs +58 -0
- package/esm2020/lib/features/container-loading-counts/components/container-loading-counts.component.mjs +104 -0
- package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-loading-counts/hit-container-loading-counts.module.mjs +49 -0
- package/esm2020/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.mjs +106 -0
- package/esm2020/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.mjs +10 -0
- package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.mjs +49 -0
- package/esm2020/lib/features/container-mix-types/components/container-mix-type-form.component.mjs +78 -0
- package/esm2020/lib/features/container-mix-types/components/container-mix-types.component.mjs +69 -0
- package/esm2020/lib/features/container-mix-types/hit-container-mix-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-mix-types/hit-container-mix-types.module.mjs +58 -0
- package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.mjs +95 -0
- package/esm2020/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.mjs +91 -0
- package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.mjs +29 -0
- package/esm2020/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.mjs +58 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-inputs.component.mjs +103 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-result-sum.component.mjs +36 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation-results.component.mjs +32 -0
- package/esm2020/lib/features/cost-calculation/components/cost-calculation.component.mjs +167 -0
- package/esm2020/lib/features/cost-calculation/cost-calculation.models.mjs +2 -0
- package/esm2020/lib/features/cost-calculation/engine/currency.utils.mjs +21 -0
- package/esm2020/lib/features/cost-calculation/engine/formulas.mjs +55 -0
- package/esm2020/lib/features/cost-calculation/engine/index.mjs +4 -0
- package/esm2020/lib/features/cost-calculation/engine/item-resolver.mjs +38 -0
- package/esm2020/lib/features/cost-calculation/engine/models.mjs +20 -0
- package/esm2020/lib/features/cost-calculation/engine/stage-builder.mjs +56 -0
- package/esm2020/lib/features/cost-calculation/hit-cost-calculation-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-calculation/hit-cost-calculation.module.mjs +64 -0
- package/esm2020/lib/features/cost-groups/components/cost-group-form.component.mjs +121 -0
- package/esm2020/lib/features/cost-groups/components/cost-groups.component.mjs +92 -0
- package/esm2020/lib/features/cost-groups/cost-group-role-l10n-helper.mjs +20 -0
- package/esm2020/lib/features/cost-groups/hit-cost-groups-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-groups/hit-cost-groups.module.mjs +58 -0
- package/esm2020/lib/features/cost-items/components/cost-item-form.component.mjs +88 -0
- package/esm2020/lib/features/cost-items/components/cost-items.component.mjs +73 -0
- package/esm2020/lib/features/cost-items/cost-item-l10n-helper.mjs +7 -0
- package/esm2020/lib/features/cost-items/hit-cost-items-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-items/hit-cost-items.module.mjs +58 -0
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.mjs +73 -0
- package/esm2020/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.mjs +93 -0
- package/esm2020/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.mjs +9 -0
- package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.mjs +58 -0
- package/esm2020/lib/features/cost-parameters/components/cost-parameter-form.component.mjs +131 -0
- package/esm2020/lib/features/cost-parameters/components/cost-parameters.component.mjs +93 -0
- package/esm2020/lib/features/cost-parameters/cost-parameter-l10n-helper.mjs +7 -0
- package/esm2020/lib/features/cost-parameters/hit-cost-parameters-routing.module.mjs +29 -0
- package/esm2020/lib/features/cost-parameters/hit-cost-parameters.module.mjs +61 -0
- package/esm2020/lib/features/exchange-rates/components/central-bank-rates.component.mjs +17 -0
- package/esm2020/lib/features/exchange-rates/components/exchange-rates.component.mjs +30 -0
- package/esm2020/lib/features/exchange-rates/components/fixed-rates-form.component.mjs +84 -0
- package/esm2020/lib/features/exchange-rates/hit-exchange-rates-routing.module.mjs +29 -0
- package/esm2020/lib/features/exchange-rates/hit-exchange-rates.module.mjs +65 -0
- package/esm2020/lib/features/index.mjs +15 -0
- package/esm2020/lib/features/packaging-materials/components/packaging-material-form.component.mjs +87 -0
- package/esm2020/lib/features/packaging-materials/components/packaging-materials.component.mjs +69 -0
- package/esm2020/lib/features/packaging-materials/hit-packaging-materials-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-materials/hit-packaging-materials.module.mjs +58 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-price-form.component.mjs +154 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-price-lines.component.mjs +89 -0
- package/esm2020/lib/features/packaging-prices/components/packaging-prices.component.mjs +86 -0
- package/esm2020/lib/features/packaging-prices/hit-packaging-prices-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-prices/hit-packaging-prices.module.mjs +71 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-calculator.mjs +36 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-excel.service.mjs +32 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-form.factory.mjs +31 -0
- package/esm2020/lib/features/packaging-prices/packaging-price-lines.builder.mjs +49 -0
- package/esm2020/lib/features/packaging-types/components/packaging-type-form.component.mjs +78 -0
- package/esm2020/lib/features/packaging-types/components/packaging-types.component.mjs +69 -0
- package/esm2020/lib/features/packaging-types/hit-packaging-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/packaging-types/hit-packaging-types.module.mjs +58 -0
- package/esm2020/lib/features/pallet-definitions/components/pallet-definition-form.component.mjs +80 -0
- package/esm2020/lib/features/pallet-definitions/components/pallet-definitions.component.mjs +69 -0
- package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.mjs +29 -0
- package/esm2020/lib/features/pallet-definitions/hit-pallet-definitions.module.mjs +58 -0
- package/esm2020/lib/features/price-parameter-types/components/price-parameter-type-form.component.mjs +79 -0
- package/esm2020/lib/features/price-parameter-types/components/price-parameter-types.component.mjs +69 -0
- package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.mjs +29 -0
- package/esm2020/lib/features/price-parameter-types/hit-price-parameter-types.module.mjs +58 -0
- package/esm2020/lib/features/sap-sales-persons/components/sap-sales-person-form.component.mjs +69 -0
- package/esm2020/lib/features/sap-sales-persons/components/sap-sales-persons.component.mjs +53 -0
- package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.mjs +29 -0
- package/esm2020/lib/features/sap-sales-persons/hit-sap-sales-persons.module.mjs +61 -0
- package/esm2020/lib/features/settings/components/cost-settings.component.mjs +48 -0
- package/esm2020/lib/kadooglu-keops-routing.module.mjs +53 -0
- package/esm2020/lib/kadooglu-keops.module.mjs +53 -0
- package/esm2020/lib/proxy/container-definitions/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-definitions/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-definitions/index.mjs +3 -0
- package/esm2020/lib/proxy/container-loading-counts/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-counts/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-counts/index.mjs +4 -0
- package/esm2020/lib/proxy/container-loading-counts/loading-target-kind.enum.mjs +8 -0
- package/esm2020/lib/proxy/container-loading-scenarios/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-scenarios/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-loading-scenarios/index.mjs +4 -0
- package/esm2020/lib/proxy/container-loading-scenarios/pallet-status.enum.mjs +8 -0
- package/esm2020/lib/proxy/container-mix-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-mix-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-mix-types/index.mjs +3 -0
- package/esm2020/lib/proxy/container-pallet-capacities/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/container-pallet-capacities/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/container-pallet-capacities/index.mjs +3 -0
- package/esm2020/lib/proxy/controllers/container-definition.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/container-loading-count.service.mjs +31 -0
- package/esm2020/lib/proxy/controllers/container-loading-scenario.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/container-mix-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/container-pallet-capacity.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-group.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-item.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-parameter-category.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-parameter.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/cost-settings.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/exchange-rate.service.mjs +27 -0
- package/esm2020/lib/proxy/controllers/index.mjs +19 -0
- package/esm2020/lib/proxy/controllers/item.service.mjs +23 -0
- package/esm2020/lib/proxy/controllers/packaging-material.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/packaging-price.service.mjs +55 -0
- package/esm2020/lib/proxy/controllers/packaging-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/pallet-definition.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/price-parameter-type.service.mjs +40 -0
- package/esm2020/lib/proxy/controllers/sap-sales-person.service.mjs +27 -0
- package/esm2020/lib/proxy/cost-groups/cost-group-role.enum.mjs +10 -0
- package/esm2020/lib/proxy/cost-groups/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-groups/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-groups/index.mjs +4 -0
- package/esm2020/lib/proxy/cost-items/cost-item-calculation-type.enum.mjs +9 -0
- package/esm2020/lib/proxy/cost-items/cost-item-system-code.enum.mjs +20 -0
- package/esm2020/lib/proxy/cost-items/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-items/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-items/index.mjs +5 -0
- package/esm2020/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.mjs +11 -0
- package/esm2020/lib/proxy/cost-parameter-categories/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameter-categories/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameter-categories/index.mjs +4 -0
- package/esm2020/lib/proxy/cost-parameters/cost-parameter-status.enum.mjs +9 -0
- package/esm2020/lib/proxy/cost-parameters/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameters/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/cost-parameters/index.mjs +4 -0
- package/esm2020/lib/proxy/currencies/currency.enum.mjs +9 -0
- package/esm2020/lib/proxy/currencies/index.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/exchange-rates/exchange-rate-source.enum.mjs +8 -0
- package/esm2020/lib/proxy/exchange-rates/index.mjs +4 -0
- package/esm2020/lib/proxy/index.mjs +22 -0
- package/esm2020/lib/proxy/items/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/items/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/items/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-materials/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-materials/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-materials/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-prices/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-prices/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-prices/index.mjs +3 -0
- package/esm2020/lib/proxy/packaging-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/packaging-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/packaging-types/index.mjs +3 -0
- package/esm2020/lib/proxy/pallet-definitions/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/pallet-definitions/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/pallet-definitions/index.mjs +3 -0
- package/esm2020/lib/proxy/price-parameter-types/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/price-parameter-types/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/price-parameter-types/index.mjs +3 -0
- package/esm2020/lib/proxy/sales-persons/dtos/index.mjs +2 -0
- package/esm2020/lib/proxy/sales-persons/dtos/models.mjs +2 -0
- package/esm2020/lib/proxy/sales-persons/index.mjs +3 -0
- package/esm2020/lib/proxy/settings/index.mjs +2 -0
- package/esm2020/lib/proxy/settings/models.mjs +2 -0
- package/esm2020/lib/utils/currency.utils.mjs +8 -0
- package/esm2020/lib/utils/date.utils.mjs +12 -0
- package/esm2020/lib/utils/number.utils.mjs +9 -0
- package/esm2020/public-api.mjs +7 -0
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs +235 -0
- package/fesm2015/hitsoft-kadooglu-keops-config.mjs.map +1 -0
- package/fesm2015/hitsoft-kadooglu-keops.mjs +5243 -0
- package/fesm2015/hitsoft-kadooglu-keops.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs +235 -0
- package/fesm2020/hitsoft-kadooglu-keops-config.mjs.map +1 -0
- package/fesm2020/hitsoft-kadooglu-keops.mjs +5196 -0
- package/fesm2020/hitsoft-kadooglu-keops.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/features/container-definitions/components/container-definition-form.component.d.ts +25 -0
- package/lib/features/container-definitions/components/container-definitions.component.d.ts +23 -0
- package/lib/features/container-definitions/hit-container-definitions-routing.module.d.ts +7 -0
- package/lib/features/container-definitions/hit-container-definitions.module.d.ts +18 -0
- package/lib/features/container-loading-counts/components/container-loading-counts.component.d.ts +29 -0
- package/lib/features/container-loading-counts/hit-container-loading-counts-routing.module.d.ts +7 -0
- package/lib/features/container-loading-counts/hit-container-loading-counts.module.d.ts +15 -0
- package/lib/features/container-loading-scenarios/components/container-loading-scenarios.component.d.ts +40 -0
- package/lib/features/container-loading-scenarios/container-loading-scenario-l10n-helper.d.ts +3 -0
- package/lib/features/container-loading-scenarios/hit-container-loading-scenarios-routing.module.d.ts +7 -0
- package/lib/features/container-loading-scenarios/hit-container-loading-scenarios.module.d.ts +15 -0
- package/lib/features/container-mix-types/components/container-mix-type-form.component.d.ts +25 -0
- package/lib/features/container-mix-types/components/container-mix-types.component.d.ts +23 -0
- package/lib/features/container-mix-types/hit-container-mix-types-routing.module.d.ts +7 -0
- package/lib/features/container-mix-types/hit-container-mix-types.module.d.ts +18 -0
- package/lib/features/container-pallet-capacities/components/container-pallet-capacities.component.d.ts +33 -0
- package/lib/features/container-pallet-capacities/components/container-pallet-capacity-form.component.d.ts +29 -0
- package/lib/features/container-pallet-capacities/hit-container-pallet-capacities-routing.module.d.ts +7 -0
- package/lib/features/container-pallet-capacities/hit-container-pallet-capacities.module.d.ts +18 -0
- package/lib/features/cost-calculation/components/cost-calculation-inputs.component.d.ts +43 -0
- package/lib/features/cost-calculation/components/cost-calculation-result-sum.component.d.ts +16 -0
- package/lib/features/cost-calculation/components/cost-calculation-results.component.d.ts +12 -0
- package/lib/features/cost-calculation/components/cost-calculation.component.d.ts +51 -0
- package/lib/features/cost-calculation/cost-calculation.models.d.ts +18 -0
- package/lib/features/cost-calculation/engine/currency.utils.d.ts +4 -0
- package/lib/features/cost-calculation/engine/formulas.d.ts +7 -0
- package/lib/features/cost-calculation/engine/index.d.ts +3 -0
- package/lib/features/cost-calculation/engine/item-resolver.d.ts +4 -0
- package/lib/features/cost-calculation/engine/models.d.ts +64 -0
- package/lib/features/cost-calculation/engine/stage-builder.d.ts +4 -0
- package/lib/features/cost-calculation/hit-cost-calculation-routing.module.d.ts +7 -0
- package/lib/features/cost-calculation/hit-cost-calculation.module.d.ts +19 -0
- package/lib/features/cost-groups/components/cost-group-form.component.d.ts +33 -0
- package/lib/features/cost-groups/components/cost-groups.component.d.ts +31 -0
- package/lib/features/cost-groups/cost-group-role-l10n-helper.d.ts +7 -0
- package/lib/features/cost-groups/hit-cost-groups-routing.module.d.ts +7 -0
- package/lib/features/cost-groups/hit-cost-groups.module.d.ts +18 -0
- package/lib/features/cost-items/components/cost-item-form.component.d.ts +30 -0
- package/lib/features/cost-items/components/cost-items.component.d.ts +24 -0
- package/lib/features/cost-items/cost-item-l10n-helper.d.ts +2 -0
- package/lib/features/cost-items/hit-cost-items-routing.module.d.ts +7 -0
- package/lib/features/cost-items/hit-cost-items.module.d.ts +18 -0
- package/lib/features/cost-parameter-categories/components/cost-parameter-categories.component.d.ts +24 -0
- package/lib/features/cost-parameter-categories/components/cost-parameter-category-form.component.d.ts +29 -0
- package/lib/features/cost-parameter-categories/cost-parameter-category-l10n-helper.d.ts +2 -0
- package/lib/features/cost-parameter-categories/hit-cost-parameter-categories-routing.module.d.ts +7 -0
- package/lib/features/cost-parameter-categories/hit-cost-parameter-categories.module.d.ts +18 -0
- package/lib/features/cost-parameters/components/cost-parameter-form.component.d.ts +39 -0
- package/lib/features/cost-parameters/components/cost-parameters.component.d.ts +30 -0
- package/lib/features/cost-parameters/cost-parameter-l10n-helper.d.ts +2 -0
- package/lib/features/cost-parameters/hit-cost-parameters-routing.module.d.ts +7 -0
- package/lib/features/cost-parameters/hit-cost-parameters.module.d.ts +18 -0
- package/lib/features/exchange-rates/components/central-bank-rates.component.d.ts +7 -0
- package/lib/features/exchange-rates/components/exchange-rates.component.d.ts +13 -0
- package/lib/features/exchange-rates/components/fixed-rates-form.component.d.ts +26 -0
- package/lib/features/exchange-rates/hit-exchange-rates-routing.module.d.ts +7 -0
- package/lib/features/exchange-rates/hit-exchange-rates.module.d.ts +19 -0
- package/lib/features/index.d.ts +10 -0
- package/lib/features/packaging-materials/components/packaging-material-form.component.d.ts +29 -0
- package/lib/features/packaging-materials/components/packaging-materials.component.d.ts +23 -0
- package/lib/features/packaging-materials/hit-packaging-materials-routing.module.d.ts +7 -0
- package/lib/features/packaging-materials/hit-packaging-materials.module.d.ts +18 -0
- package/lib/features/packaging-prices/components/packaging-price-form.component.d.ts +44 -0
- package/lib/features/packaging-prices/components/packaging-price-lines.component.d.ts +26 -0
- package/lib/features/packaging-prices/components/packaging-prices.component.d.ts +27 -0
- package/lib/features/packaging-prices/hit-packaging-prices-routing.module.d.ts +7 -0
- package/lib/features/packaging-prices/hit-packaging-prices.module.d.ts +19 -0
- package/lib/features/packaging-prices/packaging-price-calculator.d.ts +8 -0
- package/lib/features/packaging-prices/packaging-price-excel.service.d.ts +15 -0
- package/lib/features/packaging-prices/packaging-price-form.factory.d.ts +5 -0
- package/lib/features/packaging-prices/packaging-price-lines.builder.d.ts +21 -0
- package/lib/features/packaging-types/components/packaging-type-form.component.d.ts +25 -0
- package/lib/features/packaging-types/components/packaging-types.component.d.ts +23 -0
- package/lib/features/packaging-types/hit-packaging-types-routing.module.d.ts +7 -0
- package/lib/features/packaging-types/hit-packaging-types.module.d.ts +18 -0
- package/lib/features/pallet-definitions/components/pallet-definition-form.component.d.ts +25 -0
- package/lib/features/pallet-definitions/components/pallet-definitions.component.d.ts +23 -0
- package/lib/features/pallet-definitions/hit-pallet-definitions-routing.module.d.ts +7 -0
- package/lib/features/pallet-definitions/hit-pallet-definitions.module.d.ts +18 -0
- package/lib/features/price-parameter-types/components/price-parameter-type-form.component.d.ts +25 -0
- package/lib/features/price-parameter-types/components/price-parameter-types.component.d.ts +23 -0
- package/lib/features/price-parameter-types/hit-price-parameter-types-routing.module.d.ts +7 -0
- package/lib/features/price-parameter-types/hit-price-parameter-types.module.d.ts +18 -0
- package/lib/features/sap-sales-persons/components/sap-sales-person-form.component.d.ts +26 -0
- package/lib/features/sap-sales-persons/components/sap-sales-persons.component.d.ts +24 -0
- package/lib/features/sap-sales-persons/hit-sap-sales-persons-routing.module.d.ts +7 -0
- package/lib/features/sap-sales-persons/hit-sap-sales-persons.module.d.ts +18 -0
- package/lib/features/settings/components/cost-settings.component.d.ts +17 -0
- package/lib/kadooglu-keops-routing.module.d.ts +7 -0
- package/lib/kadooglu-keops.module.d.ts +18 -0
- package/lib/proxy/container-definitions/dtos/index.d.ts +1 -0
- package/lib/proxy/container-definitions/dtos/models.d.ts +22 -0
- package/lib/proxy/container-definitions/index.d.ts +2 -0
- package/lib/proxy/container-loading-counts/dtos/index.d.ts +1 -0
- package/lib/proxy/container-loading-counts/dtos/models.d.ts +23 -0
- package/lib/proxy/container-loading-counts/index.d.ts +3 -0
- package/lib/proxy/container-loading-counts/loading-target-kind.enum.d.ts +5 -0
- package/lib/proxy/container-loading-scenarios/dtos/index.d.ts +1 -0
- package/lib/proxy/container-loading-scenarios/dtos/models.d.ts +22 -0
- package/lib/proxy/container-loading-scenarios/index.d.ts +3 -0
- package/lib/proxy/container-loading-scenarios/pallet-status.enum.d.ts +5 -0
- package/lib/proxy/container-mix-types/dtos/index.d.ts +1 -0
- package/lib/proxy/container-mix-types/dtos/models.d.ts +13 -0
- package/lib/proxy/container-mix-types/index.d.ts +2 -0
- package/lib/proxy/container-pallet-capacities/dtos/index.d.ts +1 -0
- package/lib/proxy/container-pallet-capacities/dtos/models.d.ts +22 -0
- package/lib/proxy/container-pallet-capacities/index.d.ts +2 -0
- package/lib/proxy/controllers/container-definition.service.d.ts +15 -0
- package/lib/proxy/controllers/container-loading-count.service.d.ts +13 -0
- package/lib/proxy/controllers/container-loading-scenario.service.d.ts +12 -0
- package/lib/proxy/controllers/container-mix-type.service.d.ts +15 -0
- package/lib/proxy/controllers/container-pallet-capacity.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-group.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-item.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-parameter-category.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-parameter.service.d.ts +15 -0
- package/lib/proxy/controllers/cost-settings.service.d.ts +12 -0
- package/lib/proxy/controllers/exchange-rate.service.d.ts +12 -0
- package/lib/proxy/controllers/index.d.ts +18 -0
- package/lib/proxy/controllers/item.service.d.ts +11 -0
- package/lib/proxy/controllers/packaging-material.service.d.ts +15 -0
- package/lib/proxy/controllers/packaging-price.service.d.ts +18 -0
- package/lib/proxy/controllers/packaging-type.service.d.ts +15 -0
- package/lib/proxy/controllers/pallet-definition.service.d.ts +15 -0
- package/lib/proxy/controllers/price-parameter-type.service.d.ts +15 -0
- package/lib/proxy/controllers/sap-sales-person.service.d.ts +12 -0
- package/lib/proxy/cost-groups/cost-group-role.enum.d.ts +7 -0
- package/lib/proxy/cost-groups/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-groups/dtos/models.d.ts +21 -0
- package/lib/proxy/cost-groups/index.d.ts +3 -0
- package/lib/proxy/cost-items/cost-item-calculation-type.enum.d.ts +6 -0
- package/lib/proxy/cost-items/cost-item-system-code.enum.d.ts +17 -0
- package/lib/proxy/cost-items/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-items/dtos/models.d.ts +20 -0
- package/lib/proxy/cost-items/index.d.ts +4 -0
- package/lib/proxy/cost-parameter-categories/cost-parameter-category-parent-code.enum.d.ts +8 -0
- package/lib/proxy/cost-parameter-categories/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-parameter-categories/dtos/models.d.ts +14 -0
- package/lib/proxy/cost-parameter-categories/index.d.ts +3 -0
- package/lib/proxy/cost-parameters/cost-parameter-status.enum.d.ts +6 -0
- package/lib/proxy/cost-parameters/dtos/index.d.ts +1 -0
- package/lib/proxy/cost-parameters/dtos/models.d.ts +44 -0
- package/lib/proxy/cost-parameters/index.d.ts +3 -0
- package/lib/proxy/currencies/currency.enum.d.ts +6 -0
- package/lib/proxy/currencies/index.d.ts +1 -0
- package/lib/proxy/exchange-rates/dtos/index.d.ts +1 -0
- package/lib/proxy/exchange-rates/dtos/models.d.ts +17 -0
- package/lib/proxy/exchange-rates/exchange-rate-source.enum.d.ts +5 -0
- package/lib/proxy/exchange-rates/index.d.ts +3 -0
- package/lib/proxy/index.d.ts +21 -0
- package/lib/proxy/items/dtos/index.d.ts +1 -0
- package/lib/proxy/items/dtos/models.d.ts +4 -0
- package/lib/proxy/items/index.d.ts +2 -0
- package/lib/proxy/packaging-materials/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-materials/dtos/models.d.ts +14 -0
- package/lib/proxy/packaging-materials/index.d.ts +2 -0
- package/lib/proxy/packaging-prices/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-prices/dtos/models.d.ts +54 -0
- package/lib/proxy/packaging-prices/index.d.ts +2 -0
- package/lib/proxy/packaging-types/dtos/index.d.ts +1 -0
- package/lib/proxy/packaging-types/dtos/models.d.ts +13 -0
- package/lib/proxy/packaging-types/index.d.ts +2 -0
- package/lib/proxy/pallet-definitions/dtos/index.d.ts +1 -0
- package/lib/proxy/pallet-definitions/dtos/models.d.ts +19 -0
- package/lib/proxy/pallet-definitions/index.d.ts +2 -0
- package/lib/proxy/price-parameter-types/dtos/index.d.ts +1 -0
- package/lib/proxy/price-parameter-types/dtos/models.d.ts +19 -0
- package/lib/proxy/price-parameter-types/index.d.ts +2 -0
- package/lib/proxy/sales-persons/dtos/index.d.ts +1 -0
- package/lib/proxy/sales-persons/dtos/models.d.ts +10 -0
- package/lib/proxy/sales-persons/index.d.ts +2 -0
- package/lib/proxy/settings/index.d.ts +1 -0
- package/lib/proxy/settings/models.d.ts +3 -0
- package/lib/utils/currency.utils.d.ts +6 -0
- package/lib/utils/date.utils.d.ts +9 -0
- package/lib/utils/number.utils.d.ts +1 -0
- package/package.json +41 -0
- package/public-api.d.ts +3 -0
- package/src/lib/proxy/README.md +17 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CostGroupRole } from '@proxy/cost-groups/cost-group-role.enum';
|
|
2
|
+
export const costGroupRoleLabels = {
|
|
3
|
+
[CostGroupRole.None]: 'Keops::CostGroups:GroupRole:None',
|
|
4
|
+
[CostGroupRole.Production]: 'Keops::CostGroups:GroupRole:Production',
|
|
5
|
+
[CostGroupRole.Operating]: 'Keops::CostGroups:GroupRole:Operating',
|
|
6
|
+
[CostGroupRole.Profit]: 'Keops::CostGroups:GroupRole:Profit',
|
|
7
|
+
};
|
|
8
|
+
export const costGroupRoleTotalLabels = {
|
|
9
|
+
[CostGroupRole.None]: 'Keops::CostCalculations:OtherTotal',
|
|
10
|
+
[CostGroupRole.Production]: 'Keops::CostCalculations:ProductionTotal',
|
|
11
|
+
[CostGroupRole.Operating]: 'Keops::CostCalculations:OperatingTotal',
|
|
12
|
+
[CostGroupRole.Profit]: 'Keops::CostCalculations:ProfitTotal',
|
|
13
|
+
};
|
|
14
|
+
export const costGroupRoleOptions = [
|
|
15
|
+
CostGroupRole.None,
|
|
16
|
+
CostGroupRole.Production,
|
|
17
|
+
CostGroupRole.Operating,
|
|
18
|
+
CostGroupRole.Profit,
|
|
19
|
+
].map(value => ({ value, label: costGroupRoleLabels[value] }));
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1ncm91cC1yb2xlLWwxMG4taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWdyb3Vwcy9jb3N0LWdyb3VwLXJvbGUtbDEwbi1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFrQztJQUNoRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxrQ0FBa0M7SUFDeEQsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsd0NBQXdDO0lBQ3BFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLHVDQUF1QztJQUNsRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxvQ0FBb0M7Q0FDN0QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFrQztJQUNyRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxvQ0FBb0M7SUFDMUQsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUseUNBQXlDO0lBQ3JFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxFQUFFLHdDQUF3QztJQUNuRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxxQ0FBcUM7Q0FDOUQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLGFBQWEsQ0FBQyxJQUFJO0lBQ2xCLGFBQWEsQ0FBQyxVQUFVO0lBQ3hCLGFBQWEsQ0FBQyxTQUFTO0lBQ3ZCLGFBQWEsQ0FBQyxNQUFNO0NBQ3JCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb3N0R3JvdXBSb2xlIH0gZnJvbSAnQHByb3h5L2Nvc3QtZ3JvdXBzL2Nvc3QtZ3JvdXAtcm9sZS5lbnVtJztcclxuXHJcbmV4cG9ydCBjb25zdCBjb3N0R3JvdXBSb2xlTGFiZWxzOiBSZWNvcmQ8Q29zdEdyb3VwUm9sZSwgc3RyaW5nPiA9IHtcclxuICBbQ29zdEdyb3VwUm9sZS5Ob25lXTogJ0tlb3BzOjpDb3N0R3JvdXBzOkdyb3VwUm9sZTpOb25lJyxcclxuICBbQ29zdEdyb3VwUm9sZS5Qcm9kdWN0aW9uXTogJ0tlb3BzOjpDb3N0R3JvdXBzOkdyb3VwUm9sZTpQcm9kdWN0aW9uJyxcclxuICBbQ29zdEdyb3VwUm9sZS5PcGVyYXRpbmddOiAnS2VvcHM6OkNvc3RHcm91cHM6R3JvdXBSb2xlOk9wZXJhdGluZycsXHJcbiAgW0Nvc3RHcm91cFJvbGUuUHJvZml0XTogJ0tlb3BzOjpDb3N0R3JvdXBzOkdyb3VwUm9sZTpQcm9maXQnLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvc3RHcm91cFJvbGVUb3RhbExhYmVsczogUmVjb3JkPENvc3RHcm91cFJvbGUsIHN0cmluZz4gPSB7XHJcbiAgW0Nvc3RHcm91cFJvbGUuTm9uZV06ICdLZW9wczo6Q29zdENhbGN1bGF0aW9uczpPdGhlclRvdGFsJyxcclxuICBbQ29zdEdyb3VwUm9sZS5Qcm9kdWN0aW9uXTogJ0tlb3BzOjpDb3N0Q2FsY3VsYXRpb25zOlByb2R1Y3Rpb25Ub3RhbCcsXHJcbiAgW0Nvc3RHcm91cFJvbGUuT3BlcmF0aW5nXTogJ0tlb3BzOjpDb3N0Q2FsY3VsYXRpb25zOk9wZXJhdGluZ1RvdGFsJyxcclxuICBbQ29zdEdyb3VwUm9sZS5Qcm9maXRdOiAnS2VvcHM6OkNvc3RDYWxjdWxhdGlvbnM6UHJvZml0VG90YWwnLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IGNvc3RHcm91cFJvbGVPcHRpb25zID0gW1xyXG4gIENvc3RHcm91cFJvbGUuTm9uZSxcclxuICBDb3N0R3JvdXBSb2xlLlByb2R1Y3Rpb24sXHJcbiAgQ29zdEdyb3VwUm9sZS5PcGVyYXRpbmcsXHJcbiAgQ29zdEdyb3VwUm9sZS5Qcm9maXQsXHJcbl0ubWFwKHZhbHVlID0+ICh7IHZhbHVlLCBsYWJlbDogY29zdEdyb3VwUm9sZUxhYmVsc1t2YWx1ZV0gfSkpO1xyXG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
import { AuthGuard, PermissionGuard } from '@abp/ng.core';
|
|
4
|
+
import { CostGroupsComponent } from './components/cost-groups.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
const routes = [
|
|
8
|
+
{
|
|
9
|
+
path: '',
|
|
10
|
+
component: CostGroupsComponent,
|
|
11
|
+
canActivate: [AuthGuard, PermissionGuard],
|
|
12
|
+
data: {
|
|
13
|
+
requiredPolicy: 'KeopsCost.CostGroups',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
export class HitCostGroupsRoutingModule {
|
|
18
|
+
}
|
|
19
|
+
HitCostGroupsRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
HitCostGroupsRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
21
|
+
HitCostGroupsRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsRoutingModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [RouterModule.forChild(routes)],
|
|
26
|
+
exports: [RouterModule],
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtZ3JvdXBzLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWdyb3Vwcy9oaXQtY29zdC1ncm91cHMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUV6RSxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLG1CQUFtQjtRQUM5QixXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSxzQkFBc0I7U0FDdkM7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8sMEJBQTBCOzt1SEFBMUIsMEJBQTBCO3dIQUExQiwwQkFBMEIsd0NBRjNCLFlBQVk7d0hBRVgsMEJBQTBCLFlBSDNCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgsMEJBQTBCO2tCQUp0QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aEd1YXJkLCBQZXJtaXNzaW9uR3VhcmQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29zdEdyb3Vwc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3N0LWdyb3Vwcy5jb21wb25lbnQnO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIGNvbXBvbmVudDogQ29zdEdyb3Vwc0NvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkXSxcbiAgICBkYXRhOiB7XG4gICAgICByZXF1aXJlZFBvbGljeTogJ0tlb3BzQ29zdC5Db3N0R3JvdXBzJyxcbiAgICB9LFxuICB9LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpXSxcbiAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEhpdENvc3RHcm91cHNSb3V0aW5nTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { CoreModule } from '@abp/ng.core';
|
|
5
|
+
import { ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
6
|
+
import { PageModule } from '@abp/ng.components/page';
|
|
7
|
+
import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
|
|
8
|
+
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
9
|
+
import { CostGroupsComponent } from './components/cost-groups.component';
|
|
10
|
+
import { CostGroupFormComponent } from './components/cost-group-form.component';
|
|
11
|
+
import { HitCostGroupsRoutingModule } from './hit-cost-groups-routing.module';
|
|
12
|
+
import { DxDataGridModule } from 'devextreme-angular';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class HitCostGroupsModule {
|
|
15
|
+
}
|
|
16
|
+
HitCostGroupsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
HitCostGroupsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsModule, declarations: [CostGroupsComponent, CostGroupFormComponent], imports: [CommonModule,
|
|
18
|
+
FormsModule,
|
|
19
|
+
ReactiveFormsModule,
|
|
20
|
+
CoreModule,
|
|
21
|
+
ThemeSharedModule,
|
|
22
|
+
PageModule,
|
|
23
|
+
CommercialUiModule,
|
|
24
|
+
NgbDropdownModule,
|
|
25
|
+
HitCostGroupsRoutingModule,
|
|
26
|
+
DxDataGridModule] });
|
|
27
|
+
HitCostGroupsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsModule, imports: [CommonModule,
|
|
28
|
+
FormsModule,
|
|
29
|
+
ReactiveFormsModule,
|
|
30
|
+
CoreModule,
|
|
31
|
+
ThemeSharedModule,
|
|
32
|
+
PageModule,
|
|
33
|
+
CommercialUiModule,
|
|
34
|
+
NgbDropdownModule,
|
|
35
|
+
HitCostGroupsRoutingModule,
|
|
36
|
+
DxDataGridModule] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostGroupsModule, decorators: [{
|
|
38
|
+
type: NgModule,
|
|
39
|
+
args: [{
|
|
40
|
+
declarations: [CostGroupsComponent, CostGroupFormComponent],
|
|
41
|
+
imports: [
|
|
42
|
+
CommonModule,
|
|
43
|
+
FormsModule,
|
|
44
|
+
ReactiveFormsModule,
|
|
45
|
+
CoreModule,
|
|
46
|
+
ThemeSharedModule,
|
|
47
|
+
PageModule,
|
|
48
|
+
CommercialUiModule,
|
|
49
|
+
NgbDropdownModule,
|
|
50
|
+
HitCostGroupsRoutingModule,
|
|
51
|
+
DxDataGridModule,
|
|
52
|
+
],
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
55
|
+
export function loadHitCostGroupsModuleAsChild() {
|
|
56
|
+
return Promise.resolve(HitCostGroupsModule);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtZ3JvdXBzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1ncm91cHMvaGl0LWNvc3QtZ3JvdXBzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBaUJ0RCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBZGYsbUJBQW1CLEVBQUUsc0JBQXNCLGFBRXhELFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIsMEJBQTBCO1FBQzFCLGdCQUFnQjtpSEFHUCxtQkFBbUIsWUFaNUIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQiwwQkFBMEI7UUFDMUIsZ0JBQWdCOzJGQUdQLG1CQUFtQjtrQkFmL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQztvQkFDM0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjtxQkFDakI7aUJBQ0Y7O0FBR0QsTUFBTSxVQUFVLDhCQUE4QjtJQUM1QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUM5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBQYWdlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQ29tbWVyY2lhbFVpTW9kdWxlIH0gZnJvbSAnQHZvbG8vYWJwLmNvbW1lcmNpYWwubmcudWknO1xuaW1wb3J0IHsgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb3N0R3JvdXBzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvc3QtZ3JvdXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3N0R3JvdXBGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvc3QtZ3JvdXAtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGl0Q29zdEdyb3Vwc1JvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2hpdC1jb3N0LWdyb3Vwcy1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBEeERhdGFHcmlkTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ29zdEdyb3Vwc0NvbXBvbmVudCwgQ29zdEdyb3VwRm9ybUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb3JlTW9kdWxlLFxuICAgIFRoZW1lU2hhcmVkTW9kdWxlLFxuICAgIFBhZ2VNb2R1bGUsXG4gICAgQ29tbWVyY2lhbFVpTW9kdWxlLFxuICAgIE5nYkRyb3Bkb3duTW9kdWxlLFxuICAgIEhpdENvc3RHcm91cHNSb3V0aW5nTW9kdWxlLFxuICAgIER4RGF0YUdyaWRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEhpdENvc3RHcm91cHNNb2R1bGUge31cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRIaXRDb3N0R3JvdXBzTW9kdWxlQXNDaGlsZCgpIHtcbiAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShIaXRDb3N0R3JvdXBzTW9kdWxlKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { finalize } from 'rxjs/operators';
|
|
4
|
+
import { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';
|
|
5
|
+
import { calculationTypeLabels } from '../cost-item-l10n-helper';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/forms";
|
|
8
|
+
import * as i2 from "@proxy/controllers";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i4 from "@abp/ng.core";
|
|
11
|
+
import * as i5 from "@abp/ng.theme.shared";
|
|
12
|
+
const calculationTypeOptions = [
|
|
13
|
+
CostItemCalculationType.Amount,
|
|
14
|
+
CostItemCalculationType.Rate,
|
|
15
|
+
CostItemCalculationType.Custom,
|
|
16
|
+
].map(value => ({ value, label: calculationTypeLabels[value] }));
|
|
17
|
+
export class CostItemFormComponent {
|
|
18
|
+
constructor(fb, service) {
|
|
19
|
+
this.fb = fb;
|
|
20
|
+
this.service = service;
|
|
21
|
+
this.visible = false;
|
|
22
|
+
this.mode = 'create';
|
|
23
|
+
this.current = null;
|
|
24
|
+
this.visibleChange = new EventEmitter();
|
|
25
|
+
this.saved = new EventEmitter();
|
|
26
|
+
this.saving = false;
|
|
27
|
+
this.calculationTypeOptions = calculationTypeOptions;
|
|
28
|
+
}
|
|
29
|
+
ngOnInit() {
|
|
30
|
+
this.buildForm();
|
|
31
|
+
}
|
|
32
|
+
ngOnChanges(changes) {
|
|
33
|
+
if (changes['current'] || changes['mode']) {
|
|
34
|
+
this.buildForm();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
buildForm() {
|
|
38
|
+
this.form = this.fb.group({
|
|
39
|
+
name: [this.current?.name ?? '', [Validators.required, Validators.maxLength(256)]],
|
|
40
|
+
calculationType: [{ value: this.current?.calculationType ?? null, disabled: !!this.current?.isSystem }, Validators.required],
|
|
41
|
+
displayOrder: [this.current?.displayOrder ?? 0, Validators.required],
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
get title() {
|
|
45
|
+
return this.mode === 'create'
|
|
46
|
+
? 'Keops::CostItems:CreateTitle'
|
|
47
|
+
: 'Keops::CostItems:EditTitle';
|
|
48
|
+
}
|
|
49
|
+
onVisibleChange(value) {
|
|
50
|
+
this.visible = value;
|
|
51
|
+
this.visibleChange.emit(value);
|
|
52
|
+
}
|
|
53
|
+
save() {
|
|
54
|
+
if (this.form.invalid) {
|
|
55
|
+
this.form.markAllAsTouched();
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const value = this.form.value;
|
|
59
|
+
this.saving = true;
|
|
60
|
+
const request$ = this.mode === 'create'
|
|
61
|
+
? this.service.create(value)
|
|
62
|
+
: this.service.update(this.current.code, value);
|
|
63
|
+
request$.pipe(finalize(() => (this.saving = false))).subscribe({
|
|
64
|
+
next: () => {
|
|
65
|
+
this.saved.emit();
|
|
66
|
+
this.visible = false;
|
|
67
|
+
this.visibleChange.emit(false);
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
CostItemFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostItemFormComponent, deps: [{ token: i1.FormBuilder }, { token: i2.CostItemService }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
CostItemFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostItemFormComponent, selector: "lib-cost-item-form", inputs: { visible: "visible", mode: "mode", current: "current" }, outputs: { visibleChange: "visibleChange", saved: "saved" }, usesOnChanges: true, ngImport: i0, template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::CostItems:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"calculationType\" class=\"form-label\">\r\n {{ 'Keops::CostItems:CalculationType' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"calculationType\" class=\"form-select\" formControlName=\"calculationType\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let opt of calculationTypeOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"displayOrder\" class=\"form-label\">\r\n {{ 'Keops::CostItems:DisplayOrder' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"displayOrder\"\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"displayOrder\"\r\n />\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "component", type: i5.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i5.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i5.ModalCloseDirective, selector: "[abpClose]" }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostItemFormComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'lib-cost-item-form', template: "<abp-modal\r\n [(visible)]=\"visible\"\r\n (visibleChange)=\"onVisibleChange($event)\"\r\n [busy]=\"saving\"\r\n [options]=\"{ size: 'md' }\"\r\n>\r\n <ng-template #abpHeader>\r\n <h3>{{ title | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <div class=\"mb-3\">\r\n <label for=\"name\" class=\"form-label\">\r\n {{ 'Keops::CostItems:Name' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n formControlName=\"name\"\r\n />\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"calculationType\" class=\"form-label\">\r\n {{ 'Keops::CostItems:CalculationType' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <select id=\"calculationType\" class=\"form-select\" formControlName=\"calculationType\">\r\n <option [ngValue]=\"null\" disabled hidden>{{ 'Keops::SelectAnOption' | abpLocalization }}</option>\r\n <option *ngFor=\"let opt of calculationTypeOptions\" [ngValue]=\"opt.value\">\r\n {{ opt.label | abpLocalization }}\r\n </option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"mb-3\">\r\n <label for=\"displayOrder\" class=\"form-label\">\r\n {{ 'Keops::CostItems:DisplayOrder' | abpLocalization }}\r\n <span class=\"text-danger\">*</span>\r\n </label>\r\n <input\r\n id=\"displayOrder\"\r\n type=\"number\"\r\n min=\"0\"\r\n class=\"form-control\"\r\n formControlName=\"displayOrder\"\r\n />\r\n </div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpUi::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n iconClass=\"fa fa-check\"\r\n buttonClass=\"btn btn-primary\"\r\n [loading]=\"saving\"\r\n [disabled]=\"form?.invalid\"\r\n (click)=\"save()\"\r\n >\r\n {{ 'AbpUi::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n" }]
|
|
77
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.CostItemService }]; }, propDecorators: { visible: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], mode: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], current: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], visibleChange: [{
|
|
84
|
+
type: Output
|
|
85
|
+
}], saved: [{
|
|
86
|
+
type: Output
|
|
87
|
+
}] } });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1pdGVtLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWl0ZW1zL2NvbXBvbmVudHMvY29zdC1pdGVtLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWl0ZW1zL2NvbXBvbmVudHMvY29zdC1pdGVtLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUVqRSxNQUFNLHNCQUFzQixHQUFHO0lBQzdCLHVCQUF1QixDQUFDLE1BQU07SUFDOUIsdUJBQXVCLENBQUMsSUFBSTtJQUM1Qix1QkFBdUIsQ0FBQyxNQUFNO0NBQy9CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFNakUsTUFBTSxPQUFPLHFCQUFxQjtJQWFoQyxZQUNtQixFQUFlLEVBQ2YsT0FBd0I7UUFEeEIsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBZGxDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsU0FBSSxHQUFzQixRQUFRLENBQUM7UUFDbkMsWUFBTyxHQUF1QixJQUFJLENBQUM7UUFFbEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFTiwyQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQztJQUt0RCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN6QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbEYsZUFBZSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLElBQUksSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQzVILFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxJQUFJLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3JFLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUMzQixDQUFDLENBQUMsOEJBQThCO1lBQ2hDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUM3QixPQUFPO1NBQ1I7UUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUU5QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztRQUVuQixNQUFNLFFBQVEsR0FDWixJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDcEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQVEsQ0FBQyxJQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFdEQsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0QsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQXJFVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw4TUMxQmxDLG95RUFxRUE7MkZEM0NhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxvQkFBb0I7Z0lBSXJCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb3N0SXRlbVNlcnZpY2UgfSBmcm9tICdAcHJveHkvY29udHJvbGxlcnMnO1xyXG5pbXBvcnQgeyBDb3N0SXRlbUR0byB9IGZyb20gJ0Bwcm94eS9jb3N0LWl0ZW1zL2R0b3MnO1xyXG5pbXBvcnQgeyBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZSB9IGZyb20gJ0Bwcm94eS9jb3N0LWl0ZW1zL2Nvc3QtaXRlbS1jYWxjdWxhdGlvbi10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBjYWxjdWxhdGlvblR5cGVMYWJlbHMgfSBmcm9tICcuLi9jb3N0LWl0ZW0tbDEwbi1oZWxwZXInO1xyXG5cclxuY29uc3QgY2FsY3VsYXRpb25UeXBlT3B0aW9ucyA9IFtcclxuICBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZS5BbW91bnQsXHJcbiAgQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUuUmF0ZSxcclxuICBDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZS5DdXN0b20sXHJcbl0ubWFwKHZhbHVlID0+ICh7IHZhbHVlLCBsYWJlbDogY2FsY3VsYXRpb25UeXBlTGFiZWxzW3ZhbHVlXSB9KSk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jb3N0LWl0ZW0tZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nvc3QtaXRlbS1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvc3RJdGVtRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB2aXNpYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbW9kZTogJ2NyZWF0ZScgfCAnZWRpdCcgPSAnY3JlYXRlJztcclxuICBASW5wdXQoKSBjdXJyZW50OiBDb3N0SXRlbUR0byB8IG51bGwgPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgc2F2ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGZvcm0hOiBGb3JtR3JvdXA7XHJcbiAgc2F2aW5nID0gZmFsc2U7XHJcblxyXG4gIHJlYWRvbmx5IGNhbGN1bGF0aW9uVHlwZU9wdGlvbnMgPSBjYWxjdWxhdGlvblR5cGVPcHRpb25zO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlOiBDb3N0SXRlbVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYnVpbGRGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snY3VycmVudCddIHx8IGNoYW5nZXNbJ21vZGUnXSkge1xyXG4gICAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZvcm0oKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgbmFtZTogW3RoaXMuY3VycmVudD8ubmFtZSA/PyAnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDI1NildXSxcclxuICAgICAgY2FsY3VsYXRpb25UeXBlOiBbeyB2YWx1ZTogdGhpcy5jdXJyZW50Py5jYWxjdWxhdGlvblR5cGUgPz8gbnVsbCwgZGlzYWJsZWQ6ICEhdGhpcy5jdXJyZW50Py5pc1N5c3RlbSB9LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgZGlzcGxheU9yZGVyOiBbdGhpcy5jdXJyZW50Py5kaXNwbGF5T3JkZXIgPz8gMCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldCB0aXRsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubW9kZSA9PT0gJ2NyZWF0ZSdcclxuICAgICAgPyAnS2VvcHM6OkNvc3RJdGVtczpDcmVhdGVUaXRsZSdcclxuICAgICAgOiAnS2VvcHM6OkNvc3RJdGVtczpFZGl0VGl0bGUnO1xyXG4gIH1cclxuXHJcbiAgb25WaXNpYmxlQ2hhbmdlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcclxuICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtLnZhbHVlO1xyXG5cclxuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0JCA9XHJcbiAgICAgIHRoaXMubW9kZSA9PT0gJ2NyZWF0ZSdcclxuICAgICAgICA/IHRoaXMuc2VydmljZS5jcmVhdGUodmFsdWUpXHJcbiAgICAgICAgOiB0aGlzLnNlcnZpY2UudXBkYXRlKHRoaXMuY3VycmVudCEuY29kZSEsIHZhbHVlKTtcclxuXHJcbiAgICByZXF1ZXN0JC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLnNhdmluZyA9IGZhbHNlKSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLnNhdmVkLmVtaXQoKTtcclxuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGFicC1tb2RhbFxyXG4gIFsodmlzaWJsZSldPVwidmlzaWJsZVwiXHJcbiAgKHZpc2libGVDaGFuZ2UpPVwib25WaXNpYmxlQ2hhbmdlKCRldmVudClcIlxyXG4gIFtidXN5XT1cInNhdmluZ1wiXHJcbiAgW29wdGlvbnNdPVwieyBzaXplOiAnbWQnIH1cIlxyXG4+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgdGl0bGUgfCBhYnBMb2NhbGl6YXRpb24gfX08L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1iLTNcIj5cclxuICAgICAgICA8bGFiZWwgZm9yPVwibmFtZVwiIGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxyXG4gICAgICAgICAge3sgJ0tlb3BzOjpDb3N0SXRlbXM6TmFtZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBpZD1cIm5hbWVcIlxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJjYWxjdWxhdGlvblR5cGVcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6Q29zdEl0ZW1zOkNhbGN1bGF0aW9uVHlwZScgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPHNlbGVjdCBpZD1cImNhbGN1bGF0aW9uVHlwZVwiIGNsYXNzPVwiZm9ybS1zZWxlY3RcIiBmb3JtQ29udHJvbE5hbWU9XCJjYWxjdWxhdGlvblR5cGVcIj5cclxuICAgICAgICAgIDxvcHRpb24gW25nVmFsdWVdPVwibnVsbFwiIGRpc2FibGVkIGhpZGRlbj57eyAnS2VvcHM6OlNlbGVjdEFuT3B0aW9uJyB8IGFicExvY2FsaXphdGlvbiB9fTwvb3B0aW9uPlxyXG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0IG9mIGNhbGN1bGF0aW9uVHlwZU9wdGlvbnNcIiBbbmdWYWx1ZV09XCJvcHQudmFsdWVcIj5cclxuICAgICAgICAgICAge3sgb3B0LmxhYmVsIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICA8L29wdGlvbj5cclxuICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWItM1wiPlxyXG4gICAgICAgIDxsYWJlbCBmb3I9XCJkaXNwbGF5T3JkZXJcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cclxuICAgICAgICAgIHt7ICdLZW9wczo6Q29zdEl0ZW1zOkRpc3BsYXlPcmRlcicgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1kYW5nZXJcIj4qPC9zcGFuPlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBpZD1cImRpc3BsYXlPcmRlclwiXHJcbiAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgIG1pbj1cIjBcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGlzcGxheU9yZGVyXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gYWJwQ2xvc2UgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIj5cclxuICAgICAge3sgJ0FicFVpOjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uXHJcbiAgICAgIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCJcclxuICAgICAgYnV0dG9uQ2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIlxyXG4gICAgICBbbG9hZGluZ109XCJzYXZpbmdcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZm9ybT8uaW52YWxpZFwiXHJcbiAgICAgIChjbGljayk9XCJzYXZlKClcIlxyXG4gICAgPlxyXG4gICAgICB7eyAnQWJwVWk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcbiJdfQ==
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { Confirmation } from '@abp/ng.theme.shared';
|
|
3
|
+
import { calculationTypeLabels } from '../cost-item-l10n-helper';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@proxy/controllers";
|
|
6
|
+
import * as i2 from "@abp/ng.theme.shared";
|
|
7
|
+
import * as i3 from "@angular/common";
|
|
8
|
+
import * as i4 from "@abp/ng.core";
|
|
9
|
+
import * as i5 from "@abp/ng.components/page";
|
|
10
|
+
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
11
|
+
import * as i7 from "devextreme-angular";
|
|
12
|
+
import * as i8 from "devextreme-angular/ui/nested";
|
|
13
|
+
import * as i9 from "devextreme-angular/core";
|
|
14
|
+
import * as i10 from "./cost-item-form.component";
|
|
15
|
+
export class CostItemsComponent {
|
|
16
|
+
constructor(service, toaster, confirmation) {
|
|
17
|
+
this.service = service;
|
|
18
|
+
this.toaster = toaster;
|
|
19
|
+
this.confirmation = confirmation;
|
|
20
|
+
this.items = [];
|
|
21
|
+
this.selected = null;
|
|
22
|
+
this.formVisible = false;
|
|
23
|
+
this.formMode = 'create';
|
|
24
|
+
}
|
|
25
|
+
getCalculationTypeLabel(value) {
|
|
26
|
+
return calculationTypeLabels[value] ?? '';
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.loadList();
|
|
30
|
+
}
|
|
31
|
+
loadList() {
|
|
32
|
+
this.service.getList().subscribe(data => {
|
|
33
|
+
this.items = data;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
openCreate() {
|
|
37
|
+
this.selected = null;
|
|
38
|
+
this.formMode = 'create';
|
|
39
|
+
this.formVisible = true;
|
|
40
|
+
}
|
|
41
|
+
openEdit(row) {
|
|
42
|
+
this.selected = row;
|
|
43
|
+
this.formMode = 'edit';
|
|
44
|
+
this.formVisible = true;
|
|
45
|
+
}
|
|
46
|
+
onSaved() {
|
|
47
|
+
this.formVisible = false;
|
|
48
|
+
this.selected = null;
|
|
49
|
+
this.toaster.success('AbpUi::SuccessfullySaved');
|
|
50
|
+
this.loadList();
|
|
51
|
+
}
|
|
52
|
+
remove(row) {
|
|
53
|
+
this.confirmation
|
|
54
|
+
.warn('AbpUi::ItemWillBeDeletedMessage', 'AbpUi::AreYouSure')
|
|
55
|
+
.subscribe(status => {
|
|
56
|
+
if (status === Confirmation.Status.confirm) {
|
|
57
|
+
this.service.delete(row.code).subscribe({
|
|
58
|
+
next: () => {
|
|
59
|
+
this.toaster.success('AbpUi::SuccessfullyDeleted');
|
|
60
|
+
this.loadList();
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
CostItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostItemsComponent, deps: [{ token: i1.CostItemService }, { token: i2.ToasterService }, { token: i2.ConfirmationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
CostItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: CostItemsComponent, selector: "lib-cost-items", ngImport: i0, template: "<abp-page [title]=\"'Keops::CostItems:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"CostItemsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.CostItems.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::CostItems:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"CostItemsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostItems.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <ng-container *abpPermission=\"'KeopsCost.CostItems.Delete'\">\r\n <button\r\n *ngIf=\"!row.data.isSystem\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"displayOrder\"\r\n dataType=\"number\"\r\n width=\"100\"\r\n caption=\"{{ 'Keops::CostItems:DisplayOrder' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::CostItems:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"calculationType\"\r\n cellTemplate=\"calculationTypeTpl\"\r\n alignment=\"left\"\r\n caption=\"{{ 'Keops::CostItems:CalculationType' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'calculationTypeTpl'\">\r\n <span>{{ getCalculationTypeLabel(row.data.calculationType) | abpLocalization }}</span>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"isSystem\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n cellTemplate=\"isSystemTpl\"\r\n caption=\"{{ 'Keops::CostItems:IsSystem' | abpLocalization }}\"\r\n width=\"120\"\r\n alignment=\"center\"\r\n >\r\n <div *dxTemplate=\"let row of 'isSystemTpl'\">\r\n <i [class]=\"row.data.isSystem ? 'fa fa-check text-success' : 'fa fa-times text-danger'\"></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-cost-item-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-cost-item-form>\r\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PermissionDirective, selector: "[abpPermission]", inputs: ["abpPermission", "abpPermissionRunChangeDetection"] }, { kind: "component", type: i5.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "component", type: i5.PageToolbarContainerComponent, selector: "abp-page-toolbar-container" }, { kind: "directive", type: i6.NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: i6.NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "directive", type: i6.NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: i6.NgbDropdownItem, selector: "[ngbDropdownItem]", inputs: ["disabled"] }, { kind: "component", type: i7.DxDataGridComponent, selector: "dx-data-grid", inputs: ["accessKey", "activeStateEnabled", "allowColumnReordering", "allowColumnResizing", "autoNavigateToFocusedRow", "cacheEnabled", "cellHintEnabled", "columnAutoWidth", "columnChooser", "columnFixing", "columnHidingEnabled", "columnMinWidth", "columnResizingMode", "columns", "columnWidth", "customizeColumns", "dataRowTemplate", "dataSource", "dateSerializationFormat", "disabled", "editing", "elementAttr", "errorRowEnabled", "export", "filterBuilder", "filterBuilderPopup", "filterPanel", "filterRow", "filterSyncEnabled", "filterValue", "focusedColumnIndex", "focusedRowEnabled", "focusedRowIndex", "focusedRowKey", "grouping", "groupPanel", "headerFilter", "height", "highlightChanges", "hint", "hoverStateEnabled", "keyboardNavigation", "keyExpr", "loadPanel", "masterDetail", "noDataText", "pager", "paging", "remoteOperations", "renderAsync", "repaintChangesOnly", "rowAlternationEnabled", "rowDragging", "rowTemplate", "rtlEnabled", "scrolling", "searchPanel", "selectedRowKeys", "selection", "selectionFilter", "showBorders", "showColumnHeaders", "showColumnLines", "showRowLines", "sortByGroupSummaryInfo", "sorting", "stateStoring", "summary", "syncLookupFilterValues", "tabIndex", "toolbar", "twoWayBindingEnabled", "visible", "width", "wordWrapEnabled"], outputs: ["onAdaptiveDetailRowPreparing", "onCellClick", "onCellDblClick", "onCellHoverChanged", "onCellPrepared", "onContentReady", "onContextMenuPreparing", "onDataErrorOccurred", "onDisposing", "onEditCanceled", "onEditCanceling", "onEditingStart", "onEditorPrepared", "onEditorPreparing", "onExporting", "onFocusedCellChanged", "onFocusedCellChanging", "onFocusedRowChanged", "onFocusedRowChanging", "onInitialized", "onInitNewRow", "onKeyDown", "onOptionChanged", "onRowClick", "onRowCollapsed", "onRowCollapsing", "onRowDblClick", "onRowExpanded", "onRowExpanding", "onRowInserted", "onRowInserting", "onRowPrepared", "onRowRemoved", "onRowRemoving", "onRowUpdated", "onRowUpdating", "onRowValidating", "onSaved", "onSaving", "onSelectionChanged", "onToolbarPreparing", "accessKeyChange", "activeStateEnabledChange", "allowColumnReorderingChange", "allowColumnResizingChange", "autoNavigateToFocusedRowChange", "cacheEnabledChange", "cellHintEnabledChange", "columnAutoWidthChange", "columnChooserChange", "columnFixingChange", "columnHidingEnabledChange", "columnMinWidthChange", "columnResizingModeChange", "columnsChange", "columnWidthChange", "customizeColumnsChange", "dataRowTemplateChange", "dataSourceChange", "dateSerializationFormatChange", "disabledChange", "editingChange", "elementAttrChange", "errorRowEnabledChange", "exportChange", "filterBuilderChange", "filterBuilderPopupChange", "filterPanelChange", "filterRowChange", "filterSyncEnabledChange", "filterValueChange", "focusedColumnIndexChange", "focusedRowEnabledChange", "focusedRowIndexChange", "focusedRowKeyChange", "groupingChange", "groupPanelChange", "headerFilterChange", "heightChange", "highlightChangesChange", "hintChange", "hoverStateEnabledChange", "keyboardNavigationChange", "keyExprChange", "loadPanelChange", "masterDetailChange", "noDataTextChange", "pagerChange", "pagingChange", "remoteOperationsChange", "renderAsyncChange", "repaintChangesOnlyChange", "rowAlternationEnabledChange", "rowDraggingChange", "rowTemplateChange", "rtlEnabledChange", "scrollingChange", "searchPanelChange", "selectedRowKeysChange", "selectionChange", "selectionFilterChange", "showBordersChange", "showColumnHeadersChange", "showColumnLinesChange", "showRowLinesChange", "sortByGroupSummaryInfoChange", "sortingChange", "stateStoringChange", "summaryChange", "syncLookupFilterValuesChange", "tabIndexChange", "toolbarChange", "twoWayBindingEnabledChange", "visibleChange", "widthChange", "wordWrapEnabledChange"] }, { kind: "component", type: i8.DxiColumnComponent, selector: "dxi-column", inputs: ["alignment", "allowEditing", "allowExporting", "allowFiltering", "allowFixing", "allowGrouping", "allowHeaderFiltering", "allowHiding", "allowReordering", "allowResizing", "allowSearch", "allowSorting", "autoExpandGroup", "buttons", "calculateCellValue", "calculateDisplayValue", "calculateFilterExpression", "calculateGroupValue", "calculateSortValue", "caption", "cellTemplate", "columns", "cssClass", "customizeText", "dataField", "dataType", "editCellTemplate", "editorOptions", "encodeHtml", "falseText", "filterOperations", "filterType", "filterValue", "filterValues", "fixed", "fixedPosition", "format", "formItem", "groupCellTemplate", "groupIndex", "headerCellTemplate", "headerFilter", "hidingPriority", "isBand", "lookup", "minWidth", "name", "ownerBand", "renderAsync", "selectedFilterOperation", "setCellValue", "showEditorAlways", "showInColumnChooser", "showWhenGrouped", "sortIndex", "sortingMethod", "sortOrder", "trueText", "type", "validationRules", "visible", "visibleIndex", "width"], outputs: ["filterValueChange", "filterValuesChange", "groupIndexChange", "selectedFilterOperationChange", "sortIndexChange", "sortOrderChange", "visibleChange", "visibleIndexChange"] }, { kind: "component", type: i8.DxoHeaderFilterComponent, selector: "dxo-header-filter", inputs: ["allowSearch", "dataSource", "groupInterval", "height", "searchMode", "width", "searchTimeout", "texts", "visible", "showRelevantValues"] }, { kind: "component", type: i8.DxoFilterRowComponent, selector: "dxo-filter-row", inputs: ["applyFilter", "applyFilterText", "betweenEndText", "betweenStartText", "operationDescriptions", "resetOperationText", "showAllText", "showOperationChooser", "visible"] }, { kind: "component", type: i8.DxoPagerComponent, selector: "dxo-pager", inputs: ["allowedPageSizes", "displayMode", "infoText", "label", "showInfo", "showNavigationButtons", "showPageSizeSelector", "visible"] }, { kind: "component", type: i8.DxoPagingComponent, selector: "dxo-paging", inputs: ["enabled", "pageIndex", "pageSize"], outputs: ["pageIndexChange", "pageSizeChange"] }, { kind: "component", type: i8.DxoSearchPanelComponent, selector: "dxo-search-panel", inputs: ["highlightCaseSensitive", "highlightSearchText", "placeholder", "searchVisibleColumnsOnly", "text", "visible", "width"], outputs: ["textChange"] }, { kind: "directive", type: i9.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { kind: "component", type: i10.CostItemFormComponent, selector: "lib-cost-item-form", inputs: ["visible", "mode", "current"], outputs: ["visibleChange", "saved"] }, { kind: "pipe", type: i4.LocalizationPipe, name: "abpLocalization" }] });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: CostItemsComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'lib-cost-items', template: "<abp-page [title]=\"'Keops::CostItems:Title' | abpLocalization\">\r\n <abp-page-toolbar-container class=\"col\">\r\n <div class=\"row justify-content-end mx-0\" id=\"CostItemsToolbar\">\r\n <div class=\"col-auto px-1 pt-0 pt-md-2 pe-0\">\r\n <button\r\n *abpPermission=\"'KeopsCost.CostItems.Create'\"\r\n id=\"create\"\r\n class=\"btn btn-primary\"\r\n type=\"button\"\r\n (click)=\"openCreate()\"\r\n >\r\n <i class=\"fa fa-plus me-1\"></i>\r\n <span>{{ 'Keops::CostItems:New' | abpLocalization }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </abp-page-toolbar-container>\r\n\r\n <div id=\"CostItemsWrapper\">\r\n <div class=\"card\">\r\n <div class=\"card-body\">\r\n <dx-data-grid\r\n [columnAutoWidth]=\"true\"\r\n [showBorders]=\"true\"\r\n [showRowLines]=\"true\"\r\n [hoverStateEnabled]=\"true\"\r\n [allowColumnResizing]=\"true\"\r\n [rowAlternationEnabled]=\"true\"\r\n [dataSource]=\"items\"\r\n keyExpr=\"code\"\r\n columnResizingMode=\"widget\"\r\n >\r\n <dxo-filter-row [visible]=\"true\"></dxo-filter-row>\r\n <dxo-header-filter [visible]=\"true\"></dxo-header-filter>\r\n <dxo-search-panel\r\n [width]=\"200\"\r\n [visible]=\"true\"\r\n [placeholder]=\"'AbpUi::Search' | abpLocalization\"\r\n ></dxo-search-panel>\r\n <dxo-pager\r\n [visible]=\"true\"\r\n [showInfo]=\"true\"\r\n [allowedPageSizes]=\"[10, 20, 50]\"\r\n [showPageSizeSelector]=\"true\"\r\n [showNavigationButtons]=\"true\"\r\n ></dxo-pager>\r\n <dxo-paging [pageSize]=\"10\"></dxo-paging>\r\n <dxi-column\r\n [fixed]=\"true\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n [allowReordering]=\"false\"\r\n [allowHiding]=\"false\"\r\n [allowGrouping]=\"false\"\r\n [allowSorting]=\"false\"\r\n cellTemplate=\"optTpl\"\r\n caption=\"{{ 'AbpUi::Actions' | abpLocalization }}\"\r\n width=\"120\"\r\n >\r\n <div *dxTemplate=\"let row of 'optTpl'\">\r\n <div ngbDropdown container=\"body\" class=\"d-inline-block\">\r\n <button class=\"btn btn-primary btn-sm\" ngbDropdownToggle>\r\n <i class=\"fa fa-cog me-1\"></i>\r\n {{ 'AbpUi::Actions' | abpLocalization }}\r\n </button>\r\n <div ngbDropdownMenu>\r\n <button\r\n *abpPermission=\"'KeopsCost.CostItems.Update'\"\r\n ngbDropdownItem\r\n (click)=\"openEdit(row.data)\"\r\n >\r\n {{ 'AbpUi::Edit' | abpLocalization }}\r\n </button>\r\n <ng-container *abpPermission=\"'KeopsCost.CostItems.Delete'\">\r\n <button\r\n *ngIf=\"!row.data.isSystem\"\r\n ngbDropdownItem\r\n (click)=\"remove(row.data)\"\r\n >\r\n {{ 'AbpUi::Delete' | abpLocalization }}\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"displayOrder\"\r\n dataType=\"number\"\r\n width=\"100\"\r\n caption=\"{{ 'Keops::CostItems:DisplayOrder' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"name\"\r\n caption=\"{{ 'Keops::CostItems:Name' | abpLocalization }}\"\r\n ></dxi-column>\r\n <dxi-column\r\n dataField=\"calculationType\"\r\n cellTemplate=\"calculationTypeTpl\"\r\n alignment=\"left\"\r\n caption=\"{{ 'Keops::CostItems:CalculationType' | abpLocalization }}\"\r\n >\r\n <div *dxTemplate=\"let row of 'calculationTypeTpl'\">\r\n <span>{{ getCalculationTypeLabel(row.data.calculationType) | abpLocalization }}</span>\r\n </div>\r\n </dxi-column>\r\n <dxi-column\r\n dataField=\"isSystem\"\r\n [allowFiltering]=\"false\"\r\n [allowHeaderFiltering]=\"false\"\r\n cellTemplate=\"isSystemTpl\"\r\n caption=\"{{ 'Keops::CostItems:IsSystem' | abpLocalization }}\"\r\n width=\"120\"\r\n alignment=\"center\"\r\n >\r\n <div *dxTemplate=\"let row of 'isSystemTpl'\">\r\n <i [class]=\"row.data.isSystem ? 'fa fa-check text-success' : 'fa fa-times text-danger'\"></i>\r\n </div>\r\n </dxi-column>\r\n </dx-data-grid>\r\n </div>\r\n </div>\r\n </div>\r\n</abp-page>\r\n\r\n<lib-cost-item-form\r\n *ngIf=\"formVisible\"\r\n [(visible)]=\"formVisible\"\r\n [mode]=\"formMode\"\r\n [current]=\"selected\"\r\n (saved)=\"onSaved()\"\r\n></lib-cost-item-form>\r\n" }]
|
|
72
|
+
}], ctorParameters: function () { return [{ type: i1.CostItemService }, { type: i2.ToasterService }, { type: i2.ConfirmationService }]; } });
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1pdGVtcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtaXRlbXMvY29tcG9uZW50cy9jb3N0LWl0ZW1zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2thZG9vZ2x1LWtlb3BzL3NyYy9saWIvZmVhdHVyZXMvY29zdC1pdGVtcy9jb21wb25lbnRzL2Nvc3QtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQXVCLFlBQVksRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUd6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBTWpFLE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsWUFDbUIsT0FBd0IsRUFDeEIsT0FBdUIsRUFDdkIsWUFBaUM7UUFGakMsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFDeEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBYnBELFVBQUssR0FBa0IsRUFBRSxDQUFDO1FBRTFCLGFBQVEsR0FBdUIsSUFBSSxDQUFDO1FBQ3BDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBc0IsUUFBUSxDQUFDO0lBVXBDLENBQUM7SUFSSix1QkFBdUIsQ0FBQyxLQUFVO1FBQ2hDLE9BQU8scUJBQXFCLENBQUMsS0FBMkMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsRixDQUFDO0lBUUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQWdCO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFnQjtRQUNyQixJQUFJLENBQUMsWUFBWTthQUNkLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxtQkFBbUIsQ0FBQzthQUM1RCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxNQUFNLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBQ3ZDLElBQUksRUFBRSxHQUFHLEVBQUU7d0JBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQzt3QkFDbkQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNsQixDQUFDO2lCQUNGLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0EzRFUsa0JBQWtCO21HQUFsQixrQkFBa0Isc0RDVi9CLG1wS0FvSUE7MkZEMUhhLGtCQUFrQjtrQkFKOUIsU0FBUzsrQkFDRSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSwgQ29uZmlybWF0aW9uLCBUb2FzdGVyU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7IENvc3RJdGVtU2VydmljZSB9IGZyb20gJ0Bwcm94eS9jb250cm9sbGVycyc7XG5pbXBvcnQgeyBDb3N0SXRlbUR0byB9IGZyb20gJ0Bwcm94eS9jb3N0LWl0ZW1zL2R0b3MnO1xuaW1wb3J0IHsgY2FsY3VsYXRpb25UeXBlTGFiZWxzIH0gZnJvbSAnLi4vY29zdC1pdGVtLWwxMG4taGVscGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWNvc3QtaXRlbXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29zdC1pdGVtcy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIENvc3RJdGVtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGl0ZW1zOiBDb3N0SXRlbUR0b1tdID0gW107XG5cbiAgc2VsZWN0ZWQ6IENvc3RJdGVtRHRvIHwgbnVsbCA9IG51bGw7XG4gIGZvcm1WaXNpYmxlID0gZmFsc2U7XG4gIGZvcm1Nb2RlOiAnY3JlYXRlJyB8ICdlZGl0JyA9ICdjcmVhdGUnO1xuXG4gIGdldENhbGN1bGF0aW9uVHlwZUxhYmVsKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBjYWxjdWxhdGlvblR5cGVMYWJlbHNbdmFsdWUgYXMga2V5b2YgdHlwZW9mIGNhbGN1bGF0aW9uVHlwZUxhYmVsc10gPz8gJyc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IENvc3RJdGVtU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ZXI6IFRvYXN0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkTGlzdCgpO1xuICB9XG5cbiAgbG9hZExpc3QoKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmdldExpc3QoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICB0aGlzLml0ZW1zID0gZGF0YTtcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5DcmVhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IG51bGw7XG4gICAgdGhpcy5mb3JtTW9kZSA9ICdjcmVhdGUnO1xuICAgIHRoaXMuZm9ybVZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgb3BlbkVkaXQocm93OiBDb3N0SXRlbUR0byk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSByb3c7XG4gICAgdGhpcy5mb3JtTW9kZSA9ICdlZGl0JztcbiAgICB0aGlzLmZvcm1WaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIG9uU2F2ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtVmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWQgPSBudWxsO1xuICAgIHRoaXMudG9hc3Rlci5zdWNjZXNzKCdBYnBVaTo6U3VjY2Vzc2Z1bGx5U2F2ZWQnKTtcbiAgICB0aGlzLmxvYWRMaXN0KCk7XG4gIH1cblxuICByZW1vdmUocm93OiBDb3N0SXRlbUR0byk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlybWF0aW9uXG4gICAgICAud2FybignQWJwVWk6Okl0ZW1XaWxsQmVEZWxldGVkTWVzc2FnZScsICdBYnBVaTo6QXJlWW91U3VyZScpXG4gICAgICAuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkge1xuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUocm93LmNvZGUhKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnRvYXN0ZXIuc3VjY2VzcygnQWJwVWk6OlN1Y2Nlc3NmdWxseURlbGV0ZWQnKTtcbiAgICAgICAgICAgICAgdGhpcy5sb2FkTGlzdCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ0tlb3BzOjpDb3N0SXRlbXM6VGl0bGUnIHwgYWJwTG9jYWxpemF0aW9uXCI+XHJcbiAgPGFicC1wYWdlLXRvb2xiYXItY29udGFpbmVyIGNsYXNzPVwiY29sXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGp1c3RpZnktY29udGVudC1lbmQgbXgtMFwiIGlkPVwiQ29zdEl0ZW1zVG9vbGJhclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWF1dG8gcHgtMSBwdC0wIHB0LW1kLTIgcGUtMFwiPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzQ29zdC5Db3N0SXRlbXMuQ3JlYXRlJ1wiXHJcbiAgICAgICAgICBpZD1cImNyZWF0ZVwiXHJcbiAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXHJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgIChjbGljayk9XCJvcGVuQ3JlYXRlKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtcGx1cyBtZS0xXCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4+e3sgJ0tlb3BzOjpDb3N0SXRlbXM6TmV3JyB8IGFicExvY2FsaXphdGlvbiB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2FicC1wYWdlLXRvb2xiYXItY29udGFpbmVyPlxyXG5cclxuICA8ZGl2IGlkPVwiQ29zdEl0ZW1zV3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkeC1kYXRhLWdyaWRcclxuICAgICAgICAgIFtjb2x1bW5BdXRvV2lkdGhdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc2hvd0JvcmRlcnNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbc2hvd1Jvd0xpbmVzXT1cInRydWVcIlxyXG4gICAgICAgICAgW2hvdmVyU3RhdGVFbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgW2FsbG93Q29sdW1uUmVzaXppbmddPVwidHJ1ZVwiXHJcbiAgICAgICAgICBbcm93QWx0ZXJuYXRpb25FbmFibGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiaXRlbXNcIlxyXG4gICAgICAgICAga2V5RXhwcj1cImNvZGVcIlxyXG4gICAgICAgICAgY29sdW1uUmVzaXppbmdNb2RlPVwid2lkZ2V0XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZHhvLWZpbHRlci1yb3cgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWZpbHRlci1yb3c+XHJcbiAgICAgICAgICA8ZHhvLWhlYWRlci1maWx0ZXIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHhvLWhlYWRlci1maWx0ZXI+XHJcbiAgICAgICAgICA8ZHhvLXNlYXJjaC1wYW5lbFxyXG4gICAgICAgICAgICBbd2lkdGhdPVwiMjAwXCJcclxuICAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQWJwVWk6OlNlYXJjaCcgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgPjwvZHhvLXNlYXJjaC1wYW5lbD5cclxuICAgICAgICAgIDxkeG8tcGFnZXJcclxuICAgICAgICAgICAgW3Zpc2libGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgIFtzaG93SW5mb109XCJ0cnVlXCJcclxuICAgICAgICAgICAgW2FsbG93ZWRQYWdlU2l6ZXNdPVwiWzEwLCAyMCwgNTBdXCJcclxuICAgICAgICAgICAgW3Nob3dQYWdlU2l6ZVNlbGVjdG9yXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbc2hvd05hdmlnYXRpb25CdXR0b25zXT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvZHhvLXBhZ2VyPlxyXG4gICAgICAgICAgPGR4by1wYWdpbmcgW3BhZ2VTaXplXT1cIjEwXCI+PC9keG8tcGFnaW5nPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgW2ZpeGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICBbYWxsb3dGaWx0ZXJpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYWxsb3dIZWFkZXJGaWx0ZXJpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYWxsb3dSZW9yZGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93SGlkaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93R3JvdXBpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbYWxsb3dTb3J0aW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwib3B0VHBsXCJcclxuICAgICAgICAgICAgY2FwdGlvbj1cInt7ICdBYnBVaTo6QWN0aW9ucycgfCBhYnBMb2NhbGl6YXRpb24gfX1cIlxyXG4gICAgICAgICAgICB3aWR0aD1cIjEyMFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgcm93IG9mICdvcHRUcGwnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biBjb250YWluZXI9XCJib2R5XCIgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBidG4tc21cIiBuZ2JEcm9wZG93blRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYSBmYS1jb2cgbWUtMVwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAge3sgJ0FicFVpOjpBY3Rpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IG5nYkRyb3Bkb3duTWVudT5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzQ29zdC5Db3N0SXRlbXMuVXBkYXRlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgbmdiRHJvcGRvd25JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5FZGl0KHJvdy5kYXRhKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7eyAnQWJwVWk6OkVkaXQnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICphYnBQZXJtaXNzaW9uPVwiJ0tlb3BzQ29zdC5Db3N0SXRlbXMuRGVsZXRlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXJvdy5kYXRhLmlzU3lzdGVtXCJcclxuICAgICAgICAgICAgICAgICAgICAgIG5nYkRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZShyb3cuZGF0YSlcIlxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdBYnBVaTo6RGVsZXRlJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgIGRhdGFGaWVsZD1cImRpc3BsYXlPcmRlclwiXHJcbiAgICAgICAgICAgIGRhdGFUeXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxMDBcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb3N0SXRlbXM6RGlzcGxheU9yZGVyJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwibmFtZVwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OkNvc3RJdGVtczpOYW1lJyB8IGFicExvY2FsaXphdGlvbiB9fVwiXHJcbiAgICAgICAgICA+PC9keGktY29sdW1uPlxyXG4gICAgICAgICAgPGR4aS1jb2x1bW5cclxuICAgICAgICAgICAgZGF0YUZpZWxkPVwiY2FsY3VsYXRpb25UeXBlXCJcclxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwiY2FsY3VsYXRpb25UeXBlVHBsXCJcclxuICAgICAgICAgICAgYWxpZ25tZW50PVwibGVmdFwiXHJcbiAgICAgICAgICAgIGNhcHRpb249XCJ7eyAnS2VvcHM6OkNvc3RJdGVtczpDYWxjdWxhdGlvblR5cGUnIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiAqZHhUZW1wbGF0ZT1cImxldCByb3cgb2YgJ2NhbGN1bGF0aW9uVHlwZVRwbCdcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBnZXRDYWxjdWxhdGlvblR5cGVMYWJlbChyb3cuZGF0YS5jYWxjdWxhdGlvblR5cGUpIHwgYWJwTG9jYWxpemF0aW9uIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICAgIDxkeGktY29sdW1uXHJcbiAgICAgICAgICAgIGRhdGFGaWVsZD1cImlzU3lzdGVtXCJcclxuICAgICAgICAgICAgW2FsbG93RmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2FsbG93SGVhZGVyRmlsdGVyaW5nXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgY2VsbFRlbXBsYXRlPVwiaXNTeXN0ZW1UcGxcIlxyXG4gICAgICAgICAgICBjYXB0aW9uPVwie3sgJ0tlb3BzOjpDb3N0SXRlbXM6SXNTeXN0ZW0nIHwgYWJwTG9jYWxpemF0aW9uIH19XCJcclxuICAgICAgICAgICAgd2lkdGg9XCIxMjBcIlxyXG4gICAgICAgICAgICBhbGlnbm1lbnQ9XCJjZW50ZXJcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IHJvdyBvZiAnaXNTeXN0ZW1UcGwnXCI+XHJcbiAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cInJvdy5kYXRhLmlzU3lzdGVtID8gJ2ZhIGZhLWNoZWNrIHRleHQtc3VjY2VzcycgOiAnZmEgZmEtdGltZXMgdGV4dC1kYW5nZXInXCI+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZHhpLWNvbHVtbj5cclxuICAgICAgICA8L2R4LWRhdGEtZ3JpZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9hYnAtcGFnZT5cclxuXHJcbjxsaWItY29zdC1pdGVtLWZvcm1cclxuICAqbmdJZj1cImZvcm1WaXNpYmxlXCJcclxuICBbKHZpc2libGUpXT1cImZvcm1WaXNpYmxlXCJcclxuICBbbW9kZV09XCJmb3JtTW9kZVwiXHJcbiAgW2N1cnJlbnRdPVwic2VsZWN0ZWRcIlxyXG4gIChzYXZlZCk9XCJvblNhdmVkKClcIlxyXG4+PC9saWItY29zdC1pdGVtLWZvcm0+XHJcbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CostItemCalculationType } from '@proxy/cost-items/cost-item-calculation-type.enum';
|
|
2
|
+
export const calculationTypeLabels = {
|
|
3
|
+
[CostItemCalculationType.Amount]: 'Keops::CostItems:CalculationType:Amount',
|
|
4
|
+
[CostItemCalculationType.Rate]: 'Keops::CostItems:CalculationType:Rate',
|
|
5
|
+
[CostItemCalculationType.Custom]: 'Keops::CostItems:CalculationType:Custom',
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29zdC1pdGVtLWwxMG4taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWl0ZW1zL2Nvc3QtaXRlbS1sMTBuLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUU1RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBNEM7SUFDNUUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsRUFBRSx5Q0FBeUM7SUFDM0UsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBRSx1Q0FBdUM7SUFDdkUsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsRUFBRSx5Q0FBeUM7Q0FDNUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvc3RJdGVtQ2FsY3VsYXRpb25UeXBlIH0gZnJvbSAnQHByb3h5L2Nvc3QtaXRlbXMvY29zdC1pdGVtLWNhbGN1bGF0aW9uLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGlvblR5cGVMYWJlbHM6IFJlY29yZDxDb3N0SXRlbUNhbGN1bGF0aW9uVHlwZSwgc3RyaW5nPiA9IHtcbiAgW0Nvc3RJdGVtQ2FsY3VsYXRpb25UeXBlLkFtb3VudF06ICdLZW9wczo6Q29zdEl0ZW1zOkNhbGN1bGF0aW9uVHlwZTpBbW91bnQnLFxuICBbQ29zdEl0ZW1DYWxjdWxhdGlvblR5cGUuUmF0ZV06ICdLZW9wczo6Q29zdEl0ZW1zOkNhbGN1bGF0aW9uVHlwZTpSYXRlJyxcbiAgW0Nvc3RJdGVtQ2FsY3VsYXRpb25UeXBlLkN1c3RvbV06ICdLZW9wczo6Q29zdEl0ZW1zOkNhbGN1bGF0aW9uVHlwZTpDdXN0b20nLFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { RouterModule } from '@angular/router';
|
|
3
|
+
import { AuthGuard, PermissionGuard } from '@abp/ng.core';
|
|
4
|
+
import { CostItemsComponent } from './components/cost-items.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
const routes = [
|
|
8
|
+
{
|
|
9
|
+
path: '',
|
|
10
|
+
component: CostItemsComponent,
|
|
11
|
+
canActivate: [AuthGuard, PermissionGuard],
|
|
12
|
+
data: {
|
|
13
|
+
requiredPolicy: 'KeopsCost.CostItems',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
export class HitCostItemsRoutingModule {
|
|
18
|
+
}
|
|
19
|
+
HitCostItemsRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
+
HitCostItemsRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
21
|
+
HitCostItemsRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsRoutingModule, decorators: [{
|
|
23
|
+
type: NgModule,
|
|
24
|
+
args: [{
|
|
25
|
+
imports: [RouterModule.forChild(routes)],
|
|
26
|
+
exports: [RouterModule],
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtaXRlbXMtcm91dGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rYWRvb2dsdS1rZW9wcy9zcmMvbGliL2ZlYXR1cmVzL2Nvc3QtaXRlbXMvaGl0LWNvc3QtaXRlbXMtcm91dGluZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7OztBQUV2RSxNQUFNLE1BQU0sR0FBVztJQUNyQjtRQUNFLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGtCQUFrQjtRQUM3QixXQUFXLEVBQUUsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDO1FBQ3pDLElBQUksRUFBRTtZQUNKLGNBQWMsRUFBRSxxQkFBcUI7U0FDdEM7S0FDRjtDQUNGLENBQUM7QUFNRixNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsd0NBRjFCLFlBQVk7dUhBRVgseUJBQXlCLFlBSDFCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7MkZBRVgseUJBQXlCO2tCQUpyQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3hDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXV0aEd1YXJkLCBQZXJtaXNzaW9uR3VhcmQgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgQ29zdEl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvc3QtaXRlbXMuY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IENvc3RJdGVtc0NvbXBvbmVudCxcbiAgICBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZCwgUGVybWlzc2lvbkd1YXJkXSxcbiAgICBkYXRhOiB7XG4gICAgICByZXF1aXJlZFBvbGljeTogJ0tlb3BzQ29zdC5Db3N0SXRlbXMnLFxuICAgIH0sXG4gIH0sXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxuICBleHBvcnRzOiBbUm91dGVyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSGl0Q29zdEl0ZW1zUm91dGluZ01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { CoreModule } from '@abp/ng.core';
|
|
5
|
+
import { ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
6
|
+
import { PageModule } from '@abp/ng.components/page';
|
|
7
|
+
import { CommercialUiModule } from '@volo/abp.commercial.ng.ui';
|
|
8
|
+
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
|
|
9
|
+
import { CostItemsComponent } from './components/cost-items.component';
|
|
10
|
+
import { CostItemFormComponent } from './components/cost-item-form.component';
|
|
11
|
+
import { HitCostItemsRoutingModule } from './hit-cost-items-routing.module';
|
|
12
|
+
import { DxDataGridModule } from 'devextreme-angular';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
export class HitCostItemsModule {
|
|
15
|
+
}
|
|
16
|
+
HitCostItemsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
17
|
+
HitCostItemsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsModule, declarations: [CostItemsComponent, CostItemFormComponent], imports: [CommonModule,
|
|
18
|
+
FormsModule,
|
|
19
|
+
ReactiveFormsModule,
|
|
20
|
+
CoreModule,
|
|
21
|
+
ThemeSharedModule,
|
|
22
|
+
PageModule,
|
|
23
|
+
CommercialUiModule,
|
|
24
|
+
NgbDropdownModule,
|
|
25
|
+
HitCostItemsRoutingModule,
|
|
26
|
+
DxDataGridModule] });
|
|
27
|
+
HitCostItemsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsModule, imports: [CommonModule,
|
|
28
|
+
FormsModule,
|
|
29
|
+
ReactiveFormsModule,
|
|
30
|
+
CoreModule,
|
|
31
|
+
ThemeSharedModule,
|
|
32
|
+
PageModule,
|
|
33
|
+
CommercialUiModule,
|
|
34
|
+
NgbDropdownModule,
|
|
35
|
+
HitCostItemsRoutingModule,
|
|
36
|
+
DxDataGridModule] });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: HitCostItemsModule, decorators: [{
|
|
38
|
+
type: NgModule,
|
|
39
|
+
args: [{
|
|
40
|
+
declarations: [CostItemsComponent, CostItemFormComponent],
|
|
41
|
+
imports: [
|
|
42
|
+
CommonModule,
|
|
43
|
+
FormsModule,
|
|
44
|
+
ReactiveFormsModule,
|
|
45
|
+
CoreModule,
|
|
46
|
+
ThemeSharedModule,
|
|
47
|
+
PageModule,
|
|
48
|
+
CommercialUiModule,
|
|
49
|
+
NgbDropdownModule,
|
|
50
|
+
HitCostItemsRoutingModule,
|
|
51
|
+
DxDataGridModule,
|
|
52
|
+
],
|
|
53
|
+
}]
|
|
54
|
+
}] });
|
|
55
|
+
export function loadHitCostItemsModuleAsChild() {
|
|
56
|
+
return Promise.resolve(HitCostItemsModule);
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGl0LWNvc3QtaXRlbXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Fkb29nbHUta2VvcHMvc3JjL2xpYi9mZWF0dXJlcy9jb3N0LWl0ZW1zL2hpdC1jb3N0LWl0ZW1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBaUJ0RCxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBZGQsa0JBQWtCLEVBQUUscUJBQXFCLGFBRXRELFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLFVBQVU7UUFDVixpQkFBaUI7UUFDakIsVUFBVTtRQUNWLGtCQUFrQjtRQUNsQixpQkFBaUI7UUFDakIseUJBQXlCO1FBQ3pCLGdCQUFnQjtnSEFHUCxrQkFBa0IsWUFaM0IsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQix5QkFBeUI7UUFDekIsZ0JBQWdCOzJGQUdQLGtCQUFrQjtrQkFmOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQztvQkFDekQsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjtxQkFDakI7aUJBQ0Y7O0FBR0QsTUFBTSxVQUFVLDZCQUE2QjtJQUMzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvcmVNb2R1bGUgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgVGhlbWVTaGFyZWRNb2R1bGUgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XG5pbXBvcnQgeyBQYWdlTW9kdWxlIH0gZnJvbSAnQGFicC9uZy5jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgQ29tbWVyY2lhbFVpTW9kdWxlIH0gZnJvbSAnQHZvbG8vYWJwLmNvbW1lcmNpYWwubmcudWknO1xuaW1wb3J0IHsgTmdiRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb3N0SXRlbXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29zdC1pdGVtcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29zdEl0ZW1Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nvc3QtaXRlbS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaXRDb3N0SXRlbXNSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9oaXQtY29zdC1pdGVtcy1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBEeERhdGFHcmlkTW9kdWxlIH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQ29zdEl0ZW1zQ29tcG9uZW50LCBDb3N0SXRlbUZvcm1Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ29yZU1vZHVsZSxcbiAgICBUaGVtZVNoYXJlZE1vZHVsZSxcbiAgICBQYWdlTW9kdWxlLFxuICAgIENvbW1lcmNpYWxVaU1vZHVsZSxcbiAgICBOZ2JEcm9wZG93bk1vZHVsZSxcbiAgICBIaXRDb3N0SXRlbXNSb3V0aW5nTW9kdWxlLFxuICAgIER4RGF0YUdyaWRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEhpdENvc3RJdGVtc01vZHVsZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEhpdENvc3RJdGVtc01vZHVsZUFzQ2hpbGQoKSB7XG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoSGl0Q29zdEl0ZW1zTW9kdWxlKTtcbn1cbiJdfQ==
|