ag-psd 14.3.3 → 14.3.6

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.
@@ -579,5 +579,14 @@ target) { return target._ir4001 !== undefined; }, function (reader, target, left
579
579
  }, function (writer, target) {
580
580
  writeBytes(writer, target._ir4001);
581
581
  });
582
+ // TODO: Unfinished
583
+ MOCK_HANDLERS && addHandler(4002, // Plug-In resource(s)
584
+ function (// Plug-In resource(s)
585
+ target) { return target._ir4002 !== undefined; }, function (reader, target, left) {
586
+ LOG_MOCK_HANDLERS && console.log('image resource 4002', left());
587
+ target._ir4002 = readBytes(reader, left());
588
+ }, function (writer, target) {
589
+ writeBytes(writer, target._ir4002);
590
+ });
582
591
 
583
- //# sourceMappingURL=data:application/json;charset=utf8;base64,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LFFBQU0sQ0FBQyxDQUFDO1FBQ3hDLGNBQWMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztLQUM3QztTQUFNLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtRQUMxQixJQUFNLElBQUksR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxjQUFjLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDNUM7U0FBTTtRQUNOLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDakU7QUFDRixDQUFDLEVBQ0QsVUFBQyxNQUFNLEVBQUUsTUFBTTtJQUNkLFVBQVUsQ0FBQyxNQUFNLEVBQUcsTUFBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FDRCxDQUFDIiwiZmlsZSI6ImltYWdlUmVzb3VyY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9CeXRlQXJyYXkgfSBmcm9tICdiYXNlNjQtanMnO1xuaW1wb3J0IHsgSW1hZ2VSZXNvdXJjZXMsIFJlYWRPcHRpb25zLCBSZW5kZXJpbmdJbnRlbnQgfSBmcm9tICcuL3BzZCc7XG5pbXBvcnQge1xuXHRQc2RSZWFkZXIsIHJlYWRQYXNjYWxTdHJpbmcsIHJlYWRVbmljb2RlU3RyaW5nLCByZWFkVWludDMyLCByZWFkVWludDE2LCByZWFkVWludDgsIHJlYWRGbG9hdDY0LFxuXHRyZWFkQnl0ZXMsIHNraXBCeXRlcywgcmVhZEZsb2F0MzIsIHJlYWRJbnQxNiwgcmVhZEZpeGVkUG9pbnQzMiwgcmVhZFNpZ25hdHVyZSwgY2hlY2tTaWduYXR1cmUsXG5cdHJlYWRTZWN0aW9uLCByZWFkQ29sb3Jcbn0gZnJvbSAnLi9wc2RSZWFkZXInO1xuaW1wb3J0IHtcblx0UHNkV3JpdGVyLCB3cml0ZVBhc2NhbFN0cmluZywgd3JpdGVVbmljb2RlU3RyaW5nLCB3cml0ZVVpbnQzMiwgd3JpdGVVaW50OCwgd3JpdGVGbG9hdDY0LCB3cml0ZVVpbnQxNixcblx0d3JpdGVCeXRlcywgd3JpdGVJbnQxNiwgd3JpdGVGbG9hdDMyLCB3cml0ZUZpeGVkUG9pbnQzMiwgd3JpdGVVbmljb2RlU3RyaW5nV2l0aFBhZGRpbmcsIHdyaXRlQ29sb3IsXG59IGZyb20gJy4vcHNkV3JpdGVyJztcbmltcG9ydCB7IGNyZWF0ZUNhbnZhc0Zyb21EYXRhLCBjcmVhdGVFbnVtLCBNT0NLX0hBTkRMRVJTIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGRlY29kZVN0cmluZywgZW5jb2RlU3RyaW5nIH0gZnJvbSAnLi91dGY4JztcbmltcG9ydCB7IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvciwgd3JpdGVWZXJzaW9uQW5kRGVzY3JpcHRvciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VIYW5kbGVyIHtcblx0a2V5OiBudW1iZXI7XG5cdGhhczogKHRhcmdldDogSW1hZ2VSZXNvdXJjZXMpID0+IGJvb2xlYW47XG5cdHJlYWQ6IChyZWFkZXI6IFBzZFJlYWRlciwgdGFyZ2V0OiBJbWFnZVJlc291cmNlcywgbGVmdDogKCkgPT4gbnVtYmVyLCBvcHRpb25zOiBSZWFkT3B0aW9ucykgPT4gdm9pZDtcblx0d3JpdGU6ICh3cml0ZXI6IFBzZFdyaXRlciwgdGFyZ2V0OiBJbWFnZVJlc291cmNlcykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHJlc291cmNlSGFuZGxlcnM6IFJlc291cmNlSGFuZGxlcltdID0gW107XG5leHBvcnQgY29uc3QgcmVzb3VyY2VIYW5kbGVyc01hcDogeyBba2V5OiBudW1iZXJdOiBSZXNvdXJjZUhhbmRsZXIgfSA9IHt9O1xuXG5mdW5jdGlvbiBhZGRIYW5kbGVyKFxuXHRrZXk6IG51bWJlcixcblx0aGFzOiAodGFyZ2V0OiBJbWFnZVJlc291cmNlcykgPT4gYm9vbGVhbixcblx0cmVhZDogKHJlYWRlcjogUHNkUmVhZGVyLCB0YXJnZXQ6IEltYWdlUmVzb3VyY2VzLCBsZWZ0OiAoKSA9PiBudW1iZXIsIG9wdGlvbnM6IFJlYWRPcHRpb25zKSA9PiB2b2lkLFxuXHR3cml0ZTogKHdyaXRlcjogUHNkV3JpdGVyLCB0YXJnZXQ6IEltYWdlUmVzb3VyY2VzKSA9PiB2b2lkLFxuKSB7XG5cdGNvbnN0IGhhbmRsZXI6IFJlc291cmNlSGFuZGxlciA9IHsga2V5LCBoYXMsIHJlYWQsIHdyaXRlIH07XG5cdHJlc291cmNlSGFuZGxlcnMucHVzaChoYW5kbGVyKTtcblx0cmVzb3VyY2VIYW5kbGVyc01hcFtoYW5kbGVyLmtleV0gPSBoYW5kbGVyO1xufVxuXG5jb25zdCBMT0dfTU9DS19IQU5ETEVSUyA9IGZhbHNlO1xuY29uc3QgUkVTT0xVVElPTl9VTklUUyA9IFt1bmRlZmluZWQsICdQUEknLCAnUFBDTSddO1xuY29uc3QgTUVBU1VSRU1FTlRfVU5JVFMgPSBbdW5kZWZpbmVkLCAnSW5jaGVzJywgJ0NlbnRpbWV0ZXJzJywgJ1BvaW50cycsICdQaWNhcycsICdDb2x1bW5zJ107XG5jb25zdCBoZXggPSAnMDEyMzQ1Njc4OWFiY2RlZic7XG5cbmZ1bmN0aW9uIGNoYXJUb05pYmJsZShjb2RlOiBudW1iZXIpIHtcblx0cmV0dXJuIGNvZGUgPD0gNTcgPyBjb2RlIC0gNDggOiBjb2RlIC0gODc7XG59XG5cbmZ1bmN0aW9uIGJ5dGVBdCh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG5cdHJldHVybiAoY2hhclRvTmliYmxlKHZhbHVlLmNoYXJDb2RlQXQoaW5kZXgpKSA8PCA0KSB8IGNoYXJUb05pYmJsZSh2YWx1ZS5jaGFyQ29kZUF0KGluZGV4ICsgMSkpO1xufVxuXG5mdW5jdGlvbiByZWFkVXRmOFN0cmluZyhyZWFkZXI6IFBzZFJlYWRlciwgbGVuZ3RoOiBudW1iZXIpIHtcblx0Y29uc3QgYnVmZmVyID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVuZ3RoKTtcblx0cmV0dXJuIGRlY29kZVN0cmluZyhidWZmZXIpO1xufVxuXG5mdW5jdGlvbiB3cml0ZVV0ZjhTdHJpbmcod3JpdGVyOiBQc2RXcml0ZXIsIHZhbHVlOiBzdHJpbmcpIHtcblx0Y29uc3QgYnVmZmVyID0gZW5jb2RlU3RyaW5nKHZhbHVlKTtcblx0d3JpdGVCeXRlcyh3cml0ZXIsIGJ1ZmZlcik7XG59XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAyOCwgLy8gSVBUQy1OQUEgcmVjb3JkXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyMTAyOCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgMTAyOCcsIGxlZnQoKSk7XG5cdFx0KHRhcmdldCBhcyBhbnkpLl9pcjEwMjggPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjEwMjgpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA2MSxcblx0dGFyZ2V0ID0+IHRhcmdldC5jYXB0aW9uRGlnZXN0ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGxldCBjYXB0aW9uRGlnZXN0ID0gJyc7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcblx0XHRcdGNvbnN0IGJ5dGUgPSByZWFkVWludDgocmVhZGVyKTtcblx0XHRcdGNhcHRpb25EaWdlc3QgKz0gaGV4W2J5dGUgPj4gNF07XG5cdFx0XHRjYXB0aW9uRGlnZXN0ICs9IGhleFtieXRlICYgMHhmXTtcblx0XHR9XG5cblx0XHR0YXJnZXQuY2FwdGlvbkRpZ2VzdCA9IGNhcHRpb25EaWdlc3Q7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuXHRcdFx0d3JpdGVVaW50OCh3cml0ZXIsIGJ5dGVBdCh0YXJnZXQuY2FwdGlvbkRpZ2VzdCEsIGkgKiAyKSk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA2MCxcblx0dGFyZ2V0ID0+IHRhcmdldC54bXBNZXRhZGF0YSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHRhcmdldC54bXBNZXRhZGF0YSA9IHJlYWRVdGY4U3RyaW5nKHJlYWRlciwgbGVmdCgpKSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB3cml0ZVV0ZjhTdHJpbmcod3JpdGVyLCB0YXJnZXQueG1wTWV0YWRhdGEhKSxcbik7XG5cbmNvbnN0IEludGUgPSBjcmVhdGVFbnVtPFJlbmRlcmluZ0ludGVudD4oJ0ludGUnLCAncGVyY2VwdHVhbCcsIHtcblx0J3BlcmNlcHR1YWwnOiAnSW1nICcsXG5cdCdzYXR1cmF0aW9uJzogJ0dycCAnLFxuXHQncmVsYXRpdmUgY29sb3JpbWV0cmljJzogJ0Nscm0nLFxuXHQnYWJzb2x1dGUgY29sb3JpbWV0cmljJzogJ0FDbHInLFxufSk7XG5cbmludGVyZmFjZSBQcmludEluZm9ybWF0aW9uRGVzY3JpcHRvciB7XG5cdCdObSAgJz86IHN0cmluZztcblx0Q2xyUz86IHN0cmluZztcblx0UHN0Uz86IGJvb2xlYW47XG5cdE1wQmw/OiBib29sZWFuO1xuXHRJbnRlPzogc3RyaW5nO1xuXHRoYXJkUHJvb2Y/OiBib29sZWFuO1xuXHRwcmludFNpeHRlZW5CaXQ/OiBib29sZWFuO1xuXHRwcmludGVyTmFtZT86IHN0cmluZztcblx0cHJpbnRQcm9vZlNldHVwPzoge1xuXHRcdEJsdG46IHN0cmluZztcblx0fSB8IHtcblx0XHRwcm9maWxlOiBzdHJpbmc7XG5cdFx0SW50ZTogc3RyaW5nO1xuXHRcdE1wQmw6IGJvb2xlYW47XG5cdFx0cGFwZXJXaGl0ZTogYm9vbGVhbjtcblx0fTtcbn1cblxuYWRkSGFuZGxlcihcblx0MTA4Mixcblx0dGFyZ2V0ID0+IHRhcmdldC5wcmludEluZm9ybWF0aW9uICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGRlc2M6IFByaW50SW5mb3JtYXRpb25EZXNjcmlwdG9yID0gcmVhZFZlcnNpb25BbmREZXNjcmlwdG9yKHJlYWRlcik7XG5cblx0XHR0YXJnZXQucHJpbnRJbmZvcm1hdGlvbiA9IHtcblx0XHRcdHByaW50ZXJOYW1lOiBkZXNjLnByaW50ZXJOYW1lIHx8ICcnLFxuXHRcdFx0cmVuZGVyaW5nSW50ZW50OiBJbnRlLmRlY29kZShkZXNjLkludGUgPz8gJ0ludGUuSW1nICcpLFxuXHRcdH07XG5cblx0XHRjb25zdCBpbmZvID0gdGFyZ2V0LnByaW50SW5mb3JtYXRpb247XG5cblx0XHRpZiAoZGVzYy5Qc3RTICE9PSB1bmRlZmluZWQpIGluZm8ucHJpbnRlck1hbmFnZXNDb2xvcnMgPSBkZXNjLlBzdFM7XG5cdFx0aWYgKGRlc2NbJ05tICAnXSAhPT0gdW5kZWZpbmVkKSBpbmZvLnByaW50ZXJQcm9maWxlID0gZGVzY1snTm0gICddO1xuXHRcdGlmIChkZXNjLk1wQmwgIT09IHVuZGVmaW5lZCkgaW5mby5ibGFja1BvaW50Q29tcGVuc2F0aW9uID0gZGVzYy5NcEJsO1xuXHRcdGlmIChkZXNjLnByaW50U2l4dGVlbkJpdCAhPT0gdW5kZWZpbmVkKSBpbmZvLnByaW50U2l4dGVlbkJpdCA9IGRlc2MucHJpbnRTaXh0ZWVuQml0O1xuXHRcdGlmIChkZXNjLmhhcmRQcm9vZiAhPT0gdW5kZWZpbmVkKSBpbmZvLmhhcmRQcm9vZiA9IGRlc2MuaGFyZFByb29mO1xuXHRcdGlmIChkZXNjLnByaW50UHJvb2ZTZXR1cCkge1xuXHRcdFx0aWYgKCdCbHRuJyBpbiBkZXNjLnByaW50UHJvb2ZTZXR1cCkge1xuXHRcdFx0XHRpbmZvLnByb29mU2V0dXAgPSB7IGJ1aWx0aW46IGRlc2MucHJpbnRQcm9vZlNldHVwLkJsdG4uc3BsaXQoJy4nKVsxXSB9O1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aW5mby5wcm9vZlNldHVwID0ge1xuXHRcdFx0XHRcdHByb2ZpbGU6IGRlc2MucHJpbnRQcm9vZlNldHVwLnByb2ZpbGUsXG5cdFx0XHRcdFx0cmVuZGVyaW5nSW50ZW50OiBJbnRlLmRlY29kZShkZXNjLnByaW50UHJvb2ZTZXR1cC5JbnRlID8/ICdJbnRlLkltZyAnKSxcblx0XHRcdFx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uOiAhIWRlc2MucHJpbnRQcm9vZlNldHVwLk1wQmwsXG5cdFx0XHRcdFx0cGFwZXJXaGl0ZTogISFkZXNjLnByaW50UHJvb2ZTZXR1cC5wYXBlcldoaXRlLFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgaW5mbyA9IHRhcmdldC5wcmludEluZm9ybWF0aW9uITtcblx0XHRjb25zdCBkZXNjOiBQcmludEluZm9ybWF0aW9uRGVzY3JpcHRvciA9IHt9O1xuXG5cdFx0aWYgKGluZm8ucHJpbnRlck1hbmFnZXNDb2xvcnMpIHtcblx0XHRcdGRlc2MuUHN0UyA9IHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmIChpbmZvLmhhcmRQcm9vZiAhPT0gdW5kZWZpbmVkKSBkZXNjLmhhcmRQcm9vZiA9ICEhaW5mby5oYXJkUHJvb2Y7XG5cdFx0XHRkZXNjLkNsclMgPSAnQ2xyUy5SR0JDJzsgLy8gVE9ETzogPz8/XG5cdFx0XHRkZXNjWydObSAgJ10gPSBpbmZvLnByaW50ZXJQcm9maWxlID8/ICdDSUUgUkdCJztcblx0XHR9XG5cblx0XHRkZXNjLkludGUgPSBJbnRlLmVuY29kZShpbmZvLnJlbmRlcmluZ0ludGVudCk7XG5cblx0XHRpZiAoIWluZm8ucHJpbnRlck1hbmFnZXNDb2xvcnMpIGRlc2MuTXBCbCA9ICEhaW5mby5ibGFja1BvaW50Q29tcGVuc2F0aW9uO1xuXG5cdFx0ZGVzYy5wcmludFNpeHRlZW5CaXQgPSAhIWluZm8ucHJpbnRTaXh0ZWVuQml0O1xuXHRcdGRlc2MucHJpbnRlck5hbWUgPSBpbmZvLnByaW50ZXJOYW1lIHx8ICcnO1xuXG5cdFx0aWYgKGluZm8ucHJvb2ZTZXR1cCAmJiAncHJvZmlsZScgaW4gaW5mby5wcm9vZlNldHVwKSB7XG5cdFx0XHRkZXNjLnByaW50UHJvb2ZTZXR1cCA9IHtcblx0XHRcdFx0cHJvZmlsZTogaW5mby5wcm9vZlNldHVwLnByb2ZpbGUgfHwgJycsXG5cdFx0XHRcdEludGU6IEludGUuZW5jb2RlKGluZm8ucHJvb2ZTZXR1cC5yZW5kZXJpbmdJbnRlbnQpLFxuXHRcdFx0XHRNcEJsOiAhIWluZm8ucHJvb2ZTZXR1cC5ibGFja1BvaW50Q29tcGVuc2F0aW9uLFxuXHRcdFx0XHRwYXBlcldoaXRlOiAhIWluZm8ucHJvb2ZTZXR1cC5wYXBlcldoaXRlLFxuXHRcdFx0fTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGVzYy5wcmludFByb29mU2V0dXAgPSB7XG5cdFx0XHRcdEJsdG46IGluZm8ucHJvb2ZTZXR1cD8uYnVpbHRpbiA/IGBidWlsdGluUHJvb2YuJHtpbmZvLnByb29mU2V0dXAuYnVpbHRpbn1gIDogJ2J1aWx0aW5Qcm9vZi5wcm9vZkNNWUsnLFxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHR3cml0ZVZlcnNpb25BbmREZXNjcmlwdG9yKHdyaXRlciwgJycsICdwcmludE91dHB1dCcsIGRlc2MpO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDgzLCAvLyBQcmludCBzdHlsZVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwODMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwODMnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDgzID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblxuXHRcdC8vIFRPRE86XG5cdFx0Ly8gY29uc3QgZGVzYyA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCcxMDgzJywgcmVxdWlyZSgndXRpbCcpLmluc3BlY3QoZGVzYywgZmFsc2UsIDk5LCB0cnVlKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTA4Myk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDA1LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnJlc29sdXRpb25JbmZvICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGhvcml6b250YWxSZXNvbHV0aW9uID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IGhvcml6b250YWxSZXNvbHV0aW9uVW5pdCA9IHJlYWRVaW50MTYocmVhZGVyKTtcblx0XHRjb25zdCB3aWR0aFVuaXQgPSByZWFkVWludDE2KHJlYWRlcik7XG5cdFx0Y29uc3QgdmVydGljYWxSZXNvbHV0aW9uID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IHZlcnRpY2FsUmVzb2x1dGlvblVuaXQgPSByZWFkVWludDE2KHJlYWRlcik7XG5cdFx0Y29uc3QgaGVpZ2h0VW5pdCA9IHJlYWRVaW50MTYocmVhZGVyKTtcblxuXHRcdHRhcmdldC5yZXNvbHV0aW9uSW5mbyA9IHtcblx0XHRcdGhvcml6b250YWxSZXNvbHV0aW9uLFxuXHRcdFx0aG9yaXpvbnRhbFJlc29sdXRpb25Vbml0OiBSRVNPTFVUSU9OX1VOSVRTW2hvcml6b250YWxSZXNvbHV0aW9uVW5pdF0gfHwgJ1BQSScgYXMgYW55LFxuXHRcdFx0d2lkdGhVbml0OiBNRUFTVVJFTUVOVF9VTklUU1t3aWR0aFVuaXRdIHx8ICdJbmNoZXMnIGFzIGFueSxcblx0XHRcdHZlcnRpY2FsUmVzb2x1dGlvbixcblx0XHRcdHZlcnRpY2FsUmVzb2x1dGlvblVuaXQ6IFJFU09MVVRJT05fVU5JVFNbdmVydGljYWxSZXNvbHV0aW9uVW5pdF0gfHwgJ1BQSScgYXMgYW55LFxuXHRcdFx0aGVpZ2h0VW5pdDogTUVBU1VSRU1FTlRfVU5JVFNbaGVpZ2h0VW5pdF0gfHwgJ0luY2hlcycgYXMgYW55LFxuXHRcdH07XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGluZm8gPSB0YXJnZXQucmVzb2x1dGlvbkluZm8hO1xuXG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBpbmZvLmhvcml6b250YWxSZXNvbHV0aW9uIHx8IDApO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgTWF0aC5tYXgoMSwgUkVTT0xVVElPTl9VTklUUy5pbmRleE9mKGluZm8uaG9yaXpvbnRhbFJlc29sdXRpb25Vbml0KSkpO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgTWF0aC5tYXgoMSwgTUVBU1VSRU1FTlRfVU5JVFMuaW5kZXhPZihpbmZvLndpZHRoVW5pdCkpKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIGluZm8udmVydGljYWxSZXNvbHV0aW9uIHx8IDApO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgTWF0aC5tYXgoMSwgUkVTT0xVVElPTl9VTklUUy5pbmRleE9mKGluZm8udmVydGljYWxSZXNvbHV0aW9uVW5pdCkpKTtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIE1hdGgubWF4KDEsIE1FQVNVUkVNRU5UX1VOSVRTLmluZGV4T2YoaW5mby5oZWlnaHRVbml0KSkpO1xuXHR9LFxuKTtcblxuY29uc3QgcHJpbnRTY2FsZVN0eWxlcyA9IFsnY2VudGVyZWQnLCAnc2l6ZSB0byBmaXQnLCAndXNlciBkZWZpbmVkJ107XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjIsXG5cdHRhcmdldCA9PiB0YXJnZXQucHJpbnRTY2FsZSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHR0YXJnZXQucHJpbnRTY2FsZSA9IHtcblx0XHRcdHN0eWxlOiBwcmludFNjYWxlU3R5bGVzW3JlYWRJbnQxNihyZWFkZXIpXSBhcyBhbnksXG5cdFx0XHR4OiByZWFkRmxvYXQzMihyZWFkZXIpLFxuXHRcdFx0eTogcmVhZEZsb2F0MzIocmVhZGVyKSxcblx0XHRcdHNjYWxlOiByZWFkRmxvYXQzMihyZWFkZXIpLFxuXHRcdH07XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IHsgc3R5bGUsIHgsIHksIHNjYWxlIH0gPSB0YXJnZXQucHJpbnRTY2FsZSE7XG5cdFx0d3JpdGVJbnQxNih3cml0ZXIsIE1hdGgubWF4KDAsIHByaW50U2NhbGVTdHlsZXMuaW5kZXhPZihzdHlsZSEpKSk7XG5cdFx0d3JpdGVGbG9hdDMyKHdyaXRlciwgeCB8fCAwKTtcblx0XHR3cml0ZUZsb2F0MzIod3JpdGVyLCB5IHx8IDApO1xuXHRcdHdyaXRlRmxvYXQzMih3cml0ZXIsIHNjYWxlIHx8IDApO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAwNixcblx0dGFyZ2V0ID0+IHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdGNvbnN0IHZhbHVlID0gcmVhZFBhc2NhbFN0cmluZyhyZWFkZXIsIDEpO1xuXHRcdFx0dGFyZ2V0LmFscGhhQ2hhbm5lbE5hbWVzLnB1c2godmFsdWUpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBuYW1lIG9mIHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyEpIHtcblx0XHRcdHdyaXRlUGFzY2FsU3RyaW5nKHdyaXRlciwgbmFtZSwgMSk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA0NSxcblx0dGFyZ2V0ID0+IHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcy5wdXNoKHJlYWRVbmljb2RlU3RyaW5nKHJlYWRlcikpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBuYW1lIG9mIHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyEpIHtcblx0XHRcdHdyaXRlVW5pY29kZVN0cmluZ1dpdGhQYWRkaW5nKHdyaXRlciwgbmFtZSk7XG5cdFx0fVxuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDc3LFxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwNzcgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwNzcnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDc3ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDc3KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNTMsXG5cdHRhcmdldCA9PiB0YXJnZXQuYWxwaGFJZGVudGlmaWVycyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuYWxwaGFJZGVudGlmaWVycyA9IFtdO1xuXG5cdFx0d2hpbGUgKGxlZnQoKSA+PSA0KSB7XG5cdFx0XHR0YXJnZXQuYWxwaGFJZGVudGlmaWVycy5wdXNoKHJlYWRVaW50MzIocmVhZGVyKSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRmb3IgKGNvbnN0IGlkIG9mIHRhcmdldC5hbHBoYUlkZW50aWZpZXJzISkge1xuXHRcdFx0d3JpdGVVaW50MzIod3JpdGVyLCBpZCk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAxMCxcblx0dGFyZ2V0ID0+IHRhcmdldC5iYWNrZ3JvdW5kQ29sb3IgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB0YXJnZXQuYmFja2dyb3VuZENvbG9yID0gcmVhZENvbG9yKHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVDb2xvcih3cml0ZXIsIHRhcmdldC5iYWNrZ3JvdW5kQ29sb3IhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMzcsXG5cdHRhcmdldCA9PiB0YXJnZXQuZ2xvYmFsQW5nbGUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB0YXJnZXQuZ2xvYmFsQW5nbGUgPSByZWFkVWludDMyKHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVVaW50MzIod3JpdGVyLCB0YXJnZXQuZ2xvYmFsQW5nbGUhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNDksXG5cdHRhcmdldCA9PiB0YXJnZXQuZ2xvYmFsQWx0aXR1ZGUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB0YXJnZXQuZ2xvYmFsQWx0aXR1ZGUgPSByZWFkVWludDMyKHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVVaW50MzIod3JpdGVyLCB0YXJnZXQuZ2xvYmFsQWx0aXR1ZGUhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMTEsXG5cdHRhcmdldCA9PiB0YXJnZXQucHJpbnRGbGFncyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHR0YXJnZXQucHJpbnRGbGFncyA9IHtcblx0XHRcdGxhYmVsczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdGNyb3BNYXJrczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdGNvbG9yQmFyczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdHJlZ2lzdHJhdGlvbk1hcmtzOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0bmVnYXRpdmU6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHRmbGlwOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0aW50ZXJwb2xhdGU6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHRjYXB0aW9uOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0cHJpbnRGbGFnczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHR9O1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBmbGFncyA9IHRhcmdldC5wcmludEZsYWdzITtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MubGFiZWxzID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5jcm9wTWFya3MgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLmNvbG9yQmFycyA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MucmVnaXN0cmF0aW9uTWFya3MgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLm5lZ2F0aXZlID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5mbGlwID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5pbnRlcnBvbGF0ZSA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MuY2FwdGlvbiA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MucHJpbnRGbGFncyA/IDEgOiAwKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAwMDAsIC8vIFByaW50IGZsYWdzXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyMTAwMDAgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMDAwJywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTAwMDAgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjEwMDAwKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAxMywgLy8gQ29sb3IgaGFsZnRvbmluZ1xuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMTMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMTMnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDEzID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDEzKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAxNiwgLy8gQ29sb3IgdHJhbnNmZXIgZnVuY3Rpb25zXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyMTAxNiAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgMTAxNicsIGxlZnQoKSk7XG5cdFx0KHRhcmdldCBhcyBhbnkpLl9pcjEwMTYgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjEwMTYpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAyNCxcblx0dGFyZ2V0ID0+IHRhcmdldC5sYXllclN0YXRlICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4gdGFyZ2V0LmxheWVyU3RhdGUgPSByZWFkVWludDE2KHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVVaW50MTYod3JpdGVyLCB0YXJnZXQubGF5ZXJTdGF0ZSEpLFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAyNixcblx0dGFyZ2V0ID0+IHRhcmdldC5sYXllcnNHcm91cCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQubGF5ZXJzR3JvdXAgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdHRhcmdldC5sYXllcnNHcm91cC5wdXNoKHJlYWRVaW50MTYocmVhZGVyKSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRmb3IgKGNvbnN0IGcgb2YgdGFyZ2V0LmxheWVyc0dyb3VwISkge1xuXHRcdFx0d3JpdGVVaW50MTYod3JpdGVyLCBnKTtcblx0XHR9XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDcyLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmxheWVyR3JvdXBzRW5hYmxlZElkICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdHRhcmdldC5sYXllckdyb3Vwc0VuYWJsZWRJZCA9IFtdO1xuXG5cdFx0d2hpbGUgKGxlZnQoKSkge1xuXHRcdFx0dGFyZ2V0LmxheWVyR3JvdXBzRW5hYmxlZElkLnB1c2gocmVhZFVpbnQ4KHJlYWRlcikpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBpZCBvZiB0YXJnZXQubGF5ZXJHcm91cHNFbmFibGVkSWQhKSB7XG5cdFx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgaWQpO1xuXHRcdH1cblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjksXG5cdHRhcmdldCA9PiB0YXJnZXQubGF5ZXJTZWxlY3Rpb25JZHMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0bGV0IGNvdW50ID0gcmVhZFVpbnQxNihyZWFkZXIpO1xuXHRcdHRhcmdldC5sYXllclNlbGVjdGlvbklkcyA9IFtdO1xuXG5cdFx0d2hpbGUgKGNvdW50LS0pIHtcblx0XHRcdHRhcmdldC5sYXllclNlbGVjdGlvbklkcy5wdXNoKHJlYWRVaW50MzIocmVhZGVyKSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIHRhcmdldC5sYXllclNlbGVjdGlvbklkcyEubGVuZ3RoKTtcblxuXHRcdGZvciAoY29uc3QgaWQgb2YgdGFyZ2V0LmxheWVyU2VsZWN0aW9uSWRzISkge1xuXHRcdFx0d3JpdGVVaW50MzIod3JpdGVyLCBpZCk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAzMixcblx0dGFyZ2V0ID0+IHRhcmdldC5ncmlkQW5kR3VpZGVzSW5mb3JtYXRpb24gIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgdmVyc2lvbiA9IHJlYWRVaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCBob3Jpem9udGFsID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IHZlcnRpY2FsID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IGNvdW50ID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0aWYgKHZlcnNpb24gIT09IDEpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCAxMDMyIHJlc291cmNlIHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblxuXHRcdHRhcmdldC5ncmlkQW5kR3VpZGVzSW5mb3JtYXRpb24gPSB7XG5cdFx0XHRncmlkOiB7IGhvcml6b250YWwsIHZlcnRpY2FsIH0sXG5cdFx0XHRndWlkZXM6IFtdLFxuXHRcdH07XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcblx0XHRcdHRhcmdldC5ncmlkQW5kR3VpZGVzSW5mb3JtYXRpb24uZ3VpZGVzIS5wdXNoKHtcblx0XHRcdFx0bG9jYXRpb246IHJlYWRVaW50MzIocmVhZGVyKSAvIDMyLFxuXHRcdFx0XHRkaXJlY3Rpb246IHJlYWRVaW50OChyZWFkZXIpID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJ1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBpbmZvID0gdGFyZ2V0LmdyaWRBbmRHdWlkZXNJbmZvcm1hdGlvbiE7XG5cdFx0Y29uc3QgZ3JpZCA9IGluZm8uZ3JpZCB8fCB7IGhvcml6b250YWw6IDE4ICogMzIsIHZlcnRpY2FsOiAxOCAqIDMyIH07XG5cdFx0Y29uc3QgZ3VpZGVzID0gaW5mby5ndWlkZXMgfHwgW107XG5cblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDEpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgZ3JpZC5ob3Jpem9udGFsKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGdyaWQudmVydGljYWwpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgZ3VpZGVzLmxlbmd0aCk7XG5cblx0XHRmb3IgKGNvbnN0IGcgb2YgZ3VpZGVzKSB7XG5cdFx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGcubG9jYXRpb24gKiAzMik7XG5cdFx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IDEgOiAwKTtcblx0XHR9XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDU0LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnVybHNMaXN0ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgXywgb3B0aW9ucykgPT4ge1xuXHRcdGNvbnN0IGNvdW50ID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0aWYgKGNvdW50KSB7XG5cdFx0XHRpZiAoIW9wdGlvbnMudGhyb3dGb3JNaXNzaW5nRmVhdHVyZXMpIHJldHVybjtcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiBVUkwgTGlzdCcpO1xuXHRcdH1cblxuXHRcdC8vIFRPRE86IHJlYWQgYWN0dWFsIFVSTCBsaXN0XG5cdFx0dGFyZ2V0LnVybHNMaXN0ID0gW107XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgdGFyZ2V0LnVybHNMaXN0IS5sZW5ndGgpO1xuXG5cdFx0Ly8gVE9ETzogd3JpdGUgYWN0dWFsIFVSTCBsaXN0XG5cdFx0aWYgKHRhcmdldC51cmxzTGlzdCEubGVuZ3RoKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogVVJMIExpc3QnKTtcblx0XHR9XG5cdH0sXG4pO1xuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwNTAsIC8vIFNsaWNlc1xuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwNTAgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwNTAnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDUwID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDUwKTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjQsXG5cdHRhcmdldCA9PiB0YXJnZXQucGl4ZWxBc3BlY3RSYXRpbyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHRpZiAocmVhZFVpbnQzMihyZWFkZXIpID4gMikgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBpeGVsQXNwZWN0UmF0aW8gdmVyc2lvbicpO1xuXHRcdHRhcmdldC5waXhlbEFzcGVjdFJhdGlvID0geyBhc3BlY3Q6IHJlYWRGbG9hdDY0KHJlYWRlcikgfTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCAyKTsgLy8gdmVyc2lvblxuXHRcdHdyaXRlRmxvYXQ2NCh3cml0ZXIsIHRhcmdldC5waXhlbEFzcGVjdFJhdGlvIS5hc3BlY3QpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA0MSxcblx0dGFyZ2V0ID0+IHRhcmdldC5pY2NVbnRhZ2dlZFByb2ZpbGUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0dGFyZ2V0LmljY1VudGFnZ2VkUHJvZmlsZSA9ICEhcmVhZFVpbnQ4KHJlYWRlcik7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCB0YXJnZXQuaWNjVW50YWdnZWRQcm9maWxlID8gMSA6IDApO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDM5LCAvLyBJQ0MgUHJvZmlsZVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMzkgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMzknLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDM5ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDM5KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNDQsXG5cdHRhcmdldCA9PiB0YXJnZXQuaWRzU2VlZE51bWJlciAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHRhcmdldC5pZHNTZWVkTnVtYmVyID0gcmVhZFVpbnQzMihyZWFkZXIpLFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHdyaXRlVWludDMyKHdyaXRlciwgdGFyZ2V0Lmlkc1NlZWROdW1iZXIhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMzYsXG5cdHRhcmdldCA9PiB0YXJnZXQudGh1bWJuYWlsICE9PSB1bmRlZmluZWQgfHwgdGFyZ2V0LnRodW1ibmFpbFJhdyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQsIG9wdGlvbnMpID0+IHtcblx0XHRjb25zdCBmb3JtYXQgPSByZWFkVWludDMyKHJlYWRlcik7IC8vIDEgPSBrSnBlZ1JHQiwgMCA9IGtSYXdSR0Jcblx0XHRjb25zdCB3aWR0aCA9IHJlYWRVaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCBoZWlnaHQgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0cmVhZFVpbnQzMihyZWFkZXIpOyAvLyB3aWR0aEJ5dGVzID0gKHdpZHRoICogYml0c19wZXJfcGl4ZWwgKyAzMSkgLyAzMiAqIDQuXG5cdFx0cmVhZFVpbnQzMihyZWFkZXIpOyAvLyB0b3RhbFNpemUgPSB3aWR0aEJ5dGVzICogaGVpZ2h0ICogcGxhbmVzXG5cdFx0cmVhZFVpbnQzMihyZWFkZXIpOyAvLyBzaXplQWZ0ZXJDb21wcmVzc2lvblxuXHRcdGNvbnN0IGJpdHNQZXJQaXhlbCA9IHJlYWRVaW50MTYocmVhZGVyKTsgLy8gMjRcblx0XHRjb25zdCBwbGFuZXMgPSByZWFkVWludDE2KHJlYWRlcik7IC8vIDFcblxuXHRcdGlmIChmb3JtYXQgIT09IDEgfHwgYml0c1BlclBpeGVsICE9PSAyNCB8fCBwbGFuZXMgIT09IDEpIHtcblx0XHRcdG9wdGlvbnMubG9nTWlzc2luZ0ZlYXR1cmVzICYmIGNvbnNvbGUubG9nKGBJbnZhbGlkIHRodW1ibmFpbCBkYXRhIChmb3JtYXQ6ICR7Zm9ybWF0fSwgYml0c1BlclBpeGVsOiAke2JpdHNQZXJQaXhlbH0sIHBsYW5lczogJHtwbGFuZXN9KWApO1xuXHRcdFx0c2tpcEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBzaXplID0gbGVmdCgpO1xuXHRcdGNvbnN0IGRhdGEgPSByZWFkQnl0ZXMocmVhZGVyLCBzaXplKTtcblxuXHRcdGlmIChvcHRpb25zLnVzZVJhd1RodW1ibmFpbCkge1xuXHRcdFx0dGFyZ2V0LnRodW1ibmFpbFJhdyA9IHsgd2lkdGgsIGhlaWdodCwgZGF0YSB9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQudGh1bWJuYWlsID0gY3JlYXRlQ2FudmFzRnJvbURhdGEoZGF0YSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRsZXQgd2lkdGggPSAwO1xuXHRcdGxldCBoZWlnaHQgPSAwO1xuXHRcdGxldCBkYXRhOiBVaW50OEFycmF5O1xuXG5cdFx0aWYgKHRhcmdldC50aHVtYm5haWxSYXcpIHtcblx0XHRcdHdpZHRoID0gdGFyZ2V0LnRodW1ibmFpbFJhdy53aWR0aDtcblx0XHRcdGhlaWdodCA9IHRhcmdldC50aHVtYm5haWxSYXcuaGVpZ2h0O1xuXHRcdFx0ZGF0YSA9IHRhcmdldC50aHVtYm5haWxSYXcuZGF0YTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKCF0YXJnZXQudGh1bWJuYWlsKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgdGh1bWJuYWlsJyk7XG5cdFx0XHR3aWR0aCA9IHRhcmdldC50aHVtYm5haWwud2lkdGg7XG5cdFx0XHRoZWlnaHQgPSB0YXJnZXQudGh1bWJuYWlsLmhlaWdodDtcblx0XHRcdGRhdGEgPSB0b0J5dGVBcnJheSh0YXJnZXQudGh1bWJuYWlsLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsIDEpLnN1YnN0cignZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwnLmxlbmd0aCkpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGJpdHNQZXJQaXhlbCA9IDI0O1xuXHRcdGNvbnN0IHdpZHRoQnl0ZXMgPSBNYXRoLmZsb29yKCh3aWR0aCAqIGJpdHNQZXJQaXhlbCArIDMxKSAvIDMyKSAqIDQ7XG5cdFx0Y29uc3QgcGxhbmVzID0gMTtcblx0XHRjb25zdCB0b3RhbFNpemUgPSB3aWR0aEJ5dGVzICogaGVpZ2h0ICogcGxhbmVzO1xuXHRcdGNvbnN0IHNpemVBZnRlckNvbXByZXNzaW9uID0gZGF0YS5sZW5ndGg7XG5cblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDEpOyAvLyAxID0ga0pwZWdSR0Jcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIHdpZHRoKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGhlaWdodCk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB3aWR0aEJ5dGVzKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIHRvdGFsU2l6ZSk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCBzaXplQWZ0ZXJDb21wcmVzc2lvbik7XG5cdFx0d3JpdGVVaW50MTYod3JpdGVyLCBiaXRzUGVyUGl4ZWwpO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgcGxhbmVzKTtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgZGF0YSk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDU3LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnZlcnNpb25JbmZvICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0aWYgKHZlcnNpb24gIT09IDEpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2ZXJzaW9uSW5mbyB2ZXJzaW9uJyk7XG5cblx0XHR0YXJnZXQudmVyc2lvbkluZm8gPSB7XG5cdFx0XHRoYXNSZWFsTWVyZ2VkRGF0YTogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdHdyaXRlck5hbWU6IHJlYWRVbmljb2RlU3RyaW5nKHJlYWRlciksXG5cdFx0XHRyZWFkZXJOYW1lOiByZWFkVW5pY29kZVN0cmluZyhyZWFkZXIpLFxuXHRcdFx0ZmlsZVZlcnNpb246IHJlYWRVaW50MzIocmVhZGVyKSxcblx0XHR9O1xuXG5cdFx0c2tpcEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgdmVyc2lvbkluZm8gPSB0YXJnZXQudmVyc2lvbkluZm8hO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMSk7IC8vIHZlcnNpb25cblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgdmVyc2lvbkluZm8uaGFzUmVhbE1lcmdlZERhdGEgPyAxIDogMCk7XG5cdFx0d3JpdGVVbmljb2RlU3RyaW5nKHdyaXRlciwgdmVyc2lvbkluZm8ud3JpdGVyTmFtZSk7XG5cdFx0d3JpdGVVbmljb2RlU3RyaW5nKHdyaXRlciwgdmVyc2lvbkluZm8ucmVhZGVyTmFtZSk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB2ZXJzaW9uSW5mby5maWxlVmVyc2lvbik7XG5cdH0sXG4pO1xuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwNTgsIC8vIEVYSUYgZGF0YSAxLlxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwNTggIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwNTgnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDU4ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDU4KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDcwMDAsXG5cdHRhcmdldCA9PiB0YXJnZXQuaW1hZ2VSZWFkeVZhcmlhYmxlcyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuaW1hZ2VSZWFkeVZhcmlhYmxlcyA9IHJlYWRVdGY4U3RyaW5nKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVVdGY4U3RyaW5nKHdyaXRlciwgdGFyZ2V0LmltYWdlUmVhZHlWYXJpYWJsZXMhKTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDcwMDEsXG5cdHRhcmdldCA9PiB0YXJnZXQuaW1hZ2VSZWFkeURhdGFTZXRzICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdHRhcmdldC5pbWFnZVJlYWR5RGF0YVNldHMgPSByZWFkVXRmOFN0cmluZyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVXRmOFN0cmluZyh3cml0ZXIsIHRhcmdldC5pbWFnZVJlYWR5RGF0YVNldHMhKTtcblx0fSxcbik7XG5cbmludGVyZmFjZSBEZXNjcmlwdG9yMTA4OCB7XG5cdCdudWxsJzogc3RyaW5nW107XG59XG5cbmFkZEhhbmRsZXIoXG5cdDEwODgsXG5cdHRhcmdldCA9PiB0YXJnZXQucGF0aFNlbGVjdGlvblN0YXRlICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgX2xlZnQpID0+IHtcblx0XHRjb25zdCBkZXNjOiBEZXNjcmlwdG9yMTA4OCA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXHRcdC8vIGNvbnNvbGUubG9nKHJlcXVpcmUoJ3V0aWwnKS5pbnNwZWN0KGRlc2MsIGZhbHNlLCA5OSwgdHJ1ZSkpO1xuXHRcdHRhcmdldC5wYXRoU2VsZWN0aW9uU3RhdGUgPSBkZXNjWydudWxsJ107XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGRlc2M6IERlc2NyaXB0b3IxMDg4ID0geyAnbnVsbCc6IHRhcmdldC5wYXRoU2VsZWN0aW9uU3RhdGUhIH07XG5cdFx0d3JpdGVWZXJzaW9uQW5kRGVzY3JpcHRvcih3cml0ZXIsICcnLCAnbnVsbCcsIGRlc2MpO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDI1LFxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMjUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMjUnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDI1ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDI1KTtcblx0fSxcbik7XG5cbmNvbnN0IEZybUQgPSBjcmVhdGVFbnVtPCdhdXRvJyB8ICdub25lJyB8ICdkaXNwb3NlJz4oJ0ZybUQnLCAnJywge1xuXHRhdXRvOiAnQXV0bycsXG5cdG5vbmU6ICdOb25lJyxcblx0ZGlzcG9zZTogJ0Rpc3AnLFxufSk7XG5cbmludGVyZmFjZSBBbmltYXRpb25EZXNjcmlwdG9yIHtcblx0QUZTdDogbnVtYmVyO1xuXHRGckluOiB7XG5cdFx0RnJJRDogbnVtYmVyO1xuXHRcdEZyRGw6IG51bWJlcjtcblx0XHRGckRzOiBzdHJpbmc7XG5cdFx0RnJHQT86IG51bWJlcjtcblx0fVtdO1xuXHRGU3RzOiB7XG5cdFx0RnNJRDogbnVtYmVyO1xuXHRcdEFGcm06IG51bWJlcjtcblx0XHRGc0ZyOiBudW1iZXJbXTtcblx0XHRMQ250OiBudW1iZXI7XG5cdH1bXTtcbn1cblxuaW50ZXJmYWNlIEFuaW1hdGlvbnMge1xuXHRmcmFtZXM6IHtcblx0XHRpZDogbnVtYmVyO1xuXHRcdGRlbGF5OiBudW1iZXI7XG5cdFx0ZGlzcG9zZT86ICdhdXRvJyB8ICdub25lJyB8ICdkaXNwb3NlJztcblx0fVtdO1xuXHRhbmltYXRpb25zOiB7XG5cdFx0aWQ6IG51bWJlcjtcblx0XHRmcmFtZXM6IG51bWJlcltdO1xuXHRcdHJlcGVhdHM/OiBudW1iZXI7XG5cdH1bXTtcbn1cblxuLy8gVE9ETzogVW5maW5pc2hlZFxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQ0MDAwLCAvLyBQbHVnLUluIHJlc291cmNlKHMpXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQsIHsgbG9nTWlzc2luZ0ZlYXR1cmVzLCBsb2dEZXZGZWF0dXJlcyB9KSA9PiB7XG5cdFx0aWYgKE1PQ0tfSEFORExFUlMpIHtcblx0XHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSA0MDAwJywgbGVmdCgpKTtcblx0XHRcdCh0YXJnZXQgYXMgYW55KS5faXI0MDAwID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBrZXkgPSByZWFkU2lnbmF0dXJlKHJlYWRlcik7XG5cblx0XHRpZiAoa2V5ID09PSAnbWFuaScpIHtcblx0XHRcdGNoZWNrU2lnbmF0dXJlKHJlYWRlciwgJ0lSRlInKTtcblx0XHRcdHJlYWRTZWN0aW9uKHJlYWRlciwgMSwgbGVmdCA9PiB7XG5cdFx0XHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdFx0XHRjaGVja1NpZ25hdHVyZShyZWFkZXIsICc4QklNJyk7XG5cdFx0XHRcdFx0Y29uc3Qga2V5ID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0XHRcdFx0cmVhZFNlY3Rpb24ocmVhZGVyLCAxLCBsZWZ0ID0+IHtcblx0XHRcdFx0XHRcdGlmIChrZXkgPT09ICdBbkRzJykge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBkZXNjID0gcmVhZFZlcnNpb25BbmREZXNjcmlwdG9yKHJlYWRlcikgYXMgQW5pbWF0aW9uRGVzY3JpcHRvcjtcblx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ0FuRHMnLCBkZXNjKTtcblx0XHRcdFx0XHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHMnLCBkZXNjKTtcblx0XHRcdFx0XHRcdFx0Ly8gbG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHMnLCByZXF1aXJlKCd1dGlsJykuaW5zcGVjdChkZXNjLCBmYWxzZSwgOTksIHRydWUpKTtcblxuXHRcdFx0XHRcdFx0XHRjb25zdCByZXN1bHQ6IEFuaW1hdGlvbnMgPSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gZGVzYy5BRlN0ID8/P1xuXHRcdFx0XHRcdFx0XHRcdGZyYW1lczogZGVzYy5GckluLm1hcCh4ID0+ICh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZDogeC5GcklELFxuXHRcdFx0XHRcdFx0XHRcdFx0ZGVsYXk6IHguRnJEbCAvIDEwMCxcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3Bvc2U6IHguRnJEcyA/IEZybUQuZGVjb2RlKHguRnJEcykgOiAnYXV0bycsIC8vIG1pc3NpbmcgPT0gYXV0b1xuXHRcdFx0XHRcdFx0XHRcdFx0Ly8geC5GckdBID8/P1xuXHRcdFx0XHRcdFx0XHRcdH0pKSxcblx0XHRcdFx0XHRcdFx0XHRhbmltYXRpb25zOiBkZXNjLkZTdHMubWFwKHggPT4gKHtcblx0XHRcdFx0XHRcdFx0XHRcdGlkOiB4LkZzSUQsXG5cdFx0XHRcdFx0XHRcdFx0XHRmcmFtZXM6IHguRnNGcixcblx0XHRcdFx0XHRcdFx0XHRcdHJlcGVhdHM6IHguTENudCxcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHguQUZybSA/Pz9cblx0XHRcdFx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHM6cmVzdWx0JywgcmVzdWx0KTtcblx0XHRcdFx0XHRcdFx0Ly8gbG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHM6cmVzdWx0JywgcmVxdWlyZSgndXRpbCcpLmluc3BlY3QocmVzdWx0LCBmYWxzZSwgOTksIHRydWUpKTtcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoa2V5ID09PSAnUm9sbCcpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHRcdFx0XHRcdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnIzQwMDAgUm9sbCcsIGJ5dGVzKTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGxvZ01pc3NpbmdGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnVW5oYW5kbGVkIHN1YnNlY3Rpb24gaW4gIzQwMDAnLCBrZXkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ21vcHQnKSB7XG5cdFx0XHRjb25zdCBieXRlcyA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnIzQwMDAgbW9wdCcsIGJ5dGVzKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bG9nTWlzc2luZ0ZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCdVbmhhbmRsZWQga2V5IGluICM0MDAwOicsIGtleSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjQwMDApO1xuXHR9LFxuKTtcblxuLy8gVE9ETzogVW5maW5pc2hlZFxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQ0MDAxLCAvLyBQbHVnLUluIHJlc291cmNlKHMpXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQsIHsgbG9nTWlzc2luZ0ZlYXR1cmVzLCBsb2dEZXZGZWF0dXJlcyB9KSA9PiB7XG5cdFx0aWYgKE1PQ0tfSEFORExFUlMpIHtcblx0XHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSA0MDAxJywgbGVmdCgpKTtcblx0XHRcdCh0YXJnZXQgYXMgYW55KS5faXI0MDAxID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBrZXkgPSByZWFkU2lnbmF0dXJlKHJlYWRlcik7XG5cblx0XHRpZiAoa2V5ID09PSAnbWZyaScpIHtcblx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRpZiAodmVyc2lvbiAhPT0gMikgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1mcmkgdmVyc2lvbicpO1xuXG5cdFx0XHRjb25zdCBsZW5ndGggPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRjb25zdCBieXRlcyA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlbmd0aCk7XG5cdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnbWZyaScsIGJ5dGVzKTtcblx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ21zZXQnKSB7XG5cdFx0XHRjb25zdCBkZXNjID0gcmVhZFZlcnNpb25BbmREZXNjcmlwdG9yKHJlYWRlcik7XG5cdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnbXNldCcsIGRlc2MpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRsb2dNaXNzaW5nRmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ1VuaGFuZGxlZCBrZXkgaW4gIzQwMDEnLCBrZXkpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXI0MDAxKTtcblx0fSxcbik7XG4iXSwic291cmNlUm9vdCI6IkQ6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
592
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,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LFFBQU0sQ0FBQyxDQUFDO1FBQ3hDLGNBQWMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztLQUM3QztTQUFNLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTtRQUMxQixJQUFNLElBQUksR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxjQUFjLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDNUM7U0FBTTtRQUNOLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDakU7QUFDRixDQUFDLEVBQ0QsVUFBQyxNQUFNLEVBQUUsTUFBTTtJQUNkLFVBQVUsQ0FBQyxNQUFNLEVBQUcsTUFBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FDRCxDQUFDO0FBRUYsbUJBQW1CO0FBQ25CLGFBQWEsSUFBSSxVQUFVLENBQzFCLElBQUksRUFBRSxzQkFBc0I7QUFDNUIsVUFETSxzQkFBc0I7QUFDNUIsTUFBTSxJQUFJLE9BQUMsTUFBYyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQXJDLENBQXFDLEVBQy9DLFVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJO0lBQ3BCLGlCQUFpQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRCxNQUFjLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyRCxDQUFDLEVBQ0QsVUFBQyxNQUFNLEVBQUUsTUFBTTtJQUNkLFVBQVUsQ0FBQyxNQUFNLEVBQUcsTUFBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FDRCxDQUFDIiwiZmlsZSI6ImltYWdlUmVzb3VyY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9CeXRlQXJyYXkgfSBmcm9tICdiYXNlNjQtanMnO1xuaW1wb3J0IHsgSW1hZ2VSZXNvdXJjZXMsIFJlYWRPcHRpb25zLCBSZW5kZXJpbmdJbnRlbnQgfSBmcm9tICcuL3BzZCc7XG5pbXBvcnQge1xuXHRQc2RSZWFkZXIsIHJlYWRQYXNjYWxTdHJpbmcsIHJlYWRVbmljb2RlU3RyaW5nLCByZWFkVWludDMyLCByZWFkVWludDE2LCByZWFkVWludDgsIHJlYWRGbG9hdDY0LFxuXHRyZWFkQnl0ZXMsIHNraXBCeXRlcywgcmVhZEZsb2F0MzIsIHJlYWRJbnQxNiwgcmVhZEZpeGVkUG9pbnQzMiwgcmVhZFNpZ25hdHVyZSwgY2hlY2tTaWduYXR1cmUsXG5cdHJlYWRTZWN0aW9uLCByZWFkQ29sb3Jcbn0gZnJvbSAnLi9wc2RSZWFkZXInO1xuaW1wb3J0IHtcblx0UHNkV3JpdGVyLCB3cml0ZVBhc2NhbFN0cmluZywgd3JpdGVVbmljb2RlU3RyaW5nLCB3cml0ZVVpbnQzMiwgd3JpdGVVaW50OCwgd3JpdGVGbG9hdDY0LCB3cml0ZVVpbnQxNixcblx0d3JpdGVCeXRlcywgd3JpdGVJbnQxNiwgd3JpdGVGbG9hdDMyLCB3cml0ZUZpeGVkUG9pbnQzMiwgd3JpdGVVbmljb2RlU3RyaW5nV2l0aFBhZGRpbmcsIHdyaXRlQ29sb3IsXG59IGZyb20gJy4vcHNkV3JpdGVyJztcbmltcG9ydCB7IGNyZWF0ZUNhbnZhc0Zyb21EYXRhLCBjcmVhdGVFbnVtLCBNT0NLX0hBTkRMRVJTIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGRlY29kZVN0cmluZywgZW5jb2RlU3RyaW5nIH0gZnJvbSAnLi91dGY4JztcbmltcG9ydCB7IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvciwgd3JpdGVWZXJzaW9uQW5kRGVzY3JpcHRvciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VIYW5kbGVyIHtcblx0a2V5OiBudW1iZXI7XG5cdGhhczogKHRhcmdldDogSW1hZ2VSZXNvdXJjZXMpID0+IGJvb2xlYW47XG5cdHJlYWQ6IChyZWFkZXI6IFBzZFJlYWRlciwgdGFyZ2V0OiBJbWFnZVJlc291cmNlcywgbGVmdDogKCkgPT4gbnVtYmVyLCBvcHRpb25zOiBSZWFkT3B0aW9ucykgPT4gdm9pZDtcblx0d3JpdGU6ICh3cml0ZXI6IFBzZFdyaXRlciwgdGFyZ2V0OiBJbWFnZVJlc291cmNlcykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHJlc291cmNlSGFuZGxlcnM6IFJlc291cmNlSGFuZGxlcltdID0gW107XG5leHBvcnQgY29uc3QgcmVzb3VyY2VIYW5kbGVyc01hcDogeyBba2V5OiBudW1iZXJdOiBSZXNvdXJjZUhhbmRsZXIgfSA9IHt9O1xuXG5mdW5jdGlvbiBhZGRIYW5kbGVyKFxuXHRrZXk6IG51bWJlcixcblx0aGFzOiAodGFyZ2V0OiBJbWFnZVJlc291cmNlcykgPT4gYm9vbGVhbixcblx0cmVhZDogKHJlYWRlcjogUHNkUmVhZGVyLCB0YXJnZXQ6IEltYWdlUmVzb3VyY2VzLCBsZWZ0OiAoKSA9PiBudW1iZXIsIG9wdGlvbnM6IFJlYWRPcHRpb25zKSA9PiB2b2lkLFxuXHR3cml0ZTogKHdyaXRlcjogUHNkV3JpdGVyLCB0YXJnZXQ6IEltYWdlUmVzb3VyY2VzKSA9PiB2b2lkLFxuKSB7XG5cdGNvbnN0IGhhbmRsZXI6IFJlc291cmNlSGFuZGxlciA9IHsga2V5LCBoYXMsIHJlYWQsIHdyaXRlIH07XG5cdHJlc291cmNlSGFuZGxlcnMucHVzaChoYW5kbGVyKTtcblx0cmVzb3VyY2VIYW5kbGVyc01hcFtoYW5kbGVyLmtleV0gPSBoYW5kbGVyO1xufVxuXG5jb25zdCBMT0dfTU9DS19IQU5ETEVSUyA9IGZhbHNlO1xuY29uc3QgUkVTT0xVVElPTl9VTklUUyA9IFt1bmRlZmluZWQsICdQUEknLCAnUFBDTSddO1xuY29uc3QgTUVBU1VSRU1FTlRfVU5JVFMgPSBbdW5kZWZpbmVkLCAnSW5jaGVzJywgJ0NlbnRpbWV0ZXJzJywgJ1BvaW50cycsICdQaWNhcycsICdDb2x1bW5zJ107XG5jb25zdCBoZXggPSAnMDEyMzQ1Njc4OWFiY2RlZic7XG5cbmZ1bmN0aW9uIGNoYXJUb05pYmJsZShjb2RlOiBudW1iZXIpIHtcblx0cmV0dXJuIGNvZGUgPD0gNTcgPyBjb2RlIC0gNDggOiBjb2RlIC0gODc7XG59XG5cbmZ1bmN0aW9uIGJ5dGVBdCh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG5cdHJldHVybiAoY2hhclRvTmliYmxlKHZhbHVlLmNoYXJDb2RlQXQoaW5kZXgpKSA8PCA0KSB8IGNoYXJUb05pYmJsZSh2YWx1ZS5jaGFyQ29kZUF0KGluZGV4ICsgMSkpO1xufVxuXG5mdW5jdGlvbiByZWFkVXRmOFN0cmluZyhyZWFkZXI6IFBzZFJlYWRlciwgbGVuZ3RoOiBudW1iZXIpIHtcblx0Y29uc3QgYnVmZmVyID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVuZ3RoKTtcblx0cmV0dXJuIGRlY29kZVN0cmluZyhidWZmZXIpO1xufVxuXG5mdW5jdGlvbiB3cml0ZVV0ZjhTdHJpbmcod3JpdGVyOiBQc2RXcml0ZXIsIHZhbHVlOiBzdHJpbmcpIHtcblx0Y29uc3QgYnVmZmVyID0gZW5jb2RlU3RyaW5nKHZhbHVlKTtcblx0d3JpdGVCeXRlcyh3cml0ZXIsIGJ1ZmZlcik7XG59XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAyOCwgLy8gSVBUQy1OQUEgcmVjb3JkXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyMTAyOCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgMTAyOCcsIGxlZnQoKSk7XG5cdFx0KHRhcmdldCBhcyBhbnkpLl9pcjEwMjggPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjEwMjgpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA2MSxcblx0dGFyZ2V0ID0+IHRhcmdldC5jYXB0aW9uRGlnZXN0ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGxldCBjYXB0aW9uRGlnZXN0ID0gJyc7XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcblx0XHRcdGNvbnN0IGJ5dGUgPSByZWFkVWludDgocmVhZGVyKTtcblx0XHRcdGNhcHRpb25EaWdlc3QgKz0gaGV4W2J5dGUgPj4gNF07XG5cdFx0XHRjYXB0aW9uRGlnZXN0ICs9IGhleFtieXRlICYgMHhmXTtcblx0XHR9XG5cblx0XHR0YXJnZXQuY2FwdGlvbkRpZ2VzdCA9IGNhcHRpb25EaWdlc3Q7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykge1xuXHRcdFx0d3JpdGVVaW50OCh3cml0ZXIsIGJ5dGVBdCh0YXJnZXQuY2FwdGlvbkRpZ2VzdCEsIGkgKiAyKSk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA2MCxcblx0dGFyZ2V0ID0+IHRhcmdldC54bXBNZXRhZGF0YSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHRhcmdldC54bXBNZXRhZGF0YSA9IHJlYWRVdGY4U3RyaW5nKHJlYWRlciwgbGVmdCgpKSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB3cml0ZVV0ZjhTdHJpbmcod3JpdGVyLCB0YXJnZXQueG1wTWV0YWRhdGEhKSxcbik7XG5cbmNvbnN0IEludGUgPSBjcmVhdGVFbnVtPFJlbmRlcmluZ0ludGVudD4oJ0ludGUnLCAncGVyY2VwdHVhbCcsIHtcblx0J3BlcmNlcHR1YWwnOiAnSW1nICcsXG5cdCdzYXR1cmF0aW9uJzogJ0dycCAnLFxuXHQncmVsYXRpdmUgY29sb3JpbWV0cmljJzogJ0Nscm0nLFxuXHQnYWJzb2x1dGUgY29sb3JpbWV0cmljJzogJ0FDbHInLFxufSk7XG5cbmludGVyZmFjZSBQcmludEluZm9ybWF0aW9uRGVzY3JpcHRvciB7XG5cdCdObSAgJz86IHN0cmluZztcblx0Q2xyUz86IHN0cmluZztcblx0UHN0Uz86IGJvb2xlYW47XG5cdE1wQmw/OiBib29sZWFuO1xuXHRJbnRlPzogc3RyaW5nO1xuXHRoYXJkUHJvb2Y/OiBib29sZWFuO1xuXHRwcmludFNpeHRlZW5CaXQ/OiBib29sZWFuO1xuXHRwcmludGVyTmFtZT86IHN0cmluZztcblx0cHJpbnRQcm9vZlNldHVwPzoge1xuXHRcdEJsdG46IHN0cmluZztcblx0fSB8IHtcblx0XHRwcm9maWxlOiBzdHJpbmc7XG5cdFx0SW50ZTogc3RyaW5nO1xuXHRcdE1wQmw6IGJvb2xlYW47XG5cdFx0cGFwZXJXaGl0ZTogYm9vbGVhbjtcblx0fTtcbn1cblxuYWRkSGFuZGxlcihcblx0MTA4Mixcblx0dGFyZ2V0ID0+IHRhcmdldC5wcmludEluZm9ybWF0aW9uICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGRlc2M6IFByaW50SW5mb3JtYXRpb25EZXNjcmlwdG9yID0gcmVhZFZlcnNpb25BbmREZXNjcmlwdG9yKHJlYWRlcik7XG5cblx0XHR0YXJnZXQucHJpbnRJbmZvcm1hdGlvbiA9IHtcblx0XHRcdHByaW50ZXJOYW1lOiBkZXNjLnByaW50ZXJOYW1lIHx8ICcnLFxuXHRcdFx0cmVuZGVyaW5nSW50ZW50OiBJbnRlLmRlY29kZShkZXNjLkludGUgPz8gJ0ludGUuSW1nICcpLFxuXHRcdH07XG5cblx0XHRjb25zdCBpbmZvID0gdGFyZ2V0LnByaW50SW5mb3JtYXRpb247XG5cblx0XHRpZiAoZGVzYy5Qc3RTICE9PSB1bmRlZmluZWQpIGluZm8ucHJpbnRlck1hbmFnZXNDb2xvcnMgPSBkZXNjLlBzdFM7XG5cdFx0aWYgKGRlc2NbJ05tICAnXSAhPT0gdW5kZWZpbmVkKSBpbmZvLnByaW50ZXJQcm9maWxlID0gZGVzY1snTm0gICddO1xuXHRcdGlmIChkZXNjLk1wQmwgIT09IHVuZGVmaW5lZCkgaW5mby5ibGFja1BvaW50Q29tcGVuc2F0aW9uID0gZGVzYy5NcEJsO1xuXHRcdGlmIChkZXNjLnByaW50U2l4dGVlbkJpdCAhPT0gdW5kZWZpbmVkKSBpbmZvLnByaW50U2l4dGVlbkJpdCA9IGRlc2MucHJpbnRTaXh0ZWVuQml0O1xuXHRcdGlmIChkZXNjLmhhcmRQcm9vZiAhPT0gdW5kZWZpbmVkKSBpbmZvLmhhcmRQcm9vZiA9IGRlc2MuaGFyZFByb29mO1xuXHRcdGlmIChkZXNjLnByaW50UHJvb2ZTZXR1cCkge1xuXHRcdFx0aWYgKCdCbHRuJyBpbiBkZXNjLnByaW50UHJvb2ZTZXR1cCkge1xuXHRcdFx0XHRpbmZvLnByb29mU2V0dXAgPSB7IGJ1aWx0aW46IGRlc2MucHJpbnRQcm9vZlNldHVwLkJsdG4uc3BsaXQoJy4nKVsxXSB9O1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aW5mby5wcm9vZlNldHVwID0ge1xuXHRcdFx0XHRcdHByb2ZpbGU6IGRlc2MucHJpbnRQcm9vZlNldHVwLnByb2ZpbGUsXG5cdFx0XHRcdFx0cmVuZGVyaW5nSW50ZW50OiBJbnRlLmRlY29kZShkZXNjLnByaW50UHJvb2ZTZXR1cC5JbnRlID8/ICdJbnRlLkltZyAnKSxcblx0XHRcdFx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uOiAhIWRlc2MucHJpbnRQcm9vZlNldHVwLk1wQmwsXG5cdFx0XHRcdFx0cGFwZXJXaGl0ZTogISFkZXNjLnByaW50UHJvb2ZTZXR1cC5wYXBlcldoaXRlLFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgaW5mbyA9IHRhcmdldC5wcmludEluZm9ybWF0aW9uITtcblx0XHRjb25zdCBkZXNjOiBQcmludEluZm9ybWF0aW9uRGVzY3JpcHRvciA9IHt9O1xuXG5cdFx0aWYgKGluZm8ucHJpbnRlck1hbmFnZXNDb2xvcnMpIHtcblx0XHRcdGRlc2MuUHN0UyA9IHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmIChpbmZvLmhhcmRQcm9vZiAhPT0gdW5kZWZpbmVkKSBkZXNjLmhhcmRQcm9vZiA9ICEhaW5mby5oYXJkUHJvb2Y7XG5cdFx0XHRkZXNjLkNsclMgPSAnQ2xyUy5SR0JDJzsgLy8gVE9ETzogPz8/XG5cdFx0XHRkZXNjWydObSAgJ10gPSBpbmZvLnByaW50ZXJQcm9maWxlID8/ICdDSUUgUkdCJztcblx0XHR9XG5cblx0XHRkZXNjLkludGUgPSBJbnRlLmVuY29kZShpbmZvLnJlbmRlcmluZ0ludGVudCk7XG5cblx0XHRpZiAoIWluZm8ucHJpbnRlck1hbmFnZXNDb2xvcnMpIGRlc2MuTXBCbCA9ICEhaW5mby5ibGFja1BvaW50Q29tcGVuc2F0aW9uO1xuXG5cdFx0ZGVzYy5wcmludFNpeHRlZW5CaXQgPSAhIWluZm8ucHJpbnRTaXh0ZWVuQml0O1xuXHRcdGRlc2MucHJpbnRlck5hbWUgPSBpbmZvLnByaW50ZXJOYW1lIHx8ICcnO1xuXG5cdFx0aWYgKGluZm8ucHJvb2ZTZXR1cCAmJiAncHJvZmlsZScgaW4gaW5mby5wcm9vZlNldHVwKSB7XG5cdFx0XHRkZXNjLnByaW50UHJvb2ZTZXR1cCA9IHtcblx0XHRcdFx0cHJvZmlsZTogaW5mby5wcm9vZlNldHVwLnByb2ZpbGUgfHwgJycsXG5cdFx0XHRcdEludGU6IEludGUuZW5jb2RlKGluZm8ucHJvb2ZTZXR1cC5yZW5kZXJpbmdJbnRlbnQpLFxuXHRcdFx0XHRNcEJsOiAhIWluZm8ucHJvb2ZTZXR1cC5ibGFja1BvaW50Q29tcGVuc2F0aW9uLFxuXHRcdFx0XHRwYXBlcldoaXRlOiAhIWluZm8ucHJvb2ZTZXR1cC5wYXBlcldoaXRlLFxuXHRcdFx0fTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGVzYy5wcmludFByb29mU2V0dXAgPSB7XG5cdFx0XHRcdEJsdG46IGluZm8ucHJvb2ZTZXR1cD8uYnVpbHRpbiA/IGBidWlsdGluUHJvb2YuJHtpbmZvLnByb29mU2V0dXAuYnVpbHRpbn1gIDogJ2J1aWx0aW5Qcm9vZi5wcm9vZkNNWUsnLFxuXHRcdFx0fTtcblx0XHR9XG5cblx0XHR3cml0ZVZlcnNpb25BbmREZXNjcmlwdG9yKHdyaXRlciwgJycsICdwcmludE91dHB1dCcsIGRlc2MpO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDgzLCAvLyBQcmludCBzdHlsZVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwODMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwODMnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDgzID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblxuXHRcdC8vIFRPRE86XG5cdFx0Ly8gY29uc3QgZGVzYyA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXHRcdC8vIGNvbnNvbGUubG9nKCcxMDgzJywgcmVxdWlyZSgndXRpbCcpLmluc3BlY3QoZGVzYywgZmFsc2UsIDk5LCB0cnVlKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTA4Myk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDA1LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnJlc29sdXRpb25JbmZvICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGhvcml6b250YWxSZXNvbHV0aW9uID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IGhvcml6b250YWxSZXNvbHV0aW9uVW5pdCA9IHJlYWRVaW50MTYocmVhZGVyKTtcblx0XHRjb25zdCB3aWR0aFVuaXQgPSByZWFkVWludDE2KHJlYWRlcik7XG5cdFx0Y29uc3QgdmVydGljYWxSZXNvbHV0aW9uID0gcmVhZEZpeGVkUG9pbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IHZlcnRpY2FsUmVzb2x1dGlvblVuaXQgPSByZWFkVWludDE2KHJlYWRlcik7XG5cdFx0Y29uc3QgaGVpZ2h0VW5pdCA9IHJlYWRVaW50MTYocmVhZGVyKTtcblxuXHRcdHRhcmdldC5yZXNvbHV0aW9uSW5mbyA9IHtcblx0XHRcdGhvcml6b250YWxSZXNvbHV0aW9uLFxuXHRcdFx0aG9yaXpvbnRhbFJlc29sdXRpb25Vbml0OiBSRVNPTFVUSU9OX1VOSVRTW2hvcml6b250YWxSZXNvbHV0aW9uVW5pdF0gfHwgJ1BQSScgYXMgYW55LFxuXHRcdFx0d2lkdGhVbml0OiBNRUFTVVJFTUVOVF9VTklUU1t3aWR0aFVuaXRdIHx8ICdJbmNoZXMnIGFzIGFueSxcblx0XHRcdHZlcnRpY2FsUmVzb2x1dGlvbixcblx0XHRcdHZlcnRpY2FsUmVzb2x1dGlvblVuaXQ6IFJFU09MVVRJT05fVU5JVFNbdmVydGljYWxSZXNvbHV0aW9uVW5pdF0gfHwgJ1BQSScgYXMgYW55LFxuXHRcdFx0aGVpZ2h0VW5pdDogTUVBU1VSRU1FTlRfVU5JVFNbaGVpZ2h0VW5pdF0gfHwgJ0luY2hlcycgYXMgYW55LFxuXHRcdH07XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGluZm8gPSB0YXJnZXQucmVzb2x1dGlvbkluZm8hO1xuXG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBpbmZvLmhvcml6b250YWxSZXNvbHV0aW9uIHx8IDApO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgTWF0aC5tYXgoMSwgUkVTT0xVVElPTl9VTklUUy5pbmRleE9mKGluZm8uaG9yaXpvbnRhbFJlc29sdXRpb25Vbml0KSkpO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgTWF0aC5tYXgoMSwgTUVBU1VSRU1FTlRfVU5JVFMuaW5kZXhPZihpbmZvLndpZHRoVW5pdCkpKTtcblx0XHR3cml0ZUZpeGVkUG9pbnQzMih3cml0ZXIsIGluZm8udmVydGljYWxSZXNvbHV0aW9uIHx8IDApO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgTWF0aC5tYXgoMSwgUkVTT0xVVElPTl9VTklUUy5pbmRleE9mKGluZm8udmVydGljYWxSZXNvbHV0aW9uVW5pdCkpKTtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIE1hdGgubWF4KDEsIE1FQVNVUkVNRU5UX1VOSVRTLmluZGV4T2YoaW5mby5oZWlnaHRVbml0KSkpO1xuXHR9LFxuKTtcblxuY29uc3QgcHJpbnRTY2FsZVN0eWxlcyA9IFsnY2VudGVyZWQnLCAnc2l6ZSB0byBmaXQnLCAndXNlciBkZWZpbmVkJ107XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjIsXG5cdHRhcmdldCA9PiB0YXJnZXQucHJpbnRTY2FsZSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHR0YXJnZXQucHJpbnRTY2FsZSA9IHtcblx0XHRcdHN0eWxlOiBwcmludFNjYWxlU3R5bGVzW3JlYWRJbnQxNihyZWFkZXIpXSBhcyBhbnksXG5cdFx0XHR4OiByZWFkRmxvYXQzMihyZWFkZXIpLFxuXHRcdFx0eTogcmVhZEZsb2F0MzIocmVhZGVyKSxcblx0XHRcdHNjYWxlOiByZWFkRmxvYXQzMihyZWFkZXIpLFxuXHRcdH07XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IHsgc3R5bGUsIHgsIHksIHNjYWxlIH0gPSB0YXJnZXQucHJpbnRTY2FsZSE7XG5cdFx0d3JpdGVJbnQxNih3cml0ZXIsIE1hdGgubWF4KDAsIHByaW50U2NhbGVTdHlsZXMuaW5kZXhPZihzdHlsZSEpKSk7XG5cdFx0d3JpdGVGbG9hdDMyKHdyaXRlciwgeCB8fCAwKTtcblx0XHR3cml0ZUZsb2F0MzIod3JpdGVyLCB5IHx8IDApO1xuXHRcdHdyaXRlRmxvYXQzMih3cml0ZXIsIHNjYWxlIHx8IDApO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAwNixcblx0dGFyZ2V0ID0+IHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdGNvbnN0IHZhbHVlID0gcmVhZFBhc2NhbFN0cmluZyhyZWFkZXIsIDEpO1xuXHRcdFx0dGFyZ2V0LmFscGhhQ2hhbm5lbE5hbWVzLnB1c2godmFsdWUpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBuYW1lIG9mIHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyEpIHtcblx0XHRcdHdyaXRlUGFzY2FsU3RyaW5nKHdyaXRlciwgbmFtZSwgMSk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA0NSxcblx0dGFyZ2V0ID0+IHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcy5wdXNoKHJlYWRVbmljb2RlU3RyaW5nKHJlYWRlcikpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBuYW1lIG9mIHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcyEpIHtcblx0XHRcdHdyaXRlVW5pY29kZVN0cmluZ1dpdGhQYWRkaW5nKHdyaXRlciwgbmFtZSk7XG5cdFx0fVxuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDc3LFxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwNzcgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwNzcnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDc3ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDc3KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNTMsXG5cdHRhcmdldCA9PiB0YXJnZXQuYWxwaGFJZGVudGlmaWVycyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuYWxwaGFJZGVudGlmaWVycyA9IFtdO1xuXG5cdFx0d2hpbGUgKGxlZnQoKSA+PSA0KSB7XG5cdFx0XHR0YXJnZXQuYWxwaGFJZGVudGlmaWVycy5wdXNoKHJlYWRVaW50MzIocmVhZGVyKSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRmb3IgKGNvbnN0IGlkIG9mIHRhcmdldC5hbHBoYUlkZW50aWZpZXJzISkge1xuXHRcdFx0d3JpdGVVaW50MzIod3JpdGVyLCBpZCk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAxMCxcblx0dGFyZ2V0ID0+IHRhcmdldC5iYWNrZ3JvdW5kQ29sb3IgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB0YXJnZXQuYmFja2dyb3VuZENvbG9yID0gcmVhZENvbG9yKHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVDb2xvcih3cml0ZXIsIHRhcmdldC5iYWNrZ3JvdW5kQ29sb3IhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMzcsXG5cdHRhcmdldCA9PiB0YXJnZXQuZ2xvYmFsQW5nbGUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB0YXJnZXQuZ2xvYmFsQW5nbGUgPSByZWFkVWludDMyKHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVVaW50MzIod3JpdGVyLCB0YXJnZXQuZ2xvYmFsQW5nbGUhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNDksXG5cdHRhcmdldCA9PiB0YXJnZXQuZ2xvYmFsQWx0aXR1ZGUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB0YXJnZXQuZ2xvYmFsQWx0aXR1ZGUgPSByZWFkVWludDMyKHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVVaW50MzIod3JpdGVyLCB0YXJnZXQuZ2xvYmFsQWx0aXR1ZGUhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMTEsXG5cdHRhcmdldCA9PiB0YXJnZXQucHJpbnRGbGFncyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHR0YXJnZXQucHJpbnRGbGFncyA9IHtcblx0XHRcdGxhYmVsczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdGNyb3BNYXJrczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdGNvbG9yQmFyczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdHJlZ2lzdHJhdGlvbk1hcmtzOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0bmVnYXRpdmU6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHRmbGlwOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0aW50ZXJwb2xhdGU6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHRjYXB0aW9uOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0cHJpbnRGbGFnczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHR9O1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBmbGFncyA9IHRhcmdldC5wcmludEZsYWdzITtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MubGFiZWxzID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5jcm9wTWFya3MgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLmNvbG9yQmFycyA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MucmVnaXN0cmF0aW9uTWFya3MgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLm5lZ2F0aXZlID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5mbGlwID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5pbnRlcnBvbGF0ZSA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MuY2FwdGlvbiA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MucHJpbnRGbGFncyA/IDEgOiAwKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAwMDAsIC8vIFByaW50IGZsYWdzXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyMTAwMDAgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMDAwJywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTAwMDAgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjEwMDAwKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAxMywgLy8gQ29sb3IgaGFsZnRvbmluZ1xuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMTMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMTMnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDEzID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDEzKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAxNiwgLy8gQ29sb3IgdHJhbnNmZXIgZnVuY3Rpb25zXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyMTAxNiAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgMTAxNicsIGxlZnQoKSk7XG5cdFx0KHRhcmdldCBhcyBhbnkpLl9pcjEwMTYgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjEwMTYpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAyNCxcblx0dGFyZ2V0ID0+IHRhcmdldC5sYXllclN0YXRlICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4gdGFyZ2V0LmxheWVyU3RhdGUgPSByZWFkVWludDE2KHJlYWRlciksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVVaW50MTYod3JpdGVyLCB0YXJnZXQubGF5ZXJTdGF0ZSEpLFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAyNixcblx0dGFyZ2V0ID0+IHRhcmdldC5sYXllcnNHcm91cCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQubGF5ZXJzR3JvdXAgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdHRhcmdldC5sYXllcnNHcm91cC5wdXNoKHJlYWRVaW50MTYocmVhZGVyKSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRmb3IgKGNvbnN0IGcgb2YgdGFyZ2V0LmxheWVyc0dyb3VwISkge1xuXHRcdFx0d3JpdGVVaW50MTYod3JpdGVyLCBnKTtcblx0XHR9XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDcyLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmxheWVyR3JvdXBzRW5hYmxlZElkICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdHRhcmdldC5sYXllckdyb3Vwc0VuYWJsZWRJZCA9IFtdO1xuXG5cdFx0d2hpbGUgKGxlZnQoKSkge1xuXHRcdFx0dGFyZ2V0LmxheWVyR3JvdXBzRW5hYmxlZElkLnB1c2gocmVhZFVpbnQ4KHJlYWRlcikpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBpZCBvZiB0YXJnZXQubGF5ZXJHcm91cHNFbmFibGVkSWQhKSB7XG5cdFx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgaWQpO1xuXHRcdH1cblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjksXG5cdHRhcmdldCA9PiB0YXJnZXQubGF5ZXJTZWxlY3Rpb25JZHMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0bGV0IGNvdW50ID0gcmVhZFVpbnQxNihyZWFkZXIpO1xuXHRcdHRhcmdldC5sYXllclNlbGVjdGlvbklkcyA9IFtdO1xuXG5cdFx0d2hpbGUgKGNvdW50LS0pIHtcblx0XHRcdHRhcmdldC5sYXllclNlbGVjdGlvbklkcy5wdXNoKHJlYWRVaW50MzIocmVhZGVyKSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIHRhcmdldC5sYXllclNlbGVjdGlvbklkcyEubGVuZ3RoKTtcblxuXHRcdGZvciAoY29uc3QgaWQgb2YgdGFyZ2V0LmxheWVyU2VsZWN0aW9uSWRzISkge1xuXHRcdFx0d3JpdGVVaW50MzIod3JpdGVyLCBpZCk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAzMixcblx0dGFyZ2V0ID0+IHRhcmdldC5ncmlkQW5kR3VpZGVzSW5mb3JtYXRpb24gIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgdmVyc2lvbiA9IHJlYWRVaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCBob3Jpem9udGFsID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IHZlcnRpY2FsID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdGNvbnN0IGNvdW50ID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0aWYgKHZlcnNpb24gIT09IDEpIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCAxMDMyIHJlc291cmNlIHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblxuXHRcdHRhcmdldC5ncmlkQW5kR3VpZGVzSW5mb3JtYXRpb24gPSB7XG5cdFx0XHRncmlkOiB7IGhvcml6b250YWwsIHZlcnRpY2FsIH0sXG5cdFx0XHRndWlkZXM6IFtdLFxuXHRcdH07XG5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcblx0XHRcdHRhcmdldC5ncmlkQW5kR3VpZGVzSW5mb3JtYXRpb24uZ3VpZGVzIS5wdXNoKHtcblx0XHRcdFx0bG9jYXRpb246IHJlYWRVaW50MzIocmVhZGVyKSAvIDMyLFxuXHRcdFx0XHRkaXJlY3Rpb246IHJlYWRVaW50OChyZWFkZXIpID8gJ2hvcml6b250YWwnIDogJ3ZlcnRpY2FsJ1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBpbmZvID0gdGFyZ2V0LmdyaWRBbmRHdWlkZXNJbmZvcm1hdGlvbiE7XG5cdFx0Y29uc3QgZ3JpZCA9IGluZm8uZ3JpZCB8fCB7IGhvcml6b250YWw6IDE4ICogMzIsIHZlcnRpY2FsOiAxOCAqIDMyIH07XG5cdFx0Y29uc3QgZ3VpZGVzID0gaW5mby5ndWlkZXMgfHwgW107XG5cblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDEpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgZ3JpZC5ob3Jpem9udGFsKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGdyaWQudmVydGljYWwpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgZ3VpZGVzLmxlbmd0aCk7XG5cblx0XHRmb3IgKGNvbnN0IGcgb2YgZ3VpZGVzKSB7XG5cdFx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGcubG9jYXRpb24gKiAzMik7XG5cdFx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZy5kaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IDEgOiAwKTtcblx0XHR9XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDU0LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnVybHNMaXN0ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgXywgb3B0aW9ucykgPT4ge1xuXHRcdGNvbnN0IGNvdW50ID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXG5cdFx0aWYgKGNvdW50KSB7XG5cdFx0XHRpZiAoIW9wdGlvbnMudGhyb3dGb3JNaXNzaW5nRmVhdHVyZXMpIHJldHVybjtcblx0XHRcdHRocm93IG5ldyBFcnJvcignTm90IGltcGxlbWVudGVkOiBVUkwgTGlzdCcpO1xuXHRcdH1cblxuXHRcdC8vIFRPRE86IHJlYWQgYWN0dWFsIFVSTCBsaXN0XG5cdFx0dGFyZ2V0LnVybHNMaXN0ID0gW107XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgdGFyZ2V0LnVybHNMaXN0IS5sZW5ndGgpO1xuXG5cdFx0Ly8gVE9ETzogd3JpdGUgYWN0dWFsIFVSTCBsaXN0XG5cdFx0aWYgKHRhcmdldC51cmxzTGlzdCEubGVuZ3RoKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogVVJMIExpc3QnKTtcblx0XHR9XG5cdH0sXG4pO1xuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwNTAsIC8vIFNsaWNlc1xuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwNTAgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwNTAnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDUwID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDUwKTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjQsXG5cdHRhcmdldCA9PiB0YXJnZXQucGl4ZWxBc3BlY3RSYXRpbyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHRpZiAocmVhZFVpbnQzMihyZWFkZXIpID4gMikgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHBpeGVsQXNwZWN0UmF0aW8gdmVyc2lvbicpO1xuXHRcdHRhcmdldC5waXhlbEFzcGVjdFJhdGlvID0geyBhc3BlY3Q6IHJlYWRGbG9hdDY0KHJlYWRlcikgfTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCAyKTsgLy8gdmVyc2lvblxuXHRcdHdyaXRlRmxvYXQ2NCh3cml0ZXIsIHRhcmdldC5waXhlbEFzcGVjdFJhdGlvIS5hc3BlY3QpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA0MSxcblx0dGFyZ2V0ID0+IHRhcmdldC5pY2NVbnRhZ2dlZFByb2ZpbGUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0dGFyZ2V0LmljY1VudGFnZ2VkUHJvZmlsZSA9ICEhcmVhZFVpbnQ4KHJlYWRlcik7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCB0YXJnZXQuaWNjVW50YWdnZWRQcm9maWxlID8gMSA6IDApO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDM5LCAvLyBJQ0MgUHJvZmlsZVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMzkgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMzknLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDM5ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDM5KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNDQsXG5cdHRhcmdldCA9PiB0YXJnZXQuaWRzU2VlZE51bWJlciAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHRhcmdldC5pZHNTZWVkTnVtYmVyID0gcmVhZFVpbnQzMihyZWFkZXIpLFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHdyaXRlVWludDMyKHdyaXRlciwgdGFyZ2V0Lmlkc1NlZWROdW1iZXIhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMzYsXG5cdHRhcmdldCA9PiB0YXJnZXQudGh1bWJuYWlsICE9PSB1bmRlZmluZWQgfHwgdGFyZ2V0LnRodW1ibmFpbFJhdyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQsIG9wdGlvbnMpID0+IHtcblx0XHRjb25zdCBmb3JtYXQgPSByZWFkVWludDMyKHJlYWRlcik7IC8vIDEgPSBrSnBlZ1JHQiwgMCA9IGtSYXdSR0Jcblx0XHRjb25zdCB3aWR0aCA9IHJlYWRVaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCBoZWlnaHQgPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0cmVhZFVpbnQzMihyZWFkZXIpOyAvLyB3aWR0aEJ5dGVzID0gKHdpZHRoICogYml0c19wZXJfcGl4ZWwgKyAzMSkgLyAzMiAqIDQuXG5cdFx0cmVhZFVpbnQzMihyZWFkZXIpOyAvLyB0b3RhbFNpemUgPSB3aWR0aEJ5dGVzICogaGVpZ2h0ICogcGxhbmVzXG5cdFx0cmVhZFVpbnQzMihyZWFkZXIpOyAvLyBzaXplQWZ0ZXJDb21wcmVzc2lvblxuXHRcdGNvbnN0IGJpdHNQZXJQaXhlbCA9IHJlYWRVaW50MTYocmVhZGVyKTsgLy8gMjRcblx0XHRjb25zdCBwbGFuZXMgPSByZWFkVWludDE2KHJlYWRlcik7IC8vIDFcblxuXHRcdGlmIChmb3JtYXQgIT09IDEgfHwgYml0c1BlclBpeGVsICE9PSAyNCB8fCBwbGFuZXMgIT09IDEpIHtcblx0XHRcdG9wdGlvbnMubG9nTWlzc2luZ0ZlYXR1cmVzICYmIGNvbnNvbGUubG9nKGBJbnZhbGlkIHRodW1ibmFpbCBkYXRhIChmb3JtYXQ6ICR7Zm9ybWF0fSwgYml0c1BlclBpeGVsOiAke2JpdHNQZXJQaXhlbH0sIHBsYW5lczogJHtwbGFuZXN9KWApO1xuXHRcdFx0c2tpcEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBzaXplID0gbGVmdCgpO1xuXHRcdGNvbnN0IGRhdGEgPSByZWFkQnl0ZXMocmVhZGVyLCBzaXplKTtcblxuXHRcdGlmIChvcHRpb25zLnVzZVJhd1RodW1ibmFpbCkge1xuXHRcdFx0dGFyZ2V0LnRodW1ibmFpbFJhdyA9IHsgd2lkdGgsIGhlaWdodCwgZGF0YSB9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0YXJnZXQudGh1bWJuYWlsID0gY3JlYXRlQ2FudmFzRnJvbURhdGEoZGF0YSk7XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRsZXQgd2lkdGggPSAwO1xuXHRcdGxldCBoZWlnaHQgPSAwO1xuXHRcdGxldCBkYXRhOiBVaW50OEFycmF5O1xuXG5cdFx0aWYgKHRhcmdldC50aHVtYm5haWxSYXcpIHtcblx0XHRcdHdpZHRoID0gdGFyZ2V0LnRodW1ibmFpbFJhdy53aWR0aDtcblx0XHRcdGhlaWdodCA9IHRhcmdldC50aHVtYm5haWxSYXcuaGVpZ2h0O1xuXHRcdFx0ZGF0YSA9IHRhcmdldC50aHVtYm5haWxSYXcuZGF0YTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKCF0YXJnZXQudGh1bWJuYWlsKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgdGh1bWJuYWlsJyk7XG5cdFx0XHR3aWR0aCA9IHRhcmdldC50aHVtYm5haWwud2lkdGg7XG5cdFx0XHRoZWlnaHQgPSB0YXJnZXQudGh1bWJuYWlsLmhlaWdodDtcblx0XHRcdGRhdGEgPSB0b0J5dGVBcnJheSh0YXJnZXQudGh1bWJuYWlsLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsIDEpLnN1YnN0cignZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwnLmxlbmd0aCkpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGJpdHNQZXJQaXhlbCA9IDI0O1xuXHRcdGNvbnN0IHdpZHRoQnl0ZXMgPSBNYXRoLmZsb29yKCh3aWR0aCAqIGJpdHNQZXJQaXhlbCArIDMxKSAvIDMyKSAqIDQ7XG5cdFx0Y29uc3QgcGxhbmVzID0gMTtcblx0XHRjb25zdCB0b3RhbFNpemUgPSB3aWR0aEJ5dGVzICogaGVpZ2h0ICogcGxhbmVzO1xuXHRcdGNvbnN0IHNpemVBZnRlckNvbXByZXNzaW9uID0gZGF0YS5sZW5ndGg7XG5cblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDEpOyAvLyAxID0ga0pwZWdSR0Jcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIHdpZHRoKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGhlaWdodCk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB3aWR0aEJ5dGVzKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIHRvdGFsU2l6ZSk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCBzaXplQWZ0ZXJDb21wcmVzc2lvbik7XG5cdFx0d3JpdGVVaW50MTYod3JpdGVyLCBiaXRzUGVyUGl4ZWwpO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgcGxhbmVzKTtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgZGF0YSk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDU3LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnZlcnNpb25JbmZvICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0aWYgKHZlcnNpb24gIT09IDEpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB2ZXJzaW9uSW5mbyB2ZXJzaW9uJyk7XG5cblx0XHR0YXJnZXQudmVyc2lvbkluZm8gPSB7XG5cdFx0XHRoYXNSZWFsTWVyZ2VkRGF0YTogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdHdyaXRlck5hbWU6IHJlYWRVbmljb2RlU3RyaW5nKHJlYWRlciksXG5cdFx0XHRyZWFkZXJOYW1lOiByZWFkVW5pY29kZVN0cmluZyhyZWFkZXIpLFxuXHRcdFx0ZmlsZVZlcnNpb246IHJlYWRVaW50MzIocmVhZGVyKSxcblx0XHR9O1xuXG5cdFx0c2tpcEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgdmVyc2lvbkluZm8gPSB0YXJnZXQudmVyc2lvbkluZm8hO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMSk7IC8vIHZlcnNpb25cblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgdmVyc2lvbkluZm8uaGFzUmVhbE1lcmdlZERhdGEgPyAxIDogMCk7XG5cdFx0d3JpdGVVbmljb2RlU3RyaW5nKHdyaXRlciwgdmVyc2lvbkluZm8ud3JpdGVyTmFtZSk7XG5cdFx0d3JpdGVVbmljb2RlU3RyaW5nKHdyaXRlciwgdmVyc2lvbkluZm8ucmVhZGVyTmFtZSk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB2ZXJzaW9uSW5mby5maWxlVmVyc2lvbik7XG5cdH0sXG4pO1xuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwNTgsIC8vIEVYSUYgZGF0YSAxLlxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwNTggIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwNTgnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDU4ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDU4KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDcwMDAsXG5cdHRhcmdldCA9PiB0YXJnZXQuaW1hZ2VSZWFkeVZhcmlhYmxlcyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuaW1hZ2VSZWFkeVZhcmlhYmxlcyA9IHJlYWRVdGY4U3RyaW5nKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVVdGY4U3RyaW5nKHdyaXRlciwgdGFyZ2V0LmltYWdlUmVhZHlWYXJpYWJsZXMhKTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDcwMDEsXG5cdHRhcmdldCA9PiB0YXJnZXQuaW1hZ2VSZWFkeURhdGFTZXRzICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdHRhcmdldC5pbWFnZVJlYWR5RGF0YVNldHMgPSByZWFkVXRmOFN0cmluZyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVXRmOFN0cmluZyh3cml0ZXIsIHRhcmdldC5pbWFnZVJlYWR5RGF0YVNldHMhKTtcblx0fSxcbik7XG5cbmludGVyZmFjZSBEZXNjcmlwdG9yMTA4OCB7XG5cdCdudWxsJzogc3RyaW5nW107XG59XG5cbmFkZEhhbmRsZXIoXG5cdDEwODgsXG5cdHRhcmdldCA9PiB0YXJnZXQucGF0aFNlbGVjdGlvblN0YXRlICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgX2xlZnQpID0+IHtcblx0XHRjb25zdCBkZXNjOiBEZXNjcmlwdG9yMTA4OCA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXHRcdC8vIGNvbnNvbGUubG9nKHJlcXVpcmUoJ3V0aWwnKS5pbnNwZWN0KGRlc2MsIGZhbHNlLCA5OSwgdHJ1ZSkpO1xuXHRcdHRhcmdldC5wYXRoU2VsZWN0aW9uU3RhdGUgPSBkZXNjWydudWxsJ107XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGRlc2M6IERlc2NyaXB0b3IxMDg4ID0geyAnbnVsbCc6IHRhcmdldC5wYXRoU2VsZWN0aW9uU3RhdGUhIH07XG5cdFx0d3JpdGVWZXJzaW9uQW5kRGVzY3JpcHRvcih3cml0ZXIsICcnLCAnbnVsbCcsIGRlc2MpO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDI1LFxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMjUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMjUnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDI1ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDI1KTtcblx0fSxcbik7XG5cbmNvbnN0IEZybUQgPSBjcmVhdGVFbnVtPCdhdXRvJyB8ICdub25lJyB8ICdkaXNwb3NlJz4oJ0ZybUQnLCAnJywge1xuXHRhdXRvOiAnQXV0bycsXG5cdG5vbmU6ICdOb25lJyxcblx0ZGlzcG9zZTogJ0Rpc3AnLFxufSk7XG5cbmludGVyZmFjZSBBbmltYXRpb25EZXNjcmlwdG9yIHtcblx0QUZTdDogbnVtYmVyO1xuXHRGckluOiB7XG5cdFx0RnJJRDogbnVtYmVyO1xuXHRcdEZyRGw6IG51bWJlcjtcblx0XHRGckRzOiBzdHJpbmc7XG5cdFx0RnJHQT86IG51bWJlcjtcblx0fVtdO1xuXHRGU3RzOiB7XG5cdFx0RnNJRDogbnVtYmVyO1xuXHRcdEFGcm06IG51bWJlcjtcblx0XHRGc0ZyOiBudW1iZXJbXTtcblx0XHRMQ250OiBudW1iZXI7XG5cdH1bXTtcbn1cblxuaW50ZXJmYWNlIEFuaW1hdGlvbnMge1xuXHRmcmFtZXM6IHtcblx0XHRpZDogbnVtYmVyO1xuXHRcdGRlbGF5OiBudW1iZXI7XG5cdFx0ZGlzcG9zZT86ICdhdXRvJyB8ICdub25lJyB8ICdkaXNwb3NlJztcblx0fVtdO1xuXHRhbmltYXRpb25zOiB7XG5cdFx0aWQ6IG51bWJlcjtcblx0XHRmcmFtZXM6IG51bWJlcltdO1xuXHRcdHJlcGVhdHM/OiBudW1iZXI7XG5cdH1bXTtcbn1cblxuLy8gVE9ETzogVW5maW5pc2hlZFxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQ0MDAwLCAvLyBQbHVnLUluIHJlc291cmNlKHMpXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQsIHsgbG9nTWlzc2luZ0ZlYXR1cmVzLCBsb2dEZXZGZWF0dXJlcyB9KSA9PiB7XG5cdFx0aWYgKE1PQ0tfSEFORExFUlMpIHtcblx0XHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSA0MDAwJywgbGVmdCgpKTtcblx0XHRcdCh0YXJnZXQgYXMgYW55KS5faXI0MDAwID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBrZXkgPSByZWFkU2lnbmF0dXJlKHJlYWRlcik7XG5cblx0XHRpZiAoa2V5ID09PSAnbWFuaScpIHtcblx0XHRcdGNoZWNrU2lnbmF0dXJlKHJlYWRlciwgJ0lSRlInKTtcblx0XHRcdHJlYWRTZWN0aW9uKHJlYWRlciwgMSwgbGVmdCA9PiB7XG5cdFx0XHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdFx0XHRjaGVja1NpZ25hdHVyZShyZWFkZXIsICc4QklNJyk7XG5cdFx0XHRcdFx0Y29uc3Qga2V5ID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0XHRcdFx0cmVhZFNlY3Rpb24ocmVhZGVyLCAxLCBsZWZ0ID0+IHtcblx0XHRcdFx0XHRcdGlmIChrZXkgPT09ICdBbkRzJykge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBkZXNjID0gcmVhZFZlcnNpb25BbmREZXNjcmlwdG9yKHJlYWRlcikgYXMgQW5pbWF0aW9uRGVzY3JpcHRvcjtcblx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ0FuRHMnLCBkZXNjKTtcblx0XHRcdFx0XHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHMnLCBkZXNjKTtcblx0XHRcdFx0XHRcdFx0Ly8gbG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHMnLCByZXF1aXJlKCd1dGlsJykuaW5zcGVjdChkZXNjLCBmYWxzZSwgOTksIHRydWUpKTtcblxuXHRcdFx0XHRcdFx0XHRjb25zdCByZXN1bHQ6IEFuaW1hdGlvbnMgPSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gZGVzYy5BRlN0ID8/P1xuXHRcdFx0XHRcdFx0XHRcdGZyYW1lczogZGVzYy5GckluLm1hcCh4ID0+ICh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZDogeC5GcklELFxuXHRcdFx0XHRcdFx0XHRcdFx0ZGVsYXk6IHguRnJEbCAvIDEwMCxcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3Bvc2U6IHguRnJEcyA/IEZybUQuZGVjb2RlKHguRnJEcykgOiAnYXV0bycsIC8vIG1pc3NpbmcgPT0gYXV0b1xuXHRcdFx0XHRcdFx0XHRcdFx0Ly8geC5GckdBID8/P1xuXHRcdFx0XHRcdFx0XHRcdH0pKSxcblx0XHRcdFx0XHRcdFx0XHRhbmltYXRpb25zOiBkZXNjLkZTdHMubWFwKHggPT4gKHtcblx0XHRcdFx0XHRcdFx0XHRcdGlkOiB4LkZzSUQsXG5cdFx0XHRcdFx0XHRcdFx0XHRmcmFtZXM6IHguRnNGcixcblx0XHRcdFx0XHRcdFx0XHRcdHJlcGVhdHM6IHguTENudCxcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHguQUZybSA/Pz9cblx0XHRcdFx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHM6cmVzdWx0JywgcmVzdWx0KTtcblx0XHRcdFx0XHRcdFx0Ly8gbG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIEFuRHM6cmVzdWx0JywgcmVxdWlyZSgndXRpbCcpLmluc3BlY3QocmVzdWx0LCBmYWxzZSwgOTksIHRydWUpKTtcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoa2V5ID09PSAnUm9sbCcpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHRcdFx0XHRcdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnIzQwMDAgUm9sbCcsIGJ5dGVzKTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGxvZ01pc3NpbmdGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnVW5oYW5kbGVkIHN1YnNlY3Rpb24gaW4gIzQwMDAnLCBrZXkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ21vcHQnKSB7XG5cdFx0XHRjb25zdCBieXRlcyA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnIzQwMDAgbW9wdCcsIGJ5dGVzKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bG9nTWlzc2luZ0ZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCdVbmhhbmRsZWQga2V5IGluICM0MDAwOicsIGtleSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjQwMDApO1xuXHR9LFxuKTtcblxuLy8gVE9ETzogVW5maW5pc2hlZFxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQ0MDAxLCAvLyBQbHVnLUluIHJlc291cmNlKHMpXG5cdHRhcmdldCA9PiAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQsIHsgbG9nTWlzc2luZ0ZlYXR1cmVzLCBsb2dEZXZGZWF0dXJlcyB9KSA9PiB7XG5cdFx0aWYgKE1PQ0tfSEFORExFUlMpIHtcblx0XHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSA0MDAxJywgbGVmdCgpKTtcblx0XHRcdCh0YXJnZXQgYXMgYW55KS5faXI0MDAxID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHRjb25zdCBrZXkgPSByZWFkU2lnbmF0dXJlKHJlYWRlcik7XG5cblx0XHRpZiAoa2V5ID09PSAnbWZyaScpIHtcblx0XHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRpZiAodmVyc2lvbiAhPT0gMikgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG1mcmkgdmVyc2lvbicpO1xuXG5cdFx0XHRjb25zdCBsZW5ndGggPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0XHRjb25zdCBieXRlcyA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlbmd0aCk7XG5cdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnbWZyaScsIGJ5dGVzKTtcblx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ21zZXQnKSB7XG5cdFx0XHRjb25zdCBkZXNjID0gcmVhZFZlcnNpb25BbmREZXNjcmlwdG9yKHJlYWRlcik7XG5cdFx0XHRsb2dEZXZGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnbXNldCcsIGRlc2MpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRsb2dNaXNzaW5nRmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ1VuaGFuZGxlZCBrZXkgaW4gIzQwMDEnLCBrZXkpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXI0MDAxKTtcblx0fSxcbik7XG5cbi8vIFRPRE86IFVuZmluaXNoZWRcbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0NDAwMiwgLy8gUGx1Zy1JbiByZXNvdXJjZShzKVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjQwMDIgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDQwMDInLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXI0MDAyID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXI0MDAyKTtcblx0fSxcbik7XG4iXSwic291cmNlUm9vdCI6IkM6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
package/dist-es/index.js CHANGED
@@ -29,4 +29,4 @@ export function writePsdBuffer(psd, options) {
29
29
  return Buffer.from(writePsdUint8Array(psd, options));
30
30
  }
31
31
 
32
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxRQUFRLElBQUksZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1SCxPQUFPLEVBQWEsT0FBTyxJQUFJLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEYsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxPQUFPLENBQUM7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFTMUMsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDO0FBRS9DLE1BQU0sVUFBVSxPQUFPLENBQUMsTUFBZ0MsRUFBRSxPQUFxQjtJQUM5RSxJQUFNLE1BQU0sR0FBRyxRQUFRLElBQUksTUFBTSxDQUFDLENBQUM7UUFDbEMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsT0FBTyxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVEsRUFBRSxPQUFzQjtJQUN4RCxJQUFNLE1BQU0sR0FBRyxZQUFZLEVBQUUsQ0FBQztJQUM5QixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBUSxFQUFFLE9BQXNCO0lBQ2xFLElBQU0sTUFBTSxHQUFHLFlBQVksRUFBRSxDQUFDO0lBQzlCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkMsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFRLEVBQUUsT0FBc0I7SUFDOUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQ3pEO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQc2QsIFJlYWRPcHRpb25zLCBXcml0ZU9wdGlvbnMgfSBmcm9tICcuL3BzZCc7XG5pbXBvcnQgeyBQc2RXcml0ZXIsIHdyaXRlUHNkIGFzIHdyaXRlUHNkSW50ZXJuYWwsIGdldFdyaXRlckJ1ZmZlciwgY3JlYXRlV3JpdGVyLCBnZXRXcml0ZXJCdWZmZXJOb0NvcHkgfSBmcm9tICcuL3BzZFdyaXRlcic7XG5pbXBvcnQgeyBQc2RSZWFkZXIsIHJlYWRQc2QgYXMgcmVhZFBzZEludGVybmFsLCBjcmVhdGVSZWFkZXIgfSBmcm9tICcuL3BzZFJlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2Ficic7XG5leHBvcnQgKiBmcm9tICcuL2NzaCc7XG5leHBvcnQgeyBpbml0aWFsaXplQ2FudmFzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vcHNkJztcbmltcG9ydCB7IGZyb21CeXRlQXJyYXkgfSBmcm9tICdiYXNlNjQtanMnO1xuZXhwb3J0IHsgUHNkUmVhZGVyLCBQc2RXcml0ZXIgfTtcblxuaW50ZXJmYWNlIEJ1ZmZlckxpa2Uge1xuXHRidWZmZXI6IEFycmF5QnVmZmVyO1xuXHRieXRlT2Zmc2V0OiBudW1iZXI7XG5cdGJ5dGVMZW5ndGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGJ5dGVBcnJheVRvQmFzZTY0ID0gZnJvbUJ5dGVBcnJheTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQc2QoYnVmZmVyOiBBcnJheUJ1ZmZlciB8IEJ1ZmZlckxpa2UsIG9wdGlvbnM/OiBSZWFkT3B0aW9ucyk6IFBzZCB7XG5cdGNvbnN0IHJlYWRlciA9ICdidWZmZXInIGluIGJ1ZmZlciA/XG5cdFx0Y3JlYXRlUmVhZGVyKGJ1ZmZlci5idWZmZXIsIGJ1ZmZlci5ieXRlT2Zmc2V0LCBidWZmZXIuYnl0ZUxlbmd0aCkgOlxuXHRcdGNyZWF0ZVJlYWRlcihidWZmZXIpO1xuXHRyZXR1cm4gcmVhZFBzZEludGVybmFsKHJlYWRlciwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBzZChwc2Q6IFBzZCwgb3B0aW9ucz86IFdyaXRlT3B0aW9ucyk6IEFycmF5QnVmZmVyIHtcblx0Y29uc3Qgd3JpdGVyID0gY3JlYXRlV3JpdGVyKCk7XG5cdHdyaXRlUHNkSW50ZXJuYWwod3JpdGVyLCBwc2QsIG9wdGlvbnMpO1xuXHRyZXR1cm4gZ2V0V3JpdGVyQnVmZmVyKHdyaXRlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBzZFVpbnQ4QXJyYXkocHNkOiBQc2QsIG9wdGlvbnM/OiBXcml0ZU9wdGlvbnMpOiBVaW50OEFycmF5IHtcblx0Y29uc3Qgd3JpdGVyID0gY3JlYXRlV3JpdGVyKCk7XG5cdHdyaXRlUHNkSW50ZXJuYWwod3JpdGVyLCBwc2QsIG9wdGlvbnMpO1xuXHRyZXR1cm4gZ2V0V3JpdGVyQnVmZmVyTm9Db3B5KHdyaXRlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBzZEJ1ZmZlcihwc2Q6IFBzZCwgb3B0aW9ucz86IFdyaXRlT3B0aW9ucyk6IEJ1ZmZlciB7XG5cdGlmICh0eXBlb2YgQnVmZmVyID09PSAndW5kZWZpbmVkJykge1xuXHRcdHRocm93IG5ldyBFcnJvcignQnVmZmVyIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybScpO1xuXHR9XG5cblx0cmV0dXJuIEJ1ZmZlci5mcm9tKHdyaXRlUHNkVWludDhBcnJheShwc2QsIG9wdGlvbnMpKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiRDpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
32
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxRQUFRLElBQUksZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1SCxPQUFPLEVBQWEsT0FBTyxJQUFJLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEYsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxPQUFPLENBQUM7QUFDdEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLGNBQWMsT0FBTyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFTMUMsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDO0FBRS9DLE1BQU0sVUFBVSxPQUFPLENBQUMsTUFBZ0MsRUFBRSxPQUFxQjtJQUM5RSxJQUFNLE1BQU0sR0FBRyxRQUFRLElBQUksTUFBTSxDQUFDLENBQUM7UUFDbEMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEIsT0FBTyxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVEsRUFBRSxPQUFzQjtJQUN4RCxJQUFNLE1BQU0sR0FBRyxZQUFZLEVBQUUsQ0FBQztJQUM5QixnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBUSxFQUFFLE9BQXNCO0lBQ2xFLElBQU0sTUFBTSxHQUFHLFlBQVksRUFBRSxDQUFDO0lBQzlCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkMsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFRLEVBQUUsT0FBc0I7SUFDOUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQ3pEO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQc2QsIFJlYWRPcHRpb25zLCBXcml0ZU9wdGlvbnMgfSBmcm9tICcuL3BzZCc7XG5pbXBvcnQgeyBQc2RXcml0ZXIsIHdyaXRlUHNkIGFzIHdyaXRlUHNkSW50ZXJuYWwsIGdldFdyaXRlckJ1ZmZlciwgY3JlYXRlV3JpdGVyLCBnZXRXcml0ZXJCdWZmZXJOb0NvcHkgfSBmcm9tICcuL3BzZFdyaXRlcic7XG5pbXBvcnQgeyBQc2RSZWFkZXIsIHJlYWRQc2QgYXMgcmVhZFBzZEludGVybmFsLCBjcmVhdGVSZWFkZXIgfSBmcm9tICcuL3BzZFJlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2Ficic7XG5leHBvcnQgKiBmcm9tICcuL2NzaCc7XG5leHBvcnQgeyBpbml0aWFsaXplQ2FudmFzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vcHNkJztcbmltcG9ydCB7IGZyb21CeXRlQXJyYXkgfSBmcm9tICdiYXNlNjQtanMnO1xuZXhwb3J0IHsgUHNkUmVhZGVyLCBQc2RXcml0ZXIgfTtcblxuaW50ZXJmYWNlIEJ1ZmZlckxpa2Uge1xuXHRidWZmZXI6IEFycmF5QnVmZmVyO1xuXHRieXRlT2Zmc2V0OiBudW1iZXI7XG5cdGJ5dGVMZW5ndGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IGJ5dGVBcnJheVRvQmFzZTY0ID0gZnJvbUJ5dGVBcnJheTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRQc2QoYnVmZmVyOiBBcnJheUJ1ZmZlciB8IEJ1ZmZlckxpa2UsIG9wdGlvbnM/OiBSZWFkT3B0aW9ucyk6IFBzZCB7XG5cdGNvbnN0IHJlYWRlciA9ICdidWZmZXInIGluIGJ1ZmZlciA/XG5cdFx0Y3JlYXRlUmVhZGVyKGJ1ZmZlci5idWZmZXIsIGJ1ZmZlci5ieXRlT2Zmc2V0LCBidWZmZXIuYnl0ZUxlbmd0aCkgOlxuXHRcdGNyZWF0ZVJlYWRlcihidWZmZXIpO1xuXHRyZXR1cm4gcmVhZFBzZEludGVybmFsKHJlYWRlciwgb3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBzZChwc2Q6IFBzZCwgb3B0aW9ucz86IFdyaXRlT3B0aW9ucyk6IEFycmF5QnVmZmVyIHtcblx0Y29uc3Qgd3JpdGVyID0gY3JlYXRlV3JpdGVyKCk7XG5cdHdyaXRlUHNkSW50ZXJuYWwod3JpdGVyLCBwc2QsIG9wdGlvbnMpO1xuXHRyZXR1cm4gZ2V0V3JpdGVyQnVmZmVyKHdyaXRlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBzZFVpbnQ4QXJyYXkocHNkOiBQc2QsIG9wdGlvbnM/OiBXcml0ZU9wdGlvbnMpOiBVaW50OEFycmF5IHtcblx0Y29uc3Qgd3JpdGVyID0gY3JlYXRlV3JpdGVyKCk7XG5cdHdyaXRlUHNkSW50ZXJuYWwod3JpdGVyLCBwc2QsIG9wdGlvbnMpO1xuXHRyZXR1cm4gZ2V0V3JpdGVyQnVmZmVyTm9Db3B5KHdyaXRlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZVBzZEJ1ZmZlcihwc2Q6IFBzZCwgb3B0aW9ucz86IFdyaXRlT3B0aW9ucyk6IEJ1ZmZlciB7XG5cdGlmICh0eXBlb2YgQnVmZmVyID09PSAndW5kZWZpbmVkJykge1xuXHRcdHRocm93IG5ldyBFcnJvcignQnVmZmVyIG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybScpO1xuXHR9XG5cblx0cmV0dXJuIEJ1ZmZlci5mcm9tKHdyaXRlUHNkVWludDhBcnJheShwc2QsIG9wdGlvbnMpKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiQzpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
@@ -9,4 +9,4 @@ function createCanvasFromData(data) {
9
9
  }
10
10
  initializeCanvas(createCanvas, createCanvasFromData);
11
11
 
12
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluaXRpYWxpemVDYW52YXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTNDLFNBQVMsb0JBQW9CLENBQUMsSUFBZ0I7SUFDN0MsSUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUMxQixLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsSUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEQsT0FBTyxNQUFNLENBQUM7QUFDZixDQUFDO0FBRUQsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLENBQUMiLCJmaWxlIjoiaW5pdGlhbGl6ZUNhbnZhcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNhbnZhcywgSW1hZ2UgfSBmcm9tICdjYW52YXMnO1xyXG5pbXBvcnQgeyBpbml0aWFsaXplQ2FudmFzIH0gZnJvbSAnLi9pbmRleCc7XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVDYW52YXNGcm9tRGF0YShkYXRhOiBVaW50OEFycmF5KSB7XHJcblx0Y29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcclxuXHRpbWFnZS5zcmMgPSBCdWZmZXIuZnJvbShkYXRhKTtcclxuXHRjb25zdCBjYW52YXMgPSBjcmVhdGVDYW52YXMoaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCk7XHJcblx0Y2FudmFzLmdldENvbnRleHQoJzJkJykhLmRyYXdJbWFnZShpbWFnZSwgMCwgMCk7XHJcblx0cmV0dXJuIGNhbnZhcztcclxufVxyXG5cclxuaW5pdGlhbGl6ZUNhbnZhcyhjcmVhdGVDYW52YXMsIGNyZWF0ZUNhbnZhc0Zyb21EYXRhKTtcclxuIl0sInNvdXJjZVJvb3QiOiJEOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
12
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluaXRpYWxpemVDYW52YXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRTNDLFNBQVMsb0JBQW9CLENBQUMsSUFBZ0I7SUFDN0MsSUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUMxQixLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsSUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEQsT0FBTyxNQUFNLENBQUM7QUFDZixDQUFDO0FBRUQsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLENBQUMiLCJmaWxlIjoiaW5pdGlhbGl6ZUNhbnZhcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNhbnZhcywgSW1hZ2UgfSBmcm9tICdjYW52YXMnO1xyXG5pbXBvcnQgeyBpbml0aWFsaXplQ2FudmFzIH0gZnJvbSAnLi9pbmRleCc7XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVDYW52YXNGcm9tRGF0YShkYXRhOiBVaW50OEFycmF5KSB7XHJcblx0Y29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcclxuXHRpbWFnZS5zcmMgPSBCdWZmZXIuZnJvbShkYXRhKTtcclxuXHRjb25zdCBjYW52YXMgPSBjcmVhdGVDYW52YXMoaW1hZ2Uud2lkdGgsIGltYWdlLmhlaWdodCk7XHJcblx0Y2FudmFzLmdldENvbnRleHQoJzJkJykhLmRyYXdJbWFnZShpbWFnZSwgMCwgMCk7XHJcblx0cmV0dXJuIGNhbnZhcztcclxufVxyXG5cclxuaW5pdGlhbGl6ZUNhbnZhcyhjcmVhdGVDYW52YXMsIGNyZWF0ZUNhbnZhc0Zyb21EYXRhKTtcclxuIl0sInNvdXJjZVJvb3QiOiJDOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
package/dist-es/psd.js CHANGED
@@ -17,4 +17,4 @@ export var SectionDividerType;
17
17
  SectionDividerType[SectionDividerType["BoundingSectionDivider"] = 3] = "BoundingSectionDivider";
18
18
  })(SectionDividerType || (SectionDividerType = {}));
19
19
 
20
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBzZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQU4sSUFBa0IsU0FTakI7QUFURCxXQUFrQixTQUFTO0lBQzFCLDZDQUFVLENBQUE7SUFDVixtREFBYSxDQUFBO0lBQ2IsK0NBQVcsQ0FBQTtJQUNYLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseURBQWdCLENBQUE7SUFDaEIsK0NBQVcsQ0FBQTtJQUNYLHVDQUFPLENBQUE7QUFDUixDQUFDLEVBVGlCLFNBQVMsS0FBVCxTQUFTLFFBUzFCO0FBRUQsTUFBTSxDQUFOLElBQWtCLGtCQUtqQjtBQUxELFdBQWtCLGtCQUFrQjtJQUNuQyw2REFBUyxDQUFBO0lBQ1QsdUVBQWMsQ0FBQTtJQUNkLDJFQUFnQixDQUFBO0lBQ2hCLCtGQUEwQixDQUFBO0FBQzNCLENBQUMsRUFMaUIsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUtuQyIsImZpbGUiOiJwc2QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBCbGVuZE1vZGUgPSAncGFzcyB0aHJvdWdoJyB8ICdub3JtYWwnIHwgJ2Rpc3NvbHZlJyB8ICdkYXJrZW4nIHwgJ211bHRpcGx5JyB8XG5cdCdjb2xvciBidXJuJyB8ICdsaW5lYXIgYnVybicgfCAnZGFya2VyIGNvbG9yJyB8ICdsaWdodGVuJyB8ICdzY3JlZW4nIHwgJ2NvbG9yIGRvZGdlJyB8XG5cdCdsaW5lYXIgZG9kZ2UnIHwgJ2xpZ2h0ZXIgY29sb3InIHwgJ292ZXJsYXknIHwgJ3NvZnQgbGlnaHQnIHwgJ2hhcmQgbGlnaHQnIHxcblx0J3ZpdmlkIGxpZ2h0JyB8ICdsaW5lYXIgbGlnaHQnIHwgJ3BpbiBsaWdodCcgfCAnaGFyZCBtaXgnIHwgJ2RpZmZlcmVuY2UnIHwgJ2V4Y2x1c2lvbicgfFxuXHQnc3VidHJhY3QnIHwgJ2RpdmlkZScgfCAnaHVlJyB8ICdzYXR1cmF0aW9uJyB8ICdjb2xvcicgfCAnbHVtaW5vc2l0eSc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIENvbG9yTW9kZSB7XG5cdEJpdG1hcCA9IDAsXG5cdEdyYXlzY2FsZSA9IDEsXG5cdEluZGV4ZWQgPSAyLFxuXHRSR0IgPSAzLFxuXHRDTVlLID0gNCxcblx0TXVsdGljaGFubmVsID0gNyxcblx0RHVvdG9uZSA9IDgsXG5cdExhYiA9IDksXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIFNlY3Rpb25EaXZpZGVyVHlwZSB7XG5cdE90aGVyID0gMCxcblx0T3BlbkZvbGRlciA9IDEsXG5cdENsb3NlZEZvbGRlciA9IDIsXG5cdEJvdW5kaW5nU2VjdGlvbkRpdmlkZXIgPSAzLFxufVxuXG5leHBvcnQgdHlwZSBSR0JBID0geyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyOyBhOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBSR0IgPSB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBIU0IgPSB7IGg6IG51bWJlcjsgczogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMVxuZXhwb3J0IHR5cGUgQ01ZSyA9IHsgYzogbnVtYmVyOyBtOiBudW1iZXI7IHk6IG51bWJlcjsgazogbnVtYmVyOyB9OyAvLyB2YWx1ZXMgZnJvbSAwIHRvIDI1NVxuZXhwb3J0IHR5cGUgTEFCID0geyBsOiBudW1iZXI7IGE6IG51bWJlcjsgYjogbnVtYmVyOyB9OyAvLyB2YWx1ZXMgYGxgIGZyb20gMCB0byAxOyBgYWAgYW5kIGBiYCBmcm9tIC0xIHRvIDFcbmV4cG9ydCB0eXBlIEdyYXlzY2FsZSA9IHsgazogbnVtYmVyIH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBDb2xvciA9IFJHQkEgfCBSR0IgfCBIU0IgfCBDTVlLIHwgTEFCIHwgR3JheXNjYWxlO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVmZmVjdENvbnRvdXIge1xuXHRuYW1lOiBzdHJpbmc7XG5cdGN1cnZlOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0UGF0dGVybiB7XG5cdG5hbWU6IHN0cmluZztcblx0aWQ6IHN0cmluZztcblx0Ly8gVE9ETzogYWRkIGZpZWxkc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U2hhZG93IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0YW5nbGU/OiBudW1iZXI7XG5cdGRpc3RhbmNlPzogVW5pdHNWYWx1ZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHR1c2VHbG9iYWxMaWdodD86IGJvb2xlYW47XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG5cdGNob2tlPzogVW5pdHNWYWx1ZTsgLy8gc3ByZWFkXG5cdGxheWVyQ29uY2VhbHM/OiBib29sZWFuOyAvLyBvbmx5IGRyb3Agc2hhZG93XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RzT3V0ZXJHbG93IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRzb3VyY2U/OiBHbG93U291cmNlO1xuXHRhbnRpYWxpYXNlZD86IGJvb2xlYW47XG5cdG5vaXNlPzogbnVtYmVyO1xuXHRyYW5nZT86IG51bWJlcjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlO1xuXHRqaXR0ZXI/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0SW5uZXJHbG93IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRzb3VyY2U/OiBHbG93U291cmNlO1xuXHR0ZWNobmlxdWU/OiBHbG93VGVjaG5pcXVlO1xuXHRhbnRpYWxpYXNlZD86IGJvb2xlYW47XG5cdG5vaXNlPzogbnVtYmVyO1xuXHRyYW5nZT86IG51bWJlcjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlOyAvLyBzcHJlYWRcblx0aml0dGVyPzogbnVtYmVyO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdEJldmVsIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0YW5nbGU/OiBudW1iZXI7XG5cdHN0cmVuZ3RoPzogbnVtYmVyOyAvLyBkZXB0aFxuXHRoaWdobGlnaHRCbGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdHNoYWRvd0JsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0aGlnaGxpZ2h0Q29sb3I/OiBDb2xvcjtcblx0c2hhZG93Q29sb3I/OiBDb2xvcjtcblx0c3R5bGU/OiBCZXZlbFN0eWxlO1xuXHRoaWdobGlnaHRPcGFjaXR5PzogbnVtYmVyO1xuXHRzaGFkb3dPcGFjaXR5PzogbnVtYmVyO1xuXHRzb2Z0ZW4/OiBVbml0c1ZhbHVlO1xuXHR1c2VHbG9iYWxMaWdodD86IGJvb2xlYW47XG5cdGFsdGl0dWRlPzogbnVtYmVyO1xuXHR0ZWNobmlxdWU/OiBCZXZlbFRlY2huaXF1ZTtcblx0ZGlyZWN0aW9uPzogQmV2ZWxEaXJlY3Rpb247XG5cdHVzZVRleHR1cmU/OiBib29sZWFuO1xuXHR1c2VTaGFwZT86IGJvb2xlYW47XG5cdGFudGlhbGlhc0dsb3NzPzogYm9vbGVhbjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RTb2xpZEZpbGwge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdGJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0b3BhY2l0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFN0cm9rZSB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0b3ZlcnByaW50PzogYm9vbGVhbjtcblx0c2l6ZT86IFVuaXRzVmFsdWU7XG5cdHBvc2l0aW9uPzogJ2luc2lkZScgfCAnY2VudGVyJyB8ICdvdXRzaWRlJztcblx0ZmlsbFR5cGU/OiAnY29sb3InIHwgJ2dyYWRpZW50JyB8ICdwYXR0ZXJuJztcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRjb2xvcj86IENvbG9yO1xuXHRncmFkaWVudD86IChFZmZlY3RTb2xpZEdyYWRpZW50IHwgRWZmZWN0Tm9pc2VHcmFkaWVudCkgJiBFeHRyYUdyYWRpZW50SW5mbztcblx0cGF0dGVybj86IEVmZmVjdFBhdHRlcm4gJiB7fTsgLy8gVE9ETzogYWRkaXRpb25hbCBwYXR0ZXJuIGluZm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFNhdGluIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRhbnRpYWxpYXNlZD86IGJvb2xlYW47XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGRpc3RhbmNlPzogVW5pdHNWYWx1ZTtcblx0aW52ZXJ0PzogYm9vbGVhbjtcblx0YW5nbGU/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG4vLyBub3Qgc3VwcG9ydGVkIHlldCBiZWNhdXNlIG9mIGBQYXR0YCBzZWN0aW9uIG5vdCBpbXBsZW1lbnRlZFxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFBhdHRlcm5PdmVybGF5IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRwYXR0ZXJuPzogRWZmZWN0UGF0dGVybjtcblx0cGhhc2U/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9O1xuXHRhbGlnbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0U29saWRHcmFkaWVudCB7XG5cdG5hbWU6IHN0cmluZztcblx0dHlwZTogJ3NvbGlkJztcblx0c21vb3RobmVzcz86IG51bWJlcjtcblx0Y29sb3JTdG9wczogQ29sb3JTdG9wW107XG5cdG9wYWNpdHlTdG9wczogT3BhY2l0eVN0b3BbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3ROb2lzZUdyYWRpZW50IHtcblx0bmFtZTogc3RyaW5nO1xuXHR0eXBlOiAnbm9pc2UnO1xuXHRyb3VnaG5lc3M/OiBudW1iZXI7XG5cdGNvbG9yTW9kZWw/OiAncmdiJyB8ICdoc2InIHwgJ2xhYic7XG5cdHJhbmRvbVNlZWQ/OiBudW1iZXI7XG5cdHJlc3RyaWN0Q29sb3JzPzogYm9vbGVhbjtcblx0YWRkVHJhbnNwYXJlbmN5PzogYm9vbGVhbjtcblx0bWluOiBudW1iZXJbXTtcblx0bWF4OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdEdyYWRpZW50T3ZlcmxheSB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0YmxlbmRNb2RlPzogc3RyaW5nO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRhbGlnbj86IGJvb2xlYW47XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRyZXZlcnNlPzogYm9vbGVhbjtcblx0dHlwZT86IEdyYWRpZW50U3R5bGU7XG5cdG9mZnNldD86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG5cdGdyYWRpZW50PzogRWZmZWN0U29saWRHcmFkaWVudCB8IEVmZmVjdE5vaXNlR3JhZGllbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RzSW5mbyB7XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRyb3BTaGFkb3c/OiBMYXllckVmZmVjdFNoYWRvd1tdO1xuXHRpbm5lclNoYWRvdz86IExheWVyRWZmZWN0U2hhZG93W107XG5cdG91dGVyR2xvdz86IExheWVyRWZmZWN0c091dGVyR2xvdztcblx0aW5uZXJHbG93PzogTGF5ZXJFZmZlY3RJbm5lckdsb3c7XG5cdGJldmVsPzogTGF5ZXJFZmZlY3RCZXZlbDtcblx0c29saWRGaWxsPzogTGF5ZXJFZmZlY3RTb2xpZEZpbGxbXTtcblx0c2F0aW4/OiBMYXllckVmZmVjdFNhdGluO1xuXHRzdHJva2U/OiBMYXllckVmZmVjdFN0cm9rZVtdO1xuXHRncmFkaWVudE92ZXJsYXk/OiBMYXllckVmZmVjdEdyYWRpZW50T3ZlcmxheVtdO1xuXHRwYXR0ZXJuT3ZlcmxheT86IExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXk7IC8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJNYXNrRGF0YSB7XG5cdHRvcD86IG51bWJlcjtcblx0bGVmdD86IG51bWJlcjtcblx0Ym90dG9tPzogbnVtYmVyO1xuXHRyaWdodD86IG51bWJlcjtcblx0ZGVmYXVsdENvbG9yPzogbnVtYmVyO1xuXHRkaXNhYmxlZD86IGJvb2xlYW47XG5cdHBvc2l0aW9uUmVsYXRpdmVUb0xheWVyPzogYm9vbGVhbjtcblx0ZnJvbVZlY3RvckRhdGE/OiBib29sZWFuOyAvLyBzZXQgdG8gdHJ1ZSBpZiB0aGUgbWFzayBpcyBnZW5lcmF0ZWQgZnJvbSB2ZWN0b3IgZGF0YSwgZmFsc2UgaWYgaXQncyBhIGJpdG1hcCBwcm92aWRlZCBieSB1c2VyXG5cdHVzZXJNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dXNlck1hc2tGZWF0aGVyPzogbnVtYmVyOyAvLyBweFxuXHR2ZWN0b3JNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dmVjdG9yTWFza0ZlYXRoZXI/OiBudW1iZXI7XG5cdGNhbnZhcz86IEhUTUxDYW52YXNFbGVtZW50O1xuXHRpbWFnZURhdGE/OiBJbWFnZURhdGE7XG59XG5cbmV4cG9ydCB0eXBlIFRleHRHcmlkZGluZyA9ICdub25lJyB8ICdyb3VuZCc7IC8vIFRPRE86IG90aGVyIHZhbHVlcyAobm8gaWRlYSB3aGVyZSB0byBzZXQgaXQgdXAgaW4gUGhvdG9zaG9wKVxuZXhwb3J0IHR5cGUgT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuZXhwb3J0IHR5cGUgQW50aUFsaWFzID0gJ25vbmUnIHwgJ3NoYXJwJyB8ICdjcmlzcCcgfCAnc3Ryb25nJyB8ICdzbW9vdGgnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUxDRCc7XG5leHBvcnQgdHlwZSBXYXJwU3R5bGUgPVxuXHQnbm9uZScgfCAnYXJjJyB8ICdhcmNMb3dlcicgfCAnYXJjVXBwZXInIHwgJ2FyY2gnIHwgJ2J1bGdlJyB8ICdzaGVsbExvd2VyJyB8ICdzaGVsbFVwcGVyJyB8ICdmbGFnJyB8XG5cdCd3YXZlJyB8ICdmaXNoJyB8ICdyaXNlJyB8ICdmaXNoZXllJyB8ICdpbmZsYXRlJyB8ICdzcXVlZXplJyB8ICd0d2lzdCcgfCAnY3VzdG9tJztcbmV4cG9ydCB0eXBlIEJldmVsU3R5bGUgPSAnb3V0ZXIgYmV2ZWwnIHwgJ2lubmVyIGJldmVsJyB8ICdlbWJvc3MnIHwgJ3BpbGxvdyBlbWJvc3MnIHwgJ3N0cm9rZSBlbWJvc3MnO1xuZXhwb3J0IHR5cGUgQmV2ZWxUZWNobmlxdWUgPSAnc21vb3RoJyB8ICdjaGlzZWwgaGFyZCcgfCAnY2hpc2VsIHNvZnQnO1xuZXhwb3J0IHR5cGUgQmV2ZWxEaXJlY3Rpb24gPSAndXAnIHwgJ2Rvd24nO1xuZXhwb3J0IHR5cGUgR2xvd1RlY2huaXF1ZSA9ICdzb2Z0ZXInIHwgJ3ByZWNpc2UnO1xuZXhwb3J0IHR5cGUgR2xvd1NvdXJjZSA9ICdlZGdlJyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgR3JhZGllbnRTdHlsZSA9ICdsaW5lYXInIHwgJ3JhZGlhbCcgfCAnYW5nbGUnIHwgJ3JlZmxlY3RlZCcgfCAnZGlhbW9uZCc7XG5leHBvcnQgdHlwZSBKdXN0aWZpY2F0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgTGluZUNhcFR5cGUgPSAnYnV0dCcgfCAncm91bmQnIHwgJ3NxdWFyZSc7XG5leHBvcnQgdHlwZSBMaW5lSm9pblR5cGUgPSAnbWl0ZXInIHwgJ3JvdW5kJyB8ICdiZXZlbCc7XG5leHBvcnQgdHlwZSBMaW5lQWxpZ25tZW50ID0gJ2luc2lkZScgfCAnY2VudGVyJyB8ICdvdXRzaWRlJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXJwIHtcblx0c3R5bGU/OiBXYXJwU3R5bGU7XG5cdHZhbHVlPzogbnVtYmVyO1xuXHRwZXJzcGVjdGl2ZT86IG51bWJlcjtcblx0cGVyc3BlY3RpdmVPdGhlcj86IG51bWJlcjtcblx0cm90YXRlPzogT3JpZW50YXRpb247XG5cdC8vIGZvciBjdXN0b20gd2FycHNcblx0Ym91bmRzPzogeyB0b3A6IFVuaXRzVmFsdWU7IGxlZnQ6IFVuaXRzVmFsdWU7IGJvdHRvbTogVW5pdHNWYWx1ZTsgcmlnaHQ6IFVuaXRzVmFsdWU7IH07XG5cdHVPcmRlcj86IG51bWJlcjtcblx0dk9yZGVyPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Sb3dzPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Db2xzPzogbnVtYmVyO1xuXHRjdXN0b21FbnZlbG9wZVdhcnA/OiB7XG5cdFx0cXVpbHRTbGljZVg/OiBudW1iZXJbXTtcblx0XHRxdWlsdFNsaWNlWT86IG51bWJlcltdO1xuXHRcdC8vIDE2IHBvaW50cyBmcm9tIHRvcCBsZWZ0IHRvIGJvdHRvbSByaWdodCwgcm93cyBmaXJzdCwgYWxsIHBvaW50cyBhcmUgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IHBvaW50XG5cdFx0bWVzaFBvaW50czogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfVtdO1xuXHR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHNjcmlwdD86IG51bWJlcjtcblx0dHlwZT86IG51bWJlcjtcblx0c3ludGhldGljPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFncmFwaFN0eWxlIHtcblx0anVzdGlmaWNhdGlvbj86IEp1c3RpZmljYXRpb247XG5cdGZpcnN0TGluZUluZGVudD86IG51bWJlcjtcblx0c3RhcnRJbmRlbnQ/OiBudW1iZXI7XG5cdGVuZEluZGVudD86IG51bWJlcjtcblx0c3BhY2VCZWZvcmU/OiBudW1iZXI7XG5cdHNwYWNlQWZ0ZXI/OiBudW1iZXI7XG5cdGF1dG9IeXBoZW5hdGU/OiBib29sZWFuO1xuXHRoeXBoZW5hdGVkV29yZFNpemU/OiBudW1iZXI7XG5cdHByZUh5cGhlbj86IG51bWJlcjtcblx0cG9zdEh5cGhlbj86IG51bWJlcjtcblx0Y29uc2VjdXRpdmVIeXBoZW5zPzogbnVtYmVyO1xuXHR6b25lPzogbnVtYmVyO1xuXHR3b3JkU3BhY2luZz86IG51bWJlcltdO1xuXHRsZXR0ZXJTcGFjaW5nPzogbnVtYmVyW107XG5cdGdseXBoU3BhY2luZz86IG51bWJlcltdO1xuXHRhdXRvTGVhZGluZz86IG51bWJlcjtcblx0bGVhZGluZ1R5cGU/OiBudW1iZXI7XG5cdGhhbmdpbmc/OiBib29sZWFuO1xuXHRidXJhc2FnYXJpPzogYm9vbGVhbjtcblx0a2luc29rdU9yZGVyPzogbnVtYmVyO1xuXHRldmVyeUxpbmVDb21wb3Nlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWdyYXBoU3R5bGVSdW4ge1xuXHRsZW5ndGg6IG51bWJlcjtcblx0c3R5bGU6IFBhcmFncmFwaFN0eWxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTdHlsZSB7XG5cdGZvbnQ/OiBGb250O1xuXHRmb250U2l6ZT86IG51bWJlcjtcblx0ZmF1eEJvbGQ/OiBib29sZWFuO1xuXHRmYXV4SXRhbGljPzogYm9vbGVhbjtcblx0YXV0b0xlYWRpbmc/OiBib29sZWFuO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRob3Jpem9udGFsU2NhbGU/OiBudW1iZXI7XG5cdHZlcnRpY2FsU2NhbGU/OiBudW1iZXI7XG5cdHRyYWNraW5nPzogbnVtYmVyO1xuXHRhdXRvS2VybmluZz86IGJvb2xlYW47XG5cdGtlcm5pbmc/OiBudW1iZXI7XG5cdGJhc2VsaW5lU2hpZnQ/OiBudW1iZXI7XG5cdGZvbnRDYXBzPzogbnVtYmVyOyAvLyAwIC0gbm9uZSwgMSAtIHNtYWxsIGNhcHMsIDIgLSBhbGwgY2Fwc1xuXHRmb250QmFzZWxpbmU/OiBudW1iZXI7IC8vIDAgLSBub3JtYWwsIDEgLSBzdXBlcnNjcmlwdCwgMiAtIHN1YnNjcmlwdFxuXHR1bmRlcmxpbmU/OiBib29sZWFuO1xuXHRzdHJpa2V0aHJvdWdoPzogYm9vbGVhbjtcblx0bGlnYXR1cmVzPzogYm9vbGVhbjtcblx0ZExpZ2F0dXJlcz86IGJvb2xlYW47XG5cdGJhc2VsaW5lRGlyZWN0aW9uPzogbnVtYmVyO1xuXHR0c3VtZT86IG51bWJlcjtcblx0c3R5bGVSdW5BbGlnbm1lbnQ/OiBudW1iZXI7XG5cdGxhbmd1YWdlPzogbnVtYmVyO1xuXHRub0JyZWFrPzogYm9vbGVhbjtcblx0ZmlsbENvbG9yPzogQ29sb3I7XG5cdHN0cm9rZUNvbG9yPzogQ29sb3I7XG5cdGZpbGxGbGFnPzogYm9vbGVhbjtcblx0c3Ryb2tlRmxhZz86IGJvb2xlYW47XG5cdGZpbGxGaXJzdD86IGJvb2xlYW47XG5cdHlVbmRlcmxpbmU/OiBudW1iZXI7XG5cdG91dGxpbmVXaWR0aD86IG51bWJlcjtcblx0Y2hhcmFjdGVyRGlyZWN0aW9uPzogbnVtYmVyO1xuXHRoaW5kaU51bWJlcnM/OiBib29sZWFuO1xuXHRrYXNoaWRhPzogbnVtYmVyO1xuXHRkaWFjcml0aWNQb3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFN0eWxlUnVuIHtcblx0bGVuZ3RoOiBudW1iZXI7XG5cdHN0eWxlOiBUZXh0U3R5bGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEdyaWRJbmZvIHtcblx0aXNPbj86IGJvb2xlYW47XG5cdHNob3c/OiBib29sZWFuO1xuXHRzaXplPzogbnVtYmVyO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRjb2xvcj86IENvbG9yO1xuXHRsZWFkaW5nRmlsbENvbG9yPzogQ29sb3I7XG5cdGFsaWduTGluZUhlaWdodFRvR3JpZEZsYWdzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllclRleHREYXRhIHtcblx0dGV4dDogc3RyaW5nO1xuXHR0cmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8gMmQgdHJhbnNmb3JtIG1hdHJpeCBbeHgsIHh5LCB5eCwgeXksIHR4LCB0eV1cblx0YW50aUFsaWFzPzogQW50aUFsaWFzO1xuXHRncmlkZGluZz86IFRleHRHcmlkZGluZztcblx0b3JpZW50YXRpb24/OiBPcmllbnRhdGlvbjtcblx0aW5kZXg/OiBudW1iZXI7XG5cdHdhcnA/OiBXYXJwO1xuXHR0b3A/OiBudW1iZXI7XG5cdGxlZnQ/OiBudW1iZXI7XG5cdGJvdHRvbT86IG51bWJlcjtcblx0cmlnaHQ/OiBudW1iZXI7XG5cblx0Z3JpZEluZm8/OiBUZXh0R3JpZEluZm87XG5cdHVzZUZyYWN0aW9uYWxHbHlwaFdpZHRocz86IGJvb2xlYW47XG5cdHN0eWxlPzogVGV4dFN0eWxlOyAvLyBiYXNlIHN0eWxlXG5cdHN0eWxlUnVucz86IFRleHRTdHlsZVJ1bltdOyAvLyBzcGFucyBvZiBkaWZmZXJlbnQgc3R5bGVcblx0cGFyYWdyYXBoU3R5bGU/OiBQYXJhZ3JhcGhTdHlsZTsgLy8gYmFzZSBwYXJhZ3JhcGggc3R5bGVcblx0cGFyYWdyYXBoU3R5bGVSdW5zPzogUGFyYWdyYXBoU3R5bGVSdW5bXTsgLy8gc3R5bGUgZm9yIGVhY2ggbGluZVxuXG5cdHN1cGVyc2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3VwZXJzY3JpcHRQb3NpdGlvbj86IG51bWJlcjtcblx0c3Vic2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3Vic2NyaXB0UG9zaXRpb24/OiBudW1iZXI7XG5cdHNtYWxsQ2FwU2l6ZT86IG51bWJlcjtcblxuXHRzaGFwZVR5cGU/OiAncG9pbnQnIHwgJ2JveCc7XG5cdHBvaW50QmFzZT86IG51bWJlcltdO1xuXHRib3hCb3VuZHM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuSW5mbyB7XG5cdG5hbWU6IHN0cmluZztcblx0aWQ6IHN0cmluZztcblx0eDogbnVtYmVyO1xuXHR5OiBudW1iZXI7XG5cdGJvdW5kczogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgdzogbnVtYmVyLCBoOiBudW1iZXI7IH07XG5cdGRhdGE6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV6aWVyS25vdCB7XG5cdGxpbmtlZDogYm9vbGVhbjtcblx0cG9pbnRzOiBudW1iZXJbXTsgLy8geDAsIHkwLCB4MSwgeTEsIHgyLCB5MlxufVxuXG5leHBvcnQgdHlwZSBCb29sZWFuT3BlcmF0aW9uID0gJ2V4Y2x1ZGUnIHwgJ2NvbWJpbmUnIHwgJ3N1YnRyYWN0JyB8ICdpbnRlcnNlY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJlemllclBhdGgge1xuXHRvcGVuOiBib29sZWFuO1xuXHRvcGVyYXRpb246IEJvb2xlYW5PcGVyYXRpb247XG5cdGtub3RzOiBCZXppZXJLbm90W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFHcmFkaWVudEluZm8ge1xuXHRzdHlsZT86IEdyYWRpZW50U3R5bGU7XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cmV2ZXJzZT86IGJvb2xlYW47XG5cdGFsaWduPzogYm9vbGVhbjtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYVBhdHRlcm5JbmZvIHtcblx0bGlua2VkPzogYm9vbGVhbjtcblx0cGhhc2U/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9O1xufVxuXG5leHBvcnQgdHlwZSBWZWN0b3JDb250ZW50ID0geyB0eXBlOiAnY29sb3InOyBjb2xvcjogQ29sb3I7IH0gfFxuXHQoRWZmZWN0U29saWRHcmFkaWVudCAmIEV4dHJhR3JhZGllbnRJbmZvKSB8XG5cdChFZmZlY3ROb2lzZUdyYWRpZW50ICYgRXh0cmFHcmFkaWVudEluZm8pIHxcblx0KEVmZmVjdFBhdHRlcm4gJiB7IHR5cGU6ICdwYXR0ZXJuJzsgfSAmIEV4dHJhUGF0dGVybkluZm8pO1xuXG5leHBvcnQgdHlwZSBSZW5kZXJpbmdJbnRlbnQgPSAncGVyY2VwdHVhbCcgfCAnc2F0dXJhdGlvbicgfCAncmVsYXRpdmUgY29sb3JpbWV0cmljJyB8ICdhYnNvbHV0ZSBjb2xvcmltZXRyaWMnO1xuXG5leHBvcnQgdHlwZSBVbml0cyA9ICdQaXhlbHMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ01pbGxpbWV0ZXJzJyB8ICdDZW50aW1ldGVycycgfCAnSW5jaGVzJyB8ICdOb25lJyB8ICdEZW5zaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBVbml0c1ZhbHVlIHtcblx0dW5pdHM6IFVuaXRzO1xuXHR2YWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyaWdodG5lc3NBZGp1c3RtZW50IHtcblx0dHlwZTogJ2JyaWdodG5lc3MvY29udHJhc3QnO1xuXHRicmlnaHRuZXNzPzogbnVtYmVyO1xuXHRjb250cmFzdD86IG51bWJlcjtcblx0bWVhblZhbHVlPzogbnVtYmVyO1xuXHR1c2VMZWdhY3k/OiBib29sZWFuO1xuXHRsYWJDb2xvck9ubHk/OiBib29sZWFuO1xuXHRhdXRvPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbCB7XG5cdHNoYWRvd0lucHV0OiBudW1iZXI7XG5cdGhpZ2hsaWdodElucHV0OiBudW1iZXI7XG5cdHNoYWRvd091dHB1dDogbnVtYmVyO1xuXHRoaWdobGlnaHRPdXRwdXQ6IG51bWJlcjtcblx0bWlkdG9uZUlucHV0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlc2V0SW5mbyB7XG5cdHByZXNldEtpbmQ/OiBudW1iZXI7XG5cdHByZXNldEZpbGVOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExldmVsc0FkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2xldmVscyc7XG5cdHJnYj86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xuXHRyZWQ/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Z3JlZW4/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Ymx1ZT86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xufVxuXG5leHBvcnQgdHlwZSBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbCA9IHsgaW5wdXQ6IG51bWJlcjsgb3V0cHV0OiBudW1iZXI7IH1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBDdXJ2ZXNBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjdXJ2ZXMnO1xuXHRyZ2I/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcblx0cmVkPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVuPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWU/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvc3VyZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2V4cG9zdXJlJztcblx0ZXhwb3N1cmU/OiBudW1iZXI7XG5cdG9mZnNldD86IG51bWJlcjtcblx0Z2FtbWE/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlicmFuY2VBZGp1c3RtZW50IHtcblx0dHlwZTogJ3ZpYnJhbmNlJztcblx0dmlicmFuY2U/OiBudW1iZXI7XG5cdHNhdHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsIHtcblx0YTogbnVtYmVyO1xuXHRiOiBudW1iZXI7XG5cdGM6IG51bWJlcjtcblx0ZDogbnVtYmVyO1xuXHRodWU6IG51bWJlcjtcblx0c2F0dXJhdGlvbjogbnVtYmVyO1xuXHRsaWdodG5lc3M6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudCBleHRlbmRzIFByZXNldEluZm8ge1xuXHR0eXBlOiAnaHVlL3NhdHVyYXRpb24nO1xuXHRtYXN0ZXI/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHJlZHM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHllbGxvd3M/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVucz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0Y3lhbnM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWVzPzogSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsO1xuXHRtYWdlbnRhcz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xvckJhbGFuY2VWYWx1ZXMge1xuXHRjeWFuUmVkOiBudW1iZXI7XG5cdG1hZ2VudGFHcmVlbjogbnVtYmVyO1xuXHR5ZWxsb3dCbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBiYWxhbmNlJztcblx0c2hhZG93cz86IENvbG9yQmFsYW5jZVZhbHVlcztcblx0bWlkdG9uZXM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdGhpZ2hsaWdodHM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdHByZXNlcnZlTHVtaW5vc2l0eT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxhY2tBbmRXaGl0ZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2JsYWNrICYgd2hpdGUnO1xuXHRyZWRzPzogbnVtYmVyO1xuXHR5ZWxsb3dzPzogbnVtYmVyO1xuXHRncmVlbnM/OiBudW1iZXI7XG5cdGN5YW5zPzogbnVtYmVyO1xuXHRibHVlcz86IG51bWJlcjtcblx0bWFnZW50YXM/OiBudW1iZXI7XG5cdHVzZVRpbnQ/OiBib29sZWFuO1xuXHR0aW50Q29sb3I/OiBDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG90b0ZpbHRlckFkanVzdG1lbnQge1xuXHR0eXBlOiAncGhvdG8gZmlsdGVyJztcblx0Y29sb3I/OiBDb2xvcjtcblx0ZGVuc2l0eT86IG51bWJlcjtcblx0cHJlc2VydmVMdW1pbm9zaXR5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJDaGFubmVsIHtcblx0cmVkOiBudW1iZXI7XG5cdGdyZWVuOiBudW1iZXI7XG5cdGJsdWU6IG51bWJlcjtcblx0Y29uc3RhbnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjaGFubmVsIG1peGVyJztcblx0bW9ub2Nocm9tZT86IGJvb2xlYW47XG5cdHJlZD86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyZWVuPzogQ2hhbm5lbE1peGVyQ2hhbm5lbDtcblx0Ymx1ZT86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyYXk/OiBDaGFubmVsTWl4ZXJDaGFubmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yTG9va3VwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBsb29rdXAnO1xuXHRsb29rdXBUeXBlPzogJzNkbHV0JyB8ICdhYnN0cmFjdFByb2ZpbGUnIHwgJ2RldmljZUxpbmtQcm9maWxlJztcblx0bmFtZT86IHN0cmluZztcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cHJvZmlsZT86IFVpbnQ4QXJyYXk7XG5cdGx1dEZvcm1hdD86ICdsb29rJyB8ICdjdWJlJyB8ICczZGwnO1xuXHRkYXRhT3JkZXI/OiAncmdiJyB8ICdiZ3InO1xuXHR0YWJsZU9yZGVyPzogJ3JnYicgfCAnYmdyJztcblx0bHV0M0RGaWxlRGF0YT86IFVpbnQ4QXJyYXk7XG5cdGx1dDNERmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52ZXJ0QWRqdXN0bWVudCB7XG5cdHR5cGU6ICdpbnZlcnQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3Rlcml6ZUFkanVzdG1lbnQge1xuXHR0eXBlOiAncG9zdGVyaXplJztcblx0bGV2ZWxzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVzaG9sZEFkanVzdG1lbnQge1xuXHR0eXBlOiAndGhyZXNob2xkJztcblx0bGV2ZWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTdG9wIHtcblx0Y29sb3I6IENvbG9yO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wYWNpdHlTdG9wIHtcblx0b3BhY2l0eTogbnVtYmVyO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYWRpZW50TWFwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdncmFkaWVudCBtYXAnO1xuXHRuYW1lPzogc3RyaW5nO1xuXHRncmFkaWVudFR5cGU6ICdzb2xpZCcgfCAnbm9pc2UnO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRyZXZlcnNlPzogYm9vbGVhbjtcblx0Ly8gc29saWRcblx0c21vb3RobmVzcz86IG51bWJlcjtcblx0Y29sb3JTdG9wcz86IENvbG9yU3RvcFtdO1xuXHRvcGFjaXR5U3RvcHM/OiBPcGFjaXR5U3RvcFtdO1xuXHQvLyBub2lzZVxuXHRyb3VnaG5lc3M/OiBudW1iZXI7XG5cdGNvbG9yTW9kZWw/OiAncmdiJyB8ICdoc2InIHwgJ2xhYic7XG5cdHJhbmRvbVNlZWQ/OiBudW1iZXI7XG5cdHJlc3RyaWN0Q29sb3JzPzogYm9vbGVhbjtcblx0YWRkVHJhbnNwYXJlbmN5PzogYm9vbGVhbjtcblx0bWluPzogbnVtYmVyW107XG5cdG1heD86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdzZWxlY3RpdmUgY29sb3InO1xuXHRtb2RlPzogJ3JlbGF0aXZlJyB8ICdhYnNvbHV0ZSc7XG5cdHJlZHM/OiBDTVlLO1xuXHR5ZWxsb3dzPzogQ01ZSztcblx0Z3JlZW5zPzogQ01ZSztcblx0Y3lhbnM/OiBDTVlLO1xuXHRibHVlcz86IENNWUs7XG5cdG1hZ2VudGFzPzogQ01ZSztcblx0d2hpdGVzPzogQ01ZSztcblx0bmV1dHJhbHM/OiBDTVlLO1xuXHRibGFja3M/OiBDTVlLO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZEZpbGUge1xuXHRpZDogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGNyZWF0b3I/OiBzdHJpbmc7XG5cdGRhdGE/OiBVaW50OEFycmF5O1xuXHR0aW1lPzogRGF0ZTsgLy8gZm9yIGV4dGVybmFsIGZpbGVzXG5cdGRlc2NyaXB0b3I/OiB7XG5cdFx0Y29tcEluZm86IHsgY29tcElEOiBudW1iZXI7IG9yaWdpbmFsQ29tcElEOiBudW1iZXI7IH07XG5cdH07XG5cdGNoaWxkRG9jdW1lbnRJRD86IHN0cmluZztcblx0YXNzZXRNb2RUaW1lPzogbnVtYmVyO1xuXHRhc3NldExvY2tlZFN0YXRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQbGFjZWRMYXllclR5cGUgPSAndW5rbm93bicgfCAndmVjdG9yJyB8ICdyYXN0ZXInIHwgJ2ltYWdlIHN0YWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZWRMYXllciB7XG5cdGlkOiBzdHJpbmc7IC8vIGlkIG9mIGxpbmtlZCBpbWFnZSBmaWxlIChwc2QubGlua2VkRmlsZXMpXG5cdHBsYWNlZD86IHN0cmluZzsgLy8gPz8/XG5cdHR5cGU6IFBsYWNlZExheWVyVHlwZTtcblx0Ly8gcGFnZU51bWJlcjogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gdG90YWxQYWdlczogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gZnJhbWVTdGVwPzogeyBudW1lcmF0b3I6IG51bWJlcjsgZGVub21pbmF0b3I6IG51bWJlcjsgfTtcblx0Ly8gZHVyYXRpb24/OiB7IG51bWVyYXRvcjogbnVtYmVyOyBkZW5vbWluYXRvcjogbnVtYmVyOyB9O1xuXHQvLyBmcmFtZUNvdW50PzogbnVtYmVyOyAvLyA/Pz9cblx0dHJhbnNmb3JtOiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHRub25BZmZpbmVUcmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHR3aWR0aD86IG51bWJlcjtcblx0aGVpZ2h0PzogbnVtYmVyO1xuXHRyZXNvbHV0aW9uPzogVW5pdHNWYWx1ZTtcblx0Ly8gYW50aWFsaWFzID9cblx0d2FycD86IFdhcnA7XG5cdGNyb3A/OiBudW1iZXI7XG5cdGNvbXA/OiBudW1iZXI7XG5cdGNvbXBJbmZvPzogeyBjb21wSUQ6IG51bWJlcjsgb3JpZ2luYWxDb21wSUQ6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IHR5cGUgQWRqdXN0bWVudExheWVyID0gQnJpZ2h0bmVzc0FkanVzdG1lbnQgfCBMZXZlbHNBZGp1c3RtZW50IHwgQ3VydmVzQWRqdXN0bWVudCB8XG5cdEV4cG9zdXJlQWRqdXN0bWVudCB8IFZpYnJhbmNlQWRqdXN0bWVudCB8IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50IHwgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB8XG5cdEJsYWNrQW5kV2hpdGVBZGp1c3RtZW50IHwgUGhvdG9GaWx0ZXJBZGp1c3RtZW50IHwgQ2hhbm5lbE1peGVyQWRqdXN0bWVudCB8IENvbG9yTG9va3VwQWRqdXN0bWVudCB8XG5cdEludmVydEFkanVzdG1lbnQgfCBQb3N0ZXJpemVBZGp1c3RtZW50IHwgVGhyZXNob2xkQWRqdXN0bWVudCB8IEdyYWRpZW50TWFwQWRqdXN0bWVudCB8XG5cdFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudDtcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb2xvciA9ICdub25lJyB8ICdyZWQnIHwgJ29yYW5nZScgfCAneWVsbG93JyB8ICdncmVlbicgfCAnYmx1ZScgfCAndmlvbGV0JyB8ICdncmF5JztcblxuZXhwb3J0IGludGVyZmFjZSBLZXlEZXNjcmlwdG9ySXRlbSB7XG5cdGtleVNoYXBlSW52YWxpZGF0ZWQ/OiBib29sZWFuO1xuXHRrZXlPcmlnaW5UeXBlPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SUmVjdFJhZGlpPzoge1xuXHRcdHRvcFJpZ2h0OiBVbml0c1ZhbHVlO1xuXHRcdHRvcExlZnQ6IFVuaXRzVmFsdWU7XG5cdFx0Ym90dG9tTGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b21SaWdodDogVW5pdHNWYWx1ZTtcblx0fTtcblx0a2V5T3JpZ2luU2hhcGVCb3VuZGluZ0JveD86IHtcblx0XHR0b3A6IFVuaXRzVmFsdWU7XG5cdFx0bGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b206IFVuaXRzVmFsdWU7XG5cdFx0cmlnaHQ6IFVuaXRzVmFsdWU7XG5cdH07XG5cdGtleU9yaWdpbkJveENvcm5lcnM/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9W107XG5cdHRyYW5zZm9ybT86IG51bWJlcltdOyAvLyAyZCB0cmFuc2Zvcm0gbWF0cml4IFt4eCwgeHksIHl4LCB5eSwgdHgsIHR5XVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyVmVjdG9yTWFzayB7XG5cdGludmVydD86IGJvb2xlYW47XG5cdG5vdExpbms/OiBib29sZWFuO1xuXHRkaXNhYmxlPzogYm9vbGVhbjtcblx0ZmlsbFN0YXJ0c1dpdGhBbGxQaXhlbHM/OiBib29sZWFuO1xuXHRjbGlwYm9hcmQ/OiB7XG5cdFx0dG9wOiBudW1iZXI7XG5cdFx0bGVmdDogbnVtYmVyO1xuXHRcdGJvdHRvbTogbnVtYmVyO1xuXHRcdHJpZ2h0OiBudW1iZXI7XG5cdFx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHR9O1xuXHRwYXRoczogQmV6aWVyUGF0aFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyQWRkaXRpb25hbEluZm8ge1xuXHRuYW1lPzogc3RyaW5nOyAvLyBsYXllciBuYW1lXG5cdG5hbWVTb3VyY2U/OiBzdHJpbmc7IC8vIGxheWVyIG5hbWUgc291cmNlXG5cdGlkPzogbnVtYmVyOyAvLyBsYXllciBpZFxuXHR2ZXJzaW9uPzogbnVtYmVyOyAvLyBsYXllciB2ZXJzaW9uXG5cdG1hc2s/OiBMYXllck1hc2tEYXRhO1xuXHRibGVuZENsaXBwZW5kRWxlbWVudHM/OiBib29sZWFuO1xuXHRibGVuZEludGVyaW9yRWxlbWVudHM/OiBib29sZWFuO1xuXHRrbm9ja291dD86IGJvb2xlYW47XG5cdHByb3RlY3RlZD86IHtcblx0XHR0cmFuc3BhcmVuY3k/OiBib29sZWFuO1xuXHRcdGNvbXBvc2l0ZT86IGJvb2xlYW47XG5cdFx0cG9zaXRpb24/OiBib29sZWFuO1xuXHRcdGFydGJvYXJkcz86IGJvb2xlYW47XG5cdH07XG5cdGxheWVyQ29sb3I/OiBMYXllckNvbG9yO1xuXHRyZWZlcmVuY2VQb2ludD86IHtcblx0XHR4OiBudW1iZXI7XG5cdFx0eTogbnVtYmVyO1xuXHR9O1xuXHRzZWN0aW9uRGl2aWRlcj86IHtcblx0XHR0eXBlOiBTZWN0aW9uRGl2aWRlclR5cGU7XG5cdFx0a2V5Pzogc3RyaW5nO1xuXHRcdHN1YlR5cGU/OiBudW1iZXI7XG5cdH07XG5cdGZpbHRlck1hc2s/OiB7XG5cdFx0Y29sb3JTcGFjZTogQ29sb3I7XG5cdFx0b3BhY2l0eTogbnVtYmVyO1xuXHR9O1xuXHRlZmZlY3RzPzogTGF5ZXJFZmZlY3RzSW5mbztcblx0dGV4dD86IExheWVyVGV4dERhdGE7XG5cdHBhdHRlcm5zPzogUGF0dGVybkluZm9bXTsgLy8gbm90IHN1cHBvcnRlZCB5ZXRcblx0dmVjdG9yRmlsbD86IFZlY3RvckNvbnRlbnQ7XG5cdHZlY3RvclN0cm9rZT86IHtcblx0XHRzdHJva2VFbmFibGVkPzogYm9vbGVhbjtcblx0XHRmaWxsRW5hYmxlZD86IGJvb2xlYW47XG5cdFx0bGluZVdpZHRoPzogVW5pdHNWYWx1ZTtcblx0XHRsaW5lRGFzaE9mZnNldD86IFVuaXRzVmFsdWU7XG5cdFx0bWl0ZXJMaW1pdD86IG51bWJlcjtcblx0XHRsaW5lQ2FwVHlwZT86IExpbmVDYXBUeXBlO1xuXHRcdGxpbmVKb2luVHlwZT86IExpbmVKb2luVHlwZTtcblx0XHRsaW5lQWxpZ25tZW50PzogTGluZUFsaWdubWVudDtcblx0XHRzY2FsZUxvY2s/OiBib29sZWFuO1xuXHRcdHN0cm9rZUFkanVzdD86IGJvb2xlYW47XG5cdFx0bGluZURhc2hTZXQ/OiBVbml0c1ZhbHVlW107XG5cdFx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRcdG9wYWNpdHk/OiBudW1iZXI7XG5cdFx0Y29udGVudD86IFZlY3RvckNvbnRlbnQ7XG5cdFx0cmVzb2x1dGlvbj86IG51bWJlcjtcblx0fTtcblx0dmVjdG9yTWFzaz86IExheWVyVmVjdG9yTWFzaztcblx0dXNpbmdBbGlnbmVkUmVuZGVyaW5nPzogYm9vbGVhbjtcblx0dGltZXN0YW1wPzogbnVtYmVyOyAvLyBzZWNvbmRzXG5cdHBhdGhMaXN0Pzoge1xuXHR9W107XG5cdGFkanVzdG1lbnQ/OiBBZGp1c3RtZW50TGF5ZXI7XG5cdHBsYWNlZExheWVyPzogUGxhY2VkTGF5ZXI7XG5cdHZlY3Rvck9yaWdpbmF0aW9uPzoge1xuXHRcdGtleURlc2NyaXB0b3JMaXN0OiBLZXlEZXNjcmlwdG9ySXRlbVtdO1xuXHR9O1xuXHRjb21wb3NpdG9yVXNlZD86IHtcblx0XHRkZXNjcmlwdGlvbjogc3RyaW5nO1xuXHRcdHJlYXNvbjogc3RyaW5nO1xuXHRcdGVuZ2luZTogc3RyaW5nO1xuXHRcdGVuYWJsZUNvbXBDb3JlOiBzdHJpbmc7XG5cdFx0ZW5hYmxlQ29tcENvcmVHUFU6IHN0cmluZztcblx0XHRjb21wQ29yZVN1cHBvcnQ6IHN0cmluZztcblx0XHRjb21wQ29yZUdQVVN1cHBvcnQ6IHN0cmluZztcblx0fTtcblx0YXJ0Ym9hcmQ/OiB7XG5cdFx0cmVjdDogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyOyBib3R0b206IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgfTtcblx0XHRndWlkZUluZGljZXM/OiBhbnlbXTtcblx0XHRwcmVzZXROYW1lPzogc3RyaW5nO1xuXHRcdGNvbG9yPzogQ29sb3I7XG5cdFx0YmFja2dyb3VuZFR5cGU/OiBudW1iZXI7XG5cdH07XG5cdGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuXHR0cmFuc3BhcmVuY3lTaGFwZXNMYXllcj86IGJvb2xlYW47XG5cblx0Ly8gQmFzZTY0IGVuY29kZWQgcmF3IEVuZ2luZURhdGEsIGN1cnJlbnRseSBqdXN0IGtlcHQgaW4gb3JpZ2luYWwgc3RhdGUgdG8gc3VwcG9ydFxuXHQvLyBsb2FkaW5nIGFuZCBtb2RpZnlpbmcgUFNEIGZpbGUgd2l0aG91dCBicmVha2luZyB0ZXh0IGxheWVycy5cblx0ZW5naW5lRGF0YT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZVJlc291cmNlcyB7XG5cdGxheWVyU3RhdGU/OiBudW1iZXI7XG5cdGxheWVyc0dyb3VwPzogbnVtYmVyW107XG5cdGxheWVyU2VsZWN0aW9uSWRzPzogbnVtYmVyW107XG5cdGxheWVyR3JvdXBzRW5hYmxlZElkPzogbnVtYmVyW107XG5cdHZlcnNpb25JbmZvPzoge1xuXHRcdGhhc1JlYWxNZXJnZWREYXRhOiBib29sZWFuO1xuXHRcdHdyaXRlck5hbWU6IHN0cmluZztcblx0XHRyZWFkZXJOYW1lOiBzdHJpbmc7XG5cdFx0ZmlsZVZlcnNpb246IG51bWJlcjtcblx0fTtcblx0YWxwaGFJZGVudGlmaWVycz86IG51bWJlcltdO1xuXHRhbHBoYUNoYW5uZWxOYW1lcz86IHN0cmluZ1tdO1xuXHRnbG9iYWxBbmdsZT86IG51bWJlcjtcblx0Z2xvYmFsQWx0aXR1ZGU/OiBudW1iZXI7XG5cdHBpeGVsQXNwZWN0UmF0aW8/OiB7XG5cdFx0YXNwZWN0OiBudW1iZXI7XG5cdH07XG5cdHVybHNMaXN0PzogYW55W107XG5cdGdyaWRBbmRHdWlkZXNJbmZvcm1hdGlvbj86IHtcblx0XHRncmlkPzoge1xuXHRcdFx0aG9yaXpvbnRhbDogbnVtYmVyO1xuXHRcdFx0dmVydGljYWw6IG51bWJlcjtcblx0XHR9LFxuXHRcdGd1aWRlcz86IHtcblx0XHRcdGxvY2F0aW9uOiBudW1iZXI7XG5cdFx0XHRkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cdFx0fVtdO1xuXHR9O1xuXHRyZXNvbHV0aW9uSW5mbz86IHtcblx0XHRob3Jpem9udGFsUmVzb2x1dGlvbjogbnVtYmVyO1xuXHRcdGhvcml6b250YWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0d2lkdGhVbml0OiAnSW5jaGVzJyB8ICdDZW50aW1ldGVycycgfCAnUG9pbnRzJyB8ICdQaWNhcycgfCAnQ29sdW1ucyc7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uOiBudW1iZXI7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0aGVpZ2h0VW5pdDogJ0luY2hlcycgfCAnQ2VudGltZXRlcnMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ0NvbHVtbnMnO1xuXHR9O1xuXHR0aHVtYm5haWw/OiBIVE1MQ2FudmFzRWxlbWVudDtcblx0dGh1bWJuYWlsUmF3PzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgZGF0YTogVWludDhBcnJheTsgfTtcblx0Y2FwdGlvbkRpZ2VzdD86IHN0cmluZztcblx0eG1wTWV0YWRhdGE/OiBzdHJpbmc7XG5cdHByaW50U2NhbGU/OiB7XG5cdFx0c3R5bGU/OiAnY2VudGVyZWQnIHwgJ3NpemUgdG8gZml0JyB8ICd1c2VyIGRlZmluZWQnO1xuXHRcdHg/OiBudW1iZXI7XG5cdFx0eT86IG51bWJlcjtcblx0XHRzY2FsZT86IG51bWJlcjtcblx0fTtcblx0cHJpbnRJbmZvcm1hdGlvbj86IHtcblx0XHRwcmludGVyTWFuYWdlc0NvbG9ycz86IGJvb2xlYW47XG5cdFx0cHJpbnRlck5hbWU/OiBzdHJpbmc7XG5cdFx0cHJpbnRlclByb2ZpbGU/OiBzdHJpbmc7XG5cdFx0cHJpbnRTaXh0ZWVuQml0PzogYm9vbGVhbjtcblx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0aGFyZFByb29mPzogYm9vbGVhbjtcblx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRwcm9vZlNldHVwPzoge1xuXHRcdFx0YnVpbHRpbjogc3RyaW5nO1xuXHRcdH0gfCB7XG5cdFx0XHRwcm9maWxlOiBzdHJpbmc7XG5cdFx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRcdHBhcGVyV2hpdGU/OiBib29sZWFuO1xuXHRcdH07XG5cdH07XG5cdGJhY2tncm91bmRDb2xvcj86IENvbG9yO1xuXHRpZHNTZWVkTnVtYmVyPzogbnVtYmVyO1xuXHRwcmludEZsYWdzPzoge1xuXHRcdGxhYmVscz86IGJvb2xlYW47XG5cdFx0Y3JvcE1hcmtzPzogYm9vbGVhbjtcblx0XHRjb2xvckJhcnM/OiBib29sZWFuO1xuXHRcdHJlZ2lzdHJhdGlvbk1hcmtzPzogYm9vbGVhbjtcblx0XHRuZWdhdGl2ZT86IGJvb2xlYW47XG5cdFx0ZmxpcD86IGJvb2xlYW47XG5cdFx0aW50ZXJwb2xhdGU/OiBib29sZWFuO1xuXHRcdGNhcHRpb24/OiBib29sZWFuO1xuXHRcdHByaW50RmxhZ3M/OiBib29sZWFuO1xuXHR9O1xuXHRpY2NVbnRhZ2dlZFByb2ZpbGU/OiBib29sZWFuO1xuXHRwYXRoU2VsZWN0aW9uU3RhdGU/OiBzdHJpbmdbXTtcblx0aW1hZ2VSZWFkeVZhcmlhYmxlcz86IHN0cmluZztcblx0aW1hZ2VSZWFkeURhdGFTZXRzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbExheWVyTWFza0luZm8ge1xuXHRvdmVybGF5Q29sb3JTcGFjZTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMjogbnVtYmVyO1xuXHRjb2xvclNwYWNlMzogbnVtYmVyO1xuXHRjb2xvclNwYWNlNDogbnVtYmVyO1xuXHRvcGFjaXR5OiBudW1iZXI7XG5cdGtpbmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uIHtcblx0dHlwZTogJ3RleHQnIHwgJ3NvdW5kJztcblx0b3BlbjogYm9vbGVhbjtcblx0aWNvbkxvY2F0aW9uOiB7IGxlZnQ6IG51bWJlcjsgdG9wOiBudW1iZXI7IHJpZ2h0OiBudW1iZXI7IGJvdHRvbTogbnVtYmVyIH07XG5cdHBvcHVwTG9jYXRpb246IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgYm90dG9tOiBudW1iZXIgfTtcblx0Y29sb3I6IENvbG9yO1xuXHRhdXRob3I6IHN0cmluZztcblx0bmFtZTogc3RyaW5nO1xuXHRkYXRlOiBzdHJpbmc7XG5cdGRhdGE6IHN0cmluZyB8IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXIgZXh0ZW5kcyBMYXllckFkZGl0aW9uYWxJbmZvIHtcblx0dG9wPzogbnVtYmVyO1xuXHRsZWZ0PzogbnVtYmVyO1xuXHRib3R0b20/OiBudW1iZXI7XG5cdHJpZ2h0PzogbnVtYmVyO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHRyYW5zcGFyZW5jeVByb3RlY3RlZD86IGJvb2xlYW47XG5cdGhpZGRlbj86IGJvb2xlYW47XG5cdGNsaXBwaW5nPzogYm9vbGVhbjtcblx0Y2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQ7XG5cdGltYWdlRGF0YT86IEltYWdlRGF0YTtcblx0Y2hpbGRyZW4/OiBMYXllcltdO1xuXHQvKiogYXBwbGllcyBvbmx5IGZvciBsYXllciBncm91cHMgKi9cblx0b3BlbmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQc2QgZXh0ZW5kcyBMYXllckFkZGl0aW9uYWxJbmZvIHtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG5cdGNoYW5uZWxzPzogbnVtYmVyO1xuXHRiaXRzUGVyQ2hhbm5lbD86IG51bWJlcjtcblx0Y29sb3JNb2RlPzogQ29sb3JNb2RlO1xuXHRjaGlsZHJlbj86IExheWVyW107XG5cdGNhbnZhcz86IEhUTUxDYW52YXNFbGVtZW50O1xuXHRpbWFnZURhdGE/OiBJbWFnZURhdGE7XG5cdGltYWdlUmVzb3VyY2VzPzogSW1hZ2VSZXNvdXJjZXM7XG5cdGxpbmtlZEZpbGVzPzogTGlua2VkRmlsZVtdOyAvLyB1c2VkIGluIHNtYXJ0IG9iamVjdHNcblx0YXJ0Ym9hcmRzPzoge1xuXHRcdGNvdW50OiBudW1iZXI7XG5cdFx0YXV0b0V4cGFuZE9mZnNldD86IHsgaG9yaXpvbnRhbDogbnVtYmVyOyB2ZXJ0aWNhbDogbnVtYmVyOyB9O1xuXHRcdG9yaWdpbj86IHsgaG9yaXpvbnRhbDogbnVtYmVyOyB2ZXJ0aWNhbDogbnVtYmVyOyB9O1xuXHRcdGF1dG9FeHBhbmRFbmFibGVkPzogYm9vbGVhbjtcblx0XHRhdXRvTmVzdEVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdGF1dG9Qb3NpdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdHNocmlua3dyYXBPblNhdmVFbmFibGVkPzogYm9vbGVhbjtcblx0XHRkb2NEZWZhdWx0TmV3QXJ0Ym9hcmRCYWNrZ3JvdW5kQ29sb3I/OiBDb2xvcjtcblx0XHRkb2NEZWZhdWx0TmV3QXJ0Ym9hcmRCYWNrZ3JvdW5kVHlwZT86IG51bWJlcjtcblx0fTtcblx0Z2xvYmFsTGF5ZXJNYXNrSW5mbz86IEdsb2JhbExheWVyTWFza0luZm87XG5cdGFubm90YXRpb25zPzogQW5ub3RhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWRPcHRpb25zIHtcblx0LyoqIERvZXMgbm90IGxvYWQgbGF5ZXIgaW1hZ2UgZGF0YS4gKi9cblx0c2tpcExheWVySW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIERvZXMgbm90IGxvYWQgY29tcG9zaXRlIGltYWdlIGRhdGEuICovXG5cdHNraXBDb21wb3NpdGVJbWFnZURhdGE/OiBib29sZWFuO1xuXHQvKiogRG9lcyBub3QgbG9hZCB0aHVtYm5haWwuICovXG5cdHNraXBUaHVtYm5haWw/OiBib29sZWFuO1xuXHQvKiogRG9lcyBub3QgbG9hZCBsaW5rZWQgZmlsZXMgKHVzZWQgaW4gc21hcnQtb2JqZWN0cykuICovXG5cdHNraXBMaW5rZWRGaWxlc0RhdGE/OiBib29sZWFuO1xuXHQvKiogVGhyb3dzIGV4Y2VwdGlvbiBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0dGhyb3dGb3JNaXNzaW5nRmVhdHVyZXM/OiBib29sZWFuO1xuXHQvKiogTG9ncyBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0bG9nTWlzc2luZ0ZlYXR1cmVzPzogYm9vbGVhbjtcblx0LyoqIEtlZXAgaW1hZ2UgZGF0YSBhcyBieXRlIGFycmF5IGluc3RlYWQgb2YgY2FudmFzLlxuXHQgKiAoaW1hZ2UgZGF0YSB3aWxsIGFwcGVhciBpbiBgaW1hZ2VEYXRhYCBmaWVsZHMgaW5zdGVhZCBvZiBgY2FudmFzYCBmaWVsZHMpXG5cdCAqIFRoaXMgYXZvaWRzIGlzc3VlcyB3aXRoIGNhbnZhcyBwcmVtdWx0aXBsaWVkIGFscGhhIGNvcnJ1cHRpbmcgaW1hZ2UgZGF0YS4gKi9cblx0dXNlSW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIExvYWRzIHRodW1ibmFpbCByYXcgZGF0YSBpbnN0ZWFkIG9mIGRlY29kaW5nIGl0J3MgY29udGVudCBpbnRvIGNhbnZhcy5cblx0ICogYHRodW1uYWlsUmF3YCBmaWVsZCBpcyB1c2VkIGluc3RlYWQuICovXG5cdHVzZVJhd1RodW1ibmFpbD86IGJvb2xlYW47XG5cdC8qKiBVc2VuZCBvbmx5IGZvciBkZXZlbG9wbWVudCAqL1xuXHRsb2dEZXZGZWF0dXJlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV3JpdGVPcHRpb25zIHtcblx0LyoqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIHRodW1ibmFpbCBmcm9tIGNvbXBvc2l0ZSBpbWFnZS4gKi9cblx0Z2VuZXJhdGVUaHVtYm5haWw/OiBib29sZWFuO1xuXHQvKiogVHJpbXMgdHJhbnNwYXJlbnQgcGl4ZWxzIGZyb20gbGF5ZXIgaW1hZ2UgZGF0YS4gKi9cblx0dHJpbUltYWdlRGF0YT86IGJvb2xlYW47XG5cdC8qKiBJbnZhbGlkYXRlcyB0ZXh0IGxheWVyIGRhdGEsIGZvcmNpbmcgUGhvdG9zaG9wIHRvIHJlZHJhdyB0aGVtIG9uIGxvYWQuXG5cdCAqICBVc2UgdGhpcyBvcHRpb24gaWYgeW91J3JlIHVwZGF0aW5nIGxvYWRlZCB0ZXh0IGxheWVyIHByb3BlcnRpZXMuICovXG5cdGludmFsaWRhdGVUZXh0TGF5ZXJzPzogYm9vbGVhbjtcblx0LyoqIExvZ3MgaWYgZmVhdHVyZXMgYXJlIG1pc3NpbmcuICovXG5cdGxvZ01pc3NpbmdGZWF0dXJlcz86IGJvb2xlYW47XG5cdC8qKiBGb3JjZXMgYm90dG9tIGxheWVyIHRvIGJlIHRyZWF0ZWQgYXMgbGF5ZXIgYW5kIG5vdCBiYWNrZ3JvdW5kIGV2ZW4gd2hlbiBpdCdzIG1pc3NpbmcgYW55IHRyYW5zcGFyZW5jeVxuXHQgKiBcdChieSBkZWZhdWx0IFBob3Rvc2hvcCB0cmVhdHMgYm90dG9tIGxheWVyIGFzIGJhY2tncm91bmQgaXQgaXQgZG9lc24ndCBoYXZlIGFueSB0cmFuc3BhcmVudCBwaXhlbHMpICovXG5cdG5vQmFja2dyb3VuZD86IGJvb2xlYW47XG5cdC8qKiBTYXZlcyBkb2N1bWVudCBhcyBQU0IgKExhcmdlIERvY3VtZW50IEZvcm1hdCkgZmlsZSAqL1xuXHRwc2I/OiBib29sZWFuO1xufVxuIl0sInNvdXJjZVJvb3QiOiJEOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
20
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBzZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQU4sSUFBa0IsU0FTakI7QUFURCxXQUFrQixTQUFTO0lBQzFCLDZDQUFVLENBQUE7SUFDVixtREFBYSxDQUFBO0lBQ2IsK0NBQVcsQ0FBQTtJQUNYLHVDQUFPLENBQUE7SUFDUCx5Q0FBUSxDQUFBO0lBQ1IseURBQWdCLENBQUE7SUFDaEIsK0NBQVcsQ0FBQTtJQUNYLHVDQUFPLENBQUE7QUFDUixDQUFDLEVBVGlCLFNBQVMsS0FBVCxTQUFTLFFBUzFCO0FBRUQsTUFBTSxDQUFOLElBQWtCLGtCQUtqQjtBQUxELFdBQWtCLGtCQUFrQjtJQUNuQyw2REFBUyxDQUFBO0lBQ1QsdUVBQWMsQ0FBQTtJQUNkLDJFQUFnQixDQUFBO0lBQ2hCLCtGQUEwQixDQUFBO0FBQzNCLENBQUMsRUFMaUIsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUtuQyIsImZpbGUiOiJwc2QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBCbGVuZE1vZGUgPSAncGFzcyB0aHJvdWdoJyB8ICdub3JtYWwnIHwgJ2Rpc3NvbHZlJyB8ICdkYXJrZW4nIHwgJ211bHRpcGx5JyB8XG5cdCdjb2xvciBidXJuJyB8ICdsaW5lYXIgYnVybicgfCAnZGFya2VyIGNvbG9yJyB8ICdsaWdodGVuJyB8ICdzY3JlZW4nIHwgJ2NvbG9yIGRvZGdlJyB8XG5cdCdsaW5lYXIgZG9kZ2UnIHwgJ2xpZ2h0ZXIgY29sb3InIHwgJ292ZXJsYXknIHwgJ3NvZnQgbGlnaHQnIHwgJ2hhcmQgbGlnaHQnIHxcblx0J3ZpdmlkIGxpZ2h0JyB8ICdsaW5lYXIgbGlnaHQnIHwgJ3BpbiBsaWdodCcgfCAnaGFyZCBtaXgnIHwgJ2RpZmZlcmVuY2UnIHwgJ2V4Y2x1c2lvbicgfFxuXHQnc3VidHJhY3QnIHwgJ2RpdmlkZScgfCAnaHVlJyB8ICdzYXR1cmF0aW9uJyB8ICdjb2xvcicgfCAnbHVtaW5vc2l0eSc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIENvbG9yTW9kZSB7XG5cdEJpdG1hcCA9IDAsXG5cdEdyYXlzY2FsZSA9IDEsXG5cdEluZGV4ZWQgPSAyLFxuXHRSR0IgPSAzLFxuXHRDTVlLID0gNCxcblx0TXVsdGljaGFubmVsID0gNyxcblx0RHVvdG9uZSA9IDgsXG5cdExhYiA9IDksXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIFNlY3Rpb25EaXZpZGVyVHlwZSB7XG5cdE90aGVyID0gMCxcblx0T3BlbkZvbGRlciA9IDEsXG5cdENsb3NlZEZvbGRlciA9IDIsXG5cdEJvdW5kaW5nU2VjdGlvbkRpdmlkZXIgPSAzLFxufVxuXG5leHBvcnQgdHlwZSBSR0JBID0geyByOiBudW1iZXI7IGc6IG51bWJlcjsgYjogbnVtYmVyOyBhOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBSR0IgPSB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBIU0IgPSB7IGg6IG51bWJlcjsgczogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMVxuZXhwb3J0IHR5cGUgQ01ZSyA9IHsgYzogbnVtYmVyOyBtOiBudW1iZXI7IHk6IG51bWJlcjsgazogbnVtYmVyOyB9OyAvLyB2YWx1ZXMgZnJvbSAwIHRvIDI1NVxuZXhwb3J0IHR5cGUgTEFCID0geyBsOiBudW1iZXI7IGE6IG51bWJlcjsgYjogbnVtYmVyOyB9OyAvLyB2YWx1ZXMgYGxgIGZyb20gMCB0byAxOyBgYWAgYW5kIGBiYCBmcm9tIC0xIHRvIDFcbmV4cG9ydCB0eXBlIEdyYXlzY2FsZSA9IHsgazogbnVtYmVyIH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBDb2xvciA9IFJHQkEgfCBSR0IgfCBIU0IgfCBDTVlLIHwgTEFCIHwgR3JheXNjYWxlO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVmZmVjdENvbnRvdXIge1xuXHRuYW1lOiBzdHJpbmc7XG5cdGN1cnZlOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0UGF0dGVybiB7XG5cdG5hbWU6IHN0cmluZztcblx0aWQ6IHN0cmluZztcblx0Ly8gVE9ETzogYWRkIGZpZWxkc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U2hhZG93IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0YW5nbGU/OiBudW1iZXI7XG5cdGRpc3RhbmNlPzogVW5pdHNWYWx1ZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHR1c2VHbG9iYWxMaWdodD86IGJvb2xlYW47XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG5cdGNob2tlPzogVW5pdHNWYWx1ZTsgLy8gc3ByZWFkXG5cdGxheWVyQ29uY2VhbHM/OiBib29sZWFuOyAvLyBvbmx5IGRyb3Agc2hhZG93XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RzT3V0ZXJHbG93IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRzb3VyY2U/OiBHbG93U291cmNlO1xuXHRhbnRpYWxpYXNlZD86IGJvb2xlYW47XG5cdG5vaXNlPzogbnVtYmVyO1xuXHRyYW5nZT86IG51bWJlcjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlO1xuXHRqaXR0ZXI/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0SW5uZXJHbG93IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRzb3VyY2U/OiBHbG93U291cmNlO1xuXHR0ZWNobmlxdWU/OiBHbG93VGVjaG5pcXVlO1xuXHRhbnRpYWxpYXNlZD86IGJvb2xlYW47XG5cdG5vaXNlPzogbnVtYmVyO1xuXHRyYW5nZT86IG51bWJlcjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlOyAvLyBzcHJlYWRcblx0aml0dGVyPzogbnVtYmVyO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdEJldmVsIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0YW5nbGU/OiBudW1iZXI7XG5cdHN0cmVuZ3RoPzogbnVtYmVyOyAvLyBkZXB0aFxuXHRoaWdobGlnaHRCbGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdHNoYWRvd0JsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0aGlnaGxpZ2h0Q29sb3I/OiBDb2xvcjtcblx0c2hhZG93Q29sb3I/OiBDb2xvcjtcblx0c3R5bGU/OiBCZXZlbFN0eWxlO1xuXHRoaWdobGlnaHRPcGFjaXR5PzogbnVtYmVyO1xuXHRzaGFkb3dPcGFjaXR5PzogbnVtYmVyO1xuXHRzb2Z0ZW4/OiBVbml0c1ZhbHVlO1xuXHR1c2VHbG9iYWxMaWdodD86IGJvb2xlYW47XG5cdGFsdGl0dWRlPzogbnVtYmVyO1xuXHR0ZWNobmlxdWU/OiBCZXZlbFRlY2huaXF1ZTtcblx0ZGlyZWN0aW9uPzogQmV2ZWxEaXJlY3Rpb247XG5cdHVzZVRleHR1cmU/OiBib29sZWFuO1xuXHR1c2VTaGFwZT86IGJvb2xlYW47XG5cdGFudGlhbGlhc0dsb3NzPzogYm9vbGVhbjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RTb2xpZEZpbGwge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdGJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0Y29sb3I/OiBDb2xvcjtcblx0b3BhY2l0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFN0cm9rZSB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0b3ZlcnByaW50PzogYm9vbGVhbjtcblx0c2l6ZT86IFVuaXRzVmFsdWU7XG5cdHBvc2l0aW9uPzogJ2luc2lkZScgfCAnY2VudGVyJyB8ICdvdXRzaWRlJztcblx0ZmlsbFR5cGU/OiAnY29sb3InIHwgJ2dyYWRpZW50JyB8ICdwYXR0ZXJuJztcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRjb2xvcj86IENvbG9yO1xuXHRncmFkaWVudD86IChFZmZlY3RTb2xpZEdyYWRpZW50IHwgRWZmZWN0Tm9pc2VHcmFkaWVudCkgJiBFeHRyYUdyYWRpZW50SW5mbztcblx0cGF0dGVybj86IEVmZmVjdFBhdHRlcm4gJiB7fTsgLy8gVE9ETzogYWRkaXRpb25hbCBwYXR0ZXJuIGluZm9cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFNhdGluIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRhbnRpYWxpYXNlZD86IGJvb2xlYW47XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGRpc3RhbmNlPzogVW5pdHNWYWx1ZTtcblx0aW52ZXJ0PzogYm9vbGVhbjtcblx0YW5nbGU/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG4vLyBub3Qgc3VwcG9ydGVkIHlldCBiZWNhdXNlIG9mIGBQYXR0YCBzZWN0aW9uIG5vdCBpbXBsZW1lbnRlZFxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFBhdHRlcm5PdmVybGF5IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRwYXR0ZXJuPzogRWZmZWN0UGF0dGVybjtcblx0cGhhc2U/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9O1xuXHRhbGlnbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0U29saWRHcmFkaWVudCB7XG5cdG5hbWU6IHN0cmluZztcblx0dHlwZTogJ3NvbGlkJztcblx0c21vb3RobmVzcz86IG51bWJlcjtcblx0Y29sb3JTdG9wczogQ29sb3JTdG9wW107XG5cdG9wYWNpdHlTdG9wczogT3BhY2l0eVN0b3BbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3ROb2lzZUdyYWRpZW50IHtcblx0bmFtZTogc3RyaW5nO1xuXHR0eXBlOiAnbm9pc2UnO1xuXHRyb3VnaG5lc3M/OiBudW1iZXI7XG5cdGNvbG9yTW9kZWw/OiAncmdiJyB8ICdoc2InIHwgJ2xhYic7XG5cdHJhbmRvbVNlZWQ/OiBudW1iZXI7XG5cdHJlc3RyaWN0Q29sb3JzPzogYm9vbGVhbjtcblx0YWRkVHJhbnNwYXJlbmN5PzogYm9vbGVhbjtcblx0bWluOiBudW1iZXJbXTtcblx0bWF4OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdEdyYWRpZW50T3ZlcmxheSB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0YmxlbmRNb2RlPzogc3RyaW5nO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHRhbGlnbj86IGJvb2xlYW47XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRyZXZlcnNlPzogYm9vbGVhbjtcblx0dHlwZT86IEdyYWRpZW50U3R5bGU7XG5cdG9mZnNldD86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG5cdGdyYWRpZW50PzogRWZmZWN0U29saWRHcmFkaWVudCB8IEVmZmVjdE5vaXNlR3JhZGllbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RzSW5mbyB7XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRyb3BTaGFkb3c/OiBMYXllckVmZmVjdFNoYWRvd1tdO1xuXHRpbm5lclNoYWRvdz86IExheWVyRWZmZWN0U2hhZG93W107XG5cdG91dGVyR2xvdz86IExheWVyRWZmZWN0c091dGVyR2xvdztcblx0aW5uZXJHbG93PzogTGF5ZXJFZmZlY3RJbm5lckdsb3c7XG5cdGJldmVsPzogTGF5ZXJFZmZlY3RCZXZlbDtcblx0c29saWRGaWxsPzogTGF5ZXJFZmZlY3RTb2xpZEZpbGxbXTtcblx0c2F0aW4/OiBMYXllckVmZmVjdFNhdGluO1xuXHRzdHJva2U/OiBMYXllckVmZmVjdFN0cm9rZVtdO1xuXHRncmFkaWVudE92ZXJsYXk/OiBMYXllckVmZmVjdEdyYWRpZW50T3ZlcmxheVtdO1xuXHRwYXR0ZXJuT3ZlcmxheT86IExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXk7IC8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJNYXNrRGF0YSB7XG5cdHRvcD86IG51bWJlcjtcblx0bGVmdD86IG51bWJlcjtcblx0Ym90dG9tPzogbnVtYmVyO1xuXHRyaWdodD86IG51bWJlcjtcblx0ZGVmYXVsdENvbG9yPzogbnVtYmVyO1xuXHRkaXNhYmxlZD86IGJvb2xlYW47XG5cdHBvc2l0aW9uUmVsYXRpdmVUb0xheWVyPzogYm9vbGVhbjtcblx0ZnJvbVZlY3RvckRhdGE/OiBib29sZWFuOyAvLyBzZXQgdG8gdHJ1ZSBpZiB0aGUgbWFzayBpcyBnZW5lcmF0ZWQgZnJvbSB2ZWN0b3IgZGF0YSwgZmFsc2UgaWYgaXQncyBhIGJpdG1hcCBwcm92aWRlZCBieSB1c2VyXG5cdHVzZXJNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dXNlck1hc2tGZWF0aGVyPzogbnVtYmVyOyAvLyBweFxuXHR2ZWN0b3JNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dmVjdG9yTWFza0ZlYXRoZXI/OiBudW1iZXI7XG5cdGNhbnZhcz86IEhUTUxDYW52YXNFbGVtZW50O1xuXHRpbWFnZURhdGE/OiBJbWFnZURhdGE7XG59XG5cbmV4cG9ydCB0eXBlIFRleHRHcmlkZGluZyA9ICdub25lJyB8ICdyb3VuZCc7IC8vIFRPRE86IG90aGVyIHZhbHVlcyAobm8gaWRlYSB3aGVyZSB0byBzZXQgaXQgdXAgaW4gUGhvdG9zaG9wKVxuZXhwb3J0IHR5cGUgT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuZXhwb3J0IHR5cGUgQW50aUFsaWFzID0gJ25vbmUnIHwgJ3NoYXJwJyB8ICdjcmlzcCcgfCAnc3Ryb25nJyB8ICdzbW9vdGgnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUxDRCc7XG5leHBvcnQgdHlwZSBXYXJwU3R5bGUgPVxuXHQnbm9uZScgfCAnYXJjJyB8ICdhcmNMb3dlcicgfCAnYXJjVXBwZXInIHwgJ2FyY2gnIHwgJ2J1bGdlJyB8ICdzaGVsbExvd2VyJyB8ICdzaGVsbFVwcGVyJyB8ICdmbGFnJyB8XG5cdCd3YXZlJyB8ICdmaXNoJyB8ICdyaXNlJyB8ICdmaXNoZXllJyB8ICdpbmZsYXRlJyB8ICdzcXVlZXplJyB8ICd0d2lzdCcgfCAnY3VzdG9tJztcbmV4cG9ydCB0eXBlIEJldmVsU3R5bGUgPSAnb3V0ZXIgYmV2ZWwnIHwgJ2lubmVyIGJldmVsJyB8ICdlbWJvc3MnIHwgJ3BpbGxvdyBlbWJvc3MnIHwgJ3N0cm9rZSBlbWJvc3MnO1xuZXhwb3J0IHR5cGUgQmV2ZWxUZWNobmlxdWUgPSAnc21vb3RoJyB8ICdjaGlzZWwgaGFyZCcgfCAnY2hpc2VsIHNvZnQnO1xuZXhwb3J0IHR5cGUgQmV2ZWxEaXJlY3Rpb24gPSAndXAnIHwgJ2Rvd24nO1xuZXhwb3J0IHR5cGUgR2xvd1RlY2huaXF1ZSA9ICdzb2Z0ZXInIHwgJ3ByZWNpc2UnO1xuZXhwb3J0IHR5cGUgR2xvd1NvdXJjZSA9ICdlZGdlJyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgR3JhZGllbnRTdHlsZSA9ICdsaW5lYXInIHwgJ3JhZGlhbCcgfCAnYW5nbGUnIHwgJ3JlZmxlY3RlZCcgfCAnZGlhbW9uZCc7XG5leHBvcnQgdHlwZSBKdXN0aWZpY2F0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgTGluZUNhcFR5cGUgPSAnYnV0dCcgfCAncm91bmQnIHwgJ3NxdWFyZSc7XG5leHBvcnQgdHlwZSBMaW5lSm9pblR5cGUgPSAnbWl0ZXInIHwgJ3JvdW5kJyB8ICdiZXZlbCc7XG5leHBvcnQgdHlwZSBMaW5lQWxpZ25tZW50ID0gJ2luc2lkZScgfCAnY2VudGVyJyB8ICdvdXRzaWRlJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXJwIHtcblx0c3R5bGU/OiBXYXJwU3R5bGU7XG5cdHZhbHVlPzogbnVtYmVyO1xuXHRwZXJzcGVjdGl2ZT86IG51bWJlcjtcblx0cGVyc3BlY3RpdmVPdGhlcj86IG51bWJlcjtcblx0cm90YXRlPzogT3JpZW50YXRpb247XG5cdC8vIGZvciBjdXN0b20gd2FycHNcblx0Ym91bmRzPzogeyB0b3A6IFVuaXRzVmFsdWU7IGxlZnQ6IFVuaXRzVmFsdWU7IGJvdHRvbTogVW5pdHNWYWx1ZTsgcmlnaHQ6IFVuaXRzVmFsdWU7IH07XG5cdHVPcmRlcj86IG51bWJlcjtcblx0dk9yZGVyPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Sb3dzPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Db2xzPzogbnVtYmVyO1xuXHRjdXN0b21FbnZlbG9wZVdhcnA/OiB7XG5cdFx0cXVpbHRTbGljZVg/OiBudW1iZXJbXTtcblx0XHRxdWlsdFNsaWNlWT86IG51bWJlcltdO1xuXHRcdC8vIDE2IHBvaW50cyBmcm9tIHRvcCBsZWZ0IHRvIGJvdHRvbSByaWdodCwgcm93cyBmaXJzdCwgYWxsIHBvaW50cyBhcmUgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IHBvaW50XG5cdFx0bWVzaFBvaW50czogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfVtdO1xuXHR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHNjcmlwdD86IG51bWJlcjtcblx0dHlwZT86IG51bWJlcjtcblx0c3ludGhldGljPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFncmFwaFN0eWxlIHtcblx0anVzdGlmaWNhdGlvbj86IEp1c3RpZmljYXRpb247XG5cdGZpcnN0TGluZUluZGVudD86IG51bWJlcjtcblx0c3RhcnRJbmRlbnQ/OiBudW1iZXI7XG5cdGVuZEluZGVudD86IG51bWJlcjtcblx0c3BhY2VCZWZvcmU/OiBudW1iZXI7XG5cdHNwYWNlQWZ0ZXI/OiBudW1iZXI7XG5cdGF1dG9IeXBoZW5hdGU/OiBib29sZWFuO1xuXHRoeXBoZW5hdGVkV29yZFNpemU/OiBudW1iZXI7XG5cdHByZUh5cGhlbj86IG51bWJlcjtcblx0cG9zdEh5cGhlbj86IG51bWJlcjtcblx0Y29uc2VjdXRpdmVIeXBoZW5zPzogbnVtYmVyO1xuXHR6b25lPzogbnVtYmVyO1xuXHR3b3JkU3BhY2luZz86IG51bWJlcltdO1xuXHRsZXR0ZXJTcGFjaW5nPzogbnVtYmVyW107XG5cdGdseXBoU3BhY2luZz86IG51bWJlcltdO1xuXHRhdXRvTGVhZGluZz86IG51bWJlcjtcblx0bGVhZGluZ1R5cGU/OiBudW1iZXI7XG5cdGhhbmdpbmc/OiBib29sZWFuO1xuXHRidXJhc2FnYXJpPzogYm9vbGVhbjtcblx0a2luc29rdU9yZGVyPzogbnVtYmVyO1xuXHRldmVyeUxpbmVDb21wb3Nlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWdyYXBoU3R5bGVSdW4ge1xuXHRsZW5ndGg6IG51bWJlcjtcblx0c3R5bGU6IFBhcmFncmFwaFN0eWxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTdHlsZSB7XG5cdGZvbnQ/OiBGb250O1xuXHRmb250U2l6ZT86IG51bWJlcjtcblx0ZmF1eEJvbGQ/OiBib29sZWFuO1xuXHRmYXV4SXRhbGljPzogYm9vbGVhbjtcblx0YXV0b0xlYWRpbmc/OiBib29sZWFuO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRob3Jpem9udGFsU2NhbGU/OiBudW1iZXI7XG5cdHZlcnRpY2FsU2NhbGU/OiBudW1iZXI7XG5cdHRyYWNraW5nPzogbnVtYmVyO1xuXHRhdXRvS2VybmluZz86IGJvb2xlYW47XG5cdGtlcm5pbmc/OiBudW1iZXI7XG5cdGJhc2VsaW5lU2hpZnQ/OiBudW1iZXI7XG5cdGZvbnRDYXBzPzogbnVtYmVyOyAvLyAwIC0gbm9uZSwgMSAtIHNtYWxsIGNhcHMsIDIgLSBhbGwgY2Fwc1xuXHRmb250QmFzZWxpbmU/OiBudW1iZXI7IC8vIDAgLSBub3JtYWwsIDEgLSBzdXBlcnNjcmlwdCwgMiAtIHN1YnNjcmlwdFxuXHR1bmRlcmxpbmU/OiBib29sZWFuO1xuXHRzdHJpa2V0aHJvdWdoPzogYm9vbGVhbjtcblx0bGlnYXR1cmVzPzogYm9vbGVhbjtcblx0ZExpZ2F0dXJlcz86IGJvb2xlYW47XG5cdGJhc2VsaW5lRGlyZWN0aW9uPzogbnVtYmVyO1xuXHR0c3VtZT86IG51bWJlcjtcblx0c3R5bGVSdW5BbGlnbm1lbnQ/OiBudW1iZXI7XG5cdGxhbmd1YWdlPzogbnVtYmVyO1xuXHRub0JyZWFrPzogYm9vbGVhbjtcblx0ZmlsbENvbG9yPzogQ29sb3I7XG5cdHN0cm9rZUNvbG9yPzogQ29sb3I7XG5cdGZpbGxGbGFnPzogYm9vbGVhbjtcblx0c3Ryb2tlRmxhZz86IGJvb2xlYW47XG5cdGZpbGxGaXJzdD86IGJvb2xlYW47XG5cdHlVbmRlcmxpbmU/OiBudW1iZXI7XG5cdG91dGxpbmVXaWR0aD86IG51bWJlcjtcblx0Y2hhcmFjdGVyRGlyZWN0aW9uPzogbnVtYmVyO1xuXHRoaW5kaU51bWJlcnM/OiBib29sZWFuO1xuXHRrYXNoaWRhPzogbnVtYmVyO1xuXHRkaWFjcml0aWNQb3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFN0eWxlUnVuIHtcblx0bGVuZ3RoOiBudW1iZXI7XG5cdHN0eWxlOiBUZXh0U3R5bGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEdyaWRJbmZvIHtcblx0aXNPbj86IGJvb2xlYW47XG5cdHNob3c/OiBib29sZWFuO1xuXHRzaXplPzogbnVtYmVyO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRjb2xvcj86IENvbG9yO1xuXHRsZWFkaW5nRmlsbENvbG9yPzogQ29sb3I7XG5cdGFsaWduTGluZUhlaWdodFRvR3JpZEZsYWdzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllclRleHREYXRhIHtcblx0dGV4dDogc3RyaW5nO1xuXHR0cmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8gMmQgdHJhbnNmb3JtIG1hdHJpeCBbeHgsIHh5LCB5eCwgeXksIHR4LCB0eV1cblx0YW50aUFsaWFzPzogQW50aUFsaWFzO1xuXHRncmlkZGluZz86IFRleHRHcmlkZGluZztcblx0b3JpZW50YXRpb24/OiBPcmllbnRhdGlvbjtcblx0aW5kZXg/OiBudW1iZXI7XG5cdHdhcnA/OiBXYXJwO1xuXHR0b3A/OiBudW1iZXI7XG5cdGxlZnQ/OiBudW1iZXI7XG5cdGJvdHRvbT86IG51bWJlcjtcblx0cmlnaHQ/OiBudW1iZXI7XG5cblx0Z3JpZEluZm8/OiBUZXh0R3JpZEluZm87XG5cdHVzZUZyYWN0aW9uYWxHbHlwaFdpZHRocz86IGJvb2xlYW47XG5cdHN0eWxlPzogVGV4dFN0eWxlOyAvLyBiYXNlIHN0eWxlXG5cdHN0eWxlUnVucz86IFRleHRTdHlsZVJ1bltdOyAvLyBzcGFucyBvZiBkaWZmZXJlbnQgc3R5bGVcblx0cGFyYWdyYXBoU3R5bGU/OiBQYXJhZ3JhcGhTdHlsZTsgLy8gYmFzZSBwYXJhZ3JhcGggc3R5bGVcblx0cGFyYWdyYXBoU3R5bGVSdW5zPzogUGFyYWdyYXBoU3R5bGVSdW5bXTsgLy8gc3R5bGUgZm9yIGVhY2ggbGluZVxuXG5cdHN1cGVyc2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3VwZXJzY3JpcHRQb3NpdGlvbj86IG51bWJlcjtcblx0c3Vic2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3Vic2NyaXB0UG9zaXRpb24/OiBudW1iZXI7XG5cdHNtYWxsQ2FwU2l6ZT86IG51bWJlcjtcblxuXHRzaGFwZVR5cGU/OiAncG9pbnQnIHwgJ2JveCc7XG5cdHBvaW50QmFzZT86IG51bWJlcltdO1xuXHRib3hCb3VuZHM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuSW5mbyB7XG5cdG5hbWU6IHN0cmluZztcblx0aWQ6IHN0cmluZztcblx0eDogbnVtYmVyO1xuXHR5OiBudW1iZXI7XG5cdGJvdW5kczogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgdzogbnVtYmVyLCBoOiBudW1iZXI7IH07XG5cdGRhdGE6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV6aWVyS25vdCB7XG5cdGxpbmtlZDogYm9vbGVhbjtcblx0cG9pbnRzOiBudW1iZXJbXTsgLy8geDAsIHkwLCB4MSwgeTEsIHgyLCB5MlxufVxuXG5leHBvcnQgdHlwZSBCb29sZWFuT3BlcmF0aW9uID0gJ2V4Y2x1ZGUnIHwgJ2NvbWJpbmUnIHwgJ3N1YnRyYWN0JyB8ICdpbnRlcnNlY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJlemllclBhdGgge1xuXHRvcGVuOiBib29sZWFuO1xuXHRvcGVyYXRpb246IEJvb2xlYW5PcGVyYXRpb247XG5cdGtub3RzOiBCZXppZXJLbm90W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFHcmFkaWVudEluZm8ge1xuXHRzdHlsZT86IEdyYWRpZW50U3R5bGU7XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cmV2ZXJzZT86IGJvb2xlYW47XG5cdGFsaWduPzogYm9vbGVhbjtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYVBhdHRlcm5JbmZvIHtcblx0bGlua2VkPzogYm9vbGVhbjtcblx0cGhhc2U/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9O1xufVxuXG5leHBvcnQgdHlwZSBWZWN0b3JDb250ZW50ID0geyB0eXBlOiAnY29sb3InOyBjb2xvcjogQ29sb3I7IH0gfFxuXHQoRWZmZWN0U29saWRHcmFkaWVudCAmIEV4dHJhR3JhZGllbnRJbmZvKSB8XG5cdChFZmZlY3ROb2lzZUdyYWRpZW50ICYgRXh0cmFHcmFkaWVudEluZm8pIHxcblx0KEVmZmVjdFBhdHRlcm4gJiB7IHR5cGU6ICdwYXR0ZXJuJzsgfSAmIEV4dHJhUGF0dGVybkluZm8pO1xuXG5leHBvcnQgdHlwZSBSZW5kZXJpbmdJbnRlbnQgPSAncGVyY2VwdHVhbCcgfCAnc2F0dXJhdGlvbicgfCAncmVsYXRpdmUgY29sb3JpbWV0cmljJyB8ICdhYnNvbHV0ZSBjb2xvcmltZXRyaWMnO1xuXG5leHBvcnQgdHlwZSBVbml0cyA9ICdQaXhlbHMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ01pbGxpbWV0ZXJzJyB8ICdDZW50aW1ldGVycycgfCAnSW5jaGVzJyB8ICdOb25lJyB8ICdEZW5zaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBVbml0c1ZhbHVlIHtcblx0dW5pdHM6IFVuaXRzO1xuXHR2YWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyaWdodG5lc3NBZGp1c3RtZW50IHtcblx0dHlwZTogJ2JyaWdodG5lc3MvY29udHJhc3QnO1xuXHRicmlnaHRuZXNzPzogbnVtYmVyO1xuXHRjb250cmFzdD86IG51bWJlcjtcblx0bWVhblZhbHVlPzogbnVtYmVyO1xuXHR1c2VMZWdhY3k/OiBib29sZWFuO1xuXHRsYWJDb2xvck9ubHk/OiBib29sZWFuO1xuXHRhdXRvPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbCB7XG5cdHNoYWRvd0lucHV0OiBudW1iZXI7XG5cdGhpZ2hsaWdodElucHV0OiBudW1iZXI7XG5cdHNoYWRvd091dHB1dDogbnVtYmVyO1xuXHRoaWdobGlnaHRPdXRwdXQ6IG51bWJlcjtcblx0bWlkdG9uZUlucHV0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlc2V0SW5mbyB7XG5cdHByZXNldEtpbmQ/OiBudW1iZXI7XG5cdHByZXNldEZpbGVOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExldmVsc0FkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2xldmVscyc7XG5cdHJnYj86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xuXHRyZWQ/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Z3JlZW4/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Ymx1ZT86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xufVxuXG5leHBvcnQgdHlwZSBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbCA9IHsgaW5wdXQ6IG51bWJlcjsgb3V0cHV0OiBudW1iZXI7IH1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBDdXJ2ZXNBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjdXJ2ZXMnO1xuXHRyZ2I/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcblx0cmVkPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVuPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWU/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvc3VyZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2V4cG9zdXJlJztcblx0ZXhwb3N1cmU/OiBudW1iZXI7XG5cdG9mZnNldD86IG51bWJlcjtcblx0Z2FtbWE/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlicmFuY2VBZGp1c3RtZW50IHtcblx0dHlwZTogJ3ZpYnJhbmNlJztcblx0dmlicmFuY2U/OiBudW1iZXI7XG5cdHNhdHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsIHtcblx0YTogbnVtYmVyO1xuXHRiOiBudW1iZXI7XG5cdGM6IG51bWJlcjtcblx0ZDogbnVtYmVyO1xuXHRodWU6IG51bWJlcjtcblx0c2F0dXJhdGlvbjogbnVtYmVyO1xuXHRsaWdodG5lc3M6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudCBleHRlbmRzIFByZXNldEluZm8ge1xuXHR0eXBlOiAnaHVlL3NhdHVyYXRpb24nO1xuXHRtYXN0ZXI/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHJlZHM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHllbGxvd3M/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVucz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0Y3lhbnM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWVzPzogSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsO1xuXHRtYWdlbnRhcz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xvckJhbGFuY2VWYWx1ZXMge1xuXHRjeWFuUmVkOiBudW1iZXI7XG5cdG1hZ2VudGFHcmVlbjogbnVtYmVyO1xuXHR5ZWxsb3dCbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBiYWxhbmNlJztcblx0c2hhZG93cz86IENvbG9yQmFsYW5jZVZhbHVlcztcblx0bWlkdG9uZXM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdGhpZ2hsaWdodHM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdHByZXNlcnZlTHVtaW5vc2l0eT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxhY2tBbmRXaGl0ZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2JsYWNrICYgd2hpdGUnO1xuXHRyZWRzPzogbnVtYmVyO1xuXHR5ZWxsb3dzPzogbnVtYmVyO1xuXHRncmVlbnM/OiBudW1iZXI7XG5cdGN5YW5zPzogbnVtYmVyO1xuXHRibHVlcz86IG51bWJlcjtcblx0bWFnZW50YXM/OiBudW1iZXI7XG5cdHVzZVRpbnQ/OiBib29sZWFuO1xuXHR0aW50Q29sb3I/OiBDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG90b0ZpbHRlckFkanVzdG1lbnQge1xuXHR0eXBlOiAncGhvdG8gZmlsdGVyJztcblx0Y29sb3I/OiBDb2xvcjtcblx0ZGVuc2l0eT86IG51bWJlcjtcblx0cHJlc2VydmVMdW1pbm9zaXR5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJDaGFubmVsIHtcblx0cmVkOiBudW1iZXI7XG5cdGdyZWVuOiBudW1iZXI7XG5cdGJsdWU6IG51bWJlcjtcblx0Y29uc3RhbnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjaGFubmVsIG1peGVyJztcblx0bW9ub2Nocm9tZT86IGJvb2xlYW47XG5cdHJlZD86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyZWVuPzogQ2hhbm5lbE1peGVyQ2hhbm5lbDtcblx0Ymx1ZT86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyYXk/OiBDaGFubmVsTWl4ZXJDaGFubmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yTG9va3VwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBsb29rdXAnO1xuXHRsb29rdXBUeXBlPzogJzNkbHV0JyB8ICdhYnN0cmFjdFByb2ZpbGUnIHwgJ2RldmljZUxpbmtQcm9maWxlJztcblx0bmFtZT86IHN0cmluZztcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cHJvZmlsZT86IFVpbnQ4QXJyYXk7XG5cdGx1dEZvcm1hdD86ICdsb29rJyB8ICdjdWJlJyB8ICczZGwnO1xuXHRkYXRhT3JkZXI/OiAncmdiJyB8ICdiZ3InO1xuXHR0YWJsZU9yZGVyPzogJ3JnYicgfCAnYmdyJztcblx0bHV0M0RGaWxlRGF0YT86IFVpbnQ4QXJyYXk7XG5cdGx1dDNERmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52ZXJ0QWRqdXN0bWVudCB7XG5cdHR5cGU6ICdpbnZlcnQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3Rlcml6ZUFkanVzdG1lbnQge1xuXHR0eXBlOiAncG9zdGVyaXplJztcblx0bGV2ZWxzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVzaG9sZEFkanVzdG1lbnQge1xuXHR0eXBlOiAndGhyZXNob2xkJztcblx0bGV2ZWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTdG9wIHtcblx0Y29sb3I6IENvbG9yO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wYWNpdHlTdG9wIHtcblx0b3BhY2l0eTogbnVtYmVyO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYWRpZW50TWFwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdncmFkaWVudCBtYXAnO1xuXHRuYW1lPzogc3RyaW5nO1xuXHRncmFkaWVudFR5cGU6ICdzb2xpZCcgfCAnbm9pc2UnO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRyZXZlcnNlPzogYm9vbGVhbjtcblx0Ly8gc29saWRcblx0c21vb3RobmVzcz86IG51bWJlcjtcblx0Y29sb3JTdG9wcz86IENvbG9yU3RvcFtdO1xuXHRvcGFjaXR5U3RvcHM/OiBPcGFjaXR5U3RvcFtdO1xuXHQvLyBub2lzZVxuXHRyb3VnaG5lc3M/OiBudW1iZXI7XG5cdGNvbG9yTW9kZWw/OiAncmdiJyB8ICdoc2InIHwgJ2xhYic7XG5cdHJhbmRvbVNlZWQ/OiBudW1iZXI7XG5cdHJlc3RyaWN0Q29sb3JzPzogYm9vbGVhbjtcblx0YWRkVHJhbnNwYXJlbmN5PzogYm9vbGVhbjtcblx0bWluPzogbnVtYmVyW107XG5cdG1heD86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdzZWxlY3RpdmUgY29sb3InO1xuXHRtb2RlPzogJ3JlbGF0aXZlJyB8ICdhYnNvbHV0ZSc7XG5cdHJlZHM/OiBDTVlLO1xuXHR5ZWxsb3dzPzogQ01ZSztcblx0Z3JlZW5zPzogQ01ZSztcblx0Y3lhbnM/OiBDTVlLO1xuXHRibHVlcz86IENNWUs7XG5cdG1hZ2VudGFzPzogQ01ZSztcblx0d2hpdGVzPzogQ01ZSztcblx0bmV1dHJhbHM/OiBDTVlLO1xuXHRibGFja3M/OiBDTVlLO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZEZpbGUge1xuXHRpZDogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGNyZWF0b3I/OiBzdHJpbmc7XG5cdGRhdGE/OiBVaW50OEFycmF5O1xuXHR0aW1lPzogRGF0ZTsgLy8gZm9yIGV4dGVybmFsIGZpbGVzXG5cdGRlc2NyaXB0b3I/OiB7XG5cdFx0Y29tcEluZm86IHsgY29tcElEOiBudW1iZXI7IG9yaWdpbmFsQ29tcElEOiBudW1iZXI7IH07XG5cdH07XG5cdGNoaWxkRG9jdW1lbnRJRD86IHN0cmluZztcblx0YXNzZXRNb2RUaW1lPzogbnVtYmVyO1xuXHRhc3NldExvY2tlZFN0YXRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQbGFjZWRMYXllclR5cGUgPSAndW5rbm93bicgfCAndmVjdG9yJyB8ICdyYXN0ZXInIHwgJ2ltYWdlIHN0YWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZWRMYXllciB7XG5cdGlkOiBzdHJpbmc7IC8vIGlkIG9mIGxpbmtlZCBpbWFnZSBmaWxlIChwc2QubGlua2VkRmlsZXMpXG5cdHBsYWNlZD86IHN0cmluZzsgLy8gPz8/XG5cdHR5cGU6IFBsYWNlZExheWVyVHlwZTtcblx0Ly8gcGFnZU51bWJlcjogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gdG90YWxQYWdlczogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gZnJhbWVTdGVwPzogeyBudW1lcmF0b3I6IG51bWJlcjsgZGVub21pbmF0b3I6IG51bWJlcjsgfTtcblx0Ly8gZHVyYXRpb24/OiB7IG51bWVyYXRvcjogbnVtYmVyOyBkZW5vbWluYXRvcjogbnVtYmVyOyB9O1xuXHQvLyBmcmFtZUNvdW50PzogbnVtYmVyOyAvLyA/Pz9cblx0dHJhbnNmb3JtOiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHRub25BZmZpbmVUcmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHR3aWR0aD86IG51bWJlcjtcblx0aGVpZ2h0PzogbnVtYmVyO1xuXHRyZXNvbHV0aW9uPzogVW5pdHNWYWx1ZTtcblx0Ly8gYW50aWFsaWFzID9cblx0d2FycD86IFdhcnA7XG5cdGNyb3A/OiBudW1iZXI7XG5cdGNvbXA/OiBudW1iZXI7XG5cdGNvbXBJbmZvPzogeyBjb21wSUQ6IG51bWJlcjsgb3JpZ2luYWxDb21wSUQ6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IHR5cGUgQWRqdXN0bWVudExheWVyID0gQnJpZ2h0bmVzc0FkanVzdG1lbnQgfCBMZXZlbHNBZGp1c3RtZW50IHwgQ3VydmVzQWRqdXN0bWVudCB8XG5cdEV4cG9zdXJlQWRqdXN0bWVudCB8IFZpYnJhbmNlQWRqdXN0bWVudCB8IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50IHwgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB8XG5cdEJsYWNrQW5kV2hpdGVBZGp1c3RtZW50IHwgUGhvdG9GaWx0ZXJBZGp1c3RtZW50IHwgQ2hhbm5lbE1peGVyQWRqdXN0bWVudCB8IENvbG9yTG9va3VwQWRqdXN0bWVudCB8XG5cdEludmVydEFkanVzdG1lbnQgfCBQb3N0ZXJpemVBZGp1c3RtZW50IHwgVGhyZXNob2xkQWRqdXN0bWVudCB8IEdyYWRpZW50TWFwQWRqdXN0bWVudCB8XG5cdFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudDtcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb2xvciA9ICdub25lJyB8ICdyZWQnIHwgJ29yYW5nZScgfCAneWVsbG93JyB8ICdncmVlbicgfCAnYmx1ZScgfCAndmlvbGV0JyB8ICdncmF5JztcblxuZXhwb3J0IGludGVyZmFjZSBLZXlEZXNjcmlwdG9ySXRlbSB7XG5cdGtleVNoYXBlSW52YWxpZGF0ZWQ/OiBib29sZWFuO1xuXHRrZXlPcmlnaW5UeXBlPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SUmVjdFJhZGlpPzoge1xuXHRcdHRvcFJpZ2h0OiBVbml0c1ZhbHVlO1xuXHRcdHRvcExlZnQ6IFVuaXRzVmFsdWU7XG5cdFx0Ym90dG9tTGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b21SaWdodDogVW5pdHNWYWx1ZTtcblx0fTtcblx0a2V5T3JpZ2luU2hhcGVCb3VuZGluZ0JveD86IHtcblx0XHR0b3A6IFVuaXRzVmFsdWU7XG5cdFx0bGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b206IFVuaXRzVmFsdWU7XG5cdFx0cmlnaHQ6IFVuaXRzVmFsdWU7XG5cdH07XG5cdGtleU9yaWdpbkJveENvcm5lcnM/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9W107XG5cdHRyYW5zZm9ybT86IG51bWJlcltdOyAvLyAyZCB0cmFuc2Zvcm0gbWF0cml4IFt4eCwgeHksIHl4LCB5eSwgdHgsIHR5XVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyVmVjdG9yTWFzayB7XG5cdGludmVydD86IGJvb2xlYW47XG5cdG5vdExpbms/OiBib29sZWFuO1xuXHRkaXNhYmxlPzogYm9vbGVhbjtcblx0ZmlsbFN0YXJ0c1dpdGhBbGxQaXhlbHM/OiBib29sZWFuO1xuXHRjbGlwYm9hcmQ/OiB7XG5cdFx0dG9wOiBudW1iZXI7XG5cdFx0bGVmdDogbnVtYmVyO1xuXHRcdGJvdHRvbTogbnVtYmVyO1xuXHRcdHJpZ2h0OiBudW1iZXI7XG5cdFx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHR9O1xuXHRwYXRoczogQmV6aWVyUGF0aFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyQWRkaXRpb25hbEluZm8ge1xuXHRuYW1lPzogc3RyaW5nOyAvLyBsYXllciBuYW1lXG5cdG5hbWVTb3VyY2U/OiBzdHJpbmc7IC8vIGxheWVyIG5hbWUgc291cmNlXG5cdGlkPzogbnVtYmVyOyAvLyBsYXllciBpZFxuXHR2ZXJzaW9uPzogbnVtYmVyOyAvLyBsYXllciB2ZXJzaW9uXG5cdG1hc2s/OiBMYXllck1hc2tEYXRhO1xuXHRibGVuZENsaXBwZW5kRWxlbWVudHM/OiBib29sZWFuO1xuXHRibGVuZEludGVyaW9yRWxlbWVudHM/OiBib29sZWFuO1xuXHRrbm9ja291dD86IGJvb2xlYW47XG5cdHByb3RlY3RlZD86IHtcblx0XHR0cmFuc3BhcmVuY3k/OiBib29sZWFuO1xuXHRcdGNvbXBvc2l0ZT86IGJvb2xlYW47XG5cdFx0cG9zaXRpb24/OiBib29sZWFuO1xuXHRcdGFydGJvYXJkcz86IGJvb2xlYW47XG5cdH07XG5cdGxheWVyQ29sb3I/OiBMYXllckNvbG9yO1xuXHRyZWZlcmVuY2VQb2ludD86IHtcblx0XHR4OiBudW1iZXI7XG5cdFx0eTogbnVtYmVyO1xuXHR9O1xuXHRzZWN0aW9uRGl2aWRlcj86IHtcblx0XHR0eXBlOiBTZWN0aW9uRGl2aWRlclR5cGU7XG5cdFx0a2V5Pzogc3RyaW5nO1xuXHRcdHN1YlR5cGU/OiBudW1iZXI7XG5cdH07XG5cdGZpbHRlck1hc2s/OiB7XG5cdFx0Y29sb3JTcGFjZTogQ29sb3I7XG5cdFx0b3BhY2l0eTogbnVtYmVyO1xuXHR9O1xuXHRlZmZlY3RzPzogTGF5ZXJFZmZlY3RzSW5mbztcblx0dGV4dD86IExheWVyVGV4dERhdGE7XG5cdHBhdHRlcm5zPzogUGF0dGVybkluZm9bXTsgLy8gbm90IHN1cHBvcnRlZCB5ZXRcblx0dmVjdG9yRmlsbD86IFZlY3RvckNvbnRlbnQ7XG5cdHZlY3RvclN0cm9rZT86IHtcblx0XHRzdHJva2VFbmFibGVkPzogYm9vbGVhbjtcblx0XHRmaWxsRW5hYmxlZD86IGJvb2xlYW47XG5cdFx0bGluZVdpZHRoPzogVW5pdHNWYWx1ZTtcblx0XHRsaW5lRGFzaE9mZnNldD86IFVuaXRzVmFsdWU7XG5cdFx0bWl0ZXJMaW1pdD86IG51bWJlcjtcblx0XHRsaW5lQ2FwVHlwZT86IExpbmVDYXBUeXBlO1xuXHRcdGxpbmVKb2luVHlwZT86IExpbmVKb2luVHlwZTtcblx0XHRsaW5lQWxpZ25tZW50PzogTGluZUFsaWdubWVudDtcblx0XHRzY2FsZUxvY2s/OiBib29sZWFuO1xuXHRcdHN0cm9rZUFkanVzdD86IGJvb2xlYW47XG5cdFx0bGluZURhc2hTZXQ/OiBVbml0c1ZhbHVlW107XG5cdFx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRcdG9wYWNpdHk/OiBudW1iZXI7XG5cdFx0Y29udGVudD86IFZlY3RvckNvbnRlbnQ7XG5cdFx0cmVzb2x1dGlvbj86IG51bWJlcjtcblx0fTtcblx0dmVjdG9yTWFzaz86IExheWVyVmVjdG9yTWFzaztcblx0dXNpbmdBbGlnbmVkUmVuZGVyaW5nPzogYm9vbGVhbjtcblx0dGltZXN0YW1wPzogbnVtYmVyOyAvLyBzZWNvbmRzXG5cdHBhdGhMaXN0Pzoge1xuXHR9W107XG5cdGFkanVzdG1lbnQ/OiBBZGp1c3RtZW50TGF5ZXI7XG5cdHBsYWNlZExheWVyPzogUGxhY2VkTGF5ZXI7XG5cdHZlY3Rvck9yaWdpbmF0aW9uPzoge1xuXHRcdGtleURlc2NyaXB0b3JMaXN0OiBLZXlEZXNjcmlwdG9ySXRlbVtdO1xuXHR9O1xuXHRjb21wb3NpdG9yVXNlZD86IHtcblx0XHRkZXNjcmlwdGlvbjogc3RyaW5nO1xuXHRcdHJlYXNvbjogc3RyaW5nO1xuXHRcdGVuZ2luZTogc3RyaW5nO1xuXHRcdGVuYWJsZUNvbXBDb3JlOiBzdHJpbmc7XG5cdFx0ZW5hYmxlQ29tcENvcmVHUFU6IHN0cmluZztcblx0XHRjb21wQ29yZVN1cHBvcnQ6IHN0cmluZztcblx0XHRjb21wQ29yZUdQVVN1cHBvcnQ6IHN0cmluZztcblx0fTtcblx0YXJ0Ym9hcmQ/OiB7XG5cdFx0cmVjdDogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyOyBib3R0b206IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgfTtcblx0XHRndWlkZUluZGljZXM/OiBhbnlbXTtcblx0XHRwcmVzZXROYW1lPzogc3RyaW5nO1xuXHRcdGNvbG9yPzogQ29sb3I7XG5cdFx0YmFja2dyb3VuZFR5cGU/OiBudW1iZXI7XG5cdH07XG5cdGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuXHR0cmFuc3BhcmVuY3lTaGFwZXNMYXllcj86IGJvb2xlYW47XG5cblx0Ly8gQmFzZTY0IGVuY29kZWQgcmF3IEVuZ2luZURhdGEsIGN1cnJlbnRseSBqdXN0IGtlcHQgaW4gb3JpZ2luYWwgc3RhdGUgdG8gc3VwcG9ydFxuXHQvLyBsb2FkaW5nIGFuZCBtb2RpZnlpbmcgUFNEIGZpbGUgd2l0aG91dCBicmVha2luZyB0ZXh0IGxheWVycy5cblx0ZW5naW5lRGF0YT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZVJlc291cmNlcyB7XG5cdGxheWVyU3RhdGU/OiBudW1iZXI7XG5cdGxheWVyc0dyb3VwPzogbnVtYmVyW107XG5cdGxheWVyU2VsZWN0aW9uSWRzPzogbnVtYmVyW107XG5cdGxheWVyR3JvdXBzRW5hYmxlZElkPzogbnVtYmVyW107XG5cdHZlcnNpb25JbmZvPzoge1xuXHRcdGhhc1JlYWxNZXJnZWREYXRhOiBib29sZWFuO1xuXHRcdHdyaXRlck5hbWU6IHN0cmluZztcblx0XHRyZWFkZXJOYW1lOiBzdHJpbmc7XG5cdFx0ZmlsZVZlcnNpb246IG51bWJlcjtcblx0fTtcblx0YWxwaGFJZGVudGlmaWVycz86IG51bWJlcltdO1xuXHRhbHBoYUNoYW5uZWxOYW1lcz86IHN0cmluZ1tdO1xuXHRnbG9iYWxBbmdsZT86IG51bWJlcjtcblx0Z2xvYmFsQWx0aXR1ZGU/OiBudW1iZXI7XG5cdHBpeGVsQXNwZWN0UmF0aW8/OiB7XG5cdFx0YXNwZWN0OiBudW1iZXI7XG5cdH07XG5cdHVybHNMaXN0PzogYW55W107XG5cdGdyaWRBbmRHdWlkZXNJbmZvcm1hdGlvbj86IHtcblx0XHRncmlkPzoge1xuXHRcdFx0aG9yaXpvbnRhbDogbnVtYmVyO1xuXHRcdFx0dmVydGljYWw6IG51bWJlcjtcblx0XHR9LFxuXHRcdGd1aWRlcz86IHtcblx0XHRcdGxvY2F0aW9uOiBudW1iZXI7XG5cdFx0XHRkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cdFx0fVtdO1xuXHR9O1xuXHRyZXNvbHV0aW9uSW5mbz86IHtcblx0XHRob3Jpem9udGFsUmVzb2x1dGlvbjogbnVtYmVyO1xuXHRcdGhvcml6b250YWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0d2lkdGhVbml0OiAnSW5jaGVzJyB8ICdDZW50aW1ldGVycycgfCAnUG9pbnRzJyB8ICdQaWNhcycgfCAnQ29sdW1ucyc7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uOiBudW1iZXI7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0aGVpZ2h0VW5pdDogJ0luY2hlcycgfCAnQ2VudGltZXRlcnMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ0NvbHVtbnMnO1xuXHR9O1xuXHR0aHVtYm5haWw/OiBIVE1MQ2FudmFzRWxlbWVudDtcblx0dGh1bWJuYWlsUmF3PzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgZGF0YTogVWludDhBcnJheTsgfTtcblx0Y2FwdGlvbkRpZ2VzdD86IHN0cmluZztcblx0eG1wTWV0YWRhdGE/OiBzdHJpbmc7XG5cdHByaW50U2NhbGU/OiB7XG5cdFx0c3R5bGU/OiAnY2VudGVyZWQnIHwgJ3NpemUgdG8gZml0JyB8ICd1c2VyIGRlZmluZWQnO1xuXHRcdHg/OiBudW1iZXI7XG5cdFx0eT86IG51bWJlcjtcblx0XHRzY2FsZT86IG51bWJlcjtcblx0fTtcblx0cHJpbnRJbmZvcm1hdGlvbj86IHtcblx0XHRwcmludGVyTWFuYWdlc0NvbG9ycz86IGJvb2xlYW47XG5cdFx0cHJpbnRlck5hbWU/OiBzdHJpbmc7XG5cdFx0cHJpbnRlclByb2ZpbGU/OiBzdHJpbmc7XG5cdFx0cHJpbnRTaXh0ZWVuQml0PzogYm9vbGVhbjtcblx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0aGFyZFByb29mPzogYm9vbGVhbjtcblx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRwcm9vZlNldHVwPzoge1xuXHRcdFx0YnVpbHRpbjogc3RyaW5nO1xuXHRcdH0gfCB7XG5cdFx0XHRwcm9maWxlOiBzdHJpbmc7XG5cdFx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRcdHBhcGVyV2hpdGU/OiBib29sZWFuO1xuXHRcdH07XG5cdH07XG5cdGJhY2tncm91bmRDb2xvcj86IENvbG9yO1xuXHRpZHNTZWVkTnVtYmVyPzogbnVtYmVyO1xuXHRwcmludEZsYWdzPzoge1xuXHRcdGxhYmVscz86IGJvb2xlYW47XG5cdFx0Y3JvcE1hcmtzPzogYm9vbGVhbjtcblx0XHRjb2xvckJhcnM/OiBib29sZWFuO1xuXHRcdHJlZ2lzdHJhdGlvbk1hcmtzPzogYm9vbGVhbjtcblx0XHRuZWdhdGl2ZT86IGJvb2xlYW47XG5cdFx0ZmxpcD86IGJvb2xlYW47XG5cdFx0aW50ZXJwb2xhdGU/OiBib29sZWFuO1xuXHRcdGNhcHRpb24/OiBib29sZWFuO1xuXHRcdHByaW50RmxhZ3M/OiBib29sZWFuO1xuXHR9O1xuXHRpY2NVbnRhZ2dlZFByb2ZpbGU/OiBib29sZWFuO1xuXHRwYXRoU2VsZWN0aW9uU3RhdGU/OiBzdHJpbmdbXTtcblx0aW1hZ2VSZWFkeVZhcmlhYmxlcz86IHN0cmluZztcblx0aW1hZ2VSZWFkeURhdGFTZXRzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbExheWVyTWFza0luZm8ge1xuXHRvdmVybGF5Q29sb3JTcGFjZTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMjogbnVtYmVyO1xuXHRjb2xvclNwYWNlMzogbnVtYmVyO1xuXHRjb2xvclNwYWNlNDogbnVtYmVyO1xuXHRvcGFjaXR5OiBudW1iZXI7XG5cdGtpbmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uIHtcblx0dHlwZTogJ3RleHQnIHwgJ3NvdW5kJztcblx0b3BlbjogYm9vbGVhbjtcblx0aWNvbkxvY2F0aW9uOiB7IGxlZnQ6IG51bWJlcjsgdG9wOiBudW1iZXI7IHJpZ2h0OiBudW1iZXI7IGJvdHRvbTogbnVtYmVyIH07XG5cdHBvcHVwTG9jYXRpb246IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgYm90dG9tOiBudW1iZXIgfTtcblx0Y29sb3I6IENvbG9yO1xuXHRhdXRob3I6IHN0cmluZztcblx0bmFtZTogc3RyaW5nO1xuXHRkYXRlOiBzdHJpbmc7XG5cdGRhdGE6IHN0cmluZyB8IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXIgZXh0ZW5kcyBMYXllckFkZGl0aW9uYWxJbmZvIHtcblx0dG9wPzogbnVtYmVyO1xuXHRsZWZ0PzogbnVtYmVyO1xuXHRib3R0b20/OiBudW1iZXI7XG5cdHJpZ2h0PzogbnVtYmVyO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHRyYW5zcGFyZW5jeVByb3RlY3RlZD86IGJvb2xlYW47XG5cdGhpZGRlbj86IGJvb2xlYW47XG5cdGNsaXBwaW5nPzogYm9vbGVhbjtcblx0Y2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQ7XG5cdGltYWdlRGF0YT86IEltYWdlRGF0YTtcblx0Y2hpbGRyZW4/OiBMYXllcltdO1xuXHQvKiogYXBwbGllcyBvbmx5IGZvciBsYXllciBncm91cHMgKi9cblx0b3BlbmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQc2QgZXh0ZW5kcyBMYXllckFkZGl0aW9uYWxJbmZvIHtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG5cdGNoYW5uZWxzPzogbnVtYmVyO1xuXHRiaXRzUGVyQ2hhbm5lbD86IG51bWJlcjtcblx0Y29sb3JNb2RlPzogQ29sb3JNb2RlO1xuXHRjaGlsZHJlbj86IExheWVyW107XG5cdGNhbnZhcz86IEhUTUxDYW52YXNFbGVtZW50O1xuXHRpbWFnZURhdGE/OiBJbWFnZURhdGE7XG5cdGltYWdlUmVzb3VyY2VzPzogSW1hZ2VSZXNvdXJjZXM7XG5cdGxpbmtlZEZpbGVzPzogTGlua2VkRmlsZVtdOyAvLyB1c2VkIGluIHNtYXJ0IG9iamVjdHNcblx0YXJ0Ym9hcmRzPzoge1xuXHRcdGNvdW50OiBudW1iZXI7XG5cdFx0YXV0b0V4cGFuZE9mZnNldD86IHsgaG9yaXpvbnRhbDogbnVtYmVyOyB2ZXJ0aWNhbDogbnVtYmVyOyB9O1xuXHRcdG9yaWdpbj86IHsgaG9yaXpvbnRhbDogbnVtYmVyOyB2ZXJ0aWNhbDogbnVtYmVyOyB9O1xuXHRcdGF1dG9FeHBhbmRFbmFibGVkPzogYm9vbGVhbjtcblx0XHRhdXRvTmVzdEVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdGF1dG9Qb3NpdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdHNocmlua3dyYXBPblNhdmVFbmFibGVkPzogYm9vbGVhbjtcblx0XHRkb2NEZWZhdWx0TmV3QXJ0Ym9hcmRCYWNrZ3JvdW5kQ29sb3I/OiBDb2xvcjtcblx0XHRkb2NEZWZhdWx0TmV3QXJ0Ym9hcmRCYWNrZ3JvdW5kVHlwZT86IG51bWJlcjtcblx0fTtcblx0Z2xvYmFsTGF5ZXJNYXNrSW5mbz86IEdsb2JhbExheWVyTWFza0luZm87XG5cdGFubm90YXRpb25zPzogQW5ub3RhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWRPcHRpb25zIHtcblx0LyoqIERvZXMgbm90IGxvYWQgbGF5ZXIgaW1hZ2UgZGF0YS4gKi9cblx0c2tpcExheWVySW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIERvZXMgbm90IGxvYWQgY29tcG9zaXRlIGltYWdlIGRhdGEuICovXG5cdHNraXBDb21wb3NpdGVJbWFnZURhdGE/OiBib29sZWFuO1xuXHQvKiogRG9lcyBub3QgbG9hZCB0aHVtYm5haWwuICovXG5cdHNraXBUaHVtYm5haWw/OiBib29sZWFuO1xuXHQvKiogRG9lcyBub3QgbG9hZCBsaW5rZWQgZmlsZXMgKHVzZWQgaW4gc21hcnQtb2JqZWN0cykuICovXG5cdHNraXBMaW5rZWRGaWxlc0RhdGE/OiBib29sZWFuO1xuXHQvKiogVGhyb3dzIGV4Y2VwdGlvbiBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0dGhyb3dGb3JNaXNzaW5nRmVhdHVyZXM/OiBib29sZWFuO1xuXHQvKiogTG9ncyBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0bG9nTWlzc2luZ0ZlYXR1cmVzPzogYm9vbGVhbjtcblx0LyoqIEtlZXAgaW1hZ2UgZGF0YSBhcyBieXRlIGFycmF5IGluc3RlYWQgb2YgY2FudmFzLlxuXHQgKiAoaW1hZ2UgZGF0YSB3aWxsIGFwcGVhciBpbiBgaW1hZ2VEYXRhYCBmaWVsZHMgaW5zdGVhZCBvZiBgY2FudmFzYCBmaWVsZHMpXG5cdCAqIFRoaXMgYXZvaWRzIGlzc3VlcyB3aXRoIGNhbnZhcyBwcmVtdWx0aXBsaWVkIGFscGhhIGNvcnJ1cHRpbmcgaW1hZ2UgZGF0YS4gKi9cblx0dXNlSW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIExvYWRzIHRodW1ibmFpbCByYXcgZGF0YSBpbnN0ZWFkIG9mIGRlY29kaW5nIGl0J3MgY29udGVudCBpbnRvIGNhbnZhcy5cblx0ICogYHRodW1uYWlsUmF3YCBmaWVsZCBpcyB1c2VkIGluc3RlYWQuICovXG5cdHVzZVJhd1RodW1ibmFpbD86IGJvb2xlYW47XG5cdC8qKiBVc2VuZCBvbmx5IGZvciBkZXZlbG9wbWVudCAqL1xuXHRsb2dEZXZGZWF0dXJlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV3JpdGVPcHRpb25zIHtcblx0LyoqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIHRodW1ibmFpbCBmcm9tIGNvbXBvc2l0ZSBpbWFnZS4gKi9cblx0Z2VuZXJhdGVUaHVtYm5haWw/OiBib29sZWFuO1xuXHQvKiogVHJpbXMgdHJhbnNwYXJlbnQgcGl4ZWxzIGZyb20gbGF5ZXIgaW1hZ2UgZGF0YS4gKi9cblx0dHJpbUltYWdlRGF0YT86IGJvb2xlYW47XG5cdC8qKiBJbnZhbGlkYXRlcyB0ZXh0IGxheWVyIGRhdGEsIGZvcmNpbmcgUGhvdG9zaG9wIHRvIHJlZHJhdyB0aGVtIG9uIGxvYWQuXG5cdCAqICBVc2UgdGhpcyBvcHRpb24gaWYgeW91J3JlIHVwZGF0aW5nIGxvYWRlZCB0ZXh0IGxheWVyIHByb3BlcnRpZXMuICovXG5cdGludmFsaWRhdGVUZXh0TGF5ZXJzPzogYm9vbGVhbjtcblx0LyoqIExvZ3MgaWYgZmVhdHVyZXMgYXJlIG1pc3NpbmcuICovXG5cdGxvZ01pc3NpbmdGZWF0dXJlcz86IGJvb2xlYW47XG5cdC8qKiBGb3JjZXMgYm90dG9tIGxheWVyIHRvIGJlIHRyZWF0ZWQgYXMgbGF5ZXIgYW5kIG5vdCBiYWNrZ3JvdW5kIGV2ZW4gd2hlbiBpdCdzIG1pc3NpbmcgYW55IHRyYW5zcGFyZW5jeVxuXHQgKiBcdChieSBkZWZhdWx0IFBob3Rvc2hvcCB0cmVhdHMgYm90dG9tIGxheWVyIGFzIGJhY2tncm91bmQgaXQgaXQgZG9lc24ndCBoYXZlIGFueSB0cmFuc3BhcmVudCBwaXhlbHMpICovXG5cdG5vQmFja2dyb3VuZD86IGJvb2xlYW47XG5cdC8qKiBTYXZlcyBkb2N1bWVudCBhcyBQU0IgKExhcmdlIERvY3VtZW50IEZvcm1hdCkgZmlsZSAqL1xuXHRwc2I/OiBib29sZWFuO1xufVxuIl0sInNvdXJjZVJvb3QiOiJDOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
@@ -4,6 +4,7 @@ export declare const supportedColorModes: ColorMode[];
4
4
  export interface PsdReader {
5
5
  offset: number;
6
6
  view: DataView;
7
+ strict: boolean;
7
8
  }
8
9
  export declare function createReader(buffer: ArrayBuffer, offset?: number, length?: number): PsdReader;
9
10
  export declare function readUint8(reader: PsdReader): number;