@docupace/ihub-config 1.1.24-admin.2 → 1.1.25
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/dist/config-extension.d.ts +0 -58
- package/dist/config-extension.d.ts.map +1 -1
- package/dist/config-extension.js +0 -2
- package/dist/config-extension.js.map +1 -1
- package/dist/config-service.d.ts +4 -13
- package/dist/config-service.d.ts.map +1 -1
- package/dist/config-service.js +22 -406
- package/dist/config-service.js.map +1 -1
- package/dist/mappers/config-mapper.d.ts.map +1 -1
- package/dist/mappers/config-mapper.js +0 -1
- package/dist/mappers/config-mapper.js.map +1 -1
- package/dist/model/graphs/config/fields.graphql +0 -30
- package/dist/model/graphs/config/menu.graphql +0 -6
- package/dist/model/graphs/config/page.graphql +1 -8
- package/dist/model/graphs/config/query.graphql +2 -9
- package/dist/model/graphs/config/selectOptions.graphql +0 -1
- package/dist/model/graphs/config/table.graphql +0 -26
- package/dist/types/graphql.d.ts +43 -17
- package/dist/types/graphql.d.ts.map +1 -1
- package/dist/types/graphql.js.map +1 -1
- package/model/graphs/config/fields.graphql +0 -30
- package/model/graphs/config/menu.graphql +0 -6
- package/model/graphs/config/page.graphql +1 -8
- package/model/graphs/config/query.graphql +2 -9
- package/model/graphs/config/selectOptions.graphql +0 -1
- package/model/graphs/config/table.graphql +0 -26
- package/package.json +3 -5
|
@@ -3,69 +3,11 @@ import { ConfigStoreParams } from './config-service.js';
|
|
|
3
3
|
import type { ConfigInjectorResolvers } from './injector-resolvers/config-injector.js';
|
|
4
4
|
import type { ConfigProviders } from './providers/index.js';
|
|
5
5
|
import type { ConfigResolversConfig } from './resolvers/index.js';
|
|
6
|
-
export interface ConfigurationOverride {
|
|
7
|
-
value: string;
|
|
8
|
-
contentType?: string | null;
|
|
9
|
-
}
|
|
10
|
-
export interface ConfigurationOverrideResult {
|
|
11
|
-
/** The whole-object override for `configPath`, if one is set. */
|
|
12
|
-
whole: ConfigurationOverride | null;
|
|
13
|
-
/**
|
|
14
|
-
* Per distinct JSONPath found for `configPath` (e.g. `'$.columns'`), every
|
|
15
|
-
* matching override layer for the current identity, ordered broadest to
|
|
16
|
-
* narrowest (GENERAL, TENANT, ROLE, USER — only tiers with an actual
|
|
17
|
-
* matching row included). `applyConfigPathOverride` folds these onto the
|
|
18
|
-
* base config in order, so the narrowest present tier (last in the array)
|
|
19
|
-
* ends up most specific, exactly like today's single-winner precedence,
|
|
20
|
-
* but every broader tier a name isn't touched by still shows through
|
|
21
|
-
* instead of being discarded. `null` when there are no sub-path override
|
|
22
|
-
* rows for `configPath` at all.
|
|
23
|
-
*/
|
|
24
|
-
subPaths: Record<string, unknown[]> | null;
|
|
25
|
-
/**
|
|
26
|
-
* The same map as `subPaths`, minus every layer stored at the identity's
|
|
27
|
-
* *own* scope tier — the tier a save by this identity would write to
|
|
28
|
-
* (USER for a real user, ROLE/GENERAL when previewing as a role/everyone),
|
|
29
|
-
* whether or not a row actually exists there yet. This is the reference
|
|
30
|
-
* fold `applyConfigPathOverride` stamps `inherited` against: "what this
|
|
31
|
-
* identity would see if it had no override of its own".
|
|
32
|
-
*
|
|
33
|
-
* Optional, and `null`/absent means "not reported" — resolution then falls
|
|
34
|
-
* back to approximating it as every layer but the narrowest, which is only
|
|
35
|
-
* correct when a row happens to exist at the identity's own tier. A
|
|
36
|
-
* provider that can tell the tiers apart should always report this: the
|
|
37
|
-
* approximation is exactly wrong in the common "hidden for everyone, no
|
|
38
|
-
* personal override yet" case, where the narrowest layer *is* the broader
|
|
39
|
-
* (GENERAL) one being dropped.
|
|
40
|
-
*/
|
|
41
|
-
inheritedSubPaths?: Record<string, unknown[]> | null;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* The two folds `applyConfigPathOverride` needs for one config path, threaded
|
|
45
|
-
* together wherever a caller resolves overrides ahead of time (see
|
|
46
|
-
* `ConfigService.getConfigFromStore`/`processConfig`).
|
|
47
|
-
*/
|
|
48
|
-
export interface SubPathOverrideLayers {
|
|
49
|
-
/** `ConfigurationOverrideResult.subPaths` — every applicable layer. */
|
|
50
|
-
all: Record<string, unknown[]>;
|
|
51
|
-
/** `ConfigurationOverrideResult.inheritedSubPaths`, or `null` when the
|
|
52
|
-
* provider doesn't report it. */
|
|
53
|
-
inherited: Record<string, unknown[]> | null;
|
|
54
|
-
}
|
|
55
|
-
export interface ConfigurationOverrideProvider {
|
|
56
|
-
/**
|
|
57
|
-
* Resolves both the whole-object override and any sub-path overrides for
|
|
58
|
-
* `configPath` in a single lookup, since both are drawn from the same set
|
|
59
|
-
* of override rows.
|
|
60
|
-
*/
|
|
61
|
-
resolve(configPath: string, context: any): Promise<ConfigurationOverrideResult>;
|
|
62
|
-
}
|
|
63
6
|
export interface ConfigExtensionOptions {
|
|
64
7
|
configInjectorResolvers?: ConfigInjectorResolvers;
|
|
65
8
|
providers?: ConfigProviders;
|
|
66
9
|
resolvers?: ConfigResolversConfig;
|
|
67
10
|
configStores?: ConfigStoreParams[];
|
|
68
|
-
configurationOverrideProvider?: ConfigurationOverrideProvider;
|
|
69
11
|
}
|
|
70
12
|
export declare const getConfigExtension: (options?: ConfigExtensionOptions) => Promise<ExtensionConfig>;
|
|
71
13
|
//# sourceMappingURL=config-extension.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-extension.d.ts","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"config-extension.d.ts","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAE9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,MAAM,WAAW,sBAAsB;IACrC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACpC;AA8BD,eAAO,MAAM,kBAAkB,GAC7B,UAAS,sBAA2B,KACnC,OAAO,CAAC,eAAe,CA2BzB,CAAC"}
|
package/dist/config-extension.js
CHANGED
|
@@ -25,7 +25,6 @@ const initializeConfigStores = async (configStores) => {
|
|
|
25
25
|
configInjectorResolvers: undefined,
|
|
26
26
|
providers: undefined,
|
|
27
27
|
resolvers: undefined,
|
|
28
|
-
configurationOverrideProvider: undefined,
|
|
29
28
|
});
|
|
30
29
|
await configService.init();
|
|
31
30
|
};
|
|
@@ -38,7 +37,6 @@ export const getConfigExtension = async (options = {}) => {
|
|
|
38
37
|
providers: options.providers,
|
|
39
38
|
resolvers: options.resolvers,
|
|
40
39
|
configStores,
|
|
41
|
-
configurationOverrideProvider: options.configurationOverrideProvider,
|
|
42
40
|
});
|
|
43
41
|
return {
|
|
44
42
|
name: 'config',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-extension.js","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-extension.js","sourceRoot":"","sources":["../src/config-extension.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AASrD,MAAM,qBAAqB,GAAG,CAAC,YAAiC,EAAE,EAAE;IAClE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG;QACpB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC;QACvD,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,YAAY,EAAE,WAAW,CAAC,YAAY;KACvC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,KAAK,EAAE,YAAiC,EAAE,EAAE;IACzE,GAAG,CAAC,IAAI,CAAC;QACP,YAAY,EAAE,qBAAqB,CAAC,YAAY,CAAC;KAClD,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC;QACzC,KAAK,EAAE,SAAS;QAChB,YAAY;QACZ,uBAAuB,EAAE,SAAS;QAClC,SAAS,EAAE,SAAS;QACpB,SAAS,EAAE,SAAS;KACrB,CAAC,CAAC;IAEH,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,UAAkC,EAAE,EACV,EAAE;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,eAAe,EAAE,CAAC;IAE/D,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACxD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAC7C,CAAC;IAEF,MAAM,WAAW,GAAG,uBAAuB,CAAC;QAC1C,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;QACxD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY;KACb,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,CAAC,mBAAmB,EAAE,EAAE,GAAG,gBAAgB,CAAC;QACxD,OAAO,EAAE;YACP;gBACE,WAAW;aACZ;SACF;QACD,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/config-service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConfigExtensionOptions
|
|
1
|
+
import type { ConfigExtensionOptions } from './config-extension.js';
|
|
2
2
|
import { Model } from '@docupace/ihub-core';
|
|
3
3
|
export interface ConfigStore {
|
|
4
4
|
supportsRefresh(): boolean;
|
|
@@ -23,7 +23,6 @@ export interface DefaultConfigServiceParams {
|
|
|
23
23
|
configInjectorResolvers: ConfigExtensionOptions['configInjectorResolvers'];
|
|
24
24
|
providers: ConfigExtensionOptions['providers'];
|
|
25
25
|
resolvers: ConfigExtensionOptions['resolvers'];
|
|
26
|
-
configurationOverrideProvider: ConfigExtensionOptions['configurationOverrideProvider'];
|
|
27
26
|
}
|
|
28
27
|
export declare class ConfigFileStore implements ConfigStore {
|
|
29
28
|
private readonly localPath;
|
|
@@ -49,7 +48,6 @@ declare class ConfigService {
|
|
|
49
48
|
private readonly configInjectorResolvers;
|
|
50
49
|
private readonly providers;
|
|
51
50
|
private readonly resolvers;
|
|
52
|
-
private readonly configurationOverrideProvider;
|
|
53
51
|
constructor(model: Model | undefined, configStores: ConfigStore[], extensionOptions?: ConfigExtensionOptions);
|
|
54
52
|
private filterConfigsBySearch;
|
|
55
53
|
private appendTestConfigPaths;
|
|
@@ -60,14 +58,10 @@ declare class ConfigService {
|
|
|
60
58
|
private processObjectArray;
|
|
61
59
|
private processObjectProperties;
|
|
62
60
|
private applyReferenceOverrides;
|
|
63
|
-
private applyReferenceExtensions;
|
|
64
61
|
private processReferencedObject;
|
|
65
62
|
private injectConfigValue;
|
|
66
63
|
generateResolvers(): void;
|
|
67
|
-
processConfig(config: any, context: any, processProviders?: boolean
|
|
68
|
-
private processConfigTree;
|
|
69
|
-
private applyConfigPathOverride;
|
|
70
|
-
private applyTypenameProvider;
|
|
64
|
+
processConfig(config: any, context: any, processProviders?: boolean): Promise<any>;
|
|
71
65
|
getRefConfig(configPath: string, refConfigPath: string, context: any, values?: any): Promise<any>;
|
|
72
66
|
updatePathValues(obj: any, inputPath: string): any;
|
|
73
67
|
flattenArray(arr: any[]): any[];
|
|
@@ -75,10 +69,7 @@ declare class ConfigService {
|
|
|
75
69
|
private processImageReference;
|
|
76
70
|
processObject(configPath: string, obj: any, context: any, values?: any): Promise<any>;
|
|
77
71
|
private getFileMimeType;
|
|
78
|
-
getConfigFromStore(
|
|
79
|
-
config: any;
|
|
80
|
-
subPathOverrides: SubPathOverrideLayers | null;
|
|
81
|
-
}>;
|
|
72
|
+
getConfigFromStore(path: string): Promise<any>;
|
|
82
73
|
hasConfig(configPath: string): Promise<boolean>;
|
|
83
74
|
getConfig(configPath: string, context: any, values?: any, processProviders?: boolean): Promise<any>;
|
|
84
75
|
getDirectConfig(configPath: string, context: any, values?: any, processProviders?: boolean): Promise<any>;
|
|
@@ -107,6 +98,6 @@ declare class ConfigService {
|
|
|
107
98
|
getPageConfig(pagePath: string, context: any, processConfig?: boolean, rulesContext?: any): Promise<any>;
|
|
108
99
|
init(): Promise<void[]>;
|
|
109
100
|
}
|
|
110
|
-
export declare const defaultConfigService: ({ model, configStores, configInjectorResolvers, providers, resolvers,
|
|
101
|
+
export declare const defaultConfigService: ({ model, configStores, configInjectorResolvers, providers, resolvers, }: DefaultConfigServiceParams) => ConfigService;
|
|
111
102
|
export default ConfigService;
|
|
112
103
|
//# sourceMappingURL=config-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"config-service.d.ts","sourceRoot":"","sources":["../src/config-service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAuB5C,MAAM,WAAW,WAAW;IAC1B,eAAe,IAAI,OAAO,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,uBAAuB,EAAE,sBAAsB,CAAC,yBAAyB,CAAC,CAAC;IAC3E,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC/C,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;CAChD;AAED,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;gBAE3B,MAAM,EAAE,iBAAiB;IAM9B,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,OAAO;YAInB,6BAA6B;YAkB7B,WAAW;IAcnB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB/C,YAAY,CAAC,QAAQ,EAAE,MAAM;IAO7B,SAAS,CAAC,UAAU,EAAE,MAAM;IAK5B,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAa/C,WAAW,CAAC,UAAU,EAAE,MAAM;IAS9B,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;IAO5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAW/B;AAED,cAAM,aAAa;IACjB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;gBAGhD,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,YAAY,EAAE,WAAW,EAAE,EAC3B,gBAAgB,GAAE,sBAA2B;IAkB/C,OAAO,CAAC,qBAAqB;IAkB7B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,MAAM;YAIA,kBAAkB;YAkBlB,uBAAuB;IAkBrC,OAAO,CAAC,uBAAuB;YAgBjB,uBAAuB;YAyCvB,iBAAiB;IAQ/B,iBAAiB;IAkLX,aAAa,CACjB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,GAAG,EACZ,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,GAAG,CAAC;IAiDT,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,GAAG,EACZ,MAAM,CAAC,EAAE,GAAG;IAYd,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG;IAuBlD,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE;IAYzB,wBAAwB,CAC5B,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,GAAG,CAAC;YAkDD,qBAAqB;IA4C7B,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,GAAG,EACZ,MAAM,GAAE,GAAQ,GACf,OAAO,CAAC,GAAG,CAAC;IAkBf,OAAO,CAAC,eAAe;IAcjB,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAiB/B,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/C,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,GAAG,EACZ,MAAM,CAAC,EAAE,GAAG,EACZ,gBAAgB,CAAC,EAAE,OAAO;IAMtB,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,GAAG,EACZ,MAAM,CAAC,EAAE,GAAG,EACZ,gBAAgB,CAAC,EAAE,OAAO;IAatB,iBAAiB,CAAC,UAAU,EAAE,MAAM;IASpC,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,GAAG,GACX,OAAO,CAAC,GAAG,CAAC;IAMf,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,sBAAsB;YAiChB,yBAAyB;YA6DzB,wBAAwB;IAiCtC,OAAO,CAAC,UAAU;IAyBlB,OAAO,CAAC,uBAAuB;IAkD/B,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,6BAA6B;IAcrC,OAAO,CAAC,qBAAqB;IAOvB,aAAa,CAAC,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAoC9D,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,GAAG,EACZ,aAAa,CAAC,EAAE,OAAO,EACvB,YAAY,CAAC,EAAE,GAAG;IAed,IAAI;CAKX;AAED,eAAO,MAAM,oBAAoB,GAAI,yEAMlC,0BAA0B,KAAG,aAY/B,CAAC;AAEF,eAAe,aAAa,CAAC"}
|