@azure/app-configuration-importer 1.0.0-preview → 1.1.0-preview
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/LICENSE +21 -0
- package/README.md +67 -0
- package/dist/index.js +7110 -217
- package/dist/index.js.map +1 -1
- package/dist-esm/src/MsFeatureFlagSchema.js +122 -0
- package/dist-esm/src/MsFeatureFlagSchema.js.map +1 -0
- package/dist-esm/src/appConfigurationImporter.js +157 -0
- package/dist-esm/src/appConfigurationImporter.js.map +1 -0
- package/dist-esm/src/enums.js +28 -0
- package/dist-esm/src/enums.js.map +1 -0
- package/dist-esm/src/errors.js +53 -0
- package/dist-esm/src/errors.js.map +1 -0
- package/dist-esm/src/featureFlag.js +12 -0
- package/dist-esm/src/featureFlag.js.map +1 -0
- package/dist-esm/src/importOptions.js +4 -0
- package/dist-esm/src/importOptions.js.map +1 -0
- package/dist-esm/src/index.js +9 -0
- package/dist-esm/src/index.js.map +1 -0
- package/dist-esm/src/internal/adaptiveTaskManager.js +69 -0
- package/dist-esm/src/internal/adaptiveTaskManager.js.map +1 -0
- package/dist-esm/src/internal/constants.js +36 -0
- package/dist-esm/src/internal/constants.js.map +1 -0
- package/dist-esm/src/internal/parsers/configurationSettingsConverter.js +4 -0
- package/dist-esm/src/internal/parsers/configurationSettingsConverter.js.map +1 -0
- package/dist-esm/src/internal/parsers/defaultConfigurationSettingsConverter.js +328 -0
- package/dist-esm/src/internal/parsers/defaultConfigurationSettingsConverter.js.map +1 -0
- package/dist-esm/src/internal/parsers/kvSetConfigurationSettingsConverter.js +66 -0
- package/dist-esm/src/internal/parsers/kvSetConfigurationSettingsConverter.js.map +1 -0
- package/dist-esm/src/internal/stream.browser.js +16 -0
- package/dist-esm/src/internal/stream.browser.js.map +1 -0
- package/dist-esm/src/internal/stream.js +15 -0
- package/dist-esm/src/internal/stream.js.map +1 -0
- package/dist-esm/src/internal/utils.js +129 -0
- package/dist-esm/src/internal/utils.js.map +1 -0
- package/dist-esm/src/models.js +4 -0
- package/dist-esm/src/models.js.map +1 -0
- package/dist-esm/src/settingsImport/configurationSettingsSource.js +4 -0
- package/dist-esm/src/settingsImport/configurationSettingsSource.js.map +1 -0
- package/dist-esm/src/settingsImport/iterableConfigurationSettingsSource.js +83 -0
- package/dist-esm/src/settingsImport/iterableConfigurationSettingsSource.js.map +1 -0
- package/dist-esm/src/settingsImport/readableStreamConfigurationSettingsSource.js +49 -0
- package/dist-esm/src/settingsImport/readableStreamConfigurationSettingsSource.js.map +1 -0
- package/dist-esm/src/settingsImport/stringConfigurationSettingsSource.js +92 -0
- package/dist-esm/src/settingsImport/stringConfigurationSettingsSource.js.map +1 -0
- package/package.json +20 -5
- package/types/azure-app-configuration-importer.d.ts +13 -0
- package/types/src/MsFeatureFlagSchema.d.ts +164 -0
- package/types/src/MsFeatureFlagSchema.d.ts.map +1 -0
- package/types/src/appConfigurationImporter.d.ts +37 -0
- package/types/src/appConfigurationImporter.d.ts.map +1 -0
- package/types/src/enums.d.ts +23 -0
- package/types/src/enums.d.ts.map +1 -0
- package/types/src/errors.d.ts +36 -0
- package/types/src/errors.d.ts.map +1 -0
- package/types/src/featureFlag.d.ts +50 -0
- package/types/src/featureFlag.d.ts.map +1 -0
- package/types/src/importOptions.d.ts +39 -0
- package/types/src/importOptions.d.ts.map +1 -0
- package/types/src/index.d.ts +10 -0
- package/types/src/index.d.ts.map +1 -0
- package/types/src/internal/adaptiveTaskManager.d.ts +20 -0
- package/types/src/internal/adaptiveTaskManager.d.ts.map +1 -0
- package/types/src/internal/constants.d.ts +10 -0
- package/types/src/internal/constants.d.ts.map +1 -0
- package/types/src/internal/parsers/configurationSettingsConverter.d.ts +11 -0
- package/types/src/internal/parsers/configurationSettingsConverter.d.ts.map +1 -0
- package/types/src/internal/parsers/defaultConfigurationSettingsConverter.d.ts +21 -0
- package/types/src/internal/parsers/defaultConfigurationSettingsConverter.d.ts.map +1 -0
- package/types/src/internal/parsers/kvSetConfigurationSettingsConverter.d.ts +15 -0
- package/types/src/internal/parsers/kvSetConfigurationSettingsConverter.d.ts.map +1 -0
- package/types/src/internal/stream.browser.d.ts +4 -0
- package/types/src/internal/stream.browser.d.ts.map +1 -0
- package/types/src/internal/stream.d.ts +4 -0
- package/types/src/internal/stream.d.ts.map +1 -0
- package/types/src/internal/utils.d.ts +17 -0
- package/types/src/internal/utils.d.ts.map +1 -0
- package/types/src/models.d.ts +42 -0
- package/types/src/models.d.ts.map +1 -0
- package/types/src/settingsImport/configurationSettingsSource.d.ts +19 -0
- package/types/src/settingsImport/configurationSettingsSource.d.ts.map +1 -0
- package/types/src/settingsImport/iterableConfigurationSettingsSource.d.ts +14 -0
- package/types/src/settingsImport/iterableConfigurationSettingsSource.d.ts.map +1 -0
- package/types/src/settingsImport/readableStreamConfigurationSettingsSource.d.ts +11 -0
- package/types/src/settingsImport/readableStreamConfigurationSettingsSource.d.ts.map +1 -0
- package/types/src/settingsImport/stringConfigurationSettingsSource.d.ts +24 -0
- package/types/src/settingsImport/stringConfigurationSettingsSource.d.ts.map +1 -0
- package/NOTICE.txt +0 -370
- package/app-configuration-importer.test.log +0 -164
- package/dist/app-configuration-importer.api.md +0 -136
- package/examples/README.md +0 -59
- package/examples/package.json +0 -32
- package/examples/sample.env +0 -6
- package/examples/testFiles/default.json +0 -24
- package/examples/testFiles/kvset.json +0 -35
- package/types/tsdoc-metadata.json +0 -11
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ErrorObject } from "ajv";
|
|
2
|
+
/**
|
|
3
|
+
* Custom error type used during input validation
|
|
4
|
+
*/
|
|
5
|
+
export declare class ArgumentError extends Error {
|
|
6
|
+
constructor(message: string);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Custom error type used during configuration file parsing
|
|
10
|
+
*/
|
|
11
|
+
export declare class ParseError extends Error {
|
|
12
|
+
message: string;
|
|
13
|
+
constructor(message: string);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Custom error type used for set configuration timeout error
|
|
17
|
+
*/
|
|
18
|
+
export declare class OperationTimeoutError extends Error {
|
|
19
|
+
constructor();
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Custom error type used when null arguments are passed
|
|
23
|
+
*/
|
|
24
|
+
export declare class ArgumentNullError extends Error {
|
|
25
|
+
}
|
|
26
|
+
export interface AjvErrorInfo {
|
|
27
|
+
schemaPath: string;
|
|
28
|
+
message: string;
|
|
29
|
+
}
|
|
30
|
+
export declare class AjvValidationError extends Error {
|
|
31
|
+
errors: AjvErrorInfo[];
|
|
32
|
+
constructor(validationErrors: ErrorObject[]);
|
|
33
|
+
private parseAjvErrors;
|
|
34
|
+
getFriendlyMessage(): string;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAElC;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAK5B;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IAC5B,OAAO,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM;CAK5B;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;;CAK/C;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IACpC,MAAM,EAAE,YAAY,EAAE,CAAC;gBAElB,gBAAgB,EAAE,WAAW,EAAE;IAK3C,OAAO,CAAC,cAAc;IAOf,kBAAkB,IAAI,MAAM;CAMpC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ClientFilter } from "./models";
|
|
2
|
+
import { FeatureFlagValue } from "@azure/app-configuration";
|
|
3
|
+
export interface MsFeatureFlagValue extends FeatureFlagValue {
|
|
4
|
+
conditions: {
|
|
5
|
+
clientFilters: ClientFilter[];
|
|
6
|
+
requirementType?: RequirementType;
|
|
7
|
+
};
|
|
8
|
+
allocation?: Allocation;
|
|
9
|
+
variants?: Variant[];
|
|
10
|
+
telemetry?: {
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
metadata?: object;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare enum RequirementType {
|
|
16
|
+
Any = "Any",
|
|
17
|
+
All = "All"
|
|
18
|
+
}
|
|
19
|
+
export declare enum StatusOverride {
|
|
20
|
+
None = "None",
|
|
21
|
+
Enabled = "Enabled",
|
|
22
|
+
Disabled = "Disabled"
|
|
23
|
+
}
|
|
24
|
+
export interface Allocation {
|
|
25
|
+
user?: User[];
|
|
26
|
+
group?: Group[];
|
|
27
|
+
default_when_enabled?: string;
|
|
28
|
+
default_when_disabled?: string;
|
|
29
|
+
percentile?: Percentile[];
|
|
30
|
+
seed?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface User {
|
|
33
|
+
variant: string;
|
|
34
|
+
users: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface Group {
|
|
37
|
+
variant: string;
|
|
38
|
+
groups: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface Percentile {
|
|
41
|
+
variant: string;
|
|
42
|
+
from: number;
|
|
43
|
+
to: number;
|
|
44
|
+
}
|
|
45
|
+
export interface Variant {
|
|
46
|
+
name: string;
|
|
47
|
+
configuration_value?: string | number | object | boolean;
|
|
48
|
+
status_override?: StatusOverride;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=featureFlag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureFlag.d.ts","sourceRoot":"","sources":["../../src/featureFlag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,UAAU,EAAE;QACR,aAAa,EAAE,YAAY,EAAE,CAAC;QAC9B,eAAe,CAAC,EAAE,eAAe,CAAA;KACpC,CAAC;IACF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACL;AAED,oBAAY,eAAe;IACvB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACd;AAED,oBAAY,cAAc;IACtB,IAAI,SAAS;IACb,OAAO,YAAa;IACpB,QAAQ,aAAa;CACxB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,IAAI,EAAG,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,IAAI;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,KAAK;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACzD,eAAe,CAAC,EAAE,cAAc,CAAC;CACpC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging";
|
|
3
|
+
import { ConfigurationFormat, ConfigurationProfile } from "./enums";
|
|
4
|
+
import { Tags } from "./models";
|
|
5
|
+
import { ConfigurationSetting, ListConfigurationSettingPage } from "@azure/app-configuration";
|
|
6
|
+
type Options = {
|
|
7
|
+
label?: string;
|
|
8
|
+
skipFeatureFlags?: boolean;
|
|
9
|
+
prefix?: string;
|
|
10
|
+
contentType?: string;
|
|
11
|
+
tags?: Tags;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Base options for configuration import
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export type SourceOptions = {
|
|
19
|
+
format: ConfigurationFormat;
|
|
20
|
+
separator?: string;
|
|
21
|
+
depth?: number;
|
|
22
|
+
profile?: ConfigurationProfile;
|
|
23
|
+
} & Options;
|
|
24
|
+
/**
|
|
25
|
+
* Provides options for importing from string data source
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export type StringSourceOptions = SourceOptions & {
|
|
29
|
+
data: string;
|
|
30
|
+
};
|
|
31
|
+
export type IterableSourceOptions = Options & {
|
|
32
|
+
data: PagedAsyncIterableIterator<ConfigurationSetting<string>, ListConfigurationSettingPage, PageSettings>;
|
|
33
|
+
trimPrefix?: string;
|
|
34
|
+
};
|
|
35
|
+
export type ReadableStreamSourceOptions = SourceOptions & {
|
|
36
|
+
data: ReadableStream<Uint8Array> | NodeJS.ReadableStream;
|
|
37
|
+
};
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=importOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importOptions.d.ts","sourceRoot":"","sources":["../../src/importOptions.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,0BAA0B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAE9F,KAAK,OAAO,GAAG;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,GAAG,OAAO,CAAC;AAEZ;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE,CAAC;AACnE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG;IAAE,IAAI,EAAE,0BAA0B,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,4BAA4B,EAAE,YAAY,CAAC,CAAC;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;CAAE,CAAC;AACpL,MAAM,MAAM,2BAA2B,GAAG,aAAa,GAAG;IAAE,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { AppConfigurationImporter } from "./appConfigurationImporter";
|
|
2
|
+
export { StringSourceOptions, IterableSourceOptions, ReadableStreamSourceOptions } from "./importOptions";
|
|
3
|
+
export * from "./enums";
|
|
4
|
+
export * from "./errors";
|
|
5
|
+
export { ImportProgress as ImportResult } from "./models";
|
|
6
|
+
export { StringConfigurationSettingsSource } from "./settingsImport/stringConfigurationSettingsSource";
|
|
7
|
+
export { ConfigurationSettingsSource } from "./settingsImport/configurationSettingsSource";
|
|
8
|
+
export { IterableConfigurationSettingsSource } from "./settingsImport/iterableConfigurationSettingsSource";
|
|
9
|
+
export { ReadableStreamConfigurationSettingsSource } from "./settingsImport/readableStreamConfigurationSettingsSource";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,cAAc,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,yCAAyC,EAAE,MAAM,4DAA4D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ImportProgress } from "../models";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export declare class AdaptiveTaskManager<T> {
|
|
4
|
+
private end;
|
|
5
|
+
private currentMax;
|
|
6
|
+
private limitation;
|
|
7
|
+
private finishedCount;
|
|
8
|
+
private throttledTasks;
|
|
9
|
+
private runningTasks;
|
|
10
|
+
private taskWrapper;
|
|
11
|
+
private observable;
|
|
12
|
+
private importProgress;
|
|
13
|
+
constructor(fn: IFunction<IFunction<Promise<T>> | undefined>, size: number);
|
|
14
|
+
Start(callback?: (result: ImportProgress) => void): Promise<unknown>;
|
|
15
|
+
}
|
|
16
|
+
/** @internal */
|
|
17
|
+
export interface IFunction<T> {
|
|
18
|
+
(): T;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=adaptiveTaskManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adaptiveTaskManager.d.ts","sourceRoot":"","sources":["../../../src/internal/adaptiveTaskManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,gBAAgB;AAChB,qBAAa,mBAAmB,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAGhB;IACJ,OAAO,CAAC,WAAW,CAA+C;IAClE,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,cAAc,CAAiB;gBAE3B,EAAE,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM;IAS7D,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI;CA8C/D;AAED,gBAAgB;AAChB,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,IAAI,CAAC,CAAC;CACP"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @internal*/
|
|
2
|
+
export declare const Constants: {
|
|
3
|
+
FeatureManagementKeyWords: string[];
|
|
4
|
+
EnabledForKeyWords: string[];
|
|
5
|
+
RequirementTypeKeyWords: string[];
|
|
6
|
+
Separators: string[];
|
|
7
|
+
CorrelationRequestIdHeader: string;
|
|
8
|
+
FeatureFlagsKeyWord: string;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/internal/constants.ts"],"names":[],"mappings":"AAGA,eAAe;AACf,eAAO,MAAM,SAAS;;;;;;;CA+BrB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue } from "@azure/app-configuration";
|
|
2
|
+
import { SourceOptions } from "../../importOptions";
|
|
3
|
+
/**
|
|
4
|
+
* ConfigurationSettings converter for different configuration content.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
* */
|
|
8
|
+
export interface ConfigurationSettingsConverter {
|
|
9
|
+
Convert(rawConfig: object, options?: SourceOptions): Array<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=configurationSettingsConverter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configurationSettingsConverter.d.ts","sourceRoot":"","sources":["../../../../src/internal/parsers/configurationSettingsConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;KAIK;AACL,MAAM,WAAW,8BAA8B;IAC7C,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,GACtB,KAAK,CAAC,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,CAAC;CAC1F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SetConfigurationSettingParam, SecretReferenceValue } from "@azure/app-configuration";
|
|
2
|
+
import { SourceOptions } from "../../importOptions";
|
|
3
|
+
import { ConfigurationSettingsConverter } from "./configurationSettingsConverter";
|
|
4
|
+
import { MsFeatureFlagValue } from "../../featureFlag";
|
|
5
|
+
/**
|
|
6
|
+
* Format Parser for common key-value configuration.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
* */
|
|
10
|
+
export declare class DefaultConfigurationSettingsConverter implements ConfigurationSettingsConverter {
|
|
11
|
+
/**
|
|
12
|
+
* Parse the raw configuration object to collection of ConfigurationSettings
|
|
13
|
+
*
|
|
14
|
+
* @param config Raw configuration object
|
|
15
|
+
* @param options Configuration options to dictate how the configuration be parsed.
|
|
16
|
+
* */
|
|
17
|
+
Convert(config: object, options: SourceOptions): SetConfigurationSettingParam<string | MsFeatureFlagValue | SecretReferenceValue>[];
|
|
18
|
+
private checkFeatureManagementExist;
|
|
19
|
+
private toConfigurationSettings;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=defaultConfigurationSettingsConverter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultConfigurationSettingsConverter.d.ts","sourceRoot":"","sources":["../../../../src/internal/parsers/defaultConfigurationSettingsConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAMlF,OAAO,EAAE,kBAAkB,EAAmB,MAAM,mBAAmB,CAAC;AAKxE;;;;KAIK;AACL,qBAAa,qCAAsC,YAAW,8BAA8B;IAC1F;;;;;SAKK;IACE,OAAO,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,4BAA4B,CAAC,MAAM,GAAG,kBAAkB,GAAG,oBAAoB,CAAC,EAAE;IA2ErF,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,uBAAuB;CAyChC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue } from "@azure/app-configuration";
|
|
2
|
+
import { ConfigurationSettingsConverter } from "./configurationSettingsConverter";
|
|
3
|
+
/**
|
|
4
|
+
* Format Parser for kvset profile.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
* */
|
|
8
|
+
export declare class KvSetConfigurationSettingsConverter implements ConfigurationSettingsConverter {
|
|
9
|
+
/**
|
|
10
|
+
* @inheritdoc
|
|
11
|
+
* */
|
|
12
|
+
Convert(config: object): SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[];
|
|
13
|
+
private validateKvSetElement;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=kvSetConfigurationSettingsConverter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kvSetConfigurationSettingsConverter.d.ts","sourceRoot":"","sources":["../../../../src/internal/parsers/kvSetConfigurationSettingsConverter.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EAGrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF;;;;KAIK;AACL,qBAAa,mCAAoC,YAAW,8BAA8B;IACxF;;SAEK;IACE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,EAAE;IAuBhH,OAAO,CAAC,oBAAoB;CA+B7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.browser.d.ts","sourceRoot":"","sources":["../../../src/internal/stream.browser.ts"],"names":[],"mappings":";AAGA,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,MAAM,EAAG,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAMnH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/internal/stream.ts"],"names":[],"mappings":";AAKA,gBAAgB;AAChB,wBAAgB,WAAW,CAAC,MAAM,EAAG,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,UAAU,CAAC,CAOnH"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ConfigurationSetting, SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue } from "@azure/app-configuration";
|
|
2
|
+
import { Tags } from "../models";
|
|
3
|
+
import { SourceOptions } from "../importOptions";
|
|
4
|
+
/** @internal*/
|
|
5
|
+
export declare function isJsonContentType(contentType?: string): boolean;
|
|
6
|
+
/** @internal*/
|
|
7
|
+
export declare function isConfigSettingEqual(settingA: SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>, settingB: ConfigurationSetting): boolean;
|
|
8
|
+
/** @internal*/
|
|
9
|
+
export declare function areTagsEqual(tagA?: Tags, tagB?: Tags): boolean;
|
|
10
|
+
/** @internal*/
|
|
11
|
+
/**
|
|
12
|
+
* Validate the ConfigurationSyncOptions argument, throw fatal error if options are not valid.
|
|
13
|
+
*
|
|
14
|
+
* @param options - ConfigurationSyncOptions to be validated.
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateOptions(options: SourceOptions): void;
|
|
17
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EAEhB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,IAAI,EAA4B,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,eAAe;AACf,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAsB/D;AAED,eAAe;AACf,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,QAAQ,EAAE,oBAAoB,WAa5J;AAED,eAAe;AACf,wBAAgB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAe9D;AAED,eAAe;AACf;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CA2C5D"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export type ClientFilter = {
|
|
5
|
+
name: string;
|
|
6
|
+
parameters?: Record<string, unknown>;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export interface JsonSecretReferenceValue {
|
|
12
|
+
uri: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export type KvSetConfigurationItem = {
|
|
18
|
+
key: string;
|
|
19
|
+
value?: string;
|
|
20
|
+
label?: string;
|
|
21
|
+
content_type?: string;
|
|
22
|
+
tags?: {
|
|
23
|
+
[propertyName: string]: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export interface ImportProgress {
|
|
27
|
+
successCount: number;
|
|
28
|
+
importCount: number;
|
|
29
|
+
}
|
|
30
|
+
export interface Tags {
|
|
31
|
+
[propertyName: string]: string;
|
|
32
|
+
}
|
|
33
|
+
export interface FeatureFlagClientFilters {
|
|
34
|
+
name: string;
|
|
35
|
+
parameters?: Record<string, unknown> | undefined;
|
|
36
|
+
}
|
|
37
|
+
export interface KeyLabelLookup {
|
|
38
|
+
[key: string]: {
|
|
39
|
+
[label: string]: boolean;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,CAAC,KAAK,EAAE,MAAM,GAAI,OAAO,CAAA;KAC1B,CAAA;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FeatureFlagValue, ListConfigurationSettingsOptions, SecretReferenceValue, SetConfigurationSettingParam } from "@azure/app-configuration";
|
|
2
|
+
/**
|
|
3
|
+
* Interface of all ConfigurationSettingsSource
|
|
4
|
+
*/
|
|
5
|
+
export interface ConfigurationSettingsSource {
|
|
6
|
+
/**
|
|
7
|
+
* Get ConfigurationSettings collection from source.
|
|
8
|
+
*
|
|
9
|
+
* @returns Collection of ConfigurationSettings
|
|
10
|
+
*/
|
|
11
|
+
GetConfigurationSettings(): Promise<Array<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>>>;
|
|
12
|
+
/**
|
|
13
|
+
* Get label and prefix filter
|
|
14
|
+
*
|
|
15
|
+
* @returns label and prefix
|
|
16
|
+
*/
|
|
17
|
+
FilterOptions: ListConfigurationSettingsOptions;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=configurationSettingsSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configurationSettingsSource.d.ts","sourceRoot":"","sources":["../../../src/settingsImport/configurationSettingsSource.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,gCAAgC,EAChC,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,wBAAwB,IAAI,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAE3H;;;;OAIG;IACF,aAAa,EAAE,gCAAgC,CAAC;CAClD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ConfigurationSettingsSource } from "./configurationSettingsSource";
|
|
2
|
+
import { SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue, ListConfigurationSettingsOptions } from "@azure/app-configuration";
|
|
3
|
+
import { IterableSourceOptions } from "../importOptions";
|
|
4
|
+
export declare class IterableConfigurationSettingsSource implements ConfigurationSettingsSource {
|
|
5
|
+
FilterOptions: ListConfigurationSettingsOptions;
|
|
6
|
+
private data;
|
|
7
|
+
private options;
|
|
8
|
+
constructor(options: IterableSourceOptions);
|
|
9
|
+
/**
|
|
10
|
+
* @inheritdoc
|
|
11
|
+
*/
|
|
12
|
+
GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=iterableConfigurationSettingsSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterableConfigurationSettingsSource.d.ts","sourceRoot":"","sources":["../../../src/settingsImport/iterableConfigurationSettingsSource.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAEL,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,EACpB,gCAAgC,EAIL,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,qBAAa,mCAAoC,YAAW,2BAA2B;IAC9E,aAAa,EAAE,gCAAgC,CAAM;IAE5D,OAAO,CAAC,IAAI,CAAuG;IACnH,OAAO,CAAC,OAAO,CAAwB;gBAE3B,OAAO,EAAE,qBAAqB;IAU1C;;SAEK;IACQ,wBAAwB,IAAI,OAAO,CAAC,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,CAAC;CAiDnI"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SetConfigurationSettingParam, FeatureFlagValue, SecretReferenceValue, ListConfigurationSettingsOptions } from "@azure/app-configuration";
|
|
2
|
+
import { ReadableStreamSourceOptions } from "../importOptions";
|
|
3
|
+
import { ConfigurationSettingsSource } from "./configurationSettingsSource";
|
|
4
|
+
export declare class ReadableStreamConfigurationSettingsSource implements ConfigurationSettingsSource {
|
|
5
|
+
FilterOptions: ListConfigurationSettingsOptions;
|
|
6
|
+
private options;
|
|
7
|
+
private data;
|
|
8
|
+
constructor(options: ReadableStreamSourceOptions);
|
|
9
|
+
GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=readableStreamConfigurationSettingsSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"readableStreamConfigurationSettingsSource.d.ts","sourceRoot":"","sources":["../../../src/settingsImport/readableStreamConfigurationSettingsSource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAElJ,OAAO,EAAE,2BAA2B,EAAiB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAK5E,qBAAa,yCAA0C,YAAW,2BAA2B;IACpF,aAAa,EAAE,gCAAgC,CAAM;IAC5D,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,IAAI,CAAqD;gBAErD,OAAO,EAAE,2BAA2B;IAmBnC,wBAAwB,IAAI,OAAO,CAAC,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,CAAC;CA0BnI"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { FeatureFlagValue, ListConfigurationSettingsOptions, SecretReferenceValue, SetConfigurationSettingParam } from "@azure/app-configuration";
|
|
2
|
+
import { StringSourceOptions } from "../importOptions";
|
|
3
|
+
import { ConfigurationSettingsSource } from "./configurationSettingsSource";
|
|
4
|
+
/**
|
|
5
|
+
* ConfigurationSettingsSource implementation of string data configuration source
|
|
6
|
+
*/
|
|
7
|
+
export declare class StringConfigurationSettingsSource implements ConfigurationSettingsSource {
|
|
8
|
+
FilterOptions: ListConfigurationSettingsOptions;
|
|
9
|
+
private options;
|
|
10
|
+
private data;
|
|
11
|
+
constructor(options: StringSourceOptions);
|
|
12
|
+
/**
|
|
13
|
+
* @inheritdoc
|
|
14
|
+
*/
|
|
15
|
+
GetConfigurationSettings(): Promise<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Get the ConfigurationSettings from supplied data string source.
|
|
18
|
+
*
|
|
19
|
+
* @param data The string data being parsed.
|
|
20
|
+
* @returns Collection of ConfigurationSettings
|
|
21
|
+
*/
|
|
22
|
+
protected getConfigurationSettingsInternal(data: string): Array<SetConfigurationSettingParam<string | FeatureFlagValue | SecretReferenceValue>>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=stringConfigurationSettingsSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringConfigurationSettingsSource.d.ts","sourceRoot":"","sources":["../../../src/settingsImport/stringConfigurationSettingsSource.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,gCAAgC,EAChC,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAiB,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAQ5E;;GAEG;AACH,qBAAa,iCAAkC,YAAW,2BAA2B;IAC5E,aAAa,EAAE,gCAAgC,CAAM;IAC5D,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,IAAI,CAAS;gBAET,OAAO,EAAE,mBAAmB;IAmBxC;;OAEG;IACU,wBAAwB,IAAI,OAAO,CAAC,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,EAAE,CAAC;IAIlI;;;;;OAKG;IACH,SAAS,CAAC,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAC7D,4BAA4B,CAAC,MAAM,GAAG,gBAAgB,GAAG,oBAAoB,CAAC,CAC/E;CAwDF"}
|