ts-case-convert 2.0.1 → 2.0.4

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.
@@ -0,0 +1,7 @@
1
+
2
+ ## [1.2.0](https://github.com/RossWilliams/ts-case-convert/compare/v1.1.2...v1.2.0) (2021-06-08)
3
+
4
+
5
+ ### Features
6
+
7
+ * support convert to pascal case and typescript 4.3 ([d615d9c](https://github.com/RossWilliams/ts-case-convert/commit/d615d9c80b97c6e3e826df5a5b5ad41521ac95da))
package/.gitattributes CHANGED
@@ -1,22 +1,23 @@
1
1
  # ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
2
2
 
3
- *.snap linguist-generated
4
- /.eslintrc.json linguist-generated
5
- /.gitattributes linguist-generated
6
- /.github/pull_request_template.md linguist-generated
7
- /.github/workflows/build.yml linguist-generated
8
- /.github/workflows/release.yml linguist-generated
9
- /.github/workflows/stale.yml linguist-generated
10
- /.github/workflows/upgrade-dependencies.yml linguist-generated
11
- /.gitignore linguist-generated
12
- /.mergify.yml linguist-generated
13
- /.npmignore linguist-generated
14
- /.projen/** linguist-generated
15
- /.projen/deps.json linguist-generated
16
- /.projen/tasks.json linguist-generated
17
- /LICENSE linguist-generated
18
- /package.json linguist-generated
19
- /tsconfig.eslint.json linguist-generated
20
- /tsconfig.jest.json linguist-generated
21
- /tsconfig.json linguist-generated
22
- /yarn.lock linguist-generated
3
+ *.snap linguist-generated
4
+ /.eslintrc.json linguist-generated
5
+ /.gitattributes linguist-generated
6
+ /.github/pull_request_template.md linguist-generated
7
+ /.github/workflows/build.yml linguist-generated
8
+ /.github/workflows/pull-request-lint.yml linguist-generated
9
+ /.github/workflows/release.yml linguist-generated
10
+ /.github/workflows/upgrade-main.yml linguist-generated
11
+ /.gitignore linguist-generated
12
+ /.mergify.yml linguist-generated
13
+ /.npmignore linguist-generated
14
+ /.projen/** linguist-generated
15
+ /.projen/deps.json linguist-generated
16
+ /.projen/files.json linguist-generated
17
+ /.projen/tasks.json linguist-generated
18
+ /jest.config.json linguist-generated
19
+ /LICENSE linguist-generated
20
+ /package.json linguist-generated
21
+ /tsconfig.dev.json linguist-generated
22
+ /tsconfig.json linguist-generated
23
+ /yarn.lock linguist-generated
@@ -4,19 +4,19 @@ export declare function toSnake<T extends string>(term: T): ToSnake<T>;
4
4
  export declare function objectToSnake<T extends object>(obj: T): ObjectToSnake<T>;
5
5
  export declare function toPascal<T extends string>(term: T): ToPascal<T>;
6
6
  export declare function objectToPascal<T extends object>(obj: T): ObjectToPascal<T>;
7
- export declare type ToCamel<S extends string | number | symbol> = S extends string ? S extends `${infer Head}_${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : Uncapitalize<S> : never;
8
- export declare type ObjectToCamel<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? ArrayType extends object ? Array<ObjectToCamel<ArrayType>> : Array<ArrayType> : {
7
+ export type ToCamel<S extends string | number | symbol> = S extends string ? S extends `${infer Head}_${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${ToCamel<Uncapitalize<Head>>}${Capitalize<ToCamel<Tail>>}` : Uncapitalize<S> : never;
8
+ export type ObjectToCamel<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? ArrayType extends object ? Array<ObjectToCamel<ArrayType>> : Array<ArrayType> : T extends Uint8Array ? Uint8Array : {
9
9
  [K in keyof T as ToCamel<K>]: T[K] extends Array<infer ArrayType> | undefined | null ? ArrayType extends object ? Array<ObjectToCamel<ArrayType>> : Array<ArrayType> : T[K] extends object | undefined | null ? ObjectToCamel<T[K]> : T[K];
10
10
  };
11
- export declare type ToPascal<S extends string | number | symbol> = S extends string ? S extends `${infer Head}_${infer Tail}` ? `${Capitalize<ToCamel<Head>>}${Capitalize<ToCamel<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${Capitalize<ToCamel<Head>>}${Capitalize<ToCamel<Tail>>}` : Capitalize<S> : never;
12
- export declare type ObjectToPascal<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? ArrayType extends object ? Array<ObjectToPascal<ArrayType>> : Array<ArrayType> : {
11
+ export type ToPascal<S extends string | number | symbol> = S extends string ? S extends `${infer Head}_${infer Tail}` ? `${Capitalize<ToCamel<Head>>}${Capitalize<ToCamel<Tail>>}` : S extends `${infer Head}-${infer Tail}` ? `${Capitalize<ToCamel<Head>>}${Capitalize<ToCamel<Tail>>}` : Capitalize<S> : never;
12
+ export type ObjectToPascal<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? ArrayType extends object ? Array<ObjectToPascal<ArrayType>> : Array<ArrayType> : T extends Uint8Array ? Uint8Array : {
13
13
  [K in keyof T as ToPascal<K>]: T[K] extends Array<infer ArrayType> | undefined | null ? ArrayType extends object ? Array<ObjectToPascal<ArrayType>> : Array<ArrayType> : T[K] extends object | undefined | null ? ObjectToPascal<T[K]> : T[K];
14
14
  };
15
- export declare type ToSnake<S extends string | number | symbol> = S extends string ? S extends `${infer Head}${CapitalChars}${infer Tail}` ? Head extends '' ? Tail extends '' ? Lowercase<S> : S extends `${infer Caps}${Tail}` ? Caps extends CapitalChars ? Tail extends CapitalLetters ? `${Lowercase<Caps>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? `${ToSnake<Caps>}_${ToSnake<Tail>}` : `${ToSnake<Caps>}${ToSnake<Tail>}` : never : never : Tail extends '' ? S extends `${Head}${infer Caps}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Caps extends Numbers ? never : `${ToSnake<Head>}_${ToSnake<Caps>}` : never : never : never : S extends `${Head}${infer Caps}${Tail}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Tail extends CapitalLetters ? `${ToSnake<Head>}_${ToSnake<Caps>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? Head extends Numbers ? never : Head extends `${string}${Numbers}` ? never : `${Head}_${ToSnake<Caps>}_${ToSnake<Tail>}` : `${ToSnake<Head>}_${Lowercase<Caps>}${ToSnake<Tail>}` : never : never : never : S : never;
16
- export declare type ObjectToSnake<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? ArrayType extends object ? Array<ObjectToSnake<ArrayType>> : Array<ArrayType> : {
15
+ export type ToSnake<S extends string | number | symbol> = S extends string ? S extends `${infer Head}${CapitalChars}${infer Tail}` ? Head extends '' ? Tail extends '' ? Lowercase<S> : S extends `${infer Caps}${Tail}` ? Caps extends CapitalChars ? Tail extends CapitalLetters ? `${Lowercase<Caps>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? `${ToSnake<Caps>}_${ToSnake<Tail>}` : `${ToSnake<Caps>}${ToSnake<Tail>}` : never : never : Tail extends '' ? S extends `${Head}${infer Caps}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Caps extends Numbers ? never : `${ToSnake<Head>}_${ToSnake<Caps>}` : never : never : never : S extends `${Head}${infer Caps}${Tail}` ? Caps extends CapitalChars ? Head extends Lowercase<Head> ? Tail extends CapitalLetters ? `${ToSnake<Head>}_${ToSnake<Caps>}_${Lowercase<Tail>}` : Tail extends `${CapitalLetters}${string}` ? Head extends Numbers ? never : Head extends `${string}${Numbers}` ? never : `${Head}_${ToSnake<Caps>}_${ToSnake<Tail>}` : `${ToSnake<Head>}_${Lowercase<Caps>}${ToSnake<Tail>}` : never : never : never : S : never;
16
+ export type ObjectToSnake<T extends object | undefined | null> = T extends undefined ? undefined : T extends null ? null : T extends Array<infer ArrayType> ? ArrayType extends object ? Array<ObjectToSnake<ArrayType>> : Array<ArrayType> : T extends Uint8Array ? Uint8Array : {
17
17
  [K in keyof T as ToSnake<K>]: T[K] extends Array<infer ArrayType> | undefined | null ? ArrayType extends object ? Array<ObjectToSnake<ArrayType>> : Array<ArrayType> : T[K] extends object | undefined | null ? ObjectToSnake<T[K]> : T[K];
18
18
  };
19
- declare type CapitalLetters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
20
- declare type Numbers = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
21
- declare type CapitalChars = CapitalLetters | Numbers;
19
+ type CapitalLetters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
20
+ type Numbers = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
21
+ type CapitalChars = CapitalLetters | Numbers;
22
22
  export {};
@@ -11,12 +11,14 @@ function convertObject(obj, keyConverter) {
11
11
  // @ts-ignore
12
12
  // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
13
13
  out[keyConverter(k)] = Array.isArray(v)
14
- ? v.map((item) => typeof item === 'object'
14
+ ? v.map((item) => typeof item === 'object' && !(item instanceof Uint8Array)
15
15
  ? convertObject(item, keyConverter)
16
16
  : item)
17
- : typeof v === 'object'
18
- ? convertObject(v, keyConverter)
19
- : v;
17
+ : v instanceof Uint8Array
18
+ ? v
19
+ : typeof v === 'object'
20
+ ? convertObject(v, keyConverter)
21
+ : v;
20
22
  }
21
23
  return out;
22
24
  }
@@ -61,4 +63,4 @@ function objectToPascal(obj) {
61
63
  return convertObject(obj, toPascal);
62
64
  }
63
65
  exports.objectToPascal = objectToPascal;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZUNvbnZlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FzZUNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBUyxhQUFhLENBTXBCLEdBQVcsRUFBRSxZQUFxQztJQUNsRCxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUN6RSxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBWSxDQUFDO0lBQ3RELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hDLDJCQUEyQjtRQUMzQixhQUFhO1FBQ2IsbUVBQW1FO1FBQ25FLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUEyQixJQUFlLEVBQUUsRUFBRSxDQUNuRCxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUN0QixDQUFDLENBQUMsYUFBYSxDQU9YLElBQUksRUFBRSxZQUFZLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxJQUFJLENBQ0s7WUFDakIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVE7Z0JBQ3ZCLENBQUMsQ0FBQyxhQUFhLENBT1gsQ0FBQyxFQUFFLFlBQVksQ0FBQztnQkFDcEIsQ0FBQyxDQUFFLENBQWEsQ0FBQztLQUNwQjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELFNBQWdCLE9BQU8sQ0FBbUIsSUFBTztJQUMvQyxPQUFPLENBQ0wsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7UUFDcEIsQ0FBQyxDQUFDLElBQUk7YUFDRCxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDOUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDL0MsQ0FBQztBQUNsQixDQUFDO0FBUkQsMEJBUUM7QUFFRCxTQUFnQixhQUFhLENBQW1CLEdBQU07SUFDcEQsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFGRCxzQ0FFQztBQUVELFNBQWdCLE9BQU8sQ0FBbUIsSUFBTzs7SUFDL0MsSUFBSSxNQUFNLEdBQVcsSUFBSSxDQUFDO0lBQzFCLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztJQUV2QixPQUNFLENBQUMsQ0FBQSxNQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsMENBQUUsTUFBTSxLQUFJLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDaEQsY0FBYyxHQUFHLEVBQUUsRUFDbkI7UUFDQSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FDckIsZ0JBQWdCLEVBQ2hCLENBQUMsSUFBSSxFQUFFLEVBQVUsRUFBRSxFQUFVLEVBQUUsRUFBRSxDQUMvQixHQUFHLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDNUMsQ0FBQztRQUVGLGNBQWMsSUFBSSxDQUFDLENBQUM7S0FDckI7SUFFRCxPQUNFLENBQUMsQ0FBQSxNQUFBLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLGNBQWMsR0FBRyxFQUFFLEVBQ25CO1FBQ0EsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3JCLGNBQWMsRUFDZCxDQUFDLElBQUksRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQUUsQ0FDL0IsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQzVDLENBQUM7UUFDRixjQUFjLElBQUksQ0FBQyxDQUFDO0tBQ3JCO0lBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxFQUFnQixDQUFDO0FBQzVDLENBQUM7QUE5QkQsMEJBOEJDO0FBRUQsU0FBZ0IsYUFBYSxDQUFtQixHQUFNO0lBQ3BELE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRkQsc0NBRUM7QUFFRCxTQUFnQixRQUFRLENBQW1CLElBQU87SUFDaEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FDSixDQUFDO0FBQ25CLENBQUM7QUFKRCw0QkFJQztBQUVELFNBQWdCLGNBQWMsQ0FBbUIsR0FBTTtJQUNyRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUZELHdDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gY29udmVydE9iamVjdDxcbiAgVElucHV0IGV4dGVuZHMgb2JqZWN0LFxuICBUUmVzdWx0IGV4dGVuZHNcbiAgICB8IE9iamVjdFRvQ2FtZWw8VElucHV0PlxuICAgIHwgT2JqZWN0VG9TbmFrZTxUSW5wdXQ+XG4gICAgfCBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+LFxuPihvYmo6IFRJbnB1dCwga2V5Q29udmVydGVyOiAoYXJnOiBzdHJpbmcpID0+IHN0cmluZyk6IFRSZXN1bHQge1xuICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogPT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGNvbnN0IG91dCA9IChBcnJheS5pc0FycmF5KG9iaikgPyBbXSA6IHt9KSBhcyBUUmVzdWx0O1xuICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhvYmopKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWFzc2lnbm1lbnRcbiAgICBvdXRba2V5Q29udmVydGVyKGspXSA9IEFycmF5LmlzQXJyYXkodilcbiAgICAgID8gKHYubWFwKDxBcnJheUl0ZW0gZXh0ZW5kcyBvYmplY3Q+KGl0ZW06IEFycmF5SXRlbSkgPT5cbiAgICAgICAgICB0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgID8gY29udmVydE9iamVjdDxcbiAgICAgICAgICAgICAgICBBcnJheUl0ZW0sXG4gICAgICAgICAgICAgICAgVFJlc3VsdCBleHRlbmRzIE9iamVjdFRvQ2FtZWw8VElucHV0PlxuICAgICAgICAgICAgICAgICAgPyBPYmplY3RUb0NhbWVsPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgICAgIDogVFJlc3VsdCBleHRlbmRzIE9iamVjdFRvUGFzY2FsPFRJbnB1dD5cbiAgICAgICAgICAgICAgICAgID8gT2JqZWN0VG9QYXNjYWw8QXJyYXlJdGVtPlxuICAgICAgICAgICAgICAgICAgOiBPYmplY3RUb1NuYWtlPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgPihpdGVtLCBrZXlDb252ZXJ0ZXIpXG4gICAgICAgICAgICA6IGl0ZW0sXG4gICAgICAgICkgYXMgdW5rbm93bltdKVxuICAgICAgOiB0eXBlb2YgdiA9PT0gJ29iamVjdCdcbiAgICAgID8gY29udmVydE9iamVjdDxcbiAgICAgICAgICB0eXBlb2YgdixcbiAgICAgICAgICBUUmVzdWx0IGV4dGVuZHMgT2JqZWN0VG9DYW1lbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvQ2FtZWw8dHlwZW9mIHY+XG4gICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPHR5cGVvZiB2PlxuICAgICAgICAgICAgOiBPYmplY3RUb1NuYWtlPHR5cGVvZiB2PlxuICAgICAgICA+KHYsIGtleUNvbnZlcnRlcilcbiAgICAgIDogKHYgYXMgdW5rbm93bik7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2FtZWw8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvQ2FtZWw8VD4ge1xuICByZXR1cm4gKFxuICAgIHRlcm0ubGVuZ3RoID09PSAxXG4gICAgICA/IHRlcm0udG9Mb3dlckNhc2UoKVxuICAgICAgOiB0ZXJtXG4gICAgICAgICAgLnJlcGxhY2UoL14oW0EtWl0pLywgKG0pID0+IG1bMF0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAucmVwbGFjZSgvW18tXShbYS16MC05XSkvZywgKG0pID0+IG1bMV0udG9VcHBlckNhc2UoKSlcbiAgKSBhcyBUb0NhbWVsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9DYW1lbDxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb0NhbWVsPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b0NhbWVsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU25ha2U8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvU25ha2U8VD4ge1xuICBsZXQgcmVzdWx0OiBzdHJpbmcgPSB0ZXJtO1xuICBsZXQgY2lyY3VpdEJyZWFrZXIgPSAwO1xuXG4gIHdoaWxlIChcbiAgICAoLyhbYS16XSkoWzAtOV0pLy5leGVjKHJlc3VsdCk/Lmxlbmd0aCB8fCAwKSA+IDIgJiZcbiAgICBjaXJjdWl0QnJlYWtlciA8IDEwXG4gICkge1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKFxuICAgICAgLyhbYS16XSkoWzAtOV0pLyxcbiAgICAgIChfYWxsLCAkMTogc3RyaW5nLCAkMjogc3RyaW5nKSA9PlxuICAgICAgICBgJHskMS50b0xvd2VyQ2FzZSgpfV8keyQyLnRvTG93ZXJDYXNlKCl9YCxcbiAgICApO1xuXG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHdoaWxlIChcbiAgICAoLyguKz8pKFtBLVpdKS8uZXhlYyhyZXN1bHQpPy5sZW5ndGggfHwgMCkgPiAyICYmXG4gICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICApIHtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgIC8oLis/KShbQS1aXSkvLFxuICAgICAgKF9hbGwsICQxOiBzdHJpbmcsICQyOiBzdHJpbmcpID0+XG4gICAgICAgIGAkeyQxLnRvTG93ZXJDYXNlKCl9XyR7JDIudG9Mb3dlckNhc2UoKX1gLFxuICAgICk7XG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKSBhcyBUb1NuYWtlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb1NuYWtlPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1NuYWtlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGFzY2FsPFQgZXh0ZW5kcyBzdHJpbmc+KHRlcm06IFQpOiBUb1Bhc2NhbDxUPiB7XG4gIHJldHVybiB0b0NhbWVsKHRlcm0pLnJlcGxhY2UoL14oW2Etel0pLywgKG0pID0+XG4gICAgbVswXS50b1VwcGVyQ2FzZSgpLFxuICApIGFzIFRvUGFzY2FsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9QYXNjYWw8VCBleHRlbmRzIG9iamVjdD4ob2JqOiBUKTogT2JqZWN0VG9QYXNjYWw8VD4ge1xuICByZXR1cm4gY29udmVydE9iamVjdChvYmosIHRvUGFzY2FsKTtcbn1cblxuZXhwb3J0IHR5cGUgVG9DYW1lbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH1fJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke1RvQ2FtZWw8VW5jYXBpdGFsaXplPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9LSR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtUb0NhbWVsPFVuY2FwaXRhbGl6ZTxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IFVuY2FwaXRhbGl6ZTxTPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb0NhbWVsPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9DYW1lbDxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiB7XG4gICAgICAgIFtLIGluIGtleW9mIFQgYXMgVG9DYW1lbDxLPl06IFRbS10gZXh0ZW5kc1xuICAgICAgICAgIHwgQXJyYXk8aW5mZXIgQXJyYXlUeXBlPlxuICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAgICAgfCBudWxsXG4gICAgICAgICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgICAgID8gQXJyYXk8T2JqZWN0VG9DYW1lbDxBcnJheVR5cGU+PlxuICAgICAgICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgICAgICAgOiBUW0tdIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbFxuICAgICAgICAgID8gT2JqZWN0VG9DYW1lbDxUW0tdPlxuICAgICAgICAgIDogVFtLXTtcbiAgICAgIH07XG5cbmV4cG9ydCB0eXBlIFRvUGFzY2FsPFMgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+ID0gUyBleHRlbmRzIHN0cmluZ1xuICA/IFMgZXh0ZW5kcyBgJHtpbmZlciBIZWFkfV8ke2luZmVyIFRhaWx9YFxuICAgID8gYCR7Q2FwaXRhbGl6ZTxUb0NhbWVsPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9LSR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtDYXBpdGFsaXplPFRvQ2FtZWw8SGVhZD4+fSR7Q2FwaXRhbGl6ZTxUb0NhbWVsPFRhaWw+Pn1gXG4gICAgOiBDYXBpdGFsaXplPFM+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIE9iamVjdFRvUGFzY2FsPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9QYXNjYWw8QXJyYXlUeXBlPj5cbiAgICAgIDogQXJyYXk8QXJyYXlUeXBlPlxuICAgIDoge1xuICAgICAgICBbSyBpbiBrZXlvZiBUIGFzIFRvUGFzY2FsPEs+XTogVFtLXSBleHRlbmRzXG4gICAgICAgICAgfCBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgICAgICAgfCB1bmRlZmluZWRcbiAgICAgICAgICB8IG51bGxcbiAgICAgICAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgICAgICAgPyBBcnJheTxPYmplY3RUb1Bhc2NhbDxBcnJheVR5cGU+PlxuICAgICAgICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgICAgICAgOiBUW0tdIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbFxuICAgICAgICAgID8gT2JqZWN0VG9QYXNjYWw8VFtLXT5cbiAgICAgICAgICA6IFRbS107XG4gICAgICB9O1xuXG5leHBvcnQgdHlwZSBUb1NuYWtlPFMgZXh0ZW5kcyBzdHJpbmcgfCBudW1iZXIgfCBzeW1ib2w+ID0gUyBleHRlbmRzIHN0cmluZ1xuICA/IFMgZXh0ZW5kcyBgJHtpbmZlciBIZWFkfSR7Q2FwaXRhbENoYXJzfSR7aW5mZXIgVGFpbH1gIC8vIHN0cmluZyBoYXMgYSBjYXBpdGFsIGNoYXIgc29tZXdoZXJlXG4gICAgPyBIZWFkIGV4dGVuZHMgJycgLy8gdGhlcmUgaXMgYSBjYXBpdGFsIGNoYXIgaW4gdGhlIGZpcnN0IHBvc2l0aW9uXG4gICAgICA/IFRhaWwgZXh0ZW5kcyAnJ1xuICAgICAgICA/IExvd2VyY2FzZTxTPiAvKiAgJ0EnICovXG4gICAgICAgIDogUyBleHRlbmRzIGAke2luZmVyIENhcHN9JHtUYWlsfWAgLy8gdGFpbCBleGlzdHMsIGhhcyBjYXBpdGFsIGNoYXJhY3RlcnNcbiAgICAgICAgPyBDYXBzIGV4dGVuZHMgQ2FwaXRhbENoYXJzXG4gICAgICAgICAgPyBUYWlsIGV4dGVuZHMgQ2FwaXRhbExldHRlcnNcbiAgICAgICAgICAgID8gYCR7TG93ZXJjYXNlPENhcHM+fV8ke0xvd2VyY2FzZTxUYWlsPn1gIC8qICdBQicgKi9cbiAgICAgICAgICAgIDogVGFpbCBleHRlbmRzIGAke0NhcGl0YWxMZXR0ZXJzfSR7c3RyaW5nfWBcbiAgICAgICAgICAgID8gYCR7VG9TbmFrZTxDYXBzPn1fJHtUb1NuYWtlPFRhaWw+fWAgLyogZmlyc3QgdGFpbCBjaGFyIGlzIHVwcGVyPyAnQUJjZCcgKi9cbiAgICAgICAgICAgIDogYCR7VG9TbmFrZTxDYXBzPn0ke1RvU25ha2U8VGFpbD59YCAvKiAnQWJDRCcsJ0FiY0QnLCAgKi8gLyogVE9ETzogaWYgdGFpbCBpcyBvbmx5IG51bWJlcnMsIGFwcGVuZCB3aXRob3V0IHVuZGVyc2NvcmUgKi9cbiAgICAgICAgICA6IG5ldmVyIC8qIG5ldmVyIHJlYWNoZWQsIHVzZWQgZm9yIGluZmVyZW5jZSBvZiBjYXBzICovXG4gICAgICAgIDogbmV2ZXJcbiAgICAgIDogVGFpbCBleHRlbmRzICcnIC8qICdhQicgJ2FiQ0QnICdBQkNEJyAnQUInICovXG4gICAgICA/IFMgZXh0ZW5kcyBgJHtIZWFkfSR7aW5mZXIgQ2Fwc31gXG4gICAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICAgID8gSGVhZCBleHRlbmRzIExvd2VyY2FzZTxIZWFkPiAvKiAnYWJjRCcgKi9cbiAgICAgICAgICAgID8gQ2FwcyBleHRlbmRzIE51bWJlcnNcbiAgICAgICAgICAgICAgPyBuZXZlciAvKiBzdG9wIHVuaW9uIHR5cGUgZm9ybWluZyAqL1xuICAgICAgICAgICAgICA6IGAke1RvU25ha2U8SGVhZD59XyR7VG9TbmFrZTxDYXBzPn1gIC8qICdhYmNEJyAnYWJjMjUnICovXG4gICAgICAgICAgICA6IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyIC8qIG5ldmVyIHJlYWNoZWQsIHVzZWQgZm9yIGluZmVyZW5jZSBvZiBjYXBzICovXG4gICAgICA6IFMgZXh0ZW5kcyBgJHtIZWFkfSR7aW5mZXIgQ2Fwc30ke1RhaWx9YCAvKiAnYWJDZCcgJ0FCQ0QnICdBYkNkJyAnQUJjRCcgKi9cbiAgICAgID8gQ2FwcyBleHRlbmRzIENhcGl0YWxDaGFyc1xuICAgICAgICA/IEhlYWQgZXh0ZW5kcyBMb3dlcmNhc2U8SGVhZD4gLyogaXMgJ2FiQ2QnICdhYkNEJyA/ICovXG4gICAgICAgICAgPyBUYWlsIGV4dGVuZHMgQ2FwaXRhbExldHRlcnMgLyogaXMgJ2FiQ0QnIHdoZXJlIENhcHMgPSAnQycgKi9cbiAgICAgICAgICAgID8gYCR7VG9TbmFrZTxIZWFkPn1fJHtUb1NuYWtlPENhcHM+fV8ke0xvd2VyY2FzZTxUYWlsPn1gIC8qIGFCQ0QgVGFpbCA9ICdEJywgSGVhZCA9ICdhQicgKi9cbiAgICAgICAgICAgIDogVGFpbCBleHRlbmRzIGAke0NhcGl0YWxMZXR0ZXJzfSR7c3RyaW5nfWAgLyogaXMgJ2FCQ2QnIHdoZXJlIENhcHMgPSAnQicgKi9cbiAgICAgICAgICAgID8gSGVhZCBleHRlbmRzIE51bWJlcnNcbiAgICAgICAgICAgICAgPyBuZXZlciAvKiBzdG9wIHVuaW9uIHR5cGUgZm9ybWluZyAqL1xuICAgICAgICAgICAgICA6IEhlYWQgZXh0ZW5kcyBgJHtzdHJpbmd9JHtOdW1iZXJzfWBcbiAgICAgICAgICAgICAgPyBuZXZlciAvKiBzdG9wIHVuaW9uIHR5cGUgZm9ybWluZyAqL1xuICAgICAgICAgICAgICA6IGAke0hlYWR9XyR7VG9TbmFrZTxDYXBzPn1fJHtUb1NuYWtlPFRhaWw+fWAgLyogJ2FCQ2QnID0+IGAkeydhJ31fJHtMb3dlcmNhc2U8J0InPn1fJHtUb1NuYWtlPCdDZCc+fWAgKi9cbiAgICAgICAgICAgIDogYCR7VG9TbmFrZTxIZWFkPn1fJHtMb3dlcmNhc2U8Q2Fwcz59JHtUb1NuYWtlPFRhaWw+fWAgLyogJ2FCY0QnIHdoZXJlIENhcHMgPSAnQicgdGFpbCBzdGFydHMgYXMgbG93ZXJjYXNlICovXG4gICAgICAgICAgOiBuZXZlclxuICAgICAgICA6IG5ldmVyXG4gICAgICA6IG5ldmVyXG4gICAgOiBTIC8qICdhYmMnICAqL1xuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1NuYWtlPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9TbmFrZTxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiB7XG4gICAgICAgIFtLIGluIGtleW9mIFQgYXMgVG9TbmFrZTxLPl06IFRbS10gZXh0ZW5kc1xuICAgICAgICAgIHwgQXJyYXk8aW5mZXIgQXJyYXlUeXBlPlxuICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAgICAgfCBudWxsXG4gICAgICAgICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgICAgID8gQXJyYXk8T2JqZWN0VG9TbmFrZTxBcnJheVR5cGU+PlxuICAgICAgICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgICAgICAgOiBUW0tdIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbFxuICAgICAgICAgID8gT2JqZWN0VG9TbmFrZTxUW0tdPlxuICAgICAgICAgIDogVFtLXTtcbiAgICAgIH07XG5cbnR5cGUgQ2FwaXRhbExldHRlcnMgPVxuICB8ICdBJ1xuICB8ICdCJ1xuICB8ICdDJ1xuICB8ICdEJ1xuICB8ICdFJ1xuICB8ICdGJ1xuICB8ICdHJ1xuICB8ICdIJ1xuICB8ICdJJ1xuICB8ICdKJ1xuICB8ICdLJ1xuICB8ICdMJ1xuICB8ICdNJ1xuICB8ICdOJ1xuICB8ICdPJ1xuICB8ICdQJ1xuICB8ICdRJ1xuICB8ICdSJ1xuICB8ICdTJ1xuICB8ICdUJ1xuICB8ICdVJ1xuICB8ICdWJ1xuICB8ICdXJ1xuICB8ICdYJ1xuICB8ICdZJ1xuICB8ICdaJztcblxudHlwZSBOdW1iZXJzID0gJzAnIHwgJzEnIHwgJzInIHwgJzMnIHwgJzQnIHwgJzUnIHwgJzYnIHwgJzcnIHwgJzgnIHwgJzknO1xuXG50eXBlIENhcGl0YWxDaGFycyA9IENhcGl0YWxMZXR0ZXJzIHwgTnVtYmVycztcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZUNvbnZlcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2FzZUNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBUyxhQUFhLENBTXBCLEdBQVcsRUFBRSxZQUFxQztJQUNsRCxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksT0FBTyxHQUFHLEtBQUssV0FBVyxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUN6RSxPQUFPLEdBQUcsQ0FBQztLQUNaO0lBRUQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBWSxDQUFDO0lBQ3RELEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3hDLDJCQUEyQjtRQUMzQixhQUFhO1FBQ2IsbUVBQW1FO1FBQ25FLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUEyQixJQUFlLEVBQUUsRUFBRSxDQUNuRCxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksWUFBWSxVQUFVLENBQUM7Z0JBQ3ZELENBQUMsQ0FBQyxhQUFhLENBT1gsSUFBSSxFQUFFLFlBQVksQ0FBQztnQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FDSztZQUNqQixDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVU7Z0JBQ3pCLENBQUMsQ0FBQyxDQUFDO2dCQUNILENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRO29CQUN2QixDQUFDLENBQUMsYUFBYSxDQU9YLENBQUMsRUFBRSxZQUFZLENBQUM7b0JBQ3BCLENBQUMsQ0FBRSxDQUFhLENBQUM7S0FDcEI7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFnQixPQUFPLENBQW1CLElBQU87SUFDL0MsT0FBTyxDQUNMLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BCLENBQUMsQ0FBQyxJQUFJO2FBQ0QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQzlDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQy9DLENBQUM7QUFDbEIsQ0FBQztBQVJELDBCQVFDO0FBRUQsU0FBZ0IsYUFBYSxDQUFtQixHQUFNO0lBQ3BELE9BQU8sYUFBYSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRkQsc0NBRUM7QUFFRCxTQUFnQixPQUFPLENBQW1CLElBQU87O0lBQy9DLElBQUksTUFBTSxHQUFXLElBQUksQ0FBQztJQUMxQixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFFdkIsT0FDRSxDQUFDLENBQUEsTUFBQSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLDBDQUFFLE1BQU0sS0FBSSxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2hELGNBQWMsR0FBRyxFQUFFLEVBQ25CO1FBQ0EsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQ3JCLGdCQUFnQixFQUNoQixDQUFDLElBQUksRUFBRSxFQUFVLEVBQUUsRUFBVSxFQUFFLEVBQUUsQ0FDL0IsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQzVDLENBQUM7UUFFRixjQUFjLElBQUksQ0FBQyxDQUFDO0tBQ3JCO0lBRUQsT0FDRSxDQUFDLENBQUEsTUFBQSxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQ0FBRSxNQUFNLEtBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM5QyxjQUFjLEdBQUcsRUFBRSxFQUNuQjtRQUNBLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUNyQixjQUFjLEVBQ2QsQ0FBQyxJQUFJLEVBQUUsRUFBVSxFQUFFLEVBQVUsRUFBRSxFQUFFLENBQy9CLEdBQUcsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUM1QyxDQUFDO1FBQ0YsY0FBYyxJQUFJLENBQUMsQ0FBQztLQUNyQjtJQUVELE9BQU8sTUFBTSxDQUFDLFdBQVcsRUFBZ0IsQ0FBQztBQUM1QyxDQUFDO0FBOUJELDBCQThCQztBQUVELFNBQWdCLGFBQWEsQ0FBbUIsR0FBTTtJQUNwRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUZELHNDQUVDO0FBRUQsU0FBZ0IsUUFBUSxDQUFtQixJQUFPO0lBQ2hELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUM3QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ0osQ0FBQztBQUNuQixDQUFDO0FBSkQsNEJBSUM7QUFFRCxTQUFnQixjQUFjLENBQW1CLEdBQU07SUFDckQsT0FBTyxhQUFhLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFGRCx3Q0FFQyIsInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIGNvbnZlcnRPYmplY3Q8XG4gIFRJbnB1dCBleHRlbmRzIG9iamVjdCxcbiAgVFJlc3VsdCBleHRlbmRzXG4gICAgfCBPYmplY3RUb0NhbWVsPFRJbnB1dD5cbiAgICB8IE9iamVjdFRvU25ha2U8VElucHV0PlxuICAgIHwgT2JqZWN0VG9QYXNjYWw8VElucHV0Pixcbj4ob2JqOiBUSW5wdXQsIGtleUNvbnZlcnRlcjogKGFyZzogc3RyaW5nKSA9PiBzdHJpbmcpOiBUUmVzdWx0IHtcbiAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBjb25zdCBvdXQgPSAoQXJyYXkuaXNBcnJheShvYmopID8gW10gOiB7fSkgYXMgVFJlc3VsdDtcbiAgZm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMob2JqKSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1hc3NpZ25tZW50XG4gICAgb3V0W2tleUNvbnZlcnRlcihrKV0gPSBBcnJheS5pc0FycmF5KHYpXG4gICAgICA/ICh2Lm1hcCg8QXJyYXlJdGVtIGV4dGVuZHMgb2JqZWN0PihpdGVtOiBBcnJheUl0ZW0pID0+XG4gICAgICAgICAgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmICEoaXRlbSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpXG4gICAgICAgICAgICA/IGNvbnZlcnRPYmplY3Q8XG4gICAgICAgICAgICAgICAgQXJyYXlJdGVtLFxuICAgICAgICAgICAgICAgIFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb0NhbWVsPFRJbnB1dD5cbiAgICAgICAgICAgICAgICAgID8gT2JqZWN0VG9DYW1lbDxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPEFycmF5SXRlbT5cbiAgICAgICAgICAgICAgICAgIDogT2JqZWN0VG9TbmFrZTxBcnJheUl0ZW0+XG4gICAgICAgICAgICAgID4oaXRlbSwga2V5Q29udmVydGVyKVxuICAgICAgICAgICAgOiBpdGVtLFxuICAgICAgICApIGFzIHVua25vd25bXSlcbiAgICAgIDogdiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXlcbiAgICAgID8gdlxuICAgICAgOiB0eXBlb2YgdiA9PT0gJ29iamVjdCdcbiAgICAgID8gY29udmVydE9iamVjdDxcbiAgICAgICAgICB0eXBlb2YgdixcbiAgICAgICAgICBUUmVzdWx0IGV4dGVuZHMgT2JqZWN0VG9DYW1lbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvQ2FtZWw8dHlwZW9mIHY+XG4gICAgICAgICAgICA6IFRSZXN1bHQgZXh0ZW5kcyBPYmplY3RUb1Bhc2NhbDxUSW5wdXQ+XG4gICAgICAgICAgICA/IE9iamVjdFRvUGFzY2FsPHR5cGVvZiB2PlxuICAgICAgICAgICAgOiBPYmplY3RUb1NuYWtlPHR5cGVvZiB2PlxuICAgICAgICA+KHYsIGtleUNvbnZlcnRlcilcbiAgICAgIDogKHYgYXMgdW5rbm93bik7XG4gIH1cbiAgcmV0dXJuIG91dDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2FtZWw8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvQ2FtZWw8VD4ge1xuICByZXR1cm4gKFxuICAgIHRlcm0ubGVuZ3RoID09PSAxXG4gICAgICA/IHRlcm0udG9Mb3dlckNhc2UoKVxuICAgICAgOiB0ZXJtXG4gICAgICAgICAgLnJlcGxhY2UoL14oW0EtWl0pLywgKG0pID0+IG1bMF0udG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAucmVwbGFjZSgvW18tXShbYS16MC05XSkvZywgKG0pID0+IG1bMV0udG9VcHBlckNhc2UoKSlcbiAgKSBhcyBUb0NhbWVsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9DYW1lbDxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb0NhbWVsPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b0NhbWVsKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU25ha2U8VCBleHRlbmRzIHN0cmluZz4odGVybTogVCk6IFRvU25ha2U8VD4ge1xuICBsZXQgcmVzdWx0OiBzdHJpbmcgPSB0ZXJtO1xuICBsZXQgY2lyY3VpdEJyZWFrZXIgPSAwO1xuXG4gIHdoaWxlIChcbiAgICAoLyhbYS16XSkoWzAtOV0pLy5leGVjKHJlc3VsdCk/Lmxlbmd0aCB8fCAwKSA+IDIgJiZcbiAgICBjaXJjdWl0QnJlYWtlciA8IDEwXG4gICkge1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKFxuICAgICAgLyhbYS16XSkoWzAtOV0pLyxcbiAgICAgIChfYWxsLCAkMTogc3RyaW5nLCAkMjogc3RyaW5nKSA9PlxuICAgICAgICBgJHskMS50b0xvd2VyQ2FzZSgpfV8keyQyLnRvTG93ZXJDYXNlKCl9YCxcbiAgICApO1xuXG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHdoaWxlIChcbiAgICAoLyguKz8pKFtBLVpdKS8uZXhlYyhyZXN1bHQpPy5sZW5ndGggfHwgMCkgPiAyICYmXG4gICAgY2lyY3VpdEJyZWFrZXIgPCAxMFxuICApIHtcbiAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShcbiAgICAgIC8oLis/KShbQS1aXSkvLFxuICAgICAgKF9hbGwsICQxOiBzdHJpbmcsICQyOiBzdHJpbmcpID0+XG4gICAgICAgIGAkeyQxLnRvTG93ZXJDYXNlKCl9XyR7JDIudG9Mb3dlckNhc2UoKX1gLFxuICAgICk7XG4gICAgY2lyY3VpdEJyZWFrZXIgKz0gMTtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQudG9Mb3dlckNhc2UoKSBhcyBUb1NuYWtlPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9TbmFrZTxUIGV4dGVuZHMgb2JqZWN0PihvYmo6IFQpOiBPYmplY3RUb1NuYWtlPFQ+IHtcbiAgcmV0dXJuIGNvbnZlcnRPYmplY3Qob2JqLCB0b1NuYWtlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvUGFzY2FsPFQgZXh0ZW5kcyBzdHJpbmc+KHRlcm06IFQpOiBUb1Bhc2NhbDxUPiB7XG4gIHJldHVybiB0b0NhbWVsKHRlcm0pLnJlcGxhY2UoL14oW2Etel0pLywgKG0pID0+XG4gICAgbVswXS50b1VwcGVyQ2FzZSgpLFxuICApIGFzIFRvUGFzY2FsPFQ+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0VG9QYXNjYWw8VCBleHRlbmRzIG9iamVjdD4ob2JqOiBUKTogT2JqZWN0VG9QYXNjYWw8VD4ge1xuICByZXR1cm4gY29udmVydE9iamVjdChvYmosIHRvUGFzY2FsKTtcbn1cblxuZXhwb3J0IHR5cGUgVG9DYW1lbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH1fJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke1RvQ2FtZWw8VW5jYXBpdGFsaXplPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogUyBleHRlbmRzIGAke2luZmVyIEhlYWR9LSR7aW5mZXIgVGFpbH1gXG4gICAgPyBgJHtUb0NhbWVsPFVuY2FwaXRhbGl6ZTxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IFVuY2FwaXRhbGl6ZTxTPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb0NhbWVsPFQgZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsPiA9XG4gIFQgZXh0ZW5kcyB1bmRlZmluZWRcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogVCBleHRlbmRzIG51bGxcbiAgICA/IG51bGxcbiAgICA6IFQgZXh0ZW5kcyBBcnJheTxpbmZlciBBcnJheVR5cGU+XG4gICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgID8gQXJyYXk8T2JqZWN0VG9DYW1lbDxBcnJheVR5cGU+PlxuICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgOiBUIGV4dGVuZHMgVWludDhBcnJheVxuICAgID8gVWludDhBcnJheVxuICAgIDoge1xuICAgICAgICBbSyBpbiBrZXlvZiBUIGFzIFRvQ2FtZWw8Sz5dOiBUW0tdIGV4dGVuZHNcbiAgICAgICAgICB8IEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICAgICAgICB8IHVuZGVmaW5lZFxuICAgICAgICAgIHwgbnVsbFxuICAgICAgICAgID8gQXJyYXlUeXBlIGV4dGVuZHMgb2JqZWN0XG4gICAgICAgICAgICA/IEFycmF5PE9iamVjdFRvQ2FtZWw8QXJyYXlUeXBlPj5cbiAgICAgICAgICAgIDogQXJyYXk8QXJyYXlUeXBlPlxuICAgICAgICAgIDogVFtLXSBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGxcbiAgICAgICAgICA/IE9iamVjdFRvQ2FtZWw8VFtLXT5cbiAgICAgICAgICA6IFRbS107XG4gICAgICB9O1xuXG5leHBvcnQgdHlwZSBUb1Bhc2NhbDxTIGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPiA9IFMgZXh0ZW5kcyBzdHJpbmdcbiAgPyBTIGV4dGVuZHMgYCR7aW5mZXIgSGVhZH1fJHtpbmZlciBUYWlsfWBcbiAgICA/IGAke0NhcGl0YWxpemU8VG9DYW1lbDxIZWFkPj59JHtDYXBpdGFsaXplPFRvQ2FtZWw8VGFpbD4+fWBcbiAgICA6IFMgZXh0ZW5kcyBgJHtpbmZlciBIZWFkfS0ke2luZmVyIFRhaWx9YFxuICAgID8gYCR7Q2FwaXRhbGl6ZTxUb0NhbWVsPEhlYWQ+Pn0ke0NhcGl0YWxpemU8VG9DYW1lbDxUYWlsPj59YFxuICAgIDogQ2FwaXRhbGl6ZTxTPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBPYmplY3RUb1Bhc2NhbDxUIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbD4gPVxuICBUIGV4dGVuZHMgdW5kZWZpbmVkXG4gICAgPyB1bmRlZmluZWRcbiAgICA6IFQgZXh0ZW5kcyBudWxsXG4gICAgPyBudWxsXG4gICAgOiBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgQXJyYXlUeXBlPlxuICAgID8gQXJyYXlUeXBlIGV4dGVuZHMgb2JqZWN0XG4gICAgICA/IEFycmF5PE9iamVjdFRvUGFzY2FsPEFycmF5VHlwZT4+XG4gICAgICA6IEFycmF5PEFycmF5VHlwZT5cbiAgICA6IFQgZXh0ZW5kcyBVaW50OEFycmF5XG4gICAgPyBVaW50OEFycmF5XG4gICAgOiB7XG4gICAgICAgIFtLIGluIGtleW9mIFQgYXMgVG9QYXNjYWw8Sz5dOiBUW0tdIGV4dGVuZHNcbiAgICAgICAgICB8IEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICAgICAgICB8IHVuZGVmaW5lZFxuICAgICAgICAgIHwgbnVsbFxuICAgICAgICAgID8gQXJyYXlUeXBlIGV4dGVuZHMgb2JqZWN0XG4gICAgICAgICAgICA/IEFycmF5PE9iamVjdFRvUGFzY2FsPEFycmF5VHlwZT4+XG4gICAgICAgICAgICA6IEFycmF5PEFycmF5VHlwZT5cbiAgICAgICAgICA6IFRbS10gZXh0ZW5kcyBvYmplY3QgfCB1bmRlZmluZWQgfCBudWxsXG4gICAgICAgICAgPyBPYmplY3RUb1Bhc2NhbDxUW0tdPlxuICAgICAgICAgIDogVFtLXTtcbiAgICAgIH07XG5cbmV4cG9ydCB0eXBlIFRvU25ha2U8UyBleHRlbmRzIHN0cmluZyB8IG51bWJlciB8IHN5bWJvbD4gPSBTIGV4dGVuZHMgc3RyaW5nXG4gID8gUyBleHRlbmRzIGAke2luZmVyIEhlYWR9JHtDYXBpdGFsQ2hhcnN9JHtpbmZlciBUYWlsfWAgLy8gc3RyaW5nIGhhcyBhIGNhcGl0YWwgY2hhciBzb21ld2hlcmVcbiAgICA/IEhlYWQgZXh0ZW5kcyAnJyAvLyB0aGVyZSBpcyBhIGNhcGl0YWwgY2hhciBpbiB0aGUgZmlyc3QgcG9zaXRpb25cbiAgICAgID8gVGFpbCBleHRlbmRzICcnXG4gICAgICAgID8gTG93ZXJjYXNlPFM+IC8qICAnQScgKi9cbiAgICAgICAgOiBTIGV4dGVuZHMgYCR7aW5mZXIgQ2Fwc30ke1RhaWx9YCAvLyB0YWlsIGV4aXN0cywgaGFzIGNhcGl0YWwgY2hhcmFjdGVyc1xuICAgICAgICA/IENhcHMgZXh0ZW5kcyBDYXBpdGFsQ2hhcnNcbiAgICAgICAgICA/IFRhaWwgZXh0ZW5kcyBDYXBpdGFsTGV0dGVyc1xuICAgICAgICAgICAgPyBgJHtMb3dlcmNhc2U8Q2Fwcz59XyR7TG93ZXJjYXNlPFRhaWw+fWAgLyogJ0FCJyAqL1xuICAgICAgICAgICAgOiBUYWlsIGV4dGVuZHMgYCR7Q2FwaXRhbExldHRlcnN9JHtzdHJpbmd9YFxuICAgICAgICAgICAgPyBgJHtUb1NuYWtlPENhcHM+fV8ke1RvU25ha2U8VGFpbD59YCAvKiBmaXJzdCB0YWlsIGNoYXIgaXMgdXBwZXI/ICdBQmNkJyAqL1xuICAgICAgICAgICAgOiBgJHtUb1NuYWtlPENhcHM+fSR7VG9TbmFrZTxUYWlsPn1gIC8qICdBYkNEJywnQWJjRCcsICAqLyAvKiBUT0RPOiBpZiB0YWlsIGlzIG9ubHkgbnVtYmVycywgYXBwZW5kIHdpdGhvdXQgdW5kZXJzY29yZSAqL1xuICAgICAgICAgIDogbmV2ZXIgLyogbmV2ZXIgcmVhY2hlZCwgdXNlZCBmb3IgaW5mZXJlbmNlIG9mIGNhcHMgKi9cbiAgICAgICAgOiBuZXZlclxuICAgICAgOiBUYWlsIGV4dGVuZHMgJycgLyogJ2FCJyAnYWJDRCcgJ0FCQ0QnICdBQicgKi9cbiAgICAgID8gUyBleHRlbmRzIGAke0hlYWR9JHtpbmZlciBDYXBzfWBcbiAgICAgICAgPyBDYXBzIGV4dGVuZHMgQ2FwaXRhbENoYXJzXG4gICAgICAgICAgPyBIZWFkIGV4dGVuZHMgTG93ZXJjYXNlPEhlYWQ+IC8qICdhYmNEJyAqL1xuICAgICAgICAgICAgPyBDYXBzIGV4dGVuZHMgTnVtYmVyc1xuICAgICAgICAgICAgICA/IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgICAgIDogYCR7VG9TbmFrZTxIZWFkPn1fJHtUb1NuYWtlPENhcHM+fWAgLyogJ2FiY0QnICdhYmMyNScgKi9cbiAgICAgICAgICAgIDogbmV2ZXIgLyogc3RvcCB1bmlvbiB0eXBlIGZvcm1pbmcgKi9cbiAgICAgICAgICA6IG5ldmVyXG4gICAgICAgIDogbmV2ZXIgLyogbmV2ZXIgcmVhY2hlZCwgdXNlZCBmb3IgaW5mZXJlbmNlIG9mIGNhcHMgKi9cbiAgICAgIDogUyBleHRlbmRzIGAke0hlYWR9JHtpbmZlciBDYXBzfSR7VGFpbH1gIC8qICdhYkNkJyAnQUJDRCcgJ0FiQ2QnICdBQmNEJyAqL1xuICAgICAgPyBDYXBzIGV4dGVuZHMgQ2FwaXRhbENoYXJzXG4gICAgICAgID8gSGVhZCBleHRlbmRzIExvd2VyY2FzZTxIZWFkPiAvKiBpcyAnYWJDZCcgJ2FiQ0QnID8gKi9cbiAgICAgICAgICA/IFRhaWwgZXh0ZW5kcyBDYXBpdGFsTGV0dGVycyAvKiBpcyAnYWJDRCcgd2hlcmUgQ2FwcyA9ICdDJyAqL1xuICAgICAgICAgICAgPyBgJHtUb1NuYWtlPEhlYWQ+fV8ke1RvU25ha2U8Q2Fwcz59XyR7TG93ZXJjYXNlPFRhaWw+fWAgLyogYUJDRCBUYWlsID0gJ0QnLCBIZWFkID0gJ2FCJyAqL1xuICAgICAgICAgICAgOiBUYWlsIGV4dGVuZHMgYCR7Q2FwaXRhbExldHRlcnN9JHtzdHJpbmd9YCAvKiBpcyAnYUJDZCcgd2hlcmUgQ2FwcyA9ICdCJyAqL1xuICAgICAgICAgICAgPyBIZWFkIGV4dGVuZHMgTnVtYmVyc1xuICAgICAgICAgICAgICA/IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgICAgIDogSGVhZCBleHRlbmRzIGAke3N0cmluZ30ke051bWJlcnN9YFxuICAgICAgICAgICAgICA/IG5ldmVyIC8qIHN0b3AgdW5pb24gdHlwZSBmb3JtaW5nICovXG4gICAgICAgICAgICAgIDogYCR7SGVhZH1fJHtUb1NuYWtlPENhcHM+fV8ke1RvU25ha2U8VGFpbD59YCAvKiAnYUJDZCcgPT4gYCR7J2EnfV8ke0xvd2VyY2FzZTwnQic+fV8ke1RvU25ha2U8J0NkJz59YCAqL1xuICAgICAgICAgICAgOiBgJHtUb1NuYWtlPEhlYWQ+fV8ke0xvd2VyY2FzZTxDYXBzPn0ke1RvU25ha2U8VGFpbD59YCAvKiAnYUJjRCcgd2hlcmUgQ2FwcyA9ICdCJyB0YWlsIHN0YXJ0cyBhcyBsb3dlcmNhc2UgKi9cbiAgICAgICAgICA6IG5ldmVyXG4gICAgICAgIDogbmV2ZXJcbiAgICAgIDogbmV2ZXJcbiAgICA6IFMgLyogJ2FiYycgICovXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIE9iamVjdFRvU25ha2U8VCBleHRlbmRzIG9iamVjdCB8IHVuZGVmaW5lZCB8IG51bGw+ID1cbiAgVCBleHRlbmRzIHVuZGVmaW5lZFxuICAgID8gdW5kZWZpbmVkXG4gICAgOiBUIGV4dGVuZHMgbnVsbFxuICAgID8gbnVsbFxuICAgIDogVCBleHRlbmRzIEFycmF5PGluZmVyIEFycmF5VHlwZT5cbiAgICA/IEFycmF5VHlwZSBleHRlbmRzIG9iamVjdFxuICAgICAgPyBBcnJheTxPYmplY3RUb1NuYWtlPEFycmF5VHlwZT4+XG4gICAgICA6IEFycmF5PEFycmF5VHlwZT5cbiAgICA6IFQgZXh0ZW5kcyBVaW50OEFycmF5XG4gICAgPyBVaW50OEFycmF5XG4gICAgOiB7XG4gICAgICAgIFtLIGluIGtleW9mIFQgYXMgVG9TbmFrZTxLPl06IFRbS10gZXh0ZW5kc1xuICAgICAgICAgIHwgQXJyYXk8aW5mZXIgQXJyYXlUeXBlPlxuICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAgICAgfCBudWxsXG4gICAgICAgICAgPyBBcnJheVR5cGUgZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgICAgID8gQXJyYXk8T2JqZWN0VG9TbmFrZTxBcnJheVR5cGU+PlxuICAgICAgICAgICAgOiBBcnJheTxBcnJheVR5cGU+XG4gICAgICAgICAgOiBUW0tdIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkIHwgbnVsbFxuICAgICAgICAgID8gT2JqZWN0VG9TbmFrZTxUW0tdPlxuICAgICAgICAgIDogVFtLXTtcbiAgICAgIH07XG5cbnR5cGUgQ2FwaXRhbExldHRlcnMgPVxuICB8ICdBJ1xuICB8ICdCJ1xuICB8ICdDJ1xuICB8ICdEJ1xuICB8ICdFJ1xuICB8ICdGJ1xuICB8ICdHJ1xuICB8ICdIJ1xuICB8ICdJJ1xuICB8ICdKJ1xuICB8ICdLJ1xuICB8ICdMJ1xuICB8ICdNJ1xuICB8ICdOJ1xuICB8ICdPJ1xuICB8ICdQJ1xuICB8ICdRJ1xuICB8ICdSJ1xuICB8ICdTJ1xuICB8ICdUJ1xuICB8ICdVJ1xuICB8ICdWJ1xuICB8ICdXJ1xuICB8ICdYJ1xuICB8ICdZJ1xuICB8ICdaJztcblxudHlwZSBOdW1iZXJzID0gJzAnIHwgJzEnIHwgJzInIHwgJzMnIHwgJzQnIHwgJzUnIHwgJzYnIHwgJzcnIHwgJzgnIHwgJzknO1xuXG50eXBlIENhcGl0YWxDaGFycyA9IENhcGl0YWxMZXR0ZXJzIHwgTnVtYmVycztcbiJdfQ==
package/package.json CHANGED
@@ -6,23 +6,24 @@
6
6
  "url": "https://github.com/RossWilliams/ts-case-convert.git"
7
7
  },
8
8
  "scripts": {
9
+ "build": "npx projen build",
10
+ "bump": "npx projen bump",
9
11
  "clobber": "npx projen clobber",
10
12
  "compile": "npx projen compile",
11
- "test:compile": "npx projen test:compile",
13
+ "default": "npx projen default",
14
+ "eject": "npx projen eject",
15
+ "eslint": "npx projen eslint",
16
+ "package": "npx projen package",
17
+ "post-compile": "npx projen post-compile",
18
+ "post-upgrade": "npx projen post-upgrade",
19
+ "pre-compile": "npx projen pre-compile",
20
+ "release": "npx projen release",
12
21
  "test": "npx projen test",
13
- "build": "npx projen build",
14
22
  "test:watch": "npx projen test:watch",
15
- "test:update": "npx projen test:update",
16
- "bump": "npx projen bump",
17
23
  "unbump": "npx projen unbump",
18
- "upgrade-dependencies": "npx projen upgrade-dependencies",
19
- "upgrade-projen": "npx projen upgrade-projen",
20
- "default": "npx projen default",
24
+ "upgrade": "npx projen upgrade",
21
25
  "watch": "npx projen watch",
22
- "package": "npx projen package",
23
- "eslint": "npx projen eslint",
24
- "projen": "npx projen",
25
- "start": "npx projen start"
26
+ "projen": "npx projen"
26
27
  },
27
28
  "author": {
28
29
  "name": "Ross Williams",
@@ -30,24 +31,21 @@
30
31
  "organization": "Universal Constructor"
31
32
  },
32
33
  "devDependencies": {
33
- "@types/jest": "^26.0.23",
34
- "@types/node": "^10.17.0",
35
- "@typescript-eslint/eslint-plugin": "^4.28.1",
36
- "@typescript-eslint/parser": "^4.28.1",
37
- "eslint": "^7.29.0",
38
- "eslint-import-resolver-node": "^0.3.4",
39
- "eslint-import-resolver-typescript": "^2.4.0",
40
- "eslint-plugin-import": "^2.23.4",
41
- "jest": "^27.0.6",
42
- "jest-junit": "^12",
43
- "json-schema": "^0.3.0",
44
- "npm-check-updates": "^11",
45
- "projen": "^0.24.17",
34
+ "@types/jest": "^29.5.11",
35
+ "@types/node": "^18",
36
+ "@typescript-eslint/eslint-plugin": "^6",
37
+ "@typescript-eslint/parser": "^6",
38
+ "constructs": "^10.0.0",
39
+ "eslint": "^8",
40
+ "eslint-import-resolver-typescript": "^2.7.1",
41
+ "eslint-plugin-import": "^2.29.0",
42
+ "jest": "^29.7.0",
43
+ "jest-junit": "^15",
44
+ "projen": "^0.77.5",
46
45
  "standard-version": "^9",
47
- "ts-jest": "^27.0.3",
48
- "typescript": "4.3.5"
46
+ "ts-jest": "^29.1.1",
47
+ "typescript": "4.9.5"
49
48
  },
50
- "bundledDependencies": [],
51
49
  "keywords": [
52
50
  "PascalCase",
53
51
  "camel-case",
@@ -60,46 +58,7 @@
60
58
  ],
61
59
  "main": "lib/index.js",
62
60
  "license": "Apache-2.0",
63
- "version": "2.0.1",
64
- "jest": {
65
- "testMatch": [
66
- "**/__tests__/**/*.ts?(x)",
67
- "**/?(*.)+(spec|test).ts?(x)"
68
- ],
69
- "clearMocks": true,
70
- "collectCoverage": true,
71
- "coverageReporters": [
72
- "json",
73
- "lcov",
74
- "clover",
75
- "text"
76
- ],
77
- "coverageDirectory": "coverage",
78
- "coveragePathIgnorePatterns": [
79
- "/node_modules/"
80
- ],
81
- "testPathIgnorePatterns": [
82
- "/node_modules/"
83
- ],
84
- "watchPathIgnorePatterns": [
85
- "/node_modules/"
86
- ],
87
- "reporters": [
88
- "default",
89
- [
90
- "jest-junit",
91
- {
92
- "outputDirectory": "test-reports"
93
- }
94
- ]
95
- ],
96
- "preset": "ts-jest",
97
- "globals": {
98
- "ts-jest": {
99
- "tsconfig": "tsconfig.jest.json"
100
- }
101
- }
102
- },
61
+ "version": "2.0.4",
103
62
  "types": "lib/index.d.ts",
104
63
  "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
105
- }
64
+ }