Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@icon-magic/distribute

Package Overview
Dependencies
Maintainers
3
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@icon-magic/distribute - npm Package Compare versions

Comparing version 2.2.11-beta.0 to 2.3.0-beta.0

dist/test/fixtures/input/wordmark/build/iconrc.json

3

dist/src/create-icon-template.d.ts

@@ -6,3 +6,4 @@ import { Asset } from '@icon-magic/icon-models';

* @param outputPath path to write to
* @param doNotRemoveSuffix boolean, when true will keep the "-mixed" suffix in file name when distributing to hbs.
*/
export declare function createHbs(assets: Asset[], outputPath: string): Promise<void>;
export declare function createHbs(assets: Asset[], outputPath: string, doNotRemoveSuffix: boolean): Promise<void>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createHbs = void 0;
const ember_template_recast_1 = require("ember-template-recast");
const fs = require("fs-extra");

@@ -11,4 +13,5 @@ const path = require("path");

* @param outputPath path to write to
* @param doNotRemoveSuffix boolean, when true will keep the "-mixed" suffix in file name when distributing to hbs.
*/
async function createHbs(assets, outputPath) {
async function createHbs(assets, outputPath, doNotRemoveSuffix) {
for (const asset of assets) {

@@ -23,17 +26,30 @@ const doc = new xmldom_1.DOMParser();

const id = el.getAttributeNode('id');
const iconName = id ? id.value : '';
let iconName = id ? id.value : '';
// Strip id
el.removeAttribute('id');
// add splattributes to the hbs file
xml.documentElement.setAttribute('...attributes', '');
await fs.mkdirp(outputPath);
const template = serializeToString(xml);
const { code } = ember_template_recast_1.transform({
template,
plugin(env) {
const { builders: b } = env.syntax;
return {
ElementNode(node) {
if (node.tag === 'svg') {
// add splattributes to the hbs file
node.attributes.unshift(b.attr('...attributes', b.text('')));
}
},
};
}
});
// Remove the "-mixed" suffix from the name. File will have same name as light version.
if (!doNotRemoveSuffix && asset.colorScheme === 'mixed') {
iconName = iconName.replace(/-mixed$/, '');
}
// xmldom and other dom substitutions (like jsdom) add ...attributes="" and
// the string replace below is an ugly hack to remove the empty string
fs.writeFile(path.join(outputPath, `${iconName}.hbs`), serializeToString(xml).replace(/...attributes=\"\"/g, '...attributes'), (err) => {
if (err)
throw err;
});
fs.writeFileSync(path.join(outputPath, `${iconName}.hbs`), code);
}
}
exports.createHbs = createHbs;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWljb24tdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlYXRlLWljb24tdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLG1DQUFrRDtBQUdsRCxNQUFNLGlCQUFpQixHQUFHLElBQUksc0JBQWEsRUFBRSxDQUFDLGlCQUFpQixDQUFDO0FBRWhFOzs7O0dBSUc7QUFDSSxLQUFLLFVBQVUsU0FBUyxDQUM3QixNQUFlLEVBQ2YsVUFBa0I7SUFFbEIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxrQkFBUyxFQUFFLENBQUM7UUFDNUIsaUZBQWlGO1FBQ2pGLDBCQUEwQjtRQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMzQywrQ0FBK0M7UUFDL0MsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFrQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUM7UUFDL0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3BDLFdBQVc7UUFDWCxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLG9DQUFvQztRQUNwQyxHQUFHLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTVCLDJFQUEyRTtRQUMzRSxzRUFBc0U7UUFDdEUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLFFBQVEsTUFBTSxDQUFDLEVBQUUsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLGVBQWUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDckksSUFBSSxHQUFHO2dCQUFFLE1BQU0sR0FBRyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0FBM0JELDhCQTJCQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICdAaWNvbi1tYWdpYy9pY29uLW1vZGVscyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRE9NUGFyc2VyLCBYTUxTZXJpYWxpemVyIH0gZnJvbSAneG1sZG9tJztcblxuXG5jb25zdCBzZXJpYWxpemVUb1N0cmluZyA9IG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmc7XG5cbi8qKlxuICogU2F2ZXMgc3ZnIGFzc2V0cyBhcyBoYW5kbGViYXJzIGZpbGVzXG4gKiBAcGFyYW0gYXNzZXRzIFNWRyBhc3NldHMgdG8gY29udmVydFxuICogQHBhcmFtIG91dHB1dFBhdGggcGF0aCB0byB3cml0ZSB0b1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlSGJzKFxuICBhc3NldHM6IEFzc2V0W10sXG4gIG91dHB1dFBhdGg6IHN0cmluZyxcbik6IFByb21pc2U8dm9pZD4ge1xuICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykge1xuICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKTtcbiAgICAvLyBHZXQgY29udGVudHMgb2YgdGhlIGFzc2V0LCBzaW5jZSBpdCdzIGFuIFNWRyB0aGUgY29udGVudCB3aWxsIGJlIGluIFhNTCBmb3JtYXRcbiAgICAvLyBDb250ZW50IEJ1ZmZlciB8IHN0cmluZ1xuICAgIGNvbnN0IGNvbnRlbnRzID0gYXdhaXQgYXNzZXQuZ2V0Q29udGVudHMoKTtcbiAgICAvLyBQYXJzZSBYTUwgZnJvbSBhIHN0cmluZyBpbnRvIGEgRE9NIERvY3VtZW50LlxuICAgIGNvbnN0IHhtbCA9IGRvYy5wYXJzZUZyb21TdHJpbmcoY29udGVudHMgYXMgc3RyaW5nLCAnaW1hZ2Uvc3ZnK3htbCcpO1xuICAgIGNvbnN0IGVsID0geG1sLmRvY3VtZW50RWxlbWVudDtcbiAgICBjb25zdCBpZCA9IGVsLmdldEF0dHJpYnV0ZU5vZGUoJ2lkJyk7XG4gICAgY29uc3QgaWNvbk5hbWUgPSBpZCA/IGlkLnZhbHVlIDogJyc7XG4gICAgLy8gU3RyaXAgaWRcbiAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoJ2lkJyk7XG5cbiAgICAvLyBhZGQgc3BsYXR0cmlidXRlcyB0byB0aGUgaGJzIGZpbGVcbiAgICB4bWwuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnLi4uYXR0cmlidXRlcycsICcnKTtcbiAgICBhd2FpdCBmcy5ta2RpcnAob3V0cHV0UGF0aCk7XG5cbiAgICAvLyB4bWxkb20gYW5kIG90aGVyIGRvbSBzdWJzdGl0dXRpb25zIChsaWtlIGpzZG9tKSBhZGQgLi4uYXR0cmlidXRlcz1cIlwiIGFuZFxuICAgIC8vIHRoZSBzdHJpbmcgcmVwbGFjZSBiZWxvdyBpcyBhbiB1Z2x5IGhhY2sgdG8gcmVtb3ZlIHRoZSBlbXB0eSBzdHJpbmdcbiAgICBmcy53cml0ZUZpbGUocGF0aC5qb2luKG91dHB1dFBhdGgsIGAke2ljb25OYW1lfS5oYnNgKSwgc2VyaWFsaXplVG9TdHJpbmcoeG1sKS5yZXBsYWNlKC8uLi5hdHRyaWJ1dGVzPVxcXCJcXFwiL2csICcuLi5hdHRyaWJ1dGVzJyksIChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIpIHRocm93IGVycjtcbiAgICB9KTtcbiAgfVxufVxuXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWljb24tdGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlYXRlLWljb24tdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsaUVBQWtEO0FBQ2xELCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsbUNBQWtEO0FBRWxELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxzQkFBYSxFQUFFLENBQUMsaUJBQWlCLENBQUM7QUFFaEU7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsU0FBUyxDQUM3QixNQUFlLEVBQ2YsVUFBa0IsRUFDbEIsaUJBQTBCO0lBRTFCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1FBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksa0JBQVMsRUFBRSxDQUFDO1FBQzVCLGlGQUFpRjtRQUNqRiwwQkFBMEI7UUFDMUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0MsK0NBQStDO1FBQy9DLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBa0IsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNyRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDO1FBQy9CLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxXQUFXO1FBQ1gsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6QixNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsaUNBQVMsQ0FBQztZQUN6QixRQUFRO1lBQ1IsTUFBTSxDQUFDLEdBQUc7Z0JBQ1IsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO2dCQUVuQyxPQUFPO29CQUNMLFdBQVcsQ0FBQyxJQUFJO3dCQUNkLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUU7NEJBQ3RCLG9DQUFvQzs0QkFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQzlEO29CQUNILENBQUM7aUJBQ0YsQ0FBQztZQUNKLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCx1RkFBdUY7UUFDdkYsSUFBSSxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssT0FBTyxFQUFFO1lBQ3ZELFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUdELDJFQUEyRTtRQUMzRSxzRUFBc0U7UUFDdEUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLFFBQVEsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDbEU7QUFDSCxDQUFDO0FBN0NELDhCQTZDQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQXNzZXQgfSBmcm9tICdAaWNvbi1tYWdpYy9pY29uLW1vZGVscyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm0gfSBmcm9tICdlbWJlci10ZW1wbGF0ZS1yZWNhc3QnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IERPTVBhcnNlciwgWE1MU2VyaWFsaXplciB9IGZyb20gJ3htbGRvbSc7XG5cbmNvbnN0IHNlcmlhbGl6ZVRvU3RyaW5nID0gbmV3IFhNTFNlcmlhbGl6ZXIoKS5zZXJpYWxpemVUb1N0cmluZztcblxuLyoqXG4gKiBTYXZlcyBzdmcgYXNzZXRzIGFzIGhhbmRsZWJhcnMgZmlsZXNcbiAqIEBwYXJhbSBhc3NldHMgU1ZHIGFzc2V0cyB0byBjb252ZXJ0XG4gKiBAcGFyYW0gb3V0cHV0UGF0aCBwYXRoIHRvIHdyaXRlIHRvXG4gKiBAcGFyYW0gZG9Ob3RSZW1vdmVTdWZmaXggYm9vbGVhbiwgd2hlbiB0cnVlIHdpbGwga2VlcCB0aGUgXCItbWl4ZWRcIiBzdWZmaXggaW4gZmlsZSBuYW1lIHdoZW4gZGlzdHJpYnV0aW5nIHRvIGhicy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUhicyhcbiAgYXNzZXRzOiBBc3NldFtdLFxuICBvdXRwdXRQYXRoOiBzdHJpbmcsXG4gIGRvTm90UmVtb3ZlU3VmZml4OiBib29sZWFuXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHtcbiAgICBjb25zdCBkb2MgPSBuZXcgRE9NUGFyc2VyKCk7XG4gICAgLy8gR2V0IGNvbnRlbnRzIG9mIHRoZSBhc3NldCwgc2luY2UgaXQncyBhbiBTVkcgdGhlIGNvbnRlbnQgd2lsbCBiZSBpbiBYTUwgZm9ybWF0XG4gICAgLy8gQ29udGVudCBCdWZmZXIgfCBzdHJpbmdcbiAgICBjb25zdCBjb250ZW50cyA9IGF3YWl0IGFzc2V0LmdldENvbnRlbnRzKCk7XG4gICAgLy8gUGFyc2UgWE1MIGZyb20gYSBzdHJpbmcgaW50byBhIERPTSBEb2N1bWVudC5cbiAgICBjb25zdCB4bWwgPSBkb2MucGFyc2VGcm9tU3RyaW5nKGNvbnRlbnRzIGFzIHN0cmluZywgJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgICBjb25zdCBlbCA9IHhtbC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgaWQgPSBlbC5nZXRBdHRyaWJ1dGVOb2RlKCdpZCcpO1xuICAgIGxldCBpY29uTmFtZSA9IGlkID8gaWQudmFsdWUgOiAnJztcbiAgICAvLyBTdHJpcCBpZFxuICAgIGVsLnJlbW92ZUF0dHJpYnV0ZSgnaWQnKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0gc2VyaWFsaXplVG9TdHJpbmcoeG1sKTtcbiAgICBjb25zdCB7IGNvZGUgfSA9IHRyYW5zZm9ybSh7XG4gICAgICB0ZW1wbGF0ZSxcbiAgICAgIHBsdWdpbihlbnYpIHtcbiAgICAgICAgY29uc3QgeyBidWlsZGVyczogYiB9ID0gZW52LnN5bnRheDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIEVsZW1lbnROb2RlKG5vZGUpIHtcbiAgICAgICAgICAgIGlmIChub2RlLnRhZyA9PT0gJ3N2ZycpIHtcbiAgICAgICAgICAgICAgLy8gYWRkIHNwbGF0dHJpYnV0ZXMgdG8gdGhlIGhicyBmaWxlXG4gICAgICAgICAgICAgIG5vZGUuYXR0cmlidXRlcy51bnNoaWZ0KGIuYXR0cignLi4uYXR0cmlidXRlcycsIGIudGV4dCgnJykpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gUmVtb3ZlIHRoZSBcIi1taXhlZFwiIHN1ZmZpeCBmcm9tIHRoZSBuYW1lLiBGaWxlIHdpbGwgaGF2ZSBzYW1lIG5hbWUgYXMgbGlnaHQgdmVyc2lvbi5cbiAgICBpZiAoIWRvTm90UmVtb3ZlU3VmZml4ICYmIGFzc2V0LmNvbG9yU2NoZW1lID09PSAnbWl4ZWQnKSB7XG4gICAgICBpY29uTmFtZSA9IGljb25OYW1lLnJlcGxhY2UoLy1taXhlZCQvLCAnJyk7XG4gICAgfVxuXG5cbiAgICAvLyB4bWxkb20gYW5kIG90aGVyIGRvbSBzdWJzdGl0dXRpb25zIChsaWtlIGpzZG9tKSBhZGQgLi4uYXR0cmlidXRlcz1cIlwiIGFuZFxuICAgIC8vIHRoZSBzdHJpbmcgcmVwbGFjZSBiZWxvdyBpcyBhbiB1Z2x5IGhhY2sgdG8gcmVtb3ZlIHRoZSBlbXB0eSBzdHJpbmdcbiAgICBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihvdXRwdXRQYXRoLCBgJHtpY29uTmFtZX0uaGJzYCksIGNvZGUpO1xuICB9XG59XG5cbiJdfQ==
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createImageSet = void 0;
const logger_1 = require("@icon-magic/logger");

@@ -107,2 +108,2 @@ const fs = require("fs-extra");

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWltYWdlLXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jcmVhdGUtaW1hZ2Utc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsK0NBQTRDO0FBQzVDLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFFN0IsbUNBQTJFO0FBRTNFLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLHdDQUF3QyxDQUFDLENBQUM7QUFDcEUsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFjNUM7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGNBQWMsQ0FBQyxPQUFnQixFQUFFLFVBQWtCO0lBQ3ZFLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN2RCxNQUFNLE1BQU0sR0FBRyw0QkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxDQUFDLHFCQUFxQjtRQUM1RCxJQUFJLGNBQWMsR0FBRyxVQUFVLENBQUM7UUFFaEMsMkVBQTJFO1FBQzNFLG1CQUFtQjtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMzRDtRQUVELEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzFCLGtFQUFrRTtZQUNsRSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2pDLFNBQVM7YUFDVjtZQUVELDJEQUEyRDtZQUMzRCxN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R0FJRztBQUNILEtBQUssVUFBVSxhQUFhLENBQUMsUUFBZ0IsRUFBRSxJQUFZO0lBQ3pELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMscUJBQXFCLENBQUMsS0FBWTtJQUN6QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUM1RCxPQUFPLGVBQWU7UUFDcEIsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NldCwgSWNvblNldCB9IGZyb20gJ0BpY29uLW1hZ2ljL2ljb24tbW9kZWxzJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0BpY29uLW1hZ2ljL2xvZ2dlcic7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBnZXRBc3NldFJlc29sdXRpb25Gcm9tTmFtZSwgZ2V0SWNvbkZsYXZvcnNCeVR5cGUgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgTE9HR0VSID0gbmV3IExvZ2dlcignaWNvbi1tYWdpYzpkaXN0cmlidXRlOmNyZWF0ZS1pbWFnZS1zZXQnKTtcbmNvbnN0IElPU19TVVBQT1JURURfUkVTT0xVVElPTlMgPSBbMSwgMiwgM107XG5cbmludGVyZmFjZSBDb250ZW50SW1hZ2Uge1xuICBpZGlvbTogc3RyaW5nO1xuICBzY2FsZTogc3RyaW5nO1xuICBmaWxlbmFtZTogc3RyaW5nO1xufVxuXG4vLyBUT0RPOiBwb3B1bGF0ZSB0aGlzIGludGVyZmFjZSBhcyBuZWVkZWRcbi8vIGZyb20gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvYXJjaGl2ZS9kb2N1bWVudGF0aW9uL1hjb2RlL1JlZmVyZW5jZS94Y29kZV9yZWYtQXNzZXRfQ2F0YWxvZ19Gb3JtYXQvSW1hZ2VTZXRUeXBlLmh0bWxcbmludGVyZmFjZSBBc3NldENhdGFsb2cge1xuICBpbWFnZXM/OiBDb250ZW50SW1hZ2VbXTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGltYWdlU2V0IHdoaWNoIGlzIG5lZWRlZCBmb3IgaU9TXG4gKiBUaGlzIGNvbnNpc3RzIG9mIHRoZSBhc3NldHMgaW4gZGlmZmVyZW50IHJlc29sdXRpb25zIGFuZCBhIGNvcnJlc3BvbmRpbmdcbiAqIENvbnRlbnQuanNvbiBmaWxlXG4gKiBAcGFyYW0gaWNvbiB0aGUgaWNvbiBmb3Igd2hpY2ggdGhlIGltYWdlU2V0IG5lZWRzIHRvIGJlIGNyZWF0ZWRcbiAqIEBwYXJhbSBvdXRwdXRQYXRoIG91dHB1dCBkaXJlY3RvcnkgcGF0aCB0byBjb3B5IHRoZSBhc3NldHMgdG9cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUltYWdlU2V0KGljb25TZXQ6IEljb25TZXQsIG91dHB1dFBhdGg6IHN0cmluZykge1xuICBmb3IgKGNvbnN0IGljb24gb2YgaWNvblNldC5oYXNoLnZhbHVlcygpKSB7XG4gICAgTE9HR0VSLmRlYnVnKGBDcmVhdGluZyBpbWFnZVNldCBmb3IgJHtpY29uLmljb25OYW1lfWApO1xuICAgIGNvbnN0IGFzc2V0cyA9IGdldEljb25GbGF2b3JzQnlUeXBlKGljb24sICdwbmcnKTtcbiAgICBjb25zdCBwcm9taXNlcyA9IFtdO1xuICAgIGNvbnN0IEFTU0VUX0NBVEFMT0cgPSAnQ29udGVudHMuanNvbic7IC8vIGFzIGRlZmluZWQgZm9yIGlPU1xuICAgIGxldCBpY29uT3V0cHV0UGF0aCA9IG91dHB1dFBhdGg7XG5cbiAgICAvLyBwcmVwZW5kIHRoZSBvdXRwdXRQYXRoIHdpdGggdGhlIGNhdGVnb3J5IHNvIG91dHB1dCBpY29ucyBhcmUgY2F0ZWdvcml6ZWRcbiAgICAvLyBieSBjYXRlZ29yeSBuYW1lXG4gICAgaWYgKGljb24uY2F0ZWdvcnkpIHtcbiAgICAgIGljb25PdXRwdXRQYXRoID0gcGF0aC5qb2luKGljb25PdXRwdXRQYXRoLCBpY29uLmNhdGVnb3J5KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykge1xuICAgICAgLy8gaWYgdGhlIGFzc2V0IGlzIG5vdCBhIHN1cHBvcnRlZCBpb3MgcmVzb2x1dGlvbiwgdGhlbiBkbyBub3RoaW5nXG4gICAgICBpZiAoIWlzU3VwcG9ydGVkUmVzb2x1dGlvbihhc3NldCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4YW1wbGUgLngveS8yMy9maWxsZWQtMjR4MTJAMi5wbmcgLT4gZmlsbGVkLTI0eDEyQDIucG5nXG4gICAgICBjb25zdCBhc3NldFBhdGhCYXNlbmFtZSA9IHBhdGguYmFzZW5hbWUoYXNzZXQuZ2V0UGF0aCgpKTtcblxuICAgICAgLy8gVGhpcyB3aWxsIGJlIHRoZSBuYW1lIHRoZSBmaWxlIGlzIHNhdmVkIGFzXG4gICAgICBsZXQgYXNzZXROYW1lRm9yQ2F0YWxvZyA9IGAke2ljb24uaWNvbk5hbWV9XyR7YXNzZXRQYXRoQmFzZW5hbWV9YC5yZXBsYWNlKC8tL2csICdfJyk7XG5cbiAgICAgIC8qIFRoaXMgd2lsbCBiZSB0aGUgZm9sZGVyIHRoZSBmaWxlcyBhcmUgc2F2ZWQgaW5cbiAgICAgICAqIFVzdWFsbHkgZm9yIGlvcyBldmVyeSB2YXJpYW50IGdldHMgaXRzIG93biBmb2xkZXJcbiAgICAgICAqIEJ1dCB3ZSB3YW50IGRhcmsgYW5kIGxpZ2h0IGFzc2V0cyAod2hpY2ggYXJlIHRlY2huaWNhbGx5IHNlcGFyYXRlIHZhcmlhbnRzKVxuICAgICAgICogdG8gYmUgaW4gdGhlIHNhbWUgZm9sZGVyIHNvIHdlIHVzZSBgaW1hZ2VzZXRgIGlmIGF2YWlsYWJsZVxuICAgICAgICogYGltYWdlc2V0YCBpcyBhIG5hbWUgZ3JvdXBpbmcgdGhhdCdzIHNoYXJlZCBhY3Jvc3MgbGlnaHQgYW5kIGRhcmsgYXNzZXRzXG4gICAgICAqL1xuICAgICAgbGV0IGFzc2V0SW1hZ2VzZXRGb3JDYXRhbG9nID0gYXNzZXQuaW1hZ2VzZXQgP1xuICAgICAgICBgJHtpY29uLmljb25OYW1lfV8ke2Fzc2V0LmltYWdlc2V0fWAucmVwbGFjZSgvLS9nLCAnXycpIDogYCR7YXNzZXROYW1lRm9yQ2F0YWxvZy5zcGxpdCgnQCcpWzBdfWA7XG5cbiAgICAgIC8vIGlmIHRoZSBjYXRlZ29yeSBpcyBwcmVzZW50LCBwcmVwZW5kIGl0IHRvIHRoZSBuYW1lXG4gICAgICBpZiAoaWNvbi5jYXRlZ29yeSkge1xuICAgICAgICBhc3NldE5hbWVGb3JDYXRhbG9nID0gYCR7aWNvbi5jYXRlZ29yeX1fJHthc3NldE5hbWVGb3JDYXRhbG9nfWA7XG4gICAgICAgIGFzc2V0SW1hZ2VzZXRGb3JDYXRhbG9nID0gYCR7aWNvbi5jYXRlZ29yeX1fJHthc3NldEltYWdlc2V0Rm9yQ2F0YWxvZ31gO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBvdXRwdXRJY29uRGlyID0gcGF0aC5qb2luKFxuICAgICAgICBpY29uT3V0cHV0UGF0aCxcbiAgICAgICAgYCR7YXNzZXRJbWFnZXNldEZvckNhdGFsb2d9LmltYWdlc2V0YFxuICAgICAgKTtcblxuICAgICAgYXdhaXQgZnMubWtkaXJwKG91dHB1dEljb25EaXIpO1xuXG4gICAgICBjb25zdCBhc3NldENhdGFsb2dQYXRoID0gcGF0aC5qb2luKG91dHB1dEljb25EaXIsIEFTU0VUX0NBVEFMT0cpO1xuICAgICAgbGV0IGltYWdlczogQ29udGVudEltYWdlW107XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhhc3NldENhdGFsb2dQYXRoKSkge1xuICAgICAgICBjb25zdCBhc3NldENhdGFsb2dDb250ZW50czogQXNzZXRDYXRhbG9nID0gYXdhaXQgbG9hZEpTT05GaWxlKFxuICAgICAgICAgIGFzc2V0Q2F0YWxvZ1BhdGhcbiAgICAgICAgKTtcbiAgICAgICAgaW1hZ2VzID0gYXNzZXRDYXRhbG9nQ29udGVudHMuaW1hZ2VzIHx8IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW1hZ2VzID0gW107XG4gICAgICB9XG5cbiAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgIGZzLmNvcHkoYXNzZXQuZ2V0UGF0aCgpLCBwYXRoLmpvaW4ob3V0cHV0SWNvbkRpciwgYXNzZXROYW1lRm9yQ2F0YWxvZykpXG4gICAgICApO1xuXG4gICAgICAvLyB1cGRhdGUgdGhlIGFzc2V0Q2F0YWxvZyBpZiBpdCBkb2Vzbid0IGNvbnRhaW4gdGhlIGFzc2V0IGFscmVhZHlcbiAgICAgIGNvbnN0IGRvZXNJbWFnZUV4aXN0ID0gaW1hZ2VzLmZpbmQoXG4gICAgICAgIGltZyA9PiBpbWcuZmlsZW5hbWUgPT09IGFzc2V0TmFtZUZvckNhdGFsb2dcbiAgICAgICk7XG4gICAgICBpZiAoIWRvZXNJbWFnZUV4aXN0KSB7XG4gICAgICAgIGltYWdlcy5wdXNoKHtcbiAgICAgICAgICBpZGlvbTogJ3VuaXZlcnNhbCcsXG4gICAgICAgICAgc2NhbGU6IGdldEFzc2V0UmVzb2x1dGlvbkZyb21OYW1lKGFzc2V0LCB0cnVlKSxcbiAgICAgICAgICBmaWxlbmFtZTogYXNzZXROYW1lRm9yQ2F0YWxvZyxcbiAgICAgICAgICAuLi4oYXNzZXQuY29sb3JTY2hlbWUgPT09ICdkYXJrJyAmJiB7XG4gICAgICAgICAgICBhcHBlYXJhbmNlczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ2x1bWlub3NpdHknLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnZGFyaydcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICAgICAgYXdhaXQgd3JpdGVKU09OZmlsZShhc3NldENhdGFsb2dQYXRoLCB7IGltYWdlcyB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpO1xuICB9XG59XG5cbi8qKlxuICogTG9hZHMgYSBKU09OIGZyb20gYSBmaWxlLlxuICogQHBhcmFtIGZpbGVQYXRoIFRoZSBmaWxlbmFtZSB0byBsb2FkLlxuICogQHJldHVybnMgVGhlIEpTT04gY29udGVudHMgYXMgYW4gb2JqZWN0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGxvYWRKU09ORmlsZShmaWxlUGF0aDogc3RyaW5nKTogUHJvbWlzZTxvYmplY3Q+IHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUoZmlsZVBhdGgsICd1dGY4JykpO1xufVxuXG4vKipcbiAqIFdyaXRlcyBKU09OIHRvIGZpbGVcbiAqIEBwYXJhbSBmaWxlUGF0aCBUaGUgZmlsZVBhdGggdG8gd3JpdGUgdG9cbiAqIEByZXR1cm5zIFByb21pc2UgdG8gdGhlIHdyaXRlRmlsZSBvcGVyYXRpb25cbiAqL1xuYXN5bmMgZnVuY3Rpb24gd3JpdGVKU09OZmlsZShmaWxlUGF0aDogc3RyaW5nLCBkYXRhOiBvYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIGZzLndyaXRlRmlsZShgJHtwYXRoLmpvaW4oZmlsZVBhdGgpfWAsIEpTT04uc3RyaW5naWZ5KGRhdGEsIG51bGwsIDIpKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGFzc2V0IGlzIGFtb25nIHRoZSBzdXBwb3J0ZWQgcmVzb2x1dGlvbnMgYnkgbG9va2luZyBhdCB0aGUgbmFtZVxuICogb2YgdGhlIGFzc2V0XG4gKiBAcGFyYW0gYXNzZXQgdGhlIGFzc2V0IHRvIGNoZWNrIGlmIGl0J3MgaW4gYSBzdXBwb3J0ZWQgcmVzb2x1dGlvblxuICovXG5mdW5jdGlvbiBpc1N1cHBvcnRlZFJlc29sdXRpb24oYXNzZXQ6IEFzc2V0KSB7XG4gIGNvbnN0IGFzc2V0UmVzb2x1dGlvbiA9IE51bWJlcihhc3NldC5uYW1lLnNwbGl0KCdAJykucG9wKCkpO1xuICByZXR1cm4gYXNzZXRSZXNvbHV0aW9uXG4gICAgPyBJT1NfU1VQUE9SVEVEX1JFU09MVVRJT05TLmluY2x1ZGVzKE51bWJlcihhc3NldFJlc29sdXRpb24pKVxuICAgIDogdHJ1ZTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWltYWdlLXNldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jcmVhdGUtaW1hZ2Utc2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLCtDQUE0QztBQUM1QywrQkFBK0I7QUFDL0IsNkJBQTZCO0FBRTdCLG1DQUEyRTtBQUUzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0FBQ3BFLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBYzVDOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQUMsT0FBZ0IsRUFBRSxVQUFrQjtJQUN2RSxLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDeEMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkQsTUFBTSxNQUFNLEdBQUcsNEJBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsQ0FBQyxxQkFBcUI7UUFDNUQsSUFBSSxjQUFjLEdBQUcsVUFBVSxDQUFDO1FBRWhDLDJFQUEyRTtRQUMzRSxtQkFBbUI7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDM0Q7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUMxQixrRUFBa0U7WUFDbEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNqQyxTQUFTO2FBQ1Y7WUFFRCwyREFBMkQ7WUFDM0Qs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O0dBSUc7QUFDSCxLQUFLLFVBQVUsYUFBYSxDQUFDLFFBQWdCLEVBQUUsSUFBWTtJQUN6RCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLHFCQUFxQixDQUFDLEtBQVk7SUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUQsT0FBTyxlQUFlO1FBQ3BCLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXQsIEljb25TZXQgfSBmcm9tICdAaWNvbi1tYWdpYy9pY29uLW1vZGVscyc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAaWNvbi1tYWdpYy9sb2dnZXInO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgZ2V0QXNzZXRSZXNvbHV0aW9uRnJvbU5hbWUsIGdldEljb25GbGF2b3JzQnlUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IExPR0dFUiA9IG5ldyBMb2dnZXIoJ2ljb24tbWFnaWM6ZGlzdHJpYnV0ZTpjcmVhdGUtaW1hZ2Utc2V0Jyk7XG5jb25zdCBJT1NfU1VQUE9SVEVEX1JFU09MVVRJT05TID0gWzEsIDIsIDNdO1xuXG5pbnRlcmZhY2UgQ29udGVudEltYWdlIHtcbiAgaWRpb206IHN0cmluZztcbiAgc2NhbGU6IHN0cmluZztcbiAgZmlsZW5hbWU6IHN0cmluZztcbn1cblxuLy8gVE9ETzogcG9wdWxhdGUgdGhpcyBpbnRlcmZhY2UgYXMgbmVlZGVkXG4vLyBmcm9tIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L2FyY2hpdmUvZG9jdW1lbnRhdGlvbi9YY29kZS9SZWZlcmVuY2UveGNvZGVfcmVmLUFzc2V0X0NhdGFsb2dfRm9ybWF0L0ltYWdlU2V0VHlwZS5odG1sXG5pbnRlcmZhY2UgQXNzZXRDYXRhbG9nIHtcbiAgaW1hZ2VzPzogQ29udGVudEltYWdlW107XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbWFnZVNldCB3aGljaCBpcyBuZWVkZWQgZm9yIGlPU1xuICogVGhpcyBjb25zaXN0cyBvZiB0aGUgYXNzZXRzIGluIGRpZmZlcmVudCByZXNvbHV0aW9ucyBhbmQgYSBjb3JyZXNwb25kaW5nXG4gKiBDb250ZW50Lmpzb24gZmlsZVxuICogQHBhcmFtIGljb24gdGhlIGljb24gZm9yIHdoaWNoIHRoZSBpbWFnZVNldCBuZWVkcyB0byBiZSBjcmVhdGVkXG4gKiBAcGFyYW0gb3V0cHV0UGF0aCBvdXRwdXQgZGlyZWN0b3J5IHBhdGggdG8gY29weSB0aGUgYXNzZXRzIHRvXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVJbWFnZVNldChpY29uU2V0OiBJY29uU2V0LCBvdXRwdXRQYXRoOiBzdHJpbmcpIHtcbiAgZm9yIChjb25zdCBpY29uIG9mIGljb25TZXQuaGFzaC52YWx1ZXMoKSkge1xuICAgIExPR0dFUi5kZWJ1ZyhgQ3JlYXRpbmcgaW1hZ2VTZXQgZm9yICR7aWNvbi5pY29uTmFtZX1gKTtcbiAgICBjb25zdCBhc3NldHMgPSBnZXRJY29uRmxhdm9yc0J5VHlwZShpY29uLCAncG5nJyk7XG4gICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcbiAgICBjb25zdCBBU1NFVF9DQVRBTE9HID0gJ0NvbnRlbnRzLmpzb24nOyAvLyBhcyBkZWZpbmVkIGZvciBpT1NcbiAgICBsZXQgaWNvbk91dHB1dFBhdGggPSBvdXRwdXRQYXRoO1xuXG4gICAgLy8gcHJlcGVuZCB0aGUgb3V0cHV0UGF0aCB3aXRoIHRoZSBjYXRlZ29yeSBzbyBvdXRwdXQgaWNvbnMgYXJlIGNhdGVnb3JpemVkXG4gICAgLy8gYnkgY2F0ZWdvcnkgbmFtZVxuICAgIGlmIChpY29uLmNhdGVnb3J5KSB7XG4gICAgICBpY29uT3V0cHV0UGF0aCA9IHBhdGguam9pbihpY29uT3V0cHV0UGF0aCwgaWNvbi5jYXRlZ29yeSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHtcbiAgICAgIC8vIGlmIHRoZSBhc3NldCBpcyBub3QgYSBzdXBwb3J0ZWQgaW9zIHJlc29sdXRpb24sIHRoZW4gZG8gbm90aGluZ1xuICAgICAgaWYgKCFpc1N1cHBvcnRlZFJlc29sdXRpb24oYXNzZXQpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBFeGFtcGxlIC54L3kvMjMvZmlsbGVkLTI0eDEyQDIucG5nIC0+IGZpbGxlZC0yNHgxMkAyLnBuZ1xuICAgICAgY29uc3QgYXNzZXRQYXRoQmFzZW5hbWUgPSBwYXRoLmJhc2VuYW1lKGFzc2V0LmdldFBhdGgoKSk7XG5cbiAgICAgIC8vIFRoaXMgd2lsbCBiZSB0aGUgbmFtZSB0aGUgZmlsZSBpcyBzYXZlZCBhc1xuICAgICAgbGV0IGFzc2V0TmFtZUZvckNhdGFsb2cgPSBgJHtpY29uLmljb25OYW1lfV8ke2Fzc2V0UGF0aEJhc2VuYW1lfWAucmVwbGFjZSgvLS9nLCAnXycpO1xuXG4gICAgICAvKiBUaGlzIHdpbGwgYmUgdGhlIGZvbGRlciB0aGUgZmlsZXMgYXJlIHNhdmVkIGluXG4gICAgICAgKiBVc3VhbGx5IGZvciBpb3MgZXZlcnkgdmFyaWFudCBnZXRzIGl0cyBvd24gZm9sZGVyXG4gICAgICAgKiBCdXQgd2Ugd2FudCBkYXJrIGFuZCBsaWdodCBhc3NldHMgKHdoaWNoIGFyZSB0ZWNobmljYWxseSBzZXBhcmF0ZSB2YXJpYW50cylcbiAgICAgICAqIHRvIGJlIGluIHRoZSBzYW1lIGZvbGRlciBzbyB3ZSB1c2UgYGltYWdlc2V0YCBpZiBhdmFpbGFibGVcbiAgICAgICAqIGBpbWFnZXNldGAgaXMgYSBuYW1lIGdyb3VwaW5nIHRoYXQncyBzaGFyZWQgYWNyb3NzIGxpZ2h0IGFuZCBkYXJrIGFzc2V0c1xuICAgICAgKi9cbiAgICAgIGxldCBhc3NldEltYWdlc2V0Rm9yQ2F0YWxvZyA9IGFzc2V0LmltYWdlc2V0ID9cbiAgICAgICAgYCR7aWNvbi5pY29uTmFtZX1fJHthc3NldC5pbWFnZXNldH1gLnJlcGxhY2UoLy0vZywgJ18nKSA6IGAke2Fzc2V0TmFtZUZvckNhdGFsb2cuc3BsaXQoJ0AnKVswXX1gO1xuXG4gICAgICAvLyBpZiB0aGUgY2F0ZWdvcnkgaXMgcHJlc2VudCwgcHJlcGVuZCBpdCB0byB0aGUgbmFtZVxuICAgICAgaWYgKGljb24uY2F0ZWdvcnkpIHtcbiAgICAgICAgYXNzZXROYW1lRm9yQ2F0YWxvZyA9IGAke2ljb24uY2F0ZWdvcnl9XyR7YXNzZXROYW1lRm9yQ2F0YWxvZ31gO1xuICAgICAgICBhc3NldEltYWdlc2V0Rm9yQ2F0YWxvZyA9IGAke2ljb24uY2F0ZWdvcnl9XyR7YXNzZXRJbWFnZXNldEZvckNhdGFsb2d9YDtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3V0cHV0SWNvbkRpciA9IHBhdGguam9pbihcbiAgICAgICAgaWNvbk91dHB1dFBhdGgsXG4gICAgICAgIGAke2Fzc2V0SW1hZ2VzZXRGb3JDYXRhbG9nfS5pbWFnZXNldGBcbiAgICAgICk7XG5cbiAgICAgIGF3YWl0IGZzLm1rZGlycChvdXRwdXRJY29uRGlyKTtcblxuICAgICAgY29uc3QgYXNzZXRDYXRhbG9nUGF0aCA9IHBhdGguam9pbihvdXRwdXRJY29uRGlyLCBBU1NFVF9DQVRBTE9HKTtcbiAgICAgIGxldCBpbWFnZXM6IENvbnRlbnRJbWFnZVtdO1xuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoYXNzZXRDYXRhbG9nUGF0aCkpIHtcbiAgICAgICAgY29uc3QgYXNzZXRDYXRhbG9nQ29udGVudHM6IEFzc2V0Q2F0YWxvZyA9IGF3YWl0IGxvYWRKU09ORmlsZShcbiAgICAgICAgICBhc3NldENhdGFsb2dQYXRoXG4gICAgICAgICk7XG4gICAgICAgIGltYWdlcyA9IGFzc2V0Q2F0YWxvZ0NvbnRlbnRzLmltYWdlcyB8fCBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGltYWdlcyA9IFtdO1xuICAgICAgfVxuXG4gICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICBmcy5jb3B5KGFzc2V0LmdldFBhdGgoKSwgcGF0aC5qb2luKG91dHB1dEljb25EaXIsIGFzc2V0TmFtZUZvckNhdGFsb2cpKVxuICAgICAgKTtcblxuICAgICAgLy8gdXBkYXRlIHRoZSBhc3NldENhdGFsb2cgaWYgaXQgZG9lc24ndCBjb250YWluIHRoZSBhc3NldCBhbHJlYWR5XG4gICAgICBjb25zdCBkb2VzSW1hZ2VFeGlzdCA9IGltYWdlcy5maW5kKFxuICAgICAgICBpbWcgPT4gaW1nLmZpbGVuYW1lID09PSBhc3NldE5hbWVGb3JDYXRhbG9nXG4gICAgICApO1xuICAgICAgaWYgKCFkb2VzSW1hZ2VFeGlzdCkge1xuICAgICAgICBpbWFnZXMucHVzaCh7XG4gICAgICAgICAgaWRpb206ICd1bml2ZXJzYWwnLFxuICAgICAgICAgIHNjYWxlOiBnZXRBc3NldFJlc29sdXRpb25Gcm9tTmFtZShhc3NldCwgdHJ1ZSksXG4gICAgICAgICAgZmlsZW5hbWU6IGFzc2V0TmFtZUZvckNhdGFsb2csXG4gICAgICAgICAgLi4uKGFzc2V0LmNvbG9yU2NoZW1lID09PSAnZGFyaycgJiYge1xuICAgICAgICAgICAgYXBwZWFyYW5jZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6ICdsdW1pbm9zaXR5JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2RhcmsnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHdyaXRlSlNPTmZpbGUoYXNzZXRDYXRhbG9nUGF0aCwgeyBpbWFnZXMgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgfVxufVxuXG4vKipcbiAqIExvYWRzIGEgSlNPTiBmcm9tIGEgZmlsZS5cbiAqIEBwYXJhbSBmaWxlUGF0aCBUaGUgZmlsZW5hbWUgdG8gbG9hZC5cbiAqIEByZXR1cm5zIFRoZSBKU09OIGNvbnRlbnRzIGFzIGFuIG9iamVjdFxuICovXG5hc3luYyBmdW5jdGlvbiBsb2FkSlNPTkZpbGUoZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8b2JqZWN0PiB7XG4gIHJldHVybiBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKGZpbGVQYXRoLCAndXRmOCcpKTtcbn1cblxuLyoqXG4gKiBXcml0ZXMgSlNPTiB0byBmaWxlXG4gKiBAcGFyYW0gZmlsZVBhdGggVGhlIGZpbGVQYXRoIHRvIHdyaXRlIHRvXG4gKiBAcmV0dXJucyBQcm9taXNlIHRvIHRoZSB3cml0ZUZpbGUgb3BlcmF0aW9uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHdyaXRlSlNPTmZpbGUoZmlsZVBhdGg6IHN0cmluZywgZGF0YTogb2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBmcy53cml0ZUZpbGUoYCR7cGF0aC5qb2luKGZpbGVQYXRoKX1gLCBKU09OLnN0cmluZ2lmeShkYXRhLCBudWxsLCAyKSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBhc3NldCBpcyBhbW9uZyB0aGUgc3VwcG9ydGVkIHJlc29sdXRpb25zIGJ5IGxvb2tpbmcgYXQgdGhlIG5hbWVcbiAqIG9mIHRoZSBhc3NldFxuICogQHBhcmFtIGFzc2V0IHRoZSBhc3NldCB0byBjaGVjayBpZiBpdCdzIGluIGEgc3VwcG9ydGVkIHJlc29sdXRpb25cbiAqL1xuZnVuY3Rpb24gaXNTdXBwb3J0ZWRSZXNvbHV0aW9uKGFzc2V0OiBBc3NldCkge1xuICBjb25zdCBhc3NldFJlc29sdXRpb24gPSBOdW1iZXIoYXNzZXQubmFtZS5zcGxpdCgnQCcpLnBvcCgpKTtcbiAgcmV0dXJuIGFzc2V0UmVzb2x1dGlvblxuICAgID8gSU9TX1NVUFBPUlRFRF9SRVNPTFVUSU9OUy5pbmNsdWRlcyhOdW1iZXIoYXNzZXRSZXNvbHV0aW9uKSlcbiAgICA6IHRydWU7XG59XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.partitionAssetsForSprite = exports.writeSpriteToFile = exports.appendToSvgDoc = exports.createSVGDoc = exports.addToSprite = void 0;
const icon_models_1 = require("@icon-magic/icon-models");

@@ -196,2 +197,2 @@ const logger_1 = require("@icon-magic/logger");

exports.partitionAssetsForSprite = partitionAssetsForSprite;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNwcml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jcmVhdGUtc3ByaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseURBSWlDO0FBQ2pDLCtDQUE0QztBQUM1QyxtQ0FBcUU7QUFFckUsbUNBQW1FO0FBRW5FLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7QUFDakUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLHNCQUFhLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztBQUVoRTs7Ozs7OztHQU9HO0FBQ0ksS0FBSyxVQUFVLFdBQVcsQ0FDL0IsVUFBa0IsRUFDbEIsTUFBZSxFQUNmLGVBQXdCLEVBQ3hCLFFBQWdCLEVBQ2hCLFdBQXlCO0lBRXpCLElBQUksUUFBUSxFQUFFLEtBQUssQ0FBQztJQUNwQixNQUFNLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDNUIsK0NBQStDO0lBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzNDLHVEQUF1RDtRQUN2RCxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pELG1DQUFtQztRQUNuQywyREFBMkQ7UUFDM0Qsd0RBQXdEO1FBQ3hELHlCQUF5QjtRQUN6QixXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7S0FDL0M7U0FBTTtRQUNMLG9FQUFvRTtRQUNwRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0tBQ2pEO0lBRUQsK0NBQStDO0lBQy9DLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFlLEVBQUUsUUFBZSxFQUFFLEVBQUU7UUFDcEUsT0FBTyxzQkFBYyxD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RUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQix3QkFBd0IsQ0FDdEMsTUFBZSxFQUNmLGdCQUEwQjtJQUUxQix5RUFBeUU7SUFDekUsb0NBQW9DO0lBQ3BDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN6RCxDQUFDLE1BQWlCLEVBQUUsS0FBWSxFQUFFLEVBQUU7UUFDbEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFDRCxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FDVCxDQUFDO0lBQ0YsT0FBTztRQUNMLG1CQUFtQjtRQUNuQixjQUFjO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFqQkQsNERBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXNzZXQsXG4gIFNwcml0ZUNvbmZpZyxcbiAgc2F2ZUNvbnRlbnRUb0ZpbGVcbn0gZnJvbSAnQGljb24tbWFnaWMvaWNvbi1tb2RlbHMnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQGljb24tbWFnaWMvbG9nZ2VyJztcbmltcG9ydCB7IERPTUltcGxlbWVudGF0aW9uLCBET01QYXJzZXIsIFhNTFNlcmlhbGl6ZXIgfSBmcm9tICd4bWxkb20nO1xuXG5pbXBvcnQgeyBjb21wYXJlU3RyaW5ncywgcmVtb3ZlUmVzb2x1dGlvbkZyb21OYW1lIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IExPR0dFUiA9IG5ldyBMb2dnZXIoJ2ljb24tbWFnaWM6ZGlzdHJpYnV0ZTpjcmVhdGUtc3ByaXRlJyk7XG5jb25zdCBzZXJpYWxpemVUb1N0cmluZyA9IG5ldyBYTUxTZXJpYWxpemVyKCkuc2VyaWFsaXplVG9TdHJpbmc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHNwcml0ZSBhbmQgYXBwZW5kcyBTVkcgaWNvbnNcbiAqIEBwYXJhbSBzcHJpdGVOYW1lIG5hbWUgb2Ygc3ByaXRlIGZpbGVcbiAqIEBwYXJhbSBhc3NldHMgYXNzZXRzIHRvIGFkZCB0byBzdmdcbiAqIEBwYXJhbSBncm91cEJ5Q2F0ZWdvcnkgKGZvciBzcHJpdGUgY3JlYXRpb24pIHdoZXRoZXIgdG8gZ3JvdXAgYnkgdGhlIGNhdGVnb3J5IGF0dHJpYnV0ZVxuICogQHBhcmFtIGNhdGVnb3J5IHRoZSBjYXRlZ29yeSBvZiBpY29uXG4gKiBAcGFyYW0gc3ByaXRlTmFtZXMgb2JqZWN0IGZvciBtYXBwaW5nIHNwcml0ZSBuYW1lIHRvIChhbmQgc3RvcmluZykgc3ZnIGRvY3VtZW50IGFuZCBlbGVtZW50XG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhZGRUb1Nwcml0ZShcbiAgc3ByaXRlTmFtZTogc3RyaW5nLFxuICBhc3NldHM6IEFzc2V0W10sXG4gIGdyb3VwQnlDYXRlZ29yeTogYm9vbGVhbixcbiAgY2F0ZWdvcnk6IHN0cmluZyxcbiAgc3ByaXRlTmFtZXM6IFNwcml0ZUNvbmZpZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGxldCBET0NVTUVOVCwgc3ZnRWw7XG4gIGNvbnN0IHByb21pc2VzOiB2b2lkW10gPSBbXTtcbiAgLy8gSWYgdGhlcmUncyBubyBleGlzdGluZyBzcHJpdGUgd2l0aCB0aGF0IG5hbWVcbiAgaWYgKCFzcHJpdGVOYW1lcy5oYXNPd25Qcm9wZXJ0eShzcHJpdGVOYW1lKSkge1xuICAgIC8vIENyZWF0ZSBhIG5ldyBEb2N1bWVudCBhbmQgU1ZHIGVsZW1lbnQgZm9yIHRoZSBzcHJpdGVcbiAgICAoeyBET0NVTUVOVCwgc3ZnRWwgfSA9IGNyZWF0ZVNWR0RvYyhzcHJpdGVOYW1lKSk7XG4gICAgLy8gU3RvcmUgdGhlIERvY3VtZW50IGFuZCB0aGUgU1ZHRWxcbiAgICAvLyBXZSBuZWVkIHRoZSBEb2N1bWVudCBiZWNhdXNlIHdlIHdlJ3JlIHVzaW5nIG1ldGhvZHMgbGlrZVxuICAgIC8vIGBjcmVhdGVFbGVtZW50YCBhbmQgYGdldEVsZW1lbnRCeUlkYCB0aGF0IGNhbiBvbmx5IGJlXG4gICAgLy8gY2FsbGVkIG9uIHRoZSBEb2N1bWVudFxuICAgIHNwcml0ZU5hbWVzW3Nwcml0ZU5hbWVdID0geyBET0NVTUVOVCwgc3ZnRWwgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBvbmUgZXhpc3RzLCBncmFiIHRoZSBkb2N1bWVudCBhbmQgdGhlIGNvbnRhaW5pbmcgPHN2Zz4gZWxlbWVudFxuICAgICh7IERPQ1VNRU5ULCBzdmdFbCB9ID0gc3ByaXRlTmFtZXNbc3ByaXRlTmFtZV0pO1xuICB9XG5cbiAgLy8gU29ydCBhc3NldHMgKHZhcmlhbnRzKSB3aXRoaW4gdGhlIGljb24gZmlyc3RcbiAgY29uc3Qgc29ydGVkQXNzZXRzID0gYXNzZXRzLnNvcnQoKGFzc2V0T25lOiBBc3NldCwgYXNzZXRUd286IEFzc2V0KSA9PiB7XG4gICAgcmV0dXJuIGNvbXBhcmVTdHJpbmdzKGFzc2V0T25lLm5hbWUsIGFzc2V0VHdvLm5hbWUpO1xuICB9KTtcblxuICAvKiogQWRkIHRoZSBzdmcgYXNzZXRzIHRvIHRoZSBjb250YWluaW5nIDxzdmc+IGVsZW1lbnQuXG4gICAgKiBCZWNhdXNlIHRoZSBjb250YWluaW5nIDxzdmc+IGVsZW1lbnQgaXMgd2l0aGluIHRoZSBEb2N1bWVudFxuICAgICogdGhlIGFzc2V0IHdpbGwgYWxzbyBiZSBhZGRlZCB0byB0aGUgRG9jdW1lbnQvXG4gICAgKi9cbiAgZm9yIChjb25zdCBhc3NldCBvZiBzb3J0ZWRBc3NldHMpIHtcbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgYXdhaXQgYXBwZW5kVG9TdmdEb2MoXG4gICAgICAgIGFzc2V0LFxuICAgICAgICBET0NVTUVOVCxcbiAgICAgICAgc3ZnRWwsXG4gICAgICAgIGdyb3VwQnlDYXRlZ29yeSAmJiBjYXRlZ29yeSA/IGNhdGVnb3J5IDogJydcbiAgICAgIClcbiAgICApO1xuICB9XG4gIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIFNWRyBEb2N1bWVudCBhbmQgc2V0cyBpdHMgYXR0cmlidXRlc1xuICogQHBhcmFtIHNwcml0ZU5hbWUgbmFtZSBvZiBzcHJpdGUgZmlsZVxuICogQHJldHVybnMgb2JqZWN0IHdpdGggY3JlYXRlZCBTVkcgRG9jdW1lbnQgYW5kIGl0cyBjaGlsZCBzdmcgZWxlbWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU1ZHRG9jKHNwcml0ZU5hbWU6IHN0cmluZyk6IHsgRE9DVU1FTlQ6IERvY3VtZW50OyBzdmdFbDogU1ZHU1ZHRWxlbWVudCB9IHtcbiAgTE9HR0VSLmRlYnVnKGBpbiBjcmVhdGUgc3ZnIGRvY2ApO1xuICBjb25zdCBET00gPSBuZXcgRE9NSW1wbGVtZW50YXRpb24oKTtcbiAgY29uc3QgZG9jdHlwZSA9IERPTS5jcmVhdGVEb2N1bWVudFR5cGUoXG4gICAgJ3N2ZycsXG4gICAgJy0vL1czQy8vRFREIFNWRyAxLjEvL0VOJyxcbiAgICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJ1xuICApO1xuICBjb25zdCBTVkdfTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnO1xuICAvLyBDcmVhdGUgYW4gU1ZHIERvY3VtZW50IGFuZCBzZXQgaXRzIGRvY3R5cGVcbiAgY29uc3QgRE9DVU1FTlQgPSBET00uY3JlYXRlRG9jdW1lbnQoU1ZHX05TLCAnc3ZnJywgZG9jdHlwZSk7XG4gIC8vIENyZWF0ZSBTVkcgZWxlbWVudFxuICBjb25zdCBzdmdFbCA9IERPQ1VNRU5ULmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdzdmcnKTtcbiAgc3ZnRWwuc2V0QXR0cmlidXRlKCd4bWxucycsICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycpO1xuICBzdmdFbC5zZXRBdHRyaWJ1dGUoJ3htbG5zOnhsaW5rJywgJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnKTtcbiAgc3ZnRWwuc2V0QXR0cmlidXRlKCd2ZXJzaW9uJywgJzEuMScpO1xuICBzdmdFbC5zZXRBdHRyaWJ1dGUoJ2lkJywgc3ByaXRlTmFtZSk7XG5cbiAgLy8gQWRkIDxzdmc+IGVsZW1lbnQgdG8gU1ZHIERvY3VtZW50XG4gIERPQ1VNRU5ULmFwcGVuZENoaWxkKHN2Z0VsKTtcbiAgTE9HR0VSLmRlYnVnKGBjcmVhdGluZyBzdmcgZG9jdW1lbnQgJHtET0NVTUVOVH1gKTtcbiAgcmV0dXJuIHsgRE9DVU1FTlQsIHN2Z0VsIH07XG59XG5cbi8qKlxuICogTG9va3MgZm9yIDxkZWZzPiBlbGVtZW50cyB3aXRoIGFuIElEIGluIERvY3VtZW50XG4gKiBAcGFyYW0gZG9jIHRoZSBEb2N1bWVudCB0byBsb29rIGluXG4gKiBAcGFyYW0gY2F0ZWdvcnkgdG8gbG9vayBmb3IgYXMgYW4gSUQgYXR0cmlidXRlXG4gKiBAcmV0dXJucyBmb3VuZCA8ZGVmcz4gZWxlbWVudCBvciBudWxsIGlmIHRoZXJlJ3Mgbm9uZVxuICovXG5mdW5jdGlvbiBmaW5kRGVmcyhkb2M6IERvY3VtZW50LCBjYXRlZ29yeTogc3RyaW5nKTogRWxlbWVudCB8IG51bGwge1xuICAvLyBHZXQgYWxsIGNoaWxkIG5vZGVzIG9mIHRoZSBkb2N1bWVudCB0aGF0IGFyZSA8ZGVmcz5cbiAgY29uc3Qgbm9kZXMgPSBbXS5zbGljZS5jYWxsKGRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGVmcycpKTtcbiAgLy8gTG9vayBmb3IgYSA8ZGVmcz4gZWxlbWVudCB3aXRoIHRoZSBJRCBhbmQgcmV0dXJuIGlmIGZvdW5kXG4gIGZvciAoY29uc3QgZWxlbSBvZiBub2Rlcykge1xuICAgIGlmICghZWxlbSkgY29udGludWU7XG4gICAgY29uc3QgaWQgPSBlbGVtLmdldEF0dHJpYnV0ZU5vZGUoJ2lkJyk7XG4gICAgaWYgKGlkICYmIGlkLnZhbHVlID09PSBjYXRlZ29yeSkge1xuICAgICAgcmV0dXJuIGVsZW07XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgPGRlZnM+IGVsZW1lbnQgYW5kIHNldHMgSUQgYXR0cmlidXRlXG4gKiBAcGFyYW0gZG9jIERvY3VtZW50IGVsZW1lbnQgdG8gZG8gdGhlIGNyZWF0aW9uXG4gKiBAcGFyYW0gY2F0ZWdvcnkgSUQgdG8gc2V0IG9uIHRoZSA8ZGVmcz5cbiAqIEByZXR1cm5zIG5ld2x5IGNyZWF0ZWQgPGRlZnM+IGVsZW1lbnRcbiAqL1xuZnVuY3Rpb24gY3JlYXRlRGVmcyhkb2M6IERvY3VtZW50LCBjYXRlZ29yeTogc3RyaW5nKTogSFRNTEVsZW1lbnQge1xuICBMT0dHRVIuZGVidWcoYGVudGVyaW5nIGNyZWF0ZURlZnMgd2l0aCAke2NhdGVnb3J5fWApO1xuICAvLyBDcmVhdGUgYSA8ZGVmcz4gZWxlbWVudFxuICBjb25zdCBkZWZzID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2RlZnMnKTtcbiAgLy8gU2V0IGl0J3MgSUQgdG8gYmUgdGhlIGljb24ncyBjYXRlZ29yeSBlLmcgJ3VpJ1xuICBkZWZzLnNldEF0dHJpYnV0ZSgnaWQnLCBjYXRlZ29yeSk7XG4gIHJldHVybiBkZWZzO1xufVxuXG4vKipcbiAqIEFwcGVuZHMgaWNvbiB0byBlbGVtZW50XG4gKiBAcGFyYW0gcGFyZW50IGVsZW1lbnQgdG8gYXBwZW5kIHRvXG4gKiBAcGFyYW0gYXNzZXQgdGhlIGFzc2V0IHdob3NlIGNvbnRlbnRzIG5lZWQgdG8gYmUgYWRkZWRcbiAqL1xuYXN5bmMgZnVuY3Rpb24gYXBwZW5kSWNvbihwYXJlbnQ6IEVsZW1lbnQsIGFzc2V0OiBBc3NldCk6IFByb21pc2U8dm9pZD4ge1xuICBMT0dHRVIuZGVidWcoYGFwcGVuZGluZyAke2Fzc2V0Lm5hbWV9IGljb25gKTtcbiAgY29uc3QgZG9jID0gbmV3IERPTVBhcnNlcigpO1xuICAvLyBHZXQgY29udGVudHMgb2YgdGhlIGFzc2V0LCBzaW5jZSBpdCdzIGFuIFNWRyB0aGUgY29udGVudCB3aWxsIGJlIGluIFhNTCBmb3JtYXRcbiAgLy8gQ29udGVudCBCdWZmZXIgfCBzdHJpbmdcbiAgY29uc3QgY29udGVudHMgPSBhd2FpdCBhc3NldC5nZXRDb250ZW50cygpO1xuICAvLyBQYXJzZSBYTUwgZnJvbSBhIHN0cmluZyBpbnRvIGEgRE9NIERvY3VtZW50LlxuICBjb25zdCB4bWwgPSBkb2MucGFyc2VGcm9tU3RyaW5nKGNvbnRlbnRzIGFzIHN0cmluZywgJ2ltYWdlL3N2Zyt4bWwnKTtcbiAgLy8gQXBwZW5kIHRoZSByb290IG5vZGUgb2YgdGhlIERPTSBkb2N1bWVudCB0byB0aGUgcGFyZW50IGVsZW1lbnRcbiAgYXdhaXQgcGFyZW50LmFwcGVuZENoaWxkKHhtbC5kb2N1bWVudEVsZW1lbnQpO1xufVxuXG4vKipcbiAqIEFwcGVuZHMgaWNvbiB0byBlbGVtZW50XG4gKiBAcGFyYW0gcGFyZW50IGVsZW1lbnQgdG8gYXBwZW5kIHRvXG4gKiBAcGFyYW0gYXNzZXQgdGhlIGFzc2V0IHdob3NlIGNvbnRlbnRzIG5lZWQgdG8gYmUgYWRkZWRcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFwcGVuZFRvU3ZnRG9jKFxuICBhc3NldDogQXNzZXQsXG4gIGRvYzogRG9jdW1lbnQsXG4gIHN2Z0VsOiBTVkdTVkdFbGVtZW50LFxuICBjYXRlZ29yeTogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgTE9HR0VSLmRlYnVnKGBUaGUgY2F0ZWdvcnkgaXMgJHtjYXRlZ29yeX1gKTtcbiAgLy8gSWYgdGhlcmUncyBhIGNhdGVnb3J5IHByb3BlcnR5LCB3ZSB3YW50IHRvIGFwcGVuZCB0aGUgaWNvbiB0byBhIDxkZWZzPiBlbGVtZW50XG4gIC8vIHdoZXJlIHRoZSB2YWx1ZSBvZiBpdHMgSUQgaXMgdGhlIGNhdGVnb3J5XG4gIGlmIChjYXRlZ29yeSkge1xuICAgIC8vIFRPRE86ICMyOCBSZXBsYWNlIHRoaXMgd2l0aCBnZXRFbGVtZW50QnlJZCwgd2hpY2ggcmlnaHQgbm93IGRvZXNuJ3QgZmluZCB0aGUgPGRlZnM+IHdpdGggdGhlIElEXG4gICAgLy8gQ2hlY2sgaWYgdGhlcmUgaXMgYW4gZXhpc3RpbmcgPGRlZnM+IHRhZyB3aXRoIHRoZSBJRCBzZXQgdG8gdGhlIGNhdGVnb3J5XG4gICAgbGV0IGRlZiA9IGZpbmREZWZzKGRvYywgY2F0ZWdvcnkpO1xuICAgIExPR0dFUi5kZWJ1ZyhgVGhlIDxkZWZzPiBpcyAke2RlZn1gKTtcbiAgICAvLyBJZiB0aGVyZSBpc24ndCBjcmVhdGUgb25lIGFuZCBhcHBlbmQgdGhlIDxkZWZzPiB0byB0aGUgc3ZnIGVsZW1lbnRcbiAgICBpZiAoIWRlZikge1xuICAgICAgZGVmID0gY3JlYXRlRGVmcyhkb2MsIGNhdGVnb3J5KTtcbiAgICAgIHN2Z0VsLmFwcGVuZENoaWxkKGRlZik7XG4gICAgfVxuICAgIC8vIFRoZW4gYXBwZW5kIHRoZSBhY3R1YWwgaWNvbiAoYXNzZXQpIHRvIHRoZSA8ZGVmcz5cbiAgICByZXR1cm4gYXdhaXQgYXBwZW5kSWNvbihkZWYsIGFzc2V0KTtcbiAgfSBlbHNlIHtcbiAgICAvLyBJZiB0aGVyZSdzIG5vIGNhdGVnb3J5IGp1c3QgYXBwZW5kIHRvIChhbnl3aGVyZSkgaW4gdGhlIHN2ZyBlbGVtZW50XG4gICAgcmV0dXJuIGF3YWl0IGFwcGVuZEljb24oc3ZnRWwsIGFzc2V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdmVTVkdSZXNvbHV0aW9uKHN2Z0VsOiBTVkdTVkdFbGVtZW50KTogU1ZHU1ZHRWxlbWVudCB7XG4gIGNvbnN0IGNoaWxkcmVuID0gc3ZnRWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N2ZycpO1xuICBsZXQgc3ZncyA9IFtdLnNsaWNlLmNhbGwoY2hpbGRyZW4pO1xuICBzdmdzID0gc3Zncy5maWx0ZXIoKGljb246IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBpZCA9IGljb24uZ2V0QXR0cmlidXRlTm9kZSgnaWQnKTtcbiAgICBpZiAoaWQgJiYgaWQudmFsdWUpIHtcbiAgICAgIGNvbnN0IG5ld0lkID0gcmVtb3ZlUmVzb2x1dGlvbkZyb21OYW1lKGlkLnZhbHVlKTtcbiAgICAgIGljb24uc2V0QXR0cmlidXRlKCdpZCcsIG5ld0lkKTtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gc3ZnRWw7XG59XG4vKipcbiAqIFNhdmVzIHN2ZyBlbGVtZW50cyBzdG9yZWQgaW4gYW4gb2JqZWN0IGFzIGEgZmlsZVxuICogQHBhcmFtIHNwcml0ZU5hbWVzIG9iamVjdCBmb3IgbWFwcGluZyBzcHJpdGUgbmFtZSB0byAoYW5kIHN0b3JpbmcpIHN2ZyBkb2N1bWVudCBhbmQgZWxlbWVudFxuICogQHBhcmFtIG91dHB1dFBhdGggcGF0aCB0byB3cml0ZSB0b1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd3JpdGVTcHJpdGVUb0ZpbGUoXG4gIHNwcml0ZU5hbWVzOiBTcHJpdGVDb25maWcsXG4gIG91dHB1dFBhdGg6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIEdvIHRocm91Z2ggYWxsIHRoZSBzdG9yZWQgc3ByaXRlc1xuICBmb3IgKGNvbnN0IHNwcml0ZU5hbWUgaW4gc3ByaXRlTmFtZXMpIHtcbiAgICAvLyBHZXQgdGhlIHN2ZyBlbGVtZW50XG4gICAgY29uc3Qgc3ZnRWwgPSByZW1vdmVTVkdSZXNvbHV0aW9uKHNwcml0ZU5hbWVzW3Nwcml0ZU5hbWVdLnN2Z0VsKTtcbiAgICAvLyBXcml0ZSBpdCB0byBmaWxlXG4gICAgYXdhaXQgc2F2ZUNvbnRlbnRUb0ZpbGUoXG4gICAgICBvdXRwdXRQYXRoLFxuICAgICAgc3ByaXRlTmFtZSxcbiAgICAgIHNlcmlhbGl6ZVRvU3RyaW5nKHN2Z0VsKSxcbiAgICAgICdzdmcnXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFBhcnRpdGlvbnMgbGlzdCBvZiBhc3NldHMgYnkgd2hldGhlciBpdCBzaG91bGQgYmUgYWRkZWQgdG8gYSBzcHJpdGVcbiAqIEBwYXJhbSBhc3NldHMgbGlzdCBvZiBhc3NldHMgdG8gcGFydGl0aW9uXG4gKiBAcmV0dXJucyBvYmplY3Qgd2l0aCBhc3NldHMgdG8gYmUgYWRkZWQgdG8gc3ByaXRlIGFuZCBhc3NldHMgbm90IHRvIGJlXG4gKiBhZGRlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uQXNzZXRzRm9yU3ByaXRlKFxuICBhc3NldHM6IEFzc2V0W10sXG4gIHZhcmlhbnRzVG9GaWx0ZXI6IHN0cmluZ1tdXG4pOiB7IGFzc2V0c1RvQWRkVG9TcHJpdGU6IEFzc2V0W107IGFzc2V0c05vU3ByaXRlOiBBc3NldFtdIH0ge1xuICAvLyBDcmVhdGUgdHdvIGFycmF5czogMSB3aXRoIGFzc2V0cyB0byBnbyBpbiBzcHJpdGUgYW5kIG90aGVyIHdpdGggYXNzZXRzXG4gIC8vIHRoYXQgd29uJ3QgYmUgYWRkZWQgdG8gdGhlIHNwcml0ZVxuICBjb25zdCBbYXNzZXRzVG9BZGRUb1Nwcml0ZSwgYXNzZXRzTm9TcHJpdGVdID0gYXNzZXRzLnJlZHVjZShcbiAgICAocmVzdWx0OiBBc3NldFtdW10sIGFzc2V0OiBBc3NldCkgPT4ge1xuICAgICAgcmVzdWx0W3ZhcmlhbnRzVG9GaWx0ZXIuaW5jbHVkZXMoYXNzZXQubmFtZSkgPyAwIDogMV0ucHVzaChhc3NldCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0sXG4gICAgW1tdLCBbXV1cbiAgKTtcbiAgcmV0dXJuIHtcbiAgICBhc3NldHNUb0FkZFRvU3ByaXRlLFxuICAgIGFzc2V0c05vU3ByaXRlXG4gIH07XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNwcml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jcmVhdGUtc3ByaXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQUlpQztBQUNqQywrQ0FBNEM7QUFDNUMsbUNBQXFFO0FBRXJFLG1DQUFtRTtBQUVuRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxzQkFBYSxFQUFFLENBQUMsaUJBQWlCLENBQUM7QUFFaEU7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxXQUFXLENBQy9CLFVBQWtCLEVBQ2xCLE1BQWUsRUFDZixlQUF3QixFQUN4QixRQUFnQixFQUNoQixXQUF5QjtJQUV6QixJQUFJLFFBQVEsRUFBRSxLQUFLLENBQUM7SUFDcEIsTUFBTSxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQzVCLCtDQUErQztJQUMvQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRTtRQUMzQyx1REFBdUQ7UUFDdkQsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNqRCxtQ0FBbUM7UUFDbkMsMkRBQTJEO1FBQzNELHdEQUF3RDtRQUN4RCx5QkFBeUI7UUFDekIsV0FBVyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO0tBQy9DO1NBQU07UUFDTCxvRUFBb0U7UUFDcEUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUNqRDtJQUVELCtDQUErQztJQUMvQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBZSxFQUFFLFFBQWUsRUFBRSxFQUFFO1FBQ3BFLE9BQU8sc0JBQWMs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QUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQ3RDLE1BQWUsRUFDZixnQkFBMEI7SUFFMUIseUVBQXlFO0lBQ3pFLG9DQUFvQztJQUNwQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDekQsQ0FBQyxNQUFpQixFQUFFLEtBQVksRUFBRSxFQUFFO1FBQ2xDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRSxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLEVBQ0QsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQ1QsQ0FBQztJQUNGLE9BQU87UUFDTCxtQkFBbUI7UUFDbkIsY0FBYztLQUNmLENBQUM7QUFDSixDQUFDO0FBakJELDREQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFzc2V0LFxuICBTcHJpdGVDb25maWcsXG4gIHNhdmVDb250ZW50VG9GaWxlXG59IGZyb20gJ0BpY29uLW1hZ2ljL2ljb24tbW9kZWxzJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0BpY29uLW1hZ2ljL2xvZ2dlcic7XG5pbXBvcnQgeyBET01JbXBsZW1lbnRhdGlvbiwgRE9NUGFyc2VyLCBYTUxTZXJpYWxpemVyIH0gZnJvbSAneG1sZG9tJztcblxuaW1wb3J0IHsgY29tcGFyZVN0cmluZ3MsIHJlbW92ZVJlc29sdXRpb25Gcm9tTmFtZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBMT0dHRVIgPSBuZXcgTG9nZ2VyKCdpY29uLW1hZ2ljOmRpc3RyaWJ1dGU6Y3JlYXRlLXNwcml0ZScpO1xuY29uc3Qgc2VyaWFsaXplVG9TdHJpbmcgPSBuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBzcHJpdGUgYW5kIGFwcGVuZHMgU1ZHIGljb25zXG4gKiBAcGFyYW0gc3ByaXRlTmFtZSBuYW1lIG9mIHNwcml0ZSBmaWxlXG4gKiBAcGFyYW0gYXNzZXRzIGFzc2V0cyB0byBhZGQgdG8gc3ZnXG4gKiBAcGFyYW0gZ3JvdXBCeUNhdGVnb3J5IChmb3Igc3ByaXRlIGNyZWF0aW9uKSB3aGV0aGVyIHRvIGdyb3VwIGJ5IHRoZSBjYXRlZ29yeSBhdHRyaWJ1dGVcbiAqIEBwYXJhbSBjYXRlZ29yeSB0aGUgY2F0ZWdvcnkgb2YgaWNvblxuICogQHBhcmFtIHNwcml0ZU5hbWVzIG9iamVjdCBmb3IgbWFwcGluZyBzcHJpdGUgbmFtZSB0byAoYW5kIHN0b3JpbmcpIHN2ZyBkb2N1bWVudCBhbmQgZWxlbWVudFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkVG9TcHJpdGUoXG4gIHNwcml0ZU5hbWU6IHN0cmluZyxcbiAgYXNzZXRzOiBBc3NldFtdLFxuICBncm91cEJ5Q2F0ZWdvcnk6IGJvb2xlYW4sXG4gIGNhdGVnb3J5OiBzdHJpbmcsXG4gIHNwcml0ZU5hbWVzOiBTcHJpdGVDb25maWdcbik6IFByb21pc2U8dm9pZD4ge1xuICBsZXQgRE9DVU1FTlQsIHN2Z0VsO1xuICBjb25zdCBwcm9taXNlczogdm9pZFtdID0gW107XG4gIC8vIElmIHRoZXJlJ3Mgbm8gZXhpc3Rpbmcgc3ByaXRlIHdpdGggdGhhdCBuYW1lXG4gIGlmICghc3ByaXRlTmFtZXMuaGFzT3duUHJvcGVydHkoc3ByaXRlTmFtZSkpIHtcbiAgICAvLyBDcmVhdGUgYSBuZXcgRG9jdW1lbnQgYW5kIFNWRyBlbGVtZW50IGZvciB0aGUgc3ByaXRlXG4gICAgKHsgRE9DVU1FTlQsIHN2Z0VsIH0gPSBjcmVhdGVTVkdEb2Moc3ByaXRlTmFtZSkpO1xuICAgIC8vIFN0b3JlIHRoZSBEb2N1bWVudCBhbmQgdGhlIFNWR0VsXG4gICAgLy8gV2UgbmVlZCB0aGUgRG9jdW1lbnQgYmVjYXVzZSB3ZSB3ZSdyZSB1c2luZyBtZXRob2RzIGxpa2VcbiAgICAvLyBgY3JlYXRlRWxlbWVudGAgYW5kIGBnZXRFbGVtZW50QnlJZGAgdGhhdCBjYW4gb25seSBiZVxuICAgIC8vIGNhbGxlZCBvbiB0aGUgRG9jdW1lbnRcbiAgICBzcHJpdGVOYW1lc1tzcHJpdGVOYW1lXSA9IHsgRE9DVU1FTlQsIHN2Z0VsIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgb25lIGV4aXN0cywgZ3JhYiB0aGUgZG9jdW1lbnQgYW5kIHRoZSBjb250YWluaW5nIDxzdmc+IGVsZW1lbnRcbiAgICAoeyBET0NVTUVOVCwgc3ZnRWwgfSA9IHNwcml0ZU5hbWVzW3Nwcml0ZU5hbWVdKTtcbiAgfVxuXG4gIC8vIFNvcnQgYXNzZXRzICh2YXJpYW50cykgd2l0aGluIHRoZSBpY29uIGZpcnN0XG4gIGNvbnN0IHNvcnRlZEFzc2V0cyA9IGFzc2V0cy5zb3J0KChhc3NldE9uZTogQXNzZXQsIGFzc2V0VHdvOiBBc3NldCkgPT4ge1xuICAgIHJldHVybiBjb21wYXJlU3RyaW5ncyhhc3NldE9uZS5uYW1lLCBhc3NldFR3by5uYW1lKTtcbiAgfSk7XG5cbiAgLyoqIEFkZCB0aGUgc3ZnIGFzc2V0cyB0byB0aGUgY29udGFpbmluZyA8c3ZnPiBlbGVtZW50LlxuICAgICogQmVjYXVzZSB0aGUgY29udGFpbmluZyA8c3ZnPiBlbGVtZW50IGlzIHdpdGhpbiB0aGUgRG9jdW1lbnRcbiAgICAqIHRoZSBhc3NldCB3aWxsIGFsc28gYmUgYWRkZWQgdG8gdGhlIERvY3VtZW50L1xuICAgICovXG4gIGZvciAoY29uc3QgYXNzZXQgb2Ygc29ydGVkQXNzZXRzKSB7XG4gICAgcHJvbWlzZXMucHVzaChcbiAgICAgIGF3YWl0IGFwcGVuZFRvU3ZnRG9jKFxuICAgICAgICBhc3NldCxcbiAgICAgICAgRE9DVU1FTlQsXG4gICAgICAgIHN2Z0VsLFxuICAgICAgICBncm91cEJ5Q2F0ZWdvcnkgJiYgY2F0ZWdvcnkgPyBjYXRlZ29yeSA6ICcnXG4gICAgICApXG4gICAgKTtcbiAgfVxuICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBTVkcgRG9jdW1lbnQgYW5kIHNldHMgaXRzIGF0dHJpYnV0ZXNcbiAqIEBwYXJhbSBzcHJpdGVOYW1lIG5hbWUgb2Ygc3ByaXRlIGZpbGVcbiAqIEByZXR1cm5zIG9iamVjdCB3aXRoIGNyZWF0ZWQgU1ZHIERvY3VtZW50IGFuZCBpdHMgY2hpbGQgc3ZnIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNWR0RvYyhzcHJpdGVOYW1lOiBzdHJpbmcpOiB7IERPQ1VNRU5UOiBEb2N1bWVudDsgc3ZnRWw6IFNWR1NWR0VsZW1lbnQgfSB7XG4gIExPR0dFUi5kZWJ1ZyhgaW4gY3JlYXRlIHN2ZyBkb2NgKTtcbiAgY29uc3QgRE9NID0gbmV3IERPTUltcGxlbWVudGF0aW9uKCk7XG4gIGNvbnN0IGRvY3R5cGUgPSBET00uY3JlYXRlRG9jdW1lbnRUeXBlKFxuICAgICdzdmcnLFxuICAgICctLy9XM0MvL0RURCBTVkcgMS4xLy9FTicsXG4gICAgJ2h0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCdcbiAgKTtcbiAgY29uc3QgU1ZHX05TID0gJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJztcbiAgLy8gQ3JlYXRlIGFuIFNWRyBEb2N1bWVudCBhbmQgc2V0IGl0cyBkb2N0eXBlXG4gIGNvbnN0IERPQ1VNRU5UID0gRE9NLmNyZWF0ZURvY3VtZW50KFNWR19OUywgJ3N2ZycsIGRvY3R5cGUpO1xuICAvLyBDcmVhdGUgU1ZHIGVsZW1lbnRcbiAgY29uc3Qgc3ZnRWwgPSBET0NVTUVOVC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAnc3ZnJyk7XG4gIHN2Z0VsLnNldEF0dHJpYnV0ZSgneG1sbnMnLCAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnKTtcbiAgc3ZnRWwuc2V0QXR0cmlidXRlKCd4bWxuczp4bGluaycsICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyk7XG4gIHN2Z0VsLnNldEF0dHJpYnV0ZSgndmVyc2lvbicsICcxLjEnKTtcbiAgc3ZnRWwuc2V0QXR0cmlidXRlKCdpZCcsIHNwcml0ZU5hbWUpO1xuXG4gIC8vIEFkZCA8c3ZnPiBlbGVtZW50IHRvIFNWRyBEb2N1bWVudFxuICBET0NVTUVOVC5hcHBlbmRDaGlsZChzdmdFbCk7XG4gIExPR0dFUi5kZWJ1ZyhgY3JlYXRpbmcgc3ZnIGRvY3VtZW50ICR7RE9DVU1FTlR9YCk7XG4gIHJldHVybiB7IERPQ1VNRU5ULCBzdmdFbCB9O1xufVxuXG4vKipcbiAqIExvb2tzIGZvciA8ZGVmcz4gZWxlbWVudHMgd2l0aCBhbiBJRCBpbiBEb2N1bWVudFxuICogQHBhcmFtIGRvYyB0aGUgRG9jdW1lbnQgdG8gbG9vayBpblxuICogQHBhcmFtIGNhdGVnb3J5IHRvIGxvb2sgZm9yIGFzIGFuIElEIGF0dHJpYnV0ZVxuICogQHJldHVybnMgZm91bmQgPGRlZnM+IGVsZW1lbnQgb3IgbnVsbCBpZiB0aGVyZSdzIG5vbmVcbiAqL1xuZnVuY3Rpb24gZmluZERlZnMoZG9jOiBEb2N1bWVudCwgY2F0ZWdvcnk6IHN0cmluZyk6IEVsZW1lbnQgfCBudWxsIHtcbiAgLy8gR2V0IGFsbCBjaGlsZCBub2RlcyBvZiB0aGUgZG9jdW1lbnQgdGhhdCBhcmUgPGRlZnM+XG4gIGNvbnN0IG5vZGVzID0gW10uc2xpY2UuY2FsbChkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RlZnMnKSk7XG4gIC8vIExvb2sgZm9yIGEgPGRlZnM+IGVsZW1lbnQgd2l0aCB0aGUgSUQgYW5kIHJldHVybiBpZiBmb3VuZFxuICBmb3IgKGNvbnN0IGVsZW0gb2Ygbm9kZXMpIHtcbiAgICBpZiAoIWVsZW0pIGNvbnRpbnVlO1xuICAgIGNvbnN0IGlkID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCdpZCcpO1xuICAgIGlmIChpZCAmJiBpZC52YWx1ZSA9PT0gY2F0ZWdvcnkpIHtcbiAgICAgIHJldHVybiBlbGVtO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIDxkZWZzPiBlbGVtZW50IGFuZCBzZXRzIElEIGF0dHJpYnV0ZVxuICogQHBhcmFtIGRvYyBEb2N1bWVudCBlbGVtZW50IHRvIGRvIHRoZSBjcmVhdGlvblxuICogQHBhcmFtIGNhdGVnb3J5IElEIHRvIHNldCBvbiB0aGUgPGRlZnM+XG4gKiBAcmV0dXJucyBuZXdseSBjcmVhdGVkIDxkZWZzPiBlbGVtZW50XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZURlZnMoZG9jOiBEb2N1bWVudCwgY2F0ZWdvcnk6IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcbiAgTE9HR0VSLmRlYnVnKGBlbnRlcmluZyBjcmVhdGVEZWZzIHdpdGggJHtjYXRlZ29yeX1gKTtcbiAgLy8gQ3JlYXRlIGEgPGRlZnM+IGVsZW1lbnRcbiAgY29uc3QgZGVmcyA9IGRvYy5jcmVhdGVFbGVtZW50KCdkZWZzJyk7XG4gIC8vIFNldCBpdCdzIElEIHRvIGJlIHRoZSBpY29uJ3MgY2F0ZWdvcnkgZS5nICd1aSdcbiAgZGVmcy5zZXRBdHRyaWJ1dGUoJ2lkJywgY2F0ZWdvcnkpO1xuICByZXR1cm4gZGVmcztcbn1cblxuLyoqXG4gKiBBcHBlbmRzIGljb24gdG8gZWxlbWVudFxuICogQHBhcmFtIHBhcmVudCBlbGVtZW50IHRvIGFwcGVuZCB0b1xuICogQHBhcmFtIGFzc2V0IHRoZSBhc3NldCB3aG9zZSBjb250ZW50cyBuZWVkIHRvIGJlIGFkZGVkXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGFwcGVuZEljb24ocGFyZW50OiBFbGVtZW50LCBhc3NldDogQXNzZXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgTE9HR0VSLmRlYnVnKGBhcHBlbmRpbmcgJHthc3NldC5uYW1lfSBpY29uYCk7XG4gIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKTtcbiAgLy8gR2V0IGNvbnRlbnRzIG9mIHRoZSBhc3NldCwgc2luY2UgaXQncyBhbiBTVkcgdGhlIGNvbnRlbnQgd2lsbCBiZSBpbiBYTUwgZm9ybWF0XG4gIC8vIENvbnRlbnQgQnVmZmVyIHwgc3RyaW5nXG4gIGNvbnN0IGNvbnRlbnRzID0gYXdhaXQgYXNzZXQuZ2V0Q29udGVudHMoKTtcbiAgLy8gUGFyc2UgWE1MIGZyb20gYSBzdHJpbmcgaW50byBhIERPTSBEb2N1bWVudC5cbiAgY29uc3QgeG1sID0gZG9jLnBhcnNlRnJvbVN0cmluZyhjb250ZW50cyBhcyBzdHJpbmcsICdpbWFnZS9zdmcreG1sJyk7XG4gIC8vIEFwcGVuZCB0aGUgcm9vdCBub2RlIG9mIHRoZSBET00gZG9jdW1lbnQgdG8gdGhlIHBhcmVudCBlbGVtZW50XG4gIGF3YWl0IHBhcmVudC5hcHBlbmRDaGlsZCh4bWwuZG9jdW1lbnRFbGVtZW50KTtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIGljb24gdG8gZWxlbWVudFxuICogQHBhcmFtIHBhcmVudCBlbGVtZW50IHRvIGFwcGVuZCB0b1xuICogQHBhcmFtIGFzc2V0IHRoZSBhc3NldCB3aG9zZSBjb250ZW50cyBuZWVkIHRvIGJlIGFkZGVkXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcHBlbmRUb1N2Z0RvYyhcbiAgYXNzZXQ6IEFzc2V0LFxuICBkb2M6IERvY3VtZW50LFxuICBzdmdFbDogU1ZHU1ZHRWxlbWVudCxcbiAgY2F0ZWdvcnk6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIExPR0dFUi5kZWJ1ZyhgVGhlIGNhdGVnb3J5IGlzICR7Y2F0ZWdvcnl9YCk7XG4gIC8vIElmIHRoZXJlJ3MgYSBjYXRlZ29yeSBwcm9wZXJ0eSwgd2Ugd2FudCB0byBhcHBlbmQgdGhlIGljb24gdG8gYSA8ZGVmcz4gZWxlbWVudFxuICAvLyB3aGVyZSB0aGUgdmFsdWUgb2YgaXRzIElEIGlzIHRoZSBjYXRlZ29yeVxuICBpZiAoY2F0ZWdvcnkpIHtcbiAgICAvLyBUT0RPOiAjMjggUmVwbGFjZSB0aGlzIHdpdGggZ2V0RWxlbWVudEJ5SWQsIHdoaWNoIHJpZ2h0IG5vdyBkb2Vzbid0IGZpbmQgdGhlIDxkZWZzPiB3aXRoIHRoZSBJRFxuICAgIC8vIENoZWNrIGlmIHRoZXJlIGlzIGFuIGV4aXN0aW5nIDxkZWZzPiB0YWcgd2l0aCB0aGUgSUQgc2V0IHRvIHRoZSBjYXRlZ29yeVxuICAgIGxldCBkZWYgPSBmaW5kRGVmcyhkb2MsIGNhdGVnb3J5KTtcbiAgICBMT0dHRVIuZGVidWcoYFRoZSA8ZGVmcz4gaXMgJHtkZWZ9YCk7XG4gICAgLy8gSWYgdGhlcmUgaXNuJ3QgY3JlYXRlIG9uZSBhbmQgYXBwZW5kIHRoZSA8ZGVmcz4gdG8gdGhlIHN2ZyBlbGVtZW50XG4gICAgaWYgKCFkZWYpIHtcbiAgICAgIGRlZiA9IGNyZWF0ZURlZnMoZG9jLCBjYXRlZ29yeSk7XG4gICAgICBzdmdFbC5hcHBlbmRDaGlsZChkZWYpO1xuICAgIH1cbiAgICAvLyBUaGVuIGFwcGVuZCB0aGUgYWN0dWFsIGljb24gKGFzc2V0KSB0byB0aGUgPGRlZnM+XG4gICAgcmV0dXJuIGF3YWl0IGFwcGVuZEljb24oZGVmLCBhc3NldCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgdGhlcmUncyBubyBjYXRlZ29yeSBqdXN0IGFwcGVuZCB0byAoYW55d2hlcmUpIGluIHRoZSBzdmcgZWxlbWVudFxuICAgIHJldHVybiBhd2FpdCBhcHBlbmRJY29uKHN2Z0VsLCBhc3NldCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlU1ZHUmVzb2x1dGlvbihzdmdFbDogU1ZHU1ZHRWxlbWVudCk6IFNWR1NWR0VsZW1lbnQge1xuICBjb25zdCBjaGlsZHJlbiA9IHN2Z0VsLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzdmcnKTtcbiAgbGV0IHN2Z3MgPSBbXS5zbGljZS5jYWxsKGNoaWxkcmVuKTtcbiAgc3ZncyA9IHN2Z3MuZmlsdGVyKChpY29uOiBFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaWQgPSBpY29uLmdldEF0dHJpYnV0ZU5vZGUoJ2lkJyk7XG4gICAgaWYgKGlkICYmIGlkLnZhbHVlKSB7XG4gICAgICBjb25zdCBuZXdJZCA9IHJlbW92ZVJlc29sdXRpb25Gcm9tTmFtZShpZC52YWx1ZSk7XG4gICAgICBpY29uLnNldEF0dHJpYnV0ZSgnaWQnLCBuZXdJZCk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHN2Z0VsO1xufVxuLyoqXG4gKiBTYXZlcyBzdmcgZWxlbWVudHMgc3RvcmVkIGluIGFuIG9iamVjdCBhcyBhIGZpbGVcbiAqIEBwYXJhbSBzcHJpdGVOYW1lcyBvYmplY3QgZm9yIG1hcHBpbmcgc3ByaXRlIG5hbWUgdG8gKGFuZCBzdG9yaW5nKSBzdmcgZG9jdW1lbnQgYW5kIGVsZW1lbnRcbiAqIEBwYXJhbSBvdXRwdXRQYXRoIHBhdGggdG8gd3JpdGUgdG9cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHdyaXRlU3ByaXRlVG9GaWxlKFxuICBzcHJpdGVOYW1lczogU3ByaXRlQ29uZmlnLFxuICBvdXRwdXRQYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAvLyBHbyB0aHJvdWdoIGFsbCB0aGUgc3RvcmVkIHNwcml0ZXNcbiAgZm9yIChjb25zdCBzcHJpdGVOYW1lIGluIHNwcml0ZU5hbWVzKSB7XG4gICAgLy8gR2V0IHRoZSBzdmcgZWxlbWVudFxuICAgIGNvbnN0IHN2Z0VsID0gcmVtb3ZlU1ZHUmVzb2x1dGlvbihzcHJpdGVOYW1lc1tzcHJpdGVOYW1lXS5zdmdFbCk7XG4gICAgLy8gV3JpdGUgaXQgdG8gZmlsZVxuICAgIGF3YWl0IHNhdmVDb250ZW50VG9GaWxlKFxuICAgICAgb3V0cHV0UGF0aCxcbiAgICAgIHNwcml0ZU5hbWUsXG4gICAgICBzZXJpYWxpemVUb1N0cmluZyhzdmdFbCksXG4gICAgICAnc3ZnJ1xuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJ0aXRpb25zIGxpc3Qgb2YgYXNzZXRzIGJ5IHdoZXRoZXIgaXQgc2hvdWxkIGJlIGFkZGVkIHRvIGEgc3ByaXRlXG4gKiBAcGFyYW0gYXNzZXRzIGxpc3Qgb2YgYXNzZXRzIHRvIHBhcnRpdGlvblxuICogQHJldHVybnMgb2JqZWN0IHdpdGggYXNzZXRzIHRvIGJlIGFkZGVkIHRvIHNwcml0ZSBhbmQgYXNzZXRzIG5vdCB0byBiZVxuICogYWRkZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbkFzc2V0c0ZvclNwcml0ZShcbiAgYXNzZXRzOiBBc3NldFtdLFxuICB2YXJpYW50c1RvRmlsdGVyOiBzdHJpbmdbXVxuKTogeyBhc3NldHNUb0FkZFRvU3ByaXRlOiBBc3NldFtdOyBhc3NldHNOb1Nwcml0ZTogQXNzZXRbXSB9IHtcbiAgLy8gQ3JlYXRlIHR3byBhcnJheXM6IDEgd2l0aCBhc3NldHMgdG8gZ28gaW4gc3ByaXRlIGFuZCBvdGhlciB3aXRoIGFzc2V0c1xuICAvLyB0aGF0IHdvbid0IGJlIGFkZGVkIHRvIHRoZSBzcHJpdGVcbiAgY29uc3QgW2Fzc2V0c1RvQWRkVG9TcHJpdGUsIGFzc2V0c05vU3ByaXRlXSA9IGFzc2V0cy5yZWR1Y2UoXG4gICAgKHJlc3VsdDogQXNzZXRbXVtdLCBhc3NldDogQXNzZXQpID0+IHtcbiAgICAgIHJlc3VsdFt2YXJpYW50c1RvRmlsdGVyLmluY2x1ZGVzKGFzc2V0Lm5hbWUpID8gMCA6IDFdLnB1c2goYXNzZXQpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LFxuICAgIFtbXSwgW11dXG4gICk7XG4gIHJldHVybiB7XG4gICAgYXNzZXRzVG9BZGRUb1Nwcml0ZSxcbiAgICBhc3NldHNOb1Nwcml0ZVxuICB9O1xufVxuIl19
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.distributeByResolution = void 0;
const logger_1 = require("@icon-magic/logger");

@@ -55,2 +56,2 @@ const fs = require("fs-extra");

exports.distributeByResolution = distributeByResolution;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0ZS1ieS1yZXNvbHV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rpc3RyaWJ1dGUtYnktcmVzb2x1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLCtDQUE0QztBQUM1QywrQkFBK0I7QUFDL0IsNkJBQTZCO0FBRTdCLG1DQUEyRTtBQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0FBRTVFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0FBRTlCOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxzQkFBc0IsQ0FDMUMsT0FBZ0IsRUFDaEIsVUFBa0I7SUFFbEIsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQThCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sTUFBTSxHQUFHLDRCQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLGFBQWEsQ0FBQztRQUNsQiwrQ0FBK0M7UUFDL0MsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1lBQzFCLGdEQUFnRDtZQUNoRCxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsa0NBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUV6RSxpREFBaUQ7WUFDakQsc0NBQXNDO1lBQ3RDLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0IsU0FBUyxHQUFHLEdBQUcsUUFBUSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFFdkUscURBQXFEO1lBQ3JELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQzthQUM3QztZQUVELDRFQUE0RTtZQUM1RSx3QkFBd0I7WUFDeEIsTUFBTSxVQUFVLEdBQ2QsQ0FBQyxJQUFJLENBQUMsVUFBVTtnQkFDZCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUk7Z0JBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDbEMsZ0JBQWdCLENBQUM7WUFFbkIsU0FBUyxHQUFHLEdBQUcsVUFBVSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBRXpDLGlFQUFpRTtZQUNqRSxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFekMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBRS9CLHFFQUFxRTtZQUNyRSxZQUFZO1lBQ1oseUVBQXlFO1lBQ3pFLHlEQUF5RDtZQUN6RCxRQUFRLENBQUMsSUFBSSxDQUNYLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQzlELENBQUM7U0FDSDtRQUNELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUM3QjtBQUNILENBQUM7QUFsREQsd0RBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvblNldCB9IGZyb20gJ0BpY29uLW1hZ2ljL2ljb24tbW9kZWxzJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0BpY29uLW1hZ2ljL2xvZ2dlcic7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBnZXRBc3NldFJlc29sdXRpb25Gcm9tTmFtZSwgZ2V0SWNvbkZsYXZvcnNCeVR5cGUgfSBmcm9tICcuL3V0aWxzJztcbmNvbnN0IExPR0dFUiA9IG5ldyBMb2dnZXIoJ2ljb24tbWFnaWM6ZGlzdHJpYnV0ZTpkaXN0cmlidXRlLWJ5LXJlc29sdXRpb24nKTtcblxuY29uc3QgSUNPTl9OQU1FX1BSRUZJWCA9ICdpYyc7XG5cbi8qKlxuICogRGlzdHJpYnV0ZXMgaWNvbnMgaW50byBkaWZmZXJlbnQgZm9sZGVycyBiYXNlZCBvbiB0aGUgcmVzb2x1dGlvblxuICogVGhpcyBpcyBuZWVkZWQgZm9yIEFuZHJvaWRcbiAqIEBwYXJhbSBpY29uU2V0IHNldCBvZiBpY29ucyB0byBiZSBtb3ZlZCB0byB0aGUgb3V0cHV0IGZvbGRlclxuICogQHBhcmFtIG91dHB1dFBhdGggb3V0cHV0IGRpcmVjdG9yeSB3aGVyZSB0aGUgZGlmZmVyZW50IGZvbGRlcnMgYXJlIGNyZWF0ZWRcbiAqIGZvciBlYWNoIHJlc29sdXRpb25cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRpc3RyaWJ1dGVCeVJlc29sdXRpb24oXG4gIGljb25TZXQ6IEljb25TZXQsXG4gIG91dHB1dFBhdGg6IHN0cmluZ1xuKSB7XG4gIGZvciAoY29uc3QgaWNvbiBvZiBpY29uU2V0Lmhhc2gudmFsdWVzKCkpIHtcbiAgICBMT0dHRVIuZGVidWcoYGRpc3RyaWJ1dGVCeVJlc29sdXRpb24gZm9yICR7aWNvbi5pY29uTmFtZX1gKTtcbiAgICBjb25zdCBhc3NldHMgPSBnZXRJY29uRmxhdm9yc0J5VHlwZShpY29uLCAnd2VicCcpO1xuICAgIGxldCBvdXRwdXRJY29uRGlyO1xuICAgIC8vIGNvcHkgYWxsIGFzc2V0cyB0byB0aGUgb3V0cHV0IGljb24gZGlyZWN0b3J5XG4gICAgY29uc3QgcHJvbWlzZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGFzc2V0IG9mIGFzc2V0cykge1xuICAgICAgLy8gdGhlIG91dHB1dCBmb2xkZXIgaXMgdGhlIGZvbGRlciBieSByZXNvbHV0aW9uXG4gICAgICBvdXRwdXRJY29uRGlyID0gcGF0aC5qb2luKG91dHB1dFBhdGgsIGdldEFzc2V0UmVzb2x1dGlvbkZyb21OYW1lKGFzc2V0KSk7XG5cbiAgICAgIC8vIGdldCB0aGUgYXNzZXQgbmFtZSBieSBwcmVwZW5kaW5nIHRoZSBpY29uIG5hbWVcbiAgICAgIC8vIGFsc28gbWFraW5nIGJvdGggb2YgdGhlbSBrZWJhYiBjYXNlXG4gICAgICBsZXQgYXNzZXROYW1lID0gYXNzZXQubmFtZS5zcGxpdCgnQCcpWzBdO1xuICAgICAgY29uc3QgaWNvbk5hbWUgPSBpY29uLmljb25OYW1lO1xuICAgICAgYXNzZXROYW1lID0gYCR7aWNvbk5hbWV9XyR7YXNzZXROYW1lfSR7cGF0aC5leHRuYW1lKGFzc2V0LmdldFBhdGgoKSl9YDtcblxuICAgICAgLy8gaWYgdGhlIGNhdGVnb3J5IGlzIHByZXNlbnQsIHByZXBlbmQgaXQgdG8gdGhlIG5hbWVcbiAgICAgIGlmIChpY29uLmNhdGVnb3J5KSB7XG4gICAgICAgIGFzc2V0TmFtZSA9IGAke2ljb24uY2F0ZWdvcnl9XyR7YXNzZXROYW1lfWA7XG4gICAgICB9XG5cbiAgICAgIC8vIGJ5IGRlZmF1bHQgdGhlIGljb24gcHJlZml4IGlzIElDT05fTkFNRV9QUkVGSVggd2hpY2ggY2FuIGJlIG92ZXJyaWRkZW4gaW5cbiAgICAgIC8vIHRoZSBkaXN0cmlidXRlIGNvbmZpZ1xuICAgICAgY29uc3QgbmFtZVByZWZpeCA9XG4gICAgICAgIChpY29uLmRpc3RyaWJ1dGUgJiZcbiAgICAgICAgICBpY29uLmRpc3RyaWJ1dGUud2VicCAmJlxuICAgICAgICAgIGljb24uZGlzdHJpYnV0ZS53ZWJwLm5hbWVQcmVmaXgpIHx8XG4gICAgICAgIElDT05fTkFNRV9QUkVGSVg7XG5cbiAgICAgIGFzc2V0TmFtZSA9IGAke25hbWVQcmVmaXh9XyR7YXNzZXROYW1lfWA7XG5cbiAgICAgIC8vIHJlcGxhY2UgYWxsIC0gd2l0aCBfIGluIHRoZSBuYW1lIHRvIGZvbGxvdyBhbmRyb2lkIGNvbnZlbnRpb25zXG4gICAgICBhc3NldE5hbWUgPSBhc3NldE5hbWUucmVwbGFjZSgvLS9nLCAnXycpO1xuXG4gICAgICBhd2FpdCBmcy5ta2RpcnAob3V0cHV0SWNvbkRpcik7XG5cbiAgICAgIC8vIGFwcGVuZCB0aGUgaWNvbiBuYW1lIHRvIHRoZSBhc3NldCBzaW5jZSBhbGwgaWNvbnMgZ28gaW50byBhIHNpbmdsZVxuICAgICAgLy8gZGlyZWN0b3J5XG4gICAgICAvLyBUT0RPOiBoYXZlIGljb25zIGhhdmUgYSBjYXRlZ29yeSBmaWVsZCBpbiB0aGVpciBjb25maWcgYW5kIHByZXBlbmQgdGhlXG4gICAgICAvLyBjYXRlZ29yeSB0byB0aGUgYXNzZXQgbmFtZS4gRWc6IG5hdl9pY29uTmFtZV9hc3NldE5hbWVcbiAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgIGZzLmNvcHkoYXNzZXQuZ2V0UGF0aCgpLCBwYXRoLmpvaW4ob3V0cHV0SWNvbkRpciwgYXNzZXROYW1lKSlcbiAgICAgICk7XG4gICAgfVxuICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0ZS1ieS1yZXNvbHV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rpc3RyaWJ1dGUtYnktcmVzb2x1dGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUU3QixtQ0FBMkU7QUFDM0UsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQztBQUU1RSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQztBQUU5Qjs7Ozs7O0dBTUc7QUFDSSxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLE9BQWdCLEVBQ2hCLFVBQWtCO0lBRWxCLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyw0QkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbEQsSUFBSSxhQUFhLENBQUM7UUFDbEIsK0NBQStDO1FBQy9DLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUMxQixnREFBZ0Q7WUFDaEQsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGtDQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFFekUsaURBQWlEO1lBQ2pELHNDQUFzQztZQUN0QyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLFNBQVMsR0FBRyxHQUFHLFFBQVEsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBRXZFLHFEQUFxRDtZQUNyRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2pCLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7YUFDN0M7WUFFRCw0RUFBNEU7WUFDNUUsd0JBQXdCO1lBQ3hCLE1BQU0sVUFBVSxHQUNkLENBQUMsSUFBSSxDQUFDLFVBQVU7Z0JBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO2dCQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ2xDLGdCQUFnQixDQUFDO1lBRW5CLFNBQVMsR0FBRyxHQUFHLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUV6QyxpRUFBaUU7WUFDakUsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRXpDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUUvQixxRUFBcUU7WUFDckUsWUFBWTtZQUNaLHlFQUF5RTtZQUN6RSx5REFBeUQ7WUFDekQsUUFBUSxDQUFDLElBQUksQ0FDWCxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUM5RCxDQUFDO1NBQ0g7UUFDRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDN0I7QUFDSCxDQUFDO0FBbERELHdEQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25TZXQgfSBmcm9tICdAaWNvbi1tYWdpYy9pY29uLW1vZGVscyc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAaWNvbi1tYWdpYy9sb2dnZXInO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgZ2V0QXNzZXRSZXNvbHV0aW9uRnJvbU5hbWUsIGdldEljb25GbGF2b3JzQnlUeXBlIH0gZnJvbSAnLi91dGlscyc7XG5jb25zdCBMT0dHRVIgPSBuZXcgTG9nZ2VyKCdpY29uLW1hZ2ljOmRpc3RyaWJ1dGU6ZGlzdHJpYnV0ZS1ieS1yZXNvbHV0aW9uJyk7XG5cbmNvbnN0IElDT05fTkFNRV9QUkVGSVggPSAnaWMnO1xuXG4vKipcbiAqIERpc3RyaWJ1dGVzIGljb25zIGludG8gZGlmZmVyZW50IGZvbGRlcnMgYmFzZWQgb24gdGhlIHJlc29sdXRpb25cbiAqIFRoaXMgaXMgbmVlZGVkIGZvciBBbmRyb2lkXG4gKiBAcGFyYW0gaWNvblNldCBzZXQgb2YgaWNvbnMgdG8gYmUgbW92ZWQgdG8gdGhlIG91dHB1dCBmb2xkZXJcbiAqIEBwYXJhbSBvdXRwdXRQYXRoIG91dHB1dCBkaXJlY3Rvcnkgd2hlcmUgdGhlIGRpZmZlcmVudCBmb2xkZXJzIGFyZSBjcmVhdGVkXG4gKiBmb3IgZWFjaCByZXNvbHV0aW9uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkaXN0cmlidXRlQnlSZXNvbHV0aW9uKFxuICBpY29uU2V0OiBJY29uU2V0LFxuICBvdXRwdXRQYXRoOiBzdHJpbmdcbikge1xuICBmb3IgKGNvbnN0IGljb24gb2YgaWNvblNldC5oYXNoLnZhbHVlcygpKSB7XG4gICAgTE9HR0VSLmRlYnVnKGBkaXN0cmlidXRlQnlSZXNvbHV0aW9uIGZvciAke2ljb24uaWNvbk5hbWV9YCk7XG4gICAgY29uc3QgYXNzZXRzID0gZ2V0SWNvbkZsYXZvcnNCeVR5cGUoaWNvbiwgJ3dlYnAnKTtcbiAgICBsZXQgb3V0cHV0SWNvbkRpcjtcbiAgICAvLyBjb3B5IGFsbCBhc3NldHMgdG8gdGhlIG91dHB1dCBpY29uIGRpcmVjdG9yeVxuICAgIGNvbnN0IHByb21pc2VzID0gW107XG4gICAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHtcbiAgICAgIC8vIHRoZSBvdXRwdXQgZm9sZGVyIGlzIHRoZSBmb2xkZXIgYnkgcmVzb2x1dGlvblxuICAgICAgb3V0cHV0SWNvbkRpciA9IHBhdGguam9pbihvdXRwdXRQYXRoLCBnZXRBc3NldFJlc29sdXRpb25Gcm9tTmFtZShhc3NldCkpO1xuXG4gICAgICAvLyBnZXQgdGhlIGFzc2V0IG5hbWUgYnkgcHJlcGVuZGluZyB0aGUgaWNvbiBuYW1lXG4gICAgICAvLyBhbHNvIG1ha2luZyBib3RoIG9mIHRoZW0ga2ViYWIgY2FzZVxuICAgICAgbGV0IGFzc2V0TmFtZSA9IGFzc2V0Lm5hbWUuc3BsaXQoJ0AnKVswXTtcbiAgICAgIGNvbnN0IGljb25OYW1lID0gaWNvbi5pY29uTmFtZTtcbiAgICAgIGFzc2V0TmFtZSA9IGAke2ljb25OYW1lfV8ke2Fzc2V0TmFtZX0ke3BhdGguZXh0bmFtZShhc3NldC5nZXRQYXRoKCkpfWA7XG5cbiAgICAgIC8vIGlmIHRoZSBjYXRlZ29yeSBpcyBwcmVzZW50LCBwcmVwZW5kIGl0IHRvIHRoZSBuYW1lXG4gICAgICBpZiAoaWNvbi5jYXRlZ29yeSkge1xuICAgICAgICBhc3NldE5hbWUgPSBgJHtpY29uLmNhdGVnb3J5fV8ke2Fzc2V0TmFtZX1gO1xuICAgICAgfVxuXG4gICAgICAvLyBieSBkZWZhdWx0IHRoZSBpY29uIHByZWZpeCBpcyBJQ09OX05BTUVfUFJFRklYIHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuIGluXG4gICAgICAvLyB0aGUgZGlzdHJpYnV0ZSBjb25maWdcbiAgICAgIGNvbnN0IG5hbWVQcmVmaXggPVxuICAgICAgICAoaWNvbi5kaXN0cmlidXRlICYmXG4gICAgICAgICAgaWNvbi5kaXN0cmlidXRlLndlYnAgJiZcbiAgICAgICAgICBpY29uLmRpc3RyaWJ1dGUud2VicC5uYW1lUHJlZml4KSB8fFxuICAgICAgICBJQ09OX05BTUVfUFJFRklYO1xuXG4gICAgICBhc3NldE5hbWUgPSBgJHtuYW1lUHJlZml4fV8ke2Fzc2V0TmFtZX1gO1xuXG4gICAgICAvLyByZXBsYWNlIGFsbCAtIHdpdGggXyBpbiB0aGUgbmFtZSB0byBmb2xsb3cgYW5kcm9pZCBjb252ZW50aW9uc1xuICAgICAgYXNzZXROYW1lID0gYXNzZXROYW1lLnJlcGxhY2UoLy0vZywgJ18nKTtcblxuICAgICAgYXdhaXQgZnMubWtkaXJwKG91dHB1dEljb25EaXIpO1xuXG4gICAgICAvLyBhcHBlbmQgdGhlIGljb24gbmFtZSB0byB0aGUgYXNzZXQgc2luY2UgYWxsIGljb25zIGdvIGludG8gYSBzaW5nbGVcbiAgICAgIC8vIGRpcmVjdG9yeVxuICAgICAgLy8gVE9ETzogaGF2ZSBpY29ucyBoYXZlIGEgY2F0ZWdvcnkgZmllbGQgaW4gdGhlaXIgY29uZmlnIGFuZCBwcmVwZW5kIHRoZVxuICAgICAgLy8gY2F0ZWdvcnkgdG8gdGhlIGFzc2V0IG5hbWUuIEVnOiBuYXZfaWNvbk5hbWVfYXNzZXROYW1lXG4gICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICBmcy5jb3B5KGFzc2V0LmdldFBhdGgoKSwgcGF0aC5qb2luKG91dHB1dEljb25EaXIsIGFzc2V0TmFtZSkpXG4gICAgICApO1xuICAgIH1cbiAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gIH1cbn1cbiJdfQ==

@@ -7,4 +7,6 @@ import { IconSet } from '@icon-magic/icon-models';

* @param groupByCategory (for sprite creation) whether to group by the category attribute
* @param colorScheme array of strings matching the colorScheme attributes of the icon i.e: `light`, `dark`, `mixed`.
* @param doNotRemoveSuffix boolean, when true will keep the "-mixed" suffix in file name when distributing to hbs.
* @returns promise after completion
*/
export declare function distributeSvg(iconSet: IconSet, outputPath: string, groupByCategory: boolean, outputAsHbs: boolean): Promise<void>;
export declare function distributeSvg(iconSet: IconSet, outputPath: string, groupByCategory: boolean, outputAsHbs: boolean, colorScheme: string[], doNotRemoveSuffix: boolean): Promise<void>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.distributeSvg = void 0;
const logger_1 = require("@icon-magic/logger");

@@ -15,5 +16,7 @@ const fs = require("fs-extra");

* @param groupByCategory (for sprite creation) whether to group by the category attribute
* @param colorScheme array of strings matching the colorScheme attributes of the icon i.e: `light`, `dark`, `mixed`.
* @param doNotRemoveSuffix boolean, when true will keep the "-mixed" suffix in file name when distributing to hbs.
* @returns promise after completion
*/
async function distributeSvg(iconSet, outputPath, groupByCategory, outputAsHbs) {
async function distributeSvg(iconSet, outputPath, groupByCategory, outputAsHbs, colorScheme, doNotRemoveSuffix) {
// Sort icons so it looks pretty in .diff

@@ -26,4 +29,15 @@ const icons = sortIcons(iconSet.hash.values());

for (const icon of icons) {
LOGGER.debug(`calling distributeSvg on ${icon.iconName}: ${icon.iconPath}`);
LOGGER.debug(`calling distributeSvg on ${icon.iconName}: ${icon.iconPath} with colorScheme: ${colorScheme}`);
if (!doNotRemoveSuffix && colorScheme.includes('mixed')) {
LOGGER.warn(`Warning: By default the "-mixed" suffix is trimmed from the file name when distributed to hbs. The file name will be the SAME as the light variant. Use the --doNotRemoveSuffix flag to keep the "-mixed" in the file name.`);
}
const assets = utils_1.getIconFlavorsByType(icon, 'svg');
// Further filter the icons by matching the assets's colorScheme to the commander option --colorScheme
const assetsByColorScheme = assets.filter(asset => {
if (asset.colorScheme) {
return colorScheme.includes(asset.colorScheme);
}
// Light variants can either have colorScheme: `light`, null, or undefined
return colorScheme.includes('light');
});
const distributeConfig = icon.distribute;

@@ -37,4 +51,4 @@ const svgConfig = distributeConfig && distributeConfig.svg;

const { assetsToAddToSprite, assetsNoSprite } = variantsToFilter && variantsToFilter.length
? create_sprite_1.partitionAssetsForSprite(assets, variantsToFilter)
: { assetsToAddToSprite: assets, assetsNoSprite: assets };
? create_sprite_1.partitionAssetsForSprite(assetsByColorScheme, variantsToFilter)
: { assetsToAddToSprite: assetsByColorScheme, assetsNoSprite: assetsByColorScheme };
const iconHasSpriteConfig = !(distributeConfig &&

@@ -48,3 +62,3 @@ svgConfig &&

: outputPath;
await create_icon_template_1.createHbs(assets, destPath);
await create_icon_template_1.createHbs(assetsByColorScheme, destPath, doNotRemoveSuffix);
}

@@ -105,2 +119,2 @@ catch (e) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0ZS1zdmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGlzdHJpYnV0ZS1zdmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwrQ0FBNEM7QUFDNUMsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUU3QixpRUFBbUQ7QUFDbkQsbURBSXlCO0FBQ3pCLG1DQUErRDtBQUUvRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRWxFOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxhQUFhLENBQ2pDLE9BQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLGVBQXdCLEVBQ3hCLFdBQW9CO0lBRXBCLHlDQUF5QztJQUN6QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLDZFQUE2RTtJQUM3RSx1REFBdUQ7SUFDdkQsTUFBTSxXQUFXLEdBQWlCLEVBQUUsQ0FBQztJQUNyQyxNQUFNLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDNUIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1RSxNQUFNLE1BQU0sR0FBRyw0QkFBb0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pDLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztRQUMzRCxxRUFBcUU7UUFDckUsTUFBTSxvQkFBb0IsR0FDeEIsZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7UUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFD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LEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQ3pELENBQ0YsQ0FBQztLQUNIO0lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxTQUFTLENBQUMsS0FBNkI7SUFDOUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQWEsRUFBRSxPQUFhLEVBQUUsRUFBRTtRQUM3RCxPQUFPLHNCQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXQsIEljb24sIEljb25TZXQsIFNwcml0ZUNvbmZpZyB9IGZyb20gJ0BpY29uLW1hZ2ljL2ljb24tbW9kZWxzJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0BpY29uLW1hZ2ljL2xvZ2dlcic7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBjcmVhdGVIYnMgfSBmcm9tICcuL2NyZWF0ZS1pY29uLXRlbXBsYXRlJztcbmltcG9ydCB7XG4gIGFkZFRvU3ByaXRlLFxuICBwYXJ0aXRpb25Bc3NldHNGb3JTcHJpdGUsXG4gIHdyaXRlU3ByaXRlVG9GaWxlXG59IGZyb20gJy4vY3JlYXRlLXNwcml0ZSc7XG5pbXBvcnQgeyBjb21wYXJlU3RyaW5ncywgZ2V0SWNvbkZsYXZvcnNCeVR5cGUgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgTE9HR0VSID0gbmV3IExvZ2dlcignaWNvbi1tYWdpYzpkaXN0cmlidXRlOmRpc3RyaWJ1dGUtc3ZnJyk7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBpY29uU2V0IHNldCBvZiBpY29ucyB0byBiZSBtb3ZlZCB0byB0aGUgb3V0cHV0IGZvbGRlciBvciBhZGRlZCB0byBzcHJpdGVcbiAqIEBwYXJhbSBvdXRwdXRQYXRoIHBhdGggdG8gbW92ZSB0b1xuICogQHBhcmFtIGdyb3VwQnlDYXRlZ29yeSAoZm9yIHNwcml0ZSBjcmVhdGlvbikgd2hldGhlciB0byBncm91cCBieSB0aGUgY2F0ZWdvcnkgYXR0cmlidXRlXG4gKiBAcmV0dXJucyBwcm9taXNlIGFmdGVyIGNvbXBsZXRpb25cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRpc3RyaWJ1dGVTdmcoXG4gIGljb25TZXQ6IEljb25TZXQsXG4gIG91dHB1dFBhdGg6IHN0cmluZyxcbiAgZ3JvdXBCeUNhdGVnb3J5OiBib29sZWFuLFxuICBvdXRwdXRBc0hiczogYm9vbGVhbixcbik6IFByb21pc2U8dm9pZD4ge1xuICAvLyBTb3J0IGljb25zIHNvIGl0IGxvb2tzIHByZXR0eSBpbiAuZGlmZlxuICBjb25zdCBpY29ucyA9IHNvcnRJY29ucyhpY29uU2V0Lmhhc2gudmFsdWVzKCkpO1xuICAvLyBLZWVwIHRyYWNrIG9mIHRoZSBzcHJpdGVzIHRoYXQgaGF2ZSBiZWVuIGNyZWF0ZWQgc28gd2Uga25vdyB3aGVuIHRvIGNyZWF0ZVxuICAvLyBhIG5ldyBvbmUgYW5kIHdoZW4gdG8gYXBwZW5kIHRvIGFuIGV4aXN0aW5nIGRvY3VtZW50XG4gIGNvbnN0IHNwcml0ZU5hbWVzOiBTcHJpdGVDb25maWcgPSB7fTtcbiAgY29uc3QgcHJvbWlzZXM6IHZvaWRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGljb24gb2YgaWNvbnMpIHtcbiAgICBMT0dHRVIuZGVidWcoYGNhbGxpbmcgZGlzdHJpYnV0ZVN2ZyBvbiAke2ljb24uaWNvbk5hbWV9OiAke2ljb24uaWNvblBhdGh9YCk7XG4gICAgY29uc3QgYXNzZXRzID0gZ2V0SWNvbkZsYXZvcnNCeVR5cGUoaWNvbiwgJ3N2ZycpO1xuICAgIGNvbnN0IGRpc3RyaWJ1dGVDb25maWcgPSBpY29uLmRpc3RyaWJ1dGU7XG4gICAgY29uc3Qgc3ZnQ29uZmlnID0gZGlzdHJpYnV0ZUNvbmZpZyAmJiBkaXN0cmlidXRlQ29uZmlnLnN2ZztcbiAgICAvLyB2YXJpYW50c1RvRmlsdGVyIGNhbiBiZSBkZWZpbmVkIG9uIGRpc3RyaWJ1dGUgb3Igb24gZGlzdHJpYnV0ZS5zdmdcbiAgICBjb25zdCBpY29uVmFyaWFudHNUb0ZpbHRlciA9XG4gICAgICBkaXN0cmlidXRlQ29uZmlnICYmIGRpc3RyaWJ1dGVDb25maWcudmFyaWFudHNUb0ZpbHRlcjtcbiAgICBjb25zdCBzdmdWYXJpYW50c1RvRmlsdGVyID0gc3ZnQ29uZmlnICYmIHN2Z0NvbmZpZy52YXJpYW50c1RvRmlsdGVyO1xuICAgIGNvbnN0IHZhcmlhbnRzVG9GaWx0ZXIgPSBzdmdWYXJpYW50c1RvRmlsdGVyIHx8IGljb25WYXJpYW50c1RvRmlsdGVyO1xuXG4gICAgLy8gSWYgaWNvbiBoYXMgZGVmaW5lZCB0aGUgYXNzZXRzIHRvIGdvIHRvIHNwcml0ZVxuICAgIGNvbnN0IHsgYXNzZXRzVG9BZGRUb1Nwcml0ZSwgYXNzZXRzTm9TcHJpdGUgfSA9XG4gICAgICB2YXJpYW50c1RvRmlsdGVyICYmIHZhcmlhbnRzVG9GaWx0ZXIubGVuZ3RoXG4gICAgICAgID8gcGFydGl0aW9uQXNzZXRzRm9yU3ByaXRlKGFzc2V0cywgdmFyaWFudHNUb0ZpbHRlcilcbiAgICAgICAgOiB7IGFzc2V0c1RvQWRkVG9TcHJpdGU6IGFzc2V0cywgYXNzZXRzTm9TcHJpdGU6IGFzc2V0cyB9O1xuXG4gICAgY29uc3QgaWNvbkhhc1Nwcml0ZUNvbmZpZyA9ICEoXG4gICAgICBkaXN0cmlidXRlQ29uZmlnICYmXG4gICAgICBzdmdDb25maWcgJiZcbiAgICAgICFzdmdDb25maWcudG9TcHJpdGVcbiAgICApO1xuICAgIGlmIChvdXRwdXRBc0hicykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGVzdFBhdGggPVxuICAgICAgICBpY29uLmNhdGVnb3J5ICYmIGdyb3VwQnlDYXRlZ29yeVxuICAgICAgICAgID8gcGF0aC5qb2luKG91dHB1dFBhdGgsIGljb24uY2F0ZWdvcnkpXG4gICAgICAgICAgOiBvdXRwdXRQYXRoO1xuICAgICAgICBhd2FpdCBjcmVhdGVIYnMoYXNzZXRzLCBkZXN0UGF0aCk7XG4gICAgICB9XG4gICAgICBjYXRjaChlKSB7XG4gICAgICAgIExPR0dFUi5kZWJ1ZyhgVGhlcmUgd2FzIGFuIGlzc3VlIGNyZWF0aW5nIHRoZSBoYnMgZmlsZTogJHtlfWApO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChpY29uSGFzU3ByaXRlQ29uZmlnKSB7XG4gICAgICAvLyBCeSBkZWZhdWx0LCBpZiB0aGVyZSBpcyBubyBkaXN0cmlidXRlIGNvbmZpZywgYWRkIHRvIHRoZSBzcHJpdGVcbiAgICAgIC8vIERlZmF1bHQgc3ByaXRlTmFtZSBpcyBgaWNvbnNgXG4gICAgICBjb25zdCBpY29uU3ByaXRlTmFtZXMgPVxuICAgICAgICBzdmdDb25maWcgJiYgc3ZnQ29uZmlnLnNwcml0ZU5hbWVzID8gc3ZnQ29uZmlnLnNwcml0ZU5hbWVzIDogWydpY29ucyddO1xuICAgICAgZm9yIChjb25zdCBzcHJpdGVOYW1lIG9mIGljb25TcHJpdGVOYW1lcykge1xuICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgIGF3YWl0IGFkZFRvU3ByaXRlKFxuICAgICAgICAgICAgc3ByaXRlTmFtZSxcbiAgICAgICAgICAgIGFzc2V0c1RvQWRkVG9TcHJpdGUsXG4gICAgICAgICAgICBncm91cEJ5Q2F0ZWdvcnksXG4gICAgICAgICAgICBpY29uLmNhdGVnb3J5LFxuICAgICAgICAgICAgc3ByaXRlTmFtZXNcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEp1c3QgY29weSB0aGUgZmlsZXMgdG8gdGhlIG91dHB1dFxuICAgICAgLy8gSWYgdGhlIGdyb3VwQnlDYXRlZ29yeSBmbGFnIGlzIGF2YWlsYWJsZSxcbiAgICAgIC8vIHB1dCB0aGVtIGluIGEgZm9sZGVyIHRoYXQgbWF0Y2hlcyB0aGUgaWNvbiBjYXRlZ29yeVxuICAgICAgY29uc3QgZGVzdFBhdGggPVxuICAgICAgICBpY29uLmNhdGVnb3J5ICYmIGdyb3VwQnlDYXRlZ29yeVxuICAgICAgICAgID8gcGF0aC5qb2luKG91dHB1dFBhdGgsIGljb24uY2F0ZWdvcnkpXG4gICAgICAgICAgOiBvdXRwdXRQYXRoO1xuICAgICAgYXdhaXQgY29weUljb25Bc3NldFN2Z3MoaWNvbi5pY29uTmFtZSwgYXNzZXRzTm9TcHJpdGUsIGRlc3RQYXRoKTtcbiAgICB9XG4gIH1cbiAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgIC8vIEFmdGVyIHdlJ3ZlIGdvbmUgdGhyb3VnaCBhbGwgdGhlIGljb25zLCB3cml0ZSB0aGUgc3ByaXRlcyB0byBhIGZpbGVcbiAgICBhd2FpdCB3cml0ZVNwcml0ZVRvRmlsZShzcHJpdGVOYW1lcywgb3V0cHV0UGF0aCk7XG4gIH0pO1xufVxuXG4vKipcbiAqIE1vdmVzIHRoZSBzdmcgYXNzZXRzIG9mIGFuIGljb24gdG8gdGhlIG91dHB1dFBhdGhcbiAqIEBwYXJhbSBpY29uTmFtZSBuYW1lIG9mIGljb24gd2hvc2UgYXNzZXRzIHNob3VsZCBiZSBtb3ZlZFxuICogQHBhcmFtIGFzc2V0cyB0byBiZSBtb3ZlZFxuICogQHBhcmFtIG91dHB1dFBhdGggcGF0aCB0byBtb3ZlIHRvXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGNvcHlJY29uQXNzZXRTdmdzKFxuICBpY29uTmFtZTogc3RyaW5nLFxuICBhc3NldHM6IEFzc2V0W10sXG4gIG91dHB1dFBhdGg6IHN0cmluZ1xuKSB7XG4gIGNvbnN0IG91dHB1dEljb25EaXIgPSBwYXRoLmpvaW4ob3V0cHV0UGF0aCwgaWNvbk5hbWUpO1xuICBhd2FpdCBmcy5ta2RpcnAob3V0cHV0SWNvbkRpcik7XG4gIC8vIGNvcHkgYWxsIGFzc2V0cyB0byB0aGUgb3V0cHV0IGljb24gZGlyZWN0b3J5XG4gIGNvbnN0IHByb21pc2VzID0gW107XG4gIGZvciAoY29uc3QgYXNzZXQgb2YgYXNzZXRzKSB7XG4gICAgcHJvbWlzZXMucHVzaChcbiAgICAgIGZzLmNvcHkoXG4gICAgICAgIGFzc2V0LmdldFBhdGgoKSxcbiAgICAgICAgcGF0aC5qb2luKG91dHB1dEljb25EaXIsIHBhdGguYmFzZW5hbWUoYXNzZXQuZ2V0UGF0aCgpKSlcbiAgICAgIClcbiAgICApO1xuICB9XG4gIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XG59XG5cbi8qKlxuICogU29ydHMgYSBzZXQgb2YgaWNvbnMgYnkgcHJvcGVydHkgaWNvbk5hbWVcbiAqIEBwYXJhbSBpY29ucyBzZXQgb2YgaWNvbnMgdG8gc29ydFxuICogQHJldHVybnMgc29ydGVkIGFycmF5IG9mIGljb25zXG4gKi9cbmZ1bmN0aW9uIHNvcnRJY29ucyhpY29uczogSXRlcmFibGVJdGVyYXRvcjxJY29uPik6IEFycmF5PEljb24+IHtcbiAgcmV0dXJuIEFycmF5LmZyb20oaWNvbnMpLnNvcnQoKGljb25PbmU6IEljb24sIGljb25Ud286IEljb24pID0+IHtcbiAgICByZXR1cm4gY29tcGFyZVN0cmluZ3MoaWNvbk9uZS5pY29uTmFtZSwgaWNvblR3by5pY29uTmFtZSk7XG4gIH0pO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzdHJpYnV0ZS1zdmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGlzdHJpYnV0ZS1zdmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTRDO0FBQzVDLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFFN0IsaUVBQW1EO0FBQ25ELG1EQUl5QjtBQUN6QixtQ0FBK0Q7QUFFL0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQztBQUVsRTs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxhQUFhLENBQ2pDLE9BQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLGVBQXdCLEVBQ3hCLFdBQW9CLEVBQ3BCLFdBQXFCLEVBQ3JCLGlCQUEwQjtJQUUxQix5Q0FBeUM7SUFDekMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMvQyw2RUFBNkU7SUFDN0UsdURBQXVEO0lBQ3ZELE1BQU0sV0FBVyxHQUFpQixFQUFFLENBQUM7SUFDckMsTUFBTSxRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQzVCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsc0JBQXNCLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLGlCQUFpQixJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUM7WUFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyw2TkFBNk4sQ0FBQyxDQUFDO1NBQzVPO1FBRUQsTUFBTSxNQUFNLEdBQUcsNEJBQW9CLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRWpELHNHQUFzRztRQUN0RyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxD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QUFDLENBQUM7QUFDTCxDQUFDO0FBN0ZELHNDQTZGQztBQUVEOzs7OztHQUtHO0FBQ0gsS0FBSyxVQUFVLGlCQUFpQixDQUM5QixRQUFnQixFQUNoQixNQUFlLEVBQ2YsVUFBa0I7SUFFbEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQy9CLCtDQUErQztJQUMvQyxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDcEIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsUUFBUSxDQUFDLElBQUksQ0FDWCxFQUFFLENBQUMsSUFBSSxDQUNMLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQ3pELENBQ0YsQ0FBQztLQUNIO0lBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxTQUFTLENBQUMsS0FBNkI7SUFDOUMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQWEsRUFBRSxPQUFhLEVBQUUsRUFBRTtRQUM3RCxPQUFPLHNCQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXQsIEljb24sIEljb25TZXQsIFNwcml0ZUNvbmZpZyB9IGZyb20gJ0BpY29uLW1hZ2ljL2ljb24tbW9kZWxzJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0BpY29uLW1hZ2ljL2xvZ2dlcic7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgeyBjcmVhdGVIYnMgfSBmcm9tICcuL2NyZWF0ZS1pY29uLXRlbXBsYXRlJztcbmltcG9ydCB7XG4gIGFkZFRvU3ByaXRlLFxuICBwYXJ0aXRpb25Bc3NldHNGb3JTcHJpdGUsXG4gIHdyaXRlU3ByaXRlVG9GaWxlXG59IGZyb20gJy4vY3JlYXRlLXNwcml0ZSc7XG5pbXBvcnQgeyBjb21wYXJlU3RyaW5ncywgZ2V0SWNvbkZsYXZvcnNCeVR5cGUgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgTE9HR0VSID0gbmV3IExvZ2dlcignaWNvbi1tYWdpYzpkaXN0cmlidXRlOmRpc3RyaWJ1dGUtc3ZnJyk7XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBpY29uU2V0IHNldCBvZiBpY29ucyB0byBiZSBtb3ZlZCB0byB0aGUgb3V0cHV0IGZvbGRlciBvciBhZGRlZCB0byBzcHJpdGVcbiAqIEBwYXJhbSBvdXRwdXRQYXRoIHBhdGggdG8gbW92ZSB0b1xuICogQHBhcmFtIGdyb3VwQnlDYXRlZ29yeSAoZm9yIHNwcml0ZSBjcmVhdGlvbikgd2hldGhlciB0byBncm91cCBieSB0aGUgY2F0ZWdvcnkgYXR0cmlidXRlXG4gKiBAcGFyYW0gY29sb3JTY2hlbWUgYXJyYXkgb2Ygc3RyaW5ncyBtYXRjaGluZyB0aGUgY29sb3JTY2hlbWUgYXR0cmlidXRlcyBvZiB0aGUgaWNvbiBpLmU6IGBsaWdodGAsIGBkYXJrYCwgYG1peGVkYC5cbiAqIEBwYXJhbSBkb05vdFJlbW92ZVN1ZmZpeCBib29sZWFuLCB3aGVuIHRydWUgd2lsbCBrZWVwIHRoZSBcIi1taXhlZFwiIHN1ZmZpeCBpbiBmaWxlIG5hbWUgd2hlbiBkaXN0cmlidXRpbmcgdG8gaGJzLlxuICogQHJldHVybnMgcHJvbWlzZSBhZnRlciBjb21wbGV0aW9uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkaXN0cmlidXRlU3ZnKFxuICBpY29uU2V0OiBJY29uU2V0LFxuICBvdXRwdXRQYXRoOiBzdHJpbmcsXG4gIGdyb3VwQnlDYXRlZ29yeTogYm9vbGVhbixcbiAgb3V0cHV0QXNIYnM6IGJvb2xlYW4sXG4gIGNvbG9yU2NoZW1lOiBzdHJpbmdbXSxcbiAgZG9Ob3RSZW1vdmVTdWZmaXg6IGJvb2xlYW5cbik6IFByb21pc2U8dm9pZD4ge1xuICAvLyBTb3J0IGljb25zIHNvIGl0IGxvb2tzIHByZXR0eSBpbiAuZGlmZlxuICBjb25zdCBpY29ucyA9IHNvcnRJY29ucyhpY29uU2V0Lmhhc2gudmFsdWVzKCkpO1xuICAvLyBLZWVwIHRyYWNrIG9mIHRoZSBzcHJpdGVzIHRoYXQgaGF2ZSBiZWVuIGNyZWF0ZWQgc28gd2Uga25vdyB3aGVuIHRvIGNyZWF0ZVxuICAvLyBhIG5ldyBvbmUgYW5kIHdoZW4gdG8gYXBwZW5kIHRvIGFuIGV4aXN0aW5nIGRvY3VtZW50XG4gIGNvbnN0IHNwcml0ZU5hbWVzOiBTcHJpdGVDb25maWcgPSB7fTtcbiAgY29uc3QgcHJvbWlzZXM6IHZvaWRbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGljb24gb2YgaWNvbnMpIHtcbiAgICBMT0dHRVIuZGVidWcoYGNhbGxpbmcgZGlzdHJpYnV0ZVN2ZyBvbiAke2ljb24uaWNvbk5hbWV9OiAke2ljb24uaWNvblBhdGh9IHdpdGggY29sb3JTY2hlbWU6ICR7Y29sb3JTY2hlbWV9YCk7XG4gICAgaWYgKCFkb05vdFJlbW92ZVN1ZmZpeCAmJiBjb2xvclNjaGVtZS5pbmNsdWRlcygnbWl4ZWQnKSl7XG4gICAgICBMT0dHRVIud2FybihgV2FybmluZzogQnkgZGVmYXVsdCB0aGUgXCItbWl4ZWRcIiBzdWZmaXggaXMgdHJpbW1lZCBmcm9tIHRoZSBmaWxlIG5hbWUgd2hlbiBkaXN0cmlidXRlZCB0byBoYnMuIFRoZSBmaWxlIG5hbWUgd2lsbCBiZSB0aGUgU0FNRSBhcyB0aGUgbGlnaHQgdmFyaWFudC4gVXNlIHRoZSAtLWRvTm90UmVtb3ZlU3VmZml4IGZsYWcgdG8ga2VlcCB0aGUgXCItbWl4ZWRcIiBpbiB0aGUgZmlsZSBuYW1lLmApO1xuICAgIH1cblxuICAgIGNvbnN0IGFzc2V0cyA9IGdldEljb25GbGF2b3JzQnlUeXBlKGljb24sICdzdmcnKTtcblxuICAgIC8vIEZ1cnRoZXIgZmlsdGVyIHRoZSBpY29ucyBieSBtYXRjaGluZyB0aGUgYXNzZXRzJ3MgY29sb3JTY2hlbWUgdG8gdGhlIGNvbW1hbmRlciBvcHRpb24gLS1jb2xvclNjaGVtZVxuICAgIGNvbnN0IGFzc2V0c0J5Q29sb3JTY2hlbWUgPSBhc3NldHMuZmlsdGVyKGFzc2V0ID0+IHtcbiAgICAgIGlmIChhc3NldC5jb2xvclNjaGVtZSkge1xuICAgICAgICByZXR1cm4gY29sb3JTY2hlbWUuaW5jbHVkZXMoYXNzZXQuY29sb3JTY2hlbWUpO1xuICAgICAgfVxuICAgICAgLy8gTGlnaHQgdmFyaWFudHMgY2FuIGVpdGhlciBoYXZlIGNvbG9yU2NoZW1lOiBgbGlnaHRgLCBudWxsLCBvciB1bmRlZmluZWRcbiAgICAgIHJldHVybiBjb2xvclNjaGVtZS5pbmNsdWRlcygnbGlnaHQnKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRpc3RyaWJ1dGVDb25maWcgPSBpY29uLmRpc3RyaWJ1dGU7XG4gICAgY29uc3Qgc3ZnQ29uZmlnID0gZGlzdHJpYnV0ZUNvbmZpZyAmJiBkaXN0cmlidXRlQ29uZmlnLnN2ZztcbiAgICAvLyB2YXJpYW50c1RvRmlsdGVyIGNhbiBiZSBkZWZpbmVkIG9uIGRpc3RyaWJ1dGUgb3Igb24gZGlzdHJpYnV0ZS5zdmdcbiAgICBjb25zdCBpY29uVmFyaWFudHNUb0ZpbHRlciA9XG4gICAgICBkaXN0cmlidXRlQ29uZmlnICYmIGRpc3RyaWJ1dGVDb25maWcudmFyaWFudHNUb0ZpbHRlcjtcbiAgICBjb25zdCBzdmdWYXJpYW50c1RvRmlsdGVyID0gc3ZnQ29uZmlnICYmIHN2Z0NvbmZpZy52YXJpYW50c1RvRmlsdGVyO1xuICAgIGNvbnN0IHZhcmlhbnRzVG9GaWx0ZXIgPSBzdmdWYXJpYW50c1RvRmlsdGVyIHx8IGljb25WYXJpYW50c1RvRmlsdGVyO1xuXG4gICAgLy8gSWYgaWNvbiBoYXMgZGVmaW5lZCB0aGUgYXNzZXRzIHRvIGdvIHRvIHNwcml0ZVxuICAgIGNvbnN0IHsgYXNzZXRzVG9BZGRUb1Nwcml0ZSwgYXNzZXRzTm9TcHJpdGUgfSA9XG4gICAgICB2YXJpYW50c1RvRmlsdGVyICYmIHZhcmlhbnRzVG9GaWx0ZXIubGVuZ3RoXG4gICAgICAgID8gcGFydGl0aW9uQXNzZXRzRm9yU3ByaXRlKGFzc2V0c0J5Q29sb3JTY2hlbWUsIHZhcmlhbnRzVG9GaWx0ZXIpXG4gICAgICAgIDogeyBhc3NldHNUb0FkZFRvU3ByaXRlOiBhc3NldHNCeUNvbG9yU2NoZW1lLCBhc3NldHNOb1Nwcml0ZTogYXNzZXRzQnlDb2xvclNjaGVtZSB9O1xuXG4gICAgY29uc3QgaWNvbkhhc1Nwcml0ZUNvbmZpZyA9ICEoXG4gICAgICBkaXN0cmlidXRlQ29uZmlnICYmXG4gICAgICBzdmdDb25maWcgJiZcbiAgICAgICFzdmdDb25maWcudG9TcHJpdGVcbiAgICApO1xuICAgIGlmIChvdXRwdXRBc0hicykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgZGVzdFBhdGggPVxuICAgICAgICBpY29uLmNhdGVnb3J5ICYmIGdyb3VwQnlDYXRlZ29yeVxuICAgICAgICAgID8gcGF0aC5qb2luKG91dHB1dFBhdGgsIGljb24uY2F0ZWdvcnkpXG4gICAgICAgICAgOiBvdXRwdXRQYXRoO1xuICAgICAgICBhd2FpdCBjcmVhdGVIYnMoYXNzZXRzQnlDb2xvclNjaGVtZSwgZGVzdFBhdGgsIGRvTm90UmVtb3ZlU3VmZml4KTtcbiAgICAgIH1cbiAgICAgIGNhdGNoKGUpIHtcbiAgICAgICAgTE9HR0VSLmRlYnVnKGBUaGVyZSB3YXMgYW4gaXNzdWUgY3JlYXRpbmcgdGhlIGhicyBmaWxlOiAke2V9YCk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKGljb25IYXNTcHJpdGVDb25maWcpIHtcbiAgICAgIC8vIEJ5IGRlZmF1bHQsIGlmIHRoZXJlIGlzIG5vIGRpc3RyaWJ1dGUgY29uZmlnLCBhZGQgdG8gdGhlIHNwcml0ZVxuICAgICAgLy8gRGVmYXVsdCBzcHJpdGVOYW1lIGlzIGBpY29uc2BcbiAgICAgIGNvbnN0IGljb25TcHJpdGVOYW1lcyA9XG4gICAgICAgIHN2Z0NvbmZpZyAmJiBzdmdDb25maWcuc3ByaXRlTmFtZXMgPyBzdmdDb25maWcuc3ByaXRlTmFtZXMgOiBbJ2ljb25zJ107XG4gICAgICBmb3IgKGNvbnN0IHNwcml0ZU5hbWUgb2YgaWNvblNwcml0ZU5hbWVzKSB7XG4gICAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgICAgYXdhaXQgYWRkVG9TcHJpdGUoXG4gICAgICAgICAgICBzcHJpdGVOYW1lLFxuICAgICAgICAgICAgYXNzZXRzVG9BZGRUb1Nwcml0ZSxcbiAgICAgICAgICAgIGdyb3VwQnlDYXRlZ29yeSxcbiAgICAgICAgICAgIGljb24uY2F0ZWdvcnksXG4gICAgICAgICAgICBzcHJpdGVOYW1lc1xuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSnVzdCBjb3B5IHRoZSBmaWxlcyB0byB0aGUgb3V0cHV0XG4gICAgICAvLyBJZiB0aGUgZ3JvdXBCeUNhdGVnb3J5IGZsYWcgaXMgYXZhaWxhYmxlLFxuICAgICAgLy8gcHV0IHRoZW0gaW4gYSBmb2xkZXIgdGhhdCBtYXRjaGVzIHRoZSBpY29uIGNhdGVnb3J5XG4gICAgICBjb25zdCBkZXN0UGF0aCA9XG4gICAgICAgIGljb24uY2F0ZWdvcnkgJiYgZ3JvdXBCeUNhdGVnb3J5XG4gICAgICAgICAgPyBwYXRoLmpvaW4ob3V0cHV0UGF0aCwgaWNvbi5jYXRlZ29yeSlcbiAgICAgICAgICA6IG91dHB1dFBhdGg7XG4gICAgICBhd2FpdCBjb3B5SWNvbkFzc2V0U3ZncyhpY29uLmljb25OYW1lLCBhc3NldHNOb1Nwcml0ZSwgZGVzdFBhdGgpO1xuICAgIH1cbiAgfVxuICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcykudGhlbihhc3luYyAoKSA9PiB7XG4gICAgLy8gQWZ0ZXIgd2UndmUgZ29uZSB0aHJvdWdoIGFsbCB0aGUgaWNvbnMsIHdyaXRlIHRoZSBzcHJpdGVzIHRvIGEgZmlsZVxuICAgIGF3YWl0IHdyaXRlU3ByaXRlVG9GaWxlKHNwcml0ZU5hbWVzLCBvdXRwdXRQYXRoKTtcbiAgfSk7XG59XG5cbi8qKlxuICogTW92ZXMgdGhlIHN2ZyBhc3NldHMgb2YgYW4gaWNvbiB0byB0aGUgb3V0cHV0UGF0aFxuICogQHBhcmFtIGljb25OYW1lIG5hbWUgb2YgaWNvbiB3aG9zZSBhc3NldHMgc2hvdWxkIGJlIG1vdmVkXG4gKiBAcGFyYW0gYXNzZXRzIHRvIGJlIG1vdmVkXG4gKiBAcGFyYW0gb3V0cHV0UGF0aCBwYXRoIHRvIG1vdmUgdG9cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY29weUljb25Bc3NldFN2Z3MoXG4gIGljb25OYW1lOiBzdHJpbmcsXG4gIGFzc2V0czogQXNzZXRbXSxcbiAgb3V0cHV0UGF0aDogc3RyaW5nXG4pIHtcbiAgY29uc3Qgb3V0cHV0SWNvbkRpciA9IHBhdGguam9pbihvdXRwdXRQYXRoLCBpY29uTmFtZSk7XG4gIGF3YWl0IGZzLm1rZGlycChvdXRwdXRJY29uRGlyKTtcbiAgLy8gY29weSBhbGwgYXNzZXRzIHRvIHRoZSBvdXRwdXQgaWNvbiBkaXJlY3RvcnlcbiAgY29uc3QgcHJvbWlzZXMgPSBbXTtcbiAgZm9yIChjb25zdCBhc3NldCBvZiBhc3NldHMpIHtcbiAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgZnMuY29weShcbiAgICAgICAgYXNzZXQuZ2V0UGF0aCgpLFxuICAgICAgICBwYXRoLmpvaW4ob3V0cHV0SWNvbkRpciwgcGF0aC5iYXNlbmFtZShhc3NldC5nZXRQYXRoKCkpKVxuICAgICAgKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcbn1cblxuLyoqXG4gKiBTb3J0cyBhIHNldCBvZiBpY29ucyBieSBwcm9wZXJ0eSBpY29uTmFtZVxuICogQHBhcmFtIGljb25zIHNldCBvZiBpY29ucyB0byBzb3J0XG4gKiBAcmV0dXJucyBzb3J0ZWQgYXJyYXkgb2YgaWNvbnNcbiAqL1xuZnVuY3Rpb24gc29ydEljb25zKGljb25zOiBJdGVyYWJsZUl0ZXJhdG9yPEljb24+KTogQXJyYXk8SWNvbj4ge1xuICByZXR1cm4gQXJyYXkuZnJvbShpY29ucykuc29ydCgoaWNvbk9uZTogSWNvbiwgaWNvblR3bzogSWNvbikgPT4ge1xuICAgIHJldHVybiBjb21wYXJlU3RyaW5ncyhpY29uT25lLmljb25OYW1lLCBpY29uVHdvLmljb25OYW1lKTtcbiAgfSk7XG59XG4iXX0=

@@ -9,5 +9,7 @@ import { IconConfigHash } from '@icon-magic/icon-models';

* @param groupByCategory (for sprite creation) whether to group by the category attribute
* @param colorScheme array of strings matching the colorScheme attributes of the icon ie: `light`, `dark`, `mixed`.
* @param doNotRemoveSuffix boolean, when true will keep the "-mixed" suffix in file name when distributing to hbs.
* @retuns promise after completion
*/
export declare function distributeByType(iconConfig: IconConfigHash, outputPath: string, type?: ICON_TYPES, groupByCategory?: boolean, outputAsHbs?: boolean): Promise<void>;
export declare function distributeByType(iconConfig: IconConfigHash, outputPath: string, type?: ICON_TYPES, groupByCategory?: boolean, outputAsHbs?: boolean, colorScheme?: string[], doNotRemoveSuffix?: boolean): Promise<void>;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.distributeByType = void 0;
const icon_models_1 = require("@icon-magic/icon-models");

@@ -15,6 +16,8 @@ const logger_1 = require("@icon-magic/logger");

* @param groupByCategory (for sprite creation) whether to group by the category attribute
* @param colorScheme array of strings matching the colorScheme attributes of the icon ie: `light`, `dark`, `mixed`.
* @param doNotRemoveSuffix boolean, when true will keep the "-mixed" suffix in file name when distributing to hbs.
* @retuns promise after completion
*/
async function distributeByType(iconConfig, outputPath, type = 'all', groupByCategory = true, outputAsHbs = false) {
LOGGER.debug(`entering distribute with ${type}`);
async function distributeByType(iconConfig, outputPath, type = 'all', groupByCategory = true, outputAsHbs = false, colorScheme = ['light', 'dark'], doNotRemoveSuffix = false) {
LOGGER.debug(`entering distribute with ${type} and colorSchemes: ${colorScheme}`);
const iconSet = new icon_models_1.IconSet(iconConfig, true);

@@ -31,3 +34,3 @@ switch (type) {

case 'svg': {
await distribute_svg_1.distributeSvg(iconSet, outputPath, groupByCategory, outputAsHbs);
await distribute_svg_1.distributeSvg(iconSet, outputPath, groupByCategory, outputAsHbs, colorScheme, doNotRemoveSuffix);
break;

@@ -38,3 +41,3 @@ }

await distribute_by_resolution_1.distributeByResolution(iconSet, outputPath);
await distribute_svg_1.distributeSvg(iconSet, outputPath, groupByCategory, outputAsHbs);
await distribute_svg_1.distributeSvg(iconSet, outputPath, groupByCategory, outputAsHbs, colorScheme, doNotRemoveSuffix);
}

@@ -44,2 +47,2 @@ }

exports.distributeByType = distributeByType;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx5REFBa0U7QUFDbEUsK0NBQTRDO0FBRTVDLHlEQUFvRDtBQUNwRCx5RUFBb0U7QUFDcEUscURBQWlEO0FBRWpELE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFHekQ7Ozs7Ozs7R0FPRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsVUFBMEIsRUFDMUIsVUFBa0IsRUFDbEIsT0FBbUIsS0FBSyxFQUN4QixlQUFlLEdBQUcsSUFBSSxFQUN0QixXQUFXLEdBQUcsS0FBSztJQUVuQixNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ1YsTUFBTSxpQ0FBYyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMxQyxNQUFNO1NBQ1A7UUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ1gsTUFBTSxpREFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbEQsTUFBTTtTQUNQO1FBQ0QsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUNWLE1BQU0sOEJBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN2RSxNQUFNO1NBQ1A7UUFDRCxPQUFPLENBQUMsQ0FBQztZQUNQLE1BQU0saUNBQWMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDMUMsTUFBTSxpREFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbEQsTUFBTSw4QkFBYSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3hFO0tBQ0Y7QUFDSCxDQUFDO0FBNUJELDRDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Db25maWdIYXNoLCBJY29uU2V0IH0gZnJvbSAnQGljb24tbWFnaWMvaWNvbi1tb2RlbHMnO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQGljb24tbWFnaWMvbG9nZ2VyJztcblxuaW1wb3J0IHsgY3JlYXRlSW1hZ2VTZXQgfSBmcm9tICcuL2NyZWF0ZS1pbWFnZS1zZXQnO1xuaW1wb3J0IHsgZGlzdHJpYnV0ZUJ5UmVzb2x1dGlvbiB9IGZyb20gJy4vZGlzdHJpYnV0ZS1ieS1yZXNvbHV0aW9uJztcbmltcG9ydCB7IGRpc3RyaWJ1dGVTdmcgfSBmcm9tICcuL2Rpc3RyaWJ1dGUtc3ZnJztcblxuY29uc3QgTE9HR0VSID0gbmV3IExvZ2dlcignaWNvbi1tYWdpYzpkaXN0cmlidXRlOmluZGV4Jyk7XG50eXBlIElDT05fVFlQRVMgPSAnc3ZnJyB8ICdwbmcnIHwgJ3dlYnAnIHwgJ2FsbCc7XG5cbi8qKlxuICogRGlzdHJpYnV0ZXMgYSBzZXQgb2YgaWNvbnMgdG8gdGhlIG91dHB1dCBmb2xkZXIgYmFzZWQgb24gdGhlIGZsYWdcbiAqIEBwYXJhbSBpY29uU2V0IHNldCBvZiBpY29ucyB0byBiZSBtb3ZlZCB0byB0aGUgb3V0cHV0IGZvbGRlclxuICogQHBhcmFtIG91dHB1dFBhdGggb3V0cHV0IGRpcmVjdG9yeSBwYXRoIHRvIGNvcHkgdGhlIGFzc2V0cyB0b1xuICogQHBhcmFtIHR5cGUgc3ZnLCBwbmcsIHdlYnAsIGFsbFxuICogQHBhcmFtIGdyb3VwQnlDYXRlZ29yeSAoZm9yIHNwcml0ZSBjcmVhdGlvbikgd2hldGhlciB0byBncm91cCBieSB0aGUgY2F0ZWdvcnkgYXR0cmlidXRlXG4gKiBAcmV0dW5zIHByb21pc2UgYWZ0ZXIgY29tcGxldGlvblxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGlzdHJpYnV0ZUJ5VHlwZShcbiAgaWNvbkNvbmZpZzogSWNvbkNvbmZpZ0hhc2gsXG4gIG91dHB1dFBhdGg6IHN0cmluZyxcbiAgdHlwZTogSUNPTl9UWVBFUyA9ICdhbGwnLFxuICBncm91cEJ5Q2F0ZWdvcnkgPSB0cnVlLFxuICBvdXRwdXRBc0hicyA9IGZhbHNlXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgTE9HR0VSLmRlYnVnKGBlbnRlcmluZyBkaXN0cmlidXRlIHdpdGggJHt0eXBlfWApO1xuICBjb25zdCBpY29uU2V0ID0gbmV3IEljb25TZXQoaWNvbkNvbmZpZywgdHJ1ZSk7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ3BuZyc6IHtcbiAgICAgIGF3YWl0IGNyZWF0ZUltYWdlU2V0KGljb25TZXQsIG91dHB1dFBhdGgpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgJ3dlYnAnOiB7XG4gICAgICBhd2FpdCBkaXN0cmlidXRlQnlSZXNvbHV0aW9uKGljb25TZXQsIG91dHB1dFBhdGgpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgJ3N2Zyc6IHtcbiAgICAgIGF3YWl0IGRpc3RyaWJ1dGVTdmcoaWNvblNldCwgb3V0cHV0UGF0aCwgZ3JvdXBCeUNhdGVnb3J5LCBvdXRwdXRBc0hicyk7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgYXdhaXQgY3JlYXRlSW1hZ2VTZXQoaWNvblNldCwgb3V0cHV0UGF0aCk7XG4gICAgICBhd2FpdCBkaXN0cmlidXRlQnlSZXNvbHV0aW9uKGljb25TZXQsIG91dHB1dFBhdGgpO1xuICAgICAgYXdhaXQgZGlzdHJpYnV0ZVN2ZyhpY29uU2V0LCBvdXRwdXRQYXRoLCBncm91cEJ5Q2F0ZWdvcnksIG91dHB1dEFzSGJzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseURBQWtFO0FBQ2xFLCtDQUE0QztBQUU1Qyx5REFBb0Q7QUFDcEQseUVBQW9FO0FBQ3BFLHFEQUFpRDtBQUVqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBR3pEOzs7Ozs7Ozs7R0FTRztBQUNJLEtBQUssVUFBVSxnQkFBZ0IsQ0FDcEMsVUFBMEIsRUFDMUIsVUFBa0IsRUFDbEIsT0FBbUIsS0FBSyxFQUN4QixlQUFlLEdBQUcsSUFBSSxFQUN0QixXQUFXLEdBQUcsS0FBSyxFQUNuQixjQUF3QixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFDekMsaUJBQWlCLEdBQUcsS0FBSztJQUV6QixNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixJQUFJLHNCQUFzQixXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLE1BQU0sT0FBTyxHQUFHLElBQUkscUJBQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUMsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ1YsTUFBTSxpQ0FBYyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMxQyxNQUFNO1NBQ1A7UUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDO1lBQ1gsTUFBTSxpREFBc0IsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDbEQsTUFBTTtTQUNQO1FBQ0QsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUNWLE1BQU0sOEJBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDdkcsTUFBTTtTQUNQO1FBQ0QsT0FBTyxDQUFDLENBQUM7WUFDUCxNQUFNLGlDQUFjLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzFDLE1BQU0saURBQXNCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sOEJBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixDQUFDLENBQUM7U0FDeEc7S0FDRjtBQUNILENBQUM7QUE5QkQsNENBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWNvbkNvbmZpZ0hhc2gsIEljb25TZXQgfSBmcm9tICdAaWNvbi1tYWdpYy9pY29uLW1vZGVscyc7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tICdAaWNvbi1tYWdpYy9sb2dnZXInO1xuXG5pbXBvcnQgeyBjcmVhdGVJbWFnZVNldCB9IGZyb20gJy4vY3JlYXRlLWltYWdlLXNldCc7XG5pbXBvcnQgeyBkaXN0cmlidXRlQnlSZXNvbHV0aW9uIH0gZnJvbSAnLi9kaXN0cmlidXRlLWJ5LXJlc29sdXRpb24nO1xuaW1wb3J0IHsgZGlzdHJpYnV0ZVN2ZyB9IGZyb20gJy4vZGlzdHJpYnV0ZS1zdmcnO1xuXG5jb25zdCBMT0dHRVIgPSBuZXcgTG9nZ2VyKCdpY29uLW1hZ2ljOmRpc3RyaWJ1dGU6aW5kZXgnKTtcbnR5cGUgSUNPTl9UWVBFUyA9ICdzdmcnIHwgJ3BuZycgfCAnd2VicCcgfCAnYWxsJztcblxuLyoqXG4gKiBEaXN0cmlidXRlcyBhIHNldCBvZiBpY29ucyB0byB0aGUgb3V0cHV0IGZvbGRlciBiYXNlZCBvbiB0aGUgZmxhZ1xuICogQHBhcmFtIGljb25TZXQgc2V0IG9mIGljb25zIHRvIGJlIG1vdmVkIHRvIHRoZSBvdXRwdXQgZm9sZGVyXG4gKiBAcGFyYW0gb3V0cHV0UGF0aCBvdXRwdXQgZGlyZWN0b3J5IHBhdGggdG8gY29weSB0aGUgYXNzZXRzIHRvXG4gKiBAcGFyYW0gdHlwZSBzdmcsIHBuZywgd2VicCwgYWxsXG4gKiBAcGFyYW0gZ3JvdXBCeUNhdGVnb3J5IChmb3Igc3ByaXRlIGNyZWF0aW9uKSB3aGV0aGVyIHRvIGdyb3VwIGJ5IHRoZSBjYXRlZ29yeSBhdHRyaWJ1dGVcbiAqIEBwYXJhbSBjb2xvclNjaGVtZSBhcnJheSBvZiBzdHJpbmdzIG1hdGNoaW5nIHRoZSBjb2xvclNjaGVtZSBhdHRyaWJ1dGVzIG9mIHRoZSBpY29uIGllOiBgbGlnaHRgLCBgZGFya2AsIGBtaXhlZGAuXG4gKiBAcGFyYW0gZG9Ob3RSZW1vdmVTdWZmaXggYm9vbGVhbiwgd2hlbiB0cnVlIHdpbGwga2VlcCB0aGUgXCItbWl4ZWRcIiBzdWZmaXggaW4gZmlsZSBuYW1lIHdoZW4gZGlzdHJpYnV0aW5nIHRvIGhicy5cbiAqIEByZXR1bnMgcHJvbWlzZSBhZnRlciBjb21wbGV0aW9uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkaXN0cmlidXRlQnlUeXBlKFxuICBpY29uQ29uZmlnOiBJY29uQ29uZmlnSGFzaCxcbiAgb3V0cHV0UGF0aDogc3RyaW5nLFxuICB0eXBlOiBJQ09OX1RZUEVTID0gJ2FsbCcsXG4gIGdyb3VwQnlDYXRlZ29yeSA9IHRydWUsXG4gIG91dHB1dEFzSGJzID0gZmFsc2UsXG4gIGNvbG9yU2NoZW1lOiBzdHJpbmdbXSA9IFsnbGlnaHQnLCAnZGFyayddLFxuICBkb05vdFJlbW92ZVN1ZmZpeCA9IGZhbHNlXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgTE9HR0VSLmRlYnVnKGBlbnRlcmluZyBkaXN0cmlidXRlIHdpdGggJHt0eXBlfSBhbmQgY29sb3JTY2hlbWVzOiAke2NvbG9yU2NoZW1lfWApO1xuICBjb25zdCBpY29uU2V0ID0gbmV3IEljb25TZXQoaWNvbkNvbmZpZywgdHJ1ZSk7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ3BuZyc6IHtcbiAgICAgIGF3YWl0IGNyZWF0ZUltYWdlU2V0KGljb25TZXQsIG91dHB1dFBhdGgpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgJ3dlYnAnOiB7XG4gICAgICBhd2FpdCBkaXN0cmlidXRlQnlSZXNvbHV0aW9uKGljb25TZXQsIG91dHB1dFBhdGgpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgJ3N2Zyc6IHtcbiAgICAgIGF3YWl0IGRpc3RyaWJ1dGVTdmcoaWNvblNldCwgb3V0cHV0UGF0aCwgZ3JvdXBCeUNhdGVnb3J5LCBvdXRwdXRBc0hicywgY29sb3JTY2hlbWUsIGRvTm90UmVtb3ZlU3VmZml4KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICBhd2FpdCBjcmVhdGVJbWFnZVNldChpY29uU2V0LCBvdXRwdXRQYXRoKTtcbiAgICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVJlc29sdXRpb24oaWNvblNldCwgb3V0cHV0UGF0aCk7XG4gICAgICBhd2FpdCBkaXN0cmlidXRlU3ZnKGljb25TZXQsIG91dHB1dFBhdGgsIGdyb3VwQnlDYXRlZ29yeSwgb3V0cHV0QXNIYnMsIGNvbG9yU2NoZW1lLCBkb05vdFJlbW92ZVN1ZmZpeCk7XG4gICAgfVxuICB9XG59XG4iXX0=
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.compareStrings = exports.removeResolutionFromName = exports.getIconFlavorsByType = exports.getAssetResolutionFromName = void 0;
/**

@@ -84,2 +85,2 @@ * The resolution of an asset is within the assets name as "@resolution"

exports.compareStrings = compareStrings;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQ3hDLEtBQVksRUFDWixVQUFvQjtJQUVwQixJQUFJLFVBQVUsQ0FBQztJQUNmLElBQUksS0FBSyxDQUFDO0lBQ1YsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDNUIsVUFBVSxHQUFHLGVBQWUsQ0FBQztZQUM3QixLQUFLLEdBQUcsTUFBTSxDQUFDO1lBQ2YsTUFBTTtTQUNQO1FBQ0QsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzFCLFVBQVUsR0FBRyxlQUFlLENBQUM7WUFDN0IsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNiLE1BQU07U0FDUDtRQUNELEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxQixVQUFVLEdBQUcsZ0JBQWdCLENBQUM7WUFDOUIsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNiLE1BQU07U0FDUDtRQUNELEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxQixVQUFVLEdBQUcsaUJBQWlCLENBQUM7WUFDL0IsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNiLE1BQU07U0FDUDtRQUNELE9BQU8sQ0FBQyxDQUFDO1lBQ1AsVUFBVSxHQUFHLGtCQUFrQixDQUFDO1lBQ2hDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixNQUFNO1NBQ1A7S0FDRjtJQUNELE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztBQUN6QyxDQUFDO0FBbENELGdFQWtDQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLElBQVUsRUFBRSxJQUFnQjtJQUMvRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNyQyxNQUFNLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQztTQUNELEdBQUcsQ0FBQyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFVLENBQUMsQ0FBQyxDQUFDLGlGQUFpRjtBQUNoSixDQUFDO0FBTkQsb0RBTUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQUMsUUFBZ0I7SUFDdkQsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDekYsQ0FBQztBQUZELDREQUVDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixjQUFjLENBQUMsT0FBZSxFQUFFLE9BQWU7SUFDN0QsSUFBSSxPQUFPLEdBQUcsT0FBTyxFQUFFO1FBQ3JCLE9BQU8sQ0FBQyxDQUFDLENBQUM7S0FDWDtJQUNELElBQUksT0FBTyxHQUFHLE9BQU8sRUFBRTtRQUNyQixPQUFPLENBQUMsQ0FBQztLQUNWO0lBQ0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBUkQsd0NBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3NldCwgRmxhdm9yLCBGbGF2b3JUeXBlLCBJY29uIH0gZnJvbSAnQGljb24tbWFnaWMvaWNvbi1tb2RlbHMnO1xuXG4vKipcbiAqIFRoZSByZXNvbHV0aW9uIG9mIGFuIGFzc2V0IGlzIHdpdGhpbiB0aGUgYXNzZXRzIG5hbWUgYXMgXCJAcmVzb2x1dGlvblwiXG4gKiBUaGlzIGZ1bmN0aW9uIG1hdGNoZXMgdGhlIG5hbWUgYWdhaW5zdCBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgYW5kIHJldHVybnMgdGhlXG4gKiBhcHByb3ByaWF0ZSBzY2FsZSBvciByZXNvbHV0aW9uXG4gKiBAcGFyYW0gYXNzZXQgdGhlIGFzc2V0IHdob3NlIHJlc29sdXRpb24gbmVlZHMgdG8gYmUgZGV0ZXJtaW5lZFxuICogQHBhcmFtIGdldEFzU2NhbGUgQm9vbGVhbiBmb3IgcmV0dXJuaW5nIHRoZSBzY2FsZSBpbnN0ZWFkIG9mIHRoZSByZXNvbHV0aW9uXG4gKiBAcmV0dXJucyBlaXRoZXIgdGhlIHJlc29sdXRpb24gb3Igc2NhbGUgZGVwZW5kaW5nIG9uIHRoZSBib29sZWFuIGdldEFzU2NhbGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFzc2V0UmVzb2x1dGlvbkZyb21OYW1lKFxuICBhc3NldDogQXNzZXQsXG4gIGdldEFzU2NhbGU/OiBCb29sZWFuXG4pOiBzdHJpbmcge1xuICBsZXQgcmVzb2x1dGlvbjtcbiAgbGV0IHNjYWxlO1xuICBzd2l0Y2ggKHRydWUpIHtcbiAgICBjYXNlIC9AMS41Ly50ZXN0KGFzc2V0Lm5hbWUpOiB7XG4gICAgICByZXNvbHV0aW9uID0gJ2RyYXdhYmxlLWhkcGknO1xuICAgICAgc2NhbGUgPSAnMS41eCc7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAvQDEvLnRlc3QoYXNzZXQubmFtZSk6IHtcbiAgICAgIHJlc29sdXRpb24gPSAnZHJhd2FibGUtbWRwaSc7XG4gICAgICBzY2FsZSA9ICcxeCc7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgY2FzZSAvQDIvLnRlc3QoYXNzZXQubmFtZSk6IHtcbiAgICAgIHJlc29sdXRpb24gPSAnZHJhd2FibGUteGhkcGknO1xuICAgICAgc2NhbGUgPSAnMngnO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgL0AzLy50ZXN0KGFzc2V0Lm5hbWUpOiB7XG4gICAgICByZXNvbHV0aW9uID0gJ2RyYXdhYmxlLXh4aGRwaSc7XG4gICAgICBzY2FsZSA9ICczeCc7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgcmVzb2x1dGlvbiA9ICdkcmF3YWJsZS14eHhoZHBpJztcbiAgICAgIHNjYWxlID0gJzR4JztcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZ2V0QXNTY2FsZSA/IHNjYWxlIDogcmVzb2x1dGlvbjtcbn1cblxuLyoqXG4gKiBFdmVyeSBpY29uIGhhcyBhIHNldCBvZiBmbGF2b3JzIGFuZCBlYWNoIGZsYXZvciBjYW4gaGF2ZSBvbmUgb3IgbW9yZSB0eXBlcy5cbiAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aG9zZSBmbGF2b3JzIHRoYXQgY29udGFpbiBhIGNlcnRhaW4gdHlwZVxuICogQHBhcmFtIGljb24gSWNvbiB3aG9zZSBmbGF2b3JzIGFyZSB0byBiZSByZXR1cm5lZFxuICogQHBhcmFtIHR5cGUgVGhlIHR5cGUgdG8gd2hpY2ggdG8gZmlsdGVyIHRoZSBpY29uJ3MgZmxhdm9ycyBieVxuICogQHJldHVybnMgYSBsaXN0IG9mIGZsYXZvcnMgdGhhdCBjb250YWluIGFzc2V0cyBvZiBcInR5cGVcIlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SWNvbkZsYXZvcnNCeVR5cGUoaWNvbjogSWNvbiwgdHlwZTogRmxhdm9yVHlwZSk6IEFzc2V0W10ge1xuICByZXR1cm4gQXJyYXkuZnJvbShpY29uLmZsYXZvcnMudmFsdWVzKCkpXG4gICAgLmZpbHRlcigoZmxhdm9yOiBGbGF2b3IpID0+IHtcbiAgICAgIHJldHVybiBmbGF2b3IudHlwZXMuaGFzKHR5cGUpO1xuICAgIH0pXG4gICAgLm1hcCgoZmxhdm9yOiBGbGF2b3IpID0+IGZsYXZvci50eXBlcy5nZXQodHlwZSkgYXMgQXNzZXQpOyAvLyB0eXBlIGNhc3RpbmcgaGVyZSBhcyB3ZSBoYXZlIGNoZWNrZWQgZm9yIHdoZXRoZXIgdGhlIGZsYXZvciBoYXMgdGhlIHR5cGUgYWJvdmVcbn1cblxuLyoqXG4gKiBTdHJpcHMgcmVzb2x1dGlvbiBmcm9tIGljb24gbmFtZVxuICogQHBhcmFtIGljb25OYW1lIG5hbWUgdG8gc3RyaXAgcmVzb2x1dGlvbiBmcm9tXG4gKiBAcmV0dXJucyBhIHN0cmluZyB3aXRoIHRoZSByZXNvbHV0aW9uIHN0cmlwcGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVSZXNvbHV0aW9uRnJvbU5hbWUoaWNvbk5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBpY29uTmFtZS5pbmNsdWRlcygnQCcpID8gaWNvbk5hbWUucmVwbGFjZSgvKC0pP0BbMC05XSguWzAtOV0pPy8sICcnKSA6IGljb25OYW1lO1xufVxuXG4vKipcbiAqIENvbXBhcmVzIHR3byBzdHJpbmdzXG4gKiBAcGFyYW0gbmFtZU9uZSBzdHJpbmcgdG8gY29tcGFyZVxuICogQHBhcmFtIG5hbWVUd28gc3RyaW5nIHRvIGNvbXBhcmVcbiAqIEByZXR1cm5zIGEgbnVtYmVyIGZyb20gd2hpY2ggc3RyaW5ncyB3aWxsIGJlIHNvcnRlZCBhZ2FpbnN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlU3RyaW5ncyhuYW1lT25lOiBzdHJpbmcsIG5hbWVUd286IHN0cmluZyk6IG51bWJlciB7XG4gIGlmIChuYW1lT25lIDwgbmFtZVR3bykge1xuICAgIHJldHVybiAtMTtcbiAgfVxuICBpZiAobmFtZU9uZSA+IG5hbWVUd28pIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICByZXR1cm4gMDtcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLDBCQUEwQixDQUN4QyxLQUFZLEVBQ1osVUFBb0I7SUFFcEIsSUFBSSxVQUFVLENBQUM7SUFDZixJQUFJLEtBQUssQ0FBQztJQUNWLFFBQVEsSUFBSSxFQUFFO1FBQ1osS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQzVCLFVBQVUsR0FBRyxlQUFlLENBQUM7WUFDN0IsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUNmLE1BQU07U0FDUDtRQUNELEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxQixVQUFVLEdBQUcsZUFBZSxDQUFDO1lBQzdCLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixNQUFNO1NBQ1A7UUFDRCxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUIsVUFBVSxHQUFHLGdCQUFnQixDQUFDO1lBQzlCLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixNQUFNO1NBQ1A7UUFDRCxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDMUIsVUFBVSxHQUFHLGlCQUFpQixDQUFDO1lBQy9CLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixNQUFNO1NBQ1A7UUFDRCxPQUFPLENBQUMsQ0FBQztZQUNQLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQztZQUNoQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsTUFBTTtTQUNQO0tBQ0Y7SUFDRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7QUFDekMsQ0FBQztBQWxDRCxnRUFrQ0M7QUFFRDs7Ozs7O0dBTUc7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxJQUFVLEVBQUUsSUFBZ0I7SUFDL0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDckMsTUFBTSxDQUFDLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDekIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7U0FDRCxHQUFHLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBVSxDQUFDLENBQUMsQ0FBQyxpRkFBaUY7QUFDaEosQ0FBQztBQU5ELG9EQU1DO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLHdCQUF3QixDQUFDLFFBQWdCO0lBQ3ZELE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0FBQ3pGLENBQUM7QUFGRCw0REFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsY0FBYyxDQUFDLE9BQWUsRUFBRSxPQUFlO0lBQzdELElBQUksT0FBTyxHQUFHLE9BQU8sRUFBRTtRQUNyQixPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ1g7SUFDRCxJQUFJLE9BQU8sR0FBRyxPQUFPLEVBQUU7UUFDckIsT0FBTyxDQUFDLENBQUM7S0FDVjtJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQVJELHdDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZXQsIEZsYXZvciwgRmxhdm9yVHlwZSwgSWNvbiB9IGZyb20gJ0BpY29uLW1hZ2ljL2ljb24tbW9kZWxzJztcblxuLyoqXG4gKiBUaGUgcmVzb2x1dGlvbiBvZiBhbiBhc3NldCBpcyB3aXRoaW4gdGhlIGFzc2V0cyBuYW1lIGFzIFwiQHJlc29sdXRpb25cIlxuICogVGhpcyBmdW5jdGlvbiBtYXRjaGVzIHRoZSBuYW1lIGFnYWluc3QgZGlmZmVyZW50IHJlc29sdXRpb25zIGFuZCByZXR1cm5zIHRoZVxuICogYXBwcm9wcmlhdGUgc2NhbGUgb3IgcmVzb2x1dGlvblxuICogQHBhcmFtIGFzc2V0IHRoZSBhc3NldCB3aG9zZSByZXNvbHV0aW9uIG5lZWRzIHRvIGJlIGRldGVybWluZWRcbiAqIEBwYXJhbSBnZXRBc1NjYWxlIEJvb2xlYW4gZm9yIHJldHVybmluZyB0aGUgc2NhbGUgaW5zdGVhZCBvZiB0aGUgcmVzb2x1dGlvblxuICogQHJldHVybnMgZWl0aGVyIHRoZSByZXNvbHV0aW9uIG9yIHNjYWxlIGRlcGVuZGluZyBvbiB0aGUgYm9vbGVhbiBnZXRBc1NjYWxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBc3NldFJlc29sdXRpb25Gcm9tTmFtZShcbiAgYXNzZXQ6IEFzc2V0LFxuICBnZXRBc1NjYWxlPzogQm9vbGVhblxuKTogc3RyaW5nIHtcbiAgbGV0IHJlc29sdXRpb247XG4gIGxldCBzY2FsZTtcbiAgc3dpdGNoICh0cnVlKSB7XG4gICAgY2FzZSAvQDEuNS8udGVzdChhc3NldC5uYW1lKToge1xuICAgICAgcmVzb2x1dGlvbiA9ICdkcmF3YWJsZS1oZHBpJztcbiAgICAgIHNjYWxlID0gJzEuNXgnO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgL0AxLy50ZXN0KGFzc2V0Lm5hbWUpOiB7XG4gICAgICByZXNvbHV0aW9uID0gJ2RyYXdhYmxlLW1kcGknO1xuICAgICAgc2NhbGUgPSAnMXgnO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNhc2UgL0AyLy50ZXN0KGFzc2V0Lm5hbWUpOiB7XG4gICAgICByZXNvbHV0aW9uID0gJ2RyYXdhYmxlLXhoZHBpJztcbiAgICAgIHNjYWxlID0gJzJ4JztcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjYXNlIC9AMy8udGVzdChhc3NldC5uYW1lKToge1xuICAgICAgcmVzb2x1dGlvbiA9ICdkcmF3YWJsZS14eGhkcGknO1xuICAgICAgc2NhbGUgPSAnM3gnO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJlc29sdXRpb24gPSAnZHJhd2FibGUteHh4aGRwaSc7XG4gICAgICBzY2FsZSA9ICc0eCc7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGdldEFzU2NhbGUgPyBzY2FsZSA6IHJlc29sdXRpb247XG59XG5cbi8qKlxuICogRXZlcnkgaWNvbiBoYXMgYSBzZXQgb2YgZmxhdm9ycyBhbmQgZWFjaCBmbGF2b3IgY2FuIGhhdmUgb25lIG9yIG1vcmUgdHlwZXMuXG4gKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhvc2UgZmxhdm9ycyB0aGF0IGNvbnRhaW4gYSBjZXJ0YWluIHR5cGVcbiAqIEBwYXJhbSBpY29uIEljb24gd2hvc2UgZmxhdm9ycyBhcmUgdG8gYmUgcmV0dXJuZWRcbiAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIHRvIHdoaWNoIHRvIGZpbHRlciB0aGUgaWNvbidzIGZsYXZvcnMgYnlcbiAqIEByZXR1cm5zIGEgbGlzdCBvZiBmbGF2b3JzIHRoYXQgY29udGFpbiBhc3NldHMgb2YgXCJ0eXBlXCJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEljb25GbGF2b3JzQnlUeXBlKGljb246IEljb24sIHR5cGU6IEZsYXZvclR5cGUpOiBBc3NldFtdIHtcbiAgcmV0dXJuIEFycmF5LmZyb20oaWNvbi5mbGF2b3JzLnZhbHVlcygpKVxuICAgIC5maWx0ZXIoKGZsYXZvcjogRmxhdm9yKSA9PiB7XG4gICAgICByZXR1cm4gZmxhdm9yLnR5cGVzLmhhcyh0eXBlKTtcbiAgICB9KVxuICAgIC5tYXAoKGZsYXZvcjogRmxhdm9yKSA9PiBmbGF2b3IudHlwZXMuZ2V0KHR5cGUpIGFzIEFzc2V0KTsgLy8gdHlwZSBjYXN0aW5nIGhlcmUgYXMgd2UgaGF2ZSBjaGVja2VkIGZvciB3aGV0aGVyIHRoZSBmbGF2b3IgaGFzIHRoZSB0eXBlIGFib3ZlXG59XG5cbi8qKlxuICogU3RyaXBzIHJlc29sdXRpb24gZnJvbSBpY29uIG5hbWVcbiAqIEBwYXJhbSBpY29uTmFtZSBuYW1lIHRvIHN0cmlwIHJlc29sdXRpb24gZnJvbVxuICogQHJldHVybnMgYSBzdHJpbmcgd2l0aCB0aGUgcmVzb2x1dGlvbiBzdHJpcHBlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlUmVzb2x1dGlvbkZyb21OYW1lKGljb25OYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gaWNvbk5hbWUuaW5jbHVkZXMoJ0AnKSA/IGljb25OYW1lLnJlcGxhY2UoLygtKT9AWzAtOV0oLlswLTldKT8vLCAnJykgOiBpY29uTmFtZTtcbn1cblxuLyoqXG4gKiBDb21wYXJlcyB0d28gc3RyaW5nc1xuICogQHBhcmFtIG5hbWVPbmUgc3RyaW5nIHRvIGNvbXBhcmVcbiAqIEBwYXJhbSBuYW1lVHdvIHN0cmluZyB0byBjb21wYXJlXG4gKiBAcmV0dXJucyBhIG51bWJlciBmcm9tIHdoaWNoIHN0cmluZ3Mgd2lsbCBiZSBzb3J0ZWQgYWdhaW5zdFxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tcGFyZVN0cmluZ3MobmFtZU9uZTogc3RyaW5nLCBuYW1lVHdvOiBzdHJpbmcpOiBudW1iZXIge1xuICBpZiAobmFtZU9uZSA8IG5hbWVUd28pIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cbiAgaWYgKG5hbWVPbmUgPiBuYW1lVHdvKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgcmV0dXJuIDA7XG59Il19

@@ -5,2 +5,3 @@ "use strict";

const assert = require("assert");
const recast = require("ember-template-recast");
const fs = require("fs-extra");

@@ -308,2 +309,43 @@ const path = require("path");

});
it('...attributes comes before certain attributes in hbs files', async () => {
try {
const files = fs.readdirSync(`${output}/its-ui`);
assert.ok(files.includes('animal-small.hbs'));
assert.ok(files.includes('animal-large.hbs'));
const content = fs.readFileSync(`${output}/animal-small.hbs`, 'utf8');
const ast = recast.parse(content);
if (ast.body[0].type === 'ElementNode') {
const attrs = ast.body[0].attributes;
const firstAttr = attrs[0];
assert.ok(firstAttr.name === '...attributes');
}
}
catch (err) {
assert.ok(false, err);
}
});
it('it trims "-mixed" from end of hbs file name', async () => {
const iconSetWordmark = configReader.getIconConfigSet(new Array(path.resolve(FIXTURES, 'input/wordmark')));
await src_1.distributeByType(iconSetWordmark, `${output}/wordmark`, 'svg', false, true, ['mixed'], false);
try {
const files = fs.readdirSync(`${output}/wordmark`);
assert.ok(files.includes('wordmark-large.hbs'));
assert.ok(files.includes('wordmark-medium.hbs'));
}
catch (err) {
assert.ok(false, err);
}
});
it('it does not trim "-mixed" from end of hbs file name', async () => {
const iconSetWordmark = configReader.getIconConfigSet(new Array(path.resolve(FIXTURES, 'input/wordmark')));
await src_1.distributeByType(iconSetWordmark, `${output}/wordmark/untrimmed`, 'svg', false, true, ['mixed'], true);
try {
const files = fs.readdirSync(`${output}/wordmark/untrimmed`);
assert.ok(files.includes('wordmark-large-mixed.hbs'));
assert.ok(files.includes('wordmark-medium-mixed.hbs'));
}
catch (err) {
assert.ok(false, err);
}
});
it('sprites are always arranged alphabetically', async () => {

@@ -330,2 +372,2 @@ await src_1.distributeByType(iconSet, output, 'svg', true);

});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvaW5kZXgtdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBEQUEwRDtBQUMxRCxpQ0FBaUM7QUFDakMsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFFbkMsZ0NBQTBDO0FBRTFDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzdDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBRWhFLFFBQVEsQ0FBQyw4QkFBOEIsRUFBRTtJQUN2QyxFQUFFLENBQUMscURBQXFELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDbkUsTUFBTSxzQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNLFFBQVEsR0FBRyxHQUFHLE1BQU0sbUJBQW1CLENBQUM7UUFDOUMsSUFBSTtZQUNGLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsb0JBQW9CLENBQUMsQ0FBQzthQUM1QztpQkFBTTtnQkFDTCxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLFFBQVEsd0JBQXdCLENBQUMsQ0FBQzthQUN2RDtTQUNGO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFD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MkJBQTJCLENBQUMsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRztnQkFDYixjQUFjO2dCQUNkLGNBQWM7YUFDZixDQUFDO1lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDbEIsTUFBTSxDQUFDLEVBQUUsQ0FDUCxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUN0QixxQ0FBcUMsQ0FDdEMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLEtBQUssQ0FDVixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFDbEMsaUNBQWlDLENBQ2xDLENBQUM7U0FDSDtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkI7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uZmlnUmVhZGVyIGZyb20gJ0BpY29uLW1hZ2ljL2NvbmZpZy1yZWFkZXInO1xuaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRE9NUGFyc2VyIH0gZnJvbSAneG1sZG9tJztcblxuaW1wb3J0IHsgZGlzdHJpYnV0ZUJ5VHlwZSB9IGZyb20gJy4uL3NyYyc7XG5cbmNvbnN0IEZJWFRVUkVTID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ3Rlc3QnLCAnZml4dHVyZXMnKTtcbmNvbnN0IGlucHV0ID0gcGF0aC5yZXNvbHZlKEZJWFRVUkVTLCAnaW5wdXQnKTtcbmNvbnN0IG91dHB1dCA9IHBhdGgucmVzb2x2ZShGSVhUVVJFUywgJ291dCcpO1xuY29uc3QgaWNvblNldCA9IGNvbmZpZ1JlYWRlci5nZXRJY29uQ29uZmlnU2V0KG5ldyBBcnJheShpbnB1dCkpO1xuXG5kZXNjcmliZSgnZGlzdHJpYnV0ZSB3b3JrcyBhcyBleHBlY3RlZCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ01vdmVzIGFsbCAud2VicCBmaWxlcyB0byB0aGUgcmlnaHQgb3V0cHV0IGRpcmVjdG9yeScsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXQsIG91dHB1dCwgJ3dlYnAnLCBmYWxzZSk7XG4gICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L2RyYXdhYmxlLXh4eGhkcGlgO1xuICAgIHRyeSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhpY29uUGF0aCkpIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGAke2ljb25QYXRofSBkaXIgd2FzIGdlbmVyYXRlZGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBgJHtpY29uUGF0aH0gZGlyIHdhcyBub3QgZ2VuZXJhdGVkYCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGAke2Vycn0gcmVhZGluZyAke2ljb25QYXRofWApO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJy53ZWJwIGZpbGVzIGFyZSBpbiB0aGUgcmlnaHQgb3V0cHV0IGRpcmVjdG9yeScsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXQsIG91dHB1dCwgJ3dlYnAnLCBmYWxzZSk7XG4gICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L2RyYXdhYmxlLXh4eGhkcGlgO1xuICAgIGNvbnN0IGljb25zID0gW1xuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fZmlsbGVkXzFfZmlsbGVkXzI0eDEyJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdpY191aXhfaWNvbl9maWxsZWRfMl9maWxsZWRfMjR4MTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpeHhfaWNvbl9maWxsZWRfM19maWxsZWRfMjR4MTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fZmlsbGVkXzFfZmlsbGVkXzYweDYwJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdpY191aV9pY29uX2ZpbGxlZF80X2ZpbGxlZF8yNHgxMidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb25OYW1lOiAnaWNfdWlfaWNvbl9maWxsZWRfNF9maWxsZWRfNjB4NjAnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fMl9maWxsZWRfNl9maWxsZWRfMjR4MTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fMl9maWxsZWRfNl9maWxsZWRfNjB4NjAnXG4gICAgICB9XG4gICAgXTtcbiAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGljb25QYXRoKTtcbiAgICBpY29ucy5mb3JFYWNoKGljb24gPT4ge1xuICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICBmaWxlcy5pbmNsdWRlcyhgJHtpY29uLmljb25OYW1lfS53ZWJwYCksXG4gICAgICAgIGBpbmNsdWRlcyAke2ljb24uaWNvbk5hbWV9LndlYnBgXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBpdCgnTW92ZXMgYWxsIC5wbmcgZmlsZXMgdG8gdGhlIG91dHB1dCBkaXJlY3RvcnknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgaWNvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGljb25OYW1lOiAnZmlsbGVkXzFfZmlsbGVkXzI0eDEyJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdmaWxsZWRfMl9maWxsZWRfMjR4MTInLFxuICAgICAgICBjYXRlZ29yeTogJ3VpeC1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdmaWxsZWRfM19maWxsZWRfMjR4MTInLFxuICAgICAgICBjYXRlZ29yeTogJ3VpeHgtaWNvbidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb25OYW1lOiAnZmlsbGVkXzFfZmlsbGVkXzYweDYwJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfVxuICAgIF07XG4gICAgYXdhaXQgZGlzdHJpYnV0ZUJ5VHlwZShpY29uU2V0LCBvdXRwdXQsICdwbmcnLCBmYWxzZSk7XG5cbiAgICBpY29ucy5mb3JFYWNoKGljb24gPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9LyR7aWNvbi5jYXRlZ29yeX0vJHtpY29uLmNhdGVnb3J5fV8ke2ljb24uaWNvbk5hbWV9LmltYWdlc2V0YDtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoaWNvblBhdGgpKSB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKGAke2ljb25QYXRofSBkaXIgd2FzIGdlbmVyYXRlZGApO1xuICAgICAgICAgIGNvbnN0IGZpbGVzID0gZnMucmVhZGRpclN5bmMoaWNvblBhdGgpO1xuICAgICAgICAgIGFzc2VydC5vayhcbiAgICAgICAgICAgIGZpbGVzLmluZGV4T2YoJ0NvbnRlbnRzLmpzb24nKSA+IC0xLFxuICAgICAgICAgICAgJ0NvbnRlbnRzLmpzb24gd2FzIGdlbmVyYXRlZCdcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3QgY29udGVudHNKc29uSW1hZ2VzID0gZnMucmVhZEpzb25TeW5jKHBhdGguam9pbihpY29uUGF0aCwgJ0NvbnRlbnRzLmpzb24nKSkuaW1hZ2VzO1xuICAgICAgICAgIGFzc2VydC5vayhBcnJheS5pc0FycmF5KGNvbnRlbnRzSnNvbkltYWdlcyksICdDb250ZW50cy5qc29uIGlzIGZpbGxlZCB3aXRoIGFuIGFycmF5IGNhbGxlZCBpbWFnZXMnKTtcbiAgICAgICAgICBhc3NlcnQub2soY29udGVudHNKc29uSW1hZ2VzLmZpbmQoKGVudHJ5OiB7IGZpbGVuYW1lOiBzdHJpbmc7IH0pID0+IGVudHJ5LmZpbGVuYW1lID09PSBgJHtpY29uLmNhdGVnb3J5fV8ke2ljb24uaWNvbk5hbWV9QDIucG5nYCkpO1xuXG4gICAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgICAgZmlsZXMuaW5kZXhPZihgJHtpY29uLmNhdGVnb3J5fV8ke2ljb24uaWNvbk5hbWV9QDIucG5nYCkgPiAtMSxcbiAgICAgICAgICAgIGAke2ljb24uY2F0ZWdvcnl9XyR7aWNvbi5pY29uTmFtZX1AMi5wbmcgd2FzIGNyZWF0ZWRgXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQub2soZmFsc2UsIGBNaXNzaW5nIGZpbGVzIGZvciAke2ljb25QYXRofWApO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBpdCgnTW92ZXMgYWxsIGRhcmsgLnBuZyBmaWxlcyB0byB0aGUgb3V0cHV0IGRpcmVjdG9yeSBhcyBleHBlY3RlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHBhdGgucmVzb2x2ZShGSVhUVVJFUywgJ2lucHV0L2NvbXBhbnknKTtcbiAgICBjb25zdCBvdXRwdXQgPSBwYXRoLnJlc29sdmUoRklYVFVSRVMsICdvdXQnKTtcbiAgICBjb25zdCBpY29uU2V0ID0gY29uZmlnUmVhZGVyLmdldEljb25Db25maWdTZXQobmV3IEFycmF5KGlucHV0KSk7XG5cbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXQsIG91dHB1dCwgJ3BuZycsIGZhbHNlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L2VudGl0eS1iYWNrZ3JvdW5kcy9lbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0XzIwNDh4NTEyLmltYWdlc2V0YDtcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGljb25QYXRoKSkge1xuICAgICAgICBhc3NlcnQub2soYCR7aWNvblBhdGh9IGRpciB3YXMgZ2VuZXJhdGVkYCk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZnMucmVhZGRpclN5bmMoaWNvblBhdGgpO1xuICAgICAgICBhc3NlcnQub2soXG4gICAgICAgICAgZmlsZXMuaW5kZXhPZignQ29udGVudHMuanNvbicpID4gLTEsXG4gICAgICAgICAgJ0NvbnRlbnRzLmpzb24gd2FzIGdlbmVyYXRlZCdcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjb250ZW50c0pzb25JbWFnZXMgPSBmcy5yZWFkSnNvblN5bmMocGF0aC5qb2luKGljb25QYXRoLCAnQ29udGVudHMuanNvbicpKS5pbWFnZXM7XG4gICAgICAgIGFzc2VydC5vayhBcnJheS5pc0FycmF5KGNvbnRlbnRzSnNvbkltYWdlcyksICdDb250ZW50cy5qc29uIGlzIGZpbGxlZCB3aXRoIGFuIGFycmF5IGNhbGxlZCBpbWFnZXMnKTtcbiAgICAgICAgY29uc3QgZGFya0ltYWdlID0gY29udGVudHNKc29uSW1hZ2VzLmZpbmQoKGVudHJ5OiB7IGZpbGVuYW1lOiBzdHJpbmc7IH0pID0+XG4gICAgICAgICAgZW50cnkuZmlsZW5hbWUgPT09IGBlbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0X29uX2RhcmtfMjA0OHg1MTJAMi5wbmdgXG4gICAgICAgICk7XG5cbiAgICAgICAgYXNzZXJ0Lm9rKHR5cGVvZiBkYXJrSW1hZ2UgPT09ICdvYmplY3QnLCAnRGFyayBpY29ucyBpbiBjb250ZW50cy5qc29uJyk7XG4gICAgICAgIGFzc2VydC5vayhkYXJrSW1hZ2UuYXBwZWFyYW5jZXMubGVuZ3RoID4gMCwgJ0hhcyBhcHBlYXJhbmNlcyBhcnJheScpO1xuXG4gICAgICAgIGFzc2VydC5vayhjb250ZW50c0pzb25JbWFnZXMuZmluZCgoZW50cnk6IHsgZmlsZW5hbWU6IHN0cmluZzsgfSkgPT4gZW50cnkuZmlsZW5hbWUgPT09IGBlbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0XzIwNDh4NTEyQDIucG5nYCkpO1xuXG4gICAgICAgIGFzc2VydC5vayhcbiAgICAgICAgICBmaWxlcy5pbmRleE9mKGBlbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0XzIwNDh4NTEyQDIucG5nYCkgPiAtMSxcbiAgICAgICAgICBgZW50aXR5LWJhY2tncm91bmRzX2NvbXBhbnlfZGVmYXVsdF8yMDQ4eDUxMkAyLnBuZyB3YXMgY3JlYXRlZGBcbiAgICAgICAgKTtcbiAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgIGZpbGVzLmluZGV4T2YoYGVudGl0eS1iYWNrZ3JvdW5kc19jb21wYW55X2RlZmF1bHRfb25fZGFya18yMDQ4eDUxMkAyLnBuZ2ApID4gLTEsXG4gICAgICAgICAgYGVudGl0eS1iYWNrZ3JvdW5kc19jb21wYW55X2RlZmF1bHRfb25fZGFya18yMDQ4eDUxMkAyLnBuZyB3YXMgY3JlYXRlZGBcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2VydC5vayhmYWxzZSwgYE1pc3NpbmcgZmlsZXMgZm9yICR7aWNvblBhdGh9YCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY3JlYXRlcyB0aGUgc3ByaXRlIGZpbGVzJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVR5cGUoaWNvblNldCwgb3V0cHV0LCAnc3ZnJywgdHJ1ZSk7XG4gICAgY29uc3Qgc3ByaXRlUGF0aHMgPSBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdpY29ucy5zdmcnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMS5zdmcnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMi5zdmcnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMy5zdmcnXG4gICAgICB9XG4gICAgXTtcbiAgICBzcHJpdGVQYXRocy5mb3JFYWNoKHAgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoYCR7b3V0cHV0fS8ke3AucGF0aH1gKSkge1xuICAgICAgICAgIGFzc2VydC5vayhgJHtwfSB3YXMgZ2VuZXJhdGVkYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBgJHtwfSB3YXMgbm90IGdlbmVyYXRlZGApO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBgJHtwfSB3YXMgbm90IGdlbmVyYXRlZDogJHtlcnJ9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzcHJpdGUgZmlsZXMgY29udGFpbiBkZWZzIHdpdGggY2F0ZWdvcnkgZm9yIElEJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVR5cGUoaWNvblNldCwgb3V0cHV0LCAnc3ZnJywgdHJ1ZSk7XG4gICAgY29uc3Qgc3ByaXRlUGF0aHMgPSBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdpY29ucycsXG4gICAgICAgIGlkOiAnYS1ob21lLWZpbGxlZC0xJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zJyxcbiAgICAgICAgaWQ6ICdwb2ludC1kZWZhdWx0JyxcbiAgICAgICAgY2F0ZWdvcnk6ICdhcHAnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMnLFxuICAgICAgICBpZDogJ3BvaW50LWRlZmF1bHQtMicsXG4gICAgICAgIGNhdGVnb3J5OiAnYXBwJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zJyxcbiAgICAgICAgaWQ6ICdhZHMtZGVmYXVsdCcsXG4gICAgICAgIGNhdGVnb3J5OiAnYXBwJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zJyxcbiAgICAgICAgaWQ6ICdhZHMtZGVmYXVsdC0yJyxcbiAgICAgICAgY2F0ZWdvcnk6ICdhcHAnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMicsXG4gICAgICAgIGlkOiAnYi1ob21lLWZpbGxlZC00JyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTEnLFxuICAgICAgICBpZDogJ2MtaG9tZS1maWxsZWQtOCcsXG4gICAgICAgIGNhdGVnb3J5OiAndWktaWNvbi0yJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTEnLFxuICAgICAgICBpZDogJ2MtaG9tZS1maWxsZWQtODgtOScsXG4gICAgICAgIGNhdGVnb3J5OiAndWktaWNvbi0zJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTEnLFxuICAgICAgICBpZDogJ2MtaG9tZS1maWxsZWQtODg5JyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uLTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMicsXG4gICAgICAgIGlkOiAnaG9tZS1maWxsZWQtMicsXG4gICAgICAgIGNhdGVnb3J5OiAndWl4LWljb24nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMicsXG4gICAgICAgIGlkOiAnaG9tZS1maWxsZWQtMzMzJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTMnLFxuICAgICAgICBpZDogJ2hvbWUtZmlsbGVkLTMzMycsXG4gICAgICAgIGNhdGVnb3J5OiAndWktaWNvbidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdpY29ucy0zJyxcbiAgICAgICAgaWQ6ICdob21lLWZpbGxlZC0zJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aXh4LWljb24nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMycsXG4gICAgICAgIGlkOiAnaG9tZS1maWxsZWQtMzMnLFxuICAgICAgICBjYXRlZ29yeTogJ3VpeHgtaWNvbidcbiAgICAgIH1cbiAgICBdO1xuICAgIHNwcml0ZVBhdGhzLmZvckVhY2gocCA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGAke291dHB1dH0vJHtwLnBhdGh9LnN2Z2AsICd1dGY4Jyk7XG4gICAgICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoY29udGVudCwgJ3N2ZycpO1xuICAgICAgICBjb25zdCBkb2NJZE5vZGUgPSBkb2MuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZU5vZGUoJ2lkJyk7XG4gICAgICAgIGFzc2VydC5vayhkb2NJZE5vZGUgJiYgZG9jSWROb2RlLnZhbHVlID09PSBwLnBhdGgsICdzdmcgaGFzIElEJyk7XG5cbiAgICAgICAgY29uc3QgZGVmcyA9IGRvYy5nZXRFbGVtZW50QnlJZChwLmNhdGVnb3J5KTtcbiAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgIGRlZnMgJiYgZGVmcy50YWdOYW1lID09PSAnZGVmcycsXG4gICAgICAgICAgJ2hhcyA8ZGVmcz4gZWxlbWVudCB3aXRoIHRoZSByaWdodCBJRCdcbiAgICAgICAgKTtcbiAgICAgICAgYXNzZXJ0Lm9rKGRvYy5nZXRFbGVtZW50QnlJZChwLmlkKSwgJ2hhcyBTVkcgd2l0aCByaWdodCBJRCcpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGFzc2VydC5vayhmYWxzZSwgYCR7ZXJyfSB3aXRoICR7cC5jYXRlZ29yeX1gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ2l0IG9ubHkgcHV0cyA1IHZhcmlhbnRzIGludG8gdGhlIHNwcml0ZScsIGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29udGVudCA9IGZzLnJlYWRGaWxlU3luYyhgJHtvdXRwdXR9L2ljb25zLnN2Z2AsICd1dGY4Jyk7XG4gICAgICBjb25zdCBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGNvbnRlbnQsICdzdmcnKTtcbiAgICAgIGNvbnN0IHN2Z3MgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N2ZycpO1xuICAgICAgLy8gMiBpY29ucyArIHBhcmVudCBzdmdcbiAgICAgIGFzc2VydC5vayhzdmdzLmxlbmd0aCA9PT0gNiwgJ09ubHkgZml2ZSB2YXJpYW50cyBpbiBzcHJpdGUnKTtcbiAgICAgIGNvbnN0IHN2Z0lEcyA9IFtcbiAgICAgICAgJ2Fkcy1kZWZhdWx0JyxcbiAgICAgICAgJ2Fkcy1kZWZhdWx0LTInLFxuICAgICAgICAncG9pbnQtZGVmYXVsdCcsXG4gICAgICAgICdwb2ludC1kZWZhdWx0LTInLFxuICAgICAgICAnYS1ob21lLWZpbGxlZC0xJ1xuICAgICAgXTtcbiAgICAgIHN2Z0lEcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgIGRvYy5nZXRFbGVtZW50QnlJZChpZCksXG4gICAgICAgICAgJ3B1dHMgdGhlIHJpZ2h0IHZhcmlhbnRzIGludG8gc3ByaXRlJ1xuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY29waWVzIHN2ZyBhc3NldHMgd2l0aCBubyBzcHJpdGUgY29uZmlnIHRvIG91dHB1dCcsIGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L3VpLWljb24vYWNoaWV2ZW1lbnRgO1xuICAgICAgY29uc3QgZmlsZXMgPSBmcy5yZWFkZGlyU3luYyhpY29uUGF0aCk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2ZpbGxlZC5zdmcnKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY3JlYXRlcyBoYnMgZmlsZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgaWNvblNldEFuaW1hbCA9IGNvbmZpZ1JlYWRlci5nZXRJY29uQ29uZmlnU2V0KG5ldyBBcnJheShwYXRoLnJlc29sdmUoRklYVFVSRVMsICdpbnB1dC9hbmltYWwnKSkpO1xuICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVR5cGUoaWNvblNldEFuaW1hbCwgb3V0cHV0LCAnc3ZnJywgZmFsc2UsIHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKG91dHB1dCk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1zbWFsbC5oYnMnKSk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1sYXJnZS5oYnMnKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY3JlYXRlcyBoYnMgZmlsZXMgYW5kIGRpc3RyaWJ1dGVzIGJ5IGNhdGVnb3J5JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGljb25TZXRBbmltYWwgPSBjb25maWdSZWFkZXIuZ2V0SWNvbkNvbmZpZ1NldChuZXcgQXJyYXkocGF0aC5yZXNvbHZlKEZJWFRVUkVTLCAnaW5wdXQvYW5pbWFsJykpKTtcbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXRBbmltYWwsIG91dHB1dCwgJ3N2ZycsIHRydWUsIHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGAke291dHB1dH0vaXRzLXVpYCk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1zbWFsbC5oYnMnKSk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1sYXJnZS5oYnMnKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnc3ByaXRlcyBhcmUgYWx3YXlzIGFycmFuZ2VkIGFscGhhYmV0aWNhbGx5JywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVR5cGUoaWNvblNldCwgb3V0cHV0LCAnc3ZnJywgdHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoYCR7b3V0cHV0fS90ZXN0LWljb25zLnN2Z2AsICd1dGY4Jyk7XG4gICAgICBjb25zdCBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGNvbnRlbnQsICdzdmcnKTtcbiAgICAgIGNvbnN0IHN2Z3MgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N2ZycpO1xuICAgICAgYXNzZXJ0Lm9rKHN2Z3MubGVuZ3RoID09PSAzLCAnT25seSAyIHZhcmlhbnRzIGluIHNwcml0ZScpO1xuICAgICAgY29uc3Qgc3ZnSURzID0gW1xuICAgICAgICAnYW5pbWFsLXNtYWxsJyxcbiAgICAgICAgJ2FuaW1hbC1sYXJnZScsXG4gICAgICBdO1xuICAgICAgc3ZnSURzLmZvckVhY2goaWQgPT4ge1xuICAgICAgICBhc3NlcnQub2soXG4gICAgICAgICAgZG9jLmdldEVsZW1lbnRCeUlkKGlkKSxcbiAgICAgICAgICAncHV0cyB0aGUgcmlnaHQgdmFyaWFudHMgaW50byBzcHJpdGUnXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgICAgYXNzZXJ0LmVxdWFsKFxuICAgICAgICBzdmdzWzFdLFxuICAgICAgICBkb2MuZ2V0RWxlbWVudEJ5SWQoJ2FuaW1hbC1sYXJnZScpLFxuICAgICAgICAnc2hvdWxkIGJlIHNvcnRlZCBhbHBoYWJldGljYWxseSdcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvaW5kZXgtdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBEQUEwRDtBQUMxRCxpQ0FBaUM7QUFDakMsZ0RBQWlEO0FBQ2pELCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBRW5DLGdDQUEwQztBQUUxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN6RSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM3QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUVoRSxRQUFRLENBQUMsOEJBQThCLEVBQUU7SUFDdkMsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ25FLE1BQU0sc0JBQWdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsR0FBRyxNQUFNLG1CQUFtQixDQUFDO1FBQzlDLElBQUk7WUFDRixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLG9CQUFvQixDQUFDLENBQUM7YUFDNUM7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxRQUFRLHdCQUF3QixDQUFDLENBQUM7YUFDdkQ7U0FDRjtRQUFDLE9BQU8s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QUUsS0FBSyxDQUFDLENBQUM7WUFDNUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztZQUMxRCxNQUFNLE1BQU0sR0FBRztnQkFDYixjQUFjO2dCQUNkLGNBQWM7YUFDZixDQUFDO1lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDbEIsTUFBTSxDQUFDLEVBQUUsQ0FDUCxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUN0QixxQ0FBcUMsQ0FDdEMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLEtBQUssQ0FDVixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsRUFDbEMsaUNBQWlDLENBQ2xDLENBQUM7U0FDSDtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkI7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uZmlnUmVhZGVyIGZyb20gJ0BpY29uLW1hZ2ljL2NvbmZpZy1yZWFkZXInO1xuaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgKiBhcyByZWNhc3QgIGZyb20gJ2VtYmVyLXRlbXBsYXRlLXJlY2FzdCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRE9NUGFyc2VyIH0gZnJvbSAneG1sZG9tJztcblxuaW1wb3J0IHsgZGlzdHJpYnV0ZUJ5VHlwZSB9IGZyb20gJy4uL3NyYyc7XG5cbmNvbnN0IEZJWFRVUkVTID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJy4uJywgJ3Rlc3QnLCAnZml4dHVyZXMnKTtcbmNvbnN0IGlucHV0ID0gcGF0aC5yZXNvbHZlKEZJWFRVUkVTLCAnaW5wdXQnKTtcbmNvbnN0IG91dHB1dCA9IHBhdGgucmVzb2x2ZShGSVhUVVJFUywgJ291dCcpO1xuY29uc3QgaWNvblNldCA9IGNvbmZpZ1JlYWRlci5nZXRJY29uQ29uZmlnU2V0KG5ldyBBcnJheShpbnB1dCkpO1xuXG5kZXNjcmliZSgnZGlzdHJpYnV0ZSB3b3JrcyBhcyBleHBlY3RlZCcsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ01vdmVzIGFsbCAud2VicCBmaWxlcyB0byB0aGUgcmlnaHQgb3V0cHV0IGRpcmVjdG9yeScsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXQsIG91dHB1dCwgJ3dlYnAnLCBmYWxzZSk7XG4gICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L2RyYXdhYmxlLXh4eGhkcGlgO1xuICAgIHRyeSB7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhpY29uUGF0aCkpIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGAke2ljb25QYXRofSBkaXIgd2FzIGdlbmVyYXRlZGApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBgJHtpY29uUGF0aH0gZGlyIHdhcyBub3QgZ2VuZXJhdGVkYCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGAke2Vycn0gcmVhZGluZyAke2ljb25QYXRofWApO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJy53ZWJwIGZpbGVzIGFyZSBpbiB0aGUgcmlnaHQgb3V0cHV0IGRpcmVjdG9yeScsIGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXQsIG91dHB1dCwgJ3dlYnAnLCBmYWxzZSk7XG4gICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L2RyYXdhYmxlLXh4eGhkcGlgO1xuICAgIGNvbnN0IGljb25zID0gW1xuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fZmlsbGVkXzFfZmlsbGVkXzI0eDEyJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdpY191aXhfaWNvbl9maWxsZWRfMl9maWxsZWRfMjR4MTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpeHhfaWNvbl9maWxsZWRfM19maWxsZWRfMjR4MTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fZmlsbGVkXzFfZmlsbGVkXzYweDYwJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdpY191aV9pY29uX2ZpbGxlZF80X2ZpbGxlZF8yNHgxMidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb25OYW1lOiAnaWNfdWlfaWNvbl9maWxsZWRfNF9maWxsZWRfNjB4NjAnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fMl9maWxsZWRfNl9maWxsZWRfMjR4MTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBpY29uTmFtZTogJ2ljX3VpX2ljb25fMl9maWxsZWRfNl9maWxsZWRfNjB4NjAnXG4gICAgICB9XG4gICAgXTtcbiAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGljb25QYXRoKTtcbiAgICBpY29ucy5mb3JFYWNoKGljb24gPT4ge1xuICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICBmaWxlcy5pbmNsdWRlcyhgJHtpY29uLmljb25OYW1lfS53ZWJwYCksXG4gICAgICAgIGBpbmNsdWRlcyAke2ljb24uaWNvbk5hbWV9LndlYnBgXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcblxuICBpdCgnTW92ZXMgYWxsIC5wbmcgZmlsZXMgdG8gdGhlIG91dHB1dCBkaXJlY3RvcnknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgaWNvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGljb25OYW1lOiAnZmlsbGVkXzFfZmlsbGVkXzI0eDEyJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdmaWxsZWRfMl9maWxsZWRfMjR4MTInLFxuICAgICAgICBjYXRlZ29yeTogJ3VpeC1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWNvbk5hbWU6ICdmaWxsZWRfM19maWxsZWRfMjR4MTInLFxuICAgICAgICBjYXRlZ29yeTogJ3VpeHgtaWNvbidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGljb25OYW1lOiAnZmlsbGVkXzFfZmlsbGVkXzYweDYwJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfVxuICAgIF07XG4gICAgYXdhaXQgZGlzdHJpYnV0ZUJ5VHlwZShpY29uU2V0LCBvdXRwdXQsICdwbmcnLCBmYWxzZSk7XG5cbiAgICBpY29ucy5mb3JFYWNoKGljb24gPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9LyR7aWNvbi5jYXRlZ29yeX0vJHtpY29uLmNhdGVnb3J5fV8ke2ljb24uaWNvbk5hbWV9LmltYWdlc2V0YDtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoaWNvblBhdGgpKSB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKGAke2ljb25QYXRofSBkaXIgd2FzIGdlbmVyYXRlZGApO1xuICAgICAgICAgIGNvbnN0IGZpbGVzID0gZnMucmVhZGRpclN5bmMoaWNvblBhdGgpO1xuICAgICAgICAgIGFzc2VydC5vayhcbiAgICAgICAgICAgIGZpbGVzLmluZGV4T2YoJ0NvbnRlbnRzLmpzb24nKSA+IC0xLFxuICAgICAgICAgICAgJ0NvbnRlbnRzLmpzb24gd2FzIGdlbmVyYXRlZCdcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3QgY29udGVudHNKc29uSW1hZ2VzID0gZnMucmVhZEpzb25TeW5jKHBhdGguam9pbihpY29uUGF0aCwgJ0NvbnRlbnRzLmpzb24nKSkuaW1hZ2VzO1xuICAgICAgICAgIGFzc2VydC5vayhBcnJheS5pc0FycmF5KGNvbnRlbnRzSnNvbkltYWdlcyksICdDb250ZW50cy5qc29uIGlzIGZpbGxlZCB3aXRoIGFuIGFycmF5IGNhbGxlZCBpbWFnZXMnKTtcbiAgICAgICAgICBhc3NlcnQub2soY29udGVudHNKc29uSW1hZ2VzLmZpbmQoKGVudHJ5OiB7IGZpbGVuYW1lOiBzdHJpbmc7IH0pID0+IGVudHJ5LmZpbGVuYW1lID09PSBgJHtpY29uLmNhdGVnb3J5fV8ke2ljb24uaWNvbk5hbWV9QDIucG5nYCkpO1xuXG4gICAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgICAgZmlsZXMuaW5kZXhPZihgJHtpY29uLmNhdGVnb3J5fV8ke2ljb24uaWNvbk5hbWV9QDIucG5nYCkgPiAtMSxcbiAgICAgICAgICAgIGAke2ljb24uY2F0ZWdvcnl9XyR7aWNvbi5pY29uTmFtZX1AMi5wbmcgd2FzIGNyZWF0ZWRgXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhc3NlcnQub2soZmFsc2UsIGBNaXNzaW5nIGZpbGVzIGZvciAke2ljb25QYXRofWApO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBlcnIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcblxuICBpdCgnTW92ZXMgYWxsIGRhcmsgLnBuZyBmaWxlcyB0byB0aGUgb3V0cHV0IGRpcmVjdG9yeSBhcyBleHBlY3RlZCcsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBpbnB1dCA9IHBhdGgucmVzb2x2ZShGSVhUVVJFUywgJ2lucHV0L2NvbXBhbnknKTtcbiAgICBjb25zdCBvdXRwdXQgPSBwYXRoLnJlc29sdmUoRklYVFVSRVMsICdvdXQnKTtcbiAgICBjb25zdCBpY29uU2V0ID0gY29uZmlnUmVhZGVyLmdldEljb25Db25maWdTZXQobmV3IEFycmF5KGlucHV0KSk7XG5cbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXQsIG91dHB1dCwgJ3BuZycsIGZhbHNlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L2VudGl0eS1iYWNrZ3JvdW5kcy9lbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0XzIwNDh4NTEyLmltYWdlc2V0YDtcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGljb25QYXRoKSkge1xuICAgICAgICBhc3NlcnQub2soYCR7aWNvblBhdGh9IGRpciB3YXMgZ2VuZXJhdGVkYCk7XG4gICAgICAgIGNvbnN0IGZpbGVzID0gZnMucmVhZGRpclN5bmMoaWNvblBhdGgpO1xuICAgICAgICBhc3NlcnQub2soXG4gICAgICAgICAgZmlsZXMuaW5kZXhPZignQ29udGVudHMuanNvbicpID4gLTEsXG4gICAgICAgICAgJ0NvbnRlbnRzLmpzb24gd2FzIGdlbmVyYXRlZCdcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjb250ZW50c0pzb25JbWFnZXMgPSBmcy5yZWFkSnNvblN5bmMocGF0aC5qb2luKGljb25QYXRoLCAnQ29udGVudHMuanNvbicpKS5pbWFnZXM7XG4gICAgICAgIGFzc2VydC5vayhBcnJheS5pc0FycmF5KGNvbnRlbnRzSnNvbkltYWdlcyksICdDb250ZW50cy5qc29uIGlzIGZpbGxlZCB3aXRoIGFuIGFycmF5IGNhbGxlZCBpbWFnZXMnKTtcbiAgICAgICAgY29uc3QgZGFya0ltYWdlID0gY29udGVudHNKc29uSW1hZ2VzLmZpbmQoKGVudHJ5OiB7IGZpbGVuYW1lOiBzdHJpbmc7IH0pID0+XG4gICAgICAgICAgZW50cnkuZmlsZW5hbWUgPT09IGBlbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0X29uX2RhcmtfMjA0OHg1MTJAMi5wbmdgXG4gICAgICAgICk7XG5cbiAgICAgICAgYXNzZXJ0Lm9rKHR5cGVvZiBkYXJrSW1hZ2UgPT09ICdvYmplY3QnLCAnRGFyayBpY29ucyBpbiBjb250ZW50cy5qc29uJyk7XG4gICAgICAgIGFzc2VydC5vayhkYXJrSW1hZ2UuYXBwZWFyYW5jZXMubGVuZ3RoID4gMCwgJ0hhcyBhcHBlYXJhbmNlcyBhcnJheScpO1xuXG4gICAgICAgIGFzc2VydC5vayhjb250ZW50c0pzb25JbWFnZXMuZmluZCgoZW50cnk6IHsgZmlsZW5hbWU6IHN0cmluZzsgfSkgPT4gZW50cnkuZmlsZW5hbWUgPT09IGBlbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0XzIwNDh4NTEyQDIucG5nYCkpO1xuXG4gICAgICAgIGFzc2VydC5vayhcbiAgICAgICAgICBmaWxlcy5pbmRleE9mKGBlbnRpdHktYmFja2dyb3VuZHNfY29tcGFueV9kZWZhdWx0XzIwNDh4NTEyQDIucG5nYCkgPiAtMSxcbiAgICAgICAgICBgZW50aXR5LWJhY2tncm91bmRzX2NvbXBhbnlfZGVmYXVsdF8yMDQ4eDUxMkAyLnBuZyB3YXMgY3JlYXRlZGBcbiAgICAgICAgKTtcbiAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgIGZpbGVzLmluZGV4T2YoYGVudGl0eS1iYWNrZ3JvdW5kc19jb21wYW55X2RlZmF1bHRfb25fZGFya18yMDQ4eDUxMkAyLnBuZ2ApID4gLTEsXG4gICAgICAgICAgYGVudGl0eS1iYWNrZ3JvdW5kc19jb21wYW55X2RlZmF1bHRfb25fZGFya18yMDQ4eDUxMkAyLnBuZyB3YXMgY3JlYXRlZGBcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2VydC5vayhmYWxzZSwgYE1pc3NpbmcgZmlsZXMgZm9yICR7aWNvblBhdGh9YCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY3JlYXRlcyB0aGUgc3ByaXRlIGZpbGVzJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVR5cGUoaWNvblNldCwgb3V0cHV0LCAnc3ZnJywgdHJ1ZSk7XG4gICAgY29uc3Qgc3ByaXRlUGF0aHMgPSBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdpY29ucy5zdmcnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMS5zdmcnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMi5zdmcnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMy5zdmcnXG4gICAgICB9XG4gICAgXTtcbiAgICBzcHJpdGVQYXRocy5mb3JFYWNoKHAgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoYCR7b3V0cHV0fS8ke3AucGF0aH1gKSkge1xuICAgICAgICAgIGFzc2VydC5vayhgJHtwfSB3YXMgZ2VuZXJhdGVkYCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBgJHtwfSB3YXMgbm90IGdlbmVyYXRlZGApO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBgJHtwfSB3YXMgbm90IGdlbmVyYXRlZDogJHtlcnJ9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KCdzcHJpdGUgZmlsZXMgY29udGFpbiBkZWZzIHdpdGggY2F0ZWdvcnkgZm9yIElEJywgYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVR5cGUoaWNvblNldCwgb3V0cHV0LCAnc3ZnJywgdHJ1ZSk7XG4gICAgY29uc3Qgc3ByaXRlUGF0aHMgPSBbXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdpY29ucycsXG4gICAgICAgIGlkOiAnYS1ob21lLWZpbGxlZC0xJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zJyxcbiAgICAgICAgaWQ6ICdwb2ludC1kZWZhdWx0JyxcbiAgICAgICAgY2F0ZWdvcnk6ICdhcHAnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMnLFxuICAgICAgICBpZDogJ3BvaW50LWRlZmF1bHQtMicsXG4gICAgICAgIGNhdGVnb3J5OiAnYXBwJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zJyxcbiAgICAgICAgaWQ6ICdhZHMtZGVmYXVsdCcsXG4gICAgICAgIGNhdGVnb3J5OiAnYXBwJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zJyxcbiAgICAgICAgaWQ6ICdhZHMtZGVmYXVsdC0yJyxcbiAgICAgICAgY2F0ZWdvcnk6ICdhcHAnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMicsXG4gICAgICAgIGlkOiAnYi1ob21lLWZpbGxlZC00JyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTEnLFxuICAgICAgICBpZDogJ2MtaG9tZS1maWxsZWQtOCcsXG4gICAgICAgIGNhdGVnb3J5OiAndWktaWNvbi0yJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTEnLFxuICAgICAgICBpZDogJ2MtaG9tZS1maWxsZWQtODgtOScsXG4gICAgICAgIGNhdGVnb3J5OiAndWktaWNvbi0zJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTEnLFxuICAgICAgICBpZDogJ2MtaG9tZS1maWxsZWQtODg5JyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uLTInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMicsXG4gICAgICAgIGlkOiAnaG9tZS1maWxsZWQtMicsXG4gICAgICAgIGNhdGVnb3J5OiAndWl4LWljb24nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMicsXG4gICAgICAgIGlkOiAnaG9tZS1maWxsZWQtMzMzJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aS1pY29uJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJ2ljb25zLTMnLFxuICAgICAgICBpZDogJ2hvbWUtZmlsbGVkLTMzMycsXG4gICAgICAgIGNhdGVnb3J5OiAndWktaWNvbidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHBhdGg6ICdpY29ucy0zJyxcbiAgICAgICAgaWQ6ICdob21lLWZpbGxlZC0zJyxcbiAgICAgICAgY2F0ZWdvcnk6ICd1aXh4LWljb24nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBwYXRoOiAnaWNvbnMtMycsXG4gICAgICAgIGlkOiAnaG9tZS1maWxsZWQtMzMnLFxuICAgICAgICBjYXRlZ29yeTogJ3VpeHgtaWNvbidcbiAgICAgIH1cbiAgICBdO1xuICAgIHNwcml0ZVBhdGhzLmZvckVhY2gocCA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGAke291dHB1dH0vJHtwLnBhdGh9LnN2Z2AsICd1dGY4Jyk7XG4gICAgICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoY29udGVudCwgJ3N2ZycpO1xuICAgICAgICBjb25zdCBkb2NJZE5vZGUgPSBkb2MuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZU5vZGUoJ2lkJyk7XG4gICAgICAgIGFzc2VydC5vayhkb2NJZE5vZGUgJiYgZG9jSWROb2RlLnZhbHVlID09PSBwLnBhdGgsICdzdmcgaGFzIElEJyk7XG5cbiAgICAgICAgY29uc3QgZGVmcyA9IGRvYy5nZXRFbGVtZW50QnlJZChwLmNhdGVnb3J5KTtcbiAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgIGRlZnMgJiYgZGVmcy50YWdOYW1lID09PSAnZGVmcycsXG4gICAgICAgICAgJ2hhcyA8ZGVmcz4gZWxlbWVudCB3aXRoIHRoZSByaWdodCBJRCdcbiAgICAgICAgKTtcbiAgICAgICAgYXNzZXJ0Lm9rKGRvYy5nZXRFbGVtZW50QnlJZChwLmlkKSwgJ2hhcyBTVkcgd2l0aCByaWdodCBJRCcpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGFzc2VydC5vayhmYWxzZSwgYCR7ZXJyfSB3aXRoICR7cC5jYXRlZ29yeX1gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoJ2l0IG9ubHkgcHV0cyA1IHZhcmlhbnRzIGludG8gdGhlIHNwcml0ZScsIGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29udGVudCA9IGZzLnJlYWRGaWxlU3luYyhgJHtvdXRwdXR9L2ljb25zLnN2Z2AsICd1dGY4Jyk7XG4gICAgICBjb25zdCBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGNvbnRlbnQsICdzdmcnKTtcbiAgICAgIGNvbnN0IHN2Z3MgPSBkb2MuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3N2ZycpO1xuICAgICAgLy8gMiBpY29ucyArIHBhcmVudCBzdmdcbiAgICAgIGFzc2VydC5vayhzdmdzLmxlbmd0aCA9PT0gNiwgJ09ubHkgZml2ZSB2YXJpYW50cyBpbiBzcHJpdGUnKTtcbiAgICAgIGNvbnN0IHN2Z0lEcyA9IFtcbiAgICAgICAgJ2Fkcy1kZWZhdWx0JyxcbiAgICAgICAgJ2Fkcy1kZWZhdWx0LTInLFxuICAgICAgICAncG9pbnQtZGVmYXVsdCcsXG4gICAgICAgICdwb2ludC1kZWZhdWx0LTInLFxuICAgICAgICAnYS1ob21lLWZpbGxlZC0xJ1xuICAgICAgXTtcbiAgICAgIHN2Z0lEcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgICAgYXNzZXJ0Lm9rKFxuICAgICAgICAgIGRvYy5nZXRFbGVtZW50QnlJZChpZCksXG4gICAgICAgICAgJ3B1dHMgdGhlIHJpZ2h0IHZhcmlhbnRzIGludG8gc3ByaXRlJ1xuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY29waWVzIHN2ZyBhc3NldHMgd2l0aCBubyBzcHJpdGUgY29uZmlnIHRvIG91dHB1dCcsIGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaWNvblBhdGggPSBgJHtvdXRwdXR9L3VpLWljb24vYWNoaWV2ZW1lbnRgO1xuICAgICAgY29uc3QgZmlsZXMgPSBmcy5yZWFkZGlyU3luYyhpY29uUGF0aCk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2ZpbGxlZC5zdmcnKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY3JlYXRlcyBoYnMgZmlsZXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgaWNvblNldEFuaW1hbCA9IGNvbmZpZ1JlYWRlci5nZXRJY29uQ29uZmlnU2V0KG5ldyBBcnJheShwYXRoLnJlc29sdmUoRklYVFVSRVMsICdpbnB1dC9hbmltYWwnKSkpO1xuICAgIGF3YWl0IGRpc3RyaWJ1dGVCeVR5cGUoaWNvblNldEFuaW1hbCwgb3V0cHV0LCAnc3ZnJywgZmFsc2UsIHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKG91dHB1dCk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1zbWFsbC5oYnMnKSk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1sYXJnZS5oYnMnKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnY3JlYXRlcyBoYnMgZmlsZXMgYW5kIGRpc3RyaWJ1dGVzIGJ5IGNhdGVnb3J5JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGljb25TZXRBbmltYWwgPSBjb25maWdSZWFkZXIuZ2V0SWNvbkNvbmZpZ1NldChuZXcgQXJyYXkocGF0aC5yZXNvbHZlKEZJWFRVUkVTLCAnaW5wdXQvYW5pbWFsJykpKTtcbiAgICBhd2FpdCBkaXN0cmlidXRlQnlUeXBlKGljb25TZXRBbmltYWwsIG91dHB1dCwgJ3N2ZycsIHRydWUsIHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGAke291dHB1dH0vaXRzLXVpYCk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1zbWFsbC5oYnMnKSk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ2FuaW1hbC1sYXJnZS5oYnMnKSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBhc3NlcnQub2soZmFsc2UsIGVycik7XG4gICAgfVxuICB9KTtcblxuICBpdCgnLi4uYXR0cmlidXRlcyBjb21lcyBiZWZvcmUgY2VydGFpbiBhdHRyaWJ1dGVzIGluIGhicyBmaWxlcycsIGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmlsZXMgPSBmcy5yZWFkZGlyU3luYyhgJHtvdXRwdXR9L2l0cy11aWApO1xuICAgICAgYXNzZXJ0Lm9rKGZpbGVzLmluY2x1ZGVzKCdhbmltYWwtc21hbGwuaGJzJykpO1xuICAgICAgYXNzZXJ0Lm9rKGZpbGVzLmluY2x1ZGVzKCdhbmltYWwtbGFyZ2UuaGJzJykpO1xuXG4gICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGAke291dHB1dH0vYW5pbWFsLXNtYWxsLmhic2AsICd1dGY4Jyk7XG4gICAgICBjb25zdCBhc3QgPSByZWNhc3QucGFyc2UoY29udGVudCk7XG5cbiAgICAgIGlmIChhc3QuYm9keVswXS50eXBlID09PSAnRWxlbWVudE5vZGUnKSB7XG4gICAgICAgIGNvbnN0IGF0dHJzID0gYXN0LmJvZHlbMF0uYXR0cmlidXRlcztcbiAgICAgICAgY29uc3QgZmlyc3RBdHRyID0gYXR0cnNbMF07XG4gICAgICAgIGFzc2VydC5vayhmaXJzdEF0dHIubmFtZSA9PT0gJy4uLmF0dHJpYnV0ZXMnKTtcbiAgICAgIH1cblxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBlcnIpO1xuICAgIH1cbiAgfSk7XG5cblxuICBpdCgnaXQgdHJpbXMgXCItbWl4ZWRcIiBmcm9tIGVuZCBvZiBoYnMgZmlsZSBuYW1lJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGljb25TZXRXb3JkbWFyayA9IGNvbmZpZ1JlYWRlci5nZXRJY29uQ29uZmlnU2V0KG5ldyBBcnJheShwYXRoLnJlc29sdmUoRklYVFVSRVMsICdpbnB1dC93b3JkbWFyaycpKSk7XG4gICAgYXdhaXQgZGlzdHJpYnV0ZUJ5VHlwZShpY29uU2V0V29yZG1hcmssIGAke291dHB1dH0vd29yZG1hcmtgLCAnc3ZnJywgZmFsc2UsIHRydWUsIFsnbWl4ZWQnXSwgZmFsc2UpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGAke291dHB1dH0vd29yZG1hcmtgKTtcbiAgICAgIGFzc2VydC5vayhmaWxlcy5pbmNsdWRlcygnd29yZG1hcmstbGFyZ2UuaGJzJykpO1xuICAgICAgYXNzZXJ0Lm9rKGZpbGVzLmluY2x1ZGVzKCd3b3JkbWFyay1tZWRpdW0uaGJzJykpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgYXNzZXJ0Lm9rKGZhbHNlLCBlcnIpO1xuICAgIH1cbiAgfSk7XG5cbiAgaXQoJ2l0IGRvZXMgbm90IHRyaW0gXCItbWl4ZWRcIiBmcm9tIGVuZCBvZiBoYnMgZmlsZSBuYW1lJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGljb25TZXRXb3JkbWFyayA9IGNvbmZpZ1JlYWRlci5nZXRJY29uQ29uZmlnU2V0KG5ldyBBcnJheShwYXRoLnJlc29sdmUoRklYVFVSRVMsICdpbnB1dC93b3JkbWFyaycpKSk7XG4gICAgYXdhaXQgZGlzdHJpYnV0ZUJ5VHlwZShpY29uU2V0V29yZG1hcmssIGAke291dHB1dH0vd29yZG1hcmsvdW50cmltbWVkYCwgJ3N2ZycsIGZhbHNlLCB0cnVlLCBbJ21peGVkJ10sIHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGAke291dHB1dH0vd29yZG1hcmsvdW50cmltbWVkYCk7XG4gICAgICBhc3NlcnQub2soZmlsZXMuaW5jbHVkZXMoJ3dvcmRtYXJrLWxhcmdlLW1peGVkLmhicycpKTtcbiAgICAgIGFzc2VydC5vayhmaWxlcy5pbmNsdWRlcygnd29yZG1hcmstbWVkaXVtLW1peGVkLmhicycpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGFzc2VydC5vayhmYWxzZSwgZXJyKTtcbiAgICB9XG4gIH0pO1xuXG4gIGl0KCdzcHJpdGVzIGFyZSBhbHdheXMgYXJyYW5nZWQgYWxwaGFiZXRpY2FsbHknLCBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZGlzdHJpYnV0ZUJ5VHlwZShpY29uU2V0LCBvdXRwdXQsICdzdmcnLCB0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29udGVudCA9IGZzLnJlYWRGaWxlU3luYyhgJHtvdXRwdXR9L3Rlc3QtaWNvbnMuc3ZnYCwgJ3V0ZjgnKTtcbiAgICAgIGNvbnN0IGRvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoY29udGVudCwgJ3N2ZycpO1xuICAgICAgY29uc3Qgc3ZncyA9IGRvYy5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc3ZnJyk7XG4gICAgICBhc3NlcnQub2soc3Zncy5sZW5ndGggPT09IDMsICdPbmx5IDIgdmFyaWFudHMgaW4gc3ByaXRlJyk7XG4gICAgICBjb25zdCBzdmdJRHMgPSBbXG4gICAgICAgICdhbmltYWwtc21hbGwnLFxuICAgICAgICAnYW5pbWFsLWxhcmdlJyxcbiAgICAgIF07XG4gICAgICBzdmdJRHMuZm9yRWFjaChpZCA9PiB7XG4gICAgICAgIGFzc2VydC5vayhcbiAgICAgICAgICBkb2MuZ2V0RWxlbWVudEJ5SWQoaWQpLFxuICAgICAgICAgICdwdXRzIHRoZSByaWdodCB2YXJpYW50cyBpbnRvIHNwcml0ZSdcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuXG4gICAgICBhc3NlcnQuZXF1YWwoXG4gICAgICAgIHN2Z3NbMV0sXG4gICAgICAgIGRvYy5nZXRFbGVtZW50QnlJZCgnYW5pbWFsLWxhcmdlJyksXG4gICAgICAgICdzaG91bGQgYmUgc29ydGVkIGFscGhhYmV0aWNhbGx5J1xuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGFzc2VydC5vayhmYWxzZSwgZXJyKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
{
"name": "@icon-magic/distribute",
"version": "2.2.11-beta.0",
"version": "2.3.0-beta.0",
"description": "Icon magic distribute package.",

@@ -21,8 +21,9 @@ "main": "dist/src/index.js",

"dependencies": {
"@icon-magic/config-reader": "^2.2.9-beta.0",
"@icon-magic/icon-models": "^2.2.9-beta.0",
"@icon-magic/logger": "^2.2.9-beta.0",
"@icon-magic/config-reader": "^2.3.0-beta.0",
"@icon-magic/icon-models": "^2.3.0-beta.0",
"@icon-magic/logger": "^2.3.0-beta.0",
"@types/xmldom": "^0.1.29",
"ember-template-recast": "^5.0.3",
"xmldom": "^0.5.0"
}
}
import { Asset } from '@icon-magic/icon-models';
import { transform } from 'ember-template-recast';
import * as fs from 'fs-extra';

@@ -7,3 +8,2 @@ import * as path from 'path';

const serializeToString = new XMLSerializer().serializeToString;

@@ -34,2 +34,20 @@

el.removeAttribute('id');
const template = serializeToString(xml);
const { code } = transform({
template,
plugin(env) {
const { builders: b } = env.syntax;
return {
ElementNode(node) {
if (node.tag === 'svg') {
// add splattributes to the hbs file
node.attributes.unshift(b.attr('...attributes', b.text('')));
}
},
};
}
});
// Remove the "-mixed" suffix from the name. File will have same name as light version.

@@ -40,11 +58,8 @@ if (!doNotRemoveSuffix && asset.colorScheme === 'mixed') {

// add splattributes to the hbs file
xml.documentElement.setAttribute('...attributes', '');
await fs.mkdirp(outputPath);
// xmldom and other dom substitutions (like jsdom) add ...attributes="" and
// the string replace below is an ugly hack to remove the empty string
fs.writeFileSync(path.join(outputPath, `${iconName}.hbs`), serializeToString(xml).replace(/...attributes=\"\"/g, '...attributes'));
fs.writeFileSync(path.join(outputPath, `${iconName}.hbs`), code);
}
}
import * as configReader from '@icon-magic/config-reader';
import * as assert from 'assert';
import * as recast from 'ember-template-recast';
import * as fs from 'fs-extra';

@@ -340,2 +341,23 @@ import * as path from 'path';

it('...attributes comes before certain attributes in hbs files', async () => {
try {
const files = fs.readdirSync(`${output}/its-ui`);
assert.ok(files.includes('animal-small.hbs'));
assert.ok(files.includes('animal-large.hbs'));
const content = fs.readFileSync(`${output}/animal-small.hbs`, 'utf8');
const ast = recast.parse(content);
if (ast.body[0].type === 'ElementNode') {
const attrs = ast.body[0].attributes;
const firstAttr = attrs[0];
assert.ok(firstAttr.name === '...attributes');
}
} catch (err) {
assert.ok(false, err);
}
});
it('it trims "-mixed" from end of hbs file name', async () => {

@@ -342,0 +364,0 @@ const iconSetWordmark = configReader.getIconConfigSet(new Array(path.resolve(FIXTURES, 'input/wordmark')));

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc