@taiga-ui/icons 2.31.0 → 2.35.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.
@@ -1,5 +1,5 @@
1
1
  import { readdirSync, writeFileSync } from 'fs';
2
- export function prepareAllToCompileFile(iconsSrc, allToCompilePath) {
2
+ export function prepareAllToCompileFile(iconsSrc, entryPointTs) {
3
3
  const icons = readdirSync(iconsSrc).filter(file => file.split('.').pop() === 'svg');
4
4
  let importDeclarations = '';
5
5
  let exportDeclarations = '';
@@ -8,6 +8,6 @@ export function prepareAllToCompileFile(iconsSrc, allToCompilePath) {
8
8
  importDeclarations += `import ${fileName} from './src/${fileName}.svg';\n`;
9
9
  exportDeclarations += `${fileName}, `;
10
10
  }
11
- writeFileSync(allToCompilePath, `${importDeclarations} \n export { ${exportDeclarations} }`);
11
+ writeFileSync(entryPointTs, `${importDeclarations} \n export { ${exportDeclarations} }`);
12
12
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1hbGwtdG8tY29tcGlsZS1maWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2ljb25zL3NjcmlwdHMvIiwic291cmNlcyI6WyJwcmVwYXJlLWFsbC10by1jb21waWxlLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFFOUMsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxRQUFnQixFQUNoQixnQkFBd0I7SUFFeEIsTUFBTSxLQUFLLEdBQWEsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUssQ0FDMUMsQ0FBQztJQUVGLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBQzVCLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBRTVCLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxFQUFFO1FBQzFCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFN0Msa0JBQWtCLElBQUksVUFBVSxRQUFRLGdCQUFnQixRQUFRLFVBQVUsQ0FBQztRQUMzRSxrQkFBa0IsSUFBSSxHQUFHLFFBQVEsSUFBSSxDQUFDO0tBQ3pDO0lBRUQsYUFBYSxDQUNULGdCQUFnQixFQUNoQixHQUFHLGtCQUFrQixnQkFBZ0Isa0JBQWtCLElBQUksQ0FDOUQsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3JlYWRkaXJTeW5jLCB3cml0ZUZpbGVTeW5jfSBmcm9tICdmcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlQWxsVG9Db21waWxlRmlsZShcbiAgICBpY29uc1NyYzogc3RyaW5nLFxuICAgIGFsbFRvQ29tcGlsZVBhdGg6IHN0cmluZyxcbik6IHZvaWQge1xuICAgIGNvbnN0IGljb25zOiBzdHJpbmdbXSA9IHJlYWRkaXJTeW5jKGljb25zU3JjKS5maWx0ZXIoXG4gICAgICAgIGZpbGUgPT4gZmlsZS5zcGxpdCgnLicpLnBvcCgpID09PSAnc3ZnJyxcbiAgICApO1xuXG4gICAgbGV0IGltcG9ydERlY2xhcmF0aW9ucyA9ICcnO1xuICAgIGxldCBleHBvcnREZWNsYXJhdGlvbnMgPSAnJztcblxuICAgIGZvciAoY29uc3QgaWNvblBhdGggb2YgaWNvbnMpIHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBpY29uUGF0aC5zcGxpdCgnLicpLnNoaWZ0KCk7XG5cbiAgICAgICAgaW1wb3J0RGVjbGFyYXRpb25zICs9IGBpbXBvcnQgJHtmaWxlTmFtZX0gZnJvbSAnLi9zcmMvJHtmaWxlTmFtZX0uc3ZnJztcXG5gO1xuICAgICAgICBleHBvcnREZWNsYXJhdGlvbnMgKz0gYCR7ZmlsZU5hbWV9LCBgO1xuICAgIH1cblxuICAgIHdyaXRlRmlsZVN5bmMoXG4gICAgICAgIGFsbFRvQ29tcGlsZVBhdGgsXG4gICAgICAgIGAke2ltcG9ydERlY2xhcmF0aW9uc30gXFxuIGV4cG9ydCB7ICR7ZXhwb3J0RGVjbGFyYXRpb25zfSB9YCxcbiAgICApO1xufVxuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZS1hbGwtdG8tY29tcGlsZS1maWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2ljb25zL3NjcmlwdHMvIiwic291cmNlcyI6WyJwcmVwYXJlLWFsbC10by1jb21waWxlLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsTUFBTSxJQUFJLENBQUM7QUFFOUMsTUFBTSxVQUFVLHVCQUF1QixDQUFDLFFBQWdCLEVBQUUsWUFBb0I7SUFDMUUsTUFBTSxLQUFLLEdBQWEsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUssQ0FDMUMsQ0FBQztJQUVGLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBQzVCLElBQUksa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0lBRTVCLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxFQUFFO1FBQzFCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFN0Msa0JBQWtCLElBQUksVUFBVSxRQUFRLGdCQUFnQixRQUFRLFVBQVUsQ0FBQztRQUMzRSxrQkFBa0IsSUFBSSxHQUFHLFFBQVEsSUFBSSxDQUFDO0tBQ3pDO0lBRUQsYUFBYSxDQUNULFlBQVksRUFDWixHQUFHLGtCQUFrQixnQkFBZ0Isa0JBQWtCLElBQUksQ0FDOUQsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3JlYWRkaXJTeW5jLCB3cml0ZUZpbGVTeW5jfSBmcm9tICdmcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlQWxsVG9Db21waWxlRmlsZShpY29uc1NyYzogc3RyaW5nLCBlbnRyeVBvaW50VHM6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGljb25zOiBzdHJpbmdbXSA9IHJlYWRkaXJTeW5jKGljb25zU3JjKS5maWx0ZXIoXG4gICAgICAgIGZpbGUgPT4gZmlsZS5zcGxpdCgnLicpLnBvcCgpID09PSAnc3ZnJyxcbiAgICApO1xuXG4gICAgbGV0IGltcG9ydERlY2xhcmF0aW9ucyA9ICcnO1xuICAgIGxldCBleHBvcnREZWNsYXJhdGlvbnMgPSAnJztcblxuICAgIGZvciAoY29uc3QgaWNvblBhdGggb2YgaWNvbnMpIHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBpY29uUGF0aC5zcGxpdCgnLicpLnNoaWZ0KCk7XG5cbiAgICAgICAgaW1wb3J0RGVjbGFyYXRpb25zICs9IGBpbXBvcnQgJHtmaWxlTmFtZX0gZnJvbSAnLi9zcmMvJHtmaWxlTmFtZX0uc3ZnJztcXG5gO1xuICAgICAgICBleHBvcnREZWNsYXJhdGlvbnMgKz0gYCR7ZmlsZU5hbWV9LCBgO1xuICAgIH1cblxuICAgIHdyaXRlRmlsZVN5bmMoXG4gICAgICAgIGVudHJ5UG9pbnRUcyxcbiAgICAgICAgYCR7aW1wb3J0RGVjbGFyYXRpb25zfSBcXG4gZXhwb3J0IHsgJHtleHBvcnREZWNsYXJhdGlvbnN9IH1gLFxuICAgICk7XG59XG4iXX0=
@@ -1,32 +1,36 @@
1
- import { __awaiter } from "tslib";
2
1
  import { createFilter } from '@rollup/pluginutils';
3
2
  import { optimize } from 'svgo';
4
3
  export function rollupSvgo({ include = '**/*.svg', exclude, options, } = {}) {
5
4
  const filter = createFilter(include, exclude);
6
5
  return {
7
6
  name: 'rollupSvgo',
8
- transform(svgString, id) {
9
- return __awaiter(this, void 0, void 0, function* () {
10
- const skip = !filter(id);
11
- if (skip) {
12
- console.info('\x1b[33m%s\x1b[0m', '[skip]', id);
13
- return;
14
- }
15
- let optimizedSvg = null;
16
- try {
17
- optimizedSvg = yield optimize(svgString, Object.assign({ path: id }, options));
18
- console.info('\x1b[32m%s\x1b[0m', '[success]', id);
19
- }
20
- catch (err) {
21
- console.error('\x1b[31m%s\x1b[0m', '[error]', id, `\n${svgString}`, `\n${err}`);
22
- process.exit(1);
23
- }
24
- return {
25
- code: `export default ${JSON.stringify(optimizedSvg === null || optimizedSvg === void 0 ? void 0 : optimizedSvg.data)}`,
26
- map: { mappings: '' },
27
- };
28
- });
7
+ transform(svgString, path) {
8
+ var _a;
9
+ const skip = !filter(path);
10
+ if (skip) {
11
+ console.info('\x1b[33m%s\x1b[0m', '[skip]', path);
12
+ return;
13
+ }
14
+ let data;
15
+ let error;
16
+ try {
17
+ const result = optimize(svgString, Object.assign({ path }, options));
18
+ data = ((_a = result) === null || _a === void 0 ? void 0 : _a.data) || {};
19
+ error = result.error;
20
+ }
21
+ catch (err) {
22
+ error = err.message;
23
+ }
24
+ if (error) {
25
+ console.error('\x1b[31m%s\x1b[0m', '[error]', path, `\n${svgString}`, `\n${error}`);
26
+ process.exit(1);
27
+ }
28
+ console.info('\x1b[32m%s\x1b[0m', '[success]', path);
29
+ return {
30
+ code: `export default ${JSON.stringify(data)}`,
31
+ map: { mappings: '' },
32
+ };
29
33
  },
30
34
  };
31
35
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXN2Z28uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvaWNvbnMvc2NyaXB0cy8iLCJzb3VyY2VzIjpbInJvbGx1cC1zdmdvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFDLFFBQVEsRUFBZ0MsTUFBTSxNQUFNLENBQUM7QUFVN0QsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUN2QixPQUFPLEdBQUcsVUFBVSxFQUNwQixPQUFPLEVBQ1AsT0FBTyxNQUNXLEVBQUU7SUFDcEIsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU5QyxPQUFPO1FBQ0gsSUFBSSxFQUFFLFlBQVk7UUFDWixTQUFTLENBQUMsU0FBaUIsRUFBRSxFQUFVOztnQkFDekMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRXpCLElBQUksSUFBSSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUVoRCxPQUFPO2lCQUNWO2dCQUVELElBQUksWUFBWSxHQUF3QixJQUFJLENBQUM7Z0JBRTdDLElBQUk7b0JBQ0EsWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLFNBQVMsa0JBQUcsSUFBSSxFQUFFLEVBQUUsSUFBSyxPQUFPLEVBQUUsQ0FBQztvQkFFakUsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ3REO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQ1QsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxFQUFFLEVBQ0YsS0FBSyxTQUFTLEVBQUUsRUFDaEIsS0FBSyxHQUFHLEVBQUUsQ0FDYixDQUFDO29CQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ25CO2dCQUVELE9BQU87b0JBQ0gsSUFBSSxFQUFFLGtCQUFrQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxJQUFJLENBQUMsRUFBRTtvQkFDNUQsR0FBRyxFQUFFLEVBQUMsUUFBUSxFQUFFLEVBQUUsRUFBQztpQkFDdEIsQ0FBQztZQUNOLENBQUM7U0FBQTtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVGaWx0ZXJ9IGZyb20gJ0Byb2xsdXAvcGx1Z2ludXRpbHMnO1xuaW1wb3J0IHtQbHVnaW4sIFRyYW5zZm9ybVJlc3VsdH0gZnJvbSAncm9sbHVwJztcbmltcG9ydCB7b3B0aW1pemUsIE9wdGltaXplZFN2ZywgT3B0aW1pemVPcHRpb25zfSBmcm9tICdzdmdvJztcblxuZXhwb3J0IGludGVyZmFjZSBSb2xsdXBTdmdvQ29uZmlnIHtcbiAgICByZWFkb25seSBpbmNsdWRlPzogc3RyaW5nO1xuXG4gICAgcmVhZG9ubHkgZXhjbHVkZT86IHN0cmluZztcblxuICAgIHJlYWRvbmx5IG9wdGlvbnM/OiBPcHRpbWl6ZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByb2xsdXBTdmdvKHtcbiAgICBpbmNsdWRlID0gJyoqLyouc3ZnJyxcbiAgICBleGNsdWRlLFxuICAgIG9wdGlvbnMsXG59OiBSb2xsdXBTdmdvQ29uZmlnID0ge30pOiBQbHVnaW4ge1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZpbHRlcihpbmNsdWRlLCBleGNsdWRlKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6ICdyb2xsdXBTdmdvJyxcbiAgICAgICAgYXN5bmMgdHJhbnNmb3JtKHN2Z1N0cmluZzogc3RyaW5nLCBpZDogc3RyaW5nKTogUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQ+IHtcbiAgICAgICAgICAgIGNvbnN0IHNraXAgPSAhZmlsdGVyKGlkKTtcblxuICAgICAgICAgICAgaWYgKHNraXApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmluZm8oJ1xceDFiWzMzbSVzXFx4MWJbMG0nLCAnW3NraXBdJywgaWQpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgb3B0aW1pemVkU3ZnOiBPcHRpbWl6ZWRTdmcgfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBvcHRpbWl6ZWRTdmcgPSBhd2FpdCBvcHRpbWl6ZShzdmdTdHJpbmcsIHtwYXRoOiBpZCwgLi4ub3B0aW9uc30pO1xuXG4gICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszMm0lc1xceDFiWzBtJywgJ1tzdWNjZXNzXScsIGlkKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICdcXHgxYlszMW0lc1xceDFiWzBtJyxcbiAgICAgICAgICAgICAgICAgICAgJ1tlcnJvcl0nLFxuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgYFxcbiR7c3ZnU3RyaW5nfWAsXG4gICAgICAgICAgICAgICAgICAgIGBcXG4ke2Vycn1gLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZTogYGV4cG9ydCBkZWZhdWx0ICR7SlNPTi5zdHJpbmdpZnkob3B0aW1pemVkU3ZnPy5kYXRhKX1gLFxuICAgICAgICAgICAgICAgIG1hcDoge21hcHBpbmdzOiAnJ30sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LFxuICAgIH07XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLXN2Z28uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvaWNvbnMvc2NyaXB0cy8iLCJzb3VyY2VzIjpbInJvbGx1cC1zdmdvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRCxPQUFPLEVBQUMsUUFBUSxFQUFnRCxNQUFNLE1BQU0sQ0FBQztBQVk3RSxNQUFNLFVBQVUsVUFBVSxDQUFDLEVBQ3ZCLE9BQU8sR0FBRyxVQUFVLEVBQ3BCLE9BQU8sRUFDUCxPQUFPLE1BQ1csRUFBRTtJQUNwQixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBRTlDLE9BQU87UUFDSCxJQUFJLEVBQUUsWUFBWTtRQUNsQixTQUFTLENBQUMsU0FBaUIsRUFBRSxJQUFZOztZQUNyQyxNQUFNLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUzQixJQUFJLElBQUksRUFBRTtnQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFFbEQsT0FBTzthQUNWO1lBRUQsSUFBSSxJQUFhLENBQUM7WUFDbEIsSUFBSSxLQUFjLENBQUM7WUFFbkIsSUFBSTtnQkFDQSxNQUFNLE1BQU0sR0FBZSxRQUFRLENBQUMsU0FBUyxrQkFBRyxJQUFJLElBQUssT0FBTyxFQUFFLENBQUM7Z0JBRW5FLElBQUksR0FBRyxPQUFDLE1BQXVCLDBDQUFFLElBQUksS0FBSSxFQUFFLENBQUM7Z0JBQzVDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ3hCO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsS0FBSyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDdkI7WUFFRCxJQUFJLEtBQUssRUFBRTtnQkFDUCxPQUFPLENBQUMsS0FBSyxDQUNULG1CQUFtQixFQUNuQixTQUFTLEVBQ1QsSUFBSSxFQUNKLEtBQUssU0FBUyxFQUFFLEVBQ2hCLEtBQUssS0FBSyxFQUFFLENBQ2YsQ0FBQztnQkFDRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25CO1lBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFckQsT0FBTztnQkFDSCxJQUFJLEVBQUUsa0JBQWtCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzlDLEdBQUcsRUFBRSxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUM7YUFDdEIsQ0FBQztRQUNOLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y3JlYXRlRmlsdGVyfSBmcm9tICdAcm9sbHVwL3BsdWdpbnV0aWxzJztcbmltcG9ydCB7UGx1Z2luLCBUcmFuc2Zvcm1SZXN1bHR9IGZyb20gJ3JvbGx1cCc7XG5pbXBvcnQge29wdGltaXplLCBPcHRpbWl6ZWRFcnJvciwgT3B0aW1pemVkU3ZnLCBPcHRpbWl6ZU9wdGlvbnN9IGZyb20gJ3N2Z28nO1xuXG50eXBlIFN2Z29SZXN1bHQgPSBPcHRpbWl6ZWRTdmcgfCBPcHRpbWl6ZWRFcnJvcjtcblxuZXhwb3J0IGludGVyZmFjZSBSb2xsdXBTdmdvQ29uZmlnIHtcbiAgICByZWFkb25seSBpbmNsdWRlPzogc3RyaW5nO1xuXG4gICAgcmVhZG9ubHkgZXhjbHVkZT86IHN0cmluZztcblxuICAgIHJlYWRvbmx5IG9wdGlvbnM/OiBPcHRpbWl6ZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByb2xsdXBTdmdvKHtcbiAgICBpbmNsdWRlID0gJyoqLyouc3ZnJyxcbiAgICBleGNsdWRlLFxuICAgIG9wdGlvbnMsXG59OiBSb2xsdXBTdmdvQ29uZmlnID0ge30pOiBQbHVnaW4ge1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZpbHRlcihpbmNsdWRlLCBleGNsdWRlKTtcblxuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6ICdyb2xsdXBTdmdvJyxcbiAgICAgICAgdHJhbnNmb3JtKHN2Z1N0cmluZzogc3RyaW5nLCBwYXRoOiBzdHJpbmcpOiBUcmFuc2Zvcm1SZXN1bHQge1xuICAgICAgICAgICAgY29uc3Qgc2tpcCA9ICFmaWx0ZXIocGF0aCk7XG5cbiAgICAgICAgICAgIGlmIChza2lwKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdcXHgxYlszM20lc1xceDFiWzBtJywgJ1tza2lwXScsIHBhdGgpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgZGF0YTogdW5rbm93bjtcbiAgICAgICAgICAgIGxldCBlcnJvcjogdW5rbm93bjtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IFN2Z29SZXN1bHQgPSBvcHRpbWl6ZShzdmdTdHJpbmcsIHtwYXRoLCAuLi5vcHRpb25zfSk7XG5cbiAgICAgICAgICAgICAgICBkYXRhID0gKHJlc3VsdCBhcyBPcHRpbWl6ZWRTdmcpPy5kYXRhIHx8IHt9O1xuICAgICAgICAgICAgICAgIGVycm9yID0gcmVzdWx0LmVycm9yO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgZXJyb3IgPSBlcnIubWVzc2FnZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICAgICAgJ1xceDFiWzMxbSVzXFx4MWJbMG0nLFxuICAgICAgICAgICAgICAgICAgICAnW2Vycm9yXScsXG4gICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgIGBcXG4ke3N2Z1N0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICBgXFxuJHtlcnJvcn1gLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJ1xceDFiWzMybSVzXFx4MWJbMG0nLCAnW3N1Y2Nlc3NdJywgcGF0aCk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZTogYGV4cG9ydCBkZWZhdWx0ICR7SlNPTi5zdHJpbmdpZnkoZGF0YSl9YCxcbiAgICAgICAgICAgICAgICBtYXA6IHttYXBwaW5nczogJyd9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICB9O1xufVxuIl19