@skyux/docs-tools 9.0.0-alpha.3 → 9.0.0-alpha.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.
@@ -12,13 +12,16 @@ export class SkyDocsCodeExamplesEditorService {
12
12
  StackBlitzSDK.openProject(project, options);
13
13
  }
14
14
  getPayload(codeExample) {
15
- const angularVersion = '^15.0.0';
16
- const skyuxVersion = '^8.0.0';
15
+ const angularVersion = '^16.0.0';
16
+ const skyuxVersion = '^9.0.0-alpha.0';
17
17
  const defaultDependencies = {
18
+ '@angular-devkit/build-angular': angularVersion,
18
19
  '@angular/animations': angularVersion,
19
20
  '@angular/cdk': angularVersion,
21
+ '@angular/cli': angularVersion,
20
22
  '@angular/common': angularVersion,
21
23
  '@angular/compiler': angularVersion,
24
+ '@angular/compiler-cli': angularVersion,
22
25
  '@angular/core': angularVersion,
23
26
  '@angular/forms': angularVersion,
24
27
  '@angular/platform-browser': angularVersion,
@@ -39,12 +42,11 @@ export class SkyDocsCodeExamplesEditorService {
39
42
  '@skyux/popovers': skyuxVersion,
40
43
  '@skyux/router': skyuxVersion,
41
44
  '@skyux/theme': skyuxVersion,
42
- '@types/jasmine': '~4.0.3',
43
- // We must define Dragula deliberately so that StackBlitz runs NGCC against it.
44
- 'ng2-dragula': '2.1.1',
45
+ '@types/jasmine': '~4.3.1',
45
46
  rxjs: '^7',
46
- tslib: '^2.3.0',
47
- 'zone.js': '~0.12.0',
47
+ tslib: '^2.5.0',
48
+ typescript: '~5.1.6',
49
+ 'zone.js': '~0.13.1',
48
50
  };
49
51
  const mergedDependencies = Object.assign({}, defaultDependencies, codeExample.packageDependencies);
50
52
  // Ensure any @skyux dependencies list the correct version of SKY UX.
@@ -222,23 +224,65 @@ body {
222
224
  }`;
223
225
  stylesheets.push('src/styles.scss');
224
226
  files['angular.json'] = JSON.stringify({
227
+ $schema: './node_modules/@angular/cli/lib/config/schema.json',
228
+ version: 1,
225
229
  projects: {
226
230
  demo: {
231
+ projectType: 'application',
232
+ root: '',
233
+ sourceRoot: 'src',
234
+ prefix: 'app',
227
235
  architect: {
228
236
  build: {
237
+ builder: '@angular-devkit/build-angular:browser',
229
238
  options: {
230
239
  index: 'src/index.html',
231
240
  main: 'src/main.ts',
241
+ tsConfig: 'tsconfig.app.json',
232
242
  inlineStyleLanguage: 'scss',
233
243
  styles: stylesheets,
234
244
  },
245
+ configurations: {
246
+ development: {
247
+ buildOptimizer: false,
248
+ optimization: false,
249
+ vendorChunk: true,
250
+ extractLicenses: false,
251
+ sourceMap: true,
252
+ namedChunks: true,
253
+ },
254
+ },
255
+ defaultConfiguration: 'development',
256
+ },
257
+ serve: {
258
+ builder: '@angular-devkit/build-angular:dev-server',
259
+ configurations: {
260
+ development: {
261
+ browserTarget: 'demo:build:development',
262
+ },
263
+ },
264
+ defaultConfiguration: 'development',
235
265
  },
236
266
  },
237
267
  },
238
268
  },
239
269
  }, undefined, 2);
240
270
  files['package.json'] = JSON.stringify({
271
+ name: 'skyux-spa-demo',
241
272
  dependencies,
273
+ scripts: {
274
+ start: 'ng serve',
275
+ build: 'ng build',
276
+ },
277
+ }, undefined, 2);
278
+ files['tsconfig.app.json'] = JSON.stringify({
279
+ extends: './tsconfig.json',
280
+ compilerOptions: {
281
+ outDir: './out-tsc/app',
282
+ types: [],
283
+ },
284
+ files: ['src/main.ts'],
285
+ include: ['src/**/*.d.ts'],
242
286
  }, undefined, 2);
243
287
  files['tsconfig.json'] = JSON.stringify({
244
288
  compilerOptions: {
@@ -309,4 +353,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
309
353
  providedIn: 'root',
310
354
  }]
311
355
  }] });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFXNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSS9EOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdDQUFnQztJQUNwQyxZQUFZLENBQUMsV0FBK0I7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBRTFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxVQUFVLENBQUMsV0FBK0I7UUFDaEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUU5QixNQUFNLG1CQUFtQixHQUF5QztZQUNoRSxxQkFBcUIsRUFBRSxjQUFjO1lBQ3JDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGlCQUFpQixFQUFFLGNBQWM7WUFDakMsbUJBQW1CLEVBQUUsY0FBYztZQUNuQyxlQUFlLEVBQUUsY0FBYztZQUMvQixnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLDJCQUEyQixFQUFFLGNBQWM7WUFDM0MsbUNBQW1DLEVBQUUsY0FBYztZQUNuRCxpQkFBaUIsRUFBRSxjQUFjO1lBQ2pDLG1CQUFtQixFQUFFLFlBQVk7WUFDakMsZUFBZSxFQUFFLFlBQVk7WUFDN0IsZUFBZSxFQUFFLFlBQVk7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QUFDO1FBRWxDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV4RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sQ0FDSixxRUFBcUU7Z0JBQ3JFLGFBQWEsVUFBVSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUM1RCx3RUFBd0UsQ0FDekUsQ0FBQztTQUNIO1FBRUQsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLG9CQUFvQixDQUMxQixrQkFBMEIsRUFDMUIsVUFBbUM7UUFFbkMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOzhHQXZYVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQUYvQixNQUFNOzsyRkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgU3RhY2tCbGl0elNESyBmcm9tICdAc3RhY2tibGl0ei9zZGsnO1xuXG5pbXBvcnQge1xuICBPcGVuT3B0aW9ucyBhcyBTdGFja0JsaXR6T3Blbk9wdGlvbnMsXG4gIFByb2plY3QgYXMgU3RhY2tCbGl0elByb2plY3QsXG59IGZyb20gJ0BzdGFja2JsaXR6L3Nkay90eXBpbmdzL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBTa3lEb2NzU291cmNlQ29kZUZpbGUgfSBmcm9tICcuLi9zb3VyY2UtY29kZS9zb3VyY2UtY29kZS1maWxlJztcblxuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtbW9kdWxlLWRlcGVuZGVuY2llcyc7XG5cbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGUgfSBmcm9tICcuL2NvZGUtZXhhbXBsZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQ29kZUV4YW1wbGVzRWRpdG9yU2VydmljZSB7XG4gIHB1YmxpYyBsYXVuY2hFZGl0b3IoY29kZUV4YW1wbGU6IFNreURvY3NDb2RlRXhhbXBsZSk6IHZvaWQge1xuICAgIGNvbnN0IHByb2plY3QgPSB0aGlzLmdldFBheWxvYWQoY29kZUV4YW1wbGUpO1xuICAgIGNvbnN0IG9wdGlvbnM6IFN0YWNrQmxpdHpPcGVuT3B0aW9ucyA9IHt9O1xuXG4gICAgU3RhY2tCbGl0elNESy5vcGVuUHJvamVjdChwcm9qZWN0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF5bG9hZChjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlKTogU3RhY2tCbGl0elByb2plY3Qge1xuICAgIGNvbnN0IGFuZ3VsYXJWZXJzaW9uID0gJ14xNS4wLjAnO1xuICAgIGNvbnN0IHNreXV4VmVyc2lvbiA9ICdeOC4wLjAnO1xuXG4gICAgY29uc3QgZGVmYXVsdERlcGVuZGVuY2llczogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzID0ge1xuICAgICAgJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jZGsnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb21tb24nOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb21waWxlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvcmUnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9mb3Jtcyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9yb3V0ZXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAc2t5dXgvYW5pbWF0aW9ucyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvYXNzZXRzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9jb25maWcnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2NvcmUnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Vycm9ycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvZm9ybXMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2h0dHAnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2kxOG4nOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2luZGljYXRvcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2xheW91dCc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvbW9kYWxzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9wYWNrYWdlcyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcG9wb3ZlcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3JvdXRlcic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvdGhlbWUnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHR5cGVzL2phc21pbmUnOiAnfjQuMC4zJyxcbiAgICAgIC8vIFdlIG11c3QgZGVmaW5lIERyYWd1bGEgZGVsaWJlcmF0ZWx5IHNvIHRoYXQgU3RhY2tCbGl0eiBydW5zIE5HQ0MgYWdhaW5zdCBpdC5cbiAgICAgICduZzItZHJhZ3VsYSc6ICcyLjEuMScsXG4gICAgICByeGpzOiAnXjcnLFxuICAgICAgdHNsaWI6ICdeMi4zLjAnLFxuICAgICAgJ3pvbmUuanMnOiAnfjAuMTIuMCcsXG4gICAgfTtcblxuICAgIGNvbnN0IG1lcmdlZERlcGVuZGVuY2llcyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIGRlZmF1bHREZXBlbmRlbmNpZXMsXG4gICAgICBjb2RlRXhhbXBsZS5wYWNrYWdlRGVwZW5kZW5jaWVzXG4gICAgKTtcblxuICAgIC8vIEVuc3VyZSBhbnkgQHNreXV4IGRlcGVuZGVuY2llcyBsaXN0IHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgU0tZIFVYLlxuICAgIC8vIGUuZy4gYFwiQHNreXV4L2NvcmVcIjogXCIqXCJgIC0tPiBgXCJAc2t5dXgvY29yZVwiOiBcIjUuMC4wXCJgXG4gICAgZm9yIChjb25zdCBwYWNrYWdlTmFtZSBpbiBtZXJnZWREZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgaWYgKG1lcmdlZERlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwYWNrYWdlTmFtZSkpIHtcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV07XG4gICAgICAgIGlmIChcbiAgICAgICAgICB2ZXJzaW9uID09PSAnKicgJiZcbiAgICAgICAgICAvXihAYmxhY2tiYXVkXFwvc2t5dXgtbGliLXxAc2t5dXgpLy50ZXN0KHBhY2thZ2VOYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICBtZXJnZWREZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdID0gc2t5dXhWZXJzaW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLnBhcnNlU3RhY2tCbGl0ekZpbGVzKFxuICAgICAgY29kZUV4YW1wbGUuc291cmNlQ29kZSxcbiAgICAgIG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnRoZW1lLFxuICAgICAgY29kZUV4YW1wbGUuc3R5bGVzaGVldHNcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVzLFxuICAgICAgdGl0bGU6ICdTS1kgVVggRGVtbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIHRlbXBsYXRlOiAnYW5ndWxhci1jbGknLFxuICAgICAgZGVwZW5kZW5jaWVzOiBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBjb21waWxlOiB7XG4gICAgICAgICAgY2xlYXJDb25zb2xlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW10sXG4gICAgZGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMsXG4gICAgdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLFxuICAgIHN0eWxlc2hlZXRzOiBzdHJpbmdbXSA9IFtdXG4gICk6IHtcbiAgICBbcGF0aDogc3RyaW5nXTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBzcmNQYXRoID0gJ3NyYy8nO1xuICAgIGNvbnN0IGFwcFBhdGggPSBgJHtzcmNQYXRofWFwcC9gO1xuXG4gICAgY29uc3QgYmFubmVyID0gYC8qKlxuICogVGhpcyBmaWxlIGlzIG5lZWRlZCBmb3IgdGhlIFN0YWNrQmxpdHogZGVtbyBvbmx5LlxuICogSXQgaXMgYXV0b21hdGljYWxseSBwcm92aWRlZCB3aGVuIHVzaW5nIHRoZSBBbmd1bGFyIENMSS5cbiAqKi9cbiBgO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0U3RhdGVtZW50czogc3RyaW5nW10gPSBbXG4gICAgICBgaW1wb3J0IHtcXG4gIE5nTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBGb3Jtc01vZHVsZSxcXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBSb3V0ZXJNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgU2t5QXBwTG9jYWxlUHJvdmlkZXJcXG59IGZyb20gJ0Bza3l1eC9pMThuJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lUaGVtZVNlcnZpY2VcXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mXFxufSBmcm9tICdyeGpzJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBBcHBDb21wb25lbnRcXG59IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7YCxcbiAgICBdO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0czogc3RyaW5nW10gPSBbXG4gICAgICAnQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUnLFxuICAgICAgJ0Zvcm1zTW9kdWxlJyxcbiAgICAgICdSZWFjdGl2ZUZvcm1zTW9kdWxlJyxcbiAgICAgICdSb3V0ZXJNb2R1bGUuZm9yUm9vdChbXSknLFxuICAgIF07XG5cbiAgICBjb25zdCBmaWxlczogeyBbXzogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIGxldCBhcHBDb21wb25lbnRUZW1wbGF0ZSA9ICcnO1xuXG4gICAgc291cmNlQ29kZS5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBmaWxlc1tgJHthcHBQYXRofSR7ZmlsZS5maWxlTmFtZX1gXSA9IGZpbGUucmF3Q29udGVudHM7XG5cbiAgICAgIC8vIFNldHVwIG1vZHVsZSBpbXBvcnRzIGFuZCBjb21wb25lbnQgc2VsZWN0b3JzLlxuICAgICAgaWYgKGZpbGUuZmlsZU5hbWUuaW5kZXhPZignLm1vZHVsZS50cycpID4gLTEpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRoaXMuZ2V0TW9kdWxlTmFtZShmaWxlLnJhd0NvbnRlbnRzKTtcbiAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9IGAuLyR7dGhpcy5nZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGUuZmlsZU5hbWUpfWA7XG5cbiAgICAgICAgY29uc3QgZXhwb3J0ZWRDb21wb25lbnQgPSB0aGlzLmdldEV4cG9ydGVkQ29tcG9uZW50KGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9IHRoaXMuZ2V0Q29tcG9uZW50U2VsZWN0b3IoXG4gICAgICAgICAgZXhwb3J0ZWRDb21wb25lbnQsXG4gICAgICAgICAgc291cmNlQ29kZVxuICAgICAgICApO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0+PC8ke2NvbXBvbmVudFNlbGVjdG9yfT5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChtb2R1bGVOYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQge1xcbiAgJHttb2R1bGVOYW1lfVxcbn0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAuY29tcG9uZW50LnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWUsXG4gIFNreVRoZW1lTW9kZSxcbiAgU2t5VGhlbWVTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kZW1vLWFwcCcsXG4gIHRlbXBsYXRlOiAnJHthcHBDb21wb25lbnRUZW1wbGF0ZX0nXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSxcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIGNvbnN0IHRoZW1lU2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgIFNreVRoZW1lLnByZXNldHNbJyR7XG4gICAgICAgIHRoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J1xuICAgICAgfSddLFxuICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICApO1xuXG4gICAgdGhlbWVTdmMuaW5pdChcbiAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICByZW5kZXJlcixcbiAgICAgIHRoZW1lU2V0dGluZ3NcbiAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG48aGVhZD5cbiAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCI+XG4gIDx0aXRsZT5Ta3kgVVggRGVtbzwvdGl0bGU+XG4gIDxiYXNlIGhyZWY9XCIvXCI+XG4gIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiPlxuICA8IS0tXG4gICAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gICAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrYmxpdHovY29yZS9pc3N1ZXMvMTMzXG4gIC0tPlxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIC8+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvNi4wLjAvYXNzZXRzL2Nzcy9za3l1eC1pY29ucy5taW4uY3NzXCIgLz5cbjwvaGVhZD5cbjxib2R5PlxuICA8c2t5LWRlbW8tYXBwPlxuICAgIExvYWRpbmcuLi5cbiAgPC9za3ktZGVtby1hcHA+XG48L2JvZHk+XG48L2h0bWw+XG5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1tYWluLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJ3pvbmUuanMnO1xuaW1wb3J0ICdAc2t5dXgvcGFja2FnZXMvcG9seWZpbGxzJztcblxuaW1wb3J0IHtcbiAgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1xufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMnO1xuXG5pbXBvcnQge1xuICBBcHBNb2R1bGVcbn0gZnJvbSAnLi9hcHAvYXBwLm1vZHVsZSc7XG5cbnBsYXRmb3JtQnJvd3NlckR5bmFtaWMoKVxuICAuYm9vdHN0cmFwTW9kdWxlKEFwcE1vZHVsZSlcbiAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG5cbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofXN0eWxlcy5zY3NzYF0gPSBgQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy9za3knO1xuQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy90aGVtZXMvbW9kZXJuL3N0eWxlcyc7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDE1cHg7XG59YDtcblxuICAgIHN0eWxlc2hlZXRzLnB1c2goJ3NyYy9zdHlsZXMuc2NzcycpO1xuXG4gICAgZmlsZXNbJ2FuZ3VsYXIuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIHByb2plY3RzOiB7XG4gICAgICAgICAgZGVtbzoge1xuICAgICAgICAgICAgYXJjaGl0ZWN0OiB7XG4gICAgICAgICAgICAgIGJ1aWxkOiB7XG4gICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgaW5kZXg6ICdzcmMvaW5kZXguaHRtbCcsXG4gICAgICAgICAgICAgICAgICBtYWluOiAnc3JjL21haW4udHMnLFxuICAgICAgICAgICAgICAgICAgaW5saW5lU3R5bGVMYW5ndWFnZTogJ3Njc3MnLFxuICAgICAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXNoZWV0cyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3BhY2thZ2UuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5qc29uJ10gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHtcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgIGZvcmNlQ29uc2lzdGVudENhc2luZ0luRmlsZU5hbWVzOiB0cnVlLFxuICAgICAgICAgIG5vSW1wbGljaXRPdmVycmlkZTogdHJ1ZSxcbiAgICAgICAgICBub1Byb3BlcnR5QWNjZXNzRnJvbUluZGV4U2lnbmF0dXJlOiB0cnVlLFxuICAgICAgICAgIG5vSW1wbGljaXRSZXR1cm5zOiB0cnVlLFxuICAgICAgICAgIG5vRmFsbHRocm91Z2hDYXNlc0luU3dpdGNoOiB0cnVlLFxuICAgICAgICAgIHNvdXJjZU1hcDogdHJ1ZSxcbiAgICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgICAgZG93bmxldmVsSXRlcmF0aW9uOiB0cnVlLFxuICAgICAgICAgIGVzTW9kdWxlSW50ZXJvcDogdHJ1ZSxcbiAgICAgICAgICBleHBlcmltZW50YWxEZWNvcmF0b3JzOiB0cnVlLFxuICAgICAgICAgIG1vZHVsZVJlc29sdXRpb246ICdub2RlJyxcbiAgICAgICAgICBpbXBvcnRIZWxwZXJzOiB0cnVlLFxuICAgICAgICAgIHR5cGVSb290czogWydub2RlX21vZHVsZXMvQHR5cGVzJ10sXG4gICAgICAgICAgdGFyZ2V0OiAnRVMyMDIyJyxcbiAgICAgICAgICBtb2R1bGU6ICdFUzIwMjInLFxuICAgICAgICAgIHVzZURlZmluZUZvckNsYXNzRmllbGRzOiBmYWxzZSxcbiAgICAgICAgICBsaWI6IFsnRVMyMDIyJywgJ2RvbSddLFxuICAgICAgICB9LFxuICAgICAgICBhbmd1bGFyQ29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgZnVsbFRlbXBsYXRlVHlwZUNoZWNrOiB0cnVlLFxuICAgICAgICAgIGVuYWJsZUkxOG5MZWdhY3lNZXNzYWdlSWRGb3JtYXQ6IGZhbHNlLFxuICAgICAgICAgIHN0cmljdEluamVjdGlvblBhcmFtZXRlcnM6IHRydWUsXG4gICAgICAgICAgc3RyaWN0SW5wdXRBY2Nlc3NNb2RpZmllcnM6IHRydWUsXG4gICAgICAgICAgc3RyaWN0VGVtcGxhdGVzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgcmV0dXJuIGZpbGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNb2R1bGVOYW1lKGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBjb250ZW50cy5zcGxpdCgnZXhwb3J0IGNsYXNzICcpWzFdLnNwbGl0KCcgeycpWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk7XG4gICAgcmV0dXJuIGZpbGVOYW1lLnJlcGxhY2UoYC4ke2V4dGVuc2lvbn1gLCAnJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEV4cG9ydGVkQ29tcG9uZW50KGNvbnRlbnRzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBjb250ZW50cy5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgbGV0IGZyYWdtZW50ID0gdHJpbW1lZC5zcGxpdCgnZXhwb3J0czpbJylbMV07XG4gICAgaWYgKCFmcmFnbWVudCkge1xuICAgICAgdGhyb3cgJ1lvdSBtdXN0IGV4cG9ydCBhIGNvbXBvbmVudCBmcm9tIHRoZSBjb2RlIGV4YW1wbGUgbW9kdWxlISc7XG4gICAgfVxuXG4gICAgZnJhZ21lbnQgPSBmcmFnbWVudC5zcGxpdCgnXScpWzBdO1xuXG4gICAgY29uc3QgY29tcG9uZW50cyA9IGZyYWdtZW50LnNwbGl0KCcsJykuZmlsdGVyKCh4KSA9PiB4KTtcblxuICAgIGlmIChjb21wb25lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgIHRocm93IChcbiAgICAgICAgJ1lvdSBtYXkgb25seSBleHBvcnQgYSBzaW5nbGUgY29tcG9uZW50IGZyb20gdGhlIGNvZGUgZXhhbXBsZSBtb2R1bGUnICtcbiAgICAgICAgYCh3ZSBmb3VuZCAke2NvbXBvbmVudHMubGVuZ3RofTogJHtjb21wb25lbnRzLmpvaW4oJywgJyl9KS5gICtcbiAgICAgICAgJ0lzIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhIG5ldyBjb2RlIGV4YW1wbGUgd2l0aCB0aGUgZXh0cmEgY29tcG9uZW50cz8nXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnRzWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRTZWxlY3RvcihcbiAgICBjb21wb25lbnRDbGFzc05hbWU6IHN0cmluZyxcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXVxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvdW5kID0gc291cmNlQ29kZS5maW5kKChmaWxlKSA9PiB7XG4gICAgICByZXR1cm4gZmlsZS5yYXdDb250ZW50cy5pbmRleE9mKGBjbGFzcyAke2NvbXBvbmVudENsYXNzTmFtZX1gKSA+IC0xO1xuICAgIH0pO1xuXG4gICAgY29uc3QgdHJpbW1lZCA9IGZvdW5kLnJhd0NvbnRlbnRzLnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICByZXR1cm4gdHJpbW1lZC5zcGxpdChgc2VsZWN0b3I6J2ApWzFdLnNwbGl0KGAnYClbMF07XG4gIH1cbn1cbiJdfQ==
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFXNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSS9EOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdDQUFnQztJQUNwQyxZQUFZLENBQUMsV0FBK0I7UUFDakQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBMEIsRUFBRSxDQUFDO1FBRTFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxVQUFVLENBQUMsV0FBK0I7UUFDaEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2pDLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDO1FBRXRDLE1BQU0sbUJBQW1CLEdBQXlDO1lBQ2hFLCtCQUErQixFQUFFLGNBQWM7WUFDL0MscUJBQXFCLEVBQUUsY0FBYztZQUNyQyxjQUFjLEVBQUUsY0FBYztZQUM5QixjQUFjLEVBQUUsY0FBYztZQUM5QixpQkFBaUIsRUFBRSxjQUFjO1lBQ2pDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsdUJBQXVCLEVBQUUsY0FBYztZQUN2QyxlQUFlLEVBQUUsY0FBYztZQUMvQixnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLDJCQUEyQixFQUFFLGNBQWM7WUFDM0MsbUNBQW1DLEVBQUUsY0FBYztZQUNuRCxpQkFBaUIsRUFBRSxj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bEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhELElBQUksVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDekIsTUFBTSxDQUNKLHFFQUFxRTtnQkFDckUsYUFBYSxVQUFVLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQzVELHdFQUF3RSxDQUN6RSxDQUFDO1NBQ0g7UUFFRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU8sb0JBQW9CLENBQzFCLGtCQUEwQixFQUMxQixVQUFtQztRQUVuQyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLGtCQUFrQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OEdBeGFVLGdDQUFnQztrSEFBaEMsZ0NBQWdDLGNBRi9CLE1BQU07OzJGQUVQLGdDQUFnQztrQkFINUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCBTdGFja0JsaXR6U0RLIGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5cbmltcG9ydCB7XG4gIE9wZW5PcHRpb25zIGFzIFN0YWNrQmxpdHpPcGVuT3B0aW9ucyxcbiAgUHJvamVjdCBhcyBTdGFja0JsaXR6UHJvamVjdCxcbn0gZnJvbSAnQHN0YWNrYmxpdHovc2RrJztcblxuaW1wb3J0IHsgU2t5RG9jc1NvdXJjZUNvZGVGaWxlIH0gZnJvbSAnLi4vc291cmNlLWNvZGUvc291cmNlLWNvZGUtZmlsZSc7XG5cbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyB9IGZyb20gJy4vY29kZS1leGFtcGxlLW1vZHVsZS1kZXBlbmRlbmNpZXMnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZSB9IGZyb20gJy4vY29kZS1leGFtcGxlLXRoZW1lJztcblxuaW1wb3J0IHsgU2t5RG9jc0NvZGVFeGFtcGxlIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2Uge1xuICBwdWJsaWMgbGF1bmNoRWRpdG9yKGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9qZWN0ID0gdGhpcy5nZXRQYXlsb2FkKGNvZGVFeGFtcGxlKTtcbiAgICBjb25zdCBvcHRpb25zOiBTdGFja0JsaXR6T3Blbk9wdGlvbnMgPSB7fTtcblxuICAgIFN0YWNrQmxpdHpTREsub3BlblByb2plY3QocHJvamVjdCwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGdldFBheWxvYWQoY29kZUV4YW1wbGU6IFNreURvY3NDb2RlRXhhbXBsZSk6IFN0YWNrQmxpdHpQcm9qZWN0IHtcbiAgICBjb25zdCBhbmd1bGFyVmVyc2lvbiA9ICdeMTYuMC4wJztcbiAgICBjb25zdCBza3l1eFZlcnNpb24gPSAnXjkuMC4wLWFscGhhLjAnO1xuXG4gICAgY29uc3QgZGVmYXVsdERlcGVuZGVuY2llczogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzID0ge1xuICAgICAgJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Nkayc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NsaSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbW1vbic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbXBpbGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29yZSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Zvcm1zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3JvdXRlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hbmltYXRpb25zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hc3NldHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2NvbmZpZyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29yZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvZXJyb3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9mb3Jtcyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaHR0cCc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaTE4bic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaW5kaWNhdG9ycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvbGF5b3V0Jzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9tb2RhbHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3BhY2thZ2VzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9wb3BvdmVycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcm91dGVyJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC90aGVtZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAdHlwZXMvamFzbWluZSc6ICd+NC4zLjEnLFxuICAgICAgcnhqczogJ143JyxcbiAgICAgIHRzbGliOiAnXjIuNS4wJyxcbiAgICAgIHR5cGVzY3JpcHQ6ICd+NS4xLjYnLFxuICAgICAgJ3pvbmUuanMnOiAnfjAuMTMuMScsXG4gICAgfTtcblxuICAgIGNvbnN0IG1lcmdlZERlcGVuZGVuY2llcyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIGRlZmF1bHREZXBlbmRlbmNpZXMsXG4gICAgICBjb2RlRXhhbXBsZS5wYWNrYWdlRGVwZW5kZW5jaWVzXG4gICAgKTtcblxuICAgIC8vIEVuc3VyZSBhbnkgQHNreXV4IGRlcGVuZGVuY2llcyBsaXN0IHRoZSBjb3JyZWN0IHZlcnNpb24gb2YgU0tZIFVYLlxuICAgIC8vIGUuZy4gYFwiQHNreXV4L2NvcmVcIjogXCIqXCJgIC0tPiBgXCJAc2t5dXgvY29yZVwiOiBcIjUuMC4wXCJgXG4gICAgZm9yIChjb25zdCBwYWNrYWdlTmFtZSBpbiBtZXJnZWREZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgaWYgKG1lcmdlZERlcGVuZGVuY2llcy5oYXNPd25Qcm9wZXJ0eShwYWNrYWdlTmFtZSkpIHtcbiAgICAgICAgY29uc3QgdmVyc2lvbiA9IG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV07XG4gICAgICAgIGlmIChcbiAgICAgICAgICB2ZXJzaW9uID09PSAnKicgJiZcbiAgICAgICAgICAvXihAYmxhY2tiYXVkXFwvc2t5dXgtbGliLXxAc2t5dXgpLy50ZXN0KHBhY2thZ2VOYW1lKVxuICAgICAgICApIHtcbiAgICAgICAgICBtZXJnZWREZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdID0gc2t5dXhWZXJzaW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZXMgPSB0aGlzLnBhcnNlU3RhY2tCbGl0ekZpbGVzKFxuICAgICAgY29kZUV4YW1wbGUuc291cmNlQ29kZSxcbiAgICAgIG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnRoZW1lLFxuICAgICAgY29kZUV4YW1wbGUuc3R5bGVzaGVldHNcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVzLFxuICAgICAgdGl0bGU6ICdTS1kgVVggRGVtbycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIHRlbXBsYXRlOiAnYW5ndWxhci1jbGknLFxuICAgICAgZGVwZW5kZW5jaWVzOiBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBzZXR0aW5nczoge1xuICAgICAgICBjb21waWxlOiB7XG4gICAgICAgICAgY2xlYXJDb25zb2xlOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW10sXG4gICAgZGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMsXG4gICAgdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLFxuICAgIHN0eWxlc2hlZXRzOiBzdHJpbmdbXSA9IFtdXG4gICk6IHtcbiAgICBbcGF0aDogc3RyaW5nXTogc3RyaW5nO1xuICB9IHtcbiAgICBjb25zdCBzcmNQYXRoID0gJ3NyYy8nO1xuICAgIGNvbnN0IGFwcFBhdGggPSBgJHtzcmNQYXRofWFwcC9gO1xuXG4gICAgY29uc3QgYmFubmVyID0gYC8qKlxuICogVGhpcyBmaWxlIGlzIG5lZWRlZCBmb3IgdGhlIFN0YWNrQmxpdHogZGVtbyBvbmx5LlxuICogSXQgaXMgYXV0b21hdGljYWxseSBwcm92aWRlZCB3aGVuIHVzaW5nIHRoZSBBbmd1bGFyIENMSS5cbiAqKi9cbiBgO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0U3RhdGVtZW50czogc3RyaW5nW10gPSBbXG4gICAgICBgaW1wb3J0IHtcXG4gIE5nTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBGb3Jtc01vZHVsZSxcXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBSb3V0ZXJNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgU2t5QXBwTG9jYWxlUHJvdmlkZXJcXG59IGZyb20gJ0Bza3l1eC9pMThuJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lUaGVtZVNlcnZpY2VcXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mXFxufSBmcm9tICdyeGpzJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBBcHBDb21wb25lbnRcXG59IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7YCxcbiAgICBdO1xuXG4gICAgY29uc3QgbW9kdWxlSW1wb3J0czogc3RyaW5nW10gPSBbXG4gICAgICAnQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUnLFxuICAgICAgJ0Zvcm1zTW9kdWxlJyxcbiAgICAgICdSZWFjdGl2ZUZvcm1zTW9kdWxlJyxcbiAgICAgICdSb3V0ZXJNb2R1bGUuZm9yUm9vdChbXSknLFxuICAgIF07XG5cbiAgICBjb25zdCBmaWxlczogeyBbXzogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcblxuICAgIGxldCBhcHBDb21wb25lbnRUZW1wbGF0ZSA9ICcnO1xuXG4gICAgc291cmNlQ29kZS5mb3JFYWNoKChmaWxlKSA9PiB7XG4gICAgICBmaWxlc1tgJHthcHBQYXRofSR7ZmlsZS5maWxlTmFtZX1gXSA9IGZpbGUucmF3Q29udGVudHM7XG5cbiAgICAgIC8vIFNldHVwIG1vZHVsZSBpbXBvcnRzIGFuZCBjb21wb25lbnQgc2VsZWN0b3JzLlxuICAgICAgaWYgKGZpbGUuZmlsZU5hbWUuaW5kZXhPZignLm1vZHVsZS50cycpID4gLTEpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IHRoaXMuZ2V0TW9kdWxlTmFtZShmaWxlLnJhd0NvbnRlbnRzKTtcbiAgICAgICAgY29uc3QgaW1wb3J0UGF0aCA9IGAuLyR7dGhpcy5nZXRGaWxlbmFtZU5vRXh0ZW5zaW9uKGZpbGUuZmlsZU5hbWUpfWA7XG5cbiAgICAgICAgY29uc3QgZXhwb3J0ZWRDb21wb25lbnQgPSB0aGlzLmdldEV4cG9ydGVkQ29tcG9uZW50KGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9IHRoaXMuZ2V0Q29tcG9uZW50U2VsZWN0b3IoXG4gICAgICAgICAgZXhwb3J0ZWRDb21wb25lbnQsXG4gICAgICAgICAgc291cmNlQ29kZVxuICAgICAgICApO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0+PC8ke2NvbXBvbmVudFNlbGVjdG9yfT5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChtb2R1bGVOYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQge1xcbiAgJHttb2R1bGVOYW1lfVxcbn0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAuY29tcG9uZW50LnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWUsXG4gIFNreVRoZW1lTW9kZSxcbiAgU2t5VGhlbWVTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kZW1vLWFwcCcsXG4gIHRlbXBsYXRlOiAnJHthcHBDb21wb25lbnRUZW1wbGF0ZX0nXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSxcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIGNvbnN0IHRoZW1lU2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgIFNreVRoZW1lLnByZXNldHNbJyR7XG4gICAgICAgIHRoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J1xuICAgICAgfSddLFxuICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICApO1xuXG4gICAgdGhlbWVTdmMuaW5pdChcbiAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICByZW5kZXJlcixcbiAgICAgIHRoZW1lU2V0dGluZ3NcbiAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG48aGVhZD5cbiAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCI+XG4gIDx0aXRsZT5Ta3kgVVggRGVtbzwvdGl0bGU+XG4gIDxiYXNlIGhyZWY9XCIvXCI+XG4gIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiPlxuICA8IS0tXG4gICAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gICAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrYmxpdHovY29yZS9pc3N1ZXMvMTMzXG4gIC0tPlxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIC8+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvNi4wLjAvYXNzZXRzL2Nzcy9za3l1eC1pY29ucy5taW4uY3NzXCIgLz5cbjwvaGVhZD5cbjxib2R5PlxuICA8c2t5LWRlbW8tYXBwPlxuICAgIExvYWRpbmcuLi5cbiAgPC9za3ktZGVtby1hcHA+XG48L2JvZHk+XG48L2h0bWw+XG5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1tYWluLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJ3pvbmUuanMnO1xuaW1wb3J0ICdAc2t5dXgvcGFja2FnZXMvcG9seWZpbGxzJztcblxuaW1wb3J0IHtcbiAgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1xufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyLWR5bmFtaWMnO1xuXG5pbXBvcnQge1xuICBBcHBNb2R1bGVcbn0gZnJvbSAnLi9hcHAvYXBwLm1vZHVsZSc7XG5cbnBsYXRmb3JtQnJvd3NlckR5bmFtaWMoKVxuICAuYm9vdHN0cmFwTW9kdWxlKEFwcE1vZHVsZSlcbiAgLmNhdGNoKChlcnIpID0+IGNvbnNvbGUuZXJyb3IoZXJyKSk7XG5cbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofXN0eWxlcy5zY3NzYF0gPSBgQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy9za3knO1xuQGltcG9ydCAnQHNreXV4L3RoZW1lL2Nzcy90aGVtZXMvbW9kZXJuL3N0eWxlcyc7XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDE1cHg7XG59YDtcblxuICAgIHN0eWxlc2hlZXRzLnB1c2goJ3NyYy9zdHlsZXMuc2NzcycpO1xuXG4gICAgZmlsZXNbJ2FuZ3VsYXIuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgICRzY2hlbWE6ICcuL25vZGVfbW9kdWxlcy9AYW5ndWxhci9jbGkvbGliL2NvbmZpZy9zY2hlbWEuanNvbicsXG4gICAgICAgIHZlcnNpb246IDEsXG4gICAgICAgIHByb2plY3RzOiB7XG4gICAgICAgICAgZGVtbzoge1xuICAgICAgICAgICAgcHJvamVjdFR5cGU6ICdhcHBsaWNhdGlvbicsXG4gICAgICAgICAgICByb290OiAnJyxcbiAgICAgICAgICAgIHNvdXJjZVJvb3Q6ICdzcmMnLFxuICAgICAgICAgICAgcHJlZml4OiAnYXBwJyxcbiAgICAgICAgICAgIGFyY2hpdGVjdDoge1xuICAgICAgICAgICAgICBidWlsZDoge1xuICAgICAgICAgICAgICAgIGJ1aWxkZXI6ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpicm93c2VyJyxcbiAgICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBpbmRleDogJ3NyYy9pbmRleC5odG1sJyxcbiAgICAgICAgICAgICAgICAgIG1haW46ICdzcmMvbWFpbi50cycsXG4gICAgICAgICAgICAgICAgICB0c0NvbmZpZzogJ3RzY29uZmlnLmFwcC5qc29uJyxcbiAgICAgICAgICAgICAgICAgIGlubGluZVN0eWxlTGFuZ3VhZ2U6ICdzY3NzJyxcbiAgICAgICAgICAgICAgICAgIHN0eWxlczogc3R5bGVzaGVldHMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRPcHRpbWl6ZXI6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBvcHRpbWl6YXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB2ZW5kb3JDaHVuazogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmFjdExpY2Vuc2VzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBuYW1lZENodW5rczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2VydmU6IHtcbiAgICAgICAgICAgICAgICBidWlsZGVyOiAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXI6ZGV2LXNlcnZlcicsXG4gICAgICAgICAgICAgICAgY29uZmlndXJhdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGRldmVsb3BtZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGJyb3dzZXJUYXJnZXQ6ICdkZW1vOmJ1aWxkOmRldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29uZmlndXJhdGlvbjogJ2RldmVsb3BtZW50JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGZpbGVzWydwYWNrYWdlLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2t5dXgtc3BhLWRlbW8nLFxuICAgICAgICBkZXBlbmRlbmNpZXMsXG4gICAgICAgIHNjcmlwdHM6IHtcbiAgICAgICAgICBzdGFydDogJ25nIHNlcnZlJyxcbiAgICAgICAgICBidWlsZDogJ25nIGJ1aWxkJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5hcHAuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGV4dGVuZHM6ICcuL3RzY29uZmlnLmpzb24nLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBvdXREaXI6ICcuL291dC10c2MvYXBwJyxcbiAgICAgICAgICB0eXBlczogW10sXG4gICAgICAgIH0sXG4gICAgICAgIGZpbGVzOiBbJ3NyYy9tYWluLnRzJ10sXG4gICAgICAgIGluY2x1ZGU6IFsnc3JjLyoqLyouZC50cyddLFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3RzY29uZmlnLmpzb24nXSA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAge1xuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBzdHJpY3Q6IHRydWUsXG4gICAgICAgICAgZm9yY2VDb25zaXN0ZW50Q2FzaW5nSW5GaWxlTmFtZXM6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdE92ZXJyaWRlOiB0cnVlLFxuICAgICAgICAgIG5vUHJvcGVydHlBY2Nlc3NGcm9tSW5kZXhTaWduYXR1cmU6IHRydWUsXG4gICAgICAgICAgbm9JbXBsaWNpdFJldHVybnM6IHRydWUsXG4gICAgICAgICAgbm9GYWxsdGhyb3VnaENhc2VzSW5Td2l0Y2g6IHRydWUsXG4gICAgICAgICAgc291cmNlTWFwOiB0cnVlLFxuICAgICAgICAgIGRlY2xhcmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICBkb3dubGV2ZWxJdGVyYXRpb246IHRydWUsXG4gICAgICAgICAgZXNNb2R1bGVJbnRlcm9wOiB0cnVlLFxuICAgICAgICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IHRydWUsXG4gICAgICAgICAgbW9kdWxlUmVzb2x1dGlvbjogJ25vZGUnLFxuICAgICAgICAgIGltcG9ydEhlbHBlcnM6IHRydWUsXG4gICAgICAgICAgdHlwZVJvb3RzOiBbJ25vZGVfbW9kdWxlcy9AdHlwZXMnXSxcbiAgICAgICAgICB0YXJnZXQ6ICdFUzIwMjInLFxuICAgICAgICAgIG1vZHVsZTogJ0VTMjAyMicsXG4gICAgICAgICAgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM6IGZhbHNlLFxuICAgICAgICAgIGxpYjogWydFUzIwMjInLCAnZG9tJ10sXG4gICAgICAgIH0sXG4gICAgICAgIGFuZ3VsYXJDb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBmdWxsVGVtcGxhdGVUeXBlQ2hlY2s6IHRydWUsXG4gICAgICAgICAgZW5hYmxlSTE4bkxlZ2FjeU1lc3NhZ2VJZEZvcm1hdDogZmFsc2UsXG4gICAgICAgICAgc3RyaWN0SW5qZWN0aW9uUGFyYW1ldGVyczogdHJ1ZSxcbiAgICAgICAgICBzdHJpY3RJbnB1dEFjY2Vzc01vZGlmaWVyczogdHJ1ZSxcbiAgICAgICAgICBzdHJpY3RUZW1wbGF0ZXM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgMlxuICAgICk7XG5cbiAgICByZXR1cm4gZmlsZXM7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZHVsZU5hbWUoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNvbnRlbnRzLnNwbGl0KCdleHBvcnQgY2xhc3MgJylbMV0uc3BsaXQoJyB7JylbMF07XG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZU5hbWUuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICByZXR1cm4gZmlsZU5hbWUucmVwbGFjZShgLiR7ZXh0ZW5zaW9ufWAsICcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXhwb3J0ZWRDb21wb25lbnQoY29udGVudHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGNvbnRlbnRzLnJlcGxhY2UoL1xccy9nLCAnJyk7XG5cbiAgICBsZXQgZnJhZ21lbnQgPSB0cmltbWVkLnNwbGl0KCdleHBvcnRzOlsnKVsxXTtcbiAgICBpZiAoIWZyYWdtZW50KSB7XG4gICAgICB0aHJvdyAnWW91IG11c3QgZXhwb3J0IGEgY29tcG9uZW50IGZyb20gdGhlIGNvZGUgZXhhbXBsZSBtb2R1bGUhJztcbiAgICB9XG5cbiAgICBmcmFnbWVudCA9IGZyYWdtZW50LnNwbGl0KCddJylbMF07XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gZnJhZ21lbnQuc3BsaXQoJywnKS5maWx0ZXIoKHgpID0+IHgpO1xuXG4gICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgKFxuICAgICAgICAnWW91IG1heSBvbmx5IGV4cG9ydCBhIHNpbmdsZSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZScgK1xuICAgICAgICBgKHdlIGZvdW5kICR7Y29tcG9uZW50cy5sZW5ndGh9OiAke2NvbXBvbmVudHMuam9pbignLCAnKX0pLmAgK1xuICAgICAgICAnSXMgaXQgcG9zc2libGUgdG8gY3JlYXRlIGEgbmV3IGNvZGUgZXhhbXBsZSB3aXRoIHRoZSBleHRyYSBjb21wb25lbnRzPydcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gIH1cblxuICBwcml2YXRlIGdldENvbXBvbmVudFNlbGVjdG9yKFxuICAgIGNvbXBvbmVudENsYXNzTmFtZTogc3RyaW5nLFxuICAgIHNvdXJjZUNvZGU6IFNreURvY3NTb3VyY2VDb2RlRmlsZVtdXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgZm91bmQgPSBzb3VyY2VDb2RlLmZpbmQoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiBmaWxlLnJhd0NvbnRlbnRzLmluZGV4T2YoYGNsYXNzICR7Y29tcG9uZW50Q2xhc3NOYW1lfWApID4gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmltbWVkID0gZm91bmQucmF3Q29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIHJldHVybiB0cmltbWVkLnNwbGl0KGBzZWxlY3RvcjonYClbMV0uc3BsaXQoYCdgKVswXTtcbiAgfVxufVxuIl19
@@ -302,13 +302,16 @@ class SkyDocsCodeExamplesEditorService {
302
302
  StackBlitzSDK.openProject(project, options);
303
303
  }
304
304
  getPayload(codeExample) {
305
- const angularVersion = '^15.0.0';
306
- const skyuxVersion = '^8.0.0';
305
+ const angularVersion = '^16.0.0';
306
+ const skyuxVersion = '^9.0.0-alpha.0';
307
307
  const defaultDependencies = {
308
+ '@angular-devkit/build-angular': angularVersion,
308
309
  '@angular/animations': angularVersion,
309
310
  '@angular/cdk': angularVersion,
311
+ '@angular/cli': angularVersion,
310
312
  '@angular/common': angularVersion,
311
313
  '@angular/compiler': angularVersion,
314
+ '@angular/compiler-cli': angularVersion,
312
315
  '@angular/core': angularVersion,
313
316
  '@angular/forms': angularVersion,
314
317
  '@angular/platform-browser': angularVersion,
@@ -329,12 +332,11 @@ class SkyDocsCodeExamplesEditorService {
329
332
  '@skyux/popovers': skyuxVersion,
330
333
  '@skyux/router': skyuxVersion,
331
334
  '@skyux/theme': skyuxVersion,
332
- '@types/jasmine': '~4.0.3',
333
- // We must define Dragula deliberately so that StackBlitz runs NGCC against it.
334
- 'ng2-dragula': '2.1.1',
335
+ '@types/jasmine': '~4.3.1',
335
336
  rxjs: '^7',
336
- tslib: '^2.3.0',
337
- 'zone.js': '~0.12.0',
337
+ tslib: '^2.5.0',
338
+ typescript: '~5.1.6',
339
+ 'zone.js': '~0.13.1',
338
340
  };
339
341
  const mergedDependencies = Object.assign({}, defaultDependencies, codeExample.packageDependencies);
340
342
  // Ensure any @skyux dependencies list the correct version of SKY UX.
@@ -512,23 +514,65 @@ body {
512
514
  }`;
513
515
  stylesheets.push('src/styles.scss');
514
516
  files['angular.json'] = JSON.stringify({
517
+ $schema: './node_modules/@angular/cli/lib/config/schema.json',
518
+ version: 1,
515
519
  projects: {
516
520
  demo: {
521
+ projectType: 'application',
522
+ root: '',
523
+ sourceRoot: 'src',
524
+ prefix: 'app',
517
525
  architect: {
518
526
  build: {
527
+ builder: '@angular-devkit/build-angular:browser',
519
528
  options: {
520
529
  index: 'src/index.html',
521
530
  main: 'src/main.ts',
531
+ tsConfig: 'tsconfig.app.json',
522
532
  inlineStyleLanguage: 'scss',
523
533
  styles: stylesheets,
524
534
  },
535
+ configurations: {
536
+ development: {
537
+ buildOptimizer: false,
538
+ optimization: false,
539
+ vendorChunk: true,
540
+ extractLicenses: false,
541
+ sourceMap: true,
542
+ namedChunks: true,
543
+ },
544
+ },
545
+ defaultConfiguration: 'development',
546
+ },
547
+ serve: {
548
+ builder: '@angular-devkit/build-angular:dev-server',
549
+ configurations: {
550
+ development: {
551
+ browserTarget: 'demo:build:development',
552
+ },
553
+ },
554
+ defaultConfiguration: 'development',
525
555
  },
526
556
  },
527
557
  },
528
558
  },
529
559
  }, undefined, 2);
530
560
  files['package.json'] = JSON.stringify({
561
+ name: 'skyux-spa-demo',
531
562
  dependencies,
563
+ scripts: {
564
+ start: 'ng serve',
565
+ build: 'ng build',
566
+ },
567
+ }, undefined, 2);
568
+ files['tsconfig.app.json'] = JSON.stringify({
569
+ extends: './tsconfig.json',
570
+ compilerOptions: {
571
+ outDir: './out-tsc/app',
572
+ types: [],
573
+ },
574
+ files: ['src/main.ts'],
575
+ include: ['src/**/*.d.ts'],
532
576
  }, undefined, 2);
533
577
  files['tsconfig.json'] = JSON.stringify({
534
578
  compilerOptions: {