@vgip/meta-ui 1.4.2 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/common/metaNormalizer.mjs +18 -17
- package/esm2020/lib/field.mjs +30 -19
- package/esm2020/lib/fieldAbstract.mjs +18 -11
- package/fesm2015/vgip-meta-ui.mjs +63 -44
- package/fesm2015/vgip-meta-ui.mjs.map +1 -1
- package/fesm2020/vgip-meta-ui.mjs +63 -44
- package/fesm2020/vgip-meta-ui.mjs.map +1 -1
- package/lib/field.d.ts +1 -1
- package/package.json +1 -1
|
@@ -191,13 +191,15 @@ export const metaNormalizer = (meta, integration, resourceType) => {
|
|
|
191
191
|
break;
|
|
192
192
|
}
|
|
193
193
|
case 'NETSUITE': {
|
|
194
|
-
if (f.name === 'company' && !f.
|
|
195
|
-
f.
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
194
|
+
if (f.name === 'company' && !f.auto) {
|
|
195
|
+
f.auto = {
|
|
196
|
+
search: {
|
|
197
|
+
params: {
|
|
198
|
+
contactId: 'contact.id'
|
|
199
|
+
},
|
|
200
|
+
url: '../Contact/${contactId}?expand=company',
|
|
201
|
+
extract: 'company'
|
|
202
|
+
}
|
|
201
203
|
};
|
|
202
204
|
}
|
|
203
205
|
}
|
|
@@ -312,16 +314,15 @@ export const metaNormalizer = (meta, integration, resourceType) => {
|
|
|
312
314
|
if (resourceType === 'CandidateNote' || resourceType === 'ContactNote') {
|
|
313
315
|
metaV3.layout.editable = false;
|
|
314
316
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
}
|
|
317
|
+
// } else if (integrationCode === 'CLIO') {
|
|
318
|
+
// if (resourceType === 'PhoneCommunication') {
|
|
319
|
+
// for (const f of metaV3.layout.sections[0].fields) {
|
|
320
|
+
// if (f.name === 'time_entries') {
|
|
321
|
+
// f.visible = 'CREATE';
|
|
322
|
+
// }
|
|
323
|
+
// }
|
|
324
|
+
// }
|
|
324
325
|
}
|
|
325
326
|
return sortObj(metaV3);
|
|
326
327
|
};
|
|
327
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YU5vcm1hbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL21ldGFOb3JtYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDdEIsSUFBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUMsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxH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QUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO29CQUM3QixDQUFDLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztpQkFDckI7YUFDRjtTQUNGO0tBQ0Y7SUFDRCxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQEF1dGhvcjogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBEYXRlOiAyMDE5LTA5LTE5IDE3OjM0OjQ5XG4gKiBATGFzdCBNb2RpZmllZCBieTogQWxleGFuZGVyLlZhbmdlbG92QHZvbmFnZS5jb21cbiAqIEBMYXN0IE1vZGlmaWVkIHRpbWU6IDIwMjAtMDktMDMgMDk6NDI6MTJcbiAqL1xuXG5pbXBvcnQgeyBmaWVsZE5vcm1hbGl6ZXIgfSBmcm9tICcuL2ZpZWxkTm9ybWFsaXplcic7XG5pbXBvcnQgeyB1bmlxdWVOYW1lRmlsdGVyIH0gZnJvbSAnLi9maWVsZE5vcm1hbGl6ZXIvdW5pcXVlTmFtZUZpbHRlcic7XG5cbmNvbnN0IHNvcnRPYmogPSAob2JqKSA9PiB7XG4gIGlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcgfHwgb2JqID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gb2JqLm1hcCgoZSkgPT4gc29ydE9iaihlKSkuc29ydCgpO1xuICB9XG5cbiAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikuc29ydCgpLnJlZHVjZSgoc29ydGVkLCBrKSA9PiB7XG4gICAgc29ydGVkW2tdID0gc29ydE9iaihvYmpba10pO1xuICAgIHJldHVybiBzb3J0ZWQ7XG4gIH0sIHt9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtZXRhTm9ybWFsaXplciA9IChtZXRhLCBpbnRlZ3JhdGlvbiwgcmVzb3VyY2VUeXBlKSA9PiB7XG4gIGNvbnN0IHVuaXFGaWVsZE5hbWVzID0gW107XG4gIGNvbnN0IGludGVncmF0aW9uQ29kZSA9IChpbnRlZ3JhdGlvbiB8fCAnJykudG9VcHBlckNhc2UoKTtcbiAgY29uc3QgbWV0YVYzOiBhbnkgPSB7XG4gICAgaW50ZWdyYXRpb24sXG4gICAgcmVzb3VyY2VUeXBlLFxuICAgIGF2YWlsYWJsZUxheW91dHM6IG1ldGEuYXZhaWxhYmxlTGF5b3V0cyxcbiAgICBsYXlvdXQ6IHtcbiAgICAgIGlkOiBtZXRhLmxheW91dC5pZCxcbiAgICAgIG5hbWU6IG1ldGEubGF5b3V0Lm5hbWUsXG4gICAgICBsYWJlbDogbWV0YS5sYXlvdXQubGFiZWwsXG4gICAgICB2ZXJzaW9uOiAnMy4wLjAnLFxuICAgICAgc2VjdGlvbnM6IChtZXRhLmxheW91dC5zZWN0aW9ucyB8fCBbXSkubWFwKChzKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlY3Rpb246IGFueSA9IHtcbiAgICAgICAgICBsYWJlbDogcy5sYWJlbCxcbiAgICAgICAgICBmaWVsZHM6IHVuaXF1ZU5hbWVGaWx0ZXIocy5maWVsZHMgfHwgW10sIHVuaXFGaWVsZE5hbWVzKS5tYXAoKHYpID0+IGZpZWxkTm9ybWFsaXplcih2LCB1bmlxRmllbGROYW1lcykpIC8vIFZJU1QtNDI0XG4gICAgICAgIH07XG4gICAgICAgIGlmIChzLnZpc2libGUgfHwgcy5hbHdheXNWaXNpYmxlKSB7XG4gICAgICAgICAgc2VjdGlvbi52aXNpYmxlID0gcy52aXNpYmxlIHx8IHMuYWx3YXlzVmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VjdGlvbjtcbiAgICAgIH0pXG4gICAgfVxuICB9O1xuICBpZiAobWV0YS5sYXlvdXQub3JpZ0xheW91dElkKSB7XG4gICAgbWV0YVYzLmxheW91dC5vcmlnTGF5b3V0SWQgPSBtZXRhLmxheW91dC5vcmlnTGF5b3V0SWQ7XG4gIH1cbiAgaWYgKG1ldGEuZHJhZnRzKSB7XG4gICAgbWV0YVYzLmRyYWZ0cyA9IG1ldGEuZHJhZnRzO1xuICB9XG4gIGlmIChtZXRhLmxheW91dC5jaGlsZHJlbikge1xuICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBtZXRhLmxheW91dC5jaGlsZHJlbjtcbiAgfVxuXG4gIGNvbnN0IGZpZWxkRml4ZXNCeUludGVncmF0aW9uID0gKGYpID0+IHtcbiAgICBpZiAoZi50eXBlID09PSAnYm9vbGVhbicgJiYgKCh0eXBlb2YoZi5kZWZhdWx0KSAhPT0gJ2Jvb2xlYW4nKSAmJiBmLmRlZmF1bHQgJiYgIWYuZGVmYXVsdC52YWx1ZSkgKSB7XG4gICAgICBkZWxldGUgZi5kZWZhdWx0O1xuICAgIH0gZWxzZSBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSA/IGYucmVmZXJlbmNlIDogW2YucmVmZXJlbmNlXTtcbiAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgIGlmIChyICYmIHIuY3JlYXRhYmxlID09PSBmYWxzZSAmJiB0eXBlb2Yoci51cGRhdGFibGUpID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHIudXBkYXRhYmxlID0gZmFsc2U7IC8vIFVzZXIgbWlzc2luZyB1cGRhdGFibGUsIG1heSBiZSBvdGhlciB0b29cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2ggKGludGVncmF0aW9uQ29kZSkge1xuICAgICAgY2FzZSAnQlVMTEhPUk4nOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdBcHBvaW50bWVudCcpIHtcbiAgICAgICAgICBpZiAoWydkYXRlQmVnaW4nLCAnZGF0ZUVuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdub3cnIDogJzMwLm1pbnV0ZXMnO1xuICAgICAgICAgICAgaWYgKCFmLmF1dG8pIHtcbiAgICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmLmF1dG9bZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdsdCcgOiAnZ3QnXSA9IHtcbiAgICAgICAgICAgICAgYWdhaW5zdDogZi5uYW1lID09PSAnZGF0ZUJlZ2luJyA/ICdkYXRlRW5kJyA6ICdkYXRlQmVnaW4nLFxuICAgICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnLTMwJyA6ICczMCd9Lm1pbnV0ZXNgXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnY29tbWVudHMnKSB7XG4gICAgICAgICAgaWYgKCFmLnZhbGlkYXRpb25zKSB7XG4gICAgICAgICAgICBmLnZhbHVkYXRpb25zID0geyByZXF1aXJlZDogdHJ1ZSB9O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmLnZhbGlkYXRpb25zLnJlcXVpcmVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ05vdGUnKSB7XG4gICAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi5uYW1lID09PSAnYWRkcmVzcy5zdGF0ZScpIHtcbiAgICAgICAgICBmLmNyZWF0YWJsZSA9IGZhbHNlO1xuICAgICAgICAgIGYudXBkYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdHT09HTEUnOiB7XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdjb250YWN0SWQnKSB7XG4gICAgICAgICAgZi5sYWJlbCA9ICdDb250YWN0JztcbiAgICAgICAgfSBlbHNlIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYuYXV0bykge1xuICAgICAgICAgICAgZi5hdXRvID0ge307XG4gICAgICAgICAgfVxuICAgICAgICAgIGYuYXV0b1tmLm5hbWUgPT09ICdzdGFydCcgPyAnbHQnIDogJ2d0J10gPSB7XG4gICAgICAgICAgICBhZ2FpbnN0OiBmLm5hbWUgPT09ICdzdGFydCcgPyAnZW5kJyA6ICdzdGFydCcsXG4gICAgICAgICAgICBvZmZzZXQ6IGAke2YubmFtZSA9PT0gJ3N0YXJ0JyA/ICctMzAnIDogJzMwJ30ubWludXRlc2BcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnT0ZGSUNFMzY1Jzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnRXZlbnRzJykge1xuICAgICAgICAgIGlmIChbJ3N0YXJ0JywgJ2VuZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zID0geyBzdGVwOiAxODAwIH07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmLnZhbGlkYXRpb25zLnN0ZXAgPSAxODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5kZWZhdWx0ID0gZi5uYW1lID09PSAnc3RhcnQnID8gJ25vdycgOiAnMzAubWludXRlcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrcycgJiYgZi5uYW1lID09PSAnY2hlY2tsaXN0Jykge1xuICAgICAgICAgIGYuY3JlYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2Rlc2NyaXB0aW9uJyAmJiByZXNvdXJjZVR5cGUgIT09ICdUYXNrcycpIHtcbiAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICB9IGVsc2UgaWYgKGYubmFtZSA9PT0gJ2NvbnRlbnQnKSB7XG4gICAgICAgICAgZi50eXBlID0gJ3RleHQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnU0FMRVNGT1JDRSc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1Rhc2snICYmIGYubmFtZSA9PT0gJ1doYXRJZCcpIHtcbiAgICAgICAgICBmLmRpc2FibGVkID0ge1xuICAgICAgICAgICAgJ1dob0lkLnR5cGUnOiAnTGVhZCcgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChbJ0Rlc2NyaXB0aW9uJywgJ1BhcmVudElkJ10uaW5kZXhPZihmLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgIGlmICghZi52aXNpYmxlKSB7XG4gICAgICAgICAgICBmLnZpc2libGUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZi50eXBlID09PSAncmVmZXJlbmNlJykge1xuICAgICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSAoZi5yZWZlcmVuY2UgaW5zdGFuY2VvZiBBcnJheSkgPyBmLnJlZmVyZW5jZSA6IFtmLnJlZmVyZW5jZV07XG4gICAgICAgICAgZm9yIChjb25zdCByIG9mIHJlZmVyZW5jZXMpIHtcbiAgICAgICAgICAgIGlmIChyICYmIFsnQWNjb3VudCddLmluZGV4T2Yoci5uYW1lKSAhPT0gLTEpIHsgLy8gZm9yY2UgY3JlYXRhYmxlXG4gICAgICAgICAgICAgIHIuY3JlYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgci51cGRhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1NVR0FSJzoge1xuICAgICAgICBpZiAoWydkZXNjcmlwdGlvbicsICdwYXJlbnRfaWQnLCAnY29udGFjdF9pZCcsICdjb250YWN0cyddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYudmlzaWJsZSkge1xuICAgICAgICAgICAgZi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gKGYucmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gZi5yZWZlcmVuY2UgOiBbZi5yZWZlcmVuY2VdO1xuICAgICAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBpZiAociAmJiBbJ0FjY291bnRzJywgJ0NvbnRhY3RzJywgJ0xlYWRzJ10uaW5kZXhPZihyLm5hbWUpICE9PSAtMSkge1xuICAgICAgICAgICAgICByLmxhYmVsID0gci5uYW1lLnNsaWNlKDAsIC0xKTsgLy8gVXNlIHNpbmd1bGFyIGxhYmVsc1xuICAgICAgICAgICAgICByLmNyZWF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHIudXBkYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdaRU5ERVNLJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0JyAmJiBmLm5hbWUgPT09ICdhc3NpZ25lZScpIHtcbiAgICAgICAgICBmLnJlZmVyZW5jZS51cGRhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ0hVQlNQT1QnOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdMb2dDYWxsJyAmJiBmLm5hbWUgPT09ICdib2R5Jykge1xuICAgICAgICAgIGYudHlwZSA9ICdyaWNodGV4dCc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdORVRTVUlURSc6IHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbXBhbnknICYmICFmLnNlYXJjaCkge1xuICAgICAgICAgIGYuc2VhcmNoID0ge1xuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgIGNvbnRhY3RJZDogJ2NvbnRhY3QjaWQnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdXJsOiAnLi4vQ29udGFjdC8ke2NvbnRhY3RJZH0/ZXhwYW5kPWNvbXBhbnknLFxuICAgICAgICAgICAgZXh0cmFjdDogJ2NvbXBhbnknXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZi50eXBlID09PSAnY29tcG9zaXRlJyAmJiBmLmZpZWxkcykge1xuICAgICAgZm9yIChjb25zdCBmZiBvZiBmLmZpZWxkcykge1xuICAgICAgICBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbihmZik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIGNvbW1vbiBmaXhlcyBmb3IgYWxsIGludGVncmF0aW9uc1xuICBpZiAobWV0YVYzLmxheW91dC5zZWN0aW9ucy5sZW5ndGgpIHtcbiAgICBmb3IgKGNvbnN0IHMgb2YgKG1ldGFWMy5sYXlvdXQuc2VjdGlvbnMpKSB7XG4gICAgICBpZiAoIXMgfHwgIXMuZmllbGRzKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBmIG9mIHMuZmllbGRzKSB7XG4gICAgICAgIGZpZWxkRml4ZXNCeUludGVncmF0aW9uKGYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEdvb2dsZSBHbWFpbCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnR09PR0xFJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdNYWlsJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdjMgYXBpXG4gICAgICAgICAgbGFiZWw6ICdDb21tZW50cycsXG4gICAgICAgICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgbGFiZWw6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrJykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbe1xuICAgICAgICAgIGxhYmVsOiAnU3VidGFza3MnLFxuICAgICAgICAgIG5hbWU6ICdzdWJUYXNrcycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdTdWJ0YXNrJyxcbiAgICAgICAgICAgIGxhYmVsOiAnU3VidGFzaydcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnWkVOREVTSycpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0Jykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBaZW5kZXNrIFRpY2tldCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICAgICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICAgIG5hbWU6ICdjb21tZW50cycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnTVNEWU5BTUlDUycgJiYgIW1ldGFWMy5maWVsZHNNYXApIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAncGhvbmVjYWxsJykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgY29udGFjdGFibGVzOiBbJ2Zyb20nLCAndG8nXSxcbiAgICAgICAgc3ViamVjdDogJ3N1YmplY3QnLFxuICAgICAgICBwaG9uZU51bWJlcjogJ3Bob25lbnVtYmVyJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdjb250YWN0Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZmlyc3ROYW1lOiAnZmlyc3RuYW1lJyxcbiAgICAgICAgbGFzdE5hbWU6ICdsYXN0bmFtZSdcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdhY2NvdW50Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZGlzcGxheU5hbWU6ICduYW1lJ1xuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnT0ZGSUNFMzY1Jykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb252ZXJzYXRpb25zJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7IC8vIGNoaWxkcmVuIGVuaGFuY2VtZW50XG4gICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICBuYW1lOiAnY29tbWVudHMnLFxuICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICBsYWJlbDogJ0NvbW1lbnQnLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XTtcbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbW1lbnQnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ0pPQkRJVkEnKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NhbmRpZGF0ZU5vdGUnIHx8IHJlc291cmNlVHlwZSA9PT0gJ0NvbnRhY3ROb3RlJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdDTElPJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdQaG9uZUNvbW11bmljYXRpb24nKSB7XG4gICAgICBmb3IgKGNvbnN0IGYgb2YgbWV0YVYzLmxheW91dC5zZWN0aW9uc1swXS5maWVsZHMpIHtcbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ3RpbWVfZW50cmllcycpIHtcbiAgICAgICAgICBmLmhpZGRlbiA9ICd1cGRhdGUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzb3J0T2JqKG1ldGFWMyk7XG59O1xuIl19
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YU5vcm1hbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL21ldGFOb3JtYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDdEIsSUFBSSxPQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUMsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNsRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUNULENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEVBQUU7SUFDaEUsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sZUFBZSxH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QUFDekIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBBdXRob3I6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBARGF0ZTogMjAxOS0wOS0xOSAxNzozNDo0OVxuICogQExhc3QgTW9kaWZpZWQgYnk6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDIwLTA5LTAzIDA5OjQyOjEyXG4gKi9cblxuaW1wb3J0IHsgZmllbGROb3JtYWxpemVyIH0gZnJvbSAnLi9maWVsZE5vcm1hbGl6ZXInO1xuaW1wb3J0IHsgdW5pcXVlTmFtZUZpbHRlciB9IGZyb20gJy4vZmllbGROb3JtYWxpemVyL3VuaXF1ZU5hbWVGaWx0ZXInO1xuXG5jb25zdCBzb3J0T2JqID0gKG9iaikgPT4ge1xuICBpZiAodHlwZW9mKG9iaikgIT09ICdvYmplY3QnIHx8IG9iaiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5tYXAoKGUpID0+IHNvcnRPYmooZSkpLnNvcnQoKTtcbiAgfVxuXG4gIHJldHVybiBPYmplY3Qua2V5cyhvYmopLnNvcnQoKS5yZWR1Y2UoKHNvcnRlZCwgaykgPT4ge1xuICAgIHNvcnRlZFtrXSA9IHNvcnRPYmoob2JqW2tdKTtcbiAgICByZXR1cm4gc29ydGVkO1xuICB9LCB7fSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWV0YU5vcm1hbGl6ZXIgPSAobWV0YSwgaW50ZWdyYXRpb24sIHJlc291cmNlVHlwZSkgPT4ge1xuICBjb25zdCB1bmlxRmllbGROYW1lcyA9IFtdO1xuICBjb25zdCBpbnRlZ3JhdGlvbkNvZGUgPSAoaW50ZWdyYXRpb24gfHwgJycpLnRvVXBwZXJDYXNlKCk7XG4gIGNvbnN0IG1ldGFWMzogYW55ID0ge1xuICAgIGludGVncmF0aW9uLFxuICAgIHJlc291cmNlVHlwZSxcbiAgICBhdmFpbGFibGVMYXlvdXRzOiBtZXRhLmF2YWlsYWJsZUxheW91dHMsXG4gICAgbGF5b3V0OiB7XG4gICAgICBpZDogbWV0YS5sYXlvdXQuaWQsXG4gICAgICBuYW1lOiBtZXRhLmxheW91dC5uYW1lLFxuICAgICAgbGFiZWw6IG1ldGEubGF5b3V0LmxhYmVsLFxuICAgICAgdmVyc2lvbjogJzMuMC4wJyxcbiAgICAgIHNlY3Rpb25zOiAobWV0YS5sYXlvdXQuc2VjdGlvbnMgfHwgW10pLm1hcCgocykgPT4ge1xuICAgICAgICBjb25zdCBzZWN0aW9uOiBhbnkgPSB7XG4gICAgICAgICAgbGFiZWw6IHMubGFiZWwsXG4gICAgICAgICAgZmllbGRzOiB1bmlxdWVOYW1lRmlsdGVyKHMuZmllbGRzIHx8IFtdLCB1bmlxRmllbGROYW1lcykubWFwKCh2KSA9PiBmaWVsZE5vcm1hbGl6ZXIodiwgdW5pcUZpZWxkTmFtZXMpKSAvLyBWSVNULTQyNFxuICAgICAgICB9O1xuICAgICAgICBpZiAocy52aXNpYmxlIHx8IHMuYWx3YXlzVmlzaWJsZSkge1xuICAgICAgICAgIHNlY3Rpb24udmlzaWJsZSA9IHMudmlzaWJsZSB8fCBzLmFsd2F5c1Zpc2libGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNlY3Rpb247XG4gICAgICB9KVxuICAgIH1cbiAgfTtcbiAgaWYgKG1ldGEubGF5b3V0Lm9yaWdMYXlvdXRJZCkge1xuICAgIG1ldGFWMy5sYXlvdXQub3JpZ0xheW91dElkID0gbWV0YS5sYXlvdXQub3JpZ0xheW91dElkO1xuICB9XG4gIGlmIChtZXRhLmRyYWZ0cykge1xuICAgIG1ldGFWMy5kcmFmdHMgPSBtZXRhLmRyYWZ0cztcbiAgfVxuICBpZiAobWV0YS5sYXlvdXQuY2hpbGRyZW4pIHtcbiAgICBtZXRhVjMubGF5b3V0LmNoaWxkcmVuID0gbWV0YS5sYXlvdXQuY2hpbGRyZW47XG4gIH1cblxuICBjb25zdCBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbiA9IChmKSA9PiB7XG4gICAgaWYgKGYudHlwZSA9PT0gJ2Jvb2xlYW4nICYmICgodHlwZW9mKGYuZGVmYXVsdCkgIT09ICdib29sZWFuJykgJiYgZi5kZWZhdWx0ICYmICFmLmRlZmF1bHQudmFsdWUpICkge1xuICAgICAgZGVsZXRlIGYuZGVmYXVsdDtcbiAgICB9IGVsc2UgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSAoZi5yZWZlcmVuY2UgaW5zdGFuY2VvZiBBcnJheSkgPyBmLnJlZmVyZW5jZSA6IFtmLnJlZmVyZW5jZV07XG4gICAgICBmb3IgKGNvbnN0IHIgb2YgcmVmZXJlbmNlcykge1xuICAgICAgICBpZiAociAmJiByLmNyZWF0YWJsZSA9PT0gZmFsc2UgJiYgdHlwZW9mKHIudXBkYXRhYmxlKSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICByLnVwZGF0YWJsZSA9IGZhbHNlOyAvLyBVc2VyIG1pc3NpbmcgdXBkYXRhYmxlLCBtYXkgYmUgb3RoZXIgdG9vXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgc3dpdGNoIChpbnRlZ3JhdGlvbkNvZGUpIHtcbiAgICAgIGNhc2UgJ0JVTExIT1JOJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnQXBwb2ludG1lbnQnKSB7XG4gICAgICAgICAgaWYgKFsnZGF0ZUJlZ2luJywgJ2RhdGVFbmQnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoIWYudmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucyA9IHsgc3RlcDogMTgwMCB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucy5zdGVwID0gMTgwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGYuZGVmYXVsdCA9IGYubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnbm93JyA6ICczMC5taW51dGVzJztcbiAgICAgICAgICAgIGlmICghZi5hdXRvKSB7XG4gICAgICAgICAgICAgIGYuYXV0byA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZi5hdXRvW2YubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnbHQnIDogJ2d0J10gPSB7XG4gICAgICAgICAgICAgIGFnYWluc3Q6IGYubmFtZSA9PT0gJ2RhdGVCZWdpbicgPyAnZGF0ZUVuZCcgOiAnZGF0ZUJlZ2luJyxcbiAgICAgICAgICAgICAgb2Zmc2V0OiBgJHtmLm5hbWUgPT09ICdkYXRlQmVnaW4nID8gJy0zMCcgOiAnMzAnfS5taW51dGVzYFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2NvbW1lbnRzJykge1xuICAgICAgICAgIGlmICghZi52YWxpZGF0aW9ucykge1xuICAgICAgICAgICAgZi52YWx1ZGF0aW9ucyA9IHsgcmVxdWlyZWQ6IHRydWUgfTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZi52YWxpZGF0aW9ucy5yZXF1aXJlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdOb3RlJykge1xuICAgICAgICAgICAgZi50eXBlID0gJ3JpY2h0ZXh0JztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYubmFtZSA9PT0gJ2FkZHJlc3Muc3RhdGUnKSB7XG4gICAgICAgICAgZi5jcmVhdGFibGUgPSBmYWxzZTtcbiAgICAgICAgICBmLnVwZGF0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnR09PR0xFJzoge1xuICAgICAgICBpZiAoZi5uYW1lID09PSAnY29udGFjdElkJykge1xuICAgICAgICAgIGYubGFiZWwgPSAnQ29udGFjdCc7XG4gICAgICAgIH0gZWxzZSBpZiAoWydzdGFydCcsICdlbmQnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgaWYgKCFmLmF1dG8pIHtcbiAgICAgICAgICAgIGYuYXV0byA9IHt9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBmLmF1dG9bZi5uYW1lID09PSAnc3RhcnQnID8gJ2x0JyA6ICdndCddID0ge1xuICAgICAgICAgICAgYWdhaW5zdDogZi5uYW1lID09PSAnc3RhcnQnID8gJ2VuZCcgOiAnc3RhcnQnLFxuICAgICAgICAgICAgb2Zmc2V0OiBgJHtmLm5hbWUgPT09ICdzdGFydCcgPyAnLTMwJyA6ICczMCd9Lm1pbnV0ZXNgXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ09GRklDRTM2NSc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0V2ZW50cycpIHtcbiAgICAgICAgICBpZiAoWydzdGFydCcsICdlbmQnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgICBpZiAoIWYudmFsaWRhdGlvbnMpIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucyA9IHsgc3RlcDogMTgwMCB9O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZi52YWxpZGF0aW9ucy5zdGVwID0gMTgwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGYuZGVmYXVsdCA9IGYubmFtZSA9PT0gJ3N0YXJ0JyA/ICdub3cnIDogJzMwLm1pbnV0ZXMnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGFza3MnICYmIGYubmFtZSA9PT0gJ2NoZWNrbGlzdCcpIHtcbiAgICAgICAgICBmLmNyZWF0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdkZXNjcmlwdGlvbicgJiYgcmVzb3VyY2VUeXBlICE9PSAnVGFza3MnKSB7XG4gICAgICAgICAgZi50eXBlID0gJ3JpY2h0ZXh0JztcbiAgICAgICAgfSBlbHNlIGlmIChmLm5hbWUgPT09ICdjb250ZW50Jykge1xuICAgICAgICAgIGYudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1NBTEVTRk9SQ0UnOiB7XG4gICAgICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrJyAmJiBmLm5hbWUgPT09ICdXaGF0SWQnKSB7XG4gICAgICAgICAgZi5kaXNhYmxlZCA9IHtcbiAgICAgICAgICAgICdXaG9JZC50eXBlJzogJ0xlYWQnIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoWydEZXNjcmlwdGlvbicsICdQYXJlbnRJZCddLmluZGV4T2YoZi5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICBpZiAoIWYudmlzaWJsZSkge1xuICAgICAgICAgICAgZi52aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGYudHlwZSA9PT0gJ3JlZmVyZW5jZScpIHtcbiAgICAgICAgICBjb25zdCByZWZlcmVuY2VzID0gKGYucmVmZXJlbmNlIGluc3RhbmNlb2YgQXJyYXkpID8gZi5yZWZlcmVuY2UgOiBbZi5yZWZlcmVuY2VdO1xuICAgICAgICAgIGZvciAoY29uc3QgciBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICBpZiAociAmJiBbJ0FjY291bnQnXS5pbmRleE9mKHIubmFtZSkgIT09IC0xKSB7IC8vIGZvcmNlIGNyZWF0YWJsZVxuICAgICAgICAgICAgICByLmNyZWF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgIHIudXBkYXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdTVUdBUic6IHtcbiAgICAgICAgaWYgKFsnZGVzY3JpcHRpb24nLCAncGFyZW50X2lkJywgJ2NvbnRhY3RfaWQnLCAnY29udGFjdHMnXS5pbmRleE9mKGYubmFtZSkgIT09IC0xKSB7XG4gICAgICAgICAgaWYgKCFmLnZpc2libGUpIHtcbiAgICAgICAgICAgIGYudmlzaWJsZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChmLnR5cGUgPT09ICdyZWZlcmVuY2UnKSB7XG4gICAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IChmLnJlZmVyZW5jZSBpbnN0YW5jZW9mIEFycmF5KSA/IGYucmVmZXJlbmNlIDogW2YucmVmZXJlbmNlXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHIgb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgaWYgKHIgJiYgWydBY2NvdW50cycsICdDb250YWN0cycsICdMZWFkcyddLmluZGV4T2Yoci5uYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgci5sYWJlbCA9IHIubmFtZS5zbGljZSgwLCAtMSk7IC8vIFVzZSBzaW5ndWxhciBsYWJlbHNcbiAgICAgICAgICAgICAgci5jcmVhdGFibGUgPSB0cnVlO1xuICAgICAgICAgICAgICByLnVwZGF0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnWkVOREVTSyc6IHtcbiAgICAgICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ1RpY2tldCcgJiYgZi5uYW1lID09PSAnYXNzaWduZWUnKSB7XG4gICAgICAgICAgZi5yZWZlcmVuY2UudXBkYXRhYmxlID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdIVUJTUE9UJzoge1xuICAgICAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnTG9nQ2FsbCcgJiYgZi5uYW1lID09PSAnYm9keScpIHtcbiAgICAgICAgICBmLnR5cGUgPSAncmljaHRleHQnO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnTkVUU1VJVEUnOiB7XG4gICAgICAgIGlmIChmLm5hbWUgPT09ICdjb21wYW55JyAmJiAhZi5hdXRvKSB7XG4gICAgICAgICAgZi5hdXRvID0ge1xuICAgICAgICAgICAgc2VhcmNoOiB7XG4gICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIGNvbnRhY3RJZDogJ2NvbnRhY3QuaWQnXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHVybDogJy4uL0NvbnRhY3QvJHtjb250YWN0SWR9P2V4cGFuZD1jb21wYW55JyxcbiAgICAgICAgICAgICAgZXh0cmFjdDogJ2NvbXBhbnknXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZi50eXBlID09PSAnY29tcG9zaXRlJyAmJiBmLmZpZWxkcykge1xuICAgICAgZm9yIChjb25zdCBmZiBvZiBmLmZpZWxkcykge1xuICAgICAgICBmaWVsZEZpeGVzQnlJbnRlZ3JhdGlvbihmZik7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8vIGNvbW1vbiBmaXhlcyBmb3IgYWxsIGludGVncmF0aW9uc1xuICBpZiAobWV0YVYzLmxheW91dC5zZWN0aW9ucy5sZW5ndGgpIHtcbiAgICBmb3IgKGNvbnN0IHMgb2YgKG1ldGFWMy5sYXlvdXQuc2VjdGlvbnMpKSB7XG4gICAgICBpZiAoIXMgfHwgIXMuZmllbGRzKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBmIG9mIHMuZmllbGRzKSB7XG4gICAgICAgIGZpZWxkRml4ZXNCeUludGVncmF0aW9uKGYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEdvb2dsZSBHbWFpbCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnR09PR0xFJykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdNYWlsJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdjMgYXBpXG4gICAgICAgICAgbGFiZWw6ICdDb21tZW50cycsXG4gICAgICAgICAgbmFtZTogJ2NvbW1lbnRzJyxcbiAgICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICAgIHJlc291cmNlVHlwZTogJ0NvbW1lbnQnLFxuICAgICAgICAgICAgbGFiZWw6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfV07XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdUYXNrJykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbe1xuICAgICAgICAgIGxhYmVsOiAnU3VidGFza3MnLFxuICAgICAgICAgIG5hbWU6ICdzdWJUYXNrcycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdTdWJ0YXNrJyxcbiAgICAgICAgICAgIGxhYmVsOiAnU3VidGFzaydcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnWkVOREVTSycpIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAnVGlja2V0Jykge1xuICAgICAgaWYgKCFtZXRhVjMubGF5b3V0LmNoaWxkcmVuKSB7XG4gICAgICAgIG1ldGFWMy5sYXlvdXQuY2hpbGRyZW4gPSBbeyAvLyBaZW5kZXNrIFRpY2tldCBjaGlsZHJlbiBlbmhhbmNlbWVudFxuICAgICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICAgIG5hbWU6ICdjb21tZW50cycsXG4gICAgICAgICAgcmVmZXJlbmNlOiB7XG4gICAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICAgIGxhYmVsOiAnQ29tbWVudCcsXG4gICAgICAgICAgICBlZGl0YWJsZTogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgIH1dO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocmVzb3VyY2VUeXBlID09PSAnQ29tbWVudCcpIHtcbiAgICAgIG1ldGFWMy5sYXlvdXQuZWRpdGFibGUgPSBmYWxzZTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnTVNEWU5BTUlDUycgJiYgIW1ldGFWMy5maWVsZHNNYXApIHtcbiAgICBpZiAocmVzb3VyY2VUeXBlID09PSAncGhvbmVjYWxsJykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgY29udGFjdGFibGVzOiBbJ2Zyb20nLCAndG8nXSxcbiAgICAgICAgc3ViamVjdDogJ3N1YmplY3QnLFxuICAgICAgICBwaG9uZU51bWJlcjogJ3Bob25lbnVtYmVyJyxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdjb250YWN0Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZmlyc3ROYW1lOiAnZmlyc3RuYW1lJyxcbiAgICAgICAgbGFzdE5hbWU6ICdsYXN0bmFtZSdcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZXNvdXJjZVR5cGUgPT09ICdhY2NvdW50Jykge1xuICAgICAgbWV0YVYzLmZpZWxkc01hcCA9IHtcbiAgICAgICAgcGhvbmVOdW1iZXI6ICd0ZWxlcGhvbmUxJyxcbiAgICAgICAgZGlzcGxheU5hbWU6ICduYW1lJ1xuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaW50ZWdyYXRpb25Db2RlID09PSAnT0ZGSUNFMzY1Jykge1xuICAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdDb252ZXJzYXRpb25zJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgICAgbWV0YVYzLmxheW91dC5jaGlsZHJlbiA9IFt7IC8vIGNoaWxkcmVuIGVuaGFuY2VtZW50XG4gICAgICAgIGxhYmVsOiAnQ29tbWVudHMnLFxuICAgICAgICBuYW1lOiAnY29tbWVudHMnLFxuICAgICAgICByZWZlcmVuY2U6IHtcbiAgICAgICAgICByZXNvdXJjZVR5cGU6ICdDb21tZW50JyxcbiAgICAgICAgICBsYWJlbDogJ0NvbW1lbnQnLFxuICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XTtcbiAgICB9IGVsc2UgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NvbW1lbnQnKSB7XG4gICAgICBtZXRhVjMubGF5b3V0LmVkaXRhYmxlID0gZmFsc2U7XG4gICAgfVxuICB9IGVsc2UgaWYgKGludGVncmF0aW9uQ29kZSA9PT0gJ0pPQkRJVkEnKSB7XG4gICAgaWYgKHJlc291cmNlVHlwZSA9PT0gJ0NhbmRpZGF0ZU5vdGUnIHx8IHJlc291cmNlVHlwZSA9PT0gJ0NvbnRhY3ROb3RlJykge1xuICAgICAgbWV0YVYzLmxheW91dC5lZGl0YWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgLy8gfSBlbHNlIGlmIChpbnRlZ3JhdGlvbkNvZGUgPT09ICdDTElPJykge1xuICAvLyAgIGlmIChyZXNvdXJjZVR5cGUgPT09ICdQaG9uZUNvbW11bmljYXRpb24nKSB7XG4gIC8vICAgICBmb3IgKGNvbnN0IGYgb2YgbWV0YVYzLmxheW91dC5zZWN0aW9uc1swXS5maWVsZHMpIHtcbiAgLy8gICAgICAgaWYgKGYubmFtZSA9PT0gJ3RpbWVfZW50cmllcycpIHtcbiAgLy8gICAgICAgICBmLnZpc2libGUgPSAnQ1JFQVRFJztcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgfVxuICByZXR1cm4gc29ydE9iaihtZXRhVjMpO1xufTtcbiJdfQ==
|