@tiba-spark/client-shared-lib 25.4.0-471 → 25.4.0-478
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/esm2022/libraries/services/permissions.service.mjs +36 -34
- package/esm2022/libraries/utils/date.util.mjs +18 -1
- package/fesm2022/tiba-spark-client-shared-lib.mjs +52 -33
- package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
- package/libraries/services/permissions.service.d.ts +1 -1
- package/libraries/services/permissions.service.d.ts.map +1 -1
- package/libraries/utils/date.util.d.ts +12 -0
- package/libraries/utils/date.util.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import { Injectable } from "@angular/core";
|
|
1
|
+
import { computed, Injectable } from "@angular/core";
|
|
2
2
|
import { UserState } from "../modules/user/user.state";
|
|
3
3
|
import { AppModule, PermissionType } from "../service-proxy/cloud-service-proxies";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@ngxs/store";
|
|
6
|
+
// Module order configuration
|
|
7
|
+
const MODULE_ORDER = [
|
|
8
|
+
AppModule.Cc,
|
|
9
|
+
AppModule.Accounts,
|
|
10
|
+
AppModule.ECommerceBackoffice,
|
|
11
|
+
AppModule.Monthlies,
|
|
12
|
+
AppModule.Guests,
|
|
13
|
+
AppModule.Validation,
|
|
14
|
+
AppModule.Reports,
|
|
15
|
+
AppModule.LotConfiguration,
|
|
16
|
+
AppModule.Management
|
|
17
|
+
];
|
|
6
18
|
export class PermissionsService {
|
|
7
19
|
constructor(store) {
|
|
8
20
|
this.store = store;
|
|
@@ -10,6 +22,28 @@ export class PermissionsService {
|
|
|
10
22
|
this.isOperationalAdmin = () => this.isPermitted(PermissionType.OperationalAdmin);
|
|
11
23
|
this.isAdmin = () => this.isPermitted(PermissionType.SystemAdmin) || this.isPermitted(PermissionType.OperationalAdmin);
|
|
12
24
|
this.isPermitted = (permissionType) => this.store.selectSnapshot(UserState.permissionTypes)?.includes(permissionType);
|
|
25
|
+
this.userPermittedModules = computed(() => {
|
|
26
|
+
const permissionTypes = this.store.selectSignal(UserState.permissionTypes)();
|
|
27
|
+
const isPermitted = (permissionType) => permissionTypes?.includes(permissionType);
|
|
28
|
+
const permitted = new Set([
|
|
29
|
+
AppModule.Accounts,
|
|
30
|
+
AppModule.Monthlies,
|
|
31
|
+
AppModule.Guests,
|
|
32
|
+
AppModule.Validation,
|
|
33
|
+
]);
|
|
34
|
+
if (isPermitted(PermissionType.SystemAdmin) || isPermitted(PermissionType.OperationalAdmin)) {
|
|
35
|
+
[
|
|
36
|
+
AppModule.Cc,
|
|
37
|
+
AppModule.Reports,
|
|
38
|
+
AppModule.LotConfiguration,
|
|
39
|
+
AppModule.Management,
|
|
40
|
+
].map(appModule => permitted.add(appModule));
|
|
41
|
+
}
|
|
42
|
+
if (isPermitted(PermissionType.ECommerceBackofficeMain)) {
|
|
43
|
+
permitted.add(AppModule.ECommerceBackoffice);
|
|
44
|
+
}
|
|
45
|
+
return MODULE_ORDER.filter(appModule => permitted.has(appModule));
|
|
46
|
+
});
|
|
13
47
|
}
|
|
14
48
|
getRolePermissionTypes(permissionsMap, appModule) {
|
|
15
49
|
const findAllPermissionDtosByAppModule = (appModule) => permissionDto => permissionDto.module === appModule && permissionDto.subModule != null;
|
|
@@ -21,42 +55,10 @@ export class PermissionsService {
|
|
|
21
55
|
const rolePermissionTypes = this.getRolePermissionTypes(permissionsMap, appModule);
|
|
22
56
|
return permissionTypes.some(pt => rolePermissionTypes.includes(pt));
|
|
23
57
|
}
|
|
24
|
-
userPermittedModules() {
|
|
25
|
-
const isAdminPermission = this.isAdmin();
|
|
26
|
-
let permittedModules = [];
|
|
27
|
-
if (isAdminPermission) {
|
|
28
|
-
permittedModules = [
|
|
29
|
-
AppModule.Cc,
|
|
30
|
-
AppModule.Accounts,
|
|
31
|
-
AppModule.ECommerceBackoffice,
|
|
32
|
-
AppModule.Monthlies,
|
|
33
|
-
AppModule.Guests,
|
|
34
|
-
AppModule.Validation,
|
|
35
|
-
AppModule.Reports,
|
|
36
|
-
AppModule.LotConfiguration,
|
|
37
|
-
AppModule.Management,
|
|
38
|
-
];
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
// non admin users permitted modules
|
|
42
|
-
permittedModules = [
|
|
43
|
-
AppModule.Accounts,
|
|
44
|
-
AppModule.ECommerceBackoffice,
|
|
45
|
-
AppModule.Monthlies,
|
|
46
|
-
AppModule.Guests,
|
|
47
|
-
AppModule.Validation,
|
|
48
|
-
];
|
|
49
|
-
}
|
|
50
|
-
const isTenantPermittedForECommerceModule = this.isPermitted(PermissionType.ECommerceBackofficeMain);
|
|
51
|
-
if (!isTenantPermittedForECommerceModule) {
|
|
52
|
-
permittedModules = permittedModules.filter(module => module !== AppModule.ECommerceBackoffice);
|
|
53
|
-
}
|
|
54
|
-
return permittedModules;
|
|
55
|
-
}
|
|
56
58
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
57
59
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsService }); }
|
|
58
60
|
}
|
|
59
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsService, decorators: [{
|
|
60
62
|
type: Injectable
|
|
61
63
|
}], ctorParameters: () => [{ type: i1.Store }] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvc2VydmljZXMvcGVybWlzc2lvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBaUIsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUVsRyw2QkFBNkI7QUFDN0IsTUFBTSxZQUFZLEdBQUc7SUFDbkIsU0FBUyxDQUFDLEVBQUU7SUFDWixTQUFTLENBQUMsUUFBUTtJQUNsQixTQUFTLENBQUMsbUJBQW1CO0lBQzdCLFNBQVMsQ0FBQyxTQUFTO0lBQ25CLFNBQVMsQ0FBQyxNQUFNO0lBQ2hCLFNBQVMsQ0FBQyxVQUFVO0lBQ3BCLFNBQVMsQ0FBQyxPQUFPO0lBQ2pCLFNBQVMsQ0FBQyxnQkFBZ0I7SUFDMUIsU0FBUyxDQUFDLFVBQVU7Q0FDckIsQ0FBQztBQUdGLE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBb0IsS0FBWTtRQUFaLFVBQUssR0FBTCxLQUFLLENBQU87UUFHaEMsa0JBQWEsR0FBRyxHQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1RSx1QkFBa0IsR0FBRyxHQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXRGLFlBQU8sR0FBRyxHQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTNILGdCQUFXLEdBQUcsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBZ0JqSSx5QkFBb0IsR0FBRyxRQUFRLENBQWMsR0FBRyxFQUFFO1lBQ2hELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQzdFLE1BQU0sV0FBVyxHQUFHLENBQUMsY0FBOEIsRUFBRSxFQUFFLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsRyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBWTtnQkFDbkMsU0FBUyxDQUFDLFFBQVE7Z0JBQ2xCLFNBQVMsQ0FBQyxTQUFTO2dCQUNuQixTQUFTLENBQUMsTUFBTTtnQkFDaEIsU0FBUyxDQUFDLFVBQVU7YUFDckIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxXQUFXLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO2dCQUM1RjtvQkFDRSxTQUFTLENBQUMsRUFBRTtvQkFDWixTQUFTLENBQUMsT0FBTztvQkFDakIsU0FBUyxDQUFDLGdCQUFnQjtvQkFDMUIsU0FBUyxDQUFDLFVBQVU7aUJBQ3JCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFFRCxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFFRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFoREgsQ0FBQztJQVVELHNCQUFzQixDQUFDLGNBQTBDLEVBQUUsU0FBb0I7UUFDckYsTUFBTSxnQ0FBZ0MsR0FBRyxDQUFDLFNBQW9CLEVBQUUsRUFBRSxDQUNoRSxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLGFBQWEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDO1FBRXpGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDdkMsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ25ELEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsa0NBQWtDLENBQUMsZUFBaUMsRUFBRSxjQUEwQyxFQUFFLFNBQW9CO1FBQ3BJLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDOytHQXpCVSxrQkFBa0I7bUhBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSBcIkBuZ3hzL3N0b3JlXCI7XG5pbXBvcnQgeyBVc2VyU3RhdGUgfSBmcm9tIFwiLi4vbW9kdWxlcy91c2VyL3VzZXIuc3RhdGVcIjtcbmltcG9ydCB7IEFwcE1vZHVsZSwgUGVybWlzc2lvbkR0bywgUGVybWlzc2lvblR5cGUgfSBmcm9tIFwiLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXNcIjtcblxuLy8gTW9kdWxlIG9yZGVyIGNvbmZpZ3VyYXRpb25cbmNvbnN0IE1PRFVMRV9PUkRFUiA9IFtcbiAgQXBwTW9kdWxlLkNjLFxuICBBcHBNb2R1bGUuQWNjb3VudHMsXG4gIEFwcE1vZHVsZS5FQ29tbWVyY2VCYWNrb2ZmaWNlLFxuICBBcHBNb2R1bGUuTW9udGhsaWVzLFxuICBBcHBNb2R1bGUuR3Vlc3RzLFxuICBBcHBNb2R1bGUuVmFsaWRhdGlvbixcbiAgQXBwTW9kdWxlLlJlcG9ydHMsXG4gIEFwcE1vZHVsZS5Mb3RDb25maWd1cmF0aW9uLFxuICBBcHBNb2R1bGUuTWFuYWdlbWVudFxuXTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb25zU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUpIHtcbiAgfVxuXG4gIGlzU3lzdGVtQWRtaW4gPSAoKTogYm9vbGVhbiA9PiB0aGlzLmlzUGVybWl0dGVkKFBlcm1pc3Npb25UeXBlLlN5c3RlbUFkbWluKTtcblxuICBpc09wZXJhdGlvbmFsQWRtaW4gPSAoKTogYm9vbGVhbiA9PiB0aGlzLmlzUGVybWl0dGVkKFBlcm1pc3Npb25UeXBlLk9wZXJhdGlvbmFsQWRtaW4pO1xuXG4gIGlzQWRtaW4gPSAoKTogYm9vbGVhbiA9PiB0aGlzLmlzUGVybWl0dGVkKFBlcm1pc3Npb25UeXBlLlN5c3RlbUFkbWluKSB8fCB0aGlzLmlzUGVybWl0dGVkKFBlcm1pc3Npb25UeXBlLk9wZXJhdGlvbmFsQWRtaW4pO1xuXG4gIGlzUGVybWl0dGVkID0gKHBlcm1pc3Npb25UeXBlOiBQZXJtaXNzaW9uVHlwZSkgPT4gdGhpcy5zdG9yZS5zZWxlY3RTbmFwc2hvdChVc2VyU3RhdGUucGVybWlzc2lvblR5cGVzKT8uaW5jbHVkZXMocGVybWlzc2lvblR5cGUpO1xuXG4gIGdldFJvbGVQZXJtaXNzaW9uVHlwZXMocGVybWlzc2lvbnNNYXA6IE1hcDxudW1iZXIsIFBlcm1pc3Npb25EdG8+LCBhcHBNb2R1bGU6IEFwcE1vZHVsZSk6IFBlcm1pc3Npb25UeXBlW10ge1xuICAgIGNvbnN0IGZpbmRBbGxQZXJtaXNzaW9uRHRvc0J5QXBwTW9kdWxlID0gKGFwcE1vZHVsZTogQXBwTW9kdWxlKSA9PlxuICAgICAgcGVybWlzc2lvbkR0byA9PiBwZXJtaXNzaW9uRHRvLm1vZHVsZSA9PT0gYXBwTW9kdWxlICYmIHBlcm1pc3Npb25EdG8uc3ViTW9kdWxlICE9IG51bGw7XG5cbiAgICByZXR1cm4gQXJyYXkuZnJvbShwZXJtaXNzaW9uc01hcC52YWx1ZXMoKSlcbiAgICAgIC5maWx0ZXIoZmluZEFsbFBlcm1pc3Npb25EdG9zQnlBcHBNb2R1bGUoYXBwTW9kdWxlKSlcbiAgICAgIC5tYXAocGVybWlzc2lvbkR0byA9PiBwZXJtaXNzaW9uRHRvLnR5cGUpO1xuICB9XG5cbiAgaXNSb2xlUGVybWlzc2lvbkV4aXN0c0ZvckFwcE1vZHVsZShwZXJtaXNzaW9uVHlwZXM6IFBlcm1pc3Npb25UeXBlW10sIHBlcm1pc3Npb25zTWFwOiBNYXA8bnVtYmVyLCBQZXJtaXNzaW9uRHRvPiwgYXBwTW9kdWxlOiBBcHBNb2R1bGUpOiBib29sZWFuIHtcbiAgICBjb25zdCByb2xlUGVybWlzc2lvblR5cGVzID0gdGhpcy5nZXRSb2xlUGVybWlzc2lvblR5cGVzKHBlcm1pc3Npb25zTWFwLCBhcHBNb2R1bGUpO1xuICAgIHJldHVybiBwZXJtaXNzaW9uVHlwZXMuc29tZShwdCA9PiByb2xlUGVybWlzc2lvblR5cGVzLmluY2x1ZGVzKHB0KSk7XG4gIH1cblxuICB1c2VyUGVybWl0dGVkTW9kdWxlcyA9IGNvbXB1dGVkPEFwcE1vZHVsZVtdPigoKSA9PiB7XG4gICAgY29uc3QgcGVybWlzc2lvblR5cGVzID0gdGhpcy5zdG9yZS5zZWxlY3RTaWduYWwoVXNlclN0YXRlLnBlcm1pc3Npb25UeXBlcykoKTtcbiAgICBjb25zdCBpc1Blcm1pdHRlZCA9IChwZXJtaXNzaW9uVHlwZTogUGVybWlzc2lvblR5cGUpID0+IHBlcm1pc3Npb25UeXBlcz8uaW5jbHVkZXMocGVybWlzc2lvblR5cGUpO1xuICAgIGNvbnN0IHBlcm1pdHRlZCA9IG5ldyBTZXQ8QXBwTW9kdWxlPihbXG4gICAgICBBcHBNb2R1bGUuQWNjb3VudHMsXG4gICAgICBBcHBNb2R1bGUuTW9udGhsaWVzLFxuICAgICAgQXBwTW9kdWxlLkd1ZXN0cyxcbiAgICAgIEFwcE1vZHVsZS5WYWxpZGF0aW9uLFxuICAgIF0pO1xuICBcbiAgICBpZiAoaXNQZXJtaXR0ZWQoUGVybWlzc2lvblR5cGUuU3lzdGVtQWRtaW4pIHx8IGlzUGVybWl0dGVkKFBlcm1pc3Npb25UeXBlLk9wZXJhdGlvbmFsQWRtaW4pKSB7XG4gICAgICBbXG4gICAgICAgIEFwcE1vZHVsZS5DYyxcbiAgICAgICAgQXBwTW9kdWxlLlJlcG9ydHMsXG4gICAgICAgIEFwcE1vZHVsZS5Mb3RDb25maWd1cmF0aW9uLFxuICAgICAgICBBcHBNb2R1bGUuTWFuYWdlbWVudCxcbiAgICAgIF0ubWFwKGFwcE1vZHVsZSA9PiBwZXJtaXR0ZWQuYWRkKGFwcE1vZHVsZSkpO1xuICAgIH1cbiAgXG4gICAgaWYgKGlzUGVybWl0dGVkKFBlcm1pc3Npb25UeXBlLkVDb21tZXJjZUJhY2tvZmZpY2VNYWluKSkge1xuICAgICAgcGVybWl0dGVkLmFkZChBcHBNb2R1bGUuRUNvbW1lcmNlQmFja29mZmljZSk7XG4gICAgfVxuICBcbiAgICByZXR1cm4gTU9EVUxFX09SREVSLmZpbHRlcihhcHBNb2R1bGUgPT4gcGVybWl0dGVkLmhhcyhhcHBNb2R1bGUpKTtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -191,4 +191,21 @@ export function formatTimeToString(obj) {
|
|
|
191
191
|
}
|
|
192
192
|
return result;
|
|
193
193
|
}
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy91dGlscy9kYXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sTUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWxKLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sNEJBQTRCLEdBQUcsa0JBQWtCLENBQUM7QUFFeEQsTUFBTSxDQUFOLElBQVksWUFFWDtBQUZELFdBQVksWUFBWTtJQUN0QiwyQ0FBTSxDQUFBO0lBQUUsMkNBQU0sQ0FBQTtBQUNoQixDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkI7QUFTRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYTtJQUM5QyxPQUFPLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFlBQWtCO0lBQzdELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMseUZBQXlGO0lBQ3pGLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFD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QUUsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO1FBRWpFLE1BQU0sR0FBRyxHQUFHLEtBQUssSUFBSSxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBERUZBVUxUX1NNQVJUX1BBUktfREFURV9USU1FLCBNSU5VVEVTX1BFUl9IT1VSLCBOT19SRVNVTFQsIFRFTlNfTVVMVElQTElFUiwgVkFMSURfVElNRV9NQVhfTEVOR1RIIH0gZnJvbSAnLi4vY29uc3RhbnRzL2dsb2JhbC1jb25zdGFudHMnO1xuXG5jb25zdCBEQVRFX0ZPUk1BVF9ZWVlZX01NX0REID0gJ1lZWVktTU0tREQnO1xuY29uc3QgREFURV9GT1JNQVRfWVlZWV9NTV9ERF9ISF9NTSA9ICdZWVlZLU1NLUREIEhIOm1tJztcblxuZXhwb3J0IGVudW0gTWlkZGF5UGVyaW9kIHtcbiAgQU0gPSAxLCBQTSA9IDJcbn1cblxuZXhwb3J0IHR5cGUgVGltZSA9IHtcbiAgaG91cnM6IG51bWJlcjtcbiAgbWludXRlczogbnVtYmVyO1xuICBzZWNvbmRzPzogbnVtYmVyO1xuICBtaWRkYXlQZXJpb2Q/OiBNaWRkYXlQZXJpb2Q7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VTbWFydFBhcmtUaW1lKHZhbHVlOiBudW1iZXIpIHtcbiAgcmV0dXJuIG1vbWVudChERUZBVUxUX1NNQVJUX1BBUktfREFURV9USU1FKS5zZWNvbmRzKHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGF0ZVRpbWVUb1NwYXJrUGFya1RpbWUoc2VsZWN0ZWREYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgaWYgKCFzZWxlY3RlZERhdGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGRhdGUyID0gbW9tZW50KHNlbGVjdGVkRGF0ZSk7XG4gIC8vIElmIHRoZSBkYXRlIHdlIHdhbnQgaXMgaW4gRFNUIHRoZW4gdG8gYXZvaWQgaW5jb3JyZWN0IHJlc3VsdHMgd2UgbmVlZCB0byBhZGQgaXQgMSBob3VyXG4gIGlmIChkYXRlMi5pc0RTVCgpKSB7XG4gICAgZGF0ZTIuYWRkKHsgaG91cjogMSB9KTtcbiAgfVxuXG4gIHJldHVybiBkYXRlRGlmZkluU2Vjb25kcyhtb21lbnQoREVGQVVMVF9TTUFSVF9QQVJLX0RBVEVfVElNRSksIGRhdGUyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGVUaW1lSW5TZWNvbmRzKGRhdGU6IERhdGUsIHRpbWU6IFRpbWUpOiBudW1iZXIge1xuICBkYXRlLnNldE1pbnV0ZXModGltZS5taW51dGVzKTtcbiAgZGF0ZS5zZXRIb3Vycyh0aW1lLmhvdXJzKTtcblxuICBjb25zdCBkYXRlVGltZUluU2Vjb25kczogbnVtYmVyID0gcGFyc2VEYXRlVGltZVRvU3BhcmtQYXJrVGltZShkYXRlKTtcblxuICByZXR1cm4gZGF0ZVRpbWVJblNlY29uZHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlRGlmZkluU2Vjb25kcyhkYXRlMTogTW9tZW50LCBkYXRlMjogTW9tZW50KTogbnVtYmVyIHtcbiAgLy8gbW9tZW50IGlnbm9yZSBhbmQgcmV0dXJuIGRhdGUgd2l0aCBzeXN0ZW0gdGltZSB6b25lIC0gdXNpbmcgZm9ybWF0IGNvcnJlY3QgdGhlIGRhdGUgb2JqZWN0XG4gIGNvbnN0IGRlZmF1bHRTbWFydFBhcmtUaW1lVVRDID0gbW9tZW50LnR6KGRhdGUxLCAndXRjJyk7XG5cbiAgY29uc3Qgc2VsZWN0ZWREYXRlRm9ybWF0dGVkID0gbW9tZW50KGRhdGUyLmZvcm1hdChcIllZWVktTU0tREQgSEg6bW06c3NcIikpO1xuICByZXR1cm4gc2VsZWN0ZWREYXRlRm9ybWF0dGVkLmRpZmYoZGVmYXVsdFNtYXJ0UGFya1RpbWVVVEMsICdzZWNvbmRzJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBodW1hbml6ZVRpbWVFbGFwc2VkKGZyb206IERhdGUsIHRvOiBEYXRlKSB7XG4gIHJldHVybiBtb21lbnQuZHVyYXRpb24oYWRqdXN0Rm9yVGltZXpvbmUoZnJvbSkuZ2V0VGltZSgpIC0gdG8uZ2V0VGltZSgpKS5odW1hbml6ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaHVtYW5pemVVdGNUaW1lRWxhcHNlZChmcm9tOiBEYXRlLCB0bzogRGF0ZSkge1xuICByZXR1cm4gbW9tZW50LmR1cmF0aW9uKGZyb20uZ2V0VGltZSgpIC0gdG8uZ2V0VGltZSgpKS5odW1hbml6ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlmZkluTWlsbGlzKHZhbHVlLCBpc0Fic29sdXRlKSB7XG4gIGNvbnN0IGRpZmYgPSBtb21lbnQuZHVyYXRpb24obW9tZW50KHZhbHVlKS5kaWZmKG1vbWVudCgpKSkuYXNNaWxsaXNlY29uZHMoKTtcbiAgaWYgKGlzQWJzb2x1dGUpIHtcbiAgICByZXR1cm4gTWF0aC5hYnMoZGlmZik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGRpZmY7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vbWVudE51bGxhYmxlKGRhdGU6IERhdGUpIHtcbiAgcmV0dXJuIGRhdGUgPyBtb21lbnQoZGF0ZSkgOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXRjTW9tZW50TnVsbGFibGUoZGF0ZTogRGF0ZSkge1xuICByZXR1cm4gZGF0ZSA/IG1vbWVudChkYXRlKS51dGModHJ1ZSkgOiBudWxsO1xufVxuXG4vLyBXaGVuIHN1YnRyYWN0IHRoZSBvZmZzZXQgZnJvbSB0aGUgY3VycmVudCBkYXRlLFxuLy8gV2UgZ2V0IGEgZGF0ZSB0aGF0IGlmIHlvdSByZW1vdmUgdGhlIG9mZnNldCB5b3Ugd2lsbCBnZXQgVVRDa2luZFxuLy8gb2YgdGhlIHRpbWUgc2VsZWN0ZWRcbmV4cG9ydCBmdW5jdGlvbiBhZGp1c3RGb3JUaW1lem9uZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gIHJldHVybiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksXG4gICAgZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSAtIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSwgZGF0ZS5nZXRTZWNvbmRzKCkpO1xufVxuXG4vLyByZS1hZGp1c3QgbWV0aG9kIHdoZW4gbmVlZCB0byBzZXQgYmFjayB0aGUgdGltZXpvbmVvZmZzZXQgYWZ0ZXIgdXNpbmcgYWRqdXN0Rm9yVGltZXpvbmVcbmV4cG9ydCBmdW5jdGlvbiByZWFkanVzdEZvclRpbWV6b25lKGRhdGU6IERhdGUpOiBEYXRlIHtcbiAgcmV0dXJuICFkYXRlID8gbnVsbCA6IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSxcbiAgICBkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpICsgZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpLCBkYXRlLmdldFNlY29uZHMoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01heERheXNSYW5nZVZhbGlkKHZhbGlkRnJvbTogRGF0ZSwgdmFsaWRUbzogRGF0ZSwgYWxsb3dlZE51bWJlck9mRGF5czogbnVtYmVyKTogYm9vbGVhbiB7XG4gIGxldCBtYXhEYXlzUmFuZ2VWYWxpZCA9IHRydWU7XG4gIGlmICh2YWxpZEZyb20gJiYgdmFsaWRUbykge1xuICAgIGNvbnN0IHZhbGlkRnJvbURhdGUgPSBtb21lbnQodmFsaWRGcm9tKTtcbiAgICBjb25zdCB2YWxpZFRvRGF0ZSA9IG1vbWVudCh2YWxpZFRvKTtcbiAgICBjb25zdCBudW1iZXJPZkRheXMgPSBtb21lbnQuZHVyYXRpb24odmFsaWRUb0RhdGUuZGlmZih2YWxpZEZyb21EYXRlKSkuYXNEYXlzKCk7XG4gICAgbWF4RGF5c1JhbmdlVmFsaWQgPSAhKG51bWJlck9mRGF5cyA+IGFsbG93ZWROdW1iZXJPZkRheXMpO1xuICB9XG4gIHJldHVybiBtYXhEYXlzUmFuZ2VWYWxpZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZURhdGVzSWRlbnRpY2FsKGZyb21EYXRlOiBEYXRlLCB0b0RhdGU6IERhdGUpIHtcbiAgaWYgKGZyb21EYXRlICYmIHRvRGF0ZSkge1xuICAgIGNvbnN0IHZhbGlkRnJvbURhdGU6IERhdGUgPSBmcm9tRGF0ZTtcbiAgICBjb25zdCB2YWxpZFRvRGF0ZTogRGF0ZSA9IHRvRGF0ZTtcbiAgICB2YWxpZEZyb21EYXRlLnNldFNlY29uZHMoMCwgMCk7XG4gICAgdmFsaWRUb0RhdGUuc2V0U2Vjb25kcygwLCAwKTtcbiAgICByZXR1cm4gdmFsaWRGcm9tRGF0ZS5nZXRUaW1lKCkgPT09IHZhbGlkVG9EYXRlLmdldFRpbWUoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXNlclRpbWVab25lKCk6IHN0cmluZyB7XG4gIHJldHVybiBtb21lbnQudHouZ3Vlc3MoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRGb3JtYXRXaXRob3V0VGltZShmb3JtYXQ6IHN0cmluZykge1xuICBsZXQgZm9ybWF0VmFsdWVzID0gZm9ybWF0LnNwbGl0KFwiaFwiKTtcbiAgaWYgKGZvcm1hdFZhbHVlcy5sZW5ndGggPT09IE5PX1JFU1VMVCkge1xuICAgIGZvcm1hdFZhbHVlcyA9IGZvcm1hdC5zcGxpdChcIkhcIik7XG4gIH1cbiAgcmV0dXJuIGZvcm1hdFZhbHVlc1swXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGVXaXRob3V0VGltZShyb3dWYWx1ZVRpbWU6IE1vbWVudCwgZGF0ZUZvcm1hdDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuLVVTJyk7XG4gIGNvbnN0IGRhdGUgPSByb3dWYWx1ZVRpbWU/LnRvRGF0ZSgpO1xuICByZXR1cm4gZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGUsIGNvbnZlcnRGb3JtYXRXaXRob3V0VGltZShkYXRlRm9ybWF0KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb21lbnRXaXRob3V0VGltZShtb21lbnREYXRlOiBNb21lbnQpOiBEYXRlIHtcbiAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IG1vbWVudERhdGUuZm9ybWF0KERBVEVfRk9STUFUX1lZWVlfTU1fREQpO1xuICByZXR1cm4gbmV3IERhdGUoZm9ybWF0dGVkRGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb21lbldpdGhUaW1lKG1vbWVudERhdGU6IE1vbWVudCk6IERhdGUge1xuICBjb25zdCBmb3JtYXR0ZWREYXRlID0gbW9tZW50RGF0ZS5mb3JtYXQoREFURV9GT1JNQVRfWVlZWV9NTV9ERF9ISF9NTSk7XG4gIHJldHVybiBhZGp1c3RGb3JUaW1lem9uZShuZXcgRGF0ZShmb3JtYXR0ZWREYXRlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRNaW51dGVzVG9UaW1lTnVtYmVyKHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPiAwKSB7XG4gICAgcmV0dXJuIGAke01hdGguZmxvb3IodmFsdWUgLyA2MCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfSR7KHZhbHVlICUgNjApLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lV2l0aG91dE1pZG5pZ2h0KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gZm9ybWF0VGltZVdpdGhTZXBhcmF0b3IodmFsdWUsIGZhbHNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRpbWVXaXRoTWlkbmlnaHQodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBmb3JtYXRUaW1lV2l0aFNlcGFyYXRvcih2YWx1ZSwgdHJ1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lV2l0aG91dFNlcGVyYXRvckFuZFdpdGhNaWRuaWdodCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZvcm1hdFRpbWVXaXRob3V0U2VwYXJhdG9yKHZhbHVlLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRpbWVXaXRob3V0U2VwZXJhdG9yQW5kV2l0aG91dE1pZG5pZ2h0KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gZm9ybWF0VGltZVdpdGhvdXRTZXBhcmF0b3IodmFsdWUsIGZhbHNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRpbWVUb01pbnV0ZXModmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gIHZhbHVlID0gdmFsdWU/LnRvU3RyaW5nKCk7XG4gIGlmICh2YWx1ZT8ubGVuZ3RoID09PSBWQUxJRF9USU1FX01BWF9MRU5HVEgpIHtcbiAgICBjb25zdCBoID0gKCgrdmFsdWVbMF0gKiBURU5TX01VTFRJUExJRVIpICsgK3ZhbHVlWzFdKSAqIE1JTlVURVNfUEVSX0hPVVI7XG4gICAgY29uc3QgbSA9ICt2YWx1ZVsyXSAqIFRFTlNfTVVMVElQTElFUiArICt2YWx1ZVszXTtcbiAgICByZXR1cm4gaCArIG07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1pbnV0ZXNUb1RpbWUobWludXRlczogbnVtYmVyKTogVGltZSB7XG4gIHJldHVybiBtaW51dGVzID49IDAgPyB7IGhvdXJzOiBNYXRoLmZsb29yKG1pbnV0ZXMgLyBNSU5VVEVTX1BFUl9IT1VSKSwgbWludXRlczogbWludXRlcyAlIE1JTlVURVNfUEVSX0hPVVIgfSA6IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lVG9NaW51dGVzKHRpbWU6IFRpbWUpOiBudW1iZXIge1xuICByZXR1cm4gdGltZSA/ICh0aW1lLmhvdXJzICogTUlOVVRFU19QRVJfSE9VUikgKyB0aW1lLm1pbnV0ZXMgOiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGltZVRvTW9tZW50KHRpbWU6IFRpbWUpOiBtb21lbnQuTW9tZW50IHwgbnVsbCB7XG4gIGlmICghdGltZSB8fCB0aW1lLmhvdXJzID09IG51bGwgfHwgdGltZS5taW51dGVzID09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxldCB7IGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtaWRkYXlQZXJpb2QgfSA9IHRpbWU7XG5cbiAgaWYgKG1pZGRheVBlcmlvZCA9PT0gTWlkZGF5UGVyaW9kLlBNICYmIGhvdXJzIDwgMTIpIHtcbiAgICBob3VycyArPSAxMjtcbiAgfSBlbHNlIGlmIChtaWRkYXlQZXJpb2QgPT09IE1pZGRheVBlcmlvZC5BTSAmJiBob3VycyA9PT0gMTIpIHtcbiAgICBob3VycyA9IDA7XG4gIH1cblxuICByZXR1cm4gbW9tZW50KCkuaG91cnMoaG91cnMpLm1pbnV0ZXMobWludXRlcykuc2Vjb25kcyhzZWNvbmRzID8/IDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0dGVkVGltZShtaW51dGVzOiBudW1iZXIsIGlzTWlkbmlnaHRFbmFibGU6IGJvb2xlYW4sIGZvcm1hdDogc3RyaW5nLCBkZWZhdWx0VmFsdWUgPSBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChpc01pZG5pZ2h0RW5hYmxlIHx8IG1pbnV0ZXMgPiAwKSB7XG4gICAgcmV0dXJuIGNvbnZlcnRNaW51dGVzVG9UaW1lKG1pbnV0ZXMsIGZvcm1hdCk7XG4gIH1cblxuICByZXR1cm4gZGVmYXVsdFZhbHVlICE9PSBudWxsID8gY29udmVydE1pbnV0ZXNUb1RpbWUoZGVmYXVsdFZhbHVlLCBmb3JtYXQpIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gY29udmVydE1pbnV0ZXNUb1RpbWUobWludXRlczogbnVtYmVyLCBmb3JtYXQ6IHN0cmluZykge1xuICAvLyBEZXRlcm1pbmUgaWYgdGhlIGZvcm1hdCBpcyAxMi1ob3VyIG9yIDI0LWhvdXIgYW5kIGV4dHJhY3QgdGhlIHRpbWUgcGFydFxuICBjb25zdCB0aW1lRm9ybWF0ID0gZm9ybWF0LnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ2EnKSA/ICdoaDptbSBBJyA6ICdISDptbSc7XG4gIHJldHVybiBtb21lbnQoKS5zdGFydE9mKCdkYXknKS5hZGQobWludXRlcywgJ21pbnV0ZXMnKS5mb3JtYXQodGltZUZvcm1hdCk7XG59XG5cbi8vIFdyYXBwZXIgbWV0aG9kIHRvIGZvcm1hdCBtaW51dGVzIHdpdGggXCI6XCIgYXMgc2VwYXJhdG9yIChlLmcuLCBcIkhIOm1tXCIpXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGltZVdpdGhTZXBhcmF0b3IodmFsdWU6IG51bWJlciwgaXNNaWRuaWdodEVuYWJsZTogYm9vbGVhbik6IHN0cmluZyB8IG51bGwge1xuICByZXR1cm4gZm9ybWF0VGltZSh2YWx1ZSwgaXNNaWRuaWdodEVuYWJsZSwgJzonKTtcbn1cblxuLy8gV3JhcHBlciBtZXRob2QgdG8gZm9ybWF0IG1pbnV0ZXMgd2l0aG91dCBzZXBhcmF0b3IgKGUuZy4sIFwiSEhtbVwiKVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRpbWVXaXRob3V0U2VwYXJhdG9yKHZhbHVlOiBudW1iZXIsIGlzTWlkbmlnaHRFbmFibGU6IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgcmV0dXJuIGZvcm1hdFRpbWUodmFsdWUsIGlzTWlkbmlnaHRFbmFibGUsICcnKTtcbn1cblxuLy8gQ29yZSBtZXRob2QgZm9yIGZvcm1hdHRpbmcgbWludXRlcyB3aXRoIGZsZXhpYmlsaXR5IGluIG91dHB1dCBmb3JtYXRcbmZ1bmN0aW9uIGZvcm1hdFRpbWUodmFsdWU6IG51bWJlciwgaXNNaWRuaWdodEVuYWJsZWQ6IGJvb2xlYW4sIHNlcGFyYXRvcjogc3RyaW5nID0gJzonKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChpc01pZG5pZ2h0RW5hYmxlZCB8fCB2YWx1ZSA+IDApIHtcbiAgICBjb25zdCBob3VycyA9IE1hdGguZmxvb3IodmFsdWUgLyBNSU5VVEVTX1BFUl9IT1VSKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgY29uc3QgbWludXRlcyA9ICh2YWx1ZSAlIE1JTlVURVNfUEVSX0hPVVIpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICByZXR1cm4gYCR7aG91cnN9JHtzZXBhcmF0b3J9JHttaW51dGVzfWA7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lVG9TdHJpbmcob2JqOiBUaW1lKTogc3RyaW5nIHtcbiAgbGV0IHJlc3VsdCA9ICctJztcblxuICBpZiAob2JqKSB7XG4gICAgY29uc3QgaG91cnMgPSBvYmouaG91cnM/LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSA/PyAnMDAnO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSBvYmoubWludXRlcz8udG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpID8/ICcwMCc7XG4gICAgY29uc3Qgc2Vjb25kcyA9IG9iai5zZWNvbmRzPy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJykgPz8gJzAwJztcblxuICAgIHJlc3VsdCA9IGAke2hvdXJzfToke21pbnV0ZXN9OiR7c2Vjb25kc31gO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
194
|
+
/**
|
|
195
|
+
* Checks if the date format string uses month names (MMM/MMMM)
|
|
196
|
+
* @example "MMM dd, yyyy" → true
|
|
197
|
+
* @example "MM/dd/yyyy" → false
|
|
198
|
+
*/
|
|
199
|
+
export function hasMonthName(format) {
|
|
200
|
+
return !!format && /\bMMM+\b/.test(format);
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Checks if the date format uses 12-hour time with AM/PM
|
|
204
|
+
* @example "hh:mm a" → true
|
|
205
|
+
* @example "HH:mm" → false
|
|
206
|
+
*/
|
|
207
|
+
export function hasMiddayPeriod(format) {
|
|
208
|
+
// Complete: Matches a, am, A, AM, p, pm, P, PM
|
|
209
|
+
return !!format && /\s[ap]m?$/i.test(format);
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy91dGlscy9kYXRlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sTUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWxKLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0sNEJBQTRCLEdBQUcsa0JBQWtCLENBQUM7QUFFeEQsTUFBTSxDQUFOLElBQVksWUFFWDtBQUZELFdBQVksWUFBWTtJQUN0QiwyQ0FBTSxDQUFBO0lBQUUsMkNBQU0sQ0FBQTtBQUNoQixDQUFDLEVBRlcsWUFBWSxLQUFaLFlBQVksUUFFdkI7QUFTRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBYTtJQUM5QyxPQUFPLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBRUQsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFlBQWtCO0lBQzdELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkMseUZBQXlGO0lBQ3pGLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFD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QUUsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO1FBRWpFLE1BQU0sR0FBRyxHQUFHLEtBQUssSUFBSSxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFjO0lBQ3pDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFjO0lBQzVDLGdEQUFnRDtJQUNoRCxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IG1vbWVudCwgeyBNb21lbnQgfSBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgREVGQVVMVF9TTUFSVF9QQVJLX0RBVEVfVElNRSwgTUlOVVRFU19QRVJfSE9VUiwgTk9fUkVTVUxULCBURU5TX01VTFRJUExJRVIsIFZBTElEX1RJTUVfTUFYX0xFTkdUSCB9IGZyb20gJy4uL2NvbnN0YW50cy9nbG9iYWwtY29uc3RhbnRzJztcblxuY29uc3QgREFURV9GT1JNQVRfWVlZWV9NTV9ERCA9ICdZWVlZLU1NLUREJztcbmNvbnN0IERBVEVfRk9STUFUX1lZWVlfTU1fRERfSEhfTU0gPSAnWVlZWS1NTS1ERCBISDptbSc7XG5cbmV4cG9ydCBlbnVtIE1pZGRheVBlcmlvZCB7XG4gIEFNID0gMSwgUE0gPSAyXG59XG5cbmV4cG9ydCB0eXBlIFRpbWUgPSB7XG4gIGhvdXJzOiBudW1iZXI7XG4gIG1pbnV0ZXM6IG51bWJlcjtcbiAgc2Vjb25kcz86IG51bWJlcjtcbiAgbWlkZGF5UGVyaW9kPzogTWlkZGF5UGVyaW9kO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU21hcnRQYXJrVGltZSh2YWx1ZTogbnVtYmVyKSB7XG4gIHJldHVybiBtb21lbnQoREVGQVVMVF9TTUFSVF9QQVJLX0RBVEVfVElNRSkuc2Vjb25kcyh2YWx1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURhdGVUaW1lVG9TcGFya1BhcmtUaW1lKHNlbGVjdGVkRGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gIGlmICghc2VsZWN0ZWREYXRlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBkYXRlMiA9IG1vbWVudChzZWxlY3RlZERhdGUpO1xuICAvLyBJZiB0aGUgZGF0ZSB3ZSB3YW50IGlzIGluIERTVCB0aGVuIHRvIGF2b2lkIGluY29ycmVjdCByZXN1bHRzIHdlIG5lZWQgdG8gYWRkIGl0IDEgaG91clxuICBpZiAoZGF0ZTIuaXNEU1QoKSkge1xuICAgIGRhdGUyLmFkZCh7IGhvdXI6IDEgfSk7XG4gIH1cblxuICByZXR1cm4gZGF0ZURpZmZJblNlY29uZHMobW9tZW50KERFRkFVTFRfU01BUlRfUEFSS19EQVRFX1RJTUUpLCBkYXRlMik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRlVGltZUluU2Vjb25kcyhkYXRlOiBEYXRlLCB0aW1lOiBUaW1lKTogbnVtYmVyIHtcbiAgZGF0ZS5zZXRNaW51dGVzKHRpbWUubWludXRlcyk7XG4gIGRhdGUuc2V0SG91cnModGltZS5ob3Vycyk7XG5cbiAgY29uc3QgZGF0ZVRpbWVJblNlY29uZHM6IG51bWJlciA9IHBhcnNlRGF0ZVRpbWVUb1NwYXJrUGFya1RpbWUoZGF0ZSk7XG5cbiAgcmV0dXJuIGRhdGVUaW1lSW5TZWNvbmRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZURpZmZJblNlY29uZHMoZGF0ZTE6IE1vbWVudCwgZGF0ZTI6IE1vbWVudCk6IG51bWJlciB7XG4gIC8vIG1vbWVudCBpZ25vcmUgYW5kIHJldHVybiBkYXRlIHdpdGggc3lzdGVtIHRpbWUgem9uZSAtIHVzaW5nIGZvcm1hdCBjb3JyZWN0IHRoZSBkYXRlIG9iamVjdFxuICBjb25zdCBkZWZhdWx0U21hcnRQYXJrVGltZVVUQyA9IG1vbWVudC50eihkYXRlMSwgJ3V0YycpO1xuXG4gIGNvbnN0IHNlbGVjdGVkRGF0ZUZvcm1hdHRlZCA9IG1vbWVudChkYXRlMi5mb3JtYXQoXCJZWVlZLU1NLUREIEhIOm1tOnNzXCIpKTtcbiAgcmV0dXJuIHNlbGVjdGVkRGF0ZUZvcm1hdHRlZC5kaWZmKGRlZmF1bHRTbWFydFBhcmtUaW1lVVRDLCAnc2Vjb25kcycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaHVtYW5pemVUaW1lRWxhcHNlZChmcm9tOiBEYXRlLCB0bzogRGF0ZSkge1xuICByZXR1cm4gbW9tZW50LmR1cmF0aW9uKGFkanVzdEZvclRpbWV6b25lKGZyb20pLmdldFRpbWUoKSAtIHRvLmdldFRpbWUoKSkuaHVtYW5pemUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGh1bWFuaXplVXRjVGltZUVsYXBzZWQoZnJvbTogRGF0ZSwgdG86IERhdGUpIHtcbiAgcmV0dXJuIG1vbWVudC5kdXJhdGlvbihmcm9tLmdldFRpbWUoKSAtIHRvLmdldFRpbWUoKSkuaHVtYW5pemUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZJbk1pbGxpcyh2YWx1ZSwgaXNBYnNvbHV0ZSkge1xuICBjb25zdCBkaWZmID0gbW9tZW50LmR1cmF0aW9uKG1vbWVudCh2YWx1ZSkuZGlmZihtb21lbnQoKSkpLmFzTWlsbGlzZWNvbmRzKCk7XG4gIGlmIChpc0Fic29sdXRlKSB7XG4gICAgcmV0dXJuIE1hdGguYWJzKGRpZmYpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBkaWZmO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb21lbnROdWxsYWJsZShkYXRlOiBEYXRlKSB7XG4gIHJldHVybiBkYXRlID8gbW9tZW50KGRhdGUpIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFV0Y01vbWVudE51bGxhYmxlKGRhdGU6IERhdGUpIHtcbiAgcmV0dXJuIGRhdGUgPyBtb21lbnQoZGF0ZSkudXRjKHRydWUpIDogbnVsbDtcbn1cblxuLy8gV2hlbiBzdWJ0cmFjdCB0aGUgb2Zmc2V0IGZyb20gdGhlIGN1cnJlbnQgZGF0ZSxcbi8vIFdlIGdldCBhIGRhdGUgdGhhdCBpZiB5b3UgcmVtb3ZlIHRoZSBvZmZzZXQgeW91IHdpbGwgZ2V0IFVUQ2tpbmRcbi8vIG9mIHRoZSB0aW1lIHNlbGVjdGVkXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0Rm9yVGltZXpvbmUoZGF0ZTogRGF0ZSk6IERhdGUge1xuICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpLFxuICAgIGRhdGUuZ2V0SG91cnMoKSwgZGF0ZS5nZXRNaW51dGVzKCkgLSBkYXRlLmdldFRpbWV6b25lT2Zmc2V0KCksIGRhdGUuZ2V0U2Vjb25kcygpKTtcbn1cblxuLy8gcmUtYWRqdXN0IG1ldGhvZCB3aGVuIG5lZWQgdG8gc2V0IGJhY2sgdGhlIHRpbWV6b25lb2Zmc2V0IGFmdGVyIHVzaW5nIGFkanVzdEZvclRpbWV6b25lXG5leHBvcnQgZnVuY3Rpb24gcmVhZGp1c3RGb3JUaW1lem9uZShkYXRlOiBEYXRlKTogRGF0ZSB7XG4gIHJldHVybiAhZGF0ZSA/IG51bGwgOiBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCksXG4gICAgZGF0ZS5nZXRIb3VycygpLCBkYXRlLmdldE1pbnV0ZXMoKSArIGRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKSwgZGF0ZS5nZXRTZWNvbmRzKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNYXhEYXlzUmFuZ2VWYWxpZCh2YWxpZEZyb206IERhdGUsIHZhbGlkVG86IERhdGUsIGFsbG93ZWROdW1iZXJPZkRheXM6IG51bWJlcik6IGJvb2xlYW4ge1xuICBsZXQgbWF4RGF5c1JhbmdlVmFsaWQgPSB0cnVlO1xuICBpZiAodmFsaWRGcm9tICYmIHZhbGlkVG8pIHtcbiAgICBjb25zdCB2YWxpZEZyb21EYXRlID0gbW9tZW50KHZhbGlkRnJvbSk7XG4gICAgY29uc3QgdmFsaWRUb0RhdGUgPSBtb21lbnQodmFsaWRUbyk7XG4gICAgY29uc3QgbnVtYmVyT2ZEYXlzID0gbW9tZW50LmR1cmF0aW9uKHZhbGlkVG9EYXRlLmRpZmYodmFsaWRGcm9tRGF0ZSkpLmFzRGF5cygpO1xuICAgIG1heERheXNSYW5nZVZhbGlkID0gIShudW1iZXJPZkRheXMgPiBhbGxvd2VkTnVtYmVyT2ZEYXlzKTtcbiAgfVxuICByZXR1cm4gbWF4RGF5c1JhbmdlVmFsaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmVEYXRlc0lkZW50aWNhbChmcm9tRGF0ZTogRGF0ZSwgdG9EYXRlOiBEYXRlKSB7XG4gIGlmIChmcm9tRGF0ZSAmJiB0b0RhdGUpIHtcbiAgICBjb25zdCB2YWxpZEZyb21EYXRlOiBEYXRlID0gZnJvbURhdGU7XG4gICAgY29uc3QgdmFsaWRUb0RhdGU6IERhdGUgPSB0b0RhdGU7XG4gICAgdmFsaWRGcm9tRGF0ZS5zZXRTZWNvbmRzKDAsIDApO1xuICAgIHZhbGlkVG9EYXRlLnNldFNlY29uZHMoMCwgMCk7XG4gICAgcmV0dXJuIHZhbGlkRnJvbURhdGUuZ2V0VGltZSgpID09PSB2YWxpZFRvRGF0ZS5nZXRUaW1lKCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVzZXJUaW1lWm9uZSgpOiBzdHJpbmcge1xuICByZXR1cm4gbW9tZW50LnR6Lmd1ZXNzKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0Rm9ybWF0V2l0aG91dFRpbWUoZm9ybWF0OiBzdHJpbmcpIHtcbiAgbGV0IGZvcm1hdFZhbHVlcyA9IGZvcm1hdC5zcGxpdChcImhcIik7XG4gIGlmIChmb3JtYXRWYWx1ZXMubGVuZ3RoID09PSBOT19SRVNVTFQpIHtcbiAgICBmb3JtYXRWYWx1ZXMgPSBmb3JtYXQuc3BsaXQoXCJIXCIpO1xuICB9XG4gIHJldHVybiBmb3JtYXRWYWx1ZXNbMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRlV2l0aG91dFRpbWUocm93VmFsdWVUaW1lOiBNb21lbnQsIGRhdGVGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCdlbi1VUycpO1xuICBjb25zdCBkYXRlID0gcm93VmFsdWVUaW1lPy50b0RhdGUoKTtcbiAgcmV0dXJuIGRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCBjb252ZXJ0Rm9ybWF0V2l0aG91dFRpbWUoZGF0ZUZvcm1hdCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9tZW50V2l0aG91dFRpbWUobW9tZW50RGF0ZTogTW9tZW50KTogRGF0ZSB7XG4gIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBtb21lbnREYXRlLmZvcm1hdChEQVRFX0ZPUk1BVF9ZWVlZX01NX0REKTtcbiAgcmV0dXJuIG5ldyBEYXRlKGZvcm1hdHRlZERhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9tZW5XaXRoVGltZShtb21lbnREYXRlOiBNb21lbnQpOiBEYXRlIHtcbiAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IG1vbWVudERhdGUuZm9ybWF0KERBVEVfRk9STUFUX1lZWVlfTU1fRERfSEhfTU0pO1xuICByZXR1cm4gYWRqdXN0Rm9yVGltZXpvbmUobmV3IERhdGUoZm9ybWF0dGVkRGF0ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0TWludXRlc1RvVGltZU51bWJlcih2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID4gMCkge1xuICAgIHJldHVybiBgJHtNYXRoLmZsb29yKHZhbHVlIC8gNjApLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX0keyh2YWx1ZSAlIDYwKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9YDtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGltZVdpdGhvdXRNaWRuaWdodCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZvcm1hdFRpbWVXaXRoU2VwYXJhdG9yKHZhbHVlLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lV2l0aE1pZG5pZ2h0KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gZm9ybWF0VGltZVdpdGhTZXBhcmF0b3IodmFsdWUsIHRydWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGltZVdpdGhvdXRTZXBlcmF0b3JBbmRXaXRoTWlkbmlnaHQodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBmb3JtYXRUaW1lV2l0aG91dFNlcGFyYXRvcih2YWx1ZSwgdHJ1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lV2l0aG91dFNlcGVyYXRvckFuZFdpdGhvdXRNaWRuaWdodCh2YWx1ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgcmV0dXJuIGZvcm1hdFRpbWVXaXRob3V0U2VwYXJhdG9yKHZhbHVlLCBmYWxzZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lVG9NaW51dGVzKHZhbHVlOiBzdHJpbmcpOiBudW1iZXIge1xuICB2YWx1ZSA9IHZhbHVlPy50b1N0cmluZygpO1xuICBpZiAodmFsdWU/Lmxlbmd0aCA9PT0gVkFMSURfVElNRV9NQVhfTEVOR1RIKSB7XG4gICAgY29uc3QgaCA9ICgoK3ZhbHVlWzBdICogVEVOU19NVUxUSVBMSUVSKSArICt2YWx1ZVsxXSkgKiBNSU5VVEVTX1BFUl9IT1VSO1xuICAgIGNvbnN0IG0gPSArdmFsdWVbMl0gKiBURU5TX01VTFRJUExJRVIgKyArdmFsdWVbM107XG4gICAgcmV0dXJuIGggKyBtO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW51dGVzVG9UaW1lKG1pbnV0ZXM6IG51bWJlcik6IFRpbWUge1xuICByZXR1cm4gbWludXRlcyA+PSAwID8geyBob3VyczogTWF0aC5mbG9vcihtaW51dGVzIC8gTUlOVVRFU19QRVJfSE9VUiksIG1pbnV0ZXM6IG1pbnV0ZXMgJSBNSU5VVEVTX1BFUl9IT1VSIH0gOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGltZVRvTWludXRlcyh0aW1lOiBUaW1lKTogbnVtYmVyIHtcbiAgcmV0dXJuIHRpbWUgPyAodGltZS5ob3VycyAqIE1JTlVURVNfUEVSX0hPVVIpICsgdGltZS5taW51dGVzIDogMDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRpbWVUb01vbWVudCh0aW1lOiBUaW1lKTogbW9tZW50Lk1vbWVudCB8IG51bGwge1xuICBpZiAoIXRpbWUgfHwgdGltZS5ob3VycyA9PSBudWxsIHx8IHRpbWUubWludXRlcyA9PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBsZXQgeyBob3VycywgbWludXRlcywgc2Vjb25kcywgbWlkZGF5UGVyaW9kIH0gPSB0aW1lO1xuXG4gIGlmIChtaWRkYXlQZXJpb2QgPT09IE1pZGRheVBlcmlvZC5QTSAmJiBob3VycyA8IDEyKSB7XG4gICAgaG91cnMgKz0gMTI7XG4gIH0gZWxzZSBpZiAobWlkZGF5UGVyaW9kID09PSBNaWRkYXlQZXJpb2QuQU0gJiYgaG91cnMgPT09IDEyKSB7XG4gICAgaG91cnMgPSAwO1xuICB9XG5cbiAgcmV0dXJuIG1vbWVudCgpLmhvdXJzKGhvdXJzKS5taW51dGVzKG1pbnV0ZXMpLnNlY29uZHMoc2Vjb25kcyA/PyAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdHRlZFRpbWUobWludXRlczogbnVtYmVyLCBpc01pZG5pZ2h0RW5hYmxlOiBib29sZWFuLCBmb3JtYXQ6IHN0cmluZywgZGVmYXVsdFZhbHVlID0gbnVsbCk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoaXNNaWRuaWdodEVuYWJsZSB8fCBtaW51dGVzID4gMCkge1xuICAgIHJldHVybiBjb252ZXJ0TWludXRlc1RvVGltZShtaW51dGVzLCBmb3JtYXQpO1xuICB9XG5cbiAgcmV0dXJuIGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCA/IGNvbnZlcnRNaW51dGVzVG9UaW1lKGRlZmF1bHRWYWx1ZSwgZm9ybWF0KSA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRNaW51dGVzVG9UaW1lKG1pbnV0ZXM6IG51bWJlciwgZm9ybWF0OiBzdHJpbmcpIHtcbiAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBmb3JtYXQgaXMgMTItaG91ciBvciAyNC1ob3VyIGFuZCBleHRyYWN0IHRoZSB0aW1lIHBhcnRcbiAgY29uc3QgdGltZUZvcm1hdCA9IGZvcm1hdC50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKCdhJykgPyAnaGg6bW0gQScgOiAnSEg6bW0nO1xuICByZXR1cm4gbW9tZW50KCkuc3RhcnRPZignZGF5JykuYWRkKG1pbnV0ZXMsICdtaW51dGVzJykuZm9ybWF0KHRpbWVGb3JtYXQpO1xufVxuXG4vLyBXcmFwcGVyIG1ldGhvZCB0byBmb3JtYXQgbWludXRlcyB3aXRoIFwiOlwiIGFzIHNlcGFyYXRvciAoZS5nLiwgXCJISDptbVwiKVxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRpbWVXaXRoU2VwYXJhdG9yKHZhbHVlOiBudW1iZXIsIGlzTWlkbmlnaHRFbmFibGU6IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgcmV0dXJuIGZvcm1hdFRpbWUodmFsdWUsIGlzTWlkbmlnaHRFbmFibGUsICc6Jyk7XG59XG5cbi8vIFdyYXBwZXIgbWV0aG9kIHRvIGZvcm1hdCBtaW51dGVzIHdpdGhvdXQgc2VwYXJhdG9yIChlLmcuLCBcIkhIbW1cIilcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUaW1lV2l0aG91dFNlcGFyYXRvcih2YWx1ZTogbnVtYmVyLCBpc01pZG5pZ2h0RW5hYmxlOiBib29sZWFuKTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBmb3JtYXRUaW1lKHZhbHVlLCBpc01pZG5pZ2h0RW5hYmxlLCAnJyk7XG59XG5cbi8vIENvcmUgbWV0aG9kIGZvciBmb3JtYXR0aW5nIG1pbnV0ZXMgd2l0aCBmbGV4aWJpbGl0eSBpbiBvdXRwdXQgZm9ybWF0XG5mdW5jdGlvbiBmb3JtYXRUaW1lKHZhbHVlOiBudW1iZXIsIGlzTWlkbmlnaHRFbmFibGVkOiBib29sZWFuLCBzZXBhcmF0b3I6IHN0cmluZyA9ICc6Jyk6IHN0cmluZyB8IG51bGwge1xuICBpZiAoaXNNaWRuaWdodEVuYWJsZWQgfHwgdmFsdWUgPiAwKSB7XG4gICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKHZhbHVlIC8gTUlOVVRFU19QRVJfSE9VUikudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgIGNvbnN0IG1pbnV0ZXMgPSAodmFsdWUgJSBNSU5VVEVTX1BFUl9IT1VSKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgcmV0dXJuIGAke2hvdXJzfSR7c2VwYXJhdG9yfSR7bWludXRlc31gO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VGltZVRvU3RyaW5nKG9iajogVGltZSk6IHN0cmluZyB7XG4gIGxldCByZXN1bHQgPSAnLSc7XG5cbiAgaWYgKG9iaikge1xuICAgIGNvbnN0IGhvdXJzID0gb2JqLmhvdXJzPy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJykgPz8gJzAwJztcbiAgICBjb25zdCBtaW51dGVzID0gb2JqLm1pbnV0ZXM/LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKSA/PyAnMDAnO1xuICAgIGNvbnN0IHNlY29uZHMgPSBvYmouc2Vjb25kcz8udG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpID8/ICcwMCc7XG5cbiAgICByZXN1bHQgPSBgJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9YDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBkYXRlIGZvcm1hdCBzdHJpbmcgdXNlcyBtb250aCBuYW1lcyAoTU1NL01NTU0pXG4gKiBAZXhhbXBsZSBcIk1NTSBkZCwgeXl5eVwiIOKGkiB0cnVlXG4gKiBAZXhhbXBsZSBcIk1NL2RkL3l5eXlcIiDihpIgZmFsc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc01vbnRoTmFtZShmb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gISFmb3JtYXQgJiYgL1xcYk1NTStcXGIvLnRlc3QoZm9ybWF0KTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGRhdGUgZm9ybWF0IHVzZXMgMTItaG91ciB0aW1lIHdpdGggQU0vUE1cbiAqIEBleGFtcGxlIFwiaGg6bW0gYVwiIOKGkiB0cnVlXG4gKiBAZXhhbXBsZSBcIkhIOm1tXCIg4oaSIGZhbHNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNNaWRkYXlQZXJpb2QoZm9ybWF0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgLy8gIENvbXBsZXRlOiBNYXRjaGVzIGEsIGFtLCBBLCBBTSwgcCwgcG0sIFAsIFBNXG4gIHJldHVybiAhIWZvcm1hdCAmJiAvXFxzW2FwXW0/JC9pLnRlc3QoZm9ybWF0KTtcbn1cbiJdfQ==
|
|
@@ -88586,6 +88586,23 @@ function formatTimeToString(obj) {
|
|
|
88586
88586
|
}
|
|
88587
88587
|
return result;
|
|
88588
88588
|
}
|
|
88589
|
+
/**
|
|
88590
|
+
* Checks if the date format string uses month names (MMM/MMMM)
|
|
88591
|
+
* @example "MMM dd, yyyy" → true
|
|
88592
|
+
* @example "MM/dd/yyyy" → false
|
|
88593
|
+
*/
|
|
88594
|
+
function hasMonthName(format) {
|
|
88595
|
+
return !!format && /\bMMM+\b/.test(format);
|
|
88596
|
+
}
|
|
88597
|
+
/**
|
|
88598
|
+
* Checks if the date format uses 12-hour time with AM/PM
|
|
88599
|
+
* @example "hh:mm a" → true
|
|
88600
|
+
* @example "HH:mm" → false
|
|
88601
|
+
*/
|
|
88602
|
+
function hasMiddayPeriod(format) {
|
|
88603
|
+
// Complete: Matches a, am, A, AM, p, pm, P, PM
|
|
88604
|
+
return !!format && /\s[ap]m?$/i.test(format);
|
|
88605
|
+
}
|
|
88589
88606
|
|
|
88590
88607
|
class SmartparkDateTimePipe {
|
|
88591
88608
|
transform(seconds = 0) {
|
|
@@ -113008,6 +113025,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
113008
113025
|
type: Injectable
|
|
113009
113026
|
}], ctorParameters: () => [{ type: i1$2.Store }, { type: UsersCloudServiceProxy }, { type: UsersIdentityServiceProxy }, { type: MessageBarService }, { type: AppConfigService }, { type: TenantCloudServiceProxy }, { type: i1$5.TranslateService }, { type: BackofficeCloudServiceProxy }], propDecorators: { onLoad2FAUserAction: [], onLoadUserPermissionsAction: [], onLoadUsersAction: [], onSetMonthliesAction: [], onAddUserAction: [], onEditUserAction: [], onDeleteUserAction: [], onResendUserInvitationAction: [], onSetUserStatusAction: [], onResendPendingAdminInvitationsAction: [], onEnable2FAAction: [], onDisable2FAAction: [], onClearUsersAction: [], onUpdateAndActivateUserAction: [], onUpdateTenantSingleSignOnAction: [] } });
|
|
113010
113027
|
|
|
113028
|
+
// Module order configuration
|
|
113029
|
+
const MODULE_ORDER = [
|
|
113030
|
+
AppModule$3.Cc,
|
|
113031
|
+
AppModule$3.Accounts,
|
|
113032
|
+
AppModule$3.ECommerceBackoffice,
|
|
113033
|
+
AppModule$3.Monthlies,
|
|
113034
|
+
AppModule$3.Guests,
|
|
113035
|
+
AppModule$3.Validation,
|
|
113036
|
+
AppModule$3.Reports,
|
|
113037
|
+
AppModule$3.LotConfiguration,
|
|
113038
|
+
AppModule$3.Management
|
|
113039
|
+
];
|
|
113011
113040
|
class PermissionsService {
|
|
113012
113041
|
constructor(store) {
|
|
113013
113042
|
this.store = store;
|
|
@@ -113015,6 +113044,28 @@ class PermissionsService {
|
|
|
113015
113044
|
this.isOperationalAdmin = () => this.isPermitted(PermissionType$2.OperationalAdmin);
|
|
113016
113045
|
this.isAdmin = () => this.isPermitted(PermissionType$2.SystemAdmin) || this.isPermitted(PermissionType$2.OperationalAdmin);
|
|
113017
113046
|
this.isPermitted = (permissionType) => this.store.selectSnapshot(UserState.permissionTypes)?.includes(permissionType);
|
|
113047
|
+
this.userPermittedModules = computed(() => {
|
|
113048
|
+
const permissionTypes = this.store.selectSignal(UserState.permissionTypes)();
|
|
113049
|
+
const isPermitted = (permissionType) => permissionTypes?.includes(permissionType);
|
|
113050
|
+
const permitted = new Set([
|
|
113051
|
+
AppModule$3.Accounts,
|
|
113052
|
+
AppModule$3.Monthlies,
|
|
113053
|
+
AppModule$3.Guests,
|
|
113054
|
+
AppModule$3.Validation,
|
|
113055
|
+
]);
|
|
113056
|
+
if (isPermitted(PermissionType$2.SystemAdmin) || isPermitted(PermissionType$2.OperationalAdmin)) {
|
|
113057
|
+
[
|
|
113058
|
+
AppModule$3.Cc,
|
|
113059
|
+
AppModule$3.Reports,
|
|
113060
|
+
AppModule$3.LotConfiguration,
|
|
113061
|
+
AppModule$3.Management,
|
|
113062
|
+
].map(appModule => permitted.add(appModule));
|
|
113063
|
+
}
|
|
113064
|
+
if (isPermitted(PermissionType$2.ECommerceBackofficeMain)) {
|
|
113065
|
+
permitted.add(AppModule$3.ECommerceBackoffice);
|
|
113066
|
+
}
|
|
113067
|
+
return MODULE_ORDER.filter(appModule => permitted.has(appModule));
|
|
113068
|
+
});
|
|
113018
113069
|
}
|
|
113019
113070
|
getRolePermissionTypes(permissionsMap, appModule) {
|
|
113020
113071
|
const findAllPermissionDtosByAppModule = (appModule) => permissionDto => permissionDto.module === appModule && permissionDto.subModule != null;
|
|
@@ -113026,38 +113077,6 @@ class PermissionsService {
|
|
|
113026
113077
|
const rolePermissionTypes = this.getRolePermissionTypes(permissionsMap, appModule);
|
|
113027
113078
|
return permissionTypes.some(pt => rolePermissionTypes.includes(pt));
|
|
113028
113079
|
}
|
|
113029
|
-
userPermittedModules() {
|
|
113030
|
-
const isAdminPermission = this.isAdmin();
|
|
113031
|
-
let permittedModules = [];
|
|
113032
|
-
if (isAdminPermission) {
|
|
113033
|
-
permittedModules = [
|
|
113034
|
-
AppModule$3.Cc,
|
|
113035
|
-
AppModule$3.Accounts,
|
|
113036
|
-
AppModule$3.ECommerceBackoffice,
|
|
113037
|
-
AppModule$3.Monthlies,
|
|
113038
|
-
AppModule$3.Guests,
|
|
113039
|
-
AppModule$3.Validation,
|
|
113040
|
-
AppModule$3.Reports,
|
|
113041
|
-
AppModule$3.LotConfiguration,
|
|
113042
|
-
AppModule$3.Management,
|
|
113043
|
-
];
|
|
113044
|
-
}
|
|
113045
|
-
else {
|
|
113046
|
-
// non admin users permitted modules
|
|
113047
|
-
permittedModules = [
|
|
113048
|
-
AppModule$3.Accounts,
|
|
113049
|
-
AppModule$3.ECommerceBackoffice,
|
|
113050
|
-
AppModule$3.Monthlies,
|
|
113051
|
-
AppModule$3.Guests,
|
|
113052
|
-
AppModule$3.Validation,
|
|
113053
|
-
];
|
|
113054
|
-
}
|
|
113055
|
-
const isTenantPermittedForECommerceModule = this.isPermitted(PermissionType$2.ECommerceBackofficeMain);
|
|
113056
|
-
if (!isTenantPermittedForECommerceModule) {
|
|
113057
|
-
permittedModules = permittedModules.filter(module => module !== AppModule$3.ECommerceBackoffice);
|
|
113058
|
-
}
|
|
113059
|
-
return permittedModules;
|
|
113060
|
-
}
|
|
113061
113080
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsService, deps: [{ token: i1$2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
113062
113081
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PermissionsService }); }
|
|
113063
113082
|
}
|
|
@@ -118098,5 +118117,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
118098
118117
|
* Generated bundle index. Do not edit.
|
|
118099
118118
|
*/
|
|
118100
118119
|
|
|
118101
|
-
export { ACCESS_PROFILE_DAT_TYPES_SP, ACTIVE_BYTE, ADVANCED_OPTIONS_VALUE, AES_DEFAULT_IV, ALERT_NOTIFICATION_CONTAINER, ALLOWED_FILES_FORMATS, ALLOWED_FILES_MAX_SIZE_MB, ALLOWED_FILES__SIZE_200_KB, ALLOWED_FILES__SIZE_2_MB, ALLOWED_NUMBER_OF_DAYS, ALLOWED_UPLOAD_FILES_QUANTITY, ALL_DAYS_IN_BINARY, ALL_DAYS_IN_BYTE, AccessProfileChangeValidTypesText, AccessProfileDayTypesText, AccessProfileRestrictionTypesText, AccessProfileShortDayTypesText, AccessProfileSpecialDaysMap, AccessProfileTypesText, AccountFrameMessageBarComponent, AccountLinkedEntitiesText, AccountLinkedEntityText, AccountSetPasswordAction, AccountSetPasswordErrorAction, AccountSetPasswordInitAction, ActionStatusService, AddSmartparkAction, AddUserAction, AdministrativeNotificationEntityType, AdministrativeNotificationsModule, AdministrativeNotificationsState, AggregatedStatusText, AlertChangedAction, AlertNotificationBorderClass, AlertNotificationClassificationMap, AlertNotificationComponent, AlertNotificationService, AlertsAndNotificationsService, AlertsAndNotificationsState, AlertsDeviceTypeLabel, AlertsDeviceTypeOptions, AlertsDeviceTypeOptionsMapping, AmountStepSurchargeMinLimit, AnalyticsCommandsText, AnalyticsEventsText, AnalyticsService, AnalyticsSourceComponent, AnalyticsSourceProps, AppConfigService, AppModuleService, AppModuleToMainPermissionTypeMap, AppSectionLabel, AppSectionModuleMenu, AppSectionRoute, AppSettingsService, AppType, AuditActionTypeText, AuditLogoutAction, AuditLogoutMobileAction, AuthModule, AuthRouteGuard, AuthService, AuthTokenService, Authenticate2FAforUser, AuthenticateMultipleTenantsAction, AutofocusDirective, BOM_UNICODE, BackofficeAutheticateAction, BarcodeTypeLength, BarrireStateText, BaseComponent, BaseDeviceItemComponent, BaseDeviceService, BaseFacilityCommandsService, BaseNotificationService, BillDispenserStatusText, BillTypeText, BillValidatorStatusText, ButtonStatus, CANCEL_ALL_RELAY_VALUE, CLogItPipe, COLORS, CREDIT_CARD_POSTFIX_LENGTH, CalculatorModule, CalculatorState, CanDeactivateService, CarModule, CarState, CassetteStatusText, CentToCoinPipe, ChangeLanguageAction, ChangeMobileLanguageAction, ChangePasswordAction, ChangePasswordMobileAction, ChartLayout, CleanLogoAction, ClearAdministrativeNotificationsAction, ClearAdministrativeNotificationsByEntityTypeAction, ClearAlertsAndNotificationsAction, ClearBaseZonesAction, ClearCalculatorPriceAction, ClearCategoriesAction, ClearColorsAction, ClearDeviceAction, ClearDeviceEventsExpanded, ClearDevicesAction, ClearEventActivitiesExpanded, ClearFacilityDictionaryAction, ClearGroupsAction, ClearGuestAction, ClearGuestProfilesAction, ClearGuestsListAction, ClearHandledGuest, ClearInactiveSelectedParkAction, ClearJobTitlesAction, ClearLocateTicketSearchAction, ClearLocatedTicketAction, ClearLprTransactionsExpanded, ClearMacroCommandsAction, ClearModelsAction, ClearParkerAction, ClearRateAction, ClearSearchResultsAction, ClearSearchTermAction, ClearSearchTicketAction, ClearSelectedFacilityAction, ClearSelectedParkAction, ClearSelectedRow, ClearSelectedSmartparkAction, ClearSmartparksBasicAction, ClearSpAndSparkVersionsAction, ClearSpecialTransientTablesAction, ClearSuspendedParkActivitiesAction, ClearUserSettingsByCategoryAction, ClearUsersAction, ClearValidationTypesAction, ClearZoneAction, ClearZonesAction, ClearZsAction, cloudServiceProxies as Cloud, CloudConfirmDialogComponent, CofCredentialSubTypeText, CoinStatusText, CollapsedGuestsByBatchIdAction, ComAggregatedStatus, ComAggregatedStatusText, ComStatusIconComponent, CommandCenterModuleResolver, CommandNotificationBorderClass, CommandNotificationComponent, CommandNotificationDisplayCase, CommandNotificationService, CommandNotificationType, CommandsLocalizationKey, CommonPagesModule, CompanyService, ConfigMobileResolver, ConfigResolver, ConnectSmartparkAction, ContainerRefDirective, CoreEntities, CouponSearchFieldSelectorText, CreateBasicBatchAction, CreateBasicGuestAction, CreateBatchAction, CreateColorAction, CreateGuestAction, CreateModelAction, CreateOrUpdateSMTPDetailsAction, CredentialTypeText, CreditCardTypeText, CrudOperationText, CurlyToBoldPipe, DATA_IMAGE_BASE64_PREFIX, DATA_IMAGE_BASE64_SVG_PREFIX, DEFAULT_DATE_FORMAT, DEFAULT_EXPIRATION_MONTHS_COUNT, DEFAULT_MINIMUM_LENGTH, DEFAULT_PASSWORD_HISTORY_COUNT, DEFAULT_PERMITTED_CREDENTIALS, DEFAULT_SMART_PARK_DATE_TIME, DEFAULT_SORT_MENU, DEFAULT_STICKER_NUM, DEVICE_EVENT_OPTIONS_KEY, DEVICE_NAVIGATE_KEY, DISABLED_FOCUS_ELEMENT_CLASSES, DISABLED_FOCUS_ELEMENT_TYPES, DYNAMIC_PRICING_CONDITION, DataQaAttribute, DateService, DateValidityText, DaysText, DecimalToAmountPipe, DecimalToCurrencyPipe, DefaultImageTimeout, DeleteGuestAction, DeleteLogoAction, DeleteUserAction, DetectBrowserService, DeviceActivityChangedAction, DeviceActivityLabel, DeviceActivityMode, DeviceActivityModeText, DeviceActivityStatus, DeviceActivityType, DeviceAggregatedStatus, DeviceAggregatedStatusText, DeviceEventChangedAction, DeviceIconComponent, DeviceIndicationStatus, DeviceLaneTypes, DeviceLoop, DeviceModule, DevicePipeModule, DevicePrinterStatusText, DeviceRemoteCommandsService, DeviceSortBy, DeviceStatusBaseComponent, DeviceStatusChangedAction, DeviceTypeIconName, DeviceTypeText, DeviceTypesAlertsMapping, DevicesViewMode, DialogMode, DipSwitchStatus, Disable2FAAction, DisconnectSmartParkAction, DoorSensorStatus, DoorStatusText, DurationMessageBar, DynamicContainerComponent, DynamicEllipsisTooltipDirective, ENGLISH_LANGUAGE, ENVIRONMENT, EXPIRATION_MONTHS_COUNT_OPTIONS, edgeServiceProxies as Edge, EditUserAction, ElectronicWalletPaymentMethodTypesText, EllipsisMultilineDirective, EmailServerModule, EmailServerState, EmptyResultsComponent, Enable2FAAction, EnumsToArrayPipe, EnvironmentModeText, ErrorPageComponent, ErrorPageResolver, ErrorResultsComponent, ExceedingBehaviorTypeText, ExpandGuestsByBatchIdAction, ExportFileService, ExportGuestsAction, ExportPdfSmartparksTableAction, ExportSmartparkAction, FONT_BASE64, FacilityChangedAction, FacilityMenuService, FacilityModule, FacilityRemoteCommandExecutedAction, FacilityRemoteCommandTypesIcon, FacilityRemoteCommandsLocalizationKey, FacilityRemoteCommandsMenuItems, FacilityService, FacilityState, FieldLabelComponent, FieldValidationsComponent, FileGenerateMethod, FileSanitizerService, FileService, FilterByDeviceType, FilterDevicesByTypePipe, FilterDevicesByZonePipe, FilterKeysPipe, FilterNumbersPipe, FilterPipe, FlattenedCoreEntities, FloatMessageBarService, ForgotPasswordAction, ForgotPasswordTenantlessAction, FormValidationsComponent, FormattedInputDirective, FrequentParkingActionText, FrequentParkingErrorActionText, GATE_STATE_VALUE, GeneralActionService, GenerateSearchParamsDto, GetAllLocalizationsAction, GetAllLocalizationsMobileAction, GetLogoAction, GetMobileLogoAction, GetRateByIdAction, GetSpecialTransientTablesAction, GetUserSettingsByCategoryAction, GlobalErrorService, GlobalMessageContainerComponent, GroupPermissionsPipe, GuestModule, GuestSearchFieldSelectorText, GuestState, GuestTypeCastText, GuestTypesText, HOUR_FORMAT_12, HOUR_FORMAT_24, HOUR_FORMAT_FULL_DAY, HandleAlertsAction, HandleNotificationAction, HandledNotificationAction, HasActionErrored, HealthAction, HoldRelayMode, HoldRelayModeText, HopperStatusText, HotelGuestSearchFieldSelectorText, HttpCancelBlackListUrls, HttpCancelInterceptor, HttpCancelService, HumanizePipe, INPUT_SEARCH_DEBOUNCE_TIME, INPUT_SEARCH_DEBOUNCE_TIME_LOW, INPUT_SEARCH_DEBOUNCE_TIME_MEDIUM, IconColumnComponent, IconComponent, IconModule, IconsHelper, IconsHelperText, identityServiceProxies as Identity, ImportMonthyStastusFieldSelectorText, InitAddSmartparkConnectionAction, InitSMTPDetailsAction, InitSessionFromLocalStorageAction, InitSmartparkTransportAction, IntercomComponent, InternetConnectionService, InternetConnectionStatus, IsActionExecuting, IsEllipsisDirective, LOCAL_ENGLISH_LANGUAGE, LOCATION_OPTIONS, LOGGED_TENANT_KEY, LanguageTypeKeys, LayoutModule, LayoutState, Load2FAUserAction, LoadAccessProfileBaseZonesAction, LoadAccessProfileZoneAction, LoadAccessProfileZonesAction, LoadAccountManagementGuestGroupAction, LoadAccountManagementJobTitlesAction, LoadAdministrativeNotificationsAction, LoadAlertsAndNotificationsAction, LoadAppConfigurationAction, LoadAppConfigurationMobileAction, LoadBackofficeAppConfigurationAction, LoadBackofficeSmartparksTableAction, LoadBackofficeSpAndSparkVersionsAction, LoadBackofficeVarsAction, LoadCalculatorPriceAction, LoadCategoriesAction, LoadCcMainBaseZonesAction, LoadCcMainZonesAction, LoadColorsAction, LoadColorsAction1, LoadColorsAction2, LoadColorsAction3, LoadColorsAction4, LoadColorsAction5, LoadDeviceAction, LoadDeviceEventActivitiesAction, LoadDeviceEventsAction, LoadDeviceEventsCollapse, LoadDeviceLprTransactionsAction, LoadDeviceStatusAction, LoadDevicesAction, LoadDevicesByTypeAction, LoadDynamicPricingBaseZonesAction, LoadDynamicPricingZoneAction, LoadEventActivitiesCollapse, LoadFacilityAction, LoadFacilityRemoteCommandsRefAction, LoadGuestByIdAction, LoadGuestProfilesAction, LoadGuestsAction, LoadGuestsByBatchIdAction, LoadGuestsByBatchIdCancelledAction, LoadLocateTicketSearchAction, LoadLocatedTicketAction, LoadLprTransactionsCollapse, LoadMacroCommandsAction, LoadMobileNotificationsAction, LoadMobileSmartparksBasicAction, LoadModelsAction, LoadModelsAction1, LoadModelsAction2, LoadModelsAction3, LoadModelsAction4, LoadModelsAction5, LoadOverflowPriceTableAction, LoadParkActivitiesAction, LoadParkDevicesAction, LoadParkerAction, LoadParkersAction, LoadParkingLotAction, LoadParksAction, LoadRateByIdAction, LoadRatesAction, LoadRemoteCommandsRefAction, LoadReportsBaseZonesAction, LoadReportsGuestGroupAction, LoadReportsJobTitlesAction, LoadReportsZoneAction, LoadReportsZonesAction, LoadSMTPDetailsAction, LoadSelectedDeviceAction, LoadSmartparksAction, LoadSmartparksBasicAction, LoadSmartparksDropdownAction, LoadSmartparksTableAction, LoadSpAndSparkVersionsAction, LoadStickerPriceTableAction, LoadTicketNumParkersAction, LoadTransientPriceTableAction, LoadUserPermissionsAction, LoadUsersAction, LoadUsersAdministrativeNotificationsAction, LoadValidationTypeAction, LoadVarsAction, LoadZsAction, LoadingOverlayComponent, LocalStorageMigrator, LocalStorageService, Localization, LocalizationModule, LocalizationResolver, LocalizationService, LocalizationState, LoginModule, LoginRequestAction, LoginService, LoginState, LoginSuccess, LogoComponent, LogoState, LogoutAction, LogoutMobileAction, LoopStatus, LowerCaseUrlSerializer, LprTransactionsChangedAction, LprTransactionsOptionsText, LprTransactionsSearchFieldSelectorText, MANUAL_ACTION_REASON_NAME_MAX_LENGTH, MAX_ALLOWED_BADGE_VALUE, MAX_ALLOWED_CURRENT_BALANCE, MAX_ALLOWED_DEDUCTION_VALUE, MAX_ALLOWED_GUEST_UNIT_QUANTITY, MAX_ALLOWED_IDENTIFIER_VALUE, MAX_ALLOWED_STARTING_PURSE_VALUE, MAX_CARDS, MAX_CAR_PLATES, MAX_EMAIL_CHARACTERS_LENGTH, MAX_EXPORT_RECORDS, MAX_HOTEL_ROOM_NUMBER_LENGTH, MAX_INT16_VALUE, MAX_INT32_VALUE, MAX_INTEGER_VALUE, MAX_LENGTH_BATCH_NAME, MAX_LENGTH_DESCRIPTION_50, MAX_LENGTH_DESCRIPTION_70, MAX_LENGTH_FOOTER, MAX_LENGTH_LEFT, MAX_LENGTH_LEFT_BACKWARD_COMPATIBILITY, MAX_LENGTH_MANUAL_TEXT, MAX_LENGTH_NAME_20, MAX_LENGTH_NAME_30, MAX_LENGTH_NAME_50, MAX_LENGTH_QUANTITY, MAX_LENGTH_REASON_DESCRIPTION, MAX_LENGTH_SERACH_TERM, MAX_LENGTH_SERACH_TERM_30, MAX_MOBILE_LENGTH, MAX_NUMBER_OF_NIGHTS, MAX_NUMBER_OF_ROW_IN_MENU, MAX_OCCUPANCY_VALUE, MAX_PERIOD_TIME, MAX_PLATE_ID_LENGTH, MAX_PRICE_NO_TIME_LIMIT_VALUE, MAX_PRICE_PERIOD_VALUE, MAX_REPEAT_COUNT_VALUE, MAX_RESULTS, MAX_ROLE_NAME_LENGTH, MAX_SP, MAX_TIME_RANGE_ITEMS_PER_KEY, MC_READER_ID, MESSAGE_BAR_DEFAULT_ID, MINIMUM_DROPDOWN_RESULTS_WITHOUT_SEARCH, MINIMUM_LENGTH_OPTIONS, MINUTES_PER_HOUR, MIN_ALLOWED_GUEST_UNIT_QUANTITY, MIN_LENGTH_QUANTITY, MIN_NUMBER_OF_ROW_IN_MENU, MIN_TIME_RANGE_ITEMS_PER_KEY, MOBILE_REFRESH_INFO, MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory, MSLAuthService, MULTIPLE, MainModuleToSubModulesPermissionTypeMap, MatHintErrorDirective, MaxAllowedSurchargeAmount, MaxAllowedSurchargeMaxLimit, MaxAllowedSurchargeMinLimit, MaxDisplayTimeout, MaxIPV4TextLength, MaxSurchargeNameLength, MenuAppModuleLoadAction, MenuClearAction, MenuLoadAction, MenuService, MenuSubModuleClearAction, MenuSubModuleLoadAction, MessageBarComponent, MessageBarContainerComponent, MessageBarModule, MessageBarPosition, MessageBarService, MessageBarStatus, MiddayPeriod, MinAllowedSurchargeAmount, MinAllowedSurchargeMaxLimit, MinAllowedSurchargeMinLimit, MinDisplayTimeout, MobileAppSectionLabel, MobileAuthenticateMultipleTenantsAction, MobileCommandCenterModuleResolver, MobileLogoutAction, ModalButtonsWrapperComponent, ModalService, ModuleGuard, ModuleMenuBaseComponent, MonthlyRenewalSettingsActionTypesText, MonthlyRenewalSettingsActionTypesValueText, MonthlySearchFieldSelectorText, MslEventType, NONE_ACTIVE_BYTE, NONE_USER_ID, NO_RESULT, NativeElementInjectorDirective, NotSupportedBrowserGuard, NotSupportedBrowserPageComponent, NotificationChangedAction, NotificationClass, NotificationClassficationType, NotificationCloseAllButtonComponent, NotificationConfig, NotificationEventService, NotificationHPositions, NotificationModule, NotificationSeverityText, NotificationTypeLabelComponent, NotificationTypeText, NotificationVPositions, NotificationsModule, ONE_DAY_IN_MINUTES_VALUE, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND_IN_MILLISECONDS, OffScreenDirective, OpenIdAuthInitializeService, OpenIdAuthService, OpenIdAutheticateAction, Operator, OrderBy, OrderByPipe, OrderDirection$1 as OrderDirection, OrphanFacilitiesPipe, PARKER_SEARCH_AUTO_REDIRECT, PASSWORD_EXPIRED, PASSWORD_HISTORY_COUNT_OPTIONS, PREVENT_CLICK_ELEMENT_CLASSES, ParkActivitiesModule, ParkActivitiesState, ParkActivityChangedAction, ParkConnectionStatus, ParkConnectionStatusClass, ParkConnectionStatusText, ParkManagerModule, ParkManagerState, ParkService, ParkTimeService, ParkerSearchTerm, ParkerService, ParkerState, ParkerTagsText, ParkerTypesText, PasswordScore, PasswordStrengthService, PaymentSearchFieldSelectorText, PaymentServiceTypeText, PaymentsTypesText, PermissionGroupText, PermissionTypeSupportedVersionDictionary, PermissionTypeText, PermissionsService, PrintReceiptAction, ProfileTypeText, RATE_ID_WITH_VALUE_2, REDIRECT_URL, RELAY_2_VALUE, RELAY_3_VALUE, RELAY_4_VALUE, RESET_PASSWORD_EMAIL, RTL_LANGUAGES, RTObjectObject, RangeModes, RangeModesText, RateModule, RateState, RealtimeEventService, RealtimeResolver, ReceiptGeneratedAction, RefreshTokenService, RefreshTokenState, RelayStatus, ReloadParkerAction, RemoteCommandService, RemoteCommandTypesIcon, RemoteValidationModule, RemoteValidationState, RemoveExpiredAlertsAndNotificationsAction, ReportCategories, ReportCategoriesText, ReportMethodDictionary, ReportSectionMenu, ResendPendingAdminInvitationsAction, ResendUserInvitationAction, ResetRatesAction, RestartLinkComponent, RestartLinkModule, RestrictionLocationTypeText, RestrictionLocationTypeTextTable, RestrictionTypeText, RevenueService, RouteService, RowOperation, rpcServiceProxies as Rpc, SESSION, STATUS_CODE_SERVER_VALIDATION, STATUS_CODE_UNAUTHORIZED, STRING_ZERO, SUPER_PARK_ROUTE_KEY, SUPPORETD_RESTORE_TICKET_TYPES, SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES, SUPPORTED_DEVICES_SCHEDULER, SUPPORTED_GATE_DEVICE_TYPES, SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES, SUPPORTED_PAYMENT_FOR_ISF_TYPES, SUPPORTED_RESTORE_TICKET_DEVICE_TYPES, SUPPORTED_STATUS_DEVICE_TYPES, SUPPORTED_TICKET_INSIDE_DEVICE_TYPES, SYSTEM_ALERT_VALUE, SearchFacilitiesMode, SearchFieldSelectorText, SearchTicketAction, SearchValueHighlightComponent, SecurityModule, SecurityState, SelectDeviceAction, SelectParkAction, SelectSmartParkAction, SelectedRowAction, SendEmailFromEntityAction, SendEmailToGuest, SendGuestPassesToEmailAction, SendTestEmailAction, ServiceProxyModule, ServicesRunningStatusChangedAction, SessionState, SessionStorageService, SetBackofficeSmartParkVersionsAction, SetBasicMenuAction, SetDeviceEventsExpanded, SetDeviceRemoteCommandsMapAction, SetDeviceStatusAction, SetDeviceViewModeAction, SetEventActivitiesExpanded, SetFacilityRemoteCommandsMapAction, SetGuestsAction, SetLprTransactionsExpanded, SetMobileModeAction, SetParkActivitiesAction, SetRealTimeEventStatusAction, SetSearchTermAction, SetSelectedParkAction, SetSmartParkAction, SetSmartParkTableAction, SetSmartParkVersionsAction, SetSmartparkBasicAction, SetSmartparkBasicAllAction, SetStateAction, SetTFASetupAction, SetTenantUserAction, SetTicketIdentifierAction, SetUserNameAction, SetUserStatusAction, SetUsersAction, SetkeepMeLoggedInAction, SharedComponentsModule, SharedDirectivesModule, SharedModule, SharedPipesModule, SideNavSortBy, SidenavModule, SidenavState, SignalR, SignalRObject, SignalRRefreshTokenAction, SingleSignOnProviderText, SmartParkDeviceStatusChangedAction, SmartParkStatusText, SmartparkDateTimePipe, SmartparkDialogState, SmartparkModule, SmartparkService, SmartparkState, SortDevicesPipe, SortPipe, SparkNotification, SpecialDaysPipe, SpinnerDiameterSize, StaticMessageBarService, StatusIconComponent, StickerSearchFieldSelectorText, StopPropagationDirective, StringItPipe, SubModuleGuard, SubstrHightlightManyPipe, SubstrHightlightPipe, SubstrHightlightSinglePipe, SwallowUnitStatusText, SyncUsersAndRolesBySmartparkIdAction, TBFormatPipe, TBNumberDirective, TENANT_KEY, TENS_MULTIPLIER, TableRowHeightSizes, TableTypeText, TagLabelType, TenantClearAction, TenantLoadAction, TenantLogoModule, TenantService, TenantlessLoginMode, TibaDateFormat, TibaMatDialogConfig, TibaRetryPolicy, TibaValidators, TicketService, TimeAgoPipe, TimeElapsedCounterComponent, TimeElapsedFormats, TimeElapsedPipe, TimeRangeFormats, TimeRangePipe, ToggleDrawerAction, ToggleDrawerCollapseAction, TooltipPositions, TrackAction, TransientParkingActionText, TranslateLocalPipe, TreeFilterKeysPipe, TreeMode, TypeCastText, UNSAVED_DATA, USER_IS_TEMPORARY_BLOCKED, UnloadParkingLotAction, UpdateAndActivateUserAction, UpdateAuthTokenAction, UpdateBasicGuestAction, UpdateDocumentAction, UpdateGuestAction, UpdateGuestLocationAction, UpdateMobileMode, UpdateSmartparkAction, UpdateTenantInfoProps, UpdateTenantSingleSignOnAction, UpdateTicketPlateIdAction, UpdateUserAlertsPreferencesAction, UpdateUserNotificaitonsPreferencesAction, UpdateUserSettingsAction, UpdateUserSettingsInSessionAction, UpdateUserSettingsMobileAction, UploadLogoAction, UserCreationType, UserModule, UserSettingsModule, UserSettingsState, UserState, VALIDATION_TYPE_BY_HOURS_41, VALIDATION_TYPE_BY_HOURS_42, VALID_TIME_MAX_LENGTH, VERSION_10_1_0, VERSION_10_2_0, VERSION_10_2_1, VERSION_10_3_0, VERSION_10_3_9, VERSION_10_4_0, VERSION_25_1_0, VERSION_25_2_0, VERSION_25_2_1, VERSION_25_3_0, VERSION_25_3_1, VERSION_25_4_0, VERSION_7_4_0, VERSION_7_4_1, VERSION_8_1_0, VERSION_8_2_0, VERSION_8_3_0, VERSION_8_4_0, VERSION_9_1_0, VERSION_9_2_0, VERSION_9_2_2, VERSION_9_3_0, VERSION_9_4_0, VERSION_V1, VGuestWithBatchTableData, ValidateUserTokenAction, ValidationService, ValidationStickerType, ValidationTypeModule, ValidationTypeState, VarDirective, Verify2FactorAuthenticationAction, VersionMobileResolver, VirtualValidationStatusText, WrapFnPipe, ZerofyNegativePipe, ZoneChangedAction, ZoneModule, ZoneState, accountModuleAnimation, adjustForTimezone, allowSpecialKeys, alphanumericRegex, appModuleAnimation, areDatesIdentical, areVersionsCompatible, arrayEquals, arraysAreDifferent, baseReduce, blobToBase64, buildMessageInfos, buildMessages, camelize, canceled, capitalizeFirstLetter, compareValues, convert24HoursToAmPM, convertAmPmTo24Hours, convertBinaryToDecimal, convertCentToWholeCoin, convertDecimalToBinary, convertFeaturePermissionsToDictionary, convertFormatWithoutTime, convertWholeCoinToCent, createDescriptor, createMessageText, dateDiffInSeconds, days, daysTranslation, decimalNumberRegex, decimalPercentageRegex, decimalPositiveNumberRegex, decryptClientSecret, delayCancellation, deviceIndicationStatusLocalization, deviceTypeFilterOptions, diffInMillis, dispatched, distinctObjectByProperties, distinctObjectByProperty, downloadFile, ensureObjectMetadata, entryDevicesLaneTypes, errored, exitDevicesLaneTypes, extractErrorsChanges, extractNumber, extractResetChanges, extractSetValueChanges, extractToggleStatusChanges, extractTouchedChanges, extractUpdateValueAndValidityChanges, filterDevicesByTypes, filterKeyValueBaseReduce, findChildRoute, findObjectDifferences, findParentElement, findParentElementDimensions, findParentRoute, findParentRouteConfig, flattenByKey, formatMinutesToTimeNumber, formatTimeToMinutes, formatTimeToString, formatTimeWithMidnight, formatTimeWithSeparator, formatTimeWithoutMidnight, formatTimeWithoutSeparator, formatTimeWithoutSeperatorAndWithMidnight, formatTimeWithoutSeperatorAndWithoutMidnight, getActivatedRoutePathSegment, getAddress, getCurrentLang, getDateTimeInSeconds, getDateWithoutTime, getDaysFromValue, getDefaultDeviceStatus, getFormattedTime, getMomenWithTime, getMomentNullable, getMomentWithoutTime, getNavigationRoute, getObjectMetadata, getParkerTypesText, getPasswordMinimalLength, getSecondsBackoff, getTooltipTextByParkerType, getUserTimeZone, getUtcMomentNullable, hasRequiredField, hasValue, humanizeTimeElapsed, humanizeUtcTimeElapsed, identity, initializeMsal, initializeOpenId, integerNumberRegex, integerPositiveNumberRegex, ipv4Regex, isBoolean, isCharacterLengthValid, isDefinedAndNotEmpty, isDeviceActive, isDeviceInFilterDeviceTypes, isDeviceInFiltersDeviceTypes, isFalsy, isIOSDevice, isMaxDaysRangeValid, isNullOrEmpty, isNumber, isObjectEmpty, isSearchFieldChanged, isSingularOrPlural, isTrueInBinary, isTruthy, isVersionGreaterThanEqual, loadHTMLContent, lowerCase, lowerCaseFirstLetter, mapTransientTags, markEntitiesAsChanged, markEntityAsUnchanged, matchesDeviceCriteria, matchesDeviceParkingLotCriteria, matchesDevicesParkingLotCriteria, minutesToTime, mobileRegex, nameof, navigateToForbiddenAccessPage, navigateToNotSupportedBrowserPage, noEmojiRegex, notificationAnimation, numberWithLeadingZero, objectKeystoLowerCase, ofStatus, omitKeys, openBackgroundIframe, openCloseFiltersAnimation, parentParkBaseEventTypes, parentParkEventTypes, parkBaseEventTypes, parkEventTypes, parkerEnumToText, parseApiErrorData, parseApiErrorMessage, parseDateTimeToSparkParkTime, parseSmartParkTime, passwordRegex, percentageRegex, printSpecialDaysText, printStackTrace, readjustForTimezone, regexExp, remoteCommandLocalizationMap, replaceAll, rtEventPermissions, safeParse, searchBarPopupAnimation, setErrorMessage, shortDaysTranslation, sleep, slideFromBottom, slideFromRight, slideFromUp, slideUpDown, successful, timeToMinutes, timeToMoment, toInt, toNumberMap, toStringMap, wrapConstructor };
|
|
118120
|
+
export { ACCESS_PROFILE_DAT_TYPES_SP, ACTIVE_BYTE, ADVANCED_OPTIONS_VALUE, AES_DEFAULT_IV, ALERT_NOTIFICATION_CONTAINER, ALLOWED_FILES_FORMATS, ALLOWED_FILES_MAX_SIZE_MB, ALLOWED_FILES__SIZE_200_KB, ALLOWED_FILES__SIZE_2_MB, ALLOWED_NUMBER_OF_DAYS, ALLOWED_UPLOAD_FILES_QUANTITY, ALL_DAYS_IN_BINARY, ALL_DAYS_IN_BYTE, AccessProfileChangeValidTypesText, AccessProfileDayTypesText, AccessProfileRestrictionTypesText, AccessProfileShortDayTypesText, AccessProfileSpecialDaysMap, AccessProfileTypesText, AccountFrameMessageBarComponent, AccountLinkedEntitiesText, AccountLinkedEntityText, AccountSetPasswordAction, AccountSetPasswordErrorAction, AccountSetPasswordInitAction, ActionStatusService, AddSmartparkAction, AddUserAction, AdministrativeNotificationEntityType, AdministrativeNotificationsModule, AdministrativeNotificationsState, AggregatedStatusText, AlertChangedAction, AlertNotificationBorderClass, AlertNotificationClassificationMap, AlertNotificationComponent, AlertNotificationService, AlertsAndNotificationsService, AlertsAndNotificationsState, AlertsDeviceTypeLabel, AlertsDeviceTypeOptions, AlertsDeviceTypeOptionsMapping, AmountStepSurchargeMinLimit, AnalyticsCommandsText, AnalyticsEventsText, AnalyticsService, AnalyticsSourceComponent, AnalyticsSourceProps, AppConfigService, AppModuleService, AppModuleToMainPermissionTypeMap, AppSectionLabel, AppSectionModuleMenu, AppSectionRoute, AppSettingsService, AppType, AuditActionTypeText, AuditLogoutAction, AuditLogoutMobileAction, AuthModule, AuthRouteGuard, AuthService, AuthTokenService, Authenticate2FAforUser, AuthenticateMultipleTenantsAction, AutofocusDirective, BOM_UNICODE, BackofficeAutheticateAction, BarcodeTypeLength, BarrireStateText, BaseComponent, BaseDeviceItemComponent, BaseDeviceService, BaseFacilityCommandsService, BaseNotificationService, BillDispenserStatusText, BillTypeText, BillValidatorStatusText, ButtonStatus, CANCEL_ALL_RELAY_VALUE, CLogItPipe, COLORS, CREDIT_CARD_POSTFIX_LENGTH, CalculatorModule, CalculatorState, CanDeactivateService, CarModule, CarState, CassetteStatusText, CentToCoinPipe, ChangeLanguageAction, ChangeMobileLanguageAction, ChangePasswordAction, ChangePasswordMobileAction, ChartLayout, CleanLogoAction, ClearAdministrativeNotificationsAction, ClearAdministrativeNotificationsByEntityTypeAction, ClearAlertsAndNotificationsAction, ClearBaseZonesAction, ClearCalculatorPriceAction, ClearCategoriesAction, ClearColorsAction, ClearDeviceAction, ClearDeviceEventsExpanded, ClearDevicesAction, ClearEventActivitiesExpanded, ClearFacilityDictionaryAction, ClearGroupsAction, ClearGuestAction, ClearGuestProfilesAction, ClearGuestsListAction, ClearHandledGuest, ClearInactiveSelectedParkAction, ClearJobTitlesAction, ClearLocateTicketSearchAction, ClearLocatedTicketAction, ClearLprTransactionsExpanded, ClearMacroCommandsAction, ClearModelsAction, ClearParkerAction, ClearRateAction, ClearSearchResultsAction, ClearSearchTermAction, ClearSearchTicketAction, ClearSelectedFacilityAction, ClearSelectedParkAction, ClearSelectedRow, ClearSelectedSmartparkAction, ClearSmartparksBasicAction, ClearSpAndSparkVersionsAction, ClearSpecialTransientTablesAction, ClearSuspendedParkActivitiesAction, ClearUserSettingsByCategoryAction, ClearUsersAction, ClearValidationTypesAction, ClearZoneAction, ClearZonesAction, ClearZsAction, cloudServiceProxies as Cloud, CloudConfirmDialogComponent, CofCredentialSubTypeText, CoinStatusText, CollapsedGuestsByBatchIdAction, ComAggregatedStatus, ComAggregatedStatusText, ComStatusIconComponent, CommandCenterModuleResolver, CommandNotificationBorderClass, CommandNotificationComponent, CommandNotificationDisplayCase, CommandNotificationService, CommandNotificationType, CommandsLocalizationKey, CommonPagesModule, CompanyService, ConfigMobileResolver, ConfigResolver, ConnectSmartparkAction, ContainerRefDirective, CoreEntities, CouponSearchFieldSelectorText, CreateBasicBatchAction, CreateBasicGuestAction, CreateBatchAction, CreateColorAction, CreateGuestAction, CreateModelAction, CreateOrUpdateSMTPDetailsAction, CredentialTypeText, CreditCardTypeText, CrudOperationText, CurlyToBoldPipe, DATA_IMAGE_BASE64_PREFIX, DATA_IMAGE_BASE64_SVG_PREFIX, DEFAULT_DATE_FORMAT, DEFAULT_EXPIRATION_MONTHS_COUNT, DEFAULT_MINIMUM_LENGTH, DEFAULT_PASSWORD_HISTORY_COUNT, DEFAULT_PERMITTED_CREDENTIALS, DEFAULT_SMART_PARK_DATE_TIME, DEFAULT_SORT_MENU, DEFAULT_STICKER_NUM, DEVICE_EVENT_OPTIONS_KEY, DEVICE_NAVIGATE_KEY, DISABLED_FOCUS_ELEMENT_CLASSES, DISABLED_FOCUS_ELEMENT_TYPES, DYNAMIC_PRICING_CONDITION, DataQaAttribute, DateService, DateValidityText, DaysText, DecimalToAmountPipe, DecimalToCurrencyPipe, DefaultImageTimeout, DeleteGuestAction, DeleteLogoAction, DeleteUserAction, DetectBrowserService, DeviceActivityChangedAction, DeviceActivityLabel, DeviceActivityMode, DeviceActivityModeText, DeviceActivityStatus, DeviceActivityType, DeviceAggregatedStatus, DeviceAggregatedStatusText, DeviceEventChangedAction, DeviceIconComponent, DeviceIndicationStatus, DeviceLaneTypes, DeviceLoop, DeviceModule, DevicePipeModule, DevicePrinterStatusText, DeviceRemoteCommandsService, DeviceSortBy, DeviceStatusBaseComponent, DeviceStatusChangedAction, DeviceTypeIconName, DeviceTypeText, DeviceTypesAlertsMapping, DevicesViewMode, DialogMode, DipSwitchStatus, Disable2FAAction, DisconnectSmartParkAction, DoorSensorStatus, DoorStatusText, DurationMessageBar, DynamicContainerComponent, DynamicEllipsisTooltipDirective, ENGLISH_LANGUAGE, ENVIRONMENT, EXPIRATION_MONTHS_COUNT_OPTIONS, edgeServiceProxies as Edge, EditUserAction, ElectronicWalletPaymentMethodTypesText, EllipsisMultilineDirective, EmailServerModule, EmailServerState, EmptyResultsComponent, Enable2FAAction, EnumsToArrayPipe, EnvironmentModeText, ErrorPageComponent, ErrorPageResolver, ErrorResultsComponent, ExceedingBehaviorTypeText, ExpandGuestsByBatchIdAction, ExportFileService, ExportGuestsAction, ExportPdfSmartparksTableAction, ExportSmartparkAction, FONT_BASE64, FacilityChangedAction, FacilityMenuService, FacilityModule, FacilityRemoteCommandExecutedAction, FacilityRemoteCommandTypesIcon, FacilityRemoteCommandsLocalizationKey, FacilityRemoteCommandsMenuItems, FacilityService, FacilityState, FieldLabelComponent, FieldValidationsComponent, FileGenerateMethod, FileSanitizerService, FileService, FilterByDeviceType, FilterDevicesByTypePipe, FilterDevicesByZonePipe, FilterKeysPipe, FilterNumbersPipe, FilterPipe, FlattenedCoreEntities, FloatMessageBarService, ForgotPasswordAction, ForgotPasswordTenantlessAction, FormValidationsComponent, FormattedInputDirective, FrequentParkingActionText, FrequentParkingErrorActionText, GATE_STATE_VALUE, GeneralActionService, GenerateSearchParamsDto, GetAllLocalizationsAction, GetAllLocalizationsMobileAction, GetLogoAction, GetMobileLogoAction, GetRateByIdAction, GetSpecialTransientTablesAction, GetUserSettingsByCategoryAction, GlobalErrorService, GlobalMessageContainerComponent, GroupPermissionsPipe, GuestModule, GuestSearchFieldSelectorText, GuestState, GuestTypeCastText, GuestTypesText, HOUR_FORMAT_12, HOUR_FORMAT_24, HOUR_FORMAT_FULL_DAY, HandleAlertsAction, HandleNotificationAction, HandledNotificationAction, HasActionErrored, HealthAction, HoldRelayMode, HoldRelayModeText, HopperStatusText, HotelGuestSearchFieldSelectorText, HttpCancelBlackListUrls, HttpCancelInterceptor, HttpCancelService, HumanizePipe, INPUT_SEARCH_DEBOUNCE_TIME, INPUT_SEARCH_DEBOUNCE_TIME_LOW, INPUT_SEARCH_DEBOUNCE_TIME_MEDIUM, IconColumnComponent, IconComponent, IconModule, IconsHelper, IconsHelperText, identityServiceProxies as Identity, ImportMonthyStastusFieldSelectorText, InitAddSmartparkConnectionAction, InitSMTPDetailsAction, InitSessionFromLocalStorageAction, InitSmartparkTransportAction, IntercomComponent, InternetConnectionService, InternetConnectionStatus, IsActionExecuting, IsEllipsisDirective, LOCAL_ENGLISH_LANGUAGE, LOCATION_OPTIONS, LOGGED_TENANT_KEY, LanguageTypeKeys, LayoutModule, LayoutState, Load2FAUserAction, LoadAccessProfileBaseZonesAction, LoadAccessProfileZoneAction, LoadAccessProfileZonesAction, LoadAccountManagementGuestGroupAction, LoadAccountManagementJobTitlesAction, LoadAdministrativeNotificationsAction, LoadAlertsAndNotificationsAction, LoadAppConfigurationAction, LoadAppConfigurationMobileAction, LoadBackofficeAppConfigurationAction, LoadBackofficeSmartparksTableAction, LoadBackofficeSpAndSparkVersionsAction, LoadBackofficeVarsAction, LoadCalculatorPriceAction, LoadCategoriesAction, LoadCcMainBaseZonesAction, LoadCcMainZonesAction, LoadColorsAction, LoadColorsAction1, LoadColorsAction2, LoadColorsAction3, LoadColorsAction4, LoadColorsAction5, LoadDeviceAction, LoadDeviceEventActivitiesAction, LoadDeviceEventsAction, LoadDeviceEventsCollapse, LoadDeviceLprTransactionsAction, LoadDeviceStatusAction, LoadDevicesAction, LoadDevicesByTypeAction, LoadDynamicPricingBaseZonesAction, LoadDynamicPricingZoneAction, LoadEventActivitiesCollapse, LoadFacilityAction, LoadFacilityRemoteCommandsRefAction, LoadGuestByIdAction, LoadGuestProfilesAction, LoadGuestsAction, LoadGuestsByBatchIdAction, LoadGuestsByBatchIdCancelledAction, LoadLocateTicketSearchAction, LoadLocatedTicketAction, LoadLprTransactionsCollapse, LoadMacroCommandsAction, LoadMobileNotificationsAction, LoadMobileSmartparksBasicAction, LoadModelsAction, LoadModelsAction1, LoadModelsAction2, LoadModelsAction3, LoadModelsAction4, LoadModelsAction5, LoadOverflowPriceTableAction, LoadParkActivitiesAction, LoadParkDevicesAction, LoadParkerAction, LoadParkersAction, LoadParkingLotAction, LoadParksAction, LoadRateByIdAction, LoadRatesAction, LoadRemoteCommandsRefAction, LoadReportsBaseZonesAction, LoadReportsGuestGroupAction, LoadReportsJobTitlesAction, LoadReportsZoneAction, LoadReportsZonesAction, LoadSMTPDetailsAction, LoadSelectedDeviceAction, LoadSmartparksAction, LoadSmartparksBasicAction, LoadSmartparksDropdownAction, LoadSmartparksTableAction, LoadSpAndSparkVersionsAction, LoadStickerPriceTableAction, LoadTicketNumParkersAction, LoadTransientPriceTableAction, LoadUserPermissionsAction, LoadUsersAction, LoadUsersAdministrativeNotificationsAction, LoadValidationTypeAction, LoadVarsAction, LoadZsAction, LoadingOverlayComponent, LocalStorageMigrator, LocalStorageService, Localization, LocalizationModule, LocalizationResolver, LocalizationService, LocalizationState, LoginModule, LoginRequestAction, LoginService, LoginState, LoginSuccess, LogoComponent, LogoState, LogoutAction, LogoutMobileAction, LoopStatus, LowerCaseUrlSerializer, LprTransactionsChangedAction, LprTransactionsOptionsText, LprTransactionsSearchFieldSelectorText, MANUAL_ACTION_REASON_NAME_MAX_LENGTH, MAX_ALLOWED_BADGE_VALUE, MAX_ALLOWED_CURRENT_BALANCE, MAX_ALLOWED_DEDUCTION_VALUE, MAX_ALLOWED_GUEST_UNIT_QUANTITY, MAX_ALLOWED_IDENTIFIER_VALUE, MAX_ALLOWED_STARTING_PURSE_VALUE, MAX_CARDS, MAX_CAR_PLATES, MAX_EMAIL_CHARACTERS_LENGTH, MAX_EXPORT_RECORDS, MAX_HOTEL_ROOM_NUMBER_LENGTH, MAX_INT16_VALUE, MAX_INT32_VALUE, MAX_INTEGER_VALUE, MAX_LENGTH_BATCH_NAME, MAX_LENGTH_DESCRIPTION_50, MAX_LENGTH_DESCRIPTION_70, MAX_LENGTH_FOOTER, MAX_LENGTH_LEFT, MAX_LENGTH_LEFT_BACKWARD_COMPATIBILITY, MAX_LENGTH_MANUAL_TEXT, MAX_LENGTH_NAME_20, MAX_LENGTH_NAME_30, MAX_LENGTH_NAME_50, MAX_LENGTH_QUANTITY, MAX_LENGTH_REASON_DESCRIPTION, MAX_LENGTH_SERACH_TERM, MAX_LENGTH_SERACH_TERM_30, MAX_MOBILE_LENGTH, MAX_NUMBER_OF_NIGHTS, MAX_NUMBER_OF_ROW_IN_MENU, MAX_OCCUPANCY_VALUE, MAX_PERIOD_TIME, MAX_PLATE_ID_LENGTH, MAX_PRICE_NO_TIME_LIMIT_VALUE, MAX_PRICE_PERIOD_VALUE, MAX_REPEAT_COUNT_VALUE, MAX_RESULTS, MAX_ROLE_NAME_LENGTH, MAX_SP, MAX_TIME_RANGE_ITEMS_PER_KEY, MC_READER_ID, MESSAGE_BAR_DEFAULT_ID, MINIMUM_DROPDOWN_RESULTS_WITHOUT_SEARCH, MINIMUM_LENGTH_OPTIONS, MINUTES_PER_HOUR, MIN_ALLOWED_GUEST_UNIT_QUANTITY, MIN_LENGTH_QUANTITY, MIN_NUMBER_OF_ROW_IN_MENU, MIN_TIME_RANGE_ITEMS_PER_KEY, MOBILE_REFRESH_INFO, MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory, MSLAuthService, MULTIPLE, MainModuleToSubModulesPermissionTypeMap, MatHintErrorDirective, MaxAllowedSurchargeAmount, MaxAllowedSurchargeMaxLimit, MaxAllowedSurchargeMinLimit, MaxDisplayTimeout, MaxIPV4TextLength, MaxSurchargeNameLength, MenuAppModuleLoadAction, MenuClearAction, MenuLoadAction, MenuService, MenuSubModuleClearAction, MenuSubModuleLoadAction, MessageBarComponent, MessageBarContainerComponent, MessageBarModule, MessageBarPosition, MessageBarService, MessageBarStatus, MiddayPeriod, MinAllowedSurchargeAmount, MinAllowedSurchargeMaxLimit, MinAllowedSurchargeMinLimit, MinDisplayTimeout, MobileAppSectionLabel, MobileAuthenticateMultipleTenantsAction, MobileCommandCenterModuleResolver, MobileLogoutAction, ModalButtonsWrapperComponent, ModalService, ModuleGuard, ModuleMenuBaseComponent, MonthlyRenewalSettingsActionTypesText, MonthlyRenewalSettingsActionTypesValueText, MonthlySearchFieldSelectorText, MslEventType, NONE_ACTIVE_BYTE, NONE_USER_ID, NO_RESULT, NativeElementInjectorDirective, NotSupportedBrowserGuard, NotSupportedBrowserPageComponent, NotificationChangedAction, NotificationClass, NotificationClassficationType, NotificationCloseAllButtonComponent, NotificationConfig, NotificationEventService, NotificationHPositions, NotificationModule, NotificationSeverityText, NotificationTypeLabelComponent, NotificationTypeText, NotificationVPositions, NotificationsModule, ONE_DAY_IN_MINUTES_VALUE, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND_IN_MILLISECONDS, OffScreenDirective, OpenIdAuthInitializeService, OpenIdAuthService, OpenIdAutheticateAction, Operator, OrderBy, OrderByPipe, OrderDirection$1 as OrderDirection, OrphanFacilitiesPipe, PARKER_SEARCH_AUTO_REDIRECT, PASSWORD_EXPIRED, PASSWORD_HISTORY_COUNT_OPTIONS, PREVENT_CLICK_ELEMENT_CLASSES, ParkActivitiesModule, ParkActivitiesState, ParkActivityChangedAction, ParkConnectionStatus, ParkConnectionStatusClass, ParkConnectionStatusText, ParkManagerModule, ParkManagerState, ParkService, ParkTimeService, ParkerSearchTerm, ParkerService, ParkerState, ParkerTagsText, ParkerTypesText, PasswordScore, PasswordStrengthService, PaymentSearchFieldSelectorText, PaymentServiceTypeText, PaymentsTypesText, PermissionGroupText, PermissionTypeSupportedVersionDictionary, PermissionTypeText, PermissionsService, PrintReceiptAction, ProfileTypeText, RATE_ID_WITH_VALUE_2, REDIRECT_URL, RELAY_2_VALUE, RELAY_3_VALUE, RELAY_4_VALUE, RESET_PASSWORD_EMAIL, RTL_LANGUAGES, RTObjectObject, RangeModes, RangeModesText, RateModule, RateState, RealtimeEventService, RealtimeResolver, ReceiptGeneratedAction, RefreshTokenService, RefreshTokenState, RelayStatus, ReloadParkerAction, RemoteCommandService, RemoteCommandTypesIcon, RemoteValidationModule, RemoteValidationState, RemoveExpiredAlertsAndNotificationsAction, ReportCategories, ReportCategoriesText, ReportMethodDictionary, ReportSectionMenu, ResendPendingAdminInvitationsAction, ResendUserInvitationAction, ResetRatesAction, RestartLinkComponent, RestartLinkModule, RestrictionLocationTypeText, RestrictionLocationTypeTextTable, RestrictionTypeText, RevenueService, RouteService, RowOperation, rpcServiceProxies as Rpc, SESSION, STATUS_CODE_SERVER_VALIDATION, STATUS_CODE_UNAUTHORIZED, STRING_ZERO, SUPER_PARK_ROUTE_KEY, SUPPORETD_RESTORE_TICKET_TYPES, SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES, SUPPORTED_DEVICES_SCHEDULER, SUPPORTED_GATE_DEVICE_TYPES, SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES, SUPPORTED_PAYMENT_FOR_ISF_TYPES, SUPPORTED_RESTORE_TICKET_DEVICE_TYPES, SUPPORTED_STATUS_DEVICE_TYPES, SUPPORTED_TICKET_INSIDE_DEVICE_TYPES, SYSTEM_ALERT_VALUE, SearchFacilitiesMode, SearchFieldSelectorText, SearchTicketAction, SearchValueHighlightComponent, SecurityModule, SecurityState, SelectDeviceAction, SelectParkAction, SelectSmartParkAction, SelectedRowAction, SendEmailFromEntityAction, SendEmailToGuest, SendGuestPassesToEmailAction, SendTestEmailAction, ServiceProxyModule, ServicesRunningStatusChangedAction, SessionState, SessionStorageService, SetBackofficeSmartParkVersionsAction, SetBasicMenuAction, SetDeviceEventsExpanded, SetDeviceRemoteCommandsMapAction, SetDeviceStatusAction, SetDeviceViewModeAction, SetEventActivitiesExpanded, SetFacilityRemoteCommandsMapAction, SetGuestsAction, SetLprTransactionsExpanded, SetMobileModeAction, SetParkActivitiesAction, SetRealTimeEventStatusAction, SetSearchTermAction, SetSelectedParkAction, SetSmartParkAction, SetSmartParkTableAction, SetSmartParkVersionsAction, SetSmartparkBasicAction, SetSmartparkBasicAllAction, SetStateAction, SetTFASetupAction, SetTenantUserAction, SetTicketIdentifierAction, SetUserNameAction, SetUserStatusAction, SetUsersAction, SetkeepMeLoggedInAction, SharedComponentsModule, SharedDirectivesModule, SharedModule, SharedPipesModule, SideNavSortBy, SidenavModule, SidenavState, SignalR, SignalRObject, SignalRRefreshTokenAction, SingleSignOnProviderText, SmartParkDeviceStatusChangedAction, SmartParkStatusText, SmartparkDateTimePipe, SmartparkDialogState, SmartparkModule, SmartparkService, SmartparkState, SortDevicesPipe, SortPipe, SparkNotification, SpecialDaysPipe, SpinnerDiameterSize, StaticMessageBarService, StatusIconComponent, StickerSearchFieldSelectorText, StopPropagationDirective, StringItPipe, SubModuleGuard, SubstrHightlightManyPipe, SubstrHightlightPipe, SubstrHightlightSinglePipe, SwallowUnitStatusText, SyncUsersAndRolesBySmartparkIdAction, TBFormatPipe, TBNumberDirective, TENANT_KEY, TENS_MULTIPLIER, TableRowHeightSizes, TableTypeText, TagLabelType, TenantClearAction, TenantLoadAction, TenantLogoModule, TenantService, TenantlessLoginMode, TibaDateFormat, TibaMatDialogConfig, TibaRetryPolicy, TibaValidators, TicketService, TimeAgoPipe, TimeElapsedCounterComponent, TimeElapsedFormats, TimeElapsedPipe, TimeRangeFormats, TimeRangePipe, ToggleDrawerAction, ToggleDrawerCollapseAction, TooltipPositions, TrackAction, TransientParkingActionText, TranslateLocalPipe, TreeFilterKeysPipe, TreeMode, TypeCastText, UNSAVED_DATA, USER_IS_TEMPORARY_BLOCKED, UnloadParkingLotAction, UpdateAndActivateUserAction, UpdateAuthTokenAction, UpdateBasicGuestAction, UpdateDocumentAction, UpdateGuestAction, UpdateGuestLocationAction, UpdateMobileMode, UpdateSmartparkAction, UpdateTenantInfoProps, UpdateTenantSingleSignOnAction, UpdateTicketPlateIdAction, UpdateUserAlertsPreferencesAction, UpdateUserNotificaitonsPreferencesAction, UpdateUserSettingsAction, UpdateUserSettingsInSessionAction, UpdateUserSettingsMobileAction, UploadLogoAction, UserCreationType, UserModule, UserSettingsModule, UserSettingsState, UserState, VALIDATION_TYPE_BY_HOURS_41, VALIDATION_TYPE_BY_HOURS_42, VALID_TIME_MAX_LENGTH, VERSION_10_1_0, VERSION_10_2_0, VERSION_10_2_1, VERSION_10_3_0, VERSION_10_3_9, VERSION_10_4_0, VERSION_25_1_0, VERSION_25_2_0, VERSION_25_2_1, VERSION_25_3_0, VERSION_25_3_1, VERSION_25_4_0, VERSION_7_4_0, VERSION_7_4_1, VERSION_8_1_0, VERSION_8_2_0, VERSION_8_3_0, VERSION_8_4_0, VERSION_9_1_0, VERSION_9_2_0, VERSION_9_2_2, VERSION_9_3_0, VERSION_9_4_0, VERSION_V1, VGuestWithBatchTableData, ValidateUserTokenAction, ValidationService, ValidationStickerType, ValidationTypeModule, ValidationTypeState, VarDirective, Verify2FactorAuthenticationAction, VersionMobileResolver, VirtualValidationStatusText, WrapFnPipe, ZerofyNegativePipe, ZoneChangedAction, ZoneModule, ZoneState, accountModuleAnimation, adjustForTimezone, allowSpecialKeys, alphanumericRegex, appModuleAnimation, areDatesIdentical, areVersionsCompatible, arrayEquals, arraysAreDifferent, baseReduce, blobToBase64, buildMessageInfos, buildMessages, camelize, canceled, capitalizeFirstLetter, compareValues, convert24HoursToAmPM, convertAmPmTo24Hours, convertBinaryToDecimal, convertCentToWholeCoin, convertDecimalToBinary, convertFeaturePermissionsToDictionary, convertFormatWithoutTime, convertWholeCoinToCent, createDescriptor, createMessageText, dateDiffInSeconds, days, daysTranslation, decimalNumberRegex, decimalPercentageRegex, decimalPositiveNumberRegex, decryptClientSecret, delayCancellation, deviceIndicationStatusLocalization, deviceTypeFilterOptions, diffInMillis, dispatched, distinctObjectByProperties, distinctObjectByProperty, downloadFile, ensureObjectMetadata, entryDevicesLaneTypes, errored, exitDevicesLaneTypes, extractErrorsChanges, extractNumber, extractResetChanges, extractSetValueChanges, extractToggleStatusChanges, extractTouchedChanges, extractUpdateValueAndValidityChanges, filterDevicesByTypes, filterKeyValueBaseReduce, findChildRoute, findObjectDifferences, findParentElement, findParentElementDimensions, findParentRoute, findParentRouteConfig, flattenByKey, formatMinutesToTimeNumber, formatTimeToMinutes, formatTimeToString, formatTimeWithMidnight, formatTimeWithSeparator, formatTimeWithoutMidnight, formatTimeWithoutSeparator, formatTimeWithoutSeperatorAndWithMidnight, formatTimeWithoutSeperatorAndWithoutMidnight, getActivatedRoutePathSegment, getAddress, getCurrentLang, getDateTimeInSeconds, getDateWithoutTime, getDaysFromValue, getDefaultDeviceStatus, getFormattedTime, getMomenWithTime, getMomentNullable, getMomentWithoutTime, getNavigationRoute, getObjectMetadata, getParkerTypesText, getPasswordMinimalLength, getSecondsBackoff, getTooltipTextByParkerType, getUserTimeZone, getUtcMomentNullable, hasMiddayPeriod, hasMonthName, hasRequiredField, hasValue, humanizeTimeElapsed, humanizeUtcTimeElapsed, identity, initializeMsal, initializeOpenId, integerNumberRegex, integerPositiveNumberRegex, ipv4Regex, isBoolean, isCharacterLengthValid, isDefinedAndNotEmpty, isDeviceActive, isDeviceInFilterDeviceTypes, isDeviceInFiltersDeviceTypes, isFalsy, isIOSDevice, isMaxDaysRangeValid, isNullOrEmpty, isNumber, isObjectEmpty, isSearchFieldChanged, isSingularOrPlural, isTrueInBinary, isTruthy, isVersionGreaterThanEqual, loadHTMLContent, lowerCase, lowerCaseFirstLetter, mapTransientTags, markEntitiesAsChanged, markEntityAsUnchanged, matchesDeviceCriteria, matchesDeviceParkingLotCriteria, matchesDevicesParkingLotCriteria, minutesToTime, mobileRegex, nameof, navigateToForbiddenAccessPage, navigateToNotSupportedBrowserPage, noEmojiRegex, notificationAnimation, numberWithLeadingZero, objectKeystoLowerCase, ofStatus, omitKeys, openBackgroundIframe, openCloseFiltersAnimation, parentParkBaseEventTypes, parentParkEventTypes, parkBaseEventTypes, parkEventTypes, parkerEnumToText, parseApiErrorData, parseApiErrorMessage, parseDateTimeToSparkParkTime, parseSmartParkTime, passwordRegex, percentageRegex, printSpecialDaysText, printStackTrace, readjustForTimezone, regexExp, remoteCommandLocalizationMap, replaceAll, rtEventPermissions, safeParse, searchBarPopupAnimation, setErrorMessage, shortDaysTranslation, sleep, slideFromBottom, slideFromRight, slideFromUp, slideUpDown, successful, timeToMinutes, timeToMoment, toInt, toNumberMap, toStringMap, wrapConstructor };
|
|
118102
118121
|
//# sourceMappingURL=tiba-spark-client-shared-lib.mjs.map
|