jsii-diff 1.59.0 → 1.60.0

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.
@@ -2,14 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const util_1 = require("./util");
4
4
  // ----------------------------------------------------------------------
5
- test('okay to add a new class', () => util_1.expectNoError(`
5
+ test('okay to add a new class', () => (0, util_1.expectNoError)(`
6
6
  export class Foo1 { }
7
7
  `, `
8
8
  export class Foo1 { }
9
9
  export class Foo2 { }
10
10
  `));
11
11
  // ----------------------------------------------------------------------
12
- test('okay to add a new function to a class', () => util_1.expectNoError(`
12
+ test('okay to add a new function to a class', () => (0, util_1.expectNoError)(`
13
13
  export class Foo { }
14
14
  `, `
15
15
  export class Foo {
@@ -17,7 +17,7 @@ test('okay to add a new function to a class', () => util_1.expectNoError(`
17
17
  }
18
18
  `));
19
19
  // ----------------------------------------------------------------------
20
- test('not okay to add a required argument to a method', () => util_1.expectError(/newly required argument/, `
20
+ test('not okay to add a required argument to a method', () => (0, util_1.expectError)(/newly required argument/, `
21
21
  export class Foo {
22
22
  public bar(arg1: string): void {
23
23
  Array.isArray(arg1);
@@ -32,7 +32,7 @@ test('not okay to add a required argument to a method', () => util_1.expectError
32
32
  }
33
33
  `));
34
34
  // ----------------------------------------------------------------------
35
- test('okay to make a required argument optional', () => util_1.expectNoError(`
35
+ test('okay to make a required argument optional', () => (0, util_1.expectNoError)(`
36
36
  export class Foo {
37
37
  public bar(arg1: string, arg2: string): void {
38
38
  Array.isArray(arg1);
@@ -48,7 +48,7 @@ test('okay to make a required argument optional', () => util_1.expectNoError(`
48
48
  }
49
49
  `));
50
50
  // ----------------------------------------------------------------------
51
- test('okay to turn required arguments into varargs', () => util_1.expectNoError(`
51
+ test('okay to turn required arguments into varargs', () => (0, util_1.expectNoError)(`
52
52
  export class Foo {
53
53
  public bar(arg1: string, arg2: number, arg3: number): void {
54
54
  Array.isArray(arg1);
@@ -65,7 +65,7 @@ test('okay to turn required arguments into varargs', () => util_1.expectNoError(
65
65
  }
66
66
  `));
67
67
  // ----------------------------------------------------------------------
68
- test('not allowed to change argument type to a different scalar', () => util_1.expectError(/method.*foo.*argument arg1, takes number \(formerly string\): string is not assignable to number/i, `
68
+ test('not allowed to change argument type to a different scalar', () => (0, util_1.expectError)(/method.*foo.*argument arg1, takes number \(formerly string\): string is not assignable to number/i, `
69
69
  export class Foo {
70
70
  public bar(arg1: string): void {
71
71
  Array.isArray(arg1);
@@ -79,7 +79,7 @@ test('not allowed to change argument type to a different scalar', () => util_1.e
79
79
  }
80
80
  `));
81
81
  // ----------------------------------------------------------------------
82
- test('cannot add any abstract members to a subclassable class', () => util_1.expectError(/adds requirement for subclasses to implement 'piet'./, `
82
+ test('cannot add any abstract members to a subclassable class', () => (0, util_1.expectError)(/adds requirement for subclasses to implement 'piet'./, `
83
83
  /**
84
84
  * @subclassable
85
85
  */
@@ -96,7 +96,7 @@ test('cannot add any abstract members to a subclassable class', () => util_1.exp
96
96
  }
97
97
  `));
98
98
  // ----------------------------------------------------------------------
99
- test('cannot add any members to a subclassable interface, not even optional ones', () => util_1.expectError(/adds requirement for subclasses to implement 'piet'./, `
99
+ test('cannot add any members to a subclassable interface, not even optional ones', () => (0, util_1.expectError)(/adds requirement for subclasses to implement 'piet'./, `
100
100
  /**
101
101
  * @subclassable
102
102
  */
@@ -113,7 +113,7 @@ test('cannot add any members to a subclassable interface, not even optional ones
113
113
  }
114
114
  `));
115
115
  // ----------------------------------------------------------------------
116
- test('cannot make a member less visible', () => util_1.expectError(/changed from 'public' to 'protected'/, `
116
+ test('cannot make a member less visible', () => (0, util_1.expectError)(/changed from 'public' to 'protected'/, `
117
117
  export class Henk {
118
118
  public name: string = 'henk';
119
119
  }
@@ -124,7 +124,7 @@ test('cannot make a member less visible', () => util_1.expectError(/changed from
124
124
  `));
125
125
  // ----------------------------------------------------------------------
126
126
  describe('implement base types need to be present in updated type system', () => {
127
- test('for interfaces', () => util_1.expectError(/not assignable to all base types anymore/, `
127
+ test('for interfaces', () => (0, util_1.expectError)(/not assignable to all base types anymore/, `
128
128
  export interface IPapa {
129
129
  readonly pipe: string;
130
130
  }
@@ -141,7 +141,7 @@ describe('implement base types need to be present in updated type system', () =>
141
141
  readonly pacifier: string;
142
142
  }
143
143
  `));
144
- test('for structs', () => util_1.expectError(/not assignable to all base types anymore/, `
144
+ test('for structs', () => (0, util_1.expectError)(/not assignable to all base types anymore/, `
145
145
  export interface Papa {
146
146
  readonly pipe: string;
147
147
  }
@@ -158,7 +158,7 @@ describe('implement base types need to be present in updated type system', () =>
158
158
  readonly pacifier: string;
159
159
  }
160
160
  `));
161
- test('for classes', () => util_1.expectError(/not assignable to all base types anymore/, `
161
+ test('for classes', () => (0, util_1.expectError)(/not assignable to all base types anymore/, `
162
162
  export interface IPapa {
163
163
  readonly pipe: string;
164
164
  }
@@ -177,7 +177,7 @@ describe('implement base types need to be present in updated type system', () =>
177
177
  readonly pacifier: string = 'mmm';
178
178
  }
179
179
  `));
180
- test('for base classes', () => util_1.expectError(/not assignable to all base types anymore/, `
180
+ test('for base classes', () => (0, util_1.expectError)(/not assignable to all base types anymore/, `
181
181
  export class Papa {
182
182
  readonly pipe: string = 'pff';
183
183
  }
@@ -194,7 +194,7 @@ describe('implement base types need to be present in updated type system', () =>
194
194
  readonly pacifier: string = 'mmm';
195
195
  }
196
196
  `));
197
- test('new levels of inheritance are allowed', () => util_1.expectNoError(`
197
+ test('new levels of inheritance are allowed', () => (0, util_1.expectNoError)(`
198
198
  export class Papa {
199
199
  readonly pipe: string = 'pff';
200
200
  }
@@ -214,7 +214,7 @@ describe('implement base types need to be present in updated type system', () =>
214
214
  readonly pacifier: string = 'mmm';
215
215
  }
216
216
  `));
217
- test('change direct implementation to inherited implementation via interface', () => util_1.expectNoError(`
217
+ test('change direct implementation to inherited implementation via interface', () => (0, util_1.expectNoError)(`
218
218
  export interface IPapa {
219
219
  readonly pipe: string;
220
220
  }
@@ -236,7 +236,7 @@ describe('implement base types need to be present in updated type system', () =>
236
236
  readonly pacifier: string = 'mmm';
237
237
  }
238
238
  `));
239
- test('change direct implementation to inherited implementation via base class', () => util_1.expectNoError(`
239
+ test('change direct implementation to inherited implementation via base class', () => (0, util_1.expectNoError)(`
240
240
  export interface IPapa {
241
241
  readonly pipe: string;
242
242
  }
@@ -269,7 +269,7 @@ test.each([
269
269
  {
270
270
  oldDecl: 'name?: string',
271
271
  newDecl: 'name: string',
272
- error: undefined,
272
+ error: undefined, // Strengthening is okay
273
273
  },
274
274
  {
275
275
  oldDecl: 'name: string',
@@ -279,9 +279,9 @@ test.each([
279
279
  {
280
280
  oldDecl: 'name: string | number',
281
281
  newDecl: 'name: string',
282
- error: undefined,
282
+ error: undefined, // Strengthening is okay
283
283
  },
284
- ])('change class property ', ({ oldDecl, newDecl, error }) => util_1.expectError(error, `
284
+ ])('change class property ', ({ oldDecl, newDecl, error }) => (0, util_1.expectError)(error, `
285
285
  export class Henk {
286
286
  public readonly ${oldDecl} = 'henk';
287
287
  }
@@ -312,7 +312,7 @@ test.each([
312
312
  newDecl: 'name: string',
313
313
  error: /changed to string \(formerly string \| number\)/,
314
314
  },
315
- ])('cannot change a mutable class property type: %p to %p', ({ oldDecl, newDecl, error }) => util_1.expectError(error, `
315
+ ])('cannot change a mutable class property type: %p to %p', ({ oldDecl, newDecl, error }) => (0, util_1.expectError)(error, `
316
316
  export class Henk {
317
317
  public ${oldDecl} = 'henk';
318
318
  }
@@ -322,7 +322,7 @@ test.each([
322
322
  }
323
323
  `));
324
324
  // ----------------------------------------------------------------------
325
- test('consider inherited constructor', () => util_1.expectError(/number is not assignable to string/, `
325
+ test('consider inherited constructor', () => (0, util_1.expectError)(/number is not assignable to string/, `
326
326
  export class Super {
327
327
  constructor(param: number) {
328
328
  Array.isArray(param);
@@ -344,7 +344,7 @@ test('consider inherited constructor', () => util_1.expectError(/number is not a
344
344
  }
345
345
  `));
346
346
  // ----------------------------------------------------------------------
347
- test('consider inherited constructor, the other way', () => util_1.expectError(/newly required argument/, `
347
+ test('consider inherited constructor, the other way', () => (0, util_1.expectError)(/newly required argument/, `
348
348
  export class Super {
349
349
  constructor(param: number) {
350
350
  Array.isArray(param);
@@ -365,7 +365,7 @@ test('consider inherited constructor, the other way', () => util_1.expectError(/
365
365
  }
366
366
  `));
367
367
  // ----------------------------------------------------------------------
368
- test('method can be moved to supertype', () => util_1.expectNoError(`
368
+ test('method can be moved to supertype', () => (0, util_1.expectNoError)(`
369
369
  export class Super {
370
370
  }
371
371
  export class Sub extends Super {
@@ -383,7 +383,7 @@ test('method can be moved to supertype', () => util_1.expectNoError(`
383
383
  }
384
384
  `));
385
385
  // ----------------------------------------------------------------------
386
- test('property can be moved to supertype', () => util_1.expectNoError(`
386
+ test('property can be moved to supertype', () => (0, util_1.expectNoError)(`
387
387
  export class Super {
388
388
  }
389
389
  export class Sub extends Super {
@@ -397,7 +397,7 @@ test('property can be moved to supertype', () => util_1.expectNoError(`
397
397
  }
398
398
  `));
399
399
  // ----------------------------------------------------------------------
400
- test('subclassable is forever', () => util_1.expectError(/has gone from @subclassable to non-@subclassable/, `
400
+ test('subclassable is forever', () => (0, util_1.expectError)(/has gone from @subclassable to non-@subclassable/, `
401
401
  /**
402
402
  * @subclassable
403
403
  */
@@ -408,7 +408,7 @@ test('subclassable is forever', () => util_1.expectError(/has gone from @subclas
408
408
  }
409
409
  `));
410
410
  // ----------------------------------------------------------------------
411
- test('change from method to property', () => util_1.expectError(/changed from method to property/, `
411
+ test('change from method to property', () => (0, util_1.expectError)(/changed from method to property/, `
412
412
  export class Boom {
413
413
  public foo() { return 12; }
414
414
  }
@@ -418,7 +418,7 @@ test('change from method to property', () => util_1.expectError(/changed from me
418
418
  }
419
419
  `));
420
420
  // ----------------------------------------------------------------------
421
- test('change from method with arguments to property', () => util_1.expectError(/changed from method to property/, `
421
+ test('change from method with arguments to property', () => (0, util_1.expectError)(/changed from method to property/, `
422
422
  export class Boom {
423
423
  public foo(arg: number) { return 12 * arg; }
424
424
  }
@@ -428,7 +428,7 @@ test('change from method with arguments to property', () => util_1.expectError(/
428
428
  }
429
429
  `));
430
430
  // ----------------------------------------------------------------------
431
- test('change from property to method', () => util_1.expectError(/changed from property to method/, `
431
+ test('change from property to method', () => (0, util_1.expectError)(/changed from property to method/, `
432
432
  export class Boom {
433
433
  public get foo() { return 12; }
434
434
  }
@@ -451,7 +451,7 @@ test.each([
451
451
  oldDecl: 'readonly foo: string = "x";',
452
452
  newDecl: 'readonly foo: string | number = "x";',
453
453
  },
454
- ])('cannot change any type in @subclassable class: %p to %p', ({ oldDecl, newDecl }) => util_1.expectError(/type is @subclassable/, `
454
+ ])('cannot change any type in @subclassable class: %p to %p', ({ oldDecl, newDecl }) => (0, util_1.expectError)(/type is @subclassable/, `
455
455
  /** @subclassable */
456
456
  export class Boom {
457
457
  public ${oldDecl}
@@ -473,7 +473,7 @@ test.each([
473
473
  oldDecl: 'readonly foo: string;',
474
474
  newDecl: 'readonly foo: string | number;',
475
475
  },
476
- ])('cannot change any type in @subclassable interface: %p to %p', ({ oldDecl, newDecl }) => util_1.expectError(/type is @subclassable/, `
476
+ ])('cannot change any type in @subclassable interface: %p to %p', ({ oldDecl, newDecl }) => (0, util_1.expectError)(/type is @subclassable/, `
477
477
  /** @subclassable */
478
478
  export interface IBoom {
479
479
  ${oldDecl}
@@ -494,7 +494,7 @@ test.each([
494
494
  // Input type => can NOT add field
495
495
  ['foo: TheStruct;', false],
496
496
  ['foo(arg: TheStruct): void', false],
497
- ])('add required field to structs: refencing via %p -> allowed %p', (usageDecl, allowed) => util_1.expectError(allowed ? undefined : /newly required property 'fieldTwo' added/, `
497
+ ])('add required field to structs: refencing via %p -> allowed %p', (usageDecl, allowed) => (0, util_1.expectError)(allowed ? undefined : /newly required property 'fieldTwo' added/, `
498
498
  export interface TheStruct {
499
499
  readonly fieldOne: string;
500
500
  }
@@ -522,7 +522,7 @@ test.each([
522
522
  ['foo: TheStruct;', false],
523
523
  // Input type => can make optional
524
524
  ['foo(arg: TheStruct): void', true],
525
- ])('make required field optional: refencing via %p -> allowed %p', (usageDecl, allowed) => util_1.expectError(allowed ? undefined : /formerly required property 'fieldOne' is optional/, `
525
+ ])('make required field optional: refencing via %p -> allowed %p', (usageDecl, allowed) => (0, util_1.expectError)(allowed ? undefined : /formerly required property 'fieldOne' is optional/, `
526
526
  export interface TheStruct {
527
527
  readonly fieldOne: string;
528
528
  }
@@ -539,4 +539,4 @@ test.each([
539
539
  ${usageDecl}
540
540
  }
541
541
  `));
542
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2xhc3Nlcy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUNBQW9EO0FBRXBELHlFQUF5RTtBQUV6RSxJQUFJLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLENBQ25DLG9CQUFhLENBQ1g7O0dBRUQsRUFDQzs7O0dBR0QsQ0FDQSxDQUFDLENBQUM7QUFFTCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsRUFBRSxDQUNqRCxvQkFBYSxDQUNYOztHQUVELEVBQ0M7Ozs7R0FJRCxDQUNBLENBQUMsQ0FBQztBQUVMLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsaURBQWlELEVBQUUsR0FBRyxFQUFFLENBQzNELGtCQUFXLENBQ1QseUJBQXlCLEVBQ3pCOzs7Ozs7R0FNRCxFQUNDOzs7Ozs7O0dBT0QsQ0FDQSxDQUFDLENBQUM7QUFFTCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsRUFBRSxDQUNyRCxvQkFBYSxDQUNYOzs7Ozs7O0dBT0QsRUFDQzs7Ozs7OztHQU9ELENBQ0EsQ0FBQyxDQUFDO0FBRUwseUVBQXlFO0FBRXpFLElBQUksQ0FBQyw4Q0FBOEMsRUFBRSxHQUFHLEVBQUUsQ0FDeEQsb0JBQWEsQ0FDWDs7Ozs7Ozs7R0FRRCxFQUNDOzs7Ozs7O0dBT0QsQ0FDQSxDQUFDLENBQUM7QUFFTCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLDJEQUEyRCxFQUFFLEdBQUcsRUFBRSxDQUNyRSxrQkFBVyxDQUNULG1HQUFtRyxFQUNuRzs7Ozs7O0dBTUQsRUFDQzs7Ozs7O0dBTUQsQ0FDQSxDQUFDLENBQUM7QUFFTCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRSxDQUNuRSxrQkFBVyxDQUNULHNEQUFzRCxFQUN0RDs7Ozs7OztHQU9ELEVBQ0M7Ozs7Ozs7O0dBUUQsQ0FDQSxDQUFDLENBQUM7QUFFTCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLDRFQUE0RSxFQUFFLEdBQUcsRUFBRSxDQUN0RixrQkFBVyxDQUNULHNEQUFzRCxFQUN0RDs7Ozs7OztHQU9ELEVBQ0M7Ozs7Ozs7O0dBUUQsQ0FDQSxDQUFDLENBQUM7QUFFTCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLG1DQUFtQyxFQUFFLEdBQUcsRUFBRSxDQUM3QyxrQkFBVyxDQUNULHNDQUFzQyxFQUN0Qzs7OztHQUlELEVBQ0M7Ozs7R0FJRCxDQUNBLENBQUMsQ0FBQztBQUVMLHlFQUF5RTtBQUV6RSxRQUFRLENBQUMsZ0VBQWdFLEVBQUUsR0FBRyxFQUFFO0lBQzlFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FDMUIsa0JBQVcsQ0FDVCwwQ0FBMEMsRUFDMUM7Ozs7Ozs7O0tBUUQsRUFDQzs7Ozs7Ozs7S0FRRCxDQUNBLENBQUMsQ0FBQztJQUVMLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ3ZCLGtCQUFXLENBQ1QsMENBQTBDLEVBQzFDOzs7Ozs7OztLQVFELEVBQ0M7Ozs7Ozs7O0tBUUQsQ0FDQSxDQUFDLENBQUM7SUFFTCxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUN2QixrQkFBVyxDQUNULDBDQUEwQyxFQUMxQzs7Ozs7Ozs7O0tBU0QsRUFDQzs7Ozs7Ozs7O0tBU0QsQ0FDQSxDQUFDLENBQUM7SUFFTCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFLENBQzVCLGtCQUFXLENBQ1QsMENBQTBDLEVBQzFDOzs7Ozs7OztLQVFELEVBQ0M7Ozs7Ozs7O0tBUUQsQ0FDQSxDQUFDLENBQUM7SUFFTCxJQUFJLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxFQUFFLENBQ2pELG9CQUFhLENBQ1g7Ozs7Ozs7O0tBUUQsRUFDQzs7Ozs7Ozs7Ozs7S0FXRCxDQUNBLENBQUMsQ0FBQztJQUVMLElBQUksQ0FBQyx3RUFBd0UsRUFBRSxHQUFHLEVBQUUsQ0FDbEYsb0JBQWEsQ0FDWDs7Ozs7Ozs7O0tBU0QsRUFDQzs7Ozs7Ozs7Ozs7O0tBWUQsQ0FDQSxDQUFDLENBQUM7SUFFTCxJQUFJLENBQUMseUVBQXlFLEVBQUUsR0FBRyxFQUFFLENBQ25GLG9CQUFhLENBQ1g7Ozs7Ozs7OztLQVNELEVBQ0M7Ozs7Ozs7Ozs7OztLQVlELENBQ0EsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUM7QUFFSCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNSO1FBQ0UsT0FBTyxFQUFFLGNBQWM7UUFDdkIsT0FBTyxFQUFFLGVBQWU7UUFDeEIsS0FBSyxFQUNILHdFQUF3RTtLQUMzRTtJQUNEO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsT0FBTyxFQUFFLGNBQWM7UUFDdkIsS0FBSyxFQUFFLFNBQVM7S0FDakI7SUFDRDtRQUNFLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsS0FBSyxFQUFFLDhDQUE4QztLQUN0RDtJQUNEO1FBQ0UsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxPQUFPLEVBQUUsY0FBYztRQUN2QixLQUFLLEVBQUUsU0FBUztLQUNqQjtDQUNGLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQzNELGtCQUFXLENBQ1QsS0FBSyxFQUNMOzt3QkFFb0IsT0FBTzs7R0FFNUIsRUFDQzs7d0JBRW9CLE9BQU87O0dBRTVCLENBQ0EsQ0FDRixDQUFDO0FBRUYseUVBQXlFO0FBRXpFLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDUjtRQUNFLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLEtBQUssRUFBRSxpREFBaUQ7S0FDekQ7SUFDRDtRQUNFLE9BQU8sRUFBRSxlQUFlO1FBQ3hCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLEtBQUssRUFBRSxpREFBaUQ7S0FDekQ7SUFDRDtRQUNFLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsS0FBSyxFQUFFLGlEQUFpRDtLQUN6RDtJQUNEO1FBQ0UsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxPQUFPLEVBQUUsY0FBYztRQUN2QixLQUFLLEVBQUUsaURBQWlEO0tBQ3pEO0NBQ0YsQ0FBQyxDQUNBLHVEQUF1RCxFQUN2RCxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQzlCLGtCQUFXLENBQ1QsS0FBSyxFQUNMOztpQkFFVyxPQUFPOztLQUVuQixFQUNDOztpQkFFVyxPQUFPOztLQUVuQixDQUNBLENBQ0osQ0FBQztBQUVGLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFLENBQzFDLGtCQUFXLENBQ1Qsb0NBQW9DLEVBQ3BDOzs7Ozs7OztHQVFELEVBQ0M7Ozs7Ozs7Ozs7OztHQVlELENBQ0EsQ0FBQyxDQUFDO0FBRUwseUVBQXlFO0FBRXpFLElBQUksQ0FBQywrQ0FBK0MsRUFBRSxHQUFHLEVBQUUsQ0FDekQsa0JBQVcsQ0FDVCx5QkFBeUIsRUFDekI7Ozs7Ozs7Ozs7O0dBV0QsRUFDQzs7Ozs7Ozs7R0FRRCxDQUNBLENBQUMsQ0FBQztBQUVMLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFLENBQzVDLG9CQUFhLENBQ1g7Ozs7Ozs7O0dBUUQsRUFDQzs7Ozs7Ozs7R0FRRCxDQUNBLENBQUMsQ0FBQztBQUVMLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsb0NBQW9DLEVBQUUsR0FBRyxFQUFFLENBQzlDLG9CQUFhLENBQ1g7Ozs7OztHQU1ELEVBQ0M7Ozs7OztHQU1ELENBQ0EsQ0FBQyxDQUFDO0FBRUwseUVBQXlFO0FBRXpFLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FDbkMsa0JBQVcsQ0FDVCxrREFBa0QsRUFDbEQ7Ozs7OztHQU1ELEVBQ0M7OztHQUdELENBQ0EsQ0FBQyxDQUFDO0FBRUwseUVBQXlFO0FBRXpFLElBQUksQ0FBQyxnQ0FBZ0MsRUFBRSxHQUFHLEVBQUUsQ0FDMUMsa0JBQVcsQ0FDVCxpQ0FBaUMsRUFDakM7Ozs7S0FJQyxFQUNEOzs7O0tBSUMsQ0FDRixDQUFDLENBQUM7QUFFTCx5RUFBeUU7QUFFekUsSUFBSSxDQUFDLCtDQUErQyxFQUFFLEdBQUcsRUFBRSxDQUN6RCxrQkFBVyxDQUNULGlDQUFpQyxFQUNqQzs7OztLQUlDLEVBQ0Q7Ozs7S0FJQyxDQUNGLENBQUMsQ0FBQztBQUVMLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsZ0NBQWdDLEVBQUUsR0FBRyxFQUFFLENBQzFDLGtCQUFXLENBQ1QsaUNBQWlDLEVBQ2pDOzs7O0tBSUMsRUFDRDs7OztLQUlDLENBQ0YsQ0FBQyxDQUFDO0FBRUwseUVBQXlFO0FBRXpFLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDUjtRQUNFLE9BQU8sRUFBRSwwQ0FBMEM7UUFDbkQsT0FBTyxFQUFFLG1EQUFtRDtLQUM3RDtJQUNEO1FBQ0UsT0FBTyxFQUFFLCtCQUErQjtRQUN4QyxPQUFPLEVBQUUsd0NBQXdDO0tBQ2xEO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsNkJBQTZCO1FBQ3RDLE9BQU8sRUFBRSxzQ0FBc0M7S0FDaEQ7Q0FDRixDQUFDLENBQ0EseURBQXlELEVBQ3pELENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUN2QixrQkFBVyxDQUNULHVCQUF1QixFQUN2Qjs7O2lCQUdXLE9BQU87O09BRWpCLEVBQ0Q7OztpQkFHVyxPQUFPOztPQUVqQixDQUNGLENBQ0osQ0FBQztBQUVGLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ1I7UUFDRSxPQUFPLEVBQUUseUJBQXlCO1FBQ2xDLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUU7SUFDakU7UUFDRSxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLE9BQU8sRUFBRSxnQ0FBZ0M7S0FDMUM7Q0FDRixDQUFDLENBQ0EsNkRBQTZELEVBQzdELENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUN2QixrQkFBVyxDQUNULHVCQUF1QixFQUN2Qjs7O1VBR0ksT0FBTzs7T0FFVixFQUNEOzs7VUFHSSxPQUFPOztPQUVWLENBQ0YsQ0FDSixDQUFDO0FBRUYseUVBQXlFO0FBRXpFLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDUiw0QkFBNEI7SUFDNUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDO0lBQ1YsK0JBQStCO0lBQy9CLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDO0lBQzNCLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDO0lBQ2xDLGtDQUFrQztJQUNsQyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQztJQUMxQixDQUFDLDJCQUEyQixFQUFFLEtBQUssQ0FBQztDQUNyQyxDQUFDLENBQ0EsK0RBQStELEVBQy9ELENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQ3JCLGtCQUFXLENBQ1QsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLDBDQUEwQyxFQUNoRTs7Ozs7O1VBTUksU0FBUzs7T0FFWixFQUNEOzs7Ozs7O1VBT0ksU0FBUzs7T0FFWixDQUNGLENBQ0osQ0FBQztBQUVGLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ1IsNEJBQTRCO0lBQzVCLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQztJQUNWLDRDQUE0QztJQUM1QyxDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQztJQUM1QixDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQztJQUNuQyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQztJQUMxQixrQ0FBa0M7SUFDbEMsQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUM7Q0FDcEMsQ0FBQyxDQUNBLDhEQUE4RCxFQUM5RCxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUNyQixrQkFBVyxDQUNULE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtREFBbUQsRUFDekU7Ozs7OztVQU1JLFNBQVM7O09BRVosRUFDRDs7Ozs7O1VBTUksU0FBUzs7T0FFWixDQUNGLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdEVycm9yLCBleHBlY3ROb0Vycm9yIH0gZnJvbSAnLi91dGlsJztcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50ZXN0KCdva2F5IHRvIGFkZCBhIG5ldyBjbGFzcycsICgpID0+XG4gIGV4cGVjdE5vRXJyb3IoXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28xIHsgfVxuICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgRm9vMSB7IH1cbiAgICBleHBvcnQgY2xhc3MgRm9vMiB7IH1cbiAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnb2theSB0byBhZGQgYSBuZXcgZnVuY3Rpb24gdG8gYSBjbGFzcycsICgpID0+XG4gIGV4cGVjdE5vRXJyb3IoXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28geyB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28ge1xuICAgICAgcHVibGljIGJhcigpOiB2b2lkIHsgfVxuICAgIH1cbiAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnbm90IG9rYXkgdG8gYWRkIGEgcmVxdWlyZWQgYXJndW1lbnQgdG8gYSBtZXRob2QnLCAoKSA9PlxuICBleHBlY3RFcnJvcihcbiAgICAvbmV3bHkgcmVxdWlyZWQgYXJndW1lbnQvLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgRm9vIHtcbiAgICAgIHB1YmxpYyBiYXIoYXJnMTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMSk7XG4gICAgICB9XG4gICAgfVxuICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgRm9vIHtcbiAgICAgIHB1YmxpYyBiYXIoYXJnMTogc3RyaW5nLCBhcmcyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgQXJyYXkuaXNBcnJheShhcmcxKTtcbiAgICAgICAgQXJyYXkuaXNBcnJheShhcmcyKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gICkpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRlc3QoJ29rYXkgdG8gbWFrZSBhIHJlcXVpcmVkIGFyZ3VtZW50IG9wdGlvbmFsJywgKCkgPT5cbiAgZXhwZWN0Tm9FcnJvcihcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIEZvbyB7XG4gICAgICBwdWJsaWMgYmFyKGFyZzE6IHN0cmluZywgYXJnMjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMSk7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMik7XG4gICAgICB9XG4gICAgfVxuICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgRm9vIHtcbiAgICAgIHB1YmxpYyBiYXIoYXJnMTogc3RyaW5nLCBhcmcyPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMSk7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMik7XG4gICAgICB9XG4gICAgfVxuICBgLFxuICApKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50ZXN0KCdva2F5IHRvIHR1cm4gcmVxdWlyZWQgYXJndW1lbnRzIGludG8gdmFyYXJncycsICgpID0+XG4gIGV4cGVjdE5vRXJyb3IoXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28ge1xuICAgICAgcHVibGljIGJhcihhcmcxOiBzdHJpbmcsIGFyZzI6IG51bWJlciwgYXJnMzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMSk7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMik7XG4gICAgICAgIEFycmF5LmlzQXJyYXkoYXJnMyk7XG4gICAgICB9XG4gICAgfVxuICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgRm9vIHtcbiAgICAgIHB1YmxpYyBiYXIoYXJnMTogc3RyaW5nLCAuLi5hcmdzOiBudW1iZXJbXSk6IHZvaWQge1xuICAgICAgICBBcnJheS5pc0FycmF5KGFyZzEpO1xuICAgICAgICBBcnJheS5pc0FycmF5KGFyZ3MpO1xuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnbm90IGFsbG93ZWQgdG8gY2hhbmdlIGFyZ3VtZW50IHR5cGUgdG8gYSBkaWZmZXJlbnQgc2NhbGFyJywgKCkgPT5cbiAgZXhwZWN0RXJyb3IoXG4gICAgL21ldGhvZC4qZm9vLiphcmd1bWVudCBhcmcxLCB0YWtlcyBudW1iZXIgXFwoZm9ybWVybHkgc3RyaW5nXFwpOiBzdHJpbmcgaXMgbm90IGFzc2lnbmFibGUgdG8gbnVtYmVyL2ksXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28ge1xuICAgICAgcHVibGljIGJhcihhcmcxOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgQXJyYXkuaXNBcnJheShhcmcxKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28ge1xuICAgICAgcHVibGljIGJhcihhcmcxOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgQXJyYXkuaXNBcnJheShhcmcxKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gICkpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRlc3QoJ2Nhbm5vdCBhZGQgYW55IGFic3RyYWN0IG1lbWJlcnMgdG8gYSBzdWJjbGFzc2FibGUgY2xhc3MnLCAoKSA9PlxuICBleHBlY3RFcnJvcihcbiAgICAvYWRkcyByZXF1aXJlbWVudCBmb3Igc3ViY2xhc3NlcyB0byBpbXBsZW1lbnQgJ3BpZXQnLi8sXG4gICAgYFxuICAgIC8qKlxuICAgICAqIEBzdWJjbGFzc2FibGVcbiAgICAgKi9cbiAgICBleHBvcnQgYWJzdHJhY3QgY2xhc3MgSGVuayB7XG4gICAgICBhYnN0cmFjdCByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgfVxuICBgLFxuICAgIGBcbiAgICAvKipcbiAgICAgKiBAc3ViY2xhc3NhYmxlXG4gICAgICovXG4gICAgZXhwb3J0IGFic3RyYWN0IGNsYXNzIEhlbmsge1xuICAgICAgYWJzdHJhY3QgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAgICAgYWJzdHJhY3QgcmVhZG9ubHkgcGlldDogc3RyaW5nO1xuICAgIH1cbiAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnY2Fubm90IGFkZCBhbnkgbWVtYmVycyB0byBhIHN1YmNsYXNzYWJsZSBpbnRlcmZhY2UsIG5vdCBldmVuIG9wdGlvbmFsIG9uZXMnLCAoKSA9PlxuICBleHBlY3RFcnJvcihcbiAgICAvYWRkcyByZXF1aXJlbWVudCBmb3Igc3ViY2xhc3NlcyB0byBpbXBsZW1lbnQgJ3BpZXQnLi8sXG4gICAgYFxuICAgIC8qKlxuICAgICAqIEBzdWJjbGFzc2FibGVcbiAgICAgKi9cbiAgICBleHBvcnQgaW50ZXJmYWNlIElIZW5rIHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICB9XG4gIGAsXG4gICAgYFxuICAgIC8qKlxuICAgICAqIEBzdWJjbGFzc2FibGVcbiAgICAgKi9cbiAgICBleHBvcnQgaW50ZXJmYWNlIElIZW5rIHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIHBpZXQ/OiBzdHJpbmc7XG4gICAgfVxuICBgLFxuICApKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50ZXN0KCdjYW5ub3QgbWFrZSBhIG1lbWJlciBsZXNzIHZpc2libGUnLCAoKSA9PlxuICBleHBlY3RFcnJvcihcbiAgICAvY2hhbmdlZCBmcm9tICdwdWJsaWMnIHRvICdwcm90ZWN0ZWQnLyxcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIEhlbmsge1xuICAgICAgcHVibGljIG5hbWU6IHN0cmluZyA9ICdoZW5rJztcbiAgICB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBIZW5rIHtcbiAgICAgIHByb3RlY3RlZCBuYW1lOiBzdHJpbmcgPSAnaGVuayc7XG4gICAgfVxuICBgLFxuICApKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5kZXNjcmliZSgnaW1wbGVtZW50IGJhc2UgdHlwZXMgbmVlZCB0byBiZSBwcmVzZW50IGluIHVwZGF0ZWQgdHlwZSBzeXN0ZW0nLCAoKSA9PiB7XG4gIHRlc3QoJ2ZvciBpbnRlcmZhY2VzJywgKCkgPT5cbiAgICBleHBlY3RFcnJvcihcbiAgICAgIC9ub3QgYXNzaWduYWJsZSB0byBhbGwgYmFzZSB0eXBlcyBhbnltb3JlLyxcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSVBhcGEge1xuICAgICAgICByZWFkb25seSBwaXBlOiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSUJlYmUgZXh0ZW5kcyBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBhY2lmaWVyOiBzdHJpbmc7XG4gICAgICB9XG4gICAgYCxcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSVBhcGEge1xuICAgICAgICByZWFkb25seSBwaXBlOiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSUJlYmUge1xuICAgICAgICByZWFkb25seSBwYWNpZmllcjogc3RyaW5nO1xuICAgICAgfVxuICAgIGAsXG4gICAgKSk7XG5cbiAgdGVzdCgnZm9yIHN0cnVjdHMnLCAoKSA9PlxuICAgIGV4cGVjdEVycm9yKFxuICAgICAgL25vdCBhc3NpZ25hYmxlIHRvIGFsbCBiYXNlIHR5cGVzIGFueW1vcmUvLFxuICAgICAgYFxuICAgICAgZXhwb3J0IGludGVyZmFjZSBQYXBhIHtcbiAgICAgICAgcmVhZG9ubHkgcGlwZTogc3RyaW5nO1xuICAgICAgfVxuXG4gICAgICBleHBvcnQgaW50ZXJmYWNlIEJlYmUgZXh0ZW5kcyBQYXBhIHtcbiAgICAgICAgcmVhZG9ubHkgcGFjaWZpZXI6IHN0cmluZztcbiAgICAgIH1cbiAgICBgLFxuICAgICAgYFxuICAgICAgZXhwb3J0IGludGVyZmFjZSBQYXBhIHtcbiAgICAgICAgcmVhZG9ubHkgcGlwZTogc3RyaW5nO1xuICAgICAgfVxuXG4gICAgICBleHBvcnQgaW50ZXJmYWNlIEJlYmUge1xuICAgICAgICByZWFkb25seSBwYWNpZmllcjogc3RyaW5nO1xuICAgICAgfVxuICAgIGAsXG4gICAgKSk7XG5cbiAgdGVzdCgnZm9yIGNsYXNzZXMnLCAoKSA9PlxuICAgIGV4cGVjdEVycm9yKFxuICAgICAgL25vdCBhc3NpZ25hYmxlIHRvIGFsbCBiYXNlIHR5cGVzIGFueW1vcmUvLFxuICAgICAgYFxuICAgICAgZXhwb3J0IGludGVyZmFjZSBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZztcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGNsYXNzIEJlYmUgaW1wbGVtZW50cyBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZyA9ICdwZmYnO1xuICAgICAgICByZWFkb25seSBwYWNpZmllcjogc3RyaW5nID0gJ21tbSc7XG4gICAgICB9XG4gICAgYCxcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSVBhcGEge1xuICAgICAgICByZWFkb25seSBwaXBlOiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBjbGFzcyBCZWJlIHtcbiAgICAgICAgcmVhZG9ubHkgcGlwZTogc3RyaW5nID0gJ3BmZic7XG4gICAgICAgIHJlYWRvbmx5IHBhY2lmaWVyOiBzdHJpbmcgPSAnbW1tJztcbiAgICAgIH1cbiAgICBgLFxuICAgICkpO1xuXG4gIHRlc3QoJ2ZvciBiYXNlIGNsYXNzZXMnLCAoKSA9PlxuICAgIGV4cGVjdEVycm9yKFxuICAgICAgL25vdCBhc3NpZ25hYmxlIHRvIGFsbCBiYXNlIHR5cGVzIGFueW1vcmUvLFxuICAgICAgYFxuICAgICAgZXhwb3J0IGNsYXNzIFBhcGEge1xuICAgICAgICByZWFkb25seSBwaXBlOiBzdHJpbmcgPSAncGZmJztcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGNsYXNzIEJlYmUgZXh0ZW5kcyBQYXBhIHtcbiAgICAgICAgcmVhZG9ubHkgcGFjaWZpZXI6IHN0cmluZyA9ICdtbW0nO1xuICAgICAgfVxuICAgIGAsXG4gICAgICBgXG4gICAgICBleHBvcnQgY2xhc3MgUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZyA9ICdwZmYnO1xuICAgICAgfVxuXG4gICAgICBleHBvcnQgY2xhc3MgQmViZSB7XG4gICAgICAgIHJlYWRvbmx5IHBhY2lmaWVyOiBzdHJpbmcgPSAnbW1tJztcbiAgICAgIH1cbiAgICBgLFxuICAgICkpO1xuXG4gIHRlc3QoJ25ldyBsZXZlbHMgb2YgaW5oZXJpdGFuY2UgYXJlIGFsbG93ZWQnLCAoKSA9PlxuICAgIGV4cGVjdE5vRXJyb3IoXG4gICAgICBgXG4gICAgICBleHBvcnQgY2xhc3MgUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZyA9ICdwZmYnO1xuICAgICAgfVxuXG4gICAgICBleHBvcnQgY2xhc3MgQmViZSBleHRlbmRzIFBhcGEge1xuICAgICAgICByZWFkb25seSBwYWNpZmllcjogc3RyaW5nID0gJ21tbSc7XG4gICAgICB9XG4gICAgYCxcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBjbGFzcyBQYXBhIHtcbiAgICAgICAgcmVhZG9ubHkgcGlwZTogc3RyaW5nID0gJ3BmZic7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBjbGFzcyBJbmJldHdlZW4gZXh0ZW5kcyBQYXBhIHtcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGNsYXNzIEJlYmUgZXh0ZW5kcyBJbmJldHdlZW4ge1xuICAgICAgICByZWFkb25seSBwYWNpZmllcjogc3RyaW5nID0gJ21tbSc7XG4gICAgICB9XG4gICAgYCxcbiAgICApKTtcblxuICB0ZXN0KCdjaGFuZ2UgZGlyZWN0IGltcGxlbWVudGF0aW9uIHRvIGluaGVyaXRlZCBpbXBsZW1lbnRhdGlvbiB2aWEgaW50ZXJmYWNlJywgKCkgPT5cbiAgICBleHBlY3ROb0Vycm9yKFxuICAgICAgYFxuICAgICAgZXhwb3J0IGludGVyZmFjZSBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZztcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGNsYXNzIEJlYmUgaW1wbGVtZW50cyBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZyA9ICdwZmYnO1xuICAgICAgICByZWFkb25seSBwYWNpZmllcjogc3RyaW5nID0gJ21tbSc7XG4gICAgICB9XG4gICAgYCxcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSVBhcGEge1xuICAgICAgICByZWFkb25seSBwaXBlOiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSUluYmV0d2VlbiBleHRlbmRzIElQYXBhIHtcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGNsYXNzIEJlYmUgaW1wbGVtZW50cyBJSW5iZXR3ZWVuIHtcbiAgICAgICAgcmVhZG9ubHkgcGlwZTogc3RyaW5nID0gJ3BmZic7XG4gICAgICAgIHJlYWRvbmx5IHBhY2lmaWVyOiBzdHJpbmcgPSAnbW1tJztcbiAgICAgIH1cbiAgICBgLFxuICAgICkpO1xuXG4gIHRlc3QoJ2NoYW5nZSBkaXJlY3QgaW1wbGVtZW50YXRpb24gdG8gaW5oZXJpdGVkIGltcGxlbWVudGF0aW9uIHZpYSBiYXNlIGNsYXNzJywgKCkgPT5cbiAgICBleHBlY3ROb0Vycm9yKFxuICAgICAgYFxuICAgICAgZXhwb3J0IGludGVyZmFjZSBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZztcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGNsYXNzIEJlYmUgaW1wbGVtZW50cyBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZyA9ICdwZmYnO1xuICAgICAgICByZWFkb25seSBwYWNpZmllcjogc3RyaW5nID0gJ21tbSc7XG4gICAgICB9XG4gICAgYCxcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSVBhcGEge1xuICAgICAgICByZWFkb25seSBwaXBlOiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBjbGFzcyBJbmJldHdlZW4gaW1wbGVtZW50cyBJUGFwYSB7XG4gICAgICAgIHJlYWRvbmx5IHBpcGU6IHN0cmluZyA9ICdwZmYnO1xuICAgICAgfVxuXG4gICAgICBleHBvcnQgY2xhc3MgQmViZSBleHRlbmRzIEluYmV0d2VlbiB7XG4gICAgICAgIHJlYWRvbmx5IHBhY2lmaWVyOiBzdHJpbmcgPSAnbW1tJztcbiAgICAgIH1cbiAgICBgLFxuICAgICkpO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdC5lYWNoKFtcbiAge1xuICAgIG9sZERlY2w6ICduYW1lOiBzdHJpbmcnLFxuICAgIG5ld0RlY2w6ICduYW1lPzogc3RyaW5nJyxcbiAgICBlcnJvcjpcbiAgICAgIC90eXBlIE9wdGlvbmFsPHN0cmluZz4gXFwoZm9ybWVybHkgc3RyaW5nXFwpOiBvdXRwdXQgdHlwZSBpcyBub3cgb3B0aW9uYWwvLFxuICB9LFxuICB7XG4gICAgb2xkRGVjbDogJ25hbWU/OiBzdHJpbmcnLFxuICAgIG5ld0RlY2w6ICduYW1lOiBzdHJpbmcnLFxuICAgIGVycm9yOiB1bmRlZmluZWQsIC8vIFN0cmVuZ3RoZW5pbmcgaXMgb2theVxuICB9LFxuICB7XG4gICAgb2xkRGVjbDogJ25hbWU6IHN0cmluZycsXG4gICAgbmV3RGVjbDogJ25hbWU6IHN0cmluZyB8IG51bWJlcicsXG4gICAgZXJyb3I6IC9zdHJpbmcgXFx8IG51bWJlciBpcyBub3QgYXNzaWduYWJsZSB0byBzdHJpbmcvLFxuICB9LFxuICB7XG4gICAgb2xkRGVjbDogJ25hbWU6IHN0cmluZyB8IG51bWJlcicsXG4gICAgbmV3RGVjbDogJ25hbWU6IHN0cmluZycsXG4gICAgZXJyb3I6IHVuZGVmaW5lZCwgLy8gU3RyZW5ndGhlbmluZyBpcyBva2F5XG4gIH0sXG5dKSgnY2hhbmdlIGNsYXNzIHByb3BlcnR5ICcsICh7IG9sZERlY2wsIG5ld0RlY2wsIGVycm9yIH0pID0+XG4gIGV4cGVjdEVycm9yKFxuICAgIGVycm9yLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgSGVuayB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgJHtvbGREZWNsfSA9ICdoZW5rJztcbiAgICB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBIZW5rIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSAke25ld0RlY2x9ID0gJ2hlbmsnO1xuICAgIH1cbiAgYCxcbiAgKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdC5lYWNoKFtcbiAge1xuICAgIG9sZERlY2w6ICduYW1lOiBzdHJpbmcnLFxuICAgIG5ld0RlY2w6ICduYW1lPzogc3RyaW5nJyxcbiAgICBlcnJvcjogL2NoYW5nZWQgdG8gT3B0aW9uYWw8c3RyaW5nPiBcXChmb3JtZXJseSBzdHJpbmdcXCkvLFxuICB9LFxuICB7XG4gICAgb2xkRGVjbDogJ25hbWU/OiBzdHJpbmcnLFxuICAgIG5ld0RlY2w6ICduYW1lOiBzdHJpbmcnLFxuICAgIGVycm9yOiAvY2hhbmdlZCB0byBzdHJpbmcgXFwoZm9ybWVybHkgT3B0aW9uYWw8c3RyaW5nPlxcKS8sXG4gIH0sXG4gIHtcbiAgICBvbGREZWNsOiAnbmFtZTogc3RyaW5nJyxcbiAgICBuZXdEZWNsOiAnbmFtZTogc3RyaW5nIHwgbnVtYmVyJyxcbiAgICBlcnJvcjogL2NoYW5nZWQgdG8gc3RyaW5nIFxcfCBudW1iZXIgXFwoZm9ybWVybHkgc3RyaW5nXFwpLyxcbiAgfSxcbiAge1xuICAgIG9sZERlY2w6ICduYW1lOiBzdHJpbmcgfCBudW1iZXInLFxuICAgIG5ld0RlY2w6ICduYW1lOiBzdHJpbmcnLFxuICAgIGVycm9yOiAvY2hhbmdlZCB0byBzdHJpbmcgXFwoZm9ybWVybHkgc3RyaW5nIFxcfCBudW1iZXJcXCkvLFxuICB9LFxuXSkoXG4gICdjYW5ub3QgY2hhbmdlIGEgbXV0YWJsZSBjbGFzcyBwcm9wZXJ0eSB0eXBlOiAlcCB0byAlcCcsXG4gICh7IG9sZERlY2wsIG5ld0RlY2wsIGVycm9yIH0pID0+XG4gICAgZXhwZWN0RXJyb3IoXG4gICAgICBlcnJvcixcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBjbGFzcyBIZW5rIHtcbiAgICAgICAgcHVibGljICR7b2xkRGVjbH0gPSAnaGVuayc7XG4gICAgICB9XG4gICAgYCxcbiAgICAgIGBcbiAgICAgIGV4cG9ydCBjbGFzcyBIZW5rIHtcbiAgICAgICAgcHVibGljICR7bmV3RGVjbH0gPSAnaGVuayc7XG4gICAgICB9XG4gICAgYCxcbiAgICApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50ZXN0KCdjb25zaWRlciBpbmhlcml0ZWQgY29uc3RydWN0b3InLCAoKSA9PlxuICBleHBlY3RFcnJvcihcbiAgICAvbnVtYmVyIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHN0cmluZy8sXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBTdXBlciB7XG4gICAgICBjb25zdHJ1Y3RvcihwYXJhbTogbnVtYmVyKSB7XG4gICAgICAgIEFycmF5LmlzQXJyYXkocGFyYW0pO1xuICAgICAgfVxuICAgIH1cbiAgICBleHBvcnQgY2xhc3MgU3ViIGV4dGVuZHMgU3VwZXIge1xuICAgIH1cbiAgYCxcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIFN1cGVyIHtcbiAgICAgIGNvbnN0cnVjdG9yKHBhcmFtOiBudW1iZXIpIHtcbiAgICAgICAgQXJyYXkuaXNBcnJheShwYXJhbSk7XG4gICAgICB9XG4gICAgfVxuICAgIGV4cG9ydCBjbGFzcyBTdWIgZXh0ZW5kcyBTdXBlciB7XG4gICAgICBjb25zdHJ1Y3RvcihwYXJhbTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKDUpO1xuICAgICAgICBBcnJheS5pc0FycmF5KHBhcmFtKTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gICkpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRlc3QoJ2NvbnNpZGVyIGluaGVyaXRlZCBjb25zdHJ1Y3RvciwgdGhlIG90aGVyIHdheScsICgpID0+XG4gIGV4cGVjdEVycm9yKFxuICAgIC9uZXdseSByZXF1aXJlZCBhcmd1bWVudC8sXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBTdXBlciB7XG4gICAgICBjb25zdHJ1Y3RvcihwYXJhbTogbnVtYmVyKSB7XG4gICAgICAgIEFycmF5LmlzQXJyYXkocGFyYW0pO1xuICAgICAgfVxuICAgIH1cbiAgICBleHBvcnQgY2xhc3MgU3ViIGV4dGVuZHMgU3VwZXIge1xuICAgICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKDUpO1xuICAgICAgfVxuICAgIH1cbiAgYCxcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIFN1cGVyIHtcbiAgICAgIGNvbnN0cnVjdG9yKHBhcmFtOiBudW1iZXIpIHtcbiAgICAgICAgQXJyYXkuaXNBcnJheShwYXJhbSk7XG4gICAgICB9XG4gICAgfVxuICAgIGV4cG9ydCBjbGFzcyBTdWIgZXh0ZW5kcyBTdXBlciB7XG4gICAgfVxuICBgLFxuICApKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50ZXN0KCdtZXRob2QgY2FuIGJlIG1vdmVkIHRvIHN1cGVydHlwZScsICgpID0+XG4gIGV4cGVjdE5vRXJyb3IoXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBTdXBlciB7XG4gICAgfVxuICAgIGV4cG9ydCBjbGFzcyBTdWIgZXh0ZW5kcyBTdXBlciB7XG4gICAgICBwdWJsaWMgZm9vKHBhcmFtOiBudW1iZXIpIHtcbiAgICAgICAgQXJyYXkuaXNBcnJheShwYXJhbSk7XG4gICAgICB9XG4gICAgfVxuICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgU3VwZXIge1xuICAgICAgcHVibGljIGZvbyhwYXJhbTogbnVtYmVyKSB7XG4gICAgICAgIEFycmF5LmlzQXJyYXkocGFyYW0pO1xuICAgICAgfVxuICAgIH1cbiAgICBleHBvcnQgY2xhc3MgU3ViIGV4dGVuZHMgU3VwZXIge1xuICAgIH1cbiAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgncHJvcGVydHkgY2FuIGJlIG1vdmVkIHRvIHN1cGVydHlwZScsICgpID0+XG4gIGV4cGVjdE5vRXJyb3IoXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBTdXBlciB7XG4gICAgfVxuICAgIGV4cG9ydCBjbGFzcyBTdWIgZXh0ZW5kcyBTdXBlciB7XG4gICAgICBwdWJsaWMgZm9vOiBzdHJpbmcgPSAnZm9vJztcbiAgICB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBTdXBlciB7XG4gICAgICBwdWJsaWMgZm9vOiBzdHJpbmcgPSAnZm9vJztcbiAgICB9XG4gICAgZXhwb3J0IGNsYXNzIFN1YiBleHRlbmRzIFN1cGVyIHtcbiAgICB9XG4gIGAsXG4gICkpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRlc3QoJ3N1YmNsYXNzYWJsZSBpcyBmb3JldmVyJywgKCkgPT5cbiAgZXhwZWN0RXJyb3IoXG4gICAgL2hhcyBnb25lIGZyb20gQHN1YmNsYXNzYWJsZSB0byBub24tQHN1YmNsYXNzYWJsZS8sXG4gICAgYFxuICAgIC8qKlxuICAgICAqIEBzdWJjbGFzc2FibGVcbiAgICAgKi9cbiAgICBleHBvcnQgY2xhc3MgU3VwZXIge1xuICAgIH1cbiAgYCxcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIFN1cGVyIHtcbiAgICB9XG4gIGAsXG4gICkpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRlc3QoJ2NoYW5nZSBmcm9tIG1ldGhvZCB0byBwcm9wZXJ0eScsICgpID0+XG4gIGV4cGVjdEVycm9yKFxuICAgIC9jaGFuZ2VkIGZyb20gbWV0aG9kIHRvIHByb3BlcnR5LyxcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIEJvb20ge1xuICAgICAgcHVibGljIGZvbygpIHsgcmV0dXJuIDEyOyB9XG4gICAgfVxuICAgIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBCb29tIHtcbiAgICAgIHB1YmxpYyBnZXQgZm9vKCkgeyByZXR1cm4gMTI7IH1cbiAgICB9XG4gICAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnY2hhbmdlIGZyb20gbWV0aG9kIHdpdGggYXJndW1lbnRzIHRvIHByb3BlcnR5JywgKCkgPT5cbiAgZXhwZWN0RXJyb3IoXG4gICAgL2NoYW5nZWQgZnJvbSBtZXRob2QgdG8gcHJvcGVydHkvLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgQm9vbSB7XG4gICAgICBwdWJsaWMgZm9vKGFyZzogbnVtYmVyKSB7IHJldHVybiAxMiAqIGFyZzsgfVxuICAgIH1cbiAgICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgQm9vbSB7XG4gICAgICBwdWJsaWMgZ2V0IGZvbygpIHsgcmV0dXJuIDEyOyB9XG4gICAgfVxuICAgIGAsXG4gICkpO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRlc3QoJ2NoYW5nZSBmcm9tIHByb3BlcnR5IHRvIG1ldGhvZCcsICgpID0+XG4gIGV4cGVjdEVycm9yKFxuICAgIC9jaGFuZ2VkIGZyb20gcHJvcGVydHkgdG8gbWV0aG9kLyxcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIEJvb20ge1xuICAgICAgcHVibGljIGdldCBmb28oKSB7IHJldHVybiAxMjsgfVxuICAgIH1cbiAgICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgQm9vbSB7XG4gICAgICBwdWJsaWMgZm9vKCkgeyByZXR1cm4gMTI7IH1cbiAgICB9XG4gICAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdC5lYWNoKFtcbiAge1xuICAgIG9sZERlY2w6ICdmb28oYXJnOiBzdHJpbmcpIHsgQXJyYXkuaXNBcnJheShhcmcpOyB9JyxcbiAgICBuZXdEZWNsOiAnZm9vKGFyZzogc3RyaW5nIHwgbnVtYmVyKSB7IEFycmF5LmlzQXJyYXkoYXJnKTsgfScsXG4gIH0sXG4gIHtcbiAgICBvbGREZWNsOiAnZm9vKCk6IHN0cmluZyB7IHJldHVybiBcInhcIjsgfScsXG4gICAgbmV3RGVjbDogJ2ZvbygpOiBzdHJpbmcgfCBudW1iZXIgeyByZXR1cm4gXCJ4XCI7IH0nLFxuICB9LFxuICB7XG4gICAgb2xkRGVjbDogJ3JlYWRvbmx5IGZvbzogc3RyaW5nID0gXCJ4XCI7JyxcbiAgICBuZXdEZWNsOiAncmVhZG9ubHkgZm9vOiBzdHJpbmcgfCBudW1iZXIgPSBcInhcIjsnLFxuICB9LFxuXSkoXG4gICdjYW5ub3QgY2hhbmdlIGFueSB0eXBlIGluIEBzdWJjbGFzc2FibGUgY2xhc3M6ICVwIHRvICVwJyxcbiAgKHsgb2xkRGVjbCwgbmV3RGVjbCB9KSA9PlxuICAgIGV4cGVjdEVycm9yKFxuICAgICAgL3R5cGUgaXMgQHN1YmNsYXNzYWJsZS8sXG4gICAgICBgXG4gICAgICAvKiogQHN1YmNsYXNzYWJsZSAqL1xuICAgICAgZXhwb3J0IGNsYXNzIEJvb20ge1xuICAgICAgICBwdWJsaWMgJHtvbGREZWNsfVxuICAgICAgfVxuICAgICAgYCxcbiAgICAgIGBcbiAgICAgIC8qKiBAc3ViY2xhc3NhYmxlICovXG4gICAgICBleHBvcnQgY2xhc3MgQm9vbSB7XG4gICAgICAgIHB1YmxpYyAke25ld0RlY2x9XG4gICAgICB9XG4gICAgICBgLFxuICAgICksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnRlc3QuZWFjaChbXG4gIHtcbiAgICBvbGREZWNsOiAnZm9vKGFyZzogc3RyaW5nKTogdm9pZDsnLFxuICAgIG5ld0RlY2w6ICdmb28oYXJnOiBzdHJpbmcgfCBudW1iZXIpOiB2b2lkOycsXG4gIH0sXG4gIHsgb2xkRGVjbDogJ2ZvbygpOiBzdHJpbmc7JywgbmV3RGVjbDogJ2ZvbygpOiBzdHJpbmcgfCBudW1iZXI7JyB9LFxuICB7XG4gICAgb2xkRGVjbDogJ3JlYWRvbmx5IGZvbzogc3RyaW5nOycsXG4gICAgbmV3RGVjbDogJ3JlYWRvbmx5IGZvbzogc3RyaW5nIHwgbnVtYmVyOycsXG4gIH0sXG5dKShcbiAgJ2Nhbm5vdCBjaGFuZ2UgYW55IHR5cGUgaW4gQHN1YmNsYXNzYWJsZSBpbnRlcmZhY2U6ICVwIHRvICVwJyxcbiAgKHsgb2xkRGVjbCwgbmV3RGVjbCB9KSA9PlxuICAgIGV4cGVjdEVycm9yKFxuICAgICAgL3R5cGUgaXMgQHN1YmNsYXNzYWJsZS8sXG4gICAgICBgXG4gICAgICAvKiogQHN1YmNsYXNzYWJsZSAqL1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBJQm9vbSB7XG4gICAgICAgICR7b2xkRGVjbH1cbiAgICAgIH1cbiAgICAgIGAsXG4gICAgICBgXG4gICAgICAvKiogQHN1YmNsYXNzYWJsZSAqL1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBJQm9vbSB7XG4gICAgICAgICR7bmV3RGVjbH1cbiAgICAgIH1cbiAgICAgIGAsXG4gICAgKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdC5lYWNoKFtcbiAgLy8gTm8gdXNhZ2UgPT4gY2FuIGFkZCBmaWVsZFxuICBbJycsIHRydWVdLFxuICAvLyBSZXR1cm4gdHlwZSA9PiBjYW4gYWRkIGZpZWxkXG4gIFsnZm9vKCk6IFRoZVN0cnVjdDsnLCB0cnVlXSxcbiAgWydyZWFkb25seSBmb286IFRoZVN0cnVjdDsnLCB0cnVlXSxcbiAgLy8gSW5wdXQgdHlwZSA9PiBjYW4gTk9UIGFkZCBmaWVsZFxuICBbJ2ZvbzogVGhlU3RydWN0OycsIGZhbHNlXSxcbiAgWydmb28oYXJnOiBUaGVTdHJ1Y3QpOiB2b2lkJywgZmFsc2VdLFxuXSkoXG4gICdhZGQgcmVxdWlyZWQgZmllbGQgdG8gc3RydWN0czogcmVmZW5jaW5nIHZpYSAlcCAtPiBhbGxvd2VkICVwJyxcbiAgKHVzYWdlRGVjbCwgYWxsb3dlZCkgPT5cbiAgICBleHBlY3RFcnJvcihcbiAgICAgIGFsbG93ZWQgPyB1bmRlZmluZWQgOiAvbmV3bHkgcmVxdWlyZWQgcHJvcGVydHkgJ2ZpZWxkVHdvJyBhZGRlZC8sXG4gICAgICBgXG4gICAgICBleHBvcnQgaW50ZXJmYWNlIFRoZVN0cnVjdCB7XG4gICAgICAgIHJlYWRvbmx5IGZpZWxkT25lOiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnN1bWVyIHtcbiAgICAgICAgJHt1c2FnZURlY2x9XG4gICAgICB9XG4gICAgICBgLFxuICAgICAgYFxuICAgICAgZXhwb3J0IGludGVyZmFjZSBUaGVTdHJ1Y3Qge1xuICAgICAgICByZWFkb25seSBmaWVsZE9uZTogc3RyaW5nO1xuICAgICAgICByZWFkb25seSBmaWVsZFR3bzogc3RyaW5nO1xuICAgICAgfVxuXG4gICAgICBleHBvcnQgaW50ZXJmYWNlIElDb25zdW1lciB7XG4gICAgICAgICR7dXNhZ2VEZWNsfVxuICAgICAgfVxuICAgICAgYCxcbiAgICApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50ZXN0LmVhY2goW1xuICAvLyBObyB1c2FnZSA9PiBjYW4gYWRkIGZpZWxkXG4gIFsnJywgdHJ1ZV0sXG4gIC8vIFJldHVybiB0eXBlID0+IGNhbiBOT1QgcmVtb3ZlIGluZm9ybWF0aW9uXG4gIFsnZm9vKCk6IFRoZVN0cnVjdDsnLCBmYWxzZV0sXG4gIFsncmVhZG9ubHkgZm9vOiBUaGVTdHJ1Y3Q7JywgZmFsc2VdLFxuICBbJ2ZvbzogVGhlU3RydWN0OycsIGZhbHNlXSxcbiAgLy8gSW5wdXQgdHlwZSA9PiBjYW4gbWFrZSBvcHRpb25hbFxuICBbJ2Zvbyhhcmc6IFRoZVN0cnVjdCk6IHZvaWQnLCB0cnVlXSxcbl0pKFxuICAnbWFrZSByZXF1aXJlZCBmaWVsZCBvcHRpb25hbDogcmVmZW5jaW5nIHZpYSAlcCAtPiBhbGxvd2VkICVwJyxcbiAgKHVzYWdlRGVjbCwgYWxsb3dlZCkgPT5cbiAgICBleHBlY3RFcnJvcihcbiAgICAgIGFsbG93ZWQgPyB1bmRlZmluZWQgOiAvZm9ybWVybHkgcmVxdWlyZWQgcHJvcGVydHkgJ2ZpZWxkT25lJyBpcyBvcHRpb25hbC8sXG4gICAgICBgXG4gICAgICBleHBvcnQgaW50ZXJmYWNlIFRoZVN0cnVjdCB7XG4gICAgICAgIHJlYWRvbmx5IGZpZWxkT25lOiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnN1bWVyIHtcbiAgICAgICAgJHt1c2FnZURlY2x9XG4gICAgICB9XG4gICAgICBgLFxuICAgICAgYFxuICAgICAgZXhwb3J0IGludGVyZmFjZSBUaGVTdHJ1Y3Qge1xuICAgICAgICByZWFkb25seSBmaWVsZE9uZT86IHN0cmluZztcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IGludGVyZmFjZSBJQ29uc3VtZXIge1xuICAgICAgICAke3VzYWdlRGVjbH1cbiAgICAgIH1cbiAgICAgIGAsXG4gICAgKSxcbik7XG4iXX0=
542
+ //# sourceMappingURL=classes.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classes.test.js","sourceRoot":"","sources":["classes.test.ts"],"names":[],"mappings":"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"}
@@ -4,71 +4,71 @@ const diagnostics_1 = require("../lib/diagnostics");
4
4
  const util_1 = require("./util");
5
5
  // ----------------------------------------------------------------------
6
6
  test('experimental elements lead to warnings', () => {
7
- const mms = util_1.compare(`
7
+ const mms = (0, util_1.compare)(`
8
8
  /** @experimental */
9
9
  export class Foo1 { }
10
10
  `, `
11
11
  export class Foo2 { }
12
12
  `);
13
13
  const experimentalErrors = false;
14
- const diags = diagnostics_1.classifyDiagnostics(mms, experimentalErrors, new Set());
14
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mms, experimentalErrors, new Set());
15
15
  expect(diags.length).toBe(1);
16
- expect(diagnostics_1.hasErrors(diags)).toBeFalsy();
16
+ expect((0, diagnostics_1.hasErrors)(diags)).toBeFalsy();
17
17
  });
18
18
  // ----------------------------------------------------------------------
19
19
  test('external stability violations are reported as warnings', () => {
20
- const mms = util_1.compare(`
20
+ const mms = (0, util_1.compare)(`
21
21
  /** @stability external */
22
22
  export class Foo1 { }
23
23
  `, `
24
24
  export class Foo2 { }
25
25
  `);
26
26
  const experimentalErrors = false;
27
- const diags = diagnostics_1.classifyDiagnostics(mms, experimentalErrors, new Set());
27
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mms, experimentalErrors, new Set());
28
28
  expect(diags.length).toBe(1);
29
- expect(diagnostics_1.hasErrors(diags)).toBeFalsy();
29
+ expect((0, diagnostics_1.hasErrors)(diags)).toBeFalsy();
30
30
  });
31
31
  // ----------------------------------------------------------------------
32
32
  test('warnings can be turned into errors', () => {
33
- const mms = util_1.compare(`
33
+ const mms = (0, util_1.compare)(`
34
34
  /** @experimental */
35
35
  export class Foo1 { }
36
36
  `, `
37
37
  export class Foo2 { }
38
38
  `);
39
39
  const experimentalErrors = true;
40
- const diags = diagnostics_1.classifyDiagnostics(mms, experimentalErrors, new Set());
40
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mms, experimentalErrors, new Set());
41
41
  expect(diags.length).toBe(1);
42
- expect(diagnostics_1.hasErrors(diags)).toBeTruthy();
42
+ expect((0, diagnostics_1.hasErrors)(diags)).toBeTruthy();
43
43
  });
44
44
  // ----------------------------------------------------------------------
45
45
  test('external stability violations are never turned into errors', () => {
46
- const mms = util_1.compare(`
46
+ const mms = (0, util_1.compare)(`
47
47
  /** @stability external */
48
48
  export class Foo1 { }
49
49
  `, `
50
50
  export class Foo2 { }
51
51
  `);
52
52
  const experimentalErrors = true;
53
- const diags = diagnostics_1.classifyDiagnostics(mms, experimentalErrors, new Set());
53
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mms, experimentalErrors, new Set());
54
54
  expect(diags.length).toBe(1);
55
- expect(diagnostics_1.hasErrors(diags)).toBeFalsy();
55
+ expect((0, diagnostics_1.hasErrors)(diags)).toBeFalsy();
56
56
  });
57
57
  // ----------------------------------------------------------------------
58
58
  test('errors can be skipped', () => {
59
- const mms = util_1.compare(`
59
+ const mms = (0, util_1.compare)(`
60
60
  export class Foo1 { }
61
61
  `, `
62
62
  export class Foo2 { }
63
63
  `);
64
64
  const experimentalErrors = true;
65
- const diags = diagnostics_1.classifyDiagnostics(mms, experimentalErrors, new Set([mms.mismatches[0].violationKey]));
65
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mms, experimentalErrors, new Set([mms.mismatches[0].violationKey]));
66
66
  expect(diags.length).toBe(1);
67
- expect(diagnostics_1.hasErrors(diags)).toBeFalsy();
67
+ expect((0, diagnostics_1.hasErrors)(diags)).toBeFalsy();
68
68
  });
69
69
  // ----------------------------------------------------------------------
70
70
  test('changing stable to experimental is breaking', () => {
71
- const mms = util_1.compare(`
71
+ const mms = (0, util_1.compare)(`
72
72
  /** @stable */
73
73
  export class Foo1 { }
74
74
  `, `
@@ -76,14 +76,14 @@ test('changing stable to experimental is breaking', () => {
76
76
  export class Foo1 { }
77
77
  `);
78
78
  const experimentalErrors = false;
79
- const diags = diagnostics_1.classifyDiagnostics(mms, experimentalErrors, new Set());
79
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mms, experimentalErrors, new Set());
80
80
  expect(diags.length).toBeGreaterThan(0);
81
81
  expect(diags.some((d) => /stability not allowed to go from 'stable' to 'experimental'/.exec(d.message))).toBeTruthy();
82
- expect(diagnostics_1.hasErrors(diags)).toBeTruthy();
82
+ expect((0, diagnostics_1.hasErrors)(diags)).toBeTruthy();
83
83
  });
84
84
  // ----------------------------------------------------------------------
85
85
  test('can make fields optional in output struct if it is marked @external', () => {
86
- const mms = util_1.compare(`
86
+ const mms = (0, util_1.compare)(`
87
87
  /** @stability external */
88
88
  export interface TheStruct {
89
89
  readonly fieldOne: string;
@@ -103,8 +103,8 @@ test('can make fields optional in output struct if it is marked @external', () =
103
103
  }
104
104
  `);
105
105
  const experimentalErrors = true;
106
- const diags = diagnostics_1.classifyDiagnostics(mms, experimentalErrors, new Set());
106
+ const diags = (0, diagnostics_1.classifyDiagnostics)(mms, experimentalErrors, new Set());
107
107
  expect(diags.length).toBe(1);
108
- expect(diagnostics_1.hasErrors(diags)).toBeFalsy();
108
+ expect((0, diagnostics_1.hasErrors)(diags)).toBeFalsy();
109
109
  });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhZ25vc3RpY3MudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRpYWdub3N0aWNzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxvREFBb0U7QUFDcEUsaUNBQWlDO0FBRWpDLHlFQUF5RTtBQUN6RSxJQUFJLENBQUMsd0NBQXdDLEVBQUUsR0FBRyxFQUFFO0lBQ2xELE1BQU0sR0FBRyxHQUFHLGNBQU8sQ0FDakI7OztHQUdELEVBQ0M7O0dBRUQsQ0FDQSxDQUFDO0lBRUYsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUM7SUFDakMsTUFBTSxLQUFLLEdBQUcsaUNBQW1CLENBQUMsR0FBRyxFQUFFLGtCQUFrQixFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztJQUV0RSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixNQUFNLENBQUMsdUJBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0FBRUgseUVBQXlFO0FBQ3pFLElBQUksQ0FBQyx3REFBd0QsRUFBRSxHQUFHLEVBQUU7SUFDbEUsTUFBTSxHQUFHLEdBQUcsY0FBTyxDQUNqQjs7O0dBR0QsRUFDQzs7R0FFRCxDQUNBLENBQUM7SUFFRixNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNqQyxNQUFNLEtBQUssR0FBRyxpQ0FBbUIsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLE1BQU0sQ0FBQyx1QkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUM7QUFFSCx5RUFBeUU7QUFD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QUFHLElBQUksQ0FBQztJQUNoQyxNQUFNLEtBQUssR0FBRyxpQ0FBbUIsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRXRFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLE1BQU0sQ0FBQyx1QkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjbGFzc2lmeURpYWdub3N0aWNzLCBoYXNFcnJvcnMgfSBmcm9tICcuLi9saWIvZGlhZ25vc3RpY3MnO1xuaW1wb3J0IHsgY29tcGFyZSB9IGZyb20gJy4vdXRpbCc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoJ2V4cGVyaW1lbnRhbCBlbGVtZW50cyBsZWFkIHRvIHdhcm5pbmdzJywgKCkgPT4ge1xuICBjb25zdCBtbXMgPSBjb21wYXJlKFxuICAgIGBcbiAgICAvKiogQGV4cGVyaW1lbnRhbCAqL1xuICAgIGV4cG9ydCBjbGFzcyBGb28xIHsgfVxuICBgLFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgRm9vMiB7IH1cbiAgYCxcbiAgKTtcblxuICBjb25zdCBleHBlcmltZW50YWxFcnJvcnMgPSBmYWxzZTtcbiAgY29uc3QgZGlhZ3MgPSBjbGFzc2lmeURpYWdub3N0aWNzKG1tcywgZXhwZXJpbWVudGFsRXJyb3JzLCBuZXcgU2V0KCkpO1xuXG4gIGV4cGVjdChkaWFncy5sZW5ndGgpLnRvQmUoMSk7XG4gIGV4cGVjdChoYXNFcnJvcnMoZGlhZ3MpKS50b0JlRmFsc3koKTtcbn0pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50ZXN0KCdleHRlcm5hbCBzdGFiaWxpdHkgdmlvbGF0aW9ucyBhcmUgcmVwb3J0ZWQgYXMgd2FybmluZ3MnLCAoKSA9PiB7XG4gIGNvbnN0IG1tcyA9IGNvbXBhcmUoXG4gICAgYFxuICAgIC8qKiBAc3RhYmlsaXR5IGV4dGVybmFsICovXG4gICAgZXhwb3J0IGNsYXNzIEZvbzEgeyB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28yIHsgfVxuICBgLFxuICApO1xuXG4gIGNvbnN0IGV4cGVyaW1lbnRhbEVycm9ycyA9IGZhbHNlO1xuICBjb25zdCBkaWFncyA9IGNsYXNzaWZ5RGlhZ25vc3RpY3MobW1zLCBleHBlcmltZW50YWxFcnJvcnMsIG5ldyBTZXQoKSk7XG5cbiAgZXhwZWN0KGRpYWdzLmxlbmd0aCkudG9CZSgxKTtcbiAgZXhwZWN0KGhhc0Vycm9ycyhkaWFncykpLnRvQmVGYWxzeSgpO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoJ3dhcm5pbmdzIGNhbiBiZSB0dXJuZWQgaW50byBlcnJvcnMnLCAoKSA9PiB7XG4gIGNvbnN0IG1tcyA9IGNvbXBhcmUoXG4gICAgYFxuICAgIC8qKiBAZXhwZXJpbWVudGFsICovXG4gICAgZXhwb3J0IGNsYXNzIEZvbzEgeyB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28yIHsgfVxuICBgLFxuICApO1xuXG4gIGNvbnN0IGV4cGVyaW1lbnRhbEVycm9ycyA9IHRydWU7XG4gIGNvbnN0IGRpYWdzID0gY2xhc3NpZnlEaWFnbm9zdGljcyhtbXMsIGV4cGVyaW1lbnRhbEVycm9ycywgbmV3IFNldCgpKTtcblxuICBleHBlY3QoZGlhZ3MubGVuZ3RoKS50b0JlKDEpO1xuICBleHBlY3QoaGFzRXJyb3JzKGRpYWdzKSkudG9CZVRydXRoeSgpO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoJ2V4dGVybmFsIHN0YWJpbGl0eSB2aW9sYXRpb25zIGFyZSBuZXZlciB0dXJuZWQgaW50byBlcnJvcnMnLCAoKSA9PiB7XG4gIGNvbnN0IG1tcyA9IGNvbXBhcmUoXG4gICAgYFxuICAgIC8qKiBAc3RhYmlsaXR5IGV4dGVybmFsICovXG4gICAgZXhwb3J0IGNsYXNzIEZvbzEgeyB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBjbGFzcyBGb28yIHsgfVxuICBgLFxuICApO1xuXG4gIGNvbnN0IGV4cGVyaW1lbnRhbEVycm9ycyA9IHRydWU7XG4gIGNvbnN0IGRpYWdzID0gY2xhc3NpZnlEaWFnbm9zdGljcyhtbXMsIGV4cGVyaW1lbnRhbEVycm9ycywgbmV3IFNldCgpKTtcblxuICBleHBlY3QoZGlhZ3MubGVuZ3RoKS50b0JlKDEpO1xuICBleHBlY3QoaGFzRXJyb3JzKGRpYWdzKSkudG9CZUZhbHN5KCk7XG59KTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudGVzdCgnZXJyb3JzIGNhbiBiZSBza2lwcGVkJywgKCkgPT4ge1xuICBjb25zdCBtbXMgPSBjb21wYXJlKFxuICAgIGBcbiAgICBleHBvcnQgY2xhc3MgRm9vMSB7IH1cbiAgYCxcbiAgICBgXG4gICAgZXhwb3J0IGNsYXNzIEZvbzIgeyB9XG4gIGAsXG4gICk7XG5cbiAgY29uc3QgZXhwZXJpbWVudGFsRXJyb3JzID0gdHJ1ZTtcbiAgY29uc3QgZGlhZ3MgPSBjbGFzc2lmeURpYWdub3N0aWNzKFxuICAgIG1tcyxcbiAgICBleHBlcmltZW50YWxFcnJvcnMsXG4gICAgbmV3IFNldChbbW1zLm1pc21hdGNoZXNbMF0udmlvbGF0aW9uS2V5XSksXG4gICk7XG5cbiAgZXhwZWN0KGRpYWdzLmxlbmd0aCkudG9CZSgxKTtcbiAgZXhwZWN0KGhhc0Vycm9ycyhkaWFncykpLnRvQmVGYWxzeSgpO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnRlc3QoJ2NoYW5naW5nIHN0YWJsZSB0byBleHBlcmltZW50YWwgaXMgYnJlYWtpbmcnLCAoKSA9PiB7XG4gIGNvbnN0IG1tcyA9IGNvbXBhcmUoXG4gICAgYFxuICAgIC8qKiBAc3RhYmxlICovXG4gICAgZXhwb3J0IGNsYXNzIEZvbzEgeyB9XG4gIGAsXG4gICAgYFxuICAgIC8qKiBAZXhwZXJpbWVudGFsICovXG4gICAgZXhwb3J0IGNsYXNzIEZvbzEgeyB9XG4gIGAsXG4gICk7XG5cbiAgY29uc3QgZXhwZXJpbWVudGFsRXJyb3JzID0gZmFsc2U7XG4gIGNvbnN0IGRpYWdzID0gY2xhc3NpZnlEaWFnbm9zdGljcyhtbXMsIGV4cGVyaW1lbnRhbEVycm9ycywgbmV3IFNldCgpKTtcblxuICBleHBlY3QoZGlhZ3MubGVuZ3RoKS50b0JlR3JlYXRlclRoYW4oMCk7XG4gIGV4cGVjdChcbiAgICBkaWFncy5zb21lKChkKSA9PlxuICAgICAgL3N0YWJpbGl0eSBub3QgYWxsb3dlZCB0byBnbyBmcm9tICdzdGFibGUnIHRvICdleHBlcmltZW50YWwnLy5leGVjKFxuICAgICAgICBkLm1lc3NhZ2UsXG4gICAgICApLFxuICAgICksXG4gICkudG9CZVRydXRoeSgpO1xuICBleHBlY3QoaGFzRXJyb3JzKGRpYWdzKSkudG9CZVRydXRoeSgpO1xufSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnY2FuIG1ha2UgZmllbGRzIG9wdGlvbmFsIGluIG91dHB1dCBzdHJ1Y3QgaWYgaXQgaXMgbWFya2VkIEBleHRlcm5hbCcsICgpID0+IHtcbiAgY29uc3QgbW1zID0gY29tcGFyZShcbiAgICBgXG4gICAgLyoqIEBzdGFiaWxpdHkgZXh0ZXJuYWwgKi9cbiAgICBleHBvcnQgaW50ZXJmYWNlIFRoZVN0cnVjdCB7XG4gICAgICByZWFkb25seSBmaWVsZE9uZTogc3RyaW5nO1xuICAgIH1cblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnN1bWVyIHtcbiAgICAgIGZvbygpOiBUaGVTdHJ1Y3Q7XG4gICAgfVxuICAgIGAsXG4gICAgYFxuICAgIC8qKiBAc3RhYmlsaXR5IGV4dGVybmFsICovXG4gICAgZXhwb3J0IGludGVyZmFjZSBUaGVTdHJ1Y3Qge1xuICAgICAgcmVhZG9ubHkgZmllbGRPbmU/OiBzdHJpbmc7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBJQ29uc3VtZXIge1xuICAgICAgZm9vKCk6IFRoZVN0cnVjdDtcbiAgICB9XG4gICAgYCxcbiAgKTtcblxuICBjb25zdCBleHBlcmltZW50YWxFcnJvcnMgPSB0cnVlO1xuICBjb25zdCBkaWFncyA9IGNsYXNzaWZ5RGlhZ25vc3RpY3MobW1zLCBleHBlcmltZW50YWxFcnJvcnMsIG5ldyBTZXQoKSk7XG5cbiAgZXhwZWN0KGRpYWdzLmxlbmd0aCkudG9CZSgxKTtcbiAgZXhwZWN0KGhhc0Vycm9ycyhkaWFncykpLnRvQmVGYWxzeSgpO1xufSk7XG4iXX0=
110
+ //# sourceMappingURL=diagnostics.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.test.js","sourceRoot":"","sources":["diagnostics.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ const util_1 = require("./util");
4
4
  // Note: an enum with one value behaves weirdly in TypeScript -- it does type analysis to the singleton element.
5
5
  // ----------------------------------------------------------------------
6
6
  jest.setTimeout(15000);
7
- test('okay to add a member to an enum', () => util_1.expectNoError(`
7
+ test('okay to add a member to an enum', () => (0, util_1.expectNoError)(`
8
8
  export enum Foo {
9
9
  BAR,
10
10
  BAZ,
@@ -17,7 +17,7 @@ test('okay to add a member to an enum', () => util_1.expectNoError(`
17
17
  }
18
18
  `));
19
19
  // ----------------------------------------------------------------------
20
- test('not okay to remove a member from an enum', () => util_1.expectError(/member QUUX has been removed/, `
20
+ test('not okay to remove a member from an enum', () => (0, util_1.expectError)(/member QUUX has been removed/, `
21
21
  export enum Foo {
22
22
  BAR,
23
23
  BAZ,
@@ -30,7 +30,7 @@ test('not okay to remove a member from an enum', () => util_1.expectError(/membe
30
30
  }
31
31
  `));
32
32
  // ----------------------------------------------------------------------
33
- test('does not crash when removing enum', () => util_1.expectError(/ENUM testpkg.Foo: has been removed/, `
33
+ test('does not crash when removing enum', () => (0, util_1.expectError)(/ENUM testpkg.Foo: has been removed/, `
34
34
  export enum Foo {
35
35
  BAR,
36
36
  BAZ,
@@ -38,4 +38,4 @@ test('does not crash when removing enum', () => util_1.expectError(/ENUM testpkg
38
38
  }
39
39
  `, `
40
40
  `));
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVudW1zLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBb0Q7QUFFcEQsZ0hBQWdIO0FBRWhILHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQU0sQ0FBQyxDQUFDO0FBRXhCLElBQUksQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUUsQ0FDM0Msb0JBQWEsQ0FDWDs7Ozs7R0FLRCxFQUNDOzs7Ozs7R0FNRCxDQUNBLENBQUMsQ0FBQztBQUVMLHlFQUF5RTtBQUV6RSxJQUFJLENBQUMsMENBQTBDLEVBQUUsR0FBRyxFQUFFLENBQ3BELGtCQUFXLENBQ1QsOEJBQThCLEVBQzlCOzs7Ozs7R0FNRCxFQUNDOzs7OztHQUtELENBQ0EsQ0FBQyxDQUFDO0FBRUwseUVBQXlFO0FBRXpFLElBQUksQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLEVBQUUsQ0FDN0Msa0JBQVcsQ0FDVCxvQ0FBb0MsRUFDcEM7Ozs7OztHQU1ELEVBQ0M7R0FDRCxDQUNBLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4cGVjdEVycm9yLCBleHBlY3ROb0Vycm9yIH0gZnJvbSAnLi91dGlsJztcblxuLy8gTm90ZTogYW4gZW51bSB3aXRoIG9uZSB2YWx1ZSBiZWhhdmVzIHdlaXJkbHkgaW4gVHlwZVNjcmlwdCAtLSBpdCBkb2VzIHR5cGUgYW5hbHlzaXMgdG8gdGhlIHNpbmdsZXRvbiBlbGVtZW50LlxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmplc3Quc2V0VGltZW91dCgxNV8wMDApO1xuXG50ZXN0KCdva2F5IHRvIGFkZCBhIG1lbWJlciB0byBhbiBlbnVtJywgKCkgPT5cbiAgZXhwZWN0Tm9FcnJvcihcbiAgICBgXG4gICAgZXhwb3J0IGVudW0gRm9vIHtcbiAgICAgIEJBUixcbiAgICAgIEJBWixcbiAgICB9XG4gIGAsXG4gICAgYFxuICAgIGV4cG9ydCBlbnVtIEZvbyB7XG4gICAgICBCQVIsXG4gICAgICBCQVosXG4gICAgICBRVVVYXG4gICAgfVxuICBgLFxuICApKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG50ZXN0KCdub3Qgb2theSB0byByZW1vdmUgYSBtZW1iZXIgZnJvbSBhbiBlbnVtJywgKCkgPT5cbiAgZXhwZWN0RXJyb3IoXG4gICAgL21lbWJlciBRVVVYIGhhcyBiZWVuIHJlbW92ZWQvLFxuICAgIGBcbiAgICBleHBvcnQgZW51bSBGb28ge1xuICAgICAgQkFSLFxuICAgICAgQkFaLFxuICAgICAgUVVVWFxuICAgIH1cbiAgYCxcbiAgICBgXG4gICAgZXhwb3J0IGVudW0gRm9vIHtcbiAgICAgIEJBUixcbiAgICAgIEJBWlxuICAgIH1cbiAgYCxcbiAgKSk7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxudGVzdCgnZG9lcyBub3QgY3Jhc2ggd2hlbiByZW1vdmluZyBlbnVtJywgKCkgPT5cbiAgZXhwZWN0RXJyb3IoXG4gICAgL0VOVU0gdGVzdHBrZy5Gb286IGhhcyBiZWVuIHJlbW92ZWQvLFxuICAgIGBcbiAgICBleHBvcnQgZW51bSBGb28ge1xuICAgICAgQkFSLFxuICAgICAgQkFaLFxuICAgICAgUVVVWFxuICAgIH1cbiAgYCxcbiAgICBgXG4gIGAsXG4gICkpO1xuIl19
41
+ //# sourceMappingURL=enums.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.test.js","sourceRoot":"","sources":["enums.test.ts"],"names":[],"mappings":";;AAAA,iCAAoD;AAEpD,gHAAgH;AAEhH,yEAAyE;AAEzE,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC;AAExB,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAC3C,IAAA,oBAAa,EACX;;;;;GAKD,EACC;;;;;;GAMD,CACA,CAAC,CAAC;AAEL,yEAAyE;AAEzE,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE,CACpD,IAAA,kBAAW,EACT,8BAA8B,EAC9B;;;;;;GAMD,EACC;;;;;GAKD,CACA,CAAC,CAAC;AAEL,yEAAyE;AAEzE,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE,CAC7C,IAAA,kBAAW,EACT,oCAAoC,EACpC;;;;;;GAMD,EACC;GACD,CACA,CAAC,CAAC"}