@colijnit/sharedcomponents 1.0.25 → 1.0.26
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 +8 -11
- package/bundles/colijnit-sharedcomponents.umd.js +3706 -0
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -0
- package/colijnit-sharedcomponents.d.ts +16 -0
- package/colijnit-sharedcomponents.metadata.json +1 -0
- package/esm2015/colijnit-sharedcomponents.js +17 -0
- package/esm2015/lib/assets/dictionary/text.properties.js +11 -0
- package/esm2015/lib/components/circular-gauge/co-circular-gauge.component.js +126 -0
- package/esm2015/lib/components/circular-gauge/co-circular-gauge.module.js +21 -0
- package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -0
- package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -0
- package/esm2015/lib/components/docsign/docsign.component.js +225 -0
- package/esm2015/lib/components/docsign/docsign.module.js +23 -0
- package/esm2015/lib/components/key-pad/key-pad.component.js +191 -0
- package/esm2015/lib/components/key-pad/key-pad.module.js +21 -0
- package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -0
- package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -0
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +55 -0
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -0
- package/esm2015/lib/components/send-method-dialog/enums/send-option.js +8 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +309 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +31 -0
- package/esm2015/lib/components/statusbar/statusbar.component.js +81 -0
- package/esm2015/lib/components/statusbar/statusbar.module.js +23 -0
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +54 -0
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +350 -0
- package/esm2015/lib/components/stock/stock-location/stock-location.component.js +62 -0
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -0
- package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +68 -0
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +130 -0
- package/esm2015/lib/components/stock/stock.component.js +140 -0
- package/esm2015/lib/components/stock/stock.module.js +48 -0
- package/esm2015/lib/enum/icon.enum.js +19 -0
- package/esm2015/lib/enum/keyboard-code.enum.js +32 -0
- package/esm2015/lib/enum/language-code.enum.js +8 -0
- package/esm2015/lib/factory/business-object-factory.js +120 -0
- package/esm2015/lib/factory/decorators/boolean.decorator.js +102 -0
- package/esm2015/lib/factory/decorators/complex-array.decorator.js +55 -0
- package/esm2015/lib/factory/decorators/complex-field.decorator.js +57 -0
- package/esm2015/lib/factory/decorators/date-field.decorator.js +36 -0
- package/esm2015/lib/factory/decorators/string-number.decorator.js +43 -0
- package/esm2015/lib/model/business-object.js +81 -0
- package/esm2015/lib/model/icon-svg.js +18 -0
- package/esm2015/lib/service/dictionary.service.js +76 -0
- package/esm2015/lib/service/icon-cache.service.js +51 -0
- package/esm2015/lib/service/options.service.js +71 -0
- package/esm2015/lib/service/shared-connector.service.js +278 -0
- package/esm2015/lib/service/shared.service.js +30 -0
- package/esm2015/lib/service/stock.service.js +95 -0
- package/esm2015/lib/utils/array-utils.js +183 -0
- package/esm2015/lib/utils/is-nill.function.js +5 -0
- package/esm2015/lib/utils/string-utils.js +64 -0
- package/esm2015/public-api.js +21 -0
- package/fesm2015/colijnit-sharedcomponents.js +3516 -0
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -0
- package/lib/assets/dictionary/text.properties.d.ts +3 -0
- package/lib/components/circular-gauge/co-circular-gauge.component.d.ts +20 -0
- package/lib/components/circular-gauge/co-circular-gauge.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/circular-gauge/style/material.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/material.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/material.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/material.scss +0 -0
- package/lib/components/docsign/component/signature/signature.component.d.ts +16 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/material.scss +0 -0
- package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/material.scss +0 -0
- package/lib/components/docsign/docsign.component.d.ts +92 -0
- package/lib/components/docsign/docsign.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/material.scss +0 -0
- package/lib/components/key-pad/key-pad.component.d.ts +36 -0
- package/lib/components/key-pad/key-pad.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/material.scss +0 -0
- package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -0
- package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/material.scss +0 -0
- package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +16 -0
- package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/material.scss +0 -0
- package/lib/components/send-method-dialog/enums/send-option.d.ts +6 -0
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +62 -0
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/material.scss +0 -0
- package/lib/components/statusbar/statusbar.component.d.ts +22 -0
- package/lib/components/statusbar/statusbar.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/material.scss +0 -0
- package/lib/components/stock/stock-information/stock-information.component.d.ts +10 -0
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +60 -0
- package/lib/components/stock/stock-location/stock-location.component.d.ts +15 -0
- package/{projects/sharedcomponents/src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts → lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts} +2 -2
- package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -0
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +36 -0
- package/lib/components/stock/stock.component.d.ts +42 -0
- package/lib/components/stock/stock.module.d.ts +2 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_layout.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_material-definition.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_theme.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/material.scss +0 -0
- package/{projects/sharedcomponents/src/lib/enum/icon.enum.ts → lib/enum/icon.enum.d.ts} +2 -3
- package/lib/enum/keyboard-code.enum.d.ts +30 -0
- package/lib/enum/language-code.enum.d.ts +6 -0
- package/lib/factory/business-object-factory.d.ts +23 -0
- package/lib/factory/decorators/boolean.decorator.d.ts +43 -0
- package/lib/factory/decorators/complex-array.decorator.d.ts +25 -0
- package/lib/factory/decorators/complex-field.decorator.d.ts +25 -0
- package/lib/factory/decorators/date-field.decorator.d.ts +17 -0
- package/lib/factory/decorators/string-number.decorator.d.ts +22 -0
- package/lib/model/business-object.d.ts +7 -0
- package/lib/model/icon-svg.d.ts +4 -0
- package/lib/service/dictionary.service.d.ts +21 -0
- package/lib/service/icon-cache.service.d.ts +18 -0
- package/lib/service/options.service.d.ts +13 -0
- package/lib/service/shared-connector.service.d.ts +43 -0
- package/lib/service/shared.service.d.ts +8 -0
- package/lib/service/stock.service.d.ts +38 -0
- package/{projects/sharedcomponents/src/lib → lib}/style/_mixin.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/style/_variables.scss +0 -0
- package/{projects/sharedcomponents/src/lib → lib}/style/sharedcomponents-globals.scss +0 -0
- package/lib/utils/array-utils.d.ts +57 -0
- package/lib/utils/is-nill.function.d.ts +1 -0
- package/lib/utils/string-utils.d.ts +22 -0
- package/package.json +26 -74
- package/{projects/sharedcomponents/src/public-api.ts → public-api.d.ts} +0 -5
- package/.browserslistrc +0 -16
- package/.editorconfig +0 -16
- package/.vscode/extensions.json +0 -4
- package/.vscode/launch.json +0 -20
- package/.vscode/tasks.json +0 -42
- package/Sharedcomponents.iml +0 -11
- package/angular.json +0 -133
- package/karma.conf.js +0 -44
- package/move-assets.js +0 -14
- package/projects/sharedcomponents/.browserslistrc +0 -16
- package/projects/sharedcomponents/README.md +0 -24
- package/projects/sharedcomponents/karma.conf.js +0 -44
- package/projects/sharedcomponents/ng-package.json +0 -17
- package/projects/sharedcomponents/package.json +0 -18
- package/projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts +0 -8
- package/projects/sharedcomponents/src/lib/assets/icons/angle_left_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/angle_right_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_fat_right.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_left.svg +0 -8
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_right.svg +0 -4
- package/projects/sharedcomponents/src/lib/assets/icons/bring_forward_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/check_round.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/delete_left_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/delivery_truck.svg +0 -12
- package/projects/sharedcomponents/src/lib/assets/icons/email.svg +0 -5
- package/projects/sharedcomponents/src/lib/assets/icons/pdf.svg +0 -15
- package/projects/sharedcomponents/src/lib/assets/icons/print.svg +0 -10
- package/projects/sharedcomponents/src/lib/assets/icons/signature_field.svg +0 -9
- package/projects/sharedcomponents/src/lib/assets/icons/xml.svg +0 -9
- package/projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.component.ts +0 -139
- package/projects/sharedcomponents/src/lib/components/circular-gauge/co-circular-gauge.module.ts +0 -19
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts +0 -68
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts +0 -31
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts +0 -67
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts +0 -48
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts +0 -81
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts +0 -265
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts +0 -38
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts +0 -50
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts +0 -46
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts +0 -65
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts +0 -38
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts +0 -63
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts +0 -46
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts +0 -37
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts +0 -52
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts +0 -124
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts +0 -201
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts +0 -35
- package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts +0 -133
- package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts +0 -56
- package/projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts +0 -82
- package/projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts +0 -50
- package/projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts +0 -252
- package/projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts +0 -22
- package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts +0 -205
- package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts +0 -19
- package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts +0 -98
- package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts +0 -21
- package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts +0 -56
- package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts +0 -17
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/enums/send-option.ts +0 -6
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts +0 -342
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts +0 -33
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts +0 -97
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts +0 -21
- package/projects/sharedcomponents/src/lib/components/stock/stock-in-order/stock-in-order.component.ts +0 -0
- package/projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts +0 -64
- package/projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +0 -384
- package/projects/sharedcomponents/src/lib/components/stock/stock-location/stock-location.component.ts +0 -84
- package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts +0 -73
- package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +0 -153
- package/projects/sharedcomponents/src/lib/components/stock/stock.component.ts +0 -165
- package/projects/sharedcomponents/src/lib/components/stock/stock.module.ts +0 -51
- package/projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts +0 -6
- package/projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts +0 -30
- package/projects/sharedcomponents/src/lib/enum/language-code.enum.ts +0 -6
- package/projects/sharedcomponents/src/lib/enum/month.enum.ts +0 -15
- package/projects/sharedcomponents/src/lib/enum/time-period.enum.ts +0 -9
- package/projects/sharedcomponents/src/lib/factory/business-object-factory.ts +0 -120
- package/projects/sharedcomponents/src/lib/factory/decorators/boolean.decorator.ts +0 -113
- package/projects/sharedcomponents/src/lib/factory/decorators/complex-array.decorator.ts +0 -61
- package/projects/sharedcomponents/src/lib/factory/decorators/complex-field.decorator.ts +0 -63
- package/projects/sharedcomponents/src/lib/factory/decorators/date-field.decorator.ts +0 -41
- package/projects/sharedcomponents/src/lib/factory/decorators/string-number.decorator.ts +0 -48
- package/projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts +0 -6
- package/projects/sharedcomponents/src/lib/model/agenda-event.model.ts +0 -17
- package/projects/sharedcomponents/src/lib/model/agenda-null-objects.ts +0 -11
- package/projects/sharedcomponents/src/lib/model/business-object.ts +0 -85
- package/projects/sharedcomponents/src/lib/model/constant/all-months.ts +0 -17
- package/projects/sharedcomponents/src/lib/model/date-range.ts +0 -10
- package/projects/sharedcomponents/src/lib/model/day.model.ts +0 -9
- package/projects/sharedcomponents/src/lib/model/icon-svg.ts +0 -18
- package/projects/sharedcomponents/src/lib/model/month.model.ts +0 -11
- package/projects/sharedcomponents/src/lib/model/time-window.bo.ts +0 -21
- package/projects/sharedcomponents/src/lib/model/week.model.ts +0 -5
- package/projects/sharedcomponents/src/lib/model/weekday.model.ts +0 -17
- package/projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts +0 -14
- package/projects/sharedcomponents/src/lib/pipe/master-pipes.ts +0 -7
- package/projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts +0 -14
- package/projects/sharedcomponents/src/lib/service/dictionary.service.ts +0 -86
- package/projects/sharedcomponents/src/lib/service/icon-cache.service.ts +0 -51
- package/projects/sharedcomponents/src/lib/service/options.service.ts +0 -66
- package/projects/sharedcomponents/src/lib/service/shared-connector.service.ts +0 -258
- package/projects/sharedcomponents/src/lib/service/shared-initializer.service.ts +0 -29
- package/projects/sharedcomponents/src/lib/service/shared.service.ts +0 -21
- package/projects/sharedcomponents/src/lib/service/stock.service.ts +0 -95
- package/projects/sharedcomponents/src/lib/utils/array-utils.ts +0 -202
- package/projects/sharedcomponents/src/lib/utils/calendar.utils.ts +0 -75
- package/projects/sharedcomponents/src/lib/utils/date-utils.ts +0 -302
- package/projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts +0 -4
- package/projects/sharedcomponents/src/lib/utils/is-nill.function.ts +0 -4
- package/projects/sharedcomponents/src/lib/utils/string-utils.ts +0 -67
- package/projects/sharedcomponents/src/test.ts +0 -27
- package/projects/sharedcomponents/tsconfig.lib.json +0 -18
- package/projects/sharedcomponents/tsconfig.lib.prod.json +0 -10
- package/projects/sharedcomponents/tsconfig.spec.json +0 -17
- package/script/merge-icons.js +0 -39
- package/src/app/app.component.scss +0 -9
- package/src/app/app.component.spec.ts +0 -31
- package/src/app/app.component.ts +0 -156
- package/src/app/app.module.ts +0 -60
- package/src/assets/.gitkeep +0 -0
- package/src/environments/environment.prod.ts +0 -3
- package/src/environments/environment.ts +0 -16
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -13
- package/src/main.ts +0 -12
- package/src/polyfills.ts +0 -53
- package/src/styles.scss +0 -40
- package/src/test.ts +0 -26
- package/tsconfig.app.json +0 -15
- package/tsconfig.json +0 -65
- package/tsconfig.spec.json +0 -18
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { animate, state, style, transition, trigger } from "@angular/animations";
|
|
2
|
+
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
export class StatusbarComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.statusbarClick = new EventEmitter();
|
|
6
|
+
this.showPopup = false;
|
|
7
|
+
this.popupClass = 'dropdown';
|
|
8
|
+
}
|
|
9
|
+
set statusbarData(value) {
|
|
10
|
+
this._statusbarData = value;
|
|
11
|
+
}
|
|
12
|
+
get statusbarData() {
|
|
13
|
+
return this._statusbarData;
|
|
14
|
+
}
|
|
15
|
+
showClass() {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
onHover(event) {
|
|
19
|
+
this.showPopup = true;
|
|
20
|
+
this._mouseY = event.screenY;
|
|
21
|
+
this._windowHeight = window.innerHeight;
|
|
22
|
+
this.setPopupClass();
|
|
23
|
+
}
|
|
24
|
+
onLeave() {
|
|
25
|
+
this.showPopup = false;
|
|
26
|
+
}
|
|
27
|
+
onStatusbarClick() {
|
|
28
|
+
this.statusbarClick.emit();
|
|
29
|
+
}
|
|
30
|
+
setPopupClass() {
|
|
31
|
+
const popupHeight = this.statusbarData.length * 30;
|
|
32
|
+
let dropdownInScreen = (this._mouseY + popupHeight) <= this._windowHeight;
|
|
33
|
+
if (dropdownInScreen) {
|
|
34
|
+
this.popupClass = 'dropdown';
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.popupClass = 'dropup';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
StatusbarComponent.decorators = [
|
|
42
|
+
{ type: Component, args: [{
|
|
43
|
+
selector: "co-statusbar",
|
|
44
|
+
template: `
|
|
45
|
+
<div class="co-statusbar-wrapper"
|
|
46
|
+
*ngIf="statusbarData"
|
|
47
|
+
(mouseover)="onHover($event)"
|
|
48
|
+
(mouseleave)="onLeave()"
|
|
49
|
+
(click)="onStatusbarClick()">
|
|
50
|
+
<div class="statuses">
|
|
51
|
+
<div *ngFor="let data of statusbarData; let index = index" class="status">
|
|
52
|
+
<co-linear-gauge [value]="data.percentage" [count]="!!data.count ? data.count : undefined"></co-linear-gauge>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
<div class=status-description-popup *ngIf="showPopup" @showHidePopup [ngClass]="popupClass">
|
|
56
|
+
<div class="status-descriptions">
|
|
57
|
+
<div *ngFor="let data of statusbarData; let index = index" class="status-description">
|
|
58
|
+
<co-circular-gauge [value]="data.percentage"></co-circular-gauge>
|
|
59
|
+
<span [textContent]="data.label"></span>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
`,
|
|
65
|
+
animations: [
|
|
66
|
+
trigger("showHidePopup", [
|
|
67
|
+
state("void", style({ opacity: 0 })),
|
|
68
|
+
state("*", style({ opacity: 1 })),
|
|
69
|
+
transition("void <=> *", animate("250ms ease-in-out")),
|
|
70
|
+
])
|
|
71
|
+
],
|
|
72
|
+
encapsulation: ViewEncapsulation.None
|
|
73
|
+
},] }
|
|
74
|
+
];
|
|
75
|
+
StatusbarComponent.ctorParameters = () => [];
|
|
76
|
+
StatusbarComponent.propDecorators = {
|
|
77
|
+
statusbarData: [{ type: Input }],
|
|
78
|
+
statusbarClick: [{ type: Output }],
|
|
79
|
+
showClass: [{ type: HostBinding, args: ["class.co-statusbar",] }]
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1c2Jhci9zdGF0dXNiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUF3Q3ZHLE1BQU0sT0FBTyxrQkFBa0I7SUFtQjdCO1FBUEEsbUJBQWMsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQVV2RCxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGVBQVUsR0FBVyxVQUFVLENBQUM7SUFIdkMsQ0FBQztJQWxCRCxJQUNXLGFBQWEsQ0FBQyxLQUFzQjtRQUM3QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBTU0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVdNLE9BQU8sQ0FBQyxLQUFLO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBRXRCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNuRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRTFFLElBQUksZ0JBQWdCLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7U0FDOUI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFBO1NBQzNCO0lBQ0gsQ0FBQzs7O1lBckZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CVDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGVBQWUsRUFBRTt3QkFDdkIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDL0IsVUFBVSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDdkQsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7Ozs0QkFHRSxLQUFLOzZCQVNMLE1BQU07d0JBR04sV0FBVyxTQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNiYXJEYXRhIHtcclxuICBsYWJlbDogc3RyaW5nLFxyXG4gIHBlcmNlbnRhZ2U6IG51bWJlcixcclxuICBjb3VudD86IG51bWJlcixcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RhdHVzYmFyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjby1zdGF0dXNiYXItd3JhcHBlclwiXHJcbiAgICAgICAgICpuZ0lmPVwic3RhdHVzYmFyRGF0YVwiXHJcbiAgICAgICAgIChtb3VzZW92ZXIpPVwib25Ib3ZlcigkZXZlbnQpXCJcclxuICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25MZWF2ZSgpXCJcclxuICAgICAgICAgKGNsaWNrKT1cIm9uU3RhdHVzYmFyQ2xpY2soKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzZXNcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkYXRhIG9mIHN0YXR1c2JhckRhdGE7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJzdGF0dXNcIj5cclxuICAgICAgICAgIDxjby1saW5lYXItZ2F1Z2UgW3ZhbHVlXT1cImRhdGEucGVyY2VudGFnZVwiIFtjb3VudF09XCIhIWRhdGEuY291bnQgPyBkYXRhLmNvdW50IDogdW5kZWZpbmVkXCI+PC9jby1saW5lYXItZ2F1Z2U+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPXN0YXR1cy1kZXNjcmlwdGlvbi1wb3B1cCAqbmdJZj1cInNob3dQb3B1cFwiIEBzaG93SGlkZVBvcHVwIFtuZ0NsYXNzXT1cInBvcHVwQ2xhc3NcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWRlc2NyaXB0aW9uc1wiPlxyXG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGF0YSBvZiBzdGF0dXNiYXJEYXRhOyBsZXQgaW5kZXggPSBpbmRleFwiIGNsYXNzPVwic3RhdHVzLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgIDxjby1jaXJjdWxhci1nYXVnZSBbdmFsdWVdPVwiZGF0YS5wZXJjZW50YWdlXCI+PC9jby1jaXJjdWxhci1nYXVnZT5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImRhdGEubGFiZWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVBvcHVwXCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtvcGFjaXR5OiAwfSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe29wYWNpdHk6IDF9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkIDw9PiAqXCIsIGFuaW1hdGUoXCIyNTBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RhdHVzYmFyQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHN0YXR1c2JhckRhdGEodmFsdWU6IFN0YXR1c2JhckRhdGFbXSkge1xyXG4gICAgdGhpcy5fc3RhdHVzYmFyRGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzdGF0dXNiYXJEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1c2JhckRhdGE7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBzdGF0dXNiYXJDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1zdGF0dXNiYXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcG9wdXBDbGFzczogc3RyaW5nID0gJ2Ryb3Bkb3duJztcclxuICBwcml2YXRlIF9zdGF0dXNiYXJEYXRhOiBTdGF0dXNiYXJEYXRhW107XHJcbiAgcHJpdmF0ZSBfbW91c2VZOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfd2luZG93SGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIHB1YmxpYyBvbkhvdmVyKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQb3B1cCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5fbW91c2VZID0gZXZlbnQuc2NyZWVuWTtcclxuICAgIHRoaXMuX3dpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgIHRoaXMuc2V0UG9wdXBDbGFzcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTGVhdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dQb3B1cCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU3RhdHVzYmFyQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnN0YXR1c2JhckNsaWNrLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRQb3B1cENsYXNzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcG9wdXBIZWlnaHQgPSB0aGlzLnN0YXR1c2JhckRhdGEubGVuZ3RoICogMzA7XHJcbiAgICBsZXQgZHJvcGRvd25JblNjcmVlbiA9ICh0aGlzLl9tb3VzZVkgKyBwb3B1cEhlaWdodCkgPD0gdGhpcy5fd2luZG93SGVpZ2h0O1xyXG5cclxuICAgIGlmIChkcm9wZG93bkluU2NyZWVuKSB7XHJcbiAgICAgIHRoaXMucG9wdXBDbGFzcyA9ICdkcm9wZG93bic7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBvcHVwQ2xhc3MgPSAnZHJvcHVwJ1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { CommonModule } from "@angular/common";
|
|
3
|
+
import { CoCircularGaugeModule } from "../circular-gauge/co-circular-gauge.module";
|
|
4
|
+
import { CoLinearGaugeModule } from "../linear-gauge/co-linear-gauge.module";
|
|
5
|
+
import { StatusbarComponent } from "./statusbar.component";
|
|
6
|
+
export class StatusbarModule {
|
|
7
|
+
}
|
|
8
|
+
StatusbarModule.decorators = [
|
|
9
|
+
{ type: NgModule, args: [{
|
|
10
|
+
imports: [
|
|
11
|
+
CommonModule,
|
|
12
|
+
CoCircularGaugeModule,
|
|
13
|
+
CoLinearGaugeModule
|
|
14
|
+
],
|
|
15
|
+
declarations: [
|
|
16
|
+
StatusbarComponent
|
|
17
|
+
],
|
|
18
|
+
exports: [
|
|
19
|
+
StatusbarComponent
|
|
20
|
+
]
|
|
21
|
+
},] }
|
|
22
|
+
];
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0YXR1c2Jhci9zdGF0dXNiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBZTNELE1BQU0sT0FBTyxlQUFlOzs7WUFiM0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHFCQUFxQjtvQkFDckIsbUJBQW1CO2lCQUNwQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asa0JBQWtCO2lCQUNuQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IENvQ2lyY3VsYXJHYXVnZU1vZHVsZSB9IGZyb20gXCIuLi9jaXJjdWxhci1nYXVnZS9jby1jaXJjdWxhci1nYXVnZS5tb2R1bGVcIjtcclxuaW1wb3J0IHsgQ29MaW5lYXJHYXVnZU1vZHVsZSB9IGZyb20gXCIuLi9saW5lYXItZ2F1Z2UvY28tbGluZWFyLWdhdWdlLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBTdGF0dXNiYXJDb21wb25lbnQgfSBmcm9tIFwiLi9zdGF0dXNiYXIuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIENvQ2lyY3VsYXJHYXVnZU1vZHVsZSxcclxuICAgIENvTGluZWFyR2F1Z2VNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU3RhdHVzYmFyQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTdGF0dXNiYXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGF0dXNiYXJNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Component, Input, ViewEncapsulation } from "@angular/core";
|
|
2
|
+
export class StockInformationComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
StockInformationComponent.decorators = [
|
|
7
|
+
{ type: Component, args: [{
|
|
8
|
+
selector: "co-stock-information",
|
|
9
|
+
template: `
|
|
10
|
+
<div class="stock-info" *ngIf="article">
|
|
11
|
+
<div class="stock-info-row" >
|
|
12
|
+
<div class="stock-info-row-image">
|
|
13
|
+
<div class="stock-image">
|
|
14
|
+
<co-image class="stock-image" [source]="article.imageData"></co-image>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
<div class="stock-good-info">
|
|
18
|
+
<div>
|
|
19
|
+
<span [textContent]="article.description"></span>
|
|
20
|
+
</div>
|
|
21
|
+
<div>
|
|
22
|
+
<span [textContent]="article.articleNumber"></span>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="stock-status">
|
|
27
|
+
<label [textContent]="'STOCK_STATUS'"></label>
|
|
28
|
+
<span [textContent]="article.stockStatus"></span>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="stock-status">
|
|
31
|
+
<label [textContent]="'AMOUNT_IN_STOCK'"></label>
|
|
32
|
+
<span [textContent]="allTechnicalStockInformation"></span>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="stock-status">
|
|
35
|
+
<label [textContent]="'AMOUNT_AVAILABLE'"></label>
|
|
36
|
+
<span [textContent]="allAvailableStockInformation"></span>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="stock-status">
|
|
39
|
+
<label [textContent]="'AMOUNT_LATER_AVAILABLE'"></label>
|
|
40
|
+
<span [textContent]=""></span>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
`,
|
|
44
|
+
encapsulation: ViewEncapsulation.None
|
|
45
|
+
},] }
|
|
46
|
+
];
|
|
47
|
+
StockInformationComponent.ctorParameters = () => [];
|
|
48
|
+
StockInformationComponent.propDecorators = {
|
|
49
|
+
article: [{ type: Input }],
|
|
50
|
+
articleStock: [{ type: Input }],
|
|
51
|
+
allAvailableStockInformation: [{ type: Input }],
|
|
52
|
+
allTechnicalStockInformation: [{ type: Input }]
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2staW5mb3JtYXRpb24vc3RvY2staW5mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBMkNsRSxNQUFNLE9BQU8seUJBQXlCO0lBZ0JwQztJQUVBLENBQUM7OztZQXpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7O3NCQUtFLEtBQUs7MkJBR0wsS0FBSzsyQ0FHTCxLQUFLOzJDQUdMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0FydGljbGVTdG9jayBhcyBBcnRpY2xlU3RvY2tCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1pbmZvcm1hdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbmZvXCIgKm5nSWY9XCJhcnRpY2xlXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93XCIgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWluZm8tcm93LWltYWdlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1pbWFnZVwiPlxyXG4gICAgICAgICAgICAgIDxjby1pbWFnZSBjbGFzcz1cInN0b2NrLWltYWdlXCIgW3NvdXJjZV09XCJhcnRpY2xlLmltYWdlRGF0YVwiPjwvY28taW1hZ2U+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stZ29vZC1pbmZvXCI+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImFydGljbGUuZGVzY3JpcHRpb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhcnRpY2xlLmFydGljbGVOdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLXN0YXR1c1wiPlxyXG4gICAgICAgICAgPGxhYmVsIFt0ZXh0Q29udGVudF09XCInU1RPQ0tfU1RBVFVTJ1wiPjwvbGFiZWw+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiYXJ0aWNsZS5zdG9ja1N0YXR1c1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stc3RhdHVzXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW3RleHRDb250ZW50XT1cIidBTU9VTlRfSU5fU1RPQ0snXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhbGxUZWNobmljYWxTdG9ja0luZm9ybWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9BVkFJTEFCTEUnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJhbGxBdmFpbGFibGVTdG9ja0luZm9ybWF0aW9uXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1zdGF0dXNcIj5cclxuICAgICAgICAgIDxsYWJlbCBbdGV4dENvbnRlbnRdPVwiJ0FNT1VOVF9MQVRFUl9BVkFJTEFCTEUnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCJcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tJbmZvcm1hdGlvbkNvbXBvbmVudCB7XHJcblxyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFydGljbGVTdG9jazogQXJ0aWNsZVN0b2NrQm87XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsbEF2YWlsYWJsZVN0b2NrSW5mb3JtYXRpb246IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWxsVGVjaG5pY2FsU3RvY2tJbmZvcm1hdGlvbjogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js
ADDED
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Component, Output, ViewChild, ViewEncapsulation, EventEmitter, Input } from "@angular/core";
|
|
3
|
+
import { StockService } from "../../../service/stock.service";
|
|
4
|
+
import { IconCacheService } from "../../../service/icon-cache.service";
|
|
5
|
+
import { Icon } from "../../../enum/icon.enum";
|
|
6
|
+
import { ArticleStock } from "@colijnit/articleapi/build/model/article-stock";
|
|
7
|
+
import { ArticleStockManagement } from "@colijnit/articleapi/build/model/article-stock-management";
|
|
8
|
+
import { ArticleTransaction } from "@colijnit/articleapi/build/model/article-transaction";
|
|
9
|
+
export class StockInformationGridComponent {
|
|
10
|
+
constructor(iconCacheService, _stockService) {
|
|
11
|
+
this.iconCacheService = iconCacheService;
|
|
12
|
+
this._stockService = _stockService;
|
|
13
|
+
this.icons = Icon;
|
|
14
|
+
this.transferIconClicked = new EventEmitter();
|
|
15
|
+
this.historyClicked = new EventEmitter();
|
|
16
|
+
this.show = false;
|
|
17
|
+
this.hideOrShowLocationTab = false;
|
|
18
|
+
this.showStockHistory = false;
|
|
19
|
+
this.showSendMethodDialog = false;
|
|
20
|
+
this.hideOrShowTabs = true;
|
|
21
|
+
this.dataWareHouseFields = { text: "warehouseDescription", value: "warehouseNo" };
|
|
22
|
+
this.articleStockSearchInfo = new ArticleStock();
|
|
23
|
+
this.showChangeStockDetails = false;
|
|
24
|
+
this.articleDetailsInformation = new ArticleStockManagement();
|
|
25
|
+
this.tabs = [
|
|
26
|
+
"STOCK",
|
|
27
|
+
"IN_ORDER2",
|
|
28
|
+
"ORDERS1"
|
|
29
|
+
];
|
|
30
|
+
this.activeTab = this.tabs[0];
|
|
31
|
+
}
|
|
32
|
+
get activeTabText() {
|
|
33
|
+
switch (this.activeTab) {
|
|
34
|
+
case this.tabs[0]:
|
|
35
|
+
return "Voorraadregels";
|
|
36
|
+
case this.tabs[1]:
|
|
37
|
+
return "Gevonden in order(s)";
|
|
38
|
+
case this.tabs[2]:
|
|
39
|
+
return "Gevonden in bestellingen";
|
|
40
|
+
default:
|
|
41
|
+
return "Voorraadlocatie regels";
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
handleTabClick(tabData) {
|
|
45
|
+
this.activeTab = tabData;
|
|
46
|
+
if (this.activeTab === "IN_ORDER2") {
|
|
47
|
+
this.getInOrderData();
|
|
48
|
+
}
|
|
49
|
+
if (this.activeTab === "ORDERS1") {
|
|
50
|
+
this.getOrderData();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
onLocationClick(data) {
|
|
54
|
+
this.articleStockSearchInfo.goodId = data.goodId.toString();
|
|
55
|
+
this.articleStockSearchInfo.wareHouseNo = data.warehouseNo.toString();
|
|
56
|
+
this.articleStockSearchInfo.viewKind = "D";
|
|
57
|
+
this.selectedWarehouse = data.warehouseNo;
|
|
58
|
+
if (!this.dataWareHouseCode) {
|
|
59
|
+
this.getStockManagementWarehouses(data);
|
|
60
|
+
}
|
|
61
|
+
this.getArticleDetails(data);
|
|
62
|
+
this.hideOrShowTabs = false;
|
|
63
|
+
this.hideOrShowLocationTab = true;
|
|
64
|
+
this._stockService.lockArticleDetails(this.articleDetailsInformation);
|
|
65
|
+
}
|
|
66
|
+
handleHistoryClick() {
|
|
67
|
+
this.historyClicked.emit();
|
|
68
|
+
this.hideOrShowLocationTab = false;
|
|
69
|
+
this.showChangeStockDetails = false;
|
|
70
|
+
this.hideOrShowTabs = false;
|
|
71
|
+
this.showStockHistory = true;
|
|
72
|
+
}
|
|
73
|
+
backToStockInformation() {
|
|
74
|
+
this.showStockHistory = false;
|
|
75
|
+
this.hideOrShowTabs = true;
|
|
76
|
+
}
|
|
77
|
+
handleStockTransferClick(event) {
|
|
78
|
+
this.transferIconClicked.emit(event);
|
|
79
|
+
}
|
|
80
|
+
handleBackToStockClick() {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
this.activeTab = this.tabs[0];
|
|
83
|
+
this.hideOrShowTabs = true;
|
|
84
|
+
this.hideOrShowLocationTab = false;
|
|
85
|
+
this.articleDetails = undefined;
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
openSendMethodDialog(data) {
|
|
89
|
+
this._stockService.printSticker.goodId = data.goodId;
|
|
90
|
+
this._stockService.printSticker.warehouse = data.warehouseNo;
|
|
91
|
+
this.showSendMethodDialog = !this.showSendMethodDialog;
|
|
92
|
+
}
|
|
93
|
+
printStockStickers() {
|
|
94
|
+
this._stockService.getPrintStockStickers(this._stockService.printSticker);
|
|
95
|
+
}
|
|
96
|
+
onOkClick() {
|
|
97
|
+
}
|
|
98
|
+
onCancelClick() {
|
|
99
|
+
}
|
|
100
|
+
openDialogClick(data) {
|
|
101
|
+
this.selectedArticleDetailsData = data;
|
|
102
|
+
this.showChangeStockDetails = true;
|
|
103
|
+
}
|
|
104
|
+
getArticleDetails(data) {
|
|
105
|
+
// const info = new ArticleStockManagement();
|
|
106
|
+
this.articleDetailsInformation.goodId = data.goodId;
|
|
107
|
+
this.articleDetailsInformation.lineId = data.lineId;
|
|
108
|
+
this.articleDetailsInformation.warehouseNumber = data.warehouseNo;
|
|
109
|
+
this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
|
|
110
|
+
this.articleDetails = details;
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
getStockManagementWarehouses(data) {
|
|
114
|
+
this._stockService.getStockManagementWarehouses().then((warehouses) => {
|
|
115
|
+
this.dataWareHouseCode = warehouses;
|
|
116
|
+
this.selectedWarehouse = data.warehouseNo;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
onSelectWarehouse(event) {
|
|
120
|
+
this.articleDetailsInformation.warehouseNumber = event;
|
|
121
|
+
if (this.selectedWarehouse || this.selectedWarehouse === 0) {
|
|
122
|
+
this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {
|
|
123
|
+
this.articleDetails = details;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
getInOrderData() {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
const inOrderData = new ArticleTransaction();
|
|
130
|
+
inOrderData.type = "V";
|
|
131
|
+
inOrderData.goodId = this.articleStockInformation[0].goodId.toString();
|
|
132
|
+
this.inOrderInformation = yield this._stockService.getArticleTransaction(inOrderData);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
getOrderData() {
|
|
136
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
137
|
+
const orderData = new ArticleTransaction();
|
|
138
|
+
orderData.type = "V";
|
|
139
|
+
orderData.goodId = this.articleStockInformation[0].goodId.toString();
|
|
140
|
+
this.orderInformation = yield this._stockService.getArticleTransaction(orderData);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
addNewRow() {
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
StockInformationGridComponent.decorators = [
|
|
147
|
+
{ type: Component, args: [{
|
|
148
|
+
selector: "co-stock-information-grid",
|
|
149
|
+
template: `
|
|
150
|
+
<div class="tab-link show" *ngIf="hideOrShowTabs">
|
|
151
|
+
<span class="tab-link-buttons"
|
|
152
|
+
*ngFor="let tab of tabs"
|
|
153
|
+
(click)="handleTabClick(tab)"
|
|
154
|
+
[textContent]="tab"
|
|
155
|
+
[class.active]="tab === activeTab"
|
|
156
|
+
></span>
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<div class="stock-line">
|
|
160
|
+
<div [textContent]="activeTabText"></div>
|
|
161
|
+
|
|
162
|
+
</div>
|
|
163
|
+
|
|
164
|
+
<div class="stock-grid">
|
|
165
|
+
<co-simple-grid *ngIf="activeTab === tabs[0] && hideOrShowTabs"
|
|
166
|
+
[data]="articleStockInformation"
|
|
167
|
+
class="simple-grid"
|
|
168
|
+
[showAdd]="true"
|
|
169
|
+
[showToolbar]="true"
|
|
170
|
+
(addRow)="addNewRow()"
|
|
171
|
+
[inlineEdit]="true"
|
|
172
|
+
[rowsPerPage]="20"
|
|
173
|
+
>
|
|
174
|
+
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'warehouseNo'" [order]="10"></co-simple-grid-column>
|
|
175
|
+
<co-simple-grid-column [headerText]="'DESCRIPTION'" [field]="'warehouseName'" [order]="11"></co-simple-grid-column>
|
|
176
|
+
<co-simple-grid-column [headerText]="'STOCK'" [field]="'technicalStock'" [order]="12"></co-simple-grid-column>
|
|
177
|
+
<co-simple-grid-column [headerText]="'AVAILABLE_STOCK'" [field]="'availableStock'" [order]="13"></co-simple-grid-column>
|
|
178
|
+
<co-simple-grid-column [headerText]="'ECONOMICAL_STOCK'" [field]="'economicalStock'" [order]="14"></co-simple-grid-column>
|
|
179
|
+
<co-simple-grid-column [headerText]="'LOCATION'" [field]="'locationNo'" [order]="15">
|
|
180
|
+
<ng-template #template let-row="row">
|
|
181
|
+
<span [textContent]="'Bekijken'" (click)="onLocationClick(row)"></span>
|
|
182
|
+
</ng-template>
|
|
183
|
+
</co-simple-grid-column>
|
|
184
|
+
</co-simple-grid>
|
|
185
|
+
|
|
186
|
+
<co-simple-grid *ngIf="activeTab === tabs[1]"
|
|
187
|
+
[data]="inOrderInformation"
|
|
188
|
+
class="simple-grid"
|
|
189
|
+
[rowsPerPage]="20"
|
|
190
|
+
>
|
|
191
|
+
<co-simple-grid-column [headerText]="'IN_ORDER2'" [field]="'transactionNr'"></co-simple-grid-column>
|
|
192
|
+
<co-simple-grid-column [headerText]="'CUSTOMER'" [field]="'user'"></co-simple-grid-column>
|
|
193
|
+
<co-simple-grid-column [headerText]="'DATE'" [field]="'transactionDate'"></co-simple-grid-column>
|
|
194
|
+
<co-simple-grid-column [headerText]="'AMOUNT'" [field]="'amountInOrder'"></co-simple-grid-column>
|
|
195
|
+
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'wareHouseNr'"></co-simple-grid-column>
|
|
196
|
+
<co-simple-grid-column [headerText]="'DESCRIPTION'" [field]="'locationNr'"></co-simple-grid-column>
|
|
197
|
+
<co-simple-grid-column [headerText]="'STOCK'" [field]="'amountInStock'"></co-simple-grid-column>
|
|
198
|
+
<co-simple-grid-column [headerText]="'TRANSFER'" [field]="'transfer'">
|
|
199
|
+
<ng-template #template let-row="row">
|
|
200
|
+
<co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.DeliveryTruck)" (click)="handleStockTransferClick($event)"></co-icon>
|
|
201
|
+
</ng-template>
|
|
202
|
+
</co-simple-grid-column>
|
|
203
|
+
<co-simple-grid-column [headerText]="'STICKER'" [field]="'sticker'">
|
|
204
|
+
<ng-template #template let-row="row">
|
|
205
|
+
<co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.Print)" (click)="openSendMethodDialog(row)"></co-icon>
|
|
206
|
+
</ng-template>
|
|
207
|
+
</co-simple-grid-column>
|
|
208
|
+
</co-simple-grid>
|
|
209
|
+
|
|
210
|
+
<co-simple-grid *ngIf="activeTab === tabs[2]"
|
|
211
|
+
[data]="orderInformation"
|
|
212
|
+
class="simple-grid"
|
|
213
|
+
[rowsPerPage]="20"
|
|
214
|
+
>
|
|
215
|
+
<co-simple-grid-column [headerText]="'PURCHASE_ORDER_NR'" [field]="'transactionNr'"></co-simple-grid-column>
|
|
216
|
+
<co-simple-grid-column [headerText]="'DATE'" [field]="'transactionDate'"></co-simple-grid-column>
|
|
217
|
+
<co-simple-grid-column [headerText]="'AMOUNT'" [field]="'amountInOrder'"></co-simple-grid-column>
|
|
218
|
+
<co-simple-grid-column [headerText]="'RESERVED'" [field]="'reserved'"></co-simple-grid-column>
|
|
219
|
+
<co-simple-grid-column [headerText]="'FREE_STOCK'" [field]="'freeStock'"></co-simple-grid-column>
|
|
220
|
+
<co-simple-grid-column [headerText]="'DELIVERY_DATE1'" [field]="'deliveryDate'"></co-simple-grid-column>
|
|
221
|
+
<co-simple-grid-column [headerText]="'RESERVE'" [field]="'reservation'"></co-simple-grid-column>
|
|
222
|
+
</co-simple-grid>
|
|
223
|
+
</div>
|
|
224
|
+
|
|
225
|
+
<div class="stock-grid" *ngIf="hideOrShowLocationTab">
|
|
226
|
+
<div class="stock-location-group">
|
|
227
|
+
<div class="stock-location-left-group">
|
|
228
|
+
<span class="stock-button-back" [textContent]="'BACK_TO_STOCK_LINES'" (click)="handleBackToStockClick()"></span>
|
|
229
|
+
</div>
|
|
230
|
+
<div class="stock-location-right-group">
|
|
231
|
+
<co-drop-down-list [(model)]="selectedWarehouse"
|
|
232
|
+
[collection]="dataWareHouseCode"
|
|
233
|
+
[fields]="dataWareHouseFields"
|
|
234
|
+
[placeholder]="'WAREHOUSE'"
|
|
235
|
+
(modelChange)="onSelectWarehouse($event)"
|
|
236
|
+
[required]="true"
|
|
237
|
+
></co-drop-down-list>
|
|
238
|
+
</div>
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
<!-- TODO move to own component stock-location-->
|
|
242
|
+
<co-simple-grid [data]="articleDetails"
|
|
243
|
+
class="simple-grid"
|
|
244
|
+
[rowsPerPage]="20"
|
|
245
|
+
>
|
|
246
|
+
<div class="stock-location-group">
|
|
247
|
+
<div class="stock-location-left-group">
|
|
248
|
+
<co-button class="stock-lines-button" [textContent]="'BACK_TO_STOCK_LINES'" (click)="handleBackToStockClick()"></co-button>
|
|
249
|
+
</div>
|
|
250
|
+
</div>
|
|
251
|
+
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'warehouseDescription'"></co-simple-grid-column>
|
|
252
|
+
<co-simple-grid-column [headerText]="'BATCH'" [field]="'batchNo'"></co-simple-grid-column>
|
|
253
|
+
<co-simple-grid-column [headerText]="'SERIAL_NO'" [field]="'serialNo'"></co-simple-grid-column>
|
|
254
|
+
<co-simple-grid-column [headerText]="'STOCK'" [field]="'amountInStock'">
|
|
255
|
+
<ng-template #template let-row="row">
|
|
256
|
+
<co-input-number-picker (keyup.enter)="openDialogClick(row)" [(model)]="row['amountInStock']">
|
|
257
|
+
|
|
258
|
+
</co-input-number-picker>
|
|
259
|
+
</ng-template>
|
|
260
|
+
</co-simple-grid-column>
|
|
261
|
+
<co-simple-grid-column [headerText]="'ALLOCATED'" [field]="'amountInStockFree'"></co-simple-grid-column>
|
|
262
|
+
<co-simple-grid-column [headerText]="'AVAILABLE_STOCK'" [field]="'perceptibleStorage'"></co-simple-grid-column>
|
|
263
|
+
<co-simple-grid-column [headerText]="'PHYSICAL_STOCK'" [field]="'amountInStockOriginal'"></co-simple-grid-column>
|
|
264
|
+
<co-simple-grid-column [headerText]="'VALUTA'" [field]="'currency'"></co-simple-grid-column>
|
|
265
|
+
<co-simple-grid-column [headerText]="'PURCHASE_PRICE'" [field]="'purchasePrice'"></co-simple-grid-column>
|
|
266
|
+
<co-simple-grid-column [headerText]="'SUPPLIER_NUMBER'" [field]="'supplierNo'"></co-simple-grid-column>
|
|
267
|
+
<co-simple-grid-column [headerText]="'TRANSFER'" [field]="'transfer'">
|
|
268
|
+
<ng-template #template let-row="row">
|
|
269
|
+
<co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.DeliveryTruck)" (click)="handleStockTransferClick(row)"></co-icon>
|
|
270
|
+
</ng-template>
|
|
271
|
+
</co-simple-grid-column>
|
|
272
|
+
<co-simple-grid-column [headerText]="'STICKER'" [field]="'sticker'">
|
|
273
|
+
<ng-template #template let-row="row">
|
|
274
|
+
<co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.Print)" (click)="openSendMethodDialog(row)"></co-icon>
|
|
275
|
+
</ng-template>
|
|
276
|
+
</co-simple-grid-column>
|
|
277
|
+
</co-simple-grid>
|
|
278
|
+
</div>
|
|
279
|
+
|
|
280
|
+
<co-stock-change-amount *ngIf="showChangeStockDetails"
|
|
281
|
+
(closeStockChangeAmount)="showChangeStockDetails = false"
|
|
282
|
+
[selectedArticleDetailsData]="selectedArticleDetailsData"
|
|
283
|
+
>
|
|
284
|
+
</co-stock-change-amount>
|
|
285
|
+
|
|
286
|
+
<div class="stock-grid" *ngIf="showStockHistory">
|
|
287
|
+
<div class="stock-button-left-group">
|
|
288
|
+
<span class="stock-button-back" [textContent]="'BACK_TO_STOCK_LINES'" (click)="backToStockInformation()"></span>
|
|
289
|
+
</div>
|
|
290
|
+
<co-simple-grid [data]="stockHistoryInformation"
|
|
291
|
+
class="simple-grid"
|
|
292
|
+
[rowsPerPage]="20"
|
|
293
|
+
>
|
|
294
|
+
<co-simple-grid-column [headerText]="'MUTATION_DATE'" [field]="'mutationDate'"></co-simple-grid-column>
|
|
295
|
+
<co-simple-grid-column [headerText]="'MUTATION_TIME'" [field]="'mutationTime'"></co-simple-grid-column>
|
|
296
|
+
<co-simple-grid-column [headerText]="'AMOUNT'" [field]="'amount'"></co-simple-grid-column>
|
|
297
|
+
<co-simple-grid-column [headerText]="'WAREHOUSE'" [field]="'wareHouseNr'"></co-simple-grid-column>
|
|
298
|
+
<co-simple-grid-column [headerText]="'LOCATION'" [field]="'locationNr'"></co-simple-grid-column>
|
|
299
|
+
<co-simple-grid-column [headerText]="'TRANSACTION_TYPE'" [field]="'transType'"></co-simple-grid-column>
|
|
300
|
+
<co-simple-grid-column [headerText]="'DOCUMENT_NUMBER'" [field]="'docNr'"></co-simple-grid-column>
|
|
301
|
+
<co-simple-grid-column [headerText]="'LINE'" [field]="'posLineNr'"></co-simple-grid-column>
|
|
302
|
+
<co-simple-grid-column [headerText]="'STOCK_STATE'" [field]="'stockStateId'"></co-simple-grid-column>
|
|
303
|
+
<co-simple-grid-column [headerText]="'STOCK_REMARK'" [field]="'stockStateRemarkId'"></co-simple-grid-column>
|
|
304
|
+
<co-simple-grid-column [headerText]="'VALUTA'" [field]="'currencyCode'"></co-simple-grid-column>
|
|
305
|
+
<co-simple-grid-column [headerText]="'RELATION_ID'" [field]="'relationId'"></co-simple-grid-column>
|
|
306
|
+
<co-simple-grid-column [headerText]="'USER'" [field]="'user'"></co-simple-grid-column>
|
|
307
|
+
<co-simple-grid-column [headerText]="'MUTATION_TYPE'" [field]="'mutationType'"></co-simple-grid-column>
|
|
308
|
+
<co-simple-grid-column [headerText]="'STICKER'" [field]="'sticker'">
|
|
309
|
+
<ng-template #template let-row="row">
|
|
310
|
+
<co-icon class="menu-icon" [iconData]="iconCacheService.getIcon(icons.Print)" (click)="openSendMethodDialog(row)"></co-icon>
|
|
311
|
+
</ng-template>
|
|
312
|
+
</co-simple-grid-column>
|
|
313
|
+
</co-simple-grid>
|
|
314
|
+
</div>
|
|
315
|
+
|
|
316
|
+
<div class="stock-button-toolbar">
|
|
317
|
+
<div class="stock-button-left-group">
|
|
318
|
+
<co-button *ngIf="activeTab === tabs[0]" [label]="'HISTORY'" (click)="handleHistoryClick()"></co-button>
|
|
319
|
+
</div>
|
|
320
|
+
<div class="stock-button-middle-group">
|
|
321
|
+
<div class="button-left">
|
|
322
|
+
<co-button [textContent]="'Ok'" (click)="onOkClick()"></co-button>
|
|
323
|
+
</div>
|
|
324
|
+
<div class="button-right">
|
|
325
|
+
<co-button [textContent]="'Annuleren'" (click)="onCancelClick()"></co-button>
|
|
326
|
+
</div>
|
|
327
|
+
</div>
|
|
328
|
+
</div>
|
|
329
|
+
<ione-send-method-dialog
|
|
330
|
+
*ngIf="showSendMethodDialog"
|
|
331
|
+
[showDialog]="showSendMethodDialog"
|
|
332
|
+
(printButtonClicked)="printStockStickers()"
|
|
333
|
+
></ione-send-method-dialog>
|
|
334
|
+
`,
|
|
335
|
+
encapsulation: ViewEncapsulation.None
|
|
336
|
+
},] }
|
|
337
|
+
];
|
|
338
|
+
StockInformationGridComponent.ctorParameters = () => [
|
|
339
|
+
{ type: IconCacheService },
|
|
340
|
+
{ type: StockService }
|
|
341
|
+
];
|
|
342
|
+
StockInformationGridComponent.propDecorators = {
|
|
343
|
+
stock: [{ type: ViewChild, args: [StockInformationGridComponent,] }],
|
|
344
|
+
articleStockInformation: [{ type: Input }],
|
|
345
|
+
stockLocationData: [{ type: Input }],
|
|
346
|
+
stockHistoryInformation: [{ type: Input }],
|
|
347
|
+
transferIconClicked: [{ type: Output }],
|
|
348
|
+
historyClicked: [{ type: Output }]
|
|
349
|
+
};
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2staW5mb3JtYXRpb24tZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay1pbmZvcm1hdGlvbi1ncmlkL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRTdDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUU1RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUlqRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQWtNeEYsTUFBTSxPQUFPLDZCQUE2QjtJQTJEeEMsWUFDUyxnQkFBa0MsRUFDakMsYUFBMkI7UUFENUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQTVEckIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFlMUIsd0JBQW1CLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdkUsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdoRSxTQUFJLEdBQVksS0FBSyxDQUFDO1FBQ3RCLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2QyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7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QUMsQ0FBQztRQUN4RixDQUFDO0tBQUE7SUFFWSxZQUFZOztZQUN2QixNQUFNLFNBQVMsR0FBdUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1lBQy9ELFNBQVMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLENBQUM7S0FBQTtJQUVNLFNBQVM7SUFFaEIsQ0FBQzs7O1lBaFhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUxUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6TU8sZ0JBQWdCO1lBRGhCLFlBQVk7OztvQkErTWpCLFNBQVMsU0FBQyw2QkFBNkI7c0NBR3ZDLEtBQUs7Z0NBR0wsS0FBSztzQ0FHTCxLQUFLO2tDQUdMLE1BQU07NkJBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24sIEV2ZW50RW1pdHRlciwgSW5wdXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrIGFzIEFydGljbGVTdG9ja0JvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2tcIjtcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2tNYW5hZ2VtZW50fSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jay1tYW5hZ2VtZW50XCI7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm9cIjtcclxuaW1wb3J0IHtDb0Ryb3BEb3duTGlzdEZpZWxkc30gZnJvbSBcIi4uL3N0b2NrLXRyYW5zZmVyL2NvLWRyb3AtZG93bi1saXN0LWZpZWxkcy5pbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9uIGFzIEFydGljbGVUcmFuc2FjdGlvbkJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbi5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tc3RvY2staW5mb3JtYXRpb24tZ3JpZFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidGFiLWxpbmsgc2hvd1wiICpuZ0lmPVwiaGlkZU9yU2hvd1RhYnNcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJ0YWItbGluay1idXR0b25zXCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVRhYkNsaWNrKHRhYilcIlxyXG4gICAgICAgICAgICBbdGV4dENvbnRlbnRdPVwidGFiXCJcclxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJ0YWIgPT09IGFjdGl2ZVRhYlwiXHJcbiAgICAgID48L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stbGluZVwiPlxyXG4gICAgICA8ZGl2IFt0ZXh0Q29udGVudF09XCJhY3RpdmVUYWJUZXh0XCI+PC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWdyaWRcIj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkICpuZ0lmPVwiYWN0aXZlVGFiID09PSB0YWJzWzBdICYmIGhpZGVPclNob3dUYWJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImFydGljbGVTdG9ja0luZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dBZGRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2hvd1Rvb2xiYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoYWRkUm93KT1cImFkZE5ld1JvdygpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtpbmxpbmVFZGl0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Jvd3NQZXJQYWdlXT1cIjIwXCJcclxuICAgICAgPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlTm8nXCIgW29yZGVyXT1cIjEwXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidERVNDUklQVElPTidcIiBbZmllbGRdPVwiJ3dhcmVob3VzZU5hbWUnXCIgW29yZGVyXT1cIjExXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVE9DSydcIiBbZmllbGRdPVwiJ3RlY2huaWNhbFN0b2NrJ1wiIFtvcmRlcl09XCIxMlwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQVZBSUxBQkxFX1NUT0NLJ1wiIFtmaWVsZF09XCInYXZhaWxhYmxlU3RvY2snXCIgW29yZGVyXT1cIjEzXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidFQ09OT01JQ0FMX1NUT0NLJ1wiIFtmaWVsZF09XCInZWNvbm9taWNhbFN0b2NrJ1wiIFtvcmRlcl09XCIxNFwiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTE9DQVRJT04nXCIgW2ZpZWxkXT1cIidsb2NhdGlvbk5vJ1wiIFtvcmRlcl09XCIxNVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ0Jla2lqa2VuJ1wiIChjbGljayk9XCJvbkxvY2F0aW9uQ2xpY2socm93KVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXNpbXBsZS1ncmlkPlxyXG5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkICpuZ0lmPVwiYWN0aXZlVGFiID09PSB0YWJzWzFdXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImluT3JkZXJJbmZvcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidJTl9PUkRFUjInXCIgW2ZpZWxkXT1cIid0cmFuc2FjdGlvbk5yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0NVU1RPTUVSJ1wiIFtmaWVsZF09XCIndXNlcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidEQVRFJ1wiIFtmaWVsZF09XCIndHJhbnNhY3Rpb25EYXRlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCdcIiBbZmllbGRdPVwiJ2Ftb3VudEluT3JkZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZUhvdXNlTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInREVTQ1JJUFRJT04nXCIgW2ZpZWxkXT1cIidsb2NhdGlvbk5yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50SW5TdG9jaydcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidUUkFOU0ZFUidcIiBbZmllbGRdPVwiJ3RyYW5zZmVyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5EZWxpdmVyeVRydWNrKVwiIChjbGljayk9XCJoYW5kbGVTdG9ja1RyYW5zZmVyQ2xpY2soJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInU1RJQ0tFUidcIiBbZmllbGRdPVwiJ3N0aWNrZXInXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJtZW51LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlByaW50KVwiIChjbGljayk9XCJvcGVuU2VuZE1ldGhvZERpYWxvZyhyb3cpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuXHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1syXVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJvcmRlckluZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Jvd3NQZXJQYWdlXT1cIjIwXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1BVUkNIQVNFX09SREVSX05SJ1wiIFtmaWVsZF09XCIndHJhbnNhY3Rpb25OcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidEQVRFJ1wiIFtmaWVsZF09XCIndHJhbnNhY3Rpb25EYXRlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0FNT1VOVCdcIiBbZmllbGRdPVwiJ2Ftb3VudEluT3JkZXInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUkVTRVJWRUQnXCIgW2ZpZWxkXT1cIidyZXNlcnZlZCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidGUkVFX1NUT0NLJ1wiIFtmaWVsZF09XCInZnJlZVN0b2NrJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ0RFTElWRVJZX0RBVEUxJ1wiIFtmaWVsZF09XCInZGVsaXZlcnlEYXRlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1JFU0VSVkUnXCIgW2ZpZWxkXT1cIidyZXNlcnZhdGlvbidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgPC9jby1zaW1wbGUtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJzdG9jay1ncmlkXCIgKm5nSWY9XCJoaWRlT3JTaG93TG9jYXRpb25UYWJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWxvY2F0aW9uLWxlZnQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RvY2stYnV0dG9uLWJhY2tcIiBbdGV4dENvbnRlbnRdPVwiJ0JBQ0tfVE9fU1RPQ0tfTElORVMnXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tUb1N0b2NrQ2xpY2soKVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tcmlnaHQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxjby1kcm9wLWRvd24tbGlzdCAgWyhtb2RlbCldPVwic2VsZWN0ZWRXYXJlaG91c2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJkYXRhV2FyZUhvdXNlQ29kZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZHNdPVwiZGF0YVdhcmVIb3VzZUZpZWxkc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInV0FSRUhPVVNFJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJvblNlbGVjdFdhcmVob3VzZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28tZHJvcC1kb3duLWxpc3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuPCEtLSAgICAgIFRPRE8gbW92ZSB0byBvd24gY29tcG9uZW50IHN0b2NrLWxvY2F0aW9uLS0+XHJcbiAgICAgIDxjby1zaW1wbGUtZ3JpZCBbZGF0YV09XCJhcnRpY2xlRGV0YWlsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNpbXBsZS1ncmlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZV09XCIyMFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RvY2stbG9jYXRpb24tZ3JvdXBcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1sb2NhdGlvbi1sZWZ0LWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzdG9jay1saW5lcy1idXR0b25cIiBbdGV4dENvbnRlbnRdPVwiJ0JBQ0tfVE9fU1RPQ0tfTElORVMnXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tUb1N0b2NrQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZWhvdXNlRGVzY3JpcHRpb24nXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInQkFUQ0gnXCIgW2ZpZWxkXT1cIidiYXRjaE5vJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NFUklBTF9OTydcIiBbZmllbGRdPVwiJ3NlcmlhbE5vJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUT0NLJ1wiIFtmaWVsZF09XCInYW1vdW50SW5TdG9jaydcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtbnVtYmVyLXBpY2tlciAoa2V5dXAuZW50ZXIpPVwib3BlbkRpYWxvZ0NsaWNrKHJvdylcIiBbKG1vZGVsKV09XCJyb3dbJ2Ftb3VudEluU3RvY2snXVwiPlxyXG5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTExPQ0FURUQnXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrRnJlZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBVkFJTEFCTEVfU1RPQ0snXCIgW2ZpZWxkXT1cIidwZXJjZXB0aWJsZVN0b3JhZ2UnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUEhZU0lDQUxfU1RPQ0snXCIgW2ZpZWxkXT1cIidhbW91bnRJblN0b2NrT3JpZ2luYWwnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVkFMVVRBJ1wiIFtmaWVsZF09XCInY3VycmVuY3knXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInUFVSQ0hBU0VfUFJJQ0UnXCIgW2ZpZWxkXT1cIidwdXJjaGFzZVByaWNlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NVUFBMSUVSX05VTUJFUidcIiBbZmllbGRdPVwiJ3N1cHBsaWVyTm8nXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVFJBTlNGRVInXCIgW2ZpZWxkXT1cIid0cmFuc2ZlcidcIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGUgbGV0LXJvdz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRGVsaXZlcnlUcnVjaylcIiAoY2xpY2spPVwiaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKHJvdylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIiAoY2xpY2spPVwib3BlblNlbmRNZXRob2REaWFsb2cocm93KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8Y28tc3RvY2stY2hhbmdlLWFtb3VudCAqbmdJZj1cInNob3dDaGFuZ2VTdG9ja0RldGFpbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlU3RvY2tDaGFuZ2VBbW91bnQpPVwic2hvd0NoYW5nZVN0b2NrRGV0YWlscyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YV09XCJzZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YVwiXHJcbiAgICA+XHJcbiAgICA8L2NvLXN0b2NrLWNoYW5nZS1hbW91bnQ+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInN0b2NrLWdyaWRcIiAqbmdJZj1cInNob3dTdG9ja0hpc3RvcnlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWJ1dHRvbi1sZWZ0LWdyb3VwXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdG9jay1idXR0b24tYmFja1wiIFt0ZXh0Q29udGVudF09XCInQkFDS19UT19TVE9DS19MSU5FUydcIiAoY2xpY2spPVwiYmFja1RvU3RvY2tJbmZvcm1hdGlvbigpXCI+PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGNvLXNpbXBsZS1ncmlkIFtkYXRhXT1cInN0b2NrSGlzdG9yeUluZm9ybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2ltcGxlLWdyaWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Jvd3NQZXJQYWdlXT1cIjIwXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ01VVEFUSU9OX0RBVEUnXCIgW2ZpZWxkXT1cIidtdXRhdGlvbkRhdGUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTVVUQVRJT05fVElNRSdcIiBbZmllbGRdPVwiJ211dGF0aW9uVGltZSdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidBTU9VTlQnXCIgW2ZpZWxkXT1cIidhbW91bnQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInV0FSRUhPVVNFJ1wiIFtmaWVsZF09XCInd2FyZUhvdXNlTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTE9DQVRJT04nXCIgW2ZpZWxkXT1cIidsb2NhdGlvbk5yJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1RSQU5TQUNUSU9OX1RZUEUnXCIgW2ZpZWxkXT1cIid0cmFuc1R5cGUnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInRE9DVU1FTlRfTlVNQkVSJ1wiIFtmaWVsZF09XCInZG9jTnInXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInTElORSdcIiBbZmllbGRdPVwiJ3Bvc0xpbmVOcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVE9DS19TVEFURSdcIiBbZmllbGRdPVwiJ3N0b2NrU3RhdGVJZCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidTVE9DS19SRU1BUksnXCIgW2ZpZWxkXT1cIidzdG9ja1N0YXRlUmVtYXJrSWQnXCI+PC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgICAgPGNvLXNpbXBsZS1ncmlkLWNvbHVtbiBbaGVhZGVyVGV4dF09XCInVkFMVVRBJ1wiIFtmaWVsZF09XCInY3VycmVuY3lDb2RlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1JFTEFUSU9OX0lEJ1wiIFtmaWVsZF09XCIncmVsYXRpb25JZCdcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidVU0VSJ1wiIFtmaWVsZF09XCIndXNlcidcIj48L2NvLXNpbXBsZS1ncmlkLWNvbHVtbj5cclxuICAgICAgICA8Y28tc2ltcGxlLWdyaWQtY29sdW1uIFtoZWFkZXJUZXh0XT1cIidNVVRBVElPTl9UWVBFJ1wiIFtmaWVsZF09XCInbXV0YXRpb25UeXBlJ1wiPjwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1NUSUNLRVInXCIgW2ZpZWxkXT1cIidzdGlja2VyJ1wiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5QcmludClcIiAoY2xpY2spPVwib3BlblNlbmRNZXRob2REaWFsb2cocm93KVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9jby1zaW1wbGUtZ3JpZC1jb2x1bW4+XHJcbiAgICAgIDwvY28tc2ltcGxlLWdyaWQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwic3RvY2stYnV0dG9uLXRvb2xiYXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0b2NrLWJ1dHRvbi1sZWZ0LWdyb3VwXCI+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiAqbmdJZj1cImFjdGl2ZVRhYiA9PT0gdGFic1swXVwiIFtsYWJlbF09XCInSElTVE9SWSdcIiAoY2xpY2spPVwiaGFuZGxlSGlzdG9yeUNsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzdG9jay1idXR0b24tbWlkZGxlLWdyb3VwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1sZWZ0XCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFt0ZXh0Q29udGVudF09XCInT2snXCIgKGNsaWNrKT1cIm9uT2tDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1yaWdodFwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbdGV4dENvbnRlbnRdPVwiJ0FubnVsZXJlbidcIiAoY2xpY2spPVwib25DYW5jZWxDbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW9uZS1zZW5kLW1ldGhvZC1kaWFsb2dcclxuICAgICAgKm5nSWY9XCJzaG93U2VuZE1ldGhvZERpYWxvZ1wiXHJcbiAgICAgIFtzaG93RGlhbG9nXT1cInNob3dTZW5kTWV0aG9kRGlhbG9nXCJcclxuICAgICAgKHByaW50QnV0dG9uQ2xpY2tlZCk9XCJwcmludFN0b2NrU3RpY2tlcnMoKVwiXHJcbiAgICA+PC9pb25lLXNlbmQtbWV0aG9kLWRpYWxvZz5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoU3RvY2tJbmZvcm1hdGlvbkdyaWRDb21wb25lbnQpXHJcbiAgcHVibGljIHN0b2NrOiBTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb246IEFydGljbGVTdG9ja0JvW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN0b2NrTG9jYXRpb25EYXRhOiBBcnRpY2xlU3RvY2tCb1tdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzdG9ja0hpc3RvcnlJbmZvcm1hdGlvbjogU3RvY2tIaXN0b3J5Qm9bXTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zZmVySWNvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxBcnRpY2xlU3RvY2tCbz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBoaXN0b3J5Q2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGhpZGVPclNob3dMb2NhdGlvblRhYjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93U3RvY2tIaXN0b3J5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTZW5kTWV0aG9kRGlhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBpbk9yZGVySW5mb3JtYXRpb246IEFydGljbGVUcmFuc2FjdGlvbkJvW107XHJcbiAgcHVibGljIG9yZGVySW5mb3JtYXRpb246IEFydGljbGVUcmFuc2FjdGlvbkJvW11cclxuICBwdWJsaWMgaGlkZU9yU2hvd1RhYnM6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBkYXRhV2FyZUhvdXNlQ29kZTogU3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlc1tdO1xyXG4gIHB1YmxpYyBkYXRhV2FyZUhvdXNlRmllbGRzOiBDb0Ryb3BEb3duTGlzdEZpZWxkcyA9IHsgdGV4dDogXCJ3YXJlaG91c2VEZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ3YXJlaG91c2VOb1wiIH07XHJcbiAgcHVibGljIHNlbGVjdGVkV2FyZWhvdXNlOiBhbnk7XHJcbiAgcHVibGljIGFydGljbGVTdG9ja1NlYXJjaEluZm86IEFydGljbGVTdG9jayA9IG5ldyBBcnRpY2xlU3RvY2soKTtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHM6IEFydGljbGVEZXRhaWxzQm9bXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBcnRpY2xlRGV0YWlsc0RhdGE6IEFydGljbGVEZXRhaWxzQm87XHJcbiAgcHVibGljIHNob3dDaGFuZ2VTdG9ja0RldGFpbHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbjogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KClcclxuXHJcbiAgcHVibGljIHRhYnM6IHN0cmluZ1tdID0gW1xyXG4gICAgXCJTVE9DS1wiLFxyXG4gICAgXCJJTl9PUkRFUjJcIixcclxuICAgIFwiT1JERVJTMVwiXHJcbiAgXTtcclxuICBwdWJsaWMgYWN0aXZlVGFiOiBzdHJpbmcgPSB0aGlzLnRhYnNbMF07XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZlVGFiVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoICh0aGlzLmFjdGl2ZVRhYikge1xyXG4gICAgICBjYXNlIHRoaXMudGFic1swXTpcclxuICAgICAgICByZXR1cm4gXCJWb29ycmFhZHJlZ2Vsc1wiO1xyXG4gICAgICBjYXNlIHRoaXMudGFic1sxXTpcclxuICAgICAgICByZXR1cm4gXCJHZXZvbmRlbiBpbiBvcmRlcihzKVwiO1xyXG4gICAgICBjYXNlIHRoaXMudGFic1syXTpcclxuICAgICAgICByZXR1cm4gXCJHZXZvbmRlbiBpbiBiZXN0ZWxsaW5nZW5cIjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gXCJWb29ycmFhZGxvY2F0aWUgcmVnZWxzXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc3RvY2tTZXJ2aWNlOiBTdG9ja1NlcnZpY2UsXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVGFiQ2xpY2sodGFiRGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVUYWIgPSB0YWJEYXRhO1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlVGFiID09PSBcIklOX09SREVSMlwiKSB7XHJcbiAgICAgIHRoaXMuZ2V0SW5PcmRlckRhdGEoKTtcclxuICAgIH0gaWYgKHRoaXMuYWN0aXZlVGFiID09PSBcIk9SREVSUzFcIikge1xyXG4gICAgICB0aGlzLmdldE9yZGVyRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTG9jYXRpb25DbGljayhkYXRhOiBBcnRpY2xlU3RvY2tCbyk6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlU3RvY2tTZWFyY2hJbmZvLmdvb2RJZCA9IGRhdGEuZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmFydGljbGVTdG9ja1NlYXJjaEluZm8ud2FyZUhvdXNlTm8gPSBkYXRhLndhcmVob3VzZU5vLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmFydGljbGVTdG9ja1NlYXJjaEluZm8udmlld0tpbmQgPSBcIkRcIjtcclxuICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSBkYXRhLndhcmVob3VzZU5vO1xyXG4gICAgaWYgKCF0aGlzLmRhdGFXYXJlSG91c2VDb2RlKSB7XHJcbiAgICAgIHRoaXMuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcyhkYXRhKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QXJ0aWNsZURldGFpbHMoZGF0YSk7XHJcbiAgICB0aGlzLmhpZGVPclNob3dUYWJzID0gZmFsc2U7XHJcbiAgICB0aGlzLmhpZGVPclNob3dMb2NhdGlvblRhYiA9IHRydWU7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UubG9ja0FydGljbGVEZXRhaWxzKHRoaXMuYXJ0aWNsZURldGFpbHNJbmZvcm1hdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSGlzdG9yeUNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oaXN0b3J5Q2xpY2tlZC5lbWl0KClcclxuICAgIHRoaXMuaGlkZU9yU2hvd0xvY2F0aW9uVGFiID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dDaGFuZ2VTdG9ja0RldGFpbHMgPSBmYWxzZTtcclxuICAgIHRoaXMuaGlkZU9yU2hvd1RhYnMgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hvd1N0b2NrSGlzdG9yeSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYmFja1RvU3RvY2tJbmZvcm1hdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1N0b2NrSGlzdG9yeSA9IGZhbHNlO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93VGFicyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tUcmFuc2ZlckNsaWNrKGV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zZmVySWNvbkNsaWNrZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQmFja1RvU3RvY2tDbGljaygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuYWN0aXZlVGFiID0gdGhpcy50YWJzWzBdO1xyXG4gICAgdGhpcy5oaWRlT3JTaG93VGFicyA9IHRydWU7XHJcbiAgICB0aGlzLmhpZGVPclNob3dMb2NhdGlvblRhYiA9IGZhbHNlO1xyXG4gICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuU2VuZE1ldGhvZERpYWxvZyhkYXRhKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UucHJpbnRTdGlja2VyLmdvb2RJZCA9IGRhdGEuZ29vZElkO1xyXG4gICAgdGhpcy5fc3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlci53YXJlaG91c2UgPSBkYXRhLndhcmVob3VzZU5vO1xyXG4gICAgdGhpcy5zaG93U2VuZE1ldGhvZERpYWxvZyA9ISB0aGlzLnNob3dTZW5kTWV0aG9kRGlhbG9nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHByaW50U3RvY2tTdGlja2VycygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRQcmludFN0b2NrU3RpY2tlcnModGhpcy5fc3RvY2tTZXJ2aWNlLnByaW50U3RpY2tlcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Pa0NsaWNrKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNhbmNlbENsaWNrKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuRGlhbG9nQ2xpY2soZGF0YSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEFydGljbGVEZXRhaWxzRGF0YSA9IGRhdGE7XHJcbiAgICB0aGlzLnNob3dDaGFuZ2VTdG9ja0RldGFpbHMgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEFydGljbGVEZXRhaWxzKGRhdGE6IGFueSk6IHZvaWQge1xyXG4gICAgLy8gY29uc3QgaW5mbyA9IG5ldyBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KCk7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24uZ29vZElkID0gZGF0YS5nb29kSWQ7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ubGluZUlkID0gZGF0YS5saW5lSWQ7XHJcbiAgICB0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24ud2FyZWhvdXNlTnVtYmVyID0gZGF0YS53YXJlaG91c2VObztcclxuICAgIHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyh0aGlzLmFydGljbGVEZXRhaWxzSW5mb3JtYXRpb24pLnRoZW4oKGRldGFpbHMpID0+IHtcclxuICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKGRhdGE6IEFydGljbGVTdG9ja0JvKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpLnRoZW4oKHdhcmVob3VzZXMpID0+IHtcclxuICAgICAgdGhpcy5kYXRhV2FyZUhvdXNlQ29kZSA9IHdhcmVob3VzZXM7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgPSBkYXRhLndhcmVob3VzZU5vO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlbGVjdFdhcmVob3VzZShldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uLndhcmVob3VzZU51bWJlciA9IGV2ZW50O1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRXYXJlaG91c2UgfHwgdGhpcy5zZWxlY3RlZFdhcmVob3VzZSA9PT0gMCkge1xyXG4gICAgICB0aGlzLl9zdG9ja1NlcnZpY2UuZ2V0QXJ0aWNsZURldGFpbHModGhpcy5hcnRpY2xlRGV0YWlsc0luZm9ybWF0aW9uKS50aGVuKChkZXRhaWxzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcnRpY2xlRGV0YWlscyA9IGRldGFpbHM7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEluT3JkZXJEYXRhKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgaW5PcmRlckRhdGE6IEFydGljbGVUcmFuc2FjdGlvbiA9IG5ldyBBcnRpY2xlVHJhbnNhY3Rpb24oKTtcclxuICAgIGluT3JkZXJEYXRhLnR5cGUgPSBcIlZcIjtcclxuICAgIGluT3JkZXJEYXRhLmdvb2RJZCA9IHRoaXMuYXJ0aWNsZVN0b2NrSW5mb3JtYXRpb25bMF0uZ29vZElkLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmluT3JkZXJJbmZvcm1hdGlvbiA9IGF3YWl0IHRoaXMuX3N0b2NrU2VydmljZS5nZXRBcnRpY2xlVHJhbnNhY3Rpb24oaW5PcmRlckRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldE9yZGVyRGF0YSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IG9yZGVyRGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uID0gbmV3IEFydGljbGVUcmFuc2FjdGlvbigpO1xyXG4gICAgb3JkZXJEYXRhLnR5cGUgPSBcIlZcIjtcclxuICAgIG9yZGVyRGF0YS5nb29kSWQgPSB0aGlzLmFydGljbGVTdG9ja0luZm9ybWF0aW9uWzBdLmdvb2RJZC50b1N0cmluZygpO1xyXG4gICAgdGhpcy5vcmRlckluZm9ybWF0aW9uID0gYXdhaXQgdGhpcy5fc3RvY2tTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihvcmRlckRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZE5ld1JvdygpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG59XHJcbiJdfQ==
|