ontimize-web-ngx 15.6.0-next.0 → 15.6.0-next.10
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/esm2020/lib/components/app-header/o-app-header.component.mjs +3 -3
- package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +19 -3
- package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +17 -4
- package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +7 -5
- package/esm2020/lib/components/filter-builder/o-filter-builder.component.mjs +1 -1
- package/esm2020/lib/components/form/navigation/o-form-navigation.component.mjs +42 -24
- package/esm2020/lib/components/form/o-form.component.mjs +4 -3
- package/esm2020/lib/components/form/services/o-form-message.service.mjs +2 -2
- package/esm2020/lib/components/grid/o-grid.component.mjs +19 -17
- package/esm2020/lib/components/grid/skeketon/o-grid-skeleton.component.mjs +12 -15
- package/esm2020/lib/components/index.mjs +2 -1
- package/esm2020/lib/components/input/file-input/o-file-input.component.mjs +3 -2
- package/esm2020/lib/components/input/o-boolean-form-data-component.class.mjs +9 -1
- package/esm2020/lib/components/input/o-form-service-component.class.mjs +5 -4
- package/esm2020/lib/components/list/list-item/o-list-item.component.mjs +8 -3
- package/esm2020/lib/components/list/o-list.component.mjs +41 -16
- package/esm2020/lib/components/list/skeleton/o-list-skeleton.component.mjs +12 -15
- package/esm2020/lib/components/o-form-data-component.class.mjs +2 -2
- package/esm2020/lib/components/o-repeatable-skeleton.component.mjs +33 -0
- package/esm2020/lib/components/o-service-base-component.class.mjs +5 -4
- package/esm2020/lib/components/o-service-component.class.mjs +10 -9
- package/esm2020/lib/components/o-skeleton.component.mjs +15 -6
- package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +2 -2
- package/esm2020/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.mjs +1 -1
- package/esm2020/lib/components/table/column/cell-renderer/service/o-table-cell-renderer-service.component.mjs +5 -4
- package/esm2020/lib/components/table/column/o-column.class.mjs +2 -1
- package/esm2020/lib/components/table/column/o-table-column.component.mjs +10 -4
- package/esm2020/lib/components/table/extensions/contextmenu/o-table-context-menu.component.mjs +24 -6
- package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.mjs +75 -87
- package/esm2020/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.mjs +53 -0
- package/esm2020/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.mjs +12 -4
- package/esm2020/lib/components/table/extensions/header/table-menu/o-table-menu.component.mjs +2 -2
- package/esm2020/lib/components/table/extensions/o-table.dao.mjs +14 -14
- package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +5 -19
- package/esm2020/lib/components/table/o-table-base.class.mjs +1 -1
- package/esm2020/lib/components/table/o-table.component.mjs +104 -10
- package/esm2020/lib/components/table/o-table.module.mjs +4 -1
- package/esm2020/lib/components/tree/o-tree.component.mjs +96 -14
- package/esm2020/lib/components/tree/o-tree.datasource.mjs +3 -3
- package/esm2020/lib/components/user-info/o-user-info.component.mjs +5 -4
- package/esm2020/lib/config/app-config.mjs +1 -1
- package/esm2020/lib/config/o-providers.mjs +6 -6
- package/esm2020/lib/i18n/i18n.mjs +6 -3
- package/esm2020/lib/injection-tokens/index.mjs +19 -0
- package/esm2020/lib/interfaces/base-response.interface.mjs +1 -1
- package/esm2020/lib/interfaces/form-layout-manager.interface.mjs +1 -1
- package/esm2020/lib/interfaces/index.mjs +3 -1
- package/esm2020/lib/interfaces/jsonapi-config.interface.mjs +3 -0
- package/esm2020/lib/interfaces/jsonapi-response.interface.mjs +2 -1
- package/esm2020/lib/interfaces/o-table-column.interface.mjs +1 -1
- package/esm2020/lib/interfaces/service-response.interface.mjs +1 -1
- package/esm2020/lib/layouts/app-layout/o-app-layout-base.class.mjs +1 -1
- package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +26 -9
- package/esm2020/lib/layouts/form-layout/o-form-layout-manager.component.mjs +4 -3
- package/esm2020/lib/layouts/form-layout/split-pane/o-form-layout-split-pane.component.mjs +2 -2
- package/esm2020/lib/layouts/form-layout/tabgroup/o-form-layout-tabgroup.component.mjs +2 -1
- package/esm2020/lib/services/base-data-service.class.mjs +2 -1
- package/esm2020/lib/services/base-service.class.mjs +3 -3
- package/esm2020/lib/services/factories.mjs +26 -54
- package/esm2020/lib/services/index.mjs +3 -2
- package/esm2020/lib/services/jsonapi/jsonapi-preferences.service.mjs +16 -14
- package/esm2020/lib/services/jsonapi/jsonapi.service.mjs +54 -23
- package/esm2020/lib/services/ontimize/index.mjs +1 -2
- package/esm2020/lib/services/ontimize/ontimize-ee.service.mjs +1 -5
- package/esm2020/lib/services/ontimize/ontimize-export-3xx.service.mjs +2 -2
- package/esm2020/lib/services/ontimize/ontimize-preferences.service.mjs +4 -6
- package/esm2020/lib/services/request-adapter/base-request-argument.adapter.mjs +12 -0
- package/esm2020/lib/services/request-adapter/base-request-argument.interface.mjs +2 -0
- package/esm2020/lib/services/request-adapter/index.mjs +5 -0
- package/esm2020/lib/services/request-adapter/jsonapi-request-arguments.adapter.mjs +70 -0
- package/esm2020/lib/services/request-adapter/ontimize-request-arguments.adapter.mjs +19 -0
- package/esm2020/lib/services/state/o-filter-builder-component-state.service.mjs +1 -1
- package/esm2020/lib/services/state/o-table-component-state.class.mjs +7 -1
- package/esm2020/lib/services/state/o-table-component-state.service.mjs +8 -2
- package/esm2020/lib/services/translate/o-translate.service.mjs +8 -4
- package/esm2020/lib/types/config.type.mjs +1 -1
- package/esm2020/lib/types/form-layout-detail-component-data.type.mjs +1 -1
- package/esm2020/lib/types/index.mjs +1 -2
- package/esm2020/lib/types/service-configuration.type.mjs +1 -1
- package/esm2020/lib/types/table/index.mjs +2 -1
- package/esm2020/lib/types/table/o-column-value-filter.type.mjs +1 -1
- package/esm2020/lib/types/table/o-table-expandable-row-state.type.mjs +2 -0
- package/esm2020/lib/util/codes.mjs +3 -1
- package/esm2020/lib/util/errors.mjs +3 -9
- package/esm2020/lib/util/factory.util.mjs +67 -0
- package/esm2020/lib/util/index.mjs +3 -1
- package/esm2020/lib/util/injection-token.utils.mjs +4 -0
- package/esm2020/lib/util/preference-mapping-util.mjs +22 -7
- package/esm2020/lib/util/sqltypes.mjs +2 -2
- package/esm2020/lib/util/util.mjs +11 -38
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ontimize-web-ngx.mjs +6801 -6332
- package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
- package/fesm2020/ontimize-web-ngx.mjs +6660 -6211
- package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
- package/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.d.ts +3 -0
- package/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.d.ts +1 -0
- package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +2 -1
- package/lib/components/filter-builder/o-filter-builder.component.d.ts +1 -1
- package/lib/components/form/navigation/o-form-navigation.component.d.ts +7 -4
- package/lib/components/grid/skeketon/o-grid-skeleton.component.d.ts +4 -7
- package/lib/components/index.d.ts +1 -0
- package/lib/components/input/o-boolean-form-data-component.class.d.ts +1 -0
- package/lib/components/list/o-list.component.d.ts +5 -1
- package/lib/components/list/skeleton/o-list-skeleton.component.d.ts +4 -7
- package/lib/components/o-repeatable-skeleton.component.d.ts +9 -0
- package/lib/components/o-skeleton.component.d.ts +10 -5
- package/lib/components/table/column/cell-renderer/o-base-table-cell-renderer.class.d.ts +1 -1
- package/lib/components/table/column/o-column.class.d.ts +2 -1
- package/lib/components/table/column/o-table-column.component.d.ts +2 -2
- package/lib/components/table/extensions/contextmenu/o-table-context-menu.component.d.ts +2 -0
- package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column-data-dialog.component.d.ts +9 -6
- package/lib/components/table/extensions/dialog/filter-by-column/o-table-filter-by-column.service.d.ts +12 -0
- package/lib/components/table/extensions/header/o-table-header-components.d.ts +2 -2
- package/lib/components/table/extensions/header/table-columns-filter/o-table-columns-filter.component.d.ts +1 -1
- package/lib/components/table/extensions/o-table.dao.d.ts +3 -2
- package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -10
- package/lib/components/table/o-table-base.class.d.ts +3 -0
- package/lib/components/table/o-table.component.d.ts +12 -2
- package/lib/components/tree/o-tree.component.d.ts +10 -1
- package/lib/components/user-info/o-user-info.component.d.ts +2 -1
- package/lib/config/app-config.d.ts +1 -1
- package/lib/config/o-directives.d.ts +1 -1
- package/lib/i18n/i18n.d.ts +3 -0
- package/lib/injection-tokens/index.d.ts +33 -0
- package/lib/interfaces/base-response.interface.d.ts +0 -2
- package/lib/interfaces/form-layout-manager.interface.d.ts +1 -1
- package/lib/interfaces/index.d.ts +2 -0
- package/lib/interfaces/jsonapi-config.interface.d.ts +3 -0
- package/lib/interfaces/jsonapi-response.interface.d.ts +47 -7
- package/lib/interfaces/o-table-column.interface.d.ts +2 -1
- package/lib/interfaces/service-response.interface.d.ts +2 -0
- package/lib/layouts/app-layout/o-app-layout-base.class.d.ts +1 -1
- package/lib/layouts/app-layout/o-app-layout.component.d.ts +7 -3
- package/lib/services/base-data-service.class.d.ts +1 -0
- package/lib/services/base-service.class.d.ts +2 -2
- package/lib/services/factories.d.ts +10 -31
- package/lib/services/index.d.ts +2 -1
- package/lib/services/jsonapi/jsonapi-preferences.service.d.ts +1 -1
- package/lib/services/jsonapi/jsonapi.service.d.ts +7 -5
- package/lib/services/ontimize/index.d.ts +0 -1
- package/lib/services/ontimize/ontimize-ee.service.d.ts +0 -1
- package/lib/services/{query-arguments/base-query-argument.adapter.d.ts → request-adapter/base-request-argument.adapter.d.ts} +2 -1
- package/lib/services/{query-arguments/base-query-argument.interface.d.ts → request-adapter/base-request-argument.interface.d.ts} +1 -1
- package/lib/services/request-adapter/index.d.ts +4 -0
- package/lib/services/request-adapter/jsonapi-request-arguments.adapter.d.ts +13 -0
- package/lib/services/request-adapter/ontimize-request-arguments.adapter.d.ts +8 -0
- package/lib/services/state/o-filter-builder-component-state.service.d.ts +1 -1
- package/lib/services/state/o-table-component-state.class.d.ts +3 -0
- package/lib/services/translate/o-translate.service.d.ts +1 -0
- package/lib/types/config.type.d.ts +2 -2
- package/lib/types/form-layout-detail-component-data.type.d.ts +1 -1
- package/lib/types/index.d.ts +0 -1
- package/lib/types/service-configuration.type.d.ts +12 -2
- package/lib/types/table/index.d.ts +1 -0
- package/lib/types/table/o-column-value-filter.type.d.ts +3 -0
- package/lib/types/table/o-table-expandable-row-state.type.d.ts +5 -0
- package/lib/util/codes.d.ts +3 -0
- package/lib/util/factory.util.d.ts +10 -0
- package/lib/util/index.d.ts +2 -0
- package/lib/util/injection-token.utils.d.ts +2 -0
- package/lib/util/preference-mapping-util.d.ts +22 -3
- package/lib/util/util.d.ts +1 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/esm2020/lib/services/ontimize/o-preference-query-argument.adapter.mjs +0 -17
- package/esm2020/lib/services/query-arguments/base-query-argument.adapter.mjs +0 -9
- package/esm2020/lib/services/query-arguments/base-query-argument.interface.mjs +0 -2
- package/esm2020/lib/services/query-arguments/index.mjs +0 -5
- package/esm2020/lib/services/query-arguments/jsonapi-query-arguments.adapter.mjs +0 -63
- package/esm2020/lib/services/query-arguments/ontimize-query-arguments.adapter.mjs +0 -19
- package/esm2020/lib/types/ontimize-service-config.type.mjs +0 -2
- package/lib/services/ontimize/o-preference-query-argument.adapter.d.ts +0 -7
- package/lib/services/query-arguments/index.d.ts +0 -4
- package/lib/services/query-arguments/jsonapi-query-arguments.adapter.d.ts +0 -12
- package/lib/services/query-arguments/ontimize-query-arguments.adapter.d.ts +0 -8
- package/lib/types/ontimize-service-config.type.d.ts +0 -5
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
import { O_MAT_ERROR_OPTIONS } from '../
|
|
1
|
+
import { O_MAT_ERROR_OPTIONS } from '../injection-tokens';
|
|
2
2
|
import { Codes } from './codes';
|
|
3
3
|
import { Util } from './util';
|
|
4
4
|
export class ErrorsUtils {
|
|
5
5
|
static getErrorOptions(injector) {
|
|
6
|
-
|
|
7
|
-
try {
|
|
8
|
-
result = injector.get(O_MAT_ERROR_OPTIONS) || {};
|
|
9
|
-
}
|
|
10
|
-
catch (e) {
|
|
11
|
-
result = {};
|
|
12
|
-
}
|
|
6
|
+
const result = injector.get(O_MAT_ERROR_OPTIONS, {});
|
|
13
7
|
if (!Util.isDefined(result.type)) {
|
|
14
8
|
result.type = Codes.O_MAT_ERROR_STANDARD;
|
|
15
9
|
}
|
|
@@ -75,4 +69,4 @@ export class ErrorsUtils {
|
|
|
75
69
|
comp.errorsData.push(...newErrorsData.filter(err => !comp.errorsData.find(existingError => existingError.name === err.name)));
|
|
76
70
|
}
|
|
77
71
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDaEMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQWtCOUIsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFrQjtRQUN2QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNoQyxNQUFNLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxvQkFBcUMsQ0FBQztTQUMzRDtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBMEM7UUFDcEUsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQy9ELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCO2lCQUN0QyxNQUFNLENBQUMsQ0FBQyxTQUE2QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDekUsR0FBRyxDQUFDLENBQUMsU0FBNkIsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDNUQ7UUFDRCxJ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LEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDOUU7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBMEMsRUFBRSxnQkFBNkIsRUFBRTtRQUVqRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hJLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT19NQVRfRVJST1JfT1BUSU9OUyB9IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgT01hdEVycm9yT3B0aW9ucywgT01hdEVycm9yVHlwZSB9IGZyb20gJy4uL3R5cGVzL28tbWF0LWVycm9yLnR5cGUnO1xuaW1wb3J0IHsgQ29kZXMgfSBmcm9tICcuL2NvZGVzJztcbmltcG9ydCB7IFV0aWwgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgQXN5bmNWYWxpZGF0b3JGbiwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JEYXRhIH0gZnJvbSAnLi4vdHlwZXMvZXJyb3ItZGF0YS50eXBlJztcbmltcG9ydCB7IE9WYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvY29tcG9uZW50cy92YWxpZGF0aW9uL28tdmFsaWRhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPTWF0RXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL28tbWF0LWVycm9yLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhIHtcbiAgZXJyb3JPcHRpb25zOiBPTWF0RXJyb3JPcHRpb25zO1xuICBlcnJvcnNEYXRhOiBFcnJvckRhdGFbXTtcbiAgdmFsaWRhdG9yQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPVmFsaWRhdG9yQ29tcG9uZW50PjtcbiAgb01hdEVycm9yQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPTWF0RXJyb3JEaXJlY3RpdmU+O1xuICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcbiAgZ2V0Rm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2w7XG4gIHJlc29sdmVWYWxpZGF0b3JzOiAoKSA9PiBWYWxpZGF0b3JGbltdO1xuICByZXNvbHZlQXN5bmNWYWxpZGF0b3JzOiAoKSA9PiBBc3luY1ZhbGlkYXRvckZuW107XG4gIGhhc0Vycm9yOiAoZXJyb3I6IHN0cmluZykgPT4gYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIEVycm9yc1V0aWxzIHtcbiAgc3RhdGljIGdldEVycm9yT3B0aW9ucyhpbmplY3RvcjogSW5qZWN0b3IpOiBPTWF0RXJyb3JPcHRpb25zIHtcbiAgICBjb25zdCByZXN1bHQgPSBpbmplY3Rvci5nZXQoT19NQVRfRVJST1JfT1BUSU9OUywge30pO1xuXG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChyZXN1bHQudHlwZSkpIHtcbiAgICAgIHJlc3VsdC50eXBlID0gQ29kZXMuT19NQVRfRVJST1JfU1RBTkRBUkQgYXMgT01hdEVycm9yVHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHN0YXRpYyBnZXRFcnJvcnNUb29sdGlwVGV4dChjb21wOiBDb21wb25lbnRXaXRoVmFsaWRhdG9yc0FuZEVycm9yc0RhdGEpOiBzdHJpbmcge1xuICAgIGxldCBlcnJvcnNUZXh0ID0gW107XG4gICAgaWYgKGNvbXAub01hdEVycm9yQ2hpbGRyZW4gJiYgY29tcC5vTWF0RXJyb3JDaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICBlcnJvcnNUZXh0LnB1c2goLi4uY29tcC5vTWF0RXJyb3JDaGlsZHJlblxuICAgICAgICAuZmlsdGVyKChvTWF0RXJyb3I6IE9NYXRFcnJvckRpcmVjdGl2ZSkgPT4gVXRpbC5pc0RlZmluZWQob01hdEVycm9yLnRleHQpKVxuICAgICAgICAubWFwKChvTWF0RXJyb3I6IE9NYXRFcnJvckRpcmVjdGl2ZSkgPT4gb01hdEVycm9yLnRleHQpKTtcbiAgICB9XG4gICAgaWYgKGNvbXAuZXJyb3JzRGF0YSAmJiBjb21wLmVycm9yc0RhdGEubGVuZ3RoID4gMCkge1xuICAgICAgZXJyb3JzVGV4dC5wdXNoKC4uLmNvbXAuZXJyb3JzRGF0YVxuICAgICAgICAuZmlsdGVyKChpdGVtOiBFcnJvckRhdGEpID0+IGNvbXAuaGFzRXJyb3IoaXRlbS5uYW1lKSlcbiAgICAgICAgLm1hcCgoaXRlbTogRXJyb3JEYXRhKSA9PiBpdGVtLnRleHQpKTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9yc1RleHQuam9pbignXFxuJyk7XG4gIH1cblxuICBzdGF0aWMgZ2V0VG9vbHRpcENsYXNzZXMoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmcgPSBgby10b29sdGlwICR7Y29tcC50b29sdGlwUG9zaXRpb259YDtcbiAgICBjb25zdCBsaXRlRXJyb3IgPSBjb21wLmVycm9yT3B0aW9ucy50eXBlID09PSBDb2Rlcy5PX01BVF9FUlJPUl9MSVRFO1xuICAgIGlmICghbGl0ZUVycm9yKSB7XG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuICAgIGNvbnN0IGZvcm1Db250cm9sID0gY29tcC5nZXRGb3JtQ29udHJvbCgpO1xuICAgIGNvbnN0IGVycm9yQ2xhc3MgPSBVdGlsLmlzRGVmaW5lZChmb3JtQ29udHJvbCkgJiYgVXRpbC5pc0RlZmluZWQoZm9ybUNvbnRyb2wuZXJyb3JzKSA/ICdvLW1hdC1lcnJvcicgOiAnJztcbiAgICByZXR1cm4gYCR7cmVzdWx0fSAke2Vycm9yQ2xhc3N9YDtcbiAgfVxuXG4gIHN0YXRpYyB1cGRhdGVGb3JtQ29udHJvbFZhbGlkYXRvcnMoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUNvbnRyb2wgPSBjb21wLmdldEZvcm1Db250cm9sKCk7XG4gICAgaWYgKCFmb3JtQ29udHJvbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gY29tcC5yZXNvbHZlVmFsaWRhdG9ycygpO1xuICAgIGNvbnN0IGFzeW5jVmFsaWRhdG9ycyA9IGNvbXAucmVzb2x2ZUFzeW5jVmFsaWRhdG9ycygpO1xuICAgIGlmIChjb21wLnZhbGlkYXRvckNoaWxkcmVuKSB7XG4gICAgICBjb21wLnZhbGlkYXRvckNoaWxkcmVuLmZvckVhY2goKG9WYWxpZGF0b3I6IE9WYWxpZGF0b3JDb21wb25lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yRnVuY3Rpb246IFZhbGlkYXRvckZuID0gb1ZhbGlkYXRvci5nZXRWYWxpZGF0b3JGbigpO1xuICAgICAgICBpZiAodmFsaWRhdG9yRnVuY3Rpb24pIHtcbiAgICAgICAgICB2YWxpZGF0b3JzLnB1c2godmFsaWRhdG9yRnVuY3Rpb24pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFzeW5jVmFsaWRhdG9yRnVuY3Rpb246IEFzeW5jVmFsaWRhdG9yRm4gPSBvVmFsaWRhdG9yLmdldEFzeW5jVmFsaWRhdG9yRm4oKTtcbiAgICAgICAgaWYgKGFzeW5jVmFsaWRhdG9yRnVuY3Rpb24pIHtcbiAgICAgICAgICBhc3luY1ZhbGlkYXRvcnMucHVzaChhc3luY1ZhbGlkYXRvckZ1bmN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcnJvcnNEYXRhOiBFcnJvckRhdGFbXSA9IG9WYWxpZGF0b3IuZ2V0RXJyb3JzRGF0YSgpO1xuICAgICAgICBjb21wLmVycm9yc0RhdGEucHVzaCguLi5lcnJvcnNEYXRhKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIGZvcm1Db250cm9sLnNldEFzeW5jVmFsaWRhdG9ycyhhc3luY1ZhbGlkYXRvcnMpO1xuICAgIGZvcm1Db250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICB9XG5cbiAgc3RhdGljIGdldEFjdGl2ZU9FcnJvcnMoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhKTogRXJyb3JEYXRhW10ge1xuICAgIGlmIChjb21wLmVycm9yT3B0aW9ucy50eXBlID09PSBDb2Rlcy5PX01BVF9FUlJPUl9TVEFOREFSRCkge1xuICAgICAgcmV0dXJuIGNvbXAuZXJyb3JzRGF0YS5maWx0ZXIoKGl0ZW06IEVycm9yRGF0YSkgPT4gY29tcC5oYXNFcnJvcihpdGVtLm5hbWUpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgc3RhdGljIHB1c2hUb0Vycm9yc0RhdGEoY29tcDogQ29tcG9uZW50V2l0aFZhbGlkYXRvcnNBbmRFcnJvcnNEYXRhLCBuZXdFcnJvcnNEYXRhOiBFcnJvckRhdGFbXSA9IFtdKTogdm9pZCB7XG4gICAgLy8gYXZvaWQgcHVzaGluZyByZXBlYXRlZCBlcnJvcnMgZGF0YVxuICAgIGNvbXAuZXJyb3JzRGF0YS5wdXNoKC4uLm5ld0Vycm9yc0RhdGEuZmlsdGVyKGVyciA9PiAhY29tcC5lcnJvcnNEYXRhLmZpbmQoZXhpc3RpbmdFcnJvciA9PiBleGlzdGluZ0Vycm9yLm5hbWUgPT09IGVyci5uYW1lKSkpO1xuICB9XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { AppConfig } from '../config/app-config';
|
|
2
|
+
import { JSONAPIService } from '../services/jsonapi/jsonapi.service';
|
|
3
|
+
import { OntimizeEEService } from '../services/ontimize/ontimize-ee.service';
|
|
4
|
+
import { OntimizeService } from '../services/ontimize/ontimize.service';
|
|
5
|
+
import { ServiceType } from '../types/service-type.type';
|
|
6
|
+
import { Util } from './util';
|
|
7
|
+
export class FactoryUtil {
|
|
8
|
+
static isJsonApiService(injector) {
|
|
9
|
+
const config = injector.get(AppConfig);
|
|
10
|
+
return config.getConfiguration().serviceType === 'JSONAPI' ||
|
|
11
|
+
config.getConfiguration().serviceType instanceof JSONAPIService;
|
|
12
|
+
}
|
|
13
|
+
static isOntimizeEEService(injector) {
|
|
14
|
+
const config = injector.get(AppConfig);
|
|
15
|
+
return (config.getConfiguration().serviceType === 'OntimizeEE' ||
|
|
16
|
+
config.getConfiguration().serviceType instanceof OntimizeEEService) ||
|
|
17
|
+
(config.getConfiguration().serviceType === 'Ontimize' ||
|
|
18
|
+
config.getConfiguration().serviceType instanceof OntimizeService);
|
|
19
|
+
}
|
|
20
|
+
static createServiceInstanceByType(serviceType, injector) {
|
|
21
|
+
if (!Util.isDefined(serviceType) || ServiceType.OntimizeEE === serviceType) {
|
|
22
|
+
return new OntimizeEEService(injector);
|
|
23
|
+
}
|
|
24
|
+
if (ServiceType.Ontimize === serviceType) {
|
|
25
|
+
return new OntimizeService(injector);
|
|
26
|
+
}
|
|
27
|
+
if (ServiceType.JSONAPI === serviceType) {
|
|
28
|
+
return new JSONAPIService(injector);
|
|
29
|
+
}
|
|
30
|
+
return Util.createServiceInstance(serviceType, injector);
|
|
31
|
+
}
|
|
32
|
+
static getDataServiceInstance(serviceType, baseService, injector) {
|
|
33
|
+
if (!serviceType) {
|
|
34
|
+
return injector.get(baseService);
|
|
35
|
+
}
|
|
36
|
+
if (![ServiceType.Ontimize, ServiceType.OntimizeEE, ServiceType.JSONAPI].includes(serviceType)) {
|
|
37
|
+
return FactoryUtil.createServiceInstanceByType(injector.get(serviceType), injector);
|
|
38
|
+
}
|
|
39
|
+
return FactoryUtil.createServiceInstanceByType(serviceType, injector);
|
|
40
|
+
}
|
|
41
|
+
static configureService(configureServiceArgs) {
|
|
42
|
+
const baseService = configureServiceArgs.baseService;
|
|
43
|
+
const entity = configureServiceArgs.entity;
|
|
44
|
+
const service = configureServiceArgs.service;
|
|
45
|
+
const injector = configureServiceArgs.injector;
|
|
46
|
+
const config = injector.get(AppConfig);
|
|
47
|
+
const serviceConfiguration = config.getServiceConfiguration();
|
|
48
|
+
const serviceConfigurationType = serviceConfiguration[service]?.serviceType;
|
|
49
|
+
const serviceType = configureServiceArgs.serviceType || serviceConfigurationType;
|
|
50
|
+
try {
|
|
51
|
+
let dataService = this.getDataServiceInstance(serviceType, baseService, injector);
|
|
52
|
+
if (Util.isDataService(dataService)) {
|
|
53
|
+
const serviceCfg = dataService.getDefaultServiceConfiguration(service);
|
|
54
|
+
if (entity) {
|
|
55
|
+
serviceCfg.entity = entity;
|
|
56
|
+
}
|
|
57
|
+
dataService.configureService(serviceCfg);
|
|
58
|
+
}
|
|
59
|
+
return dataService;
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.error(e);
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3V0aWwvZmFjdG9yeS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzlCLE1BQU0sT0FBTyxXQUFXO0lBR3RCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFrQjtRQUN4QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsV0FBVyxLQUFLLFNBQVM7WUFDeEQsTUFBTSxDQUFDLGdCQUFnQixFQUFFLENBQUMsV0FBVyxZQUFZLGNBQWMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQWtCO1FBQzNDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFdBQVcsS0FBSyxZQUFZO1lBQzVELE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFdBQVcsWUFBWSxpQkFBaUIsQ0FBQztZQUNuRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFdBQVcsS0FBSyxVQUFVO2dC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Y29yZSc7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IEpTT05BUElTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvanNvbmFwaS9qc29uYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgT250aW1pemVFRVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9vbnRpbWl6ZS9vbnRpbWl6ZS1lZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL29udGltaXplL29udGltaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tICcuLi90eXBlcy9zZXJ2aWNlLXR5cGUudHlwZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IE9Db25maWd1cmVTZXJ2aWNlQXJncyB9IGZyb20gJy4uL3R5cGVzL2NvbmZpZ3VyZS1zZXJ2aWNlLWFyZ3MudHlwZSc7XG5cbmV4cG9ydCBjbGFzcyBGYWN0b3J5VXRpbCB7XG5cblxuICBzdGF0aWMgaXNKc29uQXBpU2VydmljZShpbmplY3RvcjogSW5qZWN0b3IpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb25maWcgPSBpbmplY3Rvci5nZXQoQXBwQ29uZmlnKTtcbiAgICByZXR1cm4gY29uZmlnLmdldENvbmZpZ3VyYXRpb24oKS5zZXJ2aWNlVHlwZSA9PT0gJ0pTT05BUEknIHx8XG4gICAgICBjb25maWcuZ2V0Q29uZmlndXJhdGlvbigpLnNlcnZpY2VUeXBlIGluc3RhbmNlb2YgSlNPTkFQSVNlcnZpY2U7XG4gIH1cblxuICBzdGF0aWMgaXNPbnRpbWl6ZUVFU2VydmljZShpbmplY3RvcjogSW5qZWN0b3IpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb25maWcgPSBpbmplY3Rvci5nZXQoQXBwQ29uZmlnKTtcbiAgICByZXR1cm4gKGNvbmZpZy5nZXRDb25maWd1cmF0aW9uKCkuc2VydmljZVR5cGUgPT09ICdPbnRpbWl6ZUVFJyB8fFxuICAgICAgY29uZmlnLmdldENvbmZpZ3VyYXRpb24oKS5zZXJ2aWNlVHlwZSBpbnN0YW5jZW9mIE9udGltaXplRUVTZXJ2aWNlKSB8fFxuICAgICAgKGNvbmZpZy5nZXRDb25maWd1cmF0aW9uKCkuc2VydmljZVR5cGUgPT09ICdPbnRpbWl6ZScgfHxcbiAgICAgICAgY29uZmlnLmdldENvbmZpZ3VyYXRpb24oKS5zZXJ2aWNlVHlwZSBpbnN0YW5jZW9mIE9udGltaXplU2VydmljZSk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlU2VydmljZUluc3RhbmNlQnlUeXBlKHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSwgaW5qZWN0b3I6IEluamVjdG9yKTogYW55IHtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHNlcnZpY2VUeXBlKSB8fCBTZXJ2aWNlVHlwZS5PbnRpbWl6ZUVFID09PSBzZXJ2aWNlVHlwZSkge1xuICAgICAgcmV0dXJuIG5ldyBPbnRpbWl6ZUVFU2VydmljZShpbmplY3Rvcik7XG4gICAgfVxuICAgIGlmIChTZXJ2aWNlVHlwZS5PbnRpbWl6ZSA9PT0gc2VydmljZVR5cGUpIHtcbiAgICAgIHJldHVybiBuZXcgT250aW1pemVTZXJ2aWNlKGluamVjdG9yKTtcbiAgICB9XG4gICAgaWYgKFNlcnZpY2VUeXBlLkpTT05BUEkgPT09IHNlcnZpY2VUeXBlKSB7XG4gICAgICByZXR1cm4gbmV3IEpTT05BUElTZXJ2aWNlKGluamVjdG9yKTtcbiAgICB9XG4gICAgcmV0dXJuIFV0aWwuY3JlYXRlU2VydmljZUluc3RhbmNlKHNlcnZpY2VUeXBlLCBpbmplY3Rvcik7XG5cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdldERhdGFTZXJ2aWNlSW5zdGFuY2Uoc2VydmljZVR5cGU6IGFueSwgYmFzZVNlcnZpY2U6IGFueSwgaW5qZWN0b3I6IEluamVjdG9yKTogYW55IHtcbiAgICBpZiAoIXNlcnZpY2VUeXBlKSB7XG4gICAgICByZXR1cm4gaW5qZWN0b3IuZ2V0PGFueT4oYmFzZVNlcnZpY2UpO1xuICAgIH1cblxuICAgIGlmICghW1NlcnZpY2VUeXBlLk9udGltaXplLCBTZXJ2aWNlVHlwZS5PbnRpbWl6ZUVFLCBTZXJ2aWNlVHlwZS5KU09OQVBJXS5pbmNsdWRlcyhzZXJ2aWNlVHlwZSkpIHtcbiAgICAgIHJldHVybiBGYWN0b3J5VXRpbC5jcmVhdGVTZXJ2aWNlSW5zdGFuY2VCeVR5cGUoaW5qZWN0b3IuZ2V0PGFueT4oc2VydmljZVR5cGUpLCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIEZhY3RvcnlVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZUJ5VHlwZShzZXJ2aWNlVHlwZSwgaW5qZWN0b3IpO1xuICB9XG5cbiAgIHN0YXRpYyBjb25maWd1cmVTZXJ2aWNlKGNvbmZpZ3VyZVNlcnZpY2VBcmdzOiBPQ29uZmlndXJlU2VydmljZUFyZ3MpOiBhbnkge1xuICAgICAgY29uc3QgYmFzZVNlcnZpY2UgPSBjb25maWd1cmVTZXJ2aWNlQXJncy5iYXNlU2VydmljZTtcbiAgICAgIGNvbnN0IGVudGl0eSA9IGNvbmZpZ3VyZVNlcnZpY2VBcmdzLmVudGl0eTtcbiAgICAgIGNvbnN0IHNlcnZpY2UgPSBjb25maWd1cmVTZXJ2aWNlQXJncy5zZXJ2aWNlO1xuICAgICAgY29uc3QgaW5qZWN0b3IgPSBjb25maWd1cmVTZXJ2aWNlQXJncy5pbmplY3RvcjtcblxuICAgICAgY29uc3QgY29uZmlnID0gaW5qZWN0b3IuZ2V0KEFwcENvbmZpZyk7XG4gICAgICBjb25zdCBzZXJ2aWNlQ29uZmlndXJhdGlvbiA9IGNvbmZpZy5nZXRTZXJ2aWNlQ29uZmlndXJhdGlvbigpO1xuICAgICAgY29uc3Qgc2VydmljZUNvbmZpZ3VyYXRpb25UeXBlID0gc2VydmljZUNvbmZpZ3VyYXRpb25bc2VydmljZV0/LnNlcnZpY2VUeXBlO1xuICAgICAgY29uc3Qgc2VydmljZVR5cGUgPSBjb25maWd1cmVTZXJ2aWNlQXJncy5zZXJ2aWNlVHlwZSB8fCBzZXJ2aWNlQ29uZmlndXJhdGlvblR5cGU7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGxldCBkYXRhU2VydmljZSA9IHRoaXMuZ2V0RGF0YVNlcnZpY2VJbnN0YW5jZShzZXJ2aWNlVHlwZSwgYmFzZVNlcnZpY2UsIGluamVjdG9yKTtcblxuICAgICAgICBpZiAoVXRpbC5pc0RhdGFTZXJ2aWNlKGRhdGFTZXJ2aWNlKSkge1xuICAgICAgICAgIGNvbnN0IHNlcnZpY2VDZmcgPSBkYXRhU2VydmljZS5nZXREZWZhdWx0U2VydmljZUNvbmZpZ3VyYXRpb24oc2VydmljZSk7XG4gICAgICAgICAgaWYgKGVudGl0eSkge1xuICAgICAgICAgICAgc2VydmljZUNmZy5lbnRpdHkgPSBlbnRpdHk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRhdGFTZXJ2aWNlLmNvbmZpZ3VyZVNlcnZpY2Uoc2VydmljZUNmZyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRhdGFTZXJ2aWNlO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIH1cblxuXG59XG4iXX0=
|
|
@@ -8,4 +8,6 @@ export * from './filter-expression.utils';
|
|
|
8
8
|
export * from './service.utils';
|
|
9
9
|
export * from './currencyUtil';
|
|
10
10
|
export * from './preference-mapping-util';
|
|
11
|
-
|
|
11
|
+
export * from './injection-token.utils';
|
|
12
|
+
export * from './factory.util';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXN5bmMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlNjQnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3NxbHR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2NvZGVzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWV4cHJlc3Npb24udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY3VycmVuY3lVdGlsJztcbmV4cG9ydCAqIGZyb20gJy4vcHJlZmVyZW5jZS1tYXBwaW5nLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmplY3Rpb24tdG9rZW4udXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9mYWN0b3J5LnV0aWwnO1xuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function _getInjectionTokenValue(token, injector) {
|
|
2
|
+
return injector.get(token, null);
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2VuLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3V0aWwvaW5qZWN0aW9uLXRva2VuLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sVUFBVSx1QkFBdUIsQ0FBSSxLQUF3QixFQUFFLFFBQWtCO0lBQ3JGLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHZhbHVlIGZvciB0aGUgcHJvdmlkZWQgaW5qZWN0aW9uIHRva2VuXG4gKiBAcGFyYW0gdG9rZW4gdGhlIGluamVjdGlvbiB0b2tlblxuICogQHBhcmFtIGluamVjdG9yIHRoZSBpbmplY3RvclxuICovXG5leHBvcnQgZnVuY3Rpb24gX2dldEluamVjdGlvblRva2VuVmFsdWU8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBpbmplY3RvcjogSW5qZWN0b3IpOiBUIHtcbiAgcmV0dXJuIGluamVjdG9yLmdldCh0b2tlbiwgbnVsbCk7XG5cbn1cbiJdfQ==
|
|
@@ -11,7 +11,7 @@ export class OPreferenceMappingUtils {
|
|
|
11
11
|
if (Array.isArray(value) && value.every((item) => typeof item === "object" && !Array.isArray(item))) {
|
|
12
12
|
newObj[newKey] = value.map((item) => this.mapObjectKeys(item, parameterKeyMapping || {}));
|
|
13
13
|
}
|
|
14
|
-
else if (typeof value === "object" && value !== null) {
|
|
14
|
+
else if (typeof value === "object" && value !== null && newKey !== "params") {
|
|
15
15
|
newObj[newKey] = this.mapObjectKeys(value, parameterKeyMapping || {});
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
@@ -35,11 +35,17 @@ export class OPreferenceMappingUtils {
|
|
|
35
35
|
static standarMappingKeys(array) {
|
|
36
36
|
return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.STANDARDREPORTMAPPING);
|
|
37
37
|
}
|
|
38
|
-
static
|
|
39
|
-
return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.
|
|
38
|
+
static ontimizePreferencesMappingKeys(array) {
|
|
39
|
+
return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.ONTIMIZEPREFERENCESMAPPING);
|
|
40
40
|
}
|
|
41
|
-
static
|
|
42
|
-
return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.
|
|
41
|
+
static ontimizePreferencesDataMapping(array) {
|
|
42
|
+
return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.ONTIMIZEPREFERENCESMAPPING, OPreferenceMappingUtils.ONTIMIZEPARAMETERMAPPING);
|
|
43
|
+
}
|
|
44
|
+
static jsonApiPreferencesMappingKeys(array) {
|
|
45
|
+
return OPreferenceMappingUtils.transformKeys(array, OPreferenceMappingUtils.JSONAPIPREFERENCESMAPPING);
|
|
46
|
+
}
|
|
47
|
+
static jsonApiPreferencesDataMapping(array) {
|
|
48
|
+
return OPreferenceMappingUtils.transformData(array, OPreferenceMappingUtils.JSONAPIPREFERENCESMAPPING);
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
OPreferenceMappingUtils.STANDARDREPORTMAPPING = {
|
|
@@ -68,7 +74,7 @@ OPreferenceMappingUtils.ONTIMIZEPARAMETERMAPPING = {
|
|
|
68
74
|
"reportParameterName": "name",
|
|
69
75
|
"reportParameterDescription": "description"
|
|
70
76
|
};
|
|
71
|
-
OPreferenceMappingUtils.
|
|
77
|
+
OPreferenceMappingUtils.ONTIMIZEPREFERENCESMAPPING = {
|
|
72
78
|
"preferenceid": "id",
|
|
73
79
|
"preferencename": "name",
|
|
74
80
|
"preferencedescription": "description",
|
|
@@ -77,4 +83,13 @@ OPreferenceMappingUtils.ONTIMIZEREPORTMAPPING = {
|
|
|
77
83
|
"preferencetype": "type",
|
|
78
84
|
"preferenceparameters": "params"
|
|
79
85
|
};
|
|
80
|
-
|
|
86
|
+
OPreferenceMappingUtils.JSONAPIPREFERENCESMAPPING = {
|
|
87
|
+
"preferenceid": "PREFERENCEID",
|
|
88
|
+
"preferencename": "PREFERENCENAME",
|
|
89
|
+
"preferencedescription": "PREFERENCEDESCRIPTION",
|
|
90
|
+
"preferenceentity": "PREFERENCEENTITY",
|
|
91
|
+
"preferenceservice": "PREFERENCESERVICE",
|
|
92
|
+
"preferencetype": "PREFERENCETYPE",
|
|
93
|
+
"preferenceparameters": "PREFERENCEPREFERENCES"
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZS1tYXBwaW5nLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9wcmVmZXJlbmNlLW1hcHBpbmctdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sdUJBQXVCO0lBcURsQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQWMsRUFBRSxVQUFxQztRQUN4RSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUM7SUFFbkQsQ0FBQztJQU1PLE1BQU0sQ0FBQyxhQUFhLENBQzFCLEdBQVEsRUFDUixVQUFxQyxFQUNyQyxtQkFBK0M7UUFFL0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBc0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM5RSxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDO1lBRXRDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBRW5HLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxD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Z0I7SUFDeEIsUUFBUSxFQUFFLHNCQUFzQjtDQUNqQyxDQUFDO0FBRWMsZ0RBQXdCLEdBQUc7SUFDekMsTUFBTSxFQUFFLHFCQUFxQjtJQUM3QixhQUFhLEVBQUUsNEJBQTRCO0NBQzVDLENBQUM7QUFFYyxnREFBd0IsR0FBRztJQUN6QyxxQkFBcUIsRUFBRSxNQUFNO0lBQzdCLDRCQUE0QixFQUFFLGFBQWE7Q0FDNUMsQ0FBQztBQUdjLGtEQUEwQixHQUFHO0lBQzNDLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGdCQUFnQixFQUFFLE1BQU07SUFDeEIsdUJBQXVCLEVBQUUsYUFBYTtJQUN0QyxrQkFBa0IsRUFBRSxRQUFRO0lBQzVCLG1CQUFtQixFQUFFLFNBQVM7SUFDOUIsZ0JBQWdCLEVBQUUsTUFBTTtJQUN4QixzQkFBc0IsRUFBRSxRQUFRO0NBQ2pDLENBQUM7QUFFYyxpREFBeUIsR0FBRztJQUMxQyxjQUFjLEVBQUUsY0FBYztJQUM5QixnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDbEMsdUJBQXVCLEVBQUUsdUJBQXVCO0lBQ2hELGtCQUFrQixFQUFFLGtCQUFrQjtJQUN0QyxtQkFBbUIsRUFBRSxtQkFBbUI7SUFDeEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ2xDLHNCQUFzQixFQUFFLHVCQUF1QjtDQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBjbGFzcyBPUHJlZmVyZW5jZU1hcHBpbmdVdGlscyB7XG5cbiAgc3RhdGljIHJlYWRvbmx5IFNUQU5EQVJEUkVQT1JUTUFQUElORyA9IHtcbiAgICBcIklEXCI6IFwiUFJFRkVSRU5DRUlEXCIsXG4gICAgXCJOQU1FXCI6IFwiUFJFRkVSRU5DRU5BTUVcIixcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiUFJFRkVSRU5DRURFU0NSSVBUSU9OXCIsXG4gICAgXCJFTlRJVFlcIjogXCJQUkVGRVJFTkNFRU5USVRZXCIsXG4gICAgXCJTRVJWSUNFXCI6IFwiUFJFRkVSRU5DRVNFUlZJQ0VcIixcbiAgICBcIlRZUEVcIjogXCJQUkVGRVJFTkNFVFlQRVwiLFxuICAgIFwiUFJFRkVSRU5DRVNcIjogXCJQUkVGRVJFTkNFUFJFRkVSRU5DRVNcIlxuICB9O1xuXG4gIHN0YXRpYyByZWFkb25seSBTVEFOREFSRElOU0VSVFJFUE9SVE1BUFBJTkcgPSB7XG4gICAgXCJpZFwiOiBcInByZWZlcmVuY2VpZFwiLFxuICAgIFwibmFtZVwiOiBcInByZWZlcmVuY2VuYW1lXCIsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcInByZWZlcmVuY2VkZXNjcmlwdGlvblwiLFxuICAgIFwiZW50aXR5XCI6IFwicHJlZmVyZW5jZWVudGl0eVwiLFxuICAgIFwic2VydmljZVwiOiBcInByZWZlcmVuY2VzZXJ2aWNlXCIsXG4gICAgXCJ0eXBlXCI6IFwicHJlZmVyZW5jZXR5cGVcIixcbiAgICBcInBhcmFtc1wiOiBcInByZWZlcmVuY2VwYXJhbWV0ZXJzXCJcbiAgfTtcblxuICBzdGF0aWMgcmVhZG9ubHkgU1RBTkRBUkRQQVJBTUVURVJNQVBQSU5HID0ge1xuICAgIFwibmFtZVwiOiBcInJlcG9ydFBhcmFtZXRlck5hbWVcIixcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwicmVwb3J0UGFyYW1ldGVyRGVzY3JpcHRpb25cIlxuICB9O1xuXG4gIHN0YXRpYyByZWFkb25seSBPTlRJTUlaRVBBUkFNRVRFUk1BUFBJTkcgPSB7XG4gICAgXCJyZXBvcnRQYXJhbWV0ZXJOYW1lXCI6IFwibmFtZVwiLFxuICAgIFwicmVwb3J0UGFyYW1ldGVyRGVzY3JpcHRpb25cIjogXCJkZXNjcmlwdGlvblwiXG4gIH07XG5cblxuICBzdGF0aWMgcmVhZG9ubHkgT05USU1JWkVQUkVGRVJFTkNFU01BUFBJTkcgPSB7XG4gICAgXCJwcmVmZXJlbmNlaWRcIjogXCJpZFwiLFxuICAgIFwicHJlZmVyZW5jZW5hbWVcIjogXCJuYW1lXCIsXG4gICAgXCJwcmVmZXJlbmNlZGVzY3JpcHRpb25cIjogXCJkZXNjcmlwdGlvblwiLFxuICAgIFwicHJlZmVyZW5jZWVudGl0eVwiOiBcImVudGl0eVwiLFxuICAgIFwicHJlZmVyZW5jZXNlcnZpY2VcIjogXCJzZXJ2aWNlXCIsXG4gICAgXCJwcmVmZXJlbmNldHlwZVwiOiBcInR5cGVcIixcbiAgICBcInByZWZlcmVuY2VwYXJhbWV0ZXJzXCI6IFwicGFyYW1zXCJcbiAgfTtcblxuICBzdGF0aWMgcmVhZG9ubHkgSlNPTkFQSVBSRUZFUkVOQ0VTTUFQUElORyA9IHtcbiAgICBcInByZWZlcmVuY2VpZFwiOiBcIlBSRUZFUkVOQ0VJRFwiLFxuICAgIFwicHJlZmVyZW5jZW5hbWVcIjogXCJQUkVGRVJFTkNFTkFNRVwiLFxuICAgIFwicHJlZmVyZW5jZWRlc2NyaXB0aW9uXCI6IFwiUFJFRkVSRU5DRURFU0NSSVBUSU9OXCIsXG4gICAgXCJwcmVmZXJlbmNlZW50aXR5XCI6IFwiUFJFRkVSRU5DRUVOVElUWVwiLFxuICAgIFwicHJlZmVyZW5jZXNlcnZpY2VcIjogXCJQUkVGRVJFTkNFU0VSVklDRVwiLFxuICAgIFwicHJlZmVyZW5jZXR5cGVcIjogXCJQUkVGRVJFTkNFVFlQRVwiLFxuICAgIFwicHJlZmVyZW5jZXBhcmFtZXRlcnNcIjogXCJQUkVGRVJFTkNFUFJFRkVSRU5DRVNcIlxuICB9O1xuXG4gIHN0YXRpYyB0cmFuc2Zvcm1LZXlzKGRhdGE6IHN0cmluZ1tdLCBrZXlNYXBwaW5nOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogc3RyaW5nW10ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG4gICAgcmV0dXJuIGRhdGEubWFwKChrZXkpID0+IGtleU1hcHBpbmdba2V5XSB8fCBrZXkpO1xuXG4gIH1cblxuICAvKipcbiAgICAqIFRyYW5zZm9ybWEgdW4gb2JqZXRvIG1hcGVhbmRvIHN1cyBjbGF2ZXMgc2Vnw7puIGVsIGRpY2Npb25hcmlvIHByb3BvcmNpb25hZG8uXG4gICAgKi9cblxuICBwcml2YXRlIHN0YXRpYyBtYXBPYmplY3RLZXlzKFxuICAgIG9iajogYW55LFxuICAgIGtleU1hcHBpbmc6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgcGFyYW1ldGVyS2V5TWFwcGluZz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlPFJlY29yZDxzdHJpbmcsIGFueT4+KChuZXdPYmosIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgbmV3S2V5ID0ga2V5TWFwcGluZ1trZXldIHx8IGtleTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KChpdGVtKSA9PiB0eXBlb2YgaXRlbSA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShpdGVtKSkpIHtcbiAgICAgICAgLy8gVHJhbnNmb3JtYXIgY2xhdmVzIGRlIG9iamV0b3MgZGVudHJvIGRlIGFycmF5c1xuICAgICAgICBuZXdPYmpbbmV3S2V5XSA9IHZhbHVlLm1hcCgoaXRlbSkgPT4gdGhpcy5tYXBPYmplY3RLZXlzKGl0ZW0sIHBhcmFtZXRlcktleU1hcHBpbmcgfHwge30pKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlICE9PSBudWxsICYmIG5ld0tleSAhPT0gXCJwYXJhbXNcIikge1xuICAgICAgICAvLyBUcmFuc2Zvcm1hciBjbGF2ZXMgZGUgb2JqZXRvcyBhbmlkYWRvc1xuICAgICAgICBuZXdPYmpbbmV3S2V5XSA9IHRoaXMubWFwT2JqZWN0S2V5cyh2YWx1ZSwgcGFyYW1ldGVyS2V5TWFwcGluZyB8fCB7fSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdPYmpbbmV3S2V5XSA9IHZhbHVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3T2JqO1xuICAgIH0sIHt9KTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIFRyYW5zZm9ybWEgbG9zIGRhdG9zLCB5YSBzZWEgdW4gc29sbyBvYmpldG8gbyB1biBhcnJheSBkZSBvYmpldG9zLCBhcGxpY2FuZG8gbG9zIG1hcGVvcyBkZSBjbGF2ZXMuXG4gICAqL1xuICBzdGF0aWMgdHJhbnNmb3JtRGF0YShkYXRhOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdLCBrZXlNYXBwaW5nOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LCBwYXJhbWV0ZXJLZXlNYXBwaW5nPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSB8IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICByZXR1cm4gZGF0YS5tYXAoKG9iaikgPT4gdGhpcy5tYXBPYmplY3RLZXlzKG9iaiwga2V5TWFwcGluZywgcGFyYW1ldGVyS2V5TWFwcGluZykpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09IFwib2JqZWN0XCIgJiYgZGF0YSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubWFwT2JqZWN0S2V5cyhkYXRhLCBrZXlNYXBwaW5nLCBwYXJhbWV0ZXJLZXlNYXBwaW5nKTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICBzdGF0aWMgc3RhbmRhckRhdGFNYXBwaW5nKGFycmF5OiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfVtdIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIE9QcmVmZXJlbmNlTWFwcGluZ1V0aWxzLnRyYW5zZm9ybURhdGEoYXJyYXksIE9QcmVmZXJlbmNlTWFwcGluZ1V0aWxzLlNUQU5EQVJEUkVQT1JUTUFQUElORywgT1ByZWZlcmVuY2VNYXBwaW5nVXRpbHMuU1RBTkRBUkRQQVJBTUVURVJNQVBQSU5HKTtcbiAgfVxuXG4gIHN0YXRpYyBzdGFuZGFyTWFwcGluZ0tleXMoYXJyYXk6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPUHJlZmVyZW5jZU1hcHBpbmdVdGlscy50cmFuc2Zvcm1LZXlzKGFycmF5LCBPUHJlZmVyZW5jZU1hcHBpbmdVdGlscy5TVEFOREFSRFJFUE9SVE1BUFBJTkcpO1xuICB9XG5cbiAgc3RhdGljIG9udGltaXplUHJlZmVyZW5jZXNNYXBwaW5nS2V5cyhhcnJheTogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9QcmVmZXJlbmNlTWFwcGluZ1V0aWxzLnRyYW5zZm9ybUtleXMoYXJyYXksIE9QcmVmZXJlbmNlTWFwcGluZ1V0aWxzLk9OVElNSVpFUFJFRkVSRU5DRVNNQVBQSU5HKTtcbiAgfVxuXG4gIHN0YXRpYyBvbnRpbWl6ZVByZWZlcmVuY2VzRGF0YU1hcHBpbmcoYXJyYXk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9W10pOiB7IFtrZXk6IHN0cmluZ106IGFueSB9W10gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gT1ByZWZlcmVuY2VNYXBwaW5nVXRpbHMudHJhbnNmb3JtRGF0YShhcnJheSwgT1ByZWZlcmVuY2VNYXBwaW5nVXRpbHMuT05USU1JWkVQUkVGRVJFTkNFU01BUFBJTkcsIE9QcmVmZXJlbmNlTWFwcGluZ1V0aWxzLk9OVElNSVpFUEFSQU1FVEVSTUFQUElORyk7XG4gIH1cblxuICBzdGF0aWMganNvbkFwaVByZWZlcmVuY2VzTWFwcGluZ0tleXMoYXJyYXk6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBPUHJlZmVyZW5jZU1hcHBpbmdVdGlscy50cmFuc2Zvcm1LZXlzKGFycmF5LCBPUHJlZmVyZW5jZU1hcHBpbmdVdGlscy5KU09OQVBJUFJFRkVSRU5DRVNNQVBQSU5HKTtcbiAgfVxuXG4gIHN0YXRpYyBqc29uQXBpUHJlZmVyZW5jZXNEYXRhTWFwcGluZyhhcnJheTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSk6IHsgW2tleTogc3RyaW5nXTogYW55IH1bXSB8IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiBPUHJlZmVyZW5jZU1hcHBpbmdVdGlscy50cmFuc2Zvcm1EYXRhKGFycmF5LCBPUHJlZmVyZW5jZU1hcHBpbmdVdGlscy5KU09OQVBJUFJFRkVSRU5DRVNNQVBQSU5HKTtcbiAgfVxuXG5cblxuXG59XG4iXX0=
|
|
@@ -273,7 +273,7 @@ export class SQLTypes {
|
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
catch (err) {
|
|
276
|
-
console.error('SQLTypes.parseUsingSQLType error');
|
|
276
|
+
console.error('SQLTypes.parseUsingSQLType error:', err, '| value:', arg, '| type:', type);
|
|
277
277
|
}
|
|
278
278
|
return value;
|
|
279
279
|
}
|
|
@@ -329,4 +329,4 @@ SQLTypes.NCLOB = 2011;
|
|
|
329
329
|
SQLTypes.BASE64 = 6464;
|
|
330
330
|
SQLTypes.UUID = 6465;
|
|
331
331
|
SQLTypes.SQLXML = 2009;
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9zcWx0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sT0FBTyxRQUFRO0lBcVJaLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBWTtRQUN4QyxJQUFJLEtBQWEsQ0FBQztRQUNsQixJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssS0FBSztnQkFDUixLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDckIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssVUFBVTtnQkFDYixLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDMUIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixLQUFLLEdBQUcs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QUcsQ0FBQyxDQUFDLENBQUM7QUFRWCxjQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFRWixpQkFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBUWQscUJBQVksR0FBRyxDQUFDLEVBQUUsQ0FBQztBQVFuQixjQUFLLEdBQUcsSUFBSSxDQUFDO0FBRWIsZUFBTSxHQUFHLElBQUksQ0FBQztBQUVkLGFBQUksR0FBRyxJQUFJLENBQUM7QUFRWixlQUFNLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXRpbCB9IGZyb20gXCIuL3V0aWxcIjtcblxuZXhwb3J0IGNsYXNzIFNRTFR5cGVzIHtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5CSVQ8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCSVQgPSAtNztcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5USU5ZSU5UPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgVElOWUlOVCA9IC02O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPlNNQUxMSU5UPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgU01BTExJTlQgPSA1O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPklOVEVHRVI8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBJTlRFR0VSID0gNDtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5CSUdJTlQ8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCSUdJTlQgPSAtNTtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5GTE9BVDwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEZMT0FUID0gNjtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5SRUFMPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgUkVBTCA9IDc7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+RE9VQkxFPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRE9VQkxFID0gODtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5OVU1FUklDPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgTlVNRVJJQyA9IDI7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+REVDSU1BTDwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERFQ0lNQUwgPSAzO1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkNIQVI8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBDSEFSID0gMTtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5WQVJDSEFSPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgVkFSQ0hBUiA9IDEyO1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkxPTkdWQVJDSEFSPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgTE9OR1ZBUkNIQVIgPSAtMTtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5EQVRFPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgREFURSA9IDkxO1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPlRJTUU8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBUSU1FID0gOTI7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+VElNRVNUQU1QPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgVElNRVNUQU1QID0gOTM7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+QklOQVJZPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgQklOQVJZID0gLTI7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+VkFSQklOQVJZPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgVkFSQklOQVJZID0gLTM7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+TE9OR1ZBUkJJTkFSWTwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIExPTkdWQVJCSU5BUlkgPSAtNDtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlXG4gICAqIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdmFsdWVcbiAgICogPGNvZGU+TlVMTDwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIE5VTEwgPSAwO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgdGhhdCBpbmRpY2F0ZXNcbiAgICogdGhhdCB0aGUgU1FMIHR5cGUgaXMgZGF0YWJhc2Utc3BlY2lmaWMgYW5kXG4gICAqIGdldHMgbWFwcGVkIHRvIGEgSmF2YSBvYmplY3QgdGhhdCBjYW4gYmUgYWNjZXNzZWQgdmlhXG4gICAqIHRoZSBtZXRob2RzIDxjb2RlPmdldE9iamVjdDwvY29kZT4gYW5kIDxjb2RlPnNldE9iamVjdDwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIE9USEVSID0gMTExMTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5KQVZBX09CSkVDVDwvY29kZT4uXG4gICAqIEBzaW5jZSAxLjJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgSkFWQV9PQkpFQ1QgPSAyMDAwO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZCB0b1xuICAgKiBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkRJU1RJTkNUPC9jb2RlPi5cbiAgICogQHNpbmNlIDEuMlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBESVNUSU5DVCA9IDIwMDE7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+U1RSVUNUPC9jb2RlPi5cbiAgICogQHNpbmNlIDEuMlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBTVFJVQ1QgPSAyMDAyO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZCB0b1xuICAgKiBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkFSUkFZPC9jb2RlPi5cbiAgICogQHNpbmNlIDEuMlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBBUlJBWSA9IDIwMDM7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+QkxPQjwvY29kZT4uXG4gICAqIEBzaW5jZSAxLjJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgQkxPQiA9IDIwMDQ7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+Q0xPQjwvY29kZT4uXG4gICAqIEBzaW5jZSAxLjJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgQ0xPQiA9IDIwMDU7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+UkVGPC9jb2RlPi5cbiAgICogQHNpbmNlIDEuMlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBSRUYgPSAyMDA2O1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGUgPGNvZGU+REFUQUxJTks8L2NvZGU+LlxuICAgKlxuICAgKiBAc2luY2UgMS40XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERBVEFMSU5LID0gNzA7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tdGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZSA8Y29kZT5CT09MRUFOPC9jb2RlPi5cbiAgICpcbiAgICogQHNpbmNlIDEuNFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCT09MRUFOID0gMTY7XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBKREJDIDQuMCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZCB0b1xuICAgKiBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlIDxjb2RlPlJPV0lEPC9jb2RlPlxuICAgKlxuICAgKiBAc2luY2UgMS42XG4gICAqXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFJPV0lEID0gLTg7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGUgPGNvZGU+TkNIQVI8L2NvZGU+XG4gICAqXG4gICAqIEBzaW5jZSAxLjZcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgTkNIQVIgPSAtMTU7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGUgPGNvZGU+TlZBUkNIQVI8L2NvZGU+LlxuICAgKlxuICAgKiBAc2luY2UgMS42XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIE5WQVJDSEFSID0gLTk7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGUgPGNvZGU+TE9OR05WQVJDSEFSPC9jb2RlPi5cbiAgICpcbiAgICogQHNpbmNlIDEuNlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBMT05HTlZBUkNIQVIgPSAtMTY7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGUgPGNvZGU+TkNMT0I8L2NvZGU+LlxuICAgKlxuICAgKiBAc2luY2UgMS42XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIE5DTE9CID0gMjAxMTtcblxuICBwdWJsaWMgc3RhdGljIEJBU0U2NCA9IDY0NjQ7XG5cbiAgcHVibGljIHN0YXRpYyBVVUlEID0gNjQ2NTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZSA8Y29kZT5YTUw8L2NvZGU+LlxuICAgKlxuICAgKiBAc2luY2UgMS42XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFNRTFhNTCA9IDIwMDk7XG5cbiAgcHVibGljIHN0YXRpYyBnZXRTUUxUeXBlVmFsdWUodHlwZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgdmFsdWU6IG51bWJlcjtcbiAgICB0eXBlID0gdHlwZSA/IHR5cGUudG9VcHBlckNhc2UoKSA6ICcnO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnQklUJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5CSVQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVElOWUlOVCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuVElOWUlOVDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdTTUFMTElOVCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuU01BTExJTlQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnSU5URUdFUic6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuSU5URUdFUjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdCSUdJTlQnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkJJR0lOVDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdGTE9BVCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuRkxPQVQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUkVBTCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuUkVBTDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdET1VCTEUnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkRPVUJMRTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOVU1FUklDJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5OVU1FUklDO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RFQ0lNQUwnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkRFQ0lNQUw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQ0hBUic6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuQ0hBUjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdWQVJDSEFSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5WQVJDSEFSO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0xPTkdWQVJDSEFSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5MT05HVkFSQ0hBUjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEQVRFJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5EQVRFO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RJTUUnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLlRJTUU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVElNRVNUQU1QJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5USU1FU1RBTVA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQklOQVJZJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5CSU5BUlk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVkFSQklOQVJZJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5WQVJCSU5BUlk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTE9OR1ZBUkJJTkFSWSc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuTE9OR1ZBUkJJTkFSWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOVUxMJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5OVUxMO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ09USEVSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5PVEhFUjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdKQVZBX09CSkVDVCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuSkFWQV9PQkpFQ1Q7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRElTVElOQ1QnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkRJU1RJTkNUO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1NUUlVDVCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuU1RSVUNUO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0FSUkFZJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5BUlJBWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdCTE9CJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5CTE9CO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0NMT0InOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkNMT0I7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUkVGJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5SRUY7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnREFUQUxJTksnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkRBVEFMSU5LO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0JPT0xFQU4nOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkJPT0xFQU47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnUk9XSUQnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLlJPV0lEO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ05DSEFSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5OQ0hBUjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOVkFSQ0hBUic6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuTlZBUkNIQVI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTE9OR05WQVJDSEFSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5MT05HTlZBUkNIQVI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTkNMT0InOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLk5DTE9CO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1NRTFhNTCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuU1FMWE1MO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0JBU0U2NCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuQkFTRTY0O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1VVSUQnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLlVVSUQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5PVEhFUjtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0U1FMVHlwZUtleSh0eXBlOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGxldCB2YWx1ZTogc3RyaW5nO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBTUUxUeXBlcy5CSVQ6XG4gICAgICAgIHZhbHVlID0gJ0JJVCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5USU5ZSU5UOlxuICAgICAgICB2YWx1ZSA9ICdUSU5ZSU5UJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlNNQUxMSU5UOlxuICAgICAgICB2YWx1ZSA9ICdTTUFMTElOVCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5JTlRFR0VSOlxuICAgICAgICB2YWx1ZSA9ICdJTlRFR0VSJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkJJR0lOVDpcbiAgICAgICAgdmFsdWUgPSAnQklHSU5UJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkZMT0FUOlxuICAgICAgICB2YWx1ZSA9ICdGTE9BVCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5SRUFMOlxuICAgICAgICB2YWx1ZSA9ICdSRUFMJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkRPVUJMRTpcbiAgICAgICAgdmFsdWUgPSAnRE9VQkxFJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLk5VTUVSSUM6XG4gICAgICAgIHZhbHVlID0gJ05VTUVSSUMnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuREVDSU1BTDpcbiAgICAgICAgdmFsdWUgPSAnREVDSU1BTCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5DSEFSOlxuICAgICAgICB2YWx1ZSA9ICdDSEFSJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlZBUkNIQVI6XG4gICAgICAgIHZhbHVlID0gJ1ZBUkNIQVInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuTE9OR1ZBUkNIQVI6XG4gICAgICAgIHZhbHVlID0gJ0xPTkdWQVJDSEFSJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkRBVEU6XG4gICAgICAgIHZhbHVlID0gJ0RBVEUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuVElNRTpcbiAgICAgICAgdmFsdWUgPSAnVElNRSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5USU1FU1RBTVA6XG4gICAgICAgIHZhbHVlID0gJ1RJTUVTVEFNUCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5CSU5BUlk6XG4gICAgICAgIHZhbHVlID0gJ0JJTkFSWSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5WQVJCSU5BUlk6XG4gICAgICAgIHZhbHVlID0gJ1ZBUkJJTkFSWSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5MT05HVkFSQklOQVJZOlxuICAgICAgICB2YWx1ZSA9ICdMT05HVkFSQklOQVJZJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLk5VTEw6XG4gICAgICAgIHZhbHVlID0gJ05VTEwnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuT1RIRVI6XG4gICAgICAgIHZhbHVlID0gJ09USEVSJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkpBVkFfT0JKRUNUOlxuICAgICAgICB2YWx1ZSA9ICdKQVZBX09CSkVDVCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5ESVNUSU5DVDpcbiAgICAgICAgdmFsdWUgPSAnRElTVElOQ1QnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuU1RSVUNUOlxuICAgICAgICB2YWx1ZSA9ICdTVFJVQ1QnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuQVJSQVk6XG4gICAgICAgIHZhbHVlID0gJ0FSUkFZJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkJMT0I6XG4gICAgICAgIHZhbHVlID0gJ0JMT0InO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuQ0xPQjpcbiAgICAgICAgdmFsdWUgPSAnQ0xPQic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5SRUY6XG4gICAgICAgIHZhbHVlID0gJ1JFRic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5EQVRBTElOSzpcbiAgICAgICAgdmFsdWUgPSAnREFUQUxJTksnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuQk9PTEVBTjpcbiAgICAgICAgdmFsdWUgPSAnQk9PTEVBTic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5ST1dJRDpcbiAgICAgICAgdmFsdWUgPSAnUk9XSUQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuTkNIQVI6XG4gICAgICAgIHZhbHVlID0gJ05DSEFSJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLk5WQVJDSEFSOlxuICAgICAgICB2YWx1ZSA9ICdOVkFSQ0hBUic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5MT05HTlZBUkNIQVI6XG4gICAgICAgIHZhbHVlID0gJ0xPTkdOVkFSQ0hBUic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5OQ0xPQjpcbiAgICAgICAgdmFsdWUgPSAnTkNMT0InO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuU1FMWE1MOlxuICAgICAgICB2YWx1ZSA9ICdTUUxYTUwnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuQkFTRTY0OlxuICAgICAgICB2YWx1ZSA9ICdCQVNFNjQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuVVVJRDpcbiAgICAgICAgdmFsdWUgPSAnVVVJRCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdmFsdWUgPSAnT1RIRVInO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBwYXJzZVVzaW5nU1FMVHlwZShhcmc6IGFueSwgdHlwZTogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgdmFsdWUgPSBhcmc7XG4gICAgdHlwZSA9IHR5cGUgPyB0eXBlLnRvVXBwZXJDYXNlKCkgOiAnJztcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKGFyZykpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlICdUSU5ZSU5UJzpcbiAgICAgICAgY2FzZSAnU01BTExJTlQnOlxuICAgICAgICBjYXNlICdJTlRFR0VSJzpcbiAgICAgICAgY2FzZSAnQklHSU5UJzpcbiAgICAgICAgICB2YWx1ZSA9IE51bWJlcihhcmcpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdGTE9BVCc6XG4gICAgICAgIGNhc2UgJ1JFQUwnOlxuICAgICAgICBjYXNlICdET1VCTEUnOlxuICAgICAgICBjYXNlICdOVU1FUklDJzpcbiAgICAgICAgY2FzZSAnREVDSU1BTCc6XG4gICAgICAgICAgdmFsdWUgPSBwYXJzZUZsb2F0KGFyZyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdTUUxUeXBlcy5wYXJzZVVzaW5nU1FMVHlwZSBlcnJvcicpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzTnVtZXJpY1NRTFR5cGUoYXJnOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1xuICAgICAgU1FMVHlwZXMuVElOWUlOVCxcbiAgICAgIFNRTFR5cGVzLlNNQUxMSU5ULFxuICAgICAgU1FMVHlwZXMuSU5URUdFUixcbiAgICAgIFNRTFR5cGVzLkJJR0lOVCxcbiAgICAgIFNRTFR5cGVzLkZMT0FULFxuICAgICAgU1FMVHlwZXMuUkVBTCxcbiAgICAgIFNRTFR5cGVzLkRPVUJMRSxcbiAgICAgIFNRTFR5cGVzLk5VTUVSSUMsXG4gICAgICBTUUxUeXBlcy5ERUNJTUFMXG4gICAgXS5pbmRleE9mKGFyZykgIT09IC0xO1xuICB9XG5cbn1cbiJdfQ==
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FsdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9vbnRpbWl6ZS13ZWItbmd4L3NyYy9saWIvdXRpbC9zcWx0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRTlCLE1BQU0sT0FBTyxRQUFRO0lBcVJaLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBWTtRQUN4QyxJQUFJLEtBQWEsQ0FBQztRQUNsQixJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN0QyxRQUFRLElBQUksRUFBRTtZQUNaLEtBQUssS0FBSztnQkFDUixLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDckIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssVUFBVTtnQkFDYixLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztnQkFDMUIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDekIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssT0FBTztnQkFDVixLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDdkIsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixLQUFLLEdBQUcs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RyxFQUFFLENBQUM7QUFRZCxnQkFBTyxHQUFHLEVBQUUsQ0FBQztBQVdiLGNBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztBQVFYLGNBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztBQVFaLGlCQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFRZCxxQkFBWSxHQUFHLENBQUMsRUFBRSxDQUFDO0FBUW5CLGNBQUssR0FBRyxJQUFJLENBQUM7QUFFYixlQUFNLEdBQUcsSUFBSSxDQUFDO0FBRWQsYUFBSSxHQUFHLElBQUksQ0FBQztBQVFaLGVBQU0sR0FBRyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVdGlsIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5leHBvcnQgY2xhc3MgU1FMVHlwZXMge1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkJJVDwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEJJVCA9IC03O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPlRJTllJTlQ8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBUSU5ZSU5UID0gLTY7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+U01BTExJTlQ8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBTTUFMTElOVCA9IDU7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+SU5URUdFUjwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIElOVEVHRVIgPSA0O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkJJR0lOVDwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEJJR0lOVCA9IC01O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkZMT0FUPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgRkxPQVQgPSA2O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPlJFQUw8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBSRUFMID0gNztcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5ET1VCTEU8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBET1VCTEUgPSA4O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPk5VTUVSSUM8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBOVU1FUklDID0gMjtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5ERUNJTUFMPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgREVDSU1BTCA9IDM7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+Q0hBUjwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIENIQVIgPSAxO1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPlZBUkNIQVI8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBWQVJDSEFSID0gMTI7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+TE9OR1ZBUkNIQVI8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBMT05HVkFSQ0hBUiA9IC0xO1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZFxuICAgKiB0byBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkRBVEU8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBEQVRFID0gOTE7XG5cbiAgLyoqXG4gICAqIDxQPlRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkXG4gICAqIHRvIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+VElNRTwvY29kZT4uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFRJTUUgPSA5MjtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5USU1FU1RBTVA8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBUSU1FU1RBTVAgPSA5MztcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5CSU5BUlk8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCSU5BUlkgPSAtMjtcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5WQVJCSU5BUlk8L2NvZGU+LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBWQVJCSU5BUlkgPSAtMztcblxuICAvKipcbiAgICogPFA+VGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWRcbiAgICogdG8gYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5MT05HVkFSQklOQVJZPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgTE9OR1ZBUkJJTkFSWSA9IC00O1xuXG4gIC8qKlxuICAgKiA8UD5UaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VcbiAgICogdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB2YWx1ZVxuICAgKiA8Y29kZT5OVUxMPC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgTlVMTCA9IDA7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSB0aGF0IGluZGljYXRlc1xuICAgKiB0aGF0IHRoZSBTUUwgdHlwZSBpcyBkYXRhYmFzZS1zcGVjaWZpYyBhbmRcbiAgICogZ2V0cyBtYXBwZWQgdG8gYSBKYXZhIG9iamVjdCB0aGF0IGNhbiBiZSBhY2Nlc3NlZCB2aWFcbiAgICogdGhlIG1ldGhvZHMgPGNvZGU+Z2V0T2JqZWN0PC9jb2RlPiBhbmQgPGNvZGU+c2V0T2JqZWN0PC9jb2RlPi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgT1RIRVIgPSAxMTExO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZCB0b1xuICAgKiBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlXG4gICAqIDxjb2RlPkpBVkFfT0JKRUNUPC9jb2RlPi5cbiAgICogQHNpbmNlIDEuMlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBKQVZBX09CSkVDVCA9IDIwMDA7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+RElTVElOQ1Q8L2NvZGU+LlxuICAgKiBAc2luY2UgMS4yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIERJU1RJTkNUID0gMjAwMTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5TVFJVQ1Q8L2NvZGU+LlxuICAgKiBAc2luY2UgMS4yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFNUUlVDVCA9IDIwMDI7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGVcbiAgICogPGNvZGU+QVJSQVk8L2NvZGU+LlxuICAgKiBAc2luY2UgMS4yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEFSUkFZID0gMjAwMztcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5CTE9CPC9jb2RlPi5cbiAgICogQHNpbmNlIDEuMlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBCTE9CID0gMjAwNDtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5DTE9CPC9jb2RlPi5cbiAgICogQHNpbmNlIDEuMlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBDTE9CID0gMjAwNTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZVxuICAgKiA8Y29kZT5SRUY8L2NvZGU+LlxuICAgKiBAc2luY2UgMS4yXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIFJFRiA9IDIwMDY7XG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tdGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZSA8Y29kZT5EQVRBTElOSzwvY29kZT4uXG4gICAqXG4gICAqIEBzaW5jZSAxLjRcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgREFUQUxJTksgPSA3MDtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb210aW1lcyByZWZlcnJlZCB0b1xuICAgKiBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlIDxjb2RlPkJPT0xFQU48L2NvZGU+LlxuICAgKlxuICAgKiBAc2luY2UgMS40XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIEJPT0xFQU4gPSAxNjtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEpEQkMgNC4wIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLyoqXG4gICAqIFRoZSBjb25zdGFudCBpbiB0aGUgSmF2YSBwcm9ncmFtbWluZyBsYW5ndWFnZSwgc29tZXRpbWVzIHJlZmVycmVkIHRvXG4gICAqIGFzIGEgdHlwZSBjb2RlLCB0aGF0IGlkZW50aWZpZXMgdGhlIGdlbmVyaWMgU1FMIHR5cGUgPGNvZGU+Uk9XSUQ8L2NvZGU+XG4gICAqXG4gICAqIEBzaW5jZSAxLjZcbiAgICpcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgUk9XSUQgPSAtODtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZSA8Y29kZT5OQ0hBUjwvY29kZT5cbiAgICpcbiAgICogQHNpbmNlIDEuNlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBOQ0hBUiA9IC0xNTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZSA8Y29kZT5OVkFSQ0hBUjwvY29kZT4uXG4gICAqXG4gICAqIEBzaW5jZSAxLjZcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgTlZBUkNIQVIgPSAtOTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZSA8Y29kZT5MT05HTlZBUkNIQVI8L2NvZGU+LlxuICAgKlxuICAgKiBAc2luY2UgMS42XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIExPTkdOVkFSQ0hBUiA9IC0xNjtcblxuICAvKipcbiAgICogVGhlIGNvbnN0YW50IGluIHRoZSBKYXZhIHByb2dyYW1taW5nIGxhbmd1YWdlLCBzb21ldGltZXMgcmVmZXJyZWQgdG9cbiAgICogYXMgYSB0eXBlIGNvZGUsIHRoYXQgaWRlbnRpZmllcyB0aGUgZ2VuZXJpYyBTUUwgdHlwZSA8Y29kZT5OQ0xPQjwvY29kZT4uXG4gICAqXG4gICAqIEBzaW5jZSAxLjZcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgTkNMT0IgPSAyMDExO1xuXG4gIHB1YmxpYyBzdGF0aWMgQkFTRTY0ID0gNjQ2NDtcblxuICBwdWJsaWMgc3RhdGljIFVVSUQgPSA2NDY1O1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RhbnQgaW4gdGhlIEphdmEgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIHNvbWV0aW1lcyByZWZlcnJlZCB0b1xuICAgKiBhcyBhIHR5cGUgY29kZSwgdGhhdCBpZGVudGlmaWVzIHRoZSBnZW5lcmljIFNRTCB0eXBlIDxjb2RlPlhNTDwvY29kZT4uXG4gICAqXG4gICAqIEBzaW5jZSAxLjZcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgU1FMWE1MID0gMjAwOTtcblxuICBwdWJsaWMgc3RhdGljIGdldFNRTFR5cGVWYWx1ZSh0eXBlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIGxldCB2YWx1ZTogbnVtYmVyO1xuICAgIHR5cGUgPSB0eXBlID8gdHlwZS50b1VwcGVyQ2FzZSgpIDogJyc7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdCSVQnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkJJVDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUSU5ZSU5UJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5USU5ZSU5UO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1NNQUxMSU5UJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5TTUFMTElOVDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdJTlRFR0VSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5JTlRFR0VSO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0JJR0lOVCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuQklHSU5UO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0ZMT0FUJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5GTE9BVDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdSRUFMJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5SRUFMO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RPVUJMRSc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuRE9VQkxFO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ05VTUVSSUMnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLk5VTUVSSUM7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnREVDSU1BTCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuREVDSU1BTDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdDSEFSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5DSEFSO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1ZBUkNIQVInOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLlZBUkNIQVI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTE9OR1ZBUkNIQVInOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkxPTkdWQVJDSEFSO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RBVEUnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkRBVEU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVElNRSc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuVElNRTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUSU1FU1RBTVAnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLlRJTUVTVEFNUDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdCSU5BUlknOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkJJTkFSWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdWQVJCSU5BUlknOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLlZBUkJJTkFSWTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMT05HVkFSQklOQVJZJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5MT05HVkFSQklOQVJZO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ05VTEwnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLk5VTEw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnT1RIRVInOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLk9USEVSO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0pBVkFfT0JKRUNUJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5KQVZBX09CSkVDVDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdESVNUSU5DVCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuRElTVElOQ1Q7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnU1RSVUNUJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5TVFJVQ1Q7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQVJSQVknOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkFSUkFZO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0JMT0InOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkJMT0I7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQ0xPQic6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuQ0xPQjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdSRUYnOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLlJFRjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdEQVRBTElOSyc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuREFUQUxJTks7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQk9PTEVBTic6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuQk9PTEVBTjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdST1dJRCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuUk9XSUQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTkNIQVInOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLk5DSEFSO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ05WQVJDSEFSJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5OVkFSQ0hBUjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMT05HTlZBUkNIQVInOlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLkxPTkdOVkFSQ0hBUjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOQ0xPQic6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuTkNMT0I7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnU1FMWE1MJzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5TUUxYTUw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQkFTRTY0JzpcbiAgICAgICAgdmFsdWUgPSBTUUxUeXBlcy5CQVNFNjQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVVVJRCc6XG4gICAgICAgIHZhbHVlID0gU1FMVHlwZXMuVVVJRDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB2YWx1ZSA9IFNRTFR5cGVzLk9USEVSO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRTUUxUeXBlS2V5KHR5cGU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IHZhbHVlOiBzdHJpbmc7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFNRTFR5cGVzLkJJVDpcbiAgICAgICAgdmFsdWUgPSAnQklUJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlRJTllJTlQ6XG4gICAgICAgIHZhbHVlID0gJ1RJTllJTlQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuU01BTExJTlQ6XG4gICAgICAgIHZhbHVlID0gJ1NNQUxMSU5UJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLklOVEVHRVI6XG4gICAgICAgIHZhbHVlID0gJ0lOVEVHRVInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuQklHSU5UOlxuICAgICAgICB2YWx1ZSA9ICdCSUdJTlQnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuRkxPQVQ6XG4gICAgICAgIHZhbHVlID0gJ0ZMT0FUJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlJFQUw6XG4gICAgICAgIHZhbHVlID0gJ1JFQUwnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuRE9VQkxFOlxuICAgICAgICB2YWx1ZSA9ICdET1VCTEUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuTlVNRVJJQzpcbiAgICAgICAgdmFsdWUgPSAnTlVNRVJJQyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5ERUNJTUFMOlxuICAgICAgICB2YWx1ZSA9ICdERUNJTUFMJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkNIQVI6XG4gICAgICAgIHZhbHVlID0gJ0NIQVInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuVkFSQ0hBUjpcbiAgICAgICAgdmFsdWUgPSAnVkFSQ0hBUic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5MT05HVkFSQ0hBUjpcbiAgICAgICAgdmFsdWUgPSAnTE9OR1ZBUkNIQVInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuREFURTpcbiAgICAgICAgdmFsdWUgPSAnREFURSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5USU1FOlxuICAgICAgICB2YWx1ZSA9ICdUSU1FJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlRJTUVTVEFNUDpcbiAgICAgICAgdmFsdWUgPSAnVElNRVNUQU1QJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkJJTkFSWTpcbiAgICAgICAgdmFsdWUgPSAnQklOQVJZJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlZBUkJJTkFSWTpcbiAgICAgICAgdmFsdWUgPSAnVkFSQklOQVJZJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkxPTkdWQVJCSU5BUlk6XG4gICAgICAgIHZhbHVlID0gJ0xPTkdWQVJCSU5BUlknO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuTlVMTDpcbiAgICAgICAgdmFsdWUgPSAnTlVMTCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5PVEhFUjpcbiAgICAgICAgdmFsdWUgPSAnT1RIRVInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuSkFWQV9PQkpFQ1Q6XG4gICAgICAgIHZhbHVlID0gJ0pBVkFfT0JKRUNUJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkRJU1RJTkNUOlxuICAgICAgICB2YWx1ZSA9ICdESVNUSU5DVCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5TVFJVQ1Q6XG4gICAgICAgIHZhbHVlID0gJ1NUUlVDVCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5BUlJBWTpcbiAgICAgICAgdmFsdWUgPSAnQVJSQVknO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuQkxPQjpcbiAgICAgICAgdmFsdWUgPSAnQkxPQic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5DTE9COlxuICAgICAgICB2YWx1ZSA9ICdDTE9CJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlJFRjpcbiAgICAgICAgdmFsdWUgPSAnUkVGJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkRBVEFMSU5LOlxuICAgICAgICB2YWx1ZSA9ICdEQVRBTElOSyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5CT09MRUFOOlxuICAgICAgICB2YWx1ZSA9ICdCT09MRUFOJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLlJPV0lEOlxuICAgICAgICB2YWx1ZSA9ICdST1dJRCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5OQ0hBUjpcbiAgICAgICAgdmFsdWUgPSAnTkNIQVInO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU1FMVHlwZXMuTlZBUkNIQVI6XG4gICAgICAgIHZhbHVlID0gJ05WQVJDSEFSJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLkxPTkdOVkFSQ0hBUjpcbiAgICAgICAgdmFsdWUgPSAnTE9OR05WQVJDSEFSJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNRTFR5cGVzLk5DTE9COlxuICAgICAgICB2YWx1ZSA9ICdOQ0xPQic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5TUUxYTUw6XG4gICAgICAgIHZhbHVlID0gJ1NRTFhNTCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5CQVNFNjQ6XG4gICAgICAgIHZhbHVlID0gJ0JBU0U2NCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBTUUxUeXBlcy5VVUlEOlxuICAgICAgICB2YWx1ZSA9ICdVVUlEJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB2YWx1ZSA9ICdPVEhFUic7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHBhcnNlVXNpbmdTUUxUeXBlKGFyZzogYW55LCB0eXBlOiBzdHJpbmcpOiBhbnkge1xuICAgIGxldCB2YWx1ZSA9IGFyZztcbiAgICB0eXBlID0gdHlwZSA/IHR5cGUudG9VcHBlckNhc2UoKSA6ICcnO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQoYXJnKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ1RJTllJTlQnOlxuICAgICAgICBjYXNlICdTTUFMTElOVCc6XG4gICAgICAgIGNhc2UgJ0lOVEVHRVInOlxuICAgICAgICBjYXNlICdCSUdJTlQnOlxuICAgICAgICAgIHZhbHVlID0gTnVtYmVyKGFyZyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ0ZMT0FUJzpcbiAgICAgICAgY2FzZSAnUkVBTCc6XG4gICAgICAgIGNhc2UgJ0RPVUJMRSc6XG4gICAgICAgIGNhc2UgJ05VTUVSSUMnOlxuICAgICAgICBjYXNlICdERUNJTUFMJzpcbiAgICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQoYXJnKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NRTFR5cGVzLnBhcnNlVXNpbmdTUUxUeXBlIGVycm9yOicsIGVyciwgJ3wgdmFsdWU6JywgYXJnLCAnfCB0eXBlOicsIHR5cGUpO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzTnVtZXJpY1NRTFR5cGUoYXJnOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW1xuICAgICAgU1FMVHlwZXMuVElOWUlOVCxcbiAgICAgIFNRTFR5cGVzLlNNQUxMSU5ULFxuICAgICAgU1FMVHlwZXMuSU5URUdFUixcbiAgICAgIFNRTFR5cGVzLkJJR0lOVCxcbiAgICAgIFNRTFR5cGVzLkZMT0FULFxuICAgICAgU1FMVHlwZXMuUkVBTCxcbiAgICAgIFNRTFR5cGVzLkRPVUJMRSxcbiAgICAgIFNRTFR5cGVzLk5VTUVSSUMsXG4gICAgICBTUUxUeXBlcy5ERUNJTUFMXG4gICAgXS5pbmRleE9mKGFyZykgIT09IC0xO1xuICB9XG5cbn1cbiJdfQ==
|