@skyux/docs-tools 9.1.2 → 9.1.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.
@@ -14,7 +14,7 @@ export class SkyDocsCodeExamplesEditorService {
14
14
  StackBlitzSDK.openProject(project, options);
15
15
  }
16
16
  #getPayload(codeExample) {
17
- const angularVersion = `^${ANGULAR_VERSION.full}`;
17
+ const angularVersion = `^${ANGULAR_VERSION.major}`;
18
18
  const skyuxVersion = `^${SKY_UX_VERSION.full}`;
19
19
  const defaultDependencies = {
20
20
  '@angular-devkit/build-angular': angularVersion,
@@ -45,6 +45,7 @@ export class SkyDocsCodeExamplesEditorService {
45
45
  '@skyux/router': skyuxVersion,
46
46
  '@skyux/theme': skyuxVersion,
47
47
  '@types/jasmine': '~4.3.1',
48
+ 'ng2-dragula': '^5.0.1',
48
49
  rxjs: '^7',
49
50
  tslib: '^2.5.0',
50
51
  typescript: '~5.1.6',
@@ -364,4 +365,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
364
365
  providedIn: 'root',
365
366
  }]
366
367
  }] });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxJQUFJLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxJQUFJLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9ELE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFDO0FBVTVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUvRDs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDcEMsWUFBWSxDQUFDLFdBQStCO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQTBCLEVBQUUsQ0FBQztRQUUxQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQStCO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xELE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRS9DLE1BQU0sbUJBQW1CLEdBQXlDO1lBQ2hFLCtCQUErQixFQUFFLGNBQWM7WUFDL0MscUJBQXFCLEVBQUUsY0FBYztZQUNyQyxjQUFjLEVBQUUsY0FBYztZQUM5QixjQUFjLEVBQUUsY0FBYztZQUM5QixpQkFBaUIsRUFB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LEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOzhHQXRiVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQUYvQixNQUFNOzsyRkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkVSU0lPTiBhcyBBTkdVTEFSX1ZFUlNJT04sIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04gYXMgU0tZX1VYX1ZFUlNJT04gfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OIGFzIFNLWV9VWF9JQ09OU19WRVJTSU9OIH0gZnJvbSAnQHNreXV4L2ljb25zJztcbmltcG9ydCBTdGFja0JsaXR6U0RLIGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5pbXBvcnQge1xuICBPcGVuT3B0aW9ucyBhcyBTdGFja0JsaXR6T3Blbk9wdGlvbnMsXG4gIFByb2plY3QgYXMgU3RhY2tCbGl0elByb2plY3QsXG59IGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5cbmltcG9ydCB7IFNreURvY3NTb3VyY2VDb2RlRmlsZSB9IGZyb20gJy4uL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLWZpbGUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGUgfSBmcm9tICcuL2NvZGUtZXhhbXBsZSc7XG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMgfSBmcm9tICcuL2NvZGUtZXhhbXBsZS1tb2R1bGUtZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtdGhlbWUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2Uge1xuICBwdWJsaWMgbGF1bmNoRWRpdG9yKGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9qZWN0ID0gdGhpcy4jZ2V0UGF5bG9hZChjb2RlRXhhbXBsZSk7XG4gICAgY29uc3Qgb3B0aW9uczogU3RhY2tCbGl0ek9wZW5PcHRpb25zID0ge307XG5cbiAgICBTdGFja0JsaXR6U0RLLm9wZW5Qcm9qZWN0KHByb2plY3QsIG9wdGlvbnMpO1xuICB9XG5cbiAgI2dldFBheWxvYWQoY29kZUV4YW1wbGU6IFNreURvY3NDb2RlRXhhbXBsZSk6IFN0YWNrQmxpdHpQcm9qZWN0IHtcbiAgICBjb25zdCBhbmd1bGFyVmVyc2lvbiA9IGBeJHtBTkdVTEFSX1ZFUlNJT04uZnVsbH1gO1xuICAgIGNvbnN0IHNreXV4VmVyc2lvbiA9IGBeJHtTS1lfVVhfVkVSU0lPTi5mdWxsfWA7XG5cbiAgICBjb25zdCBkZWZhdWx0RGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMgPSB7XG4gICAgICAnQGFuZ3VsYXItZGV2a2l0L2J1aWxkLWFuZ3VsYXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9hbmltYXRpb25zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY2RrJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY2xpJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tbW9uJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb21waWxlci1jbGknOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb3JlJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvZm9ybXMnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcm91dGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQHNreXV4L2FuaW1hdGlvbnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Fzc2V0cyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29uZmlnJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9jb3JlJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9lcnJvcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Zvcm1zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9odHRwJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pMThuJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pbmRpY2F0b3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9sYXlvdXQnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L21vZGFscyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcGFja2FnZXMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3BvcG92ZXJzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9yb3V0ZXInOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3RoZW1lJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0B0eXBlcy9qYXNtaW5lJzogJ340LjMuMScsXG4gICAgICByeGpzOiAnXjcnLFxuICAgICAgdHNsaWI6ICdeMi41LjAnLFxuICAgICAgdHlwZXNjcmlwdDogJ341LjEuNicsXG4gICAgICAnem9uZS5qcyc6ICd+MC4xMy4xJyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkRGVwZW5kZW5jaWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgZGVmYXVsdERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnBhY2thZ2VEZXBlbmRlbmNpZXNcbiAgICApO1xuXG4gICAgLy8gRW5zdXJlIGFueSBAc2t5dXggZGVwZW5kZW5jaWVzIGxpc3QgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBTS1kgVVguXG4gICAgLy8gZS5nLiBgXCJAc2t5dXgvY29yZVwiOiBcIipcImAgLS0+IGBcIkBza3l1eC9jb3JlXCI6IFwiNS4wLjBcImBcbiAgICBmb3IgKGNvbnN0IHBhY2thZ2VOYW1lIGluIG1lcmdlZERlcGVuZGVuY2llcykge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICBpZiAobWVyZ2VkRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHBhY2thZ2VOYW1lKSkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gbWVyZ2VkRGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZlcnNpb24gPT09ICcqJyAmJlxuICAgICAgICAgIC9eKEBibGFja2JhdWRcXC9za3l1eC1saWItfEBza3l1eCkvLnRlc3QocGFja2FnZU5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gPSBza3l1eFZlcnNpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWxlcyA9IHRoaXMucGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgICBjb2RlRXhhbXBsZS5zb3VyY2VDb2RlLFxuICAgICAgbWVyZ2VkRGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUudGhlbWUsXG4gICAgICBjb2RlRXhhbXBsZS5zdHlsZXNoZWV0c1xuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlsZXMsXG4gICAgICB0aXRsZTogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU0tZIFVYIERlbW8nLFxuICAgICAgdGVtcGxhdGU6ICdhbmd1bGFyLWNsaScsXG4gICAgICBkZXBlbmRlbmNpZXM6IG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXSxcbiAgICBkZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyxcbiAgICB0aGVtZTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUsXG4gICAgc3R5bGVzaGVldHM6IHN0cmluZ1tdID0gW11cbiAgKToge1xuICAgIFtwYXRoOiBzdHJpbmddOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IHNyY1BhdGggPSAnc3JjLyc7XG4gICAgY29uc3QgYXBwUGF0aCA9IGAke3NyY1BhdGh9YXBwL2A7XG5cbiAgICBjb25zdCBiYW5uZXIgPSBgLyoqXG4gKiBUaGlzIGZpbGUgaXMgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gKiBJdCBpcyBhdXRvbWF0aWNhbGx5IHByb3ZpZGVkIHdoZW4gdXNpbmcgdGhlIEFuZ3VsYXIgQ0xJLlxuICoqL1xuIGA7XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRTdGF0ZW1lbnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgIGBpbXBvcnQge1xcbiAgTmdNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEZvcm1zTW9kdWxlLFxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIFJvdXRlck1vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lBcHBMb2NhbGVQcm92aWRlclxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIFNreVRoZW1lU2VydmljZVxcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBvZiBhcyBvYnNlcnZhYmxlT2ZcXG59IGZyb20gJ3J4anMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEFwcENvbXBvbmVudFxcbn0gZnJvbSAnLi9hcHAuY29tcG9uZW50JztgLFxuICAgIF07XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICdCcm93c2VyQW5pbWF0aW9uc01vZHVsZScsXG4gICAgICAnRm9ybXNNb2R1bGUnLFxuICAgICAgJ1JlYWN0aXZlRm9ybXNNb2R1bGUnLFxuICAgICAgJ1JvdXRlck1vZHVsZS5mb3JSb290KFtdKScsXG4gICAgXTtcblxuICAgIGNvbnN0IGZpbGVzOiB7IFtfOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuXG4gICAgbGV0IGFwcENvbXBvbmVudFRlbXBsYXRlID0gJyc7XG5cbiAgICBzb3VyY2VDb2RlLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGZpbGVzW2Ake2FwcFBhdGh9JHtmaWxlLmZpbGVOYW1lfWBdID0gZmlsZS5yYXdDb250ZW50cztcblxuICAgICAgLy8gU2V0dXAgbW9kdWxlIGltcG9ydHMgYW5kIGNvbXBvbmVudCBzZWxlY3RvcnMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZS5pbmRleE9mKCcubW9kdWxlLnRzJykgPiAtMSkge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdGhpcy5nZXRNb2R1bGVOYW1lKGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBpbXBvcnRQYXRoID0gYC4vJHt0aGlzLmdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZS5maWxlTmFtZSl9YDtcblxuICAgICAgICBjb25zdCBleHBvcnRlZENvbXBvbmVudCA9IHRoaXMuZ2V0RXhwb3J0ZWRDb21wb25lbnQoZmlsZS5yYXdDb250ZW50cyk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFNlbGVjdG9yID0gdGhpcy5nZXRDb21wb25lbnRTZWxlY3RvcihcbiAgICAgICAgICBleHBvcnRlZENvbXBvbmVudCxcbiAgICAgICAgICBzb3VyY2VDb2RlXG4gICAgICAgICk7XG5cbiAgICAgICAgYXBwQ29tcG9uZW50VGVtcGxhdGUgKz0gYDwke2NvbXBvbmVudFNlbGVjdG9yfT48LyR7Y29tcG9uZW50U2VsZWN0b3J9PmA7XG5cbiAgICAgICAgbW9kdWxlSW1wb3J0cy5wdXNoKG1vZHVsZU5hbWUpO1xuICAgICAgICBtb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgYGltcG9ydCB7XFxuICAke21vZHVsZU5hbWV9XFxufSBmcm9tICcke2ltcG9ydFBhdGh9JztgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0YW5kYWxvbmUgZW50cnkgY29tcG9uZW50cyBhcmUgbmFtZWQgZGVtby5jb21wb25lbnQudHMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZSA9PT0gJ2RlbW8uY29tcG9uZW50LnRzJykge1xuICAgICAgICBjb25zdCBjb21wb25lbnROYW1lID0gJ0RlbW9Db21wb25lbnQnO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9ICdhcHAtZGVtbyc7XG4gICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBgLi8ke3RoaXMuZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlLmZpbGVOYW1lKX1gO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0gLz5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChjb21wb25lbnROYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQge1xcbiAgJHtjb21wb25lbnROYW1lfVxcbn0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAuY29tcG9uZW50LnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWUsXG4gIFNreVRoZW1lTW9kZSxcbiAgU2t5VGhlbWVTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kZW1vLWFwcCcsXG4gIHRlbXBsYXRlOiAnJHthcHBDb21wb25lbnRUZW1wbGF0ZX0nXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSxcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIGNvbnN0IHRoZW1lU2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgIFNreVRoZW1lLnByZXNldHNbJyR7XG4gICAgICAgIHRoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J1xuICAgICAgfSddLFxuICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICApO1xuXG4gICAgdGhlbWVTdmMuaW5pdChcbiAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICByZW5kZXJlcixcbiAgICAgIHRoZW1lU2V0dGluZ3NcbiAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG48aGVhZD5cbiAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCI+XG4gIDx0aXRsZT5Ta3kgVVggRGVtbzwvdGl0bGU+XG4gIDxiYXNlIGhyZWY9XCIvXCI+XG4gIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiPlxuICA8IS0tXG4gICAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gICAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrYmxpdHovY29yZS9pc3N1ZXMvMTMzXG4gIC0tPlxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIC8+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvJHtTS1lfVVhfSUNPTlNfVkVSU0lPTi5mdWxsfS9hc3NldHMvY3NzL3NreXV4LWljb25zLm1pbi5jc3NcIiAvPlxuPC9oZWFkPlxuPGJvZHk+XG4gIDxza3ktZGVtby1hcHA+XG4gICAgTG9hZGluZy4uLlxuICA8L3NreS1kZW1vLWFwcD5cbjwvYm9keT5cbjwvaHRtbD5cbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofW1haW4udHNgXSA9IGAke2Jhbm5lcn1cbmltcG9ydCAnem9uZS5qcyc7XG5pbXBvcnQgJ0Bza3l1eC9wYWNrYWdlcy9wb2x5ZmlsbHMnO1xuXG5pbXBvcnQge1xuICBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XG5cbmltcG9ydCB7XG4gIEFwcE1vZHVsZVxufSBmcm9tICcuL2FwcC9hcHAubW9kdWxlJztcblxucGxhdGZvcm1Ccm93c2VyRHluYW1pYygpXG4gIC5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKVxuICAuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcblxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9c3R5bGVzLnNjc3NgXSA9IGBAaW1wb3J0ICdAc2t5dXgvdGhlbWUvY3NzL3NreSc7XG5AaW1wb3J0ICdAc2t5dXgvdGhlbWUvY3NzL3RoZW1lcy9tb2Rlcm4vc3R5bGVzJztcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMTVweDtcbn1gO1xuXG4gICAgc3R5bGVzaGVldHMucHVzaCgnc3JjL3N0eWxlcy5zY3NzJyk7XG5cbiAgICBmaWxlc1snYW5ndWxhci5qc29uJ10gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHtcbiAgICAgICAgJHNjaGVtYTogJy4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL2NsaS9saWIvY29uZmlnL3NjaGVtYS5qc29uJyxcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgcHJvamVjdHM6IHtcbiAgICAgICAgICBkZW1vOiB7XG4gICAgICAgICAgICBwcm9qZWN0VHlwZTogJ2FwcGxpY2F0aW9uJyxcbiAgICAgICAgICAgIHJvb3Q6ICcnLFxuICAgICAgICAgICAgc291cmNlUm9vdDogJ3NyYycsXG4gICAgICAgICAgICBwcmVmaXg6ICdhcHAnLFxuICAgICAgICAgICAgYXJjaGl0ZWN0OiB7XG4gICAgICAgICAgICAgIGJ1aWxkOiB7XG4gICAgICAgICAgICAgICAgYnVpbGRlcjogJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmJyb3dzZXInLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGluZGV4OiAnc3JjL2luZGV4Lmh0bWwnLFxuICAgICAgICAgICAgICAgICAgbWFpbjogJ3NyYy9tYWluLnRzJyxcbiAgICAgICAgICAgICAgICAgIHRzQ29uZmlnOiAndHNjb25maWcuYXBwLmpzb24nLFxuICAgICAgICAgICAgICAgICAgaW5saW5lU3R5bGVMYW5ndWFnZTogJ3Njc3MnLFxuICAgICAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXNoZWV0cyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBkZXZlbG9wbWVudDoge1xuICAgICAgICAgICAgICAgICAgICBidWlsZE9wdGltaXplcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHZlbmRvckNodW5rOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBleHRyYWN0TGljZW5zZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG5hbWVkQ2h1bmtzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb25maWd1cmF0aW9uOiAnZGV2ZWxvcG1lbnQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzZXJ2ZToge1xuICAgICAgICAgICAgICAgIGJ1aWxkZXI6ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpkZXYtc2VydmVyJyxcbiAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnJvd3NlclRhcmdldDogJ2RlbW86YnVpbGQ6ZGV2ZWxvcG1lbnQnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb25maWd1cmF0aW9uOiAnZGV2ZWxvcG1lbnQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3BhY2thZ2UuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdza3l1eC1zcGEtZGVtbycsXG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgc2NyaXB0czoge1xuICAgICAgICAgIHN0YXJ0OiAnbmcgc2VydmUnLFxuICAgICAgICAgIGJ1aWxkOiAnbmcgYnVpbGQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3RzY29uZmlnLmFwcC5qc29uJ10gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHtcbiAgICAgICAgZXh0ZW5kczogJy4vdHNjb25maWcuanNvbicsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIG91dERpcjogJy4vb3V0LXRzYy9hcHAnLFxuICAgICAgICAgIHR5cGVzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgZmlsZXM6IFsnc3JjL21haW4udHMnXSxcbiAgICAgICAgaW5jbHVkZTogWydzcmMvKiovKi5kLnRzJ10sXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgMlxuICAgICk7XG5cbiAgICBmaWxlc1sndHNjb25maWcuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgICBmb3JjZUNvbnNpc3RlbnRDYXNpbmdJbkZpbGVOYW1lczogdHJ1ZSxcbiAgICAgICAgICBub0ltcGxpY2l0T3ZlcnJpZGU6IHRydWUsXG4gICAgICAgICAgbm9Qcm9wZXJ0eUFjY2Vzc0Zyb21JbmRleFNpZ25hdHVyZTogdHJ1ZSxcbiAgICAgICAgICBub0ltcGxpY2l0UmV0dXJuczogdHJ1ZSxcbiAgICAgICAgICBub0ZhbGx0aHJvdWdoQ2FzZXNJblN3aXRjaDogdHJ1ZSxcbiAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgIGRvd25sZXZlbEl0ZXJhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICAgICAgZXhwZXJpbWVudGFsRGVjb3JhdG9yczogdHJ1ZSxcbiAgICAgICAgICBtb2R1bGVSZXNvbHV0aW9uOiAnbm9kZScsXG4gICAgICAgICAgaW1wb3J0SGVscGVyczogdHJ1ZSxcbiAgICAgICAgICB0eXBlUm9vdHM6IFsnbm9kZV9tb2R1bGVzL0B0eXBlcyddLFxuICAgICAgICAgIHRhcmdldDogJ0VTMjAyMicsXG4gICAgICAgICAgbW9kdWxlOiAnRVMyMDIyJyxcbiAgICAgICAgICB1c2VEZWZpbmVGb3JDbGFzc0ZpZWxkczogZmFsc2UsXG4gICAgICAgICAgbGliOiBbJ0VTMjAyMicsICdkb20nXSxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ndWxhckNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIGZ1bGxUZW1wbGF0ZVR5cGVDaGVjazogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVJMThuTGVnYWN5TWVzc2FnZUlkRm9ybWF0OiBmYWxzZSxcbiAgICAgICAgICBzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgIHN0cmljdElucHV0QWNjZXNzTW9kaWZpZXJzOiB0cnVlLFxuICAgICAgICAgIHN0cmljdFRlbXBsYXRlczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIHJldHVybiBmaWxlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlTmFtZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29udGVudHMuc3BsaXQoJ2V4cG9ydCBjbGFzcyAnKVsxXS5zcGxpdCgnIHsnKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlTmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIHJldHVybiBmaWxlTmFtZS5yZXBsYWNlKGAuJHtleHRlbnNpb259YCwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeHBvcnRlZENvbXBvbmVudChjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmltbWVkID0gY29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIGxldCBmcmFnbWVudCA9IHRyaW1tZWQuc3BsaXQoJ2V4cG9ydHM6WycpWzFdO1xuICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgIHRocm93ICdZb3UgbXVzdCBleHBvcnQgYSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZSEnO1xuICAgIH1cblxuICAgIGZyYWdtZW50ID0gZnJhZ21lbnQuc3BsaXQoJ10nKVswXTtcblxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBmcmFnbWVudC5zcGxpdCgnLCcpLmZpbHRlcigoeCkgPT4geCk7XG5cbiAgICBpZiAoY29tcG9uZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyAoXG4gICAgICAgICdZb3UgbWF5IG9ubHkgZXhwb3J0IGEgc2luZ2xlIGNvbXBvbmVudCBmcm9tIHRoZSBjb2RlIGV4YW1wbGUgbW9kdWxlJyArXG4gICAgICAgIGAod2UgZm91bmQgJHtjb21wb25lbnRzLmxlbmd0aH06ICR7Y29tcG9uZW50cy5qb2luKCcsICcpfSkuYCArXG4gICAgICAgICdJcyBpdCBwb3NzaWJsZSB0byBjcmVhdGUgYSBuZXcgY29kZSBleGFtcGxlIHdpdGggdGhlIGV4dHJhIGNvbXBvbmVudHM/J1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50c1swXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50U2VsZWN0b3IoXG4gICAgY29tcG9uZW50Q2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW11cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb3VuZCA9IHNvdXJjZUNvZGUuZmluZCgoZmlsZSkgPT4ge1xuICAgICAgcmV0dXJuIGZpbGUucmF3Q29udGVudHMuaW5kZXhPZihgY2xhc3MgJHtjb21wb25lbnRDbGFzc05hbWV9YCkgPiAtMTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaW1tZWQgPSBmb3VuZC5yYXdDb250ZW50cy5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgcmV0dXJuIHRyaW1tZWQuc3BsaXQoYHNlbGVjdG9yOidgKVsxXS5zcGxpdChgJ2ApWzBdO1xuICB9XG59XG4iXX0=
368
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLElBQUksZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxJQUFJLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxJQUFJLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9ELE9BQU8sYUFBYSxNQUFNLGlCQUFpQixDQUFDO0FBVTVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUUvRDs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFDcEMsWUFBWSxDQUFDLFdBQStCO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsTUFBTSxPQUFPLEdBQTBCLEVBQUUsQ0FBQztRQUUxQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQStCO1FBQ3pDLE1BQU0sY0FBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRS9DLE1BQU0sbUJBQW1CLEdBQXlDO1lBQ2hFLCtCQUErQixFQUFFLGNBQWM7WUFDL0MscUJBQXFCLEVBQUUsY0FBYztZQUNyQyxjQUFjLEVBQUUsY0FBYztZQUM5QixjQUFjLEVBQUUsY0FBYztZQUM5QixpQkFBaUIsRUFB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VUFBbUM7UUFFbkMsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxrQkFBa0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOzhHQXZiVSxnQ0FBZ0M7a0hBQWhDLGdDQUFnQyxjQUYvQixNQUFNOzsyRkFFUCxnQ0FBZ0M7a0JBSDVDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVkVSU0lPTiBhcyBBTkdVTEFSX1ZFUlNJT04sIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04gYXMgU0tZX1VYX1ZFUlNJT04gfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OIGFzIFNLWV9VWF9JQ09OU19WRVJTSU9OIH0gZnJvbSAnQHNreXV4L2ljb25zJztcbmltcG9ydCBTdGFja0JsaXR6U0RLIGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5pbXBvcnQge1xuICBPcGVuT3B0aW9ucyBhcyBTdGFja0JsaXR6T3Blbk9wdGlvbnMsXG4gIFByb2plY3QgYXMgU3RhY2tCbGl0elByb2plY3QsXG59IGZyb20gJ0BzdGFja2JsaXR6L3Nkayc7XG5cbmltcG9ydCB7IFNreURvY3NTb3VyY2VDb2RlRmlsZSB9IGZyb20gJy4uL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLWZpbGUnO1xuXG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGUgfSBmcm9tICcuL2NvZGUtZXhhbXBsZSc7XG5pbXBvcnQgeyBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXMgfSBmcm9tICcuL2NvZGUtZXhhbXBsZS1tb2R1bGUtZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lIH0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtdGhlbWUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlc0VkaXRvclNlcnZpY2Uge1xuICBwdWJsaWMgbGF1bmNoRWRpdG9yKGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUpOiB2b2lkIHtcbiAgICBjb25zdCBwcm9qZWN0ID0gdGhpcy4jZ2V0UGF5bG9hZChjb2RlRXhhbXBsZSk7XG4gICAgY29uc3Qgb3B0aW9uczogU3RhY2tCbGl0ek9wZW5PcHRpb25zID0ge307XG5cbiAgICBTdGFja0JsaXR6U0RLLm9wZW5Qcm9qZWN0KHByb2plY3QsIG9wdGlvbnMpO1xuICB9XG5cbiAgI2dldFBheWxvYWQoY29kZUV4YW1wbGU6IFNreURvY3NDb2RlRXhhbXBsZSk6IFN0YWNrQmxpdHpQcm9qZWN0IHtcbiAgICBjb25zdCBhbmd1bGFyVmVyc2lvbiA9IGBeJHtBTkdVTEFSX1ZFUlNJT04ubWFqb3J9YDtcbiAgICBjb25zdCBza3l1eFZlcnNpb24gPSBgXiR7U0tZX1VYX1ZFUlNJT04uZnVsbH1gO1xuXG4gICAgY29uc3QgZGVmYXVsdERlcGVuZGVuY2llczogU2t5RG9jc0NvZGVFeGFtcGxlTW9kdWxlRGVwZW5kZW5jaWVzID0ge1xuICAgICAgJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Nkayc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NsaSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbW1vbic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2NvbXBpbGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29yZSc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL2Zvcm1zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bhbmd1bGFyL3JvdXRlcic6IGFuZ3VsYXJWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hbmltYXRpb25zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9hc3NldHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2NvbmZpZyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29yZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvZXJyb3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9mb3Jtcyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaHR0cCc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaTE4bic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvaW5kaWNhdG9ycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvbGF5b3V0Jzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9tb2RhbHMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3BhY2thZ2VzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9wb3BvdmVycyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcm91dGVyJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC90aGVtZSc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAdHlwZXMvamFzbWluZSc6ICd+NC4zLjEnLFxuICAgICAgJ25nMi1kcmFndWxhJzogJ141LjAuMScsXG4gICAgICByeGpzOiAnXjcnLFxuICAgICAgdHNsaWI6ICdeMi41LjAnLFxuICAgICAgdHlwZXNjcmlwdDogJ341LjEuNicsXG4gICAgICAnem9uZS5qcyc6ICd+MC4xMy4xJyxcbiAgICB9O1xuXG4gICAgY29uc3QgbWVyZ2VkRGVwZW5kZW5jaWVzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgZGVmYXVsdERlcGVuZGVuY2llcyxcbiAgICAgIGNvZGVFeGFtcGxlLnBhY2thZ2VEZXBlbmRlbmNpZXNcbiAgICApO1xuXG4gICAgLy8gRW5zdXJlIGFueSBAc2t5dXggZGVwZW5kZW5jaWVzIGxpc3QgdGhlIGNvcnJlY3QgdmVyc2lvbiBvZiBTS1kgVVguXG4gICAgLy8gZS5nLiBgXCJAc2t5dXgvY29yZVwiOiBcIipcImAgLS0+IGBcIkBza3l1eC9jb3JlXCI6IFwiNS4wLjBcImBcbiAgICBmb3IgKGNvbnN0IHBhY2thZ2VOYW1lIGluIG1lcmdlZERlcGVuZGVuY2llcykge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSovXG4gICAgICBpZiAobWVyZ2VkRGVwZW5kZW5jaWVzLmhhc093blByb3BlcnR5KHBhY2thZ2VOYW1lKSkge1xuICAgICAgICBjb25zdCB2ZXJzaW9uID0gbWVyZ2VkRGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHZlcnNpb24gPT09ICcqJyAmJlxuICAgICAgICAgIC9eKEBibGFja2JhdWRcXC9za3l1eC1saWItfEBza3l1eCkvLnRlc3QocGFja2FnZU5hbWUpXG4gICAgICAgICkge1xuICAgICAgICAgIG1lcmdlZERlcGVuZGVuY2llc1twYWNrYWdlTmFtZV0gPSBza3l1eFZlcnNpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBmaWxlcyA9IHRoaXMucGFyc2VTdGFja0JsaXR6RmlsZXMoXG4gICAgICBjb2RlRXhhbXBsZS5zb3VyY2VDb2RlLFxuICAgICAgbWVyZ2VkRGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUudGhlbWUsXG4gICAgICBjb2RlRXhhbXBsZS5zdHlsZXNoZWV0c1xuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlsZXMsXG4gICAgICB0aXRsZTogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU0tZIFVYIERlbW8nLFxuICAgICAgdGVtcGxhdGU6ICdhbmd1bGFyLWNsaScsXG4gICAgICBkZXBlbmRlbmNpZXM6IG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXSxcbiAgICBkZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyxcbiAgICB0aGVtZTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUsXG4gICAgc3R5bGVzaGVldHM6IHN0cmluZ1tdID0gW11cbiAgKToge1xuICAgIFtwYXRoOiBzdHJpbmddOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IHNyY1BhdGggPSAnc3JjLyc7XG4gICAgY29uc3QgYXBwUGF0aCA9IGAke3NyY1BhdGh9YXBwL2A7XG5cbiAgICBjb25zdCBiYW5uZXIgPSBgLyoqXG4gKiBUaGlzIGZpbGUgaXMgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gKiBJdCBpcyBhdXRvbWF0aWNhbGx5IHByb3ZpZGVkIHdoZW4gdXNpbmcgdGhlIEFuZ3VsYXIgQ0xJLlxuICoqL1xuIGA7XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRTdGF0ZW1lbnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgIGBpbXBvcnQge1xcbiAgTmdNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEZvcm1zTW9kdWxlLFxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIFJvdXRlck1vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lBcHBMb2NhbGVQcm92aWRlclxcbn0gZnJvbSAnQHNreXV4L2kxOG4nO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIFNreVRoZW1lU2VydmljZVxcbn0gZnJvbSAnQHNreXV4L3RoZW1lJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBvZiBhcyBvYnNlcnZhYmxlT2ZcXG59IGZyb20gJ3J4anMnO2AsXG4gICAgICBgaW1wb3J0IHtcXG4gIEFwcENvbXBvbmVudFxcbn0gZnJvbSAnLi9hcHAuY29tcG9uZW50JztgLFxuICAgIF07XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICdCcm93c2VyQW5pbWF0aW9uc01vZHVsZScsXG4gICAgICAnRm9ybXNNb2R1bGUnLFxuICAgICAgJ1JlYWN0aXZlRm9ybXNNb2R1bGUnLFxuICAgICAgJ1JvdXRlck1vZHVsZS5mb3JSb290KFtdKScsXG4gICAgXTtcblxuICAgIGNvbnN0IGZpbGVzOiB7IFtfOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuXG4gICAgbGV0IGFwcENvbXBvbmVudFRlbXBsYXRlID0gJyc7XG5cbiAgICBzb3VyY2VDb2RlLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgIGZpbGVzW2Ake2FwcFBhdGh9JHtmaWxlLmZpbGVOYW1lfWBdID0gZmlsZS5yYXdDb250ZW50cztcblxuICAgICAgLy8gU2V0dXAgbW9kdWxlIGltcG9ydHMgYW5kIGNvbXBvbmVudCBzZWxlY3RvcnMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZS5pbmRleE9mKCcubW9kdWxlLnRzJykgPiAtMSkge1xuICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gdGhpcy5nZXRNb2R1bGVOYW1lKGZpbGUucmF3Q29udGVudHMpO1xuICAgICAgICBjb25zdCBpbXBvcnRQYXRoID0gYC4vJHt0aGlzLmdldEZpbGVuYW1lTm9FeHRlbnNpb24oZmlsZS5maWxlTmFtZSl9YDtcblxuICAgICAgICBjb25zdCBleHBvcnRlZENvbXBvbmVudCA9IHRoaXMuZ2V0RXhwb3J0ZWRDb21wb25lbnQoZmlsZS5yYXdDb250ZW50cyk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFNlbGVjdG9yID0gdGhpcy5nZXRDb21wb25lbnRTZWxlY3RvcihcbiAgICAgICAgICBleHBvcnRlZENvbXBvbmVudCxcbiAgICAgICAgICBzb3VyY2VDb2RlXG4gICAgICAgICk7XG5cbiAgICAgICAgYXBwQ29tcG9uZW50VGVtcGxhdGUgKz0gYDwke2NvbXBvbmVudFNlbGVjdG9yfT48LyR7Y29tcG9uZW50U2VsZWN0b3J9PmA7XG5cbiAgICAgICAgbW9kdWxlSW1wb3J0cy5wdXNoKG1vZHVsZU5hbWUpO1xuICAgICAgICBtb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLnB1c2goXG4gICAgICAgICAgYGltcG9ydCB7XFxuICAke21vZHVsZU5hbWV9XFxufSBmcm9tICcke2ltcG9ydFBhdGh9JztgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0YW5kYWxvbmUgZW50cnkgY29tcG9uZW50cyBhcmUgbmFtZWQgZGVtby5jb21wb25lbnQudHMuXG4gICAgICBpZiAoZmlsZS5maWxlTmFtZSA9PT0gJ2RlbW8uY29tcG9uZW50LnRzJykge1xuICAgICAgICBjb25zdCBjb21wb25lbnROYW1lID0gJ0RlbW9Db21wb25lbnQnO1xuICAgICAgICBjb25zdCBjb21wb25lbnRTZWxlY3RvciA9ICdhcHAtZGVtbyc7XG4gICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBgLi8ke3RoaXMuZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlLmZpbGVOYW1lKX1gO1xuXG4gICAgICAgIGFwcENvbXBvbmVudFRlbXBsYXRlICs9IGA8JHtjb21wb25lbnRTZWxlY3Rvcn0gLz5gO1xuXG4gICAgICAgIG1vZHVsZUltcG9ydHMucHVzaChjb21wb25lbnROYW1lKTtcbiAgICAgICAgbW9kdWxlSW1wb3J0U3RhdGVtZW50cy5wdXNoKFxuICAgICAgICAgIGBpbXBvcnQge1xcbiAgJHtjb21wb25lbnROYW1lfVxcbn0gZnJvbSAnJHtpbXBvcnRQYXRofSc7YFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAuY29tcG9uZW50LnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5VGhlbWUsXG4gIFNreVRoZW1lTW9kZSxcbiAgU2t5VGhlbWVTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kZW1vLWFwcCcsXG4gIHRlbXBsYXRlOiAnJHthcHBDb21wb25lbnRUZW1wbGF0ZX0nXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSxcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIGNvbnN0IHRoZW1lU2V0dGluZ3MgPSBuZXcgU2t5VGhlbWVTZXR0aW5ncyhcbiAgICAgIFNreVRoZW1lLnByZXNldHNbJyR7XG4gICAgICAgIHRoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J1xuICAgICAgfSddLFxuICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICApO1xuXG4gICAgdGhlbWVTdmMuaW5pdChcbiAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICByZW5kZXJlcixcbiAgICAgIHRoZW1lU2V0dGluZ3NcbiAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhZG9jdHlwZSBodG1sPlxuPGh0bWwgbGFuZz1cImVuXCI+XG48aGVhZD5cbiAgPG1ldGEgY2hhcnNldD1cInV0Zi04XCI+XG4gIDx0aXRsZT5Ta3kgVVggRGVtbzwvdGl0bGU+XG4gIDxiYXNlIGhyZWY9XCIvXCI+XG4gIDxtZXRhIG5hbWU9XCJ2aWV3cG9ydFwiIGNvbnRlbnQ9XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiPlxuICA8IS0tXG4gICAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gICAgVGhpcyBpcyBhIHdvcmthcm91bmQgZm9yIGEga25vd24gYnVnIHRoYXQgcHJldmVudHMgZXh0ZXJuYWwgaW1wb3J0cyBpbiBDU1MuXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL3N0YWNrYmxpdHovY29yZS9pc3N1ZXMvMTMzXG4gIC0tPlxuICA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiIC8+XG4gIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIiB0eXBlPVwidGV4dC9jc3NcIiBocmVmPVwiaHR0cHM6Ly9za3kuYmxhY2tiYXVkY2RuLm5ldC9zdGF0aWMvc2t5dXgtaWNvbnMvJHtTS1lfVVhfSUNPTlNfVkVSU0lPTi5mdWxsfS9hc3NldHMvY3NzL3NreXV4LWljb25zLm1pbi5jc3NcIiAvPlxuPC9oZWFkPlxuPGJvZHk+XG4gIDxza3ktZGVtby1hcHA+XG4gICAgTG9hZGluZy4uLlxuICA8L3NreS1kZW1vLWFwcD5cbjwvYm9keT5cbjwvaHRtbD5cbmA7XG5cbiAgICBmaWxlc1tgJHtzcmNQYXRofW1haW4udHNgXSA9IGAke2Jhbm5lcn1cbmltcG9ydCAnem9uZS5qcyc7XG5pbXBvcnQgJ0Bza3l1eC9wYWNrYWdlcy9wb2x5ZmlsbHMnO1xuXG5pbXBvcnQge1xuICBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XG5cbmltcG9ydCB7XG4gIEFwcE1vZHVsZVxufSBmcm9tICcuL2FwcC9hcHAubW9kdWxlJztcblxucGxhdGZvcm1Ccm93c2VyRHluYW1pYygpXG4gIC5ib290c3RyYXBNb2R1bGUoQXBwTW9kdWxlKVxuICAuY2F0Y2goKGVycikgPT4gY29uc29sZS5lcnJvcihlcnIpKTtcblxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9c3R5bGVzLnNjc3NgXSA9IGBAaW1wb3J0ICdAc2t5dXgvdGhlbWUvY3NzL3NreSc7XG5AaW1wb3J0ICdAc2t5dXgvdGhlbWUvY3NzL3RoZW1lcy9tb2Rlcm4vc3R5bGVzJztcblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbjogMTVweDtcbn1gO1xuXG4gICAgc3R5bGVzaGVldHMucHVzaCgnc3JjL3N0eWxlcy5zY3NzJyk7XG5cbiAgICBmaWxlc1snYW5ndWxhci5qc29uJ10gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHtcbiAgICAgICAgJHNjaGVtYTogJy4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL2NsaS9saWIvY29uZmlnL3NjaGVtYS5qc29uJyxcbiAgICAgICAgdmVyc2lvbjogMSxcbiAgICAgICAgcHJvamVjdHM6IHtcbiAgICAgICAgICBkZW1vOiB7XG4gICAgICAgICAgICBwcm9qZWN0VHlwZTogJ2FwcGxpY2F0aW9uJyxcbiAgICAgICAgICAgIHJvb3Q6ICcnLFxuICAgICAgICAgICAgc291cmNlUm9vdDogJ3NyYycsXG4gICAgICAgICAgICBwcmVmaXg6ICdhcHAnLFxuICAgICAgICAgICAgYXJjaGl0ZWN0OiB7XG4gICAgICAgICAgICAgIGJ1aWxkOiB7XG4gICAgICAgICAgICAgICAgYnVpbGRlcjogJ0Bhbmd1bGFyLWRldmtpdC9idWlsZC1hbmd1bGFyOmJyb3dzZXInLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAgIGluZGV4OiAnc3JjL2luZGV4Lmh0bWwnLFxuICAgICAgICAgICAgICAgICAgbWFpbjogJ3NyYy9tYWluLnRzJyxcbiAgICAgICAgICAgICAgICAgIHRzQ29uZmlnOiAndHNjb25maWcuYXBwLmpzb24nLFxuICAgICAgICAgICAgICAgICAgaW5saW5lU3R5bGVMYW5ndWFnZTogJ3Njc3MnLFxuICAgICAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXNoZWV0cyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGNvbmZpZ3VyYXRpb25zOiB7XG4gICAgICAgICAgICAgICAgICBkZXZlbG9wbWVudDoge1xuICAgICAgICAgICAgICAgICAgICBidWlsZE9wdGltaXplcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG9wdGltaXphdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHZlbmRvckNodW5rOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBleHRyYWN0TGljZW5zZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG5hbWVkQ2h1bmtzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb25maWd1cmF0aW9uOiAnZGV2ZWxvcG1lbnQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzZXJ2ZToge1xuICAgICAgICAgICAgICAgIGJ1aWxkZXI6ICdAYW5ndWxhci1kZXZraXQvYnVpbGQtYW5ndWxhcjpkZXYtc2VydmVyJyxcbiAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uczoge1xuICAgICAgICAgICAgICAgICAgZGV2ZWxvcG1lbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgYnJvd3NlclRhcmdldDogJ2RlbW86YnVpbGQ6ZGV2ZWxvcG1lbnQnLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb25maWd1cmF0aW9uOiAnZGV2ZWxvcG1lbnQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3BhY2thZ2UuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdza3l1eC1zcGEtZGVtbycsXG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgc2NyaXB0czoge1xuICAgICAgICAgIHN0YXJ0OiAnbmcgc2VydmUnLFxuICAgICAgICAgIGJ1aWxkOiAnbmcgYnVpbGQnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIDJcbiAgICApO1xuXG4gICAgZmlsZXNbJ3RzY29uZmlnLmFwcC5qc29uJ10gPSBKU09OLnN0cmluZ2lmeShcbiAgICAgIHtcbiAgICAgICAgZXh0ZW5kczogJy4vdHNjb25maWcuanNvbicsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIG91dERpcjogJy4vb3V0LXRzYy9hcHAnLFxuICAgICAgICAgIHR5cGVzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgZmlsZXM6IFsnc3JjL21haW4udHMnXSxcbiAgICAgICAgaW5jbHVkZTogWydzcmMvKiovKi5kLnRzJ10sXG4gICAgICB9LFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgMlxuICAgICk7XG5cbiAgICBmaWxlc1sndHNjb25maWcuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICB7XG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgICBmb3JjZUNvbnNpc3RlbnRDYXNpbmdJbkZpbGVOYW1lczogdHJ1ZSxcbiAgICAgICAgICBub0ltcGxpY2l0T3ZlcnJpZGU6IHRydWUsXG4gICAgICAgICAgbm9Qcm9wZXJ0eUFjY2Vzc0Zyb21JbmRleFNpZ25hdHVyZTogdHJ1ZSxcbiAgICAgICAgICBub0ltcGxpY2l0UmV0dXJuczogdHJ1ZSxcbiAgICAgICAgICBub0ZhbGx0aHJvdWdoQ2FzZXNJblN3aXRjaDogdHJ1ZSxcbiAgICAgICAgICBzb3VyY2VNYXA6IHRydWUsXG4gICAgICAgICAgZGVjbGFyYXRpb246IGZhbHNlLFxuICAgICAgICAgIGRvd25sZXZlbEl0ZXJhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlc01vZHVsZUludGVyb3A6IHRydWUsXG4gICAgICAgICAgZXhwZXJpbWVudGFsRGVjb3JhdG9yczogdHJ1ZSxcbiAgICAgICAgICBtb2R1bGVSZXNvbHV0aW9uOiAnbm9kZScsXG4gICAgICAgICAgaW1wb3J0SGVscGVyczogdHJ1ZSxcbiAgICAgICAgICB0eXBlUm9vdHM6IFsnbm9kZV9tb2R1bGVzL0B0eXBlcyddLFxuICAgICAgICAgIHRhcmdldDogJ0VTMjAyMicsXG4gICAgICAgICAgbW9kdWxlOiAnRVMyMDIyJyxcbiAgICAgICAgICB1c2VEZWZpbmVGb3JDbGFzc0ZpZWxkczogZmFsc2UsXG4gICAgICAgICAgbGliOiBbJ0VTMjAyMicsICdkb20nXSxcbiAgICAgICAgfSxcbiAgICAgICAgYW5ndWxhckNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIGZ1bGxUZW1wbGF0ZVR5cGVDaGVjazogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVJMThuTGVnYWN5TWVzc2FnZUlkRm9ybWF0OiBmYWxzZSxcbiAgICAgICAgICBzdHJpY3RJbmplY3Rpb25QYXJhbWV0ZXJzOiB0cnVlLFxuICAgICAgICAgIHN0cmljdElucHV0QWNjZXNzTW9kaWZpZXJzOiB0cnVlLFxuICAgICAgICAgIHN0cmljdFRlbXBsYXRlczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAyXG4gICAgKTtcblxuICAgIHJldHVybiBmaWxlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlTmFtZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29udGVudHMuc3BsaXQoJ2V4cG9ydCBjbGFzcyAnKVsxXS5zcGxpdCgnIHsnKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlTmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIHJldHVybiBmaWxlTmFtZS5yZXBsYWNlKGAuJHtleHRlbnNpb259YCwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeHBvcnRlZENvbXBvbmVudChjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmltbWVkID0gY29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIGxldCBmcmFnbWVudCA9IHRyaW1tZWQuc3BsaXQoJ2V4cG9ydHM6WycpWzFdO1xuICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgIHRocm93ICdZb3UgbXVzdCBleHBvcnQgYSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZSEnO1xuICAgIH1cblxuICAgIGZyYWdtZW50ID0gZnJhZ21lbnQuc3BsaXQoJ10nKVswXTtcblxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBmcmFnbWVudC5zcGxpdCgnLCcpLmZpbHRlcigoeCkgPT4geCk7XG5cbiAgICBpZiAoY29tcG9uZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICB0aHJvdyAoXG4gICAgICAgICdZb3UgbWF5IG9ubHkgZXhwb3J0IGEgc2luZ2xlIGNvbXBvbmVudCBmcm9tIHRoZSBjb2RlIGV4YW1wbGUgbW9kdWxlJyArXG4gICAgICAgIGAod2UgZm91bmQgJHtjb21wb25lbnRzLmxlbmd0aH06ICR7Y29tcG9uZW50cy5qb2luKCcsICcpfSkuYCArXG4gICAgICAgICdJcyBpdCBwb3NzaWJsZSB0byBjcmVhdGUgYSBuZXcgY29kZSBleGFtcGxlIHdpdGggdGhlIGV4dHJhIGNvbXBvbmVudHM/J1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50c1swXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50U2VsZWN0b3IoXG4gICAgY29tcG9uZW50Q2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW11cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBmb3VuZCA9IHNvdXJjZUNvZGUuZmluZCgoZmlsZSkgPT4ge1xuICAgICAgcmV0dXJuIGZpbGUucmF3Q29udGVudHMuaW5kZXhPZihgY2xhc3MgJHtjb21wb25lbnRDbGFzc05hbWV9YCkgPiAtMTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHRyaW1tZWQgPSBmb3VuZC5yYXdDb250ZW50cy5yZXBsYWNlKC9cXHMvZywgJycpO1xuXG4gICAgcmV0dXJuIHRyaW1tZWQuc3BsaXQoYHNlbGVjdG9yOidgKVsxXS5zcGxpdChgJ2ApWzBdO1xuICB9XG59XG4iXX0=
@@ -305,7 +305,7 @@ class SkyDocsCodeExamplesEditorService {
305
305
  StackBlitzSDK.openProject(project, options);
306
306
  }
307
307
  #getPayload(codeExample) {
308
- const angularVersion = `^${VERSION.full}`;
308
+ const angularVersion = `^${VERSION.major}`;
309
309
  const skyuxVersion = `^${VERSION$1.full}`;
310
310
  const defaultDependencies = {
311
311
  '@angular-devkit/build-angular': angularVersion,
@@ -336,6 +336,7 @@ class SkyDocsCodeExamplesEditorService {
336
336
  '@skyux/router': skyuxVersion,
337
337
  '@skyux/theme': skyuxVersion,
338
338
  '@types/jasmine': '~4.3.1',
339
+ 'ng2-dragula': '^5.0.1',
339
340
  rxjs: '^7',
340
341
  tslib: '^2.5.0',
341
342
  typescript: '~5.1.6',