ag-psd 14.3.1 → 14.3.5

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.
@@ -410,6 +410,8 @@ addHandler(1036, function (target) { return target.thumbnail !== undefined || ta
410
410
  data = target.thumbnailRaw.data;
411
411
  }
412
412
  else {
413
+ if (!target.thumbnail)
414
+ throw new Error('Missing thumbnail');
413
415
  width = target.thumbnail.width;
414
416
  height = target.thumbnail.height;
415
417
  data = base64_js_1.toByteArray(target.thumbnail.toDataURL('image/jpeg', 1).substr('data:image/jpeg;base64,'.length));
@@ -581,4 +583,4 @@ target) { return target._ir4001 !== undefined; }, function (reader, target, left
581
583
  psdWriter_1.writeBytes(writer, target._ir4001);
582
584
  });
583
585
 
584
- //# sourceMappingURL=data:application/json;charset=utf8;base64,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ZSI6ImltYWdlUmVzb3VyY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdG9CeXRlQXJyYXkgfSBmcm9tICdiYXNlNjQtanMnO1xuaW1wb3J0IHsgSW1hZ2VSZXNvdXJjZXMsIFJlYWRPcHRpb25zLCBSZW5kZXJpbmdJbnRlbnQgfSBmcm9tICcuL3BzZCc7XG5pbXBvcnQge1xuXHRQc2RSZWFkZXIsIHJlYWRQYXNjYWxTdHJpbmcsIHJlYWRVbmljb2RlU3RyaW5nLCByZWFkVWludDMyLCByZWFkVWludDE2LCByZWFkVWludDgsIHJlYWRGbG9hdDY0LFxuXHRyZWFkQnl0ZXMsIHNraXBCeXRlcywgcmVhZEZsb2F0MzIsIHJlYWRJbnQxNiwgcmVhZEZpeGVkUG9pbnQzMiwgcmVhZFNpZ25hdHVyZSwgY2hlY2tTaWduYXR1cmUsXG5cdHJlYWRTZWN0aW9uLCByZWFkQ29sb3Jcbn0gZnJvbSAnLi9wc2RSZWFkZXInO1xuaW1wb3J0IHtcblx0UHNkV3JpdGVyLCB3cml0ZVBhc2NhbFN0cmluZywgd3JpdGVVbmljb2RlU3RyaW5nLCB3cml0ZVVpbnQzMiwgd3JpdGVVaW50OCwgd3JpdGVGbG9hdDY0LCB3cml0ZVVpbnQxNixcblx0d3JpdGVCeXRlcywgd3JpdGVJbnQxNiwgd3JpdGVGbG9hdDMyLCB3cml0ZUZpeGVkUG9pbnQzMiwgd3JpdGVVbmljb2RlU3RyaW5nV2l0aFBhZGRpbmcsIHdyaXRlQ29sb3IsXG59IGZyb20gJy4vcHNkV3JpdGVyJztcbmltcG9ydCB7IGNyZWF0ZUNhbnZhc0Zyb21EYXRhLCBjcmVhdGVFbnVtLCBNT0NLX0hBTkRMRVJTIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGRlY29kZVN0cmluZywgZW5jb2RlU3RyaW5nIH0gZnJvbSAnLi91dGY4JztcbmltcG9ydCB7IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvciwgd3JpdGVWZXJzaW9uQW5kRGVzY3JpcHRvciB9IGZyb20gJy4vZGVzY3JpcHRvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb3VyY2VIYW5kbGVyIHtcblx0a2V5OiBudW1iZXI7XG5cdGhhczogKHRhcmdldDogSW1hZ2VSZXNvdXJjZXMpID0+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+IHtcblx0XHRsZXQgd2lkdGggPSAwO1xuXHRcdGxldCBoZWlnaHQgPSAwO1xuXHRcdGxldCBkYXRhOiBVaW50OEFycmF5O1xuXG5cdFx0aWYgKHRhcmdldC50aHVtYm5haWxSYXcpIHtcblx0XHRcdHdpZHRoID0gdGFyZ2V0LnRodW1ibmFpbFJhdy53aWR0aDtcblx0XHRcdGhlaWdodCA9IHRhcmdldC50aHVtYm5haWxSYXcuaGVpZ2h0O1xuXHRcdFx0ZGF0YSA9IHRhcmdldC50aHVtYm5haWxSYXcuZGF0YTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0d2lkdGggPSB0YXJnZXQudGh1bWJuYWlsIS53aWR0aDtcblx0XHRcdGhlaWdodCA9IHRhcmdldC50aHVtYm5haWwhLmhlaWdodDtcblx0XHRcdGRhdGEgPSB0b0J5dGVBcnJheSh0YXJnZXQudGh1bWJuYWlsIS50b0RhdGFVUkwoJ2ltYWdlL2pwZWcnLCAxKS5zdWJzdHIoJ2RhdGE6aW1hZ2UvanBlZztiYXNlNjQsJy5sZW5ndGgpKTtcblx0XHR9XG5cblx0XHRjb25zdCBiaXRzUGVyUGl4ZWwgPSAyNDtcblx0XHRjb25zdCB3aWR0aEJ5dGVzID0gTWF0aC5mbG9vcigod2lkdGggKiBiaXRzUGVyUGl4ZWwgKyAzMSkgLyAzMikgKiA0O1xuXHRcdGNvbnN0IHBsYW5lcyA9IDE7XG5cdFx0Y29uc3QgdG90YWxTaXplID0gd2lkdGhCeXRlcyAqIGhlaWdodCAqIHBsYW5lcztcblx0XHRjb25zdCBzaXplQWZ0ZXJDb21wcmVzc2lvbiA9IGRhdGEubGVuZ3RoO1xuXG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCAxKTsgLy8gMSA9IGtKcGVnUkdCXG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB3aWR0aCk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCBoZWlnaHQpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgd2lkdGhCeXRlcyk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB0b3RhbFNpemUpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgc2l6ZUFmdGVyQ29tcHJlc3Npb24pO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgYml0c1BlclBpeGVsKTtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIHBsYW5lcyk7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsIGRhdGEpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA1Nyxcblx0dGFyZ2V0ID0+IHRhcmdldC52ZXJzaW9uSW5mbyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdGlmICh2ZXJzaW9uICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbkluZm8gdmVyc2lvbicpO1xuXG5cdFx0dGFyZ2V0LnZlcnNpb25JbmZvID0ge1xuXHRcdFx0aGFzUmVhbE1lcmdlZERhdGE6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHR3cml0ZXJOYW1lOiByZWFkVW5pY29kZVN0cmluZyhyZWFkZXIpLFxuXHRcdFx0cmVhZGVyTmFtZTogcmVhZFVuaWNvZGVTdHJpbmcocmVhZGVyKSxcblx0XHRcdGZpbGVWZXJzaW9uOiByZWFkVWludDMyKHJlYWRlciksXG5cdFx0fTtcblxuXHRcdHNraXBCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IHZlcnNpb25JbmZvID0gdGFyZ2V0LnZlcnNpb25JbmZvITtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDEpOyAvLyB2ZXJzaW9uXG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIHZlcnNpb25JbmZvLmhhc1JlYWxNZXJnZWREYXRhID8gMSA6IDApO1xuXHRcdHdyaXRlVW5pY29kZVN0cmluZyh3cml0ZXIsIHZlcnNpb25JbmZvLndyaXRlck5hbWUpO1xuXHRcdHdyaXRlVW5pY29kZVN0cmluZyh3cml0ZXIsIHZlcnNpb25JbmZvLnJlYWRlck5hbWUpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgdmVyc2lvbkluZm8uZmlsZVZlcnNpb24pO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDU4LCAvLyBFWElGIGRhdGEgMS5cblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDU4ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDU4JywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTA1OCA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTA1OCk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQ3MDAwLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmltYWdlUmVhZHlWYXJpYWJsZXMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0dGFyZ2V0LmltYWdlUmVhZHlWYXJpYWJsZXMgPSByZWFkVXRmOFN0cmluZyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVXRmOFN0cmluZyh3cml0ZXIsIHRhcmdldC5pbWFnZVJlYWR5VmFyaWFibGVzISk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQ3MDAxLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmltYWdlUmVhZHlEYXRhU2V0cyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuaW1hZ2VSZWFkeURhdGFTZXRzID0gcmVhZFV0ZjhTdHJpbmcocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZVV0ZjhTdHJpbmcod3JpdGVyLCB0YXJnZXQuaW1hZ2VSZWFkeURhdGFTZXRzISk7XG5cdH0sXG4pO1xuXG5pbnRlcmZhY2UgRGVzY3JpcHRvcjEwODgge1xuXHQnbnVsbCc6IHN0cmluZ1tdO1xufVxuXG5hZGRIYW5kbGVyKFxuXHQxMDg4LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnBhdGhTZWxlY3Rpb25TdGF0ZSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIF9sZWZ0KSA9PiB7XG5cdFx0Y29uc3QgZGVzYzogRGVzY3JpcHRvcjEwODggPSByZWFkVmVyc2lvbkFuZERlc2NyaXB0b3IocmVhZGVyKTtcblx0XHQvLyBjb25zb2xlLmxvZyhyZXF1aXJlKCd1dGlsJykuaW5zcGVjdChkZXNjLCBmYWxzZSwgOTksIHRydWUpKTtcblx0XHR0YXJnZXQucGF0aFNlbGVjdGlvblN0YXRlID0gZGVzY1snbnVsbCddO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBkZXNjOiBEZXNjcmlwdG9yMTA4OCA9IHsgJ251bGwnOiB0YXJnZXQucGF0aFNlbGVjdGlvblN0YXRlISB9O1xuXHRcdHdyaXRlVmVyc2lvbkFuZERlc2NyaXB0b3Iod3JpdGVyLCAnJywgJ251bGwnLCBkZXNjKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAyNSxcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDI1ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDI1JywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTAyNSA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTAyNSk7XG5cdH0sXG4pO1xuXG5jb25zdCBGcm1EID0gY3JlYXRlRW51bTwnYXV0bycgfCAnbm9uZScgfCAnZGlzcG9zZSc+KCdGcm1EJywgJycsIHtcblx0YXV0bzogJ0F1dG8nLFxuXHRub25lOiAnTm9uZScsXG5cdGRpc3Bvc2U6ICdEaXNwJyxcbn0pO1xuXG5pbnRlcmZhY2UgQW5pbWF0aW9uRGVzY3JpcHRvciB7XG5cdEFGU3Q6IG51bWJlcjtcblx0RnJJbjoge1xuXHRcdEZySUQ6IG51bWJlcjtcblx0XHRGckRsOiBudW1iZXI7XG5cdFx0RnJEczogc3RyaW5nO1xuXHRcdEZyR0E/OiBudW1iZXI7XG5cdH1bXTtcblx0RlN0czoge1xuXHRcdEZzSUQ6IG51bWJlcjtcblx0XHRBRnJtOiBudW1iZXI7XG5cdFx0RnNGcjogbnVtYmVyW107XG5cdFx0TENudDogbnVtYmVyO1xuXHR9W107XG59XG5cbmludGVyZmFjZSBBbmltYXRpb25zIHtcblx0ZnJhbWVzOiB7XG5cdFx0aWQ6IG51bWJlcjtcblx0XHRkZWxheTogbnVtYmVyO1xuXHRcdGRpc3Bvc2U/OiAnYXV0bycgfCAnbm9uZScgfCAnZGlzcG9zZSc7XG5cdH1bXTtcblx0YW5pbWF0aW9uczoge1xuXHRcdGlkOiBudW1iZXI7XG5cdFx0ZnJhbWVzOiBudW1iZXJbXTtcblx0XHRyZXBlYXRzPzogbnVtYmVyO1xuXHR9W107XG59XG5cbi8vIFRPRE86IFVuZmluaXNoZWRcbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0NDAwMCwgLy8gUGx1Zy1JbiByZXNvdXJjZShzKVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjQwMDAgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0LCB7IGxvZ01pc3NpbmdGZWF0dXJlcywgbG9nRGV2RmVhdHVyZXMgfSkgPT4ge1xuXHRcdGlmIChNT0NLX0hBTkRMRVJTKSB7XG5cdFx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgNDAwMCcsIGxlZnQoKSk7XG5cdFx0XHQodGFyZ2V0IGFzIGFueSkuX2lyNDAwMCA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qga2V5ID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0aWYgKGtleSA9PT0gJ21hbmknKSB7XG5cdFx0XHRjaGVja1NpZ25hdHVyZShyZWFkZXIsICdJUkZSJyk7XG5cdFx0XHRyZWFkU2VjdGlvbihyZWFkZXIsIDEsIGxlZnQgPT4ge1xuXHRcdFx0XHR3aGlsZSAobGVmdCgpKSB7XG5cdFx0XHRcdFx0Y2hlY2tTaWduYXR1cmUocmVhZGVyLCAnOEJJTScpO1xuXHRcdFx0XHRcdGNvbnN0IGtleSA9IHJlYWRTaWduYXR1cmUocmVhZGVyKTtcblxuXHRcdFx0XHRcdHJlYWRTZWN0aW9uKHJlYWRlciwgMSwgbGVmdCA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoa2V5ID09PSAnQW5EcycpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgZGVzYyA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpIGFzIEFuaW1hdGlvbkRlc2NyaXB0b3I7XG5cdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKCdBbkRzJywgZGVzYyk7XG5cdFx0XHRcdFx0XHRcdGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzJywgZGVzYyk7XG5cdFx0XHRcdFx0XHRcdC8vIGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzJywgcmVxdWlyZSgndXRpbCcpLmluc3BlY3QoZGVzYywgZmFsc2UsIDk5LCB0cnVlKSk7XG5cblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVzdWx0OiBBbmltYXRpb25zID0ge1xuXHRcdFx0XHRcdFx0XHRcdC8vIGRlc2MuQUZTdCA/Pz9cblx0XHRcdFx0XHRcdFx0XHRmcmFtZXM6IGRlc2MuRnJJbi5tYXAoeCA9PiAoe1xuXHRcdFx0XHRcdFx0XHRcdFx0aWQ6IHguRnJJRCxcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGF5OiB4LkZyRGwgLyAxMDAsXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwb3NlOiB4LkZyRHMgPyBGcm1ELmRlY29kZSh4LkZyRHMpIDogJ2F1dG8nLCAvLyBtaXNzaW5nID09IGF1dG9cblx0XHRcdFx0XHRcdFx0XHRcdC8vIHguRnJHQSA/Pz9cblx0XHRcdFx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0XHRcdFx0YW5pbWF0aW9uczogZGVzYy5GU3RzLm1hcCh4ID0+ICh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZDogeC5Gc0lELFxuXHRcdFx0XHRcdFx0XHRcdFx0ZnJhbWVzOiB4LkZzRnIsXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXBlYXRzOiB4LkxDbnQsXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB4LkFGcm0gPz8/XG5cdFx0XHRcdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0XHRcdGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzOnJlc3VsdCcsIHJlc3VsdCk7XG5cdFx0XHRcdFx0XHRcdC8vIGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzOnJlc3VsdCcsIHJlcXVpcmUoJ3V0aWwnKS5pbnNwZWN0KHJlc3VsdCwgZmFsc2UsIDk5LCB0cnVlKSk7XG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ1JvbGwnKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGJ5dGVzID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdFx0XHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIFJvbGwnLCBieXRlcyk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRsb2dNaXNzaW5nRmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ1VuaGFuZGxlZCBzdWJzZWN0aW9uIGluICM0MDAwJywga2V5KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdtb3B0Jykge1xuXHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIG1vcHQnLCBieXRlcyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGxvZ01pc3NpbmdGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnVW5oYW5kbGVkIGtleSBpbiAjNDAwMDonLCBrZXkpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXI0MDAwKTtcblx0fSxcbik7XG5cbi8vIFRPRE86IFVuZmluaXNoZWRcbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0NDAwMSwgLy8gUGx1Zy1JbiByZXNvdXJjZShzKVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjQwMDEgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0LCB7IGxvZ01pc3NpbmdGZWF0dXJlcywgbG9nRGV2RmVhdHVyZXMgfSkgPT4ge1xuXHRcdGlmIChNT0NLX0hBTkRMRVJTKSB7XG5cdFx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgNDAwMScsIGxlZnQoKSk7XG5cdFx0XHQodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qga2V5ID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0aWYgKGtleSA9PT0gJ21mcmknKSB7XG5cdFx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0aWYgKHZlcnNpb24gIT09IDIpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtZnJpIHZlcnNpb24nKTtcblxuXHRcdFx0Y29uc3QgbGVuZ3RoID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZW5ndGgpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ21mcmknLCBieXRlcyk7XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdtc2V0Jykge1xuXHRcdFx0Y29uc3QgZGVzYyA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ21zZXQnLCBkZXNjKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bG9nTWlzc2luZ0ZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCdVbmhhbmRsZWQga2V5IGluICM0MDAxJywga2V5KTtcblx0XHR9XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSk7XG5cdH0sXG4pO1xuIl0sInNvdXJjZVJvb3QiOiJEOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
586
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,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LHNCQUFVLENBQUMsTUFBTSxFQUFHLE1BQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQ0QsQ0FBQyIsImZpbGUiOiJpbWFnZVJlc291cmNlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvQnl0ZUFycmF5IH0gZnJvbSAnYmFzZTY0LWpzJztcbmltcG9ydCB7IEltYWdlUmVzb3VyY2VzLCBSZWFkT3B0aW9ucywgUmVuZGVyaW5nSW50ZW50IH0gZnJvbSAnLi9wc2QnO1xuaW1wb3J0IHtcblx0UHNkUmVhZGVyLCByZWFkUGFzY2FsU3RyaW5nLCByZWFkVW5pY29kZVN0cmluZywgcmVhZFVpbnQzMiwgcmVhZFVpbnQxNiwgcmVhZFVpbnQ4LCByZWFkRmxvYXQ2NCxcblx0cmVhZEJ5dGVzLCBza2lwQnl0ZXMsIHJlYWRGbG9hdDMyLCByZWFkSW50MTYsIHJlYWRGaXhlZFBvaW50MzIsIHJlYWRTaWduYXR1cmUsIGNoZWNrU2lnbmF0dXJlLFxuXHRyZWFkU2VjdGlvbiwgcmVhZENvbG9yXG59IGZyb20gJy4vcHNkUmVhZGVyJztcbmltcG9ydCB7XG5cdFBzZFdyaXRlciwgd3JpdGVQYXNjYWxTdHJpbmcsIHdyaXRlVW5pY29kZVN0cmluZywgd3JpdGVVaW50MzIsIHdyaXRlVWludDgsIHdyaXRlRmxvYXQ2NCwgd3JpdGVVaW50MTYsXG5cdHdyaXRlQnl0ZXMsIHdyaXRlSW50MTYsIHdyaXRlRmxvYXQzMiwgd3JpdGVGaXhlZFBvaW50MzIsIHdyaXRlVW5pY29kZVN0cmluZ1dpdGhQYWRkaW5nLCB3cml0ZUNvbG9yLFxufSBmcm9tICcuL3BzZFdyaXRlcic7XG5pbXBvcnQgeyBjcmVhdGVDYW52YXNGcm9tRGF0YSwgY3JlYXRlRW51bSwgTU9DS19IQU5ETEVSUyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBkZWNvZGVTdHJpbmcsIGVuY29kZVN0cmluZyB9IGZyb20gJy4vdXRmOCc7XG5pbXBvcnQgeyByZWFkVmVyc2lvbkFuZERlc2NyaXB0b3IsIHdyaXRlVmVyc2lvbkFuZERlc2NyaXB0b3IgfSBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlSGFuZGxlciB7XG5cdGtleTogbnVtYmVyO1xuXHRoYXM6ICh0YXJnZXQ6IEltYWdlUmVzb3VyY2VzKSA9PiBib29sZWFuO1xuXHRyZWFkOiAocmVhZGVyOiBQc2RSZWFkZXIsIHRhcmdldDogSW1hZ2VSZXNvdXJjZXMsIGxlZnQ6ICgpID0+IG51bWJlciwgb3B0aW9uczogUmVhZE9wdGlvbnMpID0+IHZvaWQ7XG5cdHdyaXRlOiAod3JpdGVyOiBQc2RXcml0ZXIsIHRhcmdldDogSW1hZ2VSZXNvdXJjZXMpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCByZXNvdXJjZUhhbmRsZXJzOiBSZXNvdXJjZUhhbmRsZXJbXSA9IFtdO1xuZXhwb3J0IGNvbnN0IHJlc291cmNlSGFuZGxlcnNNYXA6IHsgW2tleTogbnVtYmVyXTogUmVzb3VyY2VIYW5kbGVyIH0gPSB7fTtcblxuZnVuY3Rpb24gYWRkSGFuZGxlcihcblx0a2V5OiBudW1iZXIsXG5cdGhhczogKHRhcmdldDogSW1hZ2VSZXNvdXJjZXMpID0+IGJvb2xlYW4sXG5cdHJlYWQ6IChyZWFkZXI6IFBzZFJlYWRlciwgdGFyZ2V0OiBJbWFnZVJlc291cmNlcywgbGVmdDogKCkgPT4gbnVtYmVyLCBvcHRpb25zOiBSZWFkT3B0aW9ucykgPT4gdm9pZCxcblx0d3JpdGU6ICh3cml0ZXI6IFBzZFdyaXRlciwgdGFyZ2V0OiBJbWFnZVJlc291cmNlcykgPT4gdm9pZCxcbikge1xuXHRjb25zdCBoYW5kbGVyOiBSZXNvdXJjZUhhbmRsZXIgPSB7IGtleSwgaGFzLCByZWFkLCB3cml0ZSB9O1xuXHRyZXNvdXJjZUhhbmRsZXJzLnB1c2goaGFuZGxlcik7XG5cdHJlc291cmNlSGFuZGxlcnNNYXBbaGFuZGxlci5rZXldID0gaGFuZGxlcjtcbn1cblxuY29uc3QgTE9HX01PQ0tfSEFORExFUlMgPSBmYWxzZTtcbmNvbnN0IFJFU09MVVRJT05fVU5JVFMgPSBbdW5kZWZpbmVkLCAnUFBJJywgJ1BQQ00nXTtcbmNvbnN0IE1FQVNVUkVNRU5UX1VOSVRTID0gW3VuZGVmaW5lZCwgJ0luY2hlcycsICdDZW50aW1ldGVycycsICdQb2ludHMnLCAnUGljYXMnLCAnQ29sdW1ucyddO1xuY29uc3QgaGV4ID0gJzAxMjM0NTY3ODlhYmNkZWYnO1xuXG5mdW5jdGlvbiBjaGFyVG9OaWJibGUoY29kZTogbnVtYmVyKSB7XG5cdHJldHVybiBjb2RlIDw9IDU3ID8gY29kZSAtIDQ4IDogY29kZSAtIDg3O1xufVxuXG5mdW5jdGlvbiBieXRlQXQodmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlcikge1xuXHRyZXR1cm4gKGNoYXJUb05pYmJsZSh2YWx1ZS5jaGFyQ29kZUF0KGluZGV4KSkgPDwgNCkgfCBjaGFyVG9OaWJibGUodmFsdWUuY2hhckNvZGVBdChpbmRleCArIDEpKTtcbn1cblxuZnVuY3Rpb24gcmVhZFV0ZjhTdHJpbmcocmVhZGVyOiBQc2RSZWFkZXIsIGxlbmd0aDogbnVtYmVyKSB7XG5cdGNvbnN0IGJ1ZmZlciA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlbmd0aCk7XG5cdHJldHVybiBkZWNvZGVTdHJpbmcoYnVmZmVyKTtcbn1cblxuZnVuY3Rpb24gd3JpdGVVdGY4U3RyaW5nKHdyaXRlcjogUHNkV3JpdGVyLCB2YWx1ZTogc3RyaW5nKSB7XG5cdGNvbnN0IGJ1ZmZlciA9IGVuY29kZVN0cmluZyh2YWx1ZSk7XG5cdHdyaXRlQnl0ZXMod3JpdGVyLCBidWZmZXIpO1xufVxuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwMjgsIC8vIElQVEMtTkFBIHJlY29yZFxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMjggIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMjgnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDI4ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDI4KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjEsXG5cdHRhcmdldCA9PiB0YXJnZXQuY2FwdGlvbkRpZ2VzdCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHRsZXQgY2FwdGlvbkRpZ2VzdCA9ICcnO1xuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG5cdFx0XHRjb25zdCBieXRlID0gcmVhZFVpbnQ4KHJlYWRlcik7XG5cdFx0XHRjYXB0aW9uRGlnZXN0ICs9IGhleFtieXRlID4+IDRdO1xuXHRcdFx0Y2FwdGlvbkRpZ2VzdCArPSBoZXhbYnl0ZSAmIDB4Zl07XG5cdFx0fVxuXG5cdFx0dGFyZ2V0LmNhcHRpb25EaWdlc3QgPSBjYXB0aW9uRGlnZXN0O1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHtcblx0XHRcdHdyaXRlVWludDgod3JpdGVyLCBieXRlQXQodGFyZ2V0LmNhcHRpb25EaWdlc3QhLCBpICogMikpO1xuXHRcdH1cblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNjAsXG5cdHRhcmdldCA9PiB0YXJnZXQueG1wTWV0YWRhdGEgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB0YXJnZXQueG1wTWV0YWRhdGEgPSByZWFkVXRmOFN0cmluZyhyZWFkZXIsIGxlZnQoKSksXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4gd3JpdGVVdGY4U3RyaW5nKHdyaXRlciwgdGFyZ2V0LnhtcE1ldGFkYXRhISksXG4pO1xuXG5jb25zdCBJbnRlID0gY3JlYXRlRW51bTxSZW5kZXJpbmdJbnRlbnQ+KCdJbnRlJywgJ3BlcmNlcHR1YWwnLCB7XG5cdCdwZXJjZXB0dWFsJzogJ0ltZyAnLFxuXHQnc2F0dXJhdGlvbic6ICdHcnAgJyxcblx0J3JlbGF0aXZlIGNvbG9yaW1ldHJpYyc6ICdDbHJtJyxcblx0J2Fic29sdXRlIGNvbG9yaW1ldHJpYyc6ICdBQ2xyJyxcbn0pO1xuXG5pbnRlcmZhY2UgUHJpbnRJbmZvcm1hdGlvbkRlc2NyaXB0b3Ige1xuXHQnTm0gICc/OiBzdHJpbmc7XG5cdENsclM/OiBzdHJpbmc7XG5cdFBzdFM/OiBib29sZWFuO1xuXHRNcEJsPzogYm9vbGVhbjtcblx0SW50ZT86IHN0cmluZztcblx0aGFyZFByb29mPzogYm9vbGVhbjtcblx0cHJpbnRTaXh0ZWVuQml0PzogYm9vbGVhbjtcblx0cHJpbnRlck5hbWU/OiBzdHJpbmc7XG5cdHByaW50UHJvb2ZTZXR1cD86IHtcblx0XHRCbHRuOiBzdHJpbmc7XG5cdH0gfCB7XG5cdFx0cHJvZmlsZTogc3RyaW5nO1xuXHRcdEludGU6IHN0cmluZztcblx0XHRNcEJsOiBib29sZWFuO1xuXHRcdHBhcGVyV2hpdGU6IGJvb2xlYW47XG5cdH07XG59XG5cbmFkZEhhbmRsZXIoXG5cdDEwODIsXG5cdHRhcmdldCA9PiB0YXJnZXQucHJpbnRJbmZvcm1hdGlvbiAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBkZXNjOiBQcmludEluZm9ybWF0aW9uRGVzY3JpcHRvciA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXG5cdFx0dGFyZ2V0LnByaW50SW5mb3JtYXRpb24gPSB7XG5cdFx0XHRwcmludGVyTmFtZTogZGVzYy5wcmludGVyTmFtZSB8fCAnJyxcblx0XHRcdHJlbmRlcmluZ0ludGVudDogSW50ZS5kZWNvZGUoZGVzYy5JbnRlID8/ICdJbnRlLkltZyAnKSxcblx0XHR9O1xuXG5cdFx0Y29uc3QgaW5mbyA9IHRhcmdldC5wcmludEluZm9ybWF0aW9uO1xuXG5cdFx0aWYgKGRlc2MuUHN0UyAhPT0gdW5kZWZpbmVkKSBpbmZvLnByaW50ZXJNYW5hZ2VzQ29sb3JzID0gZGVzYy5Qc3RTO1xuXHRcdGlmIChkZXNjWydObSAgJ10gIT09IHVuZGVmaW5lZCkgaW5mby5wcmludGVyUHJvZmlsZSA9IGRlc2NbJ05tICAnXTtcblx0XHRpZiAoZGVzYy5NcEJsICE9PSB1bmRlZmluZWQpIGluZm8uYmxhY2tQb2ludENvbXBlbnNhdGlvbiA9IGRlc2MuTXBCbDtcblx0XHRpZiAoZGVzYy5wcmludFNpeHRlZW5CaXQgIT09IHVuZGVmaW5lZCkgaW5mby5wcmludFNpeHRlZW5CaXQgPSBkZXNjLnByaW50U2l4dGVlbkJpdDtcblx0XHRpZiAoZGVzYy5oYXJkUHJvb2YgIT09IHVuZGVmaW5lZCkgaW5mby5oYXJkUHJvb2YgPSBkZXNjLmhhcmRQcm9vZjtcblx0XHRpZiAoZGVzYy5wcmludFByb29mU2V0dXApIHtcblx0XHRcdGlmICgnQmx0bicgaW4gZGVzYy5wcmludFByb29mU2V0dXApIHtcblx0XHRcdFx0aW5mby5wcm9vZlNldHVwID0geyBidWlsdGluOiBkZXNjLnByaW50UHJvb2ZTZXR1cC5CbHRuLnNwbGl0KCcuJylbMV0gfTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGluZm8ucHJvb2ZTZXR1cCA9IHtcblx0XHRcdFx0XHRwcm9maWxlOiBkZXNjLnByaW50UHJvb2ZTZXR1cC5wcm9maWxlLFxuXHRcdFx0XHRcdHJlbmRlcmluZ0ludGVudDogSW50ZS5kZWNvZGUoZGVzYy5wcmludFByb29mU2V0dXAuSW50ZSA/PyAnSW50ZS5JbWcgJyksXG5cdFx0XHRcdFx0YmxhY2tQb2ludENvbXBlbnNhdGlvbjogISFkZXNjLnByaW50UHJvb2ZTZXR1cC5NcEJsLFxuXHRcdFx0XHRcdHBhcGVyV2hpdGU6ICEhZGVzYy5wcmludFByb29mU2V0dXAucGFwZXJXaGl0ZSxcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IGluZm8gPSB0YXJnZXQucHJpbnRJbmZvcm1hdGlvbiE7XG5cdFx0Y29uc3QgZGVzYzogUHJpbnRJbmZvcm1hdGlvbkRlc2NyaXB0b3IgPSB7fTtcblxuXHRcdGlmIChpbmZvLnByaW50ZXJNYW5hZ2VzQ29sb3JzKSB7XG5cdFx0XHRkZXNjLlBzdFMgPSB0cnVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRpZiAoaW5mby5oYXJkUHJvb2YgIT09IHVuZGVmaW5lZCkgZGVzYy5oYXJkUHJvb2YgPSAhIWluZm8uaGFyZFByb29mO1xuXHRcdFx0ZGVzYy5DbHJTID0gJ0NsclMuUkdCQyc7IC8vIFRPRE86ID8/P1xuXHRcdFx0ZGVzY1snTm0gICddID0gaW5mby5wcmludGVyUHJvZmlsZSA/PyAnQ0lFIFJHQic7XG5cdFx0fVxuXG5cdFx0ZGVzYy5JbnRlID0gSW50ZS5lbmNvZGUoaW5mby5yZW5kZXJpbmdJbnRlbnQpO1xuXG5cdFx0aWYgKCFpbmZvLnByaW50ZXJNYW5hZ2VzQ29sb3JzKSBkZXNjLk1wQmwgPSAhIWluZm8uYmxhY2tQb2ludENvbXBlbnNhdGlvbjtcblxuXHRcdGRlc2MucHJpbnRTaXh0ZWVuQml0ID0gISFpbmZvLnByaW50U2l4dGVlbkJpdDtcblx0XHRkZXNjLnByaW50ZXJOYW1lID0gaW5mby5wcmludGVyTmFtZSB8fCAnJztcblxuXHRcdGlmIChpbmZvLnByb29mU2V0dXAgJiYgJ3Byb2ZpbGUnIGluIGluZm8ucHJvb2ZTZXR1cCkge1xuXHRcdFx0ZGVzYy5wcmludFByb29mU2V0dXAgPSB7XG5cdFx0XHRcdHByb2ZpbGU6IGluZm8ucHJvb2ZTZXR1cC5wcm9maWxlIHx8ICcnLFxuXHRcdFx0XHRJbnRlOiBJbnRlLmVuY29kZShpbmZvLnByb29mU2V0dXAucmVuZGVyaW5nSW50ZW50KSxcblx0XHRcdFx0TXBCbDogISFpbmZvLnByb29mU2V0dXAuYmxhY2tQb2ludENvbXBlbnNhdGlvbixcblx0XHRcdFx0cGFwZXJXaGl0ZTogISFpbmZvLnByb29mU2V0dXAucGFwZXJXaGl0ZSxcblx0XHRcdH07XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRlc2MucHJpbnRQcm9vZlNldHVwID0ge1xuXHRcdFx0XHRCbHRuOiBpbmZvLnByb29mU2V0dXA/LmJ1aWx0aW4gPyBgYnVpbHRpblByb29mLiR7aW5mby5wcm9vZlNldHVwLmJ1aWx0aW59YCA6ICdidWlsdGluUHJvb2YucHJvb2ZDTVlLJyxcblx0XHRcdH07XG5cdFx0fVxuXG5cdFx0d3JpdGVWZXJzaW9uQW5kRGVzY3JpcHRvcih3cml0ZXIsICcnLCAncHJpbnRPdXRwdXQnLCBkZXNjKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTA4MywgLy8gUHJpbnQgc3R5bGVcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDgzICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDgzJywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTA4MyA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cblx0XHQvLyBUT0RPOlxuXHRcdC8vIGNvbnN0IGRlc2MgPSByZWFkVmVyc2lvbkFuZERlc2NyaXB0b3IocmVhZGVyKTtcblx0XHQvLyBjb25zb2xlLmxvZygnMTA4MycsIHJlcXVpcmUoJ3V0aWwnKS5pbnNwZWN0KGRlc2MsIGZhbHNlLCA5OSwgdHJ1ZSkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZUJ5dGVzKHdyaXRlciwgKHRhcmdldCBhcyBhbnkpLl9pcjEwODMpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTAwNSxcblx0dGFyZ2V0ID0+IHRhcmdldC5yZXNvbHV0aW9uSW5mbyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBob3Jpem9udGFsUmVzb2x1dGlvbiA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCBob3Jpem9udGFsUmVzb2x1dGlvblVuaXQgPSByZWFkVWludDE2KHJlYWRlcik7XG5cdFx0Y29uc3Qgd2lkdGhVbml0ID0gcmVhZFVpbnQxNihyZWFkZXIpO1xuXHRcdGNvbnN0IHZlcnRpY2FsUmVzb2x1dGlvbiA9IHJlYWRGaXhlZFBvaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCB2ZXJ0aWNhbFJlc29sdXRpb25Vbml0ID0gcmVhZFVpbnQxNihyZWFkZXIpO1xuXHRcdGNvbnN0IGhlaWdodFVuaXQgPSByZWFkVWludDE2KHJlYWRlcik7XG5cblx0XHR0YXJnZXQucmVzb2x1dGlvbkluZm8gPSB7XG5cdFx0XHRob3Jpem9udGFsUmVzb2x1dGlvbixcblx0XHRcdGhvcml6b250YWxSZXNvbHV0aW9uVW5pdDogUkVTT0xVVElPTl9VTklUU1tob3Jpem9udGFsUmVzb2x1dGlvblVuaXRdIHx8ICdQUEknIGFzIGFueSxcblx0XHRcdHdpZHRoVW5pdDogTUVBU1VSRU1FTlRfVU5JVFNbd2lkdGhVbml0XSB8fCAnSW5jaGVzJyBhcyBhbnksXG5cdFx0XHR2ZXJ0aWNhbFJlc29sdXRpb24sXG5cdFx0XHR2ZXJ0aWNhbFJlc29sdXRpb25Vbml0OiBSRVNPTFVUSU9OX1VOSVRTW3ZlcnRpY2FsUmVzb2x1dGlvblVuaXRdIHx8ICdQUEknIGFzIGFueSxcblx0XHRcdGhlaWdodFVuaXQ6IE1FQVNVUkVNRU5UX1VOSVRTW2hlaWdodFVuaXRdIHx8ICdJbmNoZXMnIGFzIGFueSxcblx0XHR9O1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBpbmZvID0gdGFyZ2V0LnJlc29sdXRpb25JbmZvITtcblxuXHRcdHdyaXRlRml4ZWRQb2ludDMyKHdyaXRlciwgaW5mby5ob3Jpem9udGFsUmVzb2x1dGlvbiB8fCAwKTtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIE1hdGgubWF4KDEsIFJFU09MVVRJT05fVU5JVFMuaW5kZXhPZihpbmZvLmhvcml6b250YWxSZXNvbHV0aW9uVW5pdCkpKTtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIE1hdGgubWF4KDEsIE1FQVNVUkVNRU5UX1VOSVRTLmluZGV4T2YoaW5mby53aWR0aFVuaXQpKSk7XG5cdFx0d3JpdGVGaXhlZFBvaW50MzIod3JpdGVyLCBpbmZvLnZlcnRpY2FsUmVzb2x1dGlvbiB8fCAwKTtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIE1hdGgubWF4KDEsIFJFU09MVVRJT05fVU5JVFMuaW5kZXhPZihpbmZvLnZlcnRpY2FsUmVzb2x1dGlvblVuaXQpKSk7XG5cdFx0d3JpdGVVaW50MTYod3JpdGVyLCBNYXRoLm1heCgxLCBNRUFTVVJFTUVOVF9VTklUUy5pbmRleE9mKGluZm8uaGVpZ2h0VW5pdCkpKTtcblx0fSxcbik7XG5cbmNvbnN0IHByaW50U2NhbGVTdHlsZXMgPSBbJ2NlbnRlcmVkJywgJ3NpemUgdG8gZml0JywgJ3VzZXIgZGVmaW5lZCddO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDYyLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnByaW50U2NhbGUgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0dGFyZ2V0LnByaW50U2NhbGUgPSB7XG5cdFx0XHRzdHlsZTogcHJpbnRTY2FsZVN0eWxlc1tyZWFkSW50MTYocmVhZGVyKV0gYXMgYW55LFxuXHRcdFx0eDogcmVhZEZsb2F0MzIocmVhZGVyKSxcblx0XHRcdHk6IHJlYWRGbG9hdDMyKHJlYWRlciksXG5cdFx0XHRzY2FsZTogcmVhZEZsb2F0MzIocmVhZGVyKSxcblx0XHR9O1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCB7IHN0eWxlLCB4LCB5LCBzY2FsZSB9ID0gdGFyZ2V0LnByaW50U2NhbGUhO1xuXHRcdHdyaXRlSW50MTYod3JpdGVyLCBNYXRoLm1heCgwLCBwcmludFNjYWxlU3R5bGVzLmluZGV4T2Yoc3R5bGUhKSkpO1xuXHRcdHdyaXRlRmxvYXQzMih3cml0ZXIsIHggfHwgMCk7XG5cdFx0d3JpdGVGbG9hdDMyKHdyaXRlciwgeSB8fCAwKTtcblx0XHR3cml0ZUZsb2F0MzIod3JpdGVyLCBzY2FsZSB8fCAwKTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMDYsXG5cdHRhcmdldCA9PiB0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0dGFyZ2V0LmFscGhhQ2hhbm5lbE5hbWVzID0gW107XG5cblx0XHR3aGlsZSAobGVmdCgpKSB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IHJlYWRQYXNjYWxTdHJpbmcocmVhZGVyLCAxKTtcblx0XHRcdHRhcmdldC5hbHBoYUNoYW5uZWxOYW1lcy5wdXNoKHZhbHVlKTtcblx0XHR9XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGZvciAoY29uc3QgbmFtZSBvZiB0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMhKSB7XG5cdFx0XHR3cml0ZVBhc2NhbFN0cmluZyh3cml0ZXIsIG5hbWUsIDEpO1xuXHRcdH1cblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNDUsXG5cdHRhcmdldCA9PiB0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0dGFyZ2V0LmFscGhhQ2hhbm5lbE5hbWVzID0gW107XG5cblx0XHR3aGlsZSAobGVmdCgpKSB7XG5cdFx0XHR0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMucHVzaChyZWFkVW5pY29kZVN0cmluZyhyZWFkZXIpKTtcblx0XHR9XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGZvciAoY29uc3QgbmFtZSBvZiB0YXJnZXQuYWxwaGFDaGFubmVsTmFtZXMhKSB7XG5cdFx0XHR3cml0ZVVuaWNvZGVTdHJpbmdXaXRoUGFkZGluZyh3cml0ZXIsIG5hbWUpO1xuXHRcdH1cblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTA3Nyxcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDc3ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDc3JywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTA3NyA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTA3Nyk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDUzLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmFscGhhSWRlbnRpZmllcnMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0dGFyZ2V0LmFscGhhSWRlbnRpZmllcnMgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkgPj0gNCkge1xuXHRcdFx0dGFyZ2V0LmFscGhhSWRlbnRpZmllcnMucHVzaChyZWFkVWludDMyKHJlYWRlcikpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBpZCBvZiB0YXJnZXQuYWxwaGFJZGVudGlmaWVycyEpIHtcblx0XHRcdHdyaXRlVWludDMyKHdyaXRlciwgaWQpO1xuXHRcdH1cblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMTAsXG5cdHRhcmdldCA9PiB0YXJnZXQuYmFja2dyb3VuZENvbG9yICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4gdGFyZ2V0LmJhY2tncm91bmRDb2xvciA9IHJlYWRDb2xvcihyZWFkZXIpLFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHdyaXRlQ29sb3Iod3JpdGVyLCB0YXJnZXQuYmFja2dyb3VuZENvbG9yISksXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDM3LFxuXHR0YXJnZXQgPT4gdGFyZ2V0Lmdsb2JhbEFuZ2xlICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4gdGFyZ2V0Lmdsb2JhbEFuZ2xlID0gcmVhZFVpbnQzMihyZWFkZXIpLFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHdyaXRlVWludDMyKHdyaXRlciwgdGFyZ2V0Lmdsb2JhbEFuZ2xlISksXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDQ5LFxuXHR0YXJnZXQgPT4gdGFyZ2V0Lmdsb2JhbEFsdGl0dWRlICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4gdGFyZ2V0Lmdsb2JhbEFsdGl0dWRlID0gcmVhZFVpbnQzMihyZWFkZXIpLFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHdyaXRlVWludDMyKHdyaXRlciwgdGFyZ2V0Lmdsb2JhbEFsdGl0dWRlISksXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDExLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnByaW50RmxhZ3MgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0dGFyZ2V0LnByaW50RmxhZ3MgPSB7XG5cdFx0XHRsYWJlbHM6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHRjcm9wTWFya3M6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHRjb2xvckJhcnM6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHRyZWdpc3RyYXRpb25NYXJrczogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdG5lZ2F0aXZlOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0ZmxpcDogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdGludGVycG9sYXRlOiAhIXJlYWRVaW50OChyZWFkZXIpLFxuXHRcdFx0Y2FwdGlvbjogISFyZWFkVWludDgocmVhZGVyKSxcblx0XHRcdHByaW50RmxhZ3M6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0fTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgZmxhZ3MgPSB0YXJnZXQucHJpbnRGbGFncyE7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLmxhYmVscyA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MuY3JvcE1hcmtzID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5jb2xvckJhcnMgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLnJlZ2lzdHJhdGlvbk1hcmtzID8gMSA6IDApO1xuXHRcdHdyaXRlVWludDgod3JpdGVyLCBmbGFncy5uZWdhdGl2ZSA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MuZmxpcCA/IDEgOiAwKTtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgZmxhZ3MuaW50ZXJwb2xhdGUgPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLmNhcHRpb24gPyAxIDogMCk7XG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIGZsYWdzLnByaW50RmxhZ3MgPyAxIDogMCk7XG5cdH0sXG4pO1xuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwMDAwLCAvLyBQcmludCBmbGFnc1xuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMDAwICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDAwMCcsIGxlZnQoKSk7XG5cdFx0KHRhcmdldCBhcyBhbnkpLl9pcjEwMDAwID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDAwMCk7XG5cdH0sXG4pO1xuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwMTMsIC8vIENvbG9yIGhhbGZ0b25pbmdcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDEzICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDEzJywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTAxMyA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTAxMyk7XG5cdH0sXG4pO1xuXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDEwMTYsIC8vIENvbG9yIHRyYW5zZmVyIGZ1bmN0aW9uc1xuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjEwMTYgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0TE9HX01PQ0tfSEFORExFUlMgJiYgY29uc29sZS5sb2coJ2ltYWdlIHJlc291cmNlIDEwMTYnLCBsZWZ0KCkpO1xuXHRcdCh0YXJnZXQgYXMgYW55KS5faXIxMDE2ID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXIxMDE2KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMjQsXG5cdHRhcmdldCA9PiB0YXJnZXQubGF5ZXJTdGF0ZSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQpID0+IHRhcmdldC5sYXllclN0YXRlID0gcmVhZFVpbnQxNihyZWFkZXIpLFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHdyaXRlVWludDE2KHdyaXRlciwgdGFyZ2V0LmxheWVyU3RhdGUhKSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMjYsXG5cdHRhcmdldCA9PiB0YXJnZXQubGF5ZXJzR3JvdXAgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0dGFyZ2V0LmxheWVyc0dyb3VwID0gW107XG5cblx0XHR3aGlsZSAobGVmdCgpKSB7XG5cdFx0XHR0YXJnZXQubGF5ZXJzR3JvdXAucHVzaChyZWFkVWludDE2KHJlYWRlcikpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Zm9yIChjb25zdCBnIG9mIHRhcmdldC5sYXllcnNHcm91cCEpIHtcblx0XHRcdHdyaXRlVWludDE2KHdyaXRlciwgZyk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA3Mixcblx0dGFyZ2V0ID0+IHRhcmdldC5sYXllckdyb3Vwc0VuYWJsZWRJZCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQubGF5ZXJHcm91cHNFbmFibGVkSWQgPSBbXTtcblxuXHRcdHdoaWxlIChsZWZ0KCkpIHtcblx0XHRcdHRhcmdldC5sYXllckdyb3Vwc0VuYWJsZWRJZC5wdXNoKHJlYWRVaW50OChyZWFkZXIpKTtcblx0XHR9XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGZvciAoY29uc3QgaWQgb2YgdGFyZ2V0LmxheWVyR3JvdXBzRW5hYmxlZElkISkge1xuXHRcdFx0d3JpdGVVaW50OCh3cml0ZXIsIGlkKTtcblx0XHR9XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDY5LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmxheWVyU2VsZWN0aW9uSWRzICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGxldCBjb3VudCA9IHJlYWRVaW50MTYocmVhZGVyKTtcblx0XHR0YXJnZXQubGF5ZXJTZWxlY3Rpb25JZHMgPSBbXTtcblxuXHRcdHdoaWxlIChjb3VudC0tKSB7XG5cdFx0XHR0YXJnZXQubGF5ZXJTZWxlY3Rpb25JZHMucHVzaChyZWFkVWludDMyKHJlYWRlcikpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVVaW50MTYod3JpdGVyLCB0YXJnZXQubGF5ZXJTZWxlY3Rpb25JZHMhLmxlbmd0aCk7XG5cblx0XHRmb3IgKGNvbnN0IGlkIG9mIHRhcmdldC5sYXllclNlbGVjdGlvbklkcyEpIHtcblx0XHRcdHdyaXRlVWludDMyKHdyaXRlciwgaWQpO1xuXHRcdH1cblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwMzIsXG5cdHRhcmdldCA9PiB0YXJnZXQuZ3JpZEFuZEd1aWRlc0luZm9ybWF0aW9uICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IHZlcnNpb24gPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0Y29uc3QgaG9yaXpvbnRhbCA9IHJlYWRVaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCB2ZXJ0aWNhbCA9IHJlYWRVaW50MzIocmVhZGVyKTtcblx0XHRjb25zdCBjb3VudCA9IHJlYWRVaW50MzIocmVhZGVyKTtcblxuXHRcdGlmICh2ZXJzaW9uICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgMTAzMiByZXNvdXJjZSB2ZXJzaW9uOiAke3ZlcnNpb259YCk7XG5cblx0XHR0YXJnZXQuZ3JpZEFuZEd1aWRlc0luZm9ybWF0aW9uID0ge1xuXHRcdFx0Z3JpZDogeyBob3Jpem9udGFsLCB2ZXJ0aWNhbCB9LFxuXHRcdFx0Z3VpZGVzOiBbXSxcblx0XHR9O1xuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG5cdFx0XHR0YXJnZXQuZ3JpZEFuZEd1aWRlc0luZm9ybWF0aW9uLmd1aWRlcyEucHVzaCh7XG5cdFx0XHRcdGxvY2F0aW9uOiByZWFkVWludDMyKHJlYWRlcikgLyAzMixcblx0XHRcdFx0ZGlyZWN0aW9uOiByZWFkVWludDgocmVhZGVyKSA/ICdob3Jpem9udGFsJyA6ICd2ZXJ0aWNhbCdcblx0XHRcdH0pO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0Y29uc3QgaW5mbyA9IHRhcmdldC5ncmlkQW5kR3VpZGVzSW5mb3JtYXRpb24hO1xuXHRcdGNvbnN0IGdyaWQgPSBpbmZvLmdyaWQgfHwgeyBob3Jpem9udGFsOiAxOCAqIDMyLCB2ZXJ0aWNhbDogMTggKiAzMiB9O1xuXHRcdGNvbnN0IGd1aWRlcyA9IGluZm8uZ3VpZGVzIHx8IFtdO1xuXG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCAxKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGdyaWQuaG9yaXpvbnRhbCk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCBncmlkLnZlcnRpY2FsKTtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIGd1aWRlcy5sZW5ndGgpO1xuXG5cdFx0Zm9yIChjb25zdCBnIG9mIGd1aWRlcykge1xuXHRcdFx0d3JpdGVVaW50MzIod3JpdGVyLCBnLmxvY2F0aW9uICogMzIpO1xuXHRcdFx0d3JpdGVVaW50OCh3cml0ZXIsIGcuZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyAxIDogMCk7XG5cdFx0fVxuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA1NCxcblx0dGFyZ2V0ID0+IHRhcmdldC51cmxzTGlzdCAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIF8sIG9wdGlvbnMpID0+IHtcblx0XHRjb25zdCBjb3VudCA9IHJlYWRVaW50MzIocmVhZGVyKTtcblxuXHRcdGlmIChjb3VudCkge1xuXHRcdFx0aWYgKCFvcHRpb25zLnRocm93Rm9yTWlzc2luZ0ZlYXR1cmVzKSByZXR1cm47XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ05vdCBpbXBsZW1lbnRlZDogVVJMIExpc3QnKTtcblx0XHR9XG5cblx0XHQvLyBUT0RPOiByZWFkIGFjdHVhbCBVUkwgbGlzdFxuXHRcdHRhcmdldC51cmxzTGlzdCA9IFtdO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIHRhcmdldC51cmxzTGlzdCEubGVuZ3RoKTtcblxuXHRcdC8vIFRPRE86IHdyaXRlIGFjdHVhbCBVUkwgbGlzdFxuXHRcdGlmICh0YXJnZXQudXJsc0xpc3QhLmxlbmd0aCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdOb3QgaW1wbGVtZW50ZWQ6IFVSTCBMaXN0Jyk7XG5cdFx0fVxuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDUwLCAvLyBTbGljZXNcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDUwICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDUwJywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTA1MCA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTA1MCk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDY0LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnBpeGVsQXNwZWN0UmF0aW8gIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0aWYgKHJlYWRVaW50MzIocmVhZGVyKSA+IDIpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBwaXhlbEFzcGVjdFJhdGlvIHZlcnNpb24nKTtcblx0XHR0YXJnZXQucGl4ZWxBc3BlY3RSYXRpbyA9IHsgYXNwZWN0OiByZWFkRmxvYXQ2NChyZWFkZXIpIH07XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgMik7IC8vIHZlcnNpb25cblx0XHR3cml0ZUZsb2F0NjQod3JpdGVyLCB0YXJnZXQucGl4ZWxBc3BlY3RSYXRpbyEuYXNwZWN0KTtcblx0fSxcbik7XG5cbmFkZEhhbmRsZXIoXG5cdDEwNDEsXG5cdHRhcmdldCA9PiB0YXJnZXQuaWNjVW50YWdnZWRQcm9maWxlICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCkgPT4ge1xuXHRcdHRhcmdldC5pY2NVbnRhZ2dlZFByb2ZpbGUgPSAhIXJlYWRVaW50OChyZWFkZXIpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZVVpbnQ4KHdyaXRlciwgdGFyZ2V0LmljY1VudGFnZ2VkUHJvZmlsZSA/IDEgOiAwKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAzOSwgLy8gSUNDIFByb2ZpbGVcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDM5ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDM5JywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTAzOSA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTAzOSk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDQ0LFxuXHR0YXJnZXQgPT4gdGFyZ2V0Lmlkc1NlZWROdW1iZXIgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0KSA9PiB0YXJnZXQuaWRzU2VlZE51bWJlciA9IHJlYWRVaW50MzIocmVhZGVyKSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB3cml0ZVVpbnQzMih3cml0ZXIsIHRhcmdldC5pZHNTZWVkTnVtYmVyISksXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQxMDM2LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnRodW1ibmFpbCAhPT0gdW5kZWZpbmVkIHx8IHRhcmdldC50aHVtYm5haWxSYXcgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0LCBvcHRpb25zKSA9PiB7XG5cdFx0Y29uc3QgZm9ybWF0ID0gcmVhZFVpbnQzMihyZWFkZXIpOyAvLyAxID0ga0pwZWdSR0IsIDAgPSBrUmF3UkdCXG5cdFx0Y29uc3Qgd2lkdGggPSByZWFkVWludDMyKHJlYWRlcik7XG5cdFx0Y29uc3QgaGVpZ2h0ID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdHJlYWRVaW50MzIocmVhZGVyKTsgLy8gd2lkdGhCeXRlcyA9ICh3aWR0aCAqIGJpdHNfcGVyX3BpeGVsICsgMzEpIC8gMzIgKiA0LlxuXHRcdHJlYWRVaW50MzIocmVhZGVyKTsgLy8gdG90YWxTaXplID0gd2lkdGhCeXRlcyAqIGhlaWdodCAqIHBsYW5lc1xuXHRcdHJlYWRVaW50MzIocmVhZGVyKTsgLy8gc2l6ZUFmdGVyQ29tcHJlc3Npb25cblx0XHRjb25zdCBiaXRzUGVyUGl4ZWwgPSByZWFkVWludDE2KHJlYWRlcik7IC8vIDI0XG5cdFx0Y29uc3QgcGxhbmVzID0gcmVhZFVpbnQxNihyZWFkZXIpOyAvLyAxXG5cblx0XHRpZiAoZm9ybWF0ICE9PSAxIHx8IGJpdHNQZXJQaXhlbCAhPT0gMjQgfHwgcGxhbmVzICE9PSAxKSB7XG5cdFx0XHRvcHRpb25zLmxvZ01pc3NpbmdGZWF0dXJlcyAmJiBjb25zb2xlLmxvZyhgSW52YWxpZCB0aHVtYm5haWwgZGF0YSAoZm9ybWF0OiAke2Zvcm1hdH0sIGJpdHNQZXJQaXhlbDogJHtiaXRzUGVyUGl4ZWx9LCBwbGFuZXM6ICR7cGxhbmVzfSlgKTtcblx0XHRcdHNraXBCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc2l6ZSA9IGxlZnQoKTtcblx0XHRjb25zdCBkYXRhID0gcmVhZEJ5dGVzKHJlYWRlciwgc2l6ZSk7XG5cblx0XHRpZiAob3B0aW9ucy51c2VSYXdUaHVtYm5haWwpIHtcblx0XHRcdHRhcmdldC50aHVtYm5haWxSYXcgPSB7IHdpZHRoLCBoZWlnaHQsIGRhdGEgfTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGFyZ2V0LnRodW1ibmFpbCA9IGNyZWF0ZUNhbnZhc0Zyb21EYXRhKGRhdGEpO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0bGV0IHdpZHRoID0gMDtcblx0XHRsZXQgaGVpZ2h0ID0gMDtcblx0XHRsZXQgZGF0YTogVWludDhBcnJheTtcblxuXHRcdGlmICh0YXJnZXQudGh1bWJuYWlsUmF3KSB7XG5cdFx0XHR3aWR0aCA9IHRhcmdldC50aHVtYm5haWxSYXcud2lkdGg7XG5cdFx0XHRoZWlnaHQgPSB0YXJnZXQudGh1bWJuYWlsUmF3LmhlaWdodDtcblx0XHRcdGRhdGEgPSB0YXJnZXQudGh1bWJuYWlsUmF3LmRhdGE7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmICghdGFyZ2V0LnRodW1ibmFpbCkgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nIHRodW1ibmFpbCcpO1xuXHRcdFx0d2lkdGggPSB0YXJnZXQudGh1bWJuYWlsLndpZHRoO1xuXHRcdFx0aGVpZ2h0ID0gdGFyZ2V0LnRodW1ibmFpbC5oZWlnaHQ7XG5cdFx0XHRkYXRhID0gdG9CeXRlQXJyYXkodGFyZ2V0LnRodW1ibmFpbC50b0RhdGFVUkwoJ2ltYWdlL2pwZWcnLCAxKS5zdWJzdHIoJ2RhdGE6aW1hZ2UvanBlZztiYXNlNjQsJy5sZW5ndGgpKTtcblx0XHR9XG5cblx0XHRjb25zdCBiaXRzUGVyUGl4ZWwgPSAyNDtcblx0XHRjb25zdCB3aWR0aEJ5dGVzID0gTWF0aC5mbG9vcigod2lkdGggKiBiaXRzUGVyUGl4ZWwgKyAzMSkgLyAzMikgKiA0O1xuXHRcdGNvbnN0IHBsYW5lcyA9IDE7XG5cdFx0Y29uc3QgdG90YWxTaXplID0gd2lkdGhCeXRlcyAqIGhlaWdodCAqIHBsYW5lcztcblx0XHRjb25zdCBzaXplQWZ0ZXJDb21wcmVzc2lvbiA9IGRhdGEubGVuZ3RoO1xuXG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCAxKTsgLy8gMSA9IGtKcGVnUkdCXG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB3aWR0aCk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCBoZWlnaHQpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgd2lkdGhCeXRlcyk7XG5cdFx0d3JpdGVVaW50MzIod3JpdGVyLCB0b3RhbFNpemUpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgc2l6ZUFmdGVyQ29tcHJlc3Npb24pO1xuXHRcdHdyaXRlVWludDE2KHdyaXRlciwgYml0c1BlclBpeGVsKTtcblx0XHR3cml0ZVVpbnQxNih3cml0ZXIsIHBsYW5lcyk7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsIGRhdGEpO1xuXHR9LFxuKTtcblxuYWRkSGFuZGxlcihcblx0MTA1Nyxcblx0dGFyZ2V0ID0+IHRhcmdldC52ZXJzaW9uSW5mbyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdGlmICh2ZXJzaW9uICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmVyc2lvbkluZm8gdmVyc2lvbicpO1xuXG5cdFx0dGFyZ2V0LnZlcnNpb25JbmZvID0ge1xuXHRcdFx0aGFzUmVhbE1lcmdlZERhdGE6ICEhcmVhZFVpbnQ4KHJlYWRlciksXG5cdFx0XHR3cml0ZXJOYW1lOiByZWFkVW5pY29kZVN0cmluZyhyZWFkZXIpLFxuXHRcdFx0cmVhZGVyTmFtZTogcmVhZFVuaWNvZGVTdHJpbmcocmVhZGVyKSxcblx0XHRcdGZpbGVWZXJzaW9uOiByZWFkVWludDMyKHJlYWRlciksXG5cdFx0fTtcblxuXHRcdHNraXBCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdGNvbnN0IHZlcnNpb25JbmZvID0gdGFyZ2V0LnZlcnNpb25JbmZvITtcblx0XHR3cml0ZVVpbnQzMih3cml0ZXIsIDEpOyAvLyB2ZXJzaW9uXG5cdFx0d3JpdGVVaW50OCh3cml0ZXIsIHZlcnNpb25JbmZvLmhhc1JlYWxNZXJnZWREYXRhID8gMSA6IDApO1xuXHRcdHdyaXRlVW5pY29kZVN0cmluZyh3cml0ZXIsIHZlcnNpb25JbmZvLndyaXRlck5hbWUpO1xuXHRcdHdyaXRlVW5pY29kZVN0cmluZyh3cml0ZXIsIHZlcnNpb25JbmZvLnJlYWRlck5hbWUpO1xuXHRcdHdyaXRlVWludDMyKHdyaXRlciwgdmVyc2lvbkluZm8uZmlsZVZlcnNpb24pO1xuXHR9LFxuKTtcblxuTU9DS19IQU5ETEVSUyAmJiBhZGRIYW5kbGVyKFxuXHQxMDU4LCAvLyBFWElGIGRhdGEgMS5cblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDU4ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDU4JywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTA1OCA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTA1OCk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQ3MDAwLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmltYWdlUmVhZHlWYXJpYWJsZXMgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0KSA9PiB7XG5cdFx0dGFyZ2V0LmltYWdlUmVhZHlWYXJpYWJsZXMgPSByZWFkVXRmOFN0cmluZyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlVXRmOFN0cmluZyh3cml0ZXIsIHRhcmdldC5pbWFnZVJlYWR5VmFyaWFibGVzISk7XG5cdH0sXG4pO1xuXG5hZGRIYW5kbGVyKFxuXHQ3MDAxLFxuXHR0YXJnZXQgPT4gdGFyZ2V0LmltYWdlUmVhZHlEYXRhU2V0cyAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIGxlZnQpID0+IHtcblx0XHR0YXJnZXQuaW1hZ2VSZWFkeURhdGFTZXRzID0gcmVhZFV0ZjhTdHJpbmcocmVhZGVyLCBsZWZ0KCkpO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHR3cml0ZVV0ZjhTdHJpbmcod3JpdGVyLCB0YXJnZXQuaW1hZ2VSZWFkeURhdGFTZXRzISk7XG5cdH0sXG4pO1xuXG5pbnRlcmZhY2UgRGVzY3JpcHRvcjEwODgge1xuXHQnbnVsbCc6IHN0cmluZ1tdO1xufVxuXG5hZGRIYW5kbGVyKFxuXHQxMDg4LFxuXHR0YXJnZXQgPT4gdGFyZ2V0LnBhdGhTZWxlY3Rpb25TdGF0ZSAhPT0gdW5kZWZpbmVkLFxuXHQocmVhZGVyLCB0YXJnZXQsIF9sZWZ0KSA9PiB7XG5cdFx0Y29uc3QgZGVzYzogRGVzY3JpcHRvcjEwODggPSByZWFkVmVyc2lvbkFuZERlc2NyaXB0b3IocmVhZGVyKTtcblx0XHQvLyBjb25zb2xlLmxvZyhyZXF1aXJlKCd1dGlsJykuaW5zcGVjdChkZXNjLCBmYWxzZSwgOTksIHRydWUpKTtcblx0XHR0YXJnZXQucGF0aFNlbGVjdGlvblN0YXRlID0gZGVzY1snbnVsbCddO1xuXHR9LFxuXHQod3JpdGVyLCB0YXJnZXQpID0+IHtcblx0XHRjb25zdCBkZXNjOiBEZXNjcmlwdG9yMTA4OCA9IHsgJ251bGwnOiB0YXJnZXQucGF0aFNlbGVjdGlvblN0YXRlISB9O1xuXHRcdHdyaXRlVmVyc2lvbkFuZERlc2NyaXB0b3Iod3JpdGVyLCAnJywgJ251bGwnLCBkZXNjKTtcblx0fSxcbik7XG5cbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0MTAyNSxcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXIxMDI1ICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSAxMDI1JywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyMTAyNSA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyMTAyNSk7XG5cdH0sXG4pO1xuXG5jb25zdCBGcm1EID0gY3JlYXRlRW51bTwnYXV0bycgfCAnbm9uZScgfCAnZGlzcG9zZSc+KCdGcm1EJywgJycsIHtcblx0YXV0bzogJ0F1dG8nLFxuXHRub25lOiAnTm9uZScsXG5cdGRpc3Bvc2U6ICdEaXNwJyxcbn0pO1xuXG5pbnRlcmZhY2UgQW5pbWF0aW9uRGVzY3JpcHRvciB7XG5cdEFGU3Q6IG51bWJlcjtcblx0RnJJbjoge1xuXHRcdEZySUQ6IG51bWJlcjtcblx0XHRGckRsOiBudW1iZXI7XG5cdFx0RnJEczogc3RyaW5nO1xuXHRcdEZyR0E/OiBudW1iZXI7XG5cdH1bXTtcblx0RlN0czoge1xuXHRcdEZzSUQ6IG51bWJlcjtcblx0XHRBRnJtOiBudW1iZXI7XG5cdFx0RnNGcjogbnVtYmVyW107XG5cdFx0TENudDogbnVtYmVyO1xuXHR9W107XG59XG5cbmludGVyZmFjZSBBbmltYXRpb25zIHtcblx0ZnJhbWVzOiB7XG5cdFx0aWQ6IG51bWJlcjtcblx0XHRkZWxheTogbnVtYmVyO1xuXHRcdGRpc3Bvc2U/OiAnYXV0bycgfCAnbm9uZScgfCAnZGlzcG9zZSc7XG5cdH1bXTtcblx0YW5pbWF0aW9uczoge1xuXHRcdGlkOiBudW1iZXI7XG5cdFx0ZnJhbWVzOiBudW1iZXJbXTtcblx0XHRyZXBlYXRzPzogbnVtYmVyO1xuXHR9W107XG59XG5cbi8vIFRPRE86IFVuZmluaXNoZWRcbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0NDAwMCwgLy8gUGx1Zy1JbiByZXNvdXJjZShzKVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjQwMDAgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0LCB7IGxvZ01pc3NpbmdGZWF0dXJlcywgbG9nRGV2RmVhdHVyZXMgfSkgPT4ge1xuXHRcdGlmIChNT0NLX0hBTkRMRVJTKSB7XG5cdFx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgNDAwMCcsIGxlZnQoKSk7XG5cdFx0XHQodGFyZ2V0IGFzIGFueSkuX2lyNDAwMCA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qga2V5ID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0aWYgKGtleSA9PT0gJ21hbmknKSB7XG5cdFx0XHRjaGVja1NpZ25hdHVyZShyZWFkZXIsICdJUkZSJyk7XG5cdFx0XHRyZWFkU2VjdGlvbihyZWFkZXIsIDEsIGxlZnQgPT4ge1xuXHRcdFx0XHR3aGlsZSAobGVmdCgpKSB7XG5cdFx0XHRcdFx0Y2hlY2tTaWduYXR1cmUocmVhZGVyLCAnOEJJTScpO1xuXHRcdFx0XHRcdGNvbnN0IGtleSA9IHJlYWRTaWduYXR1cmUocmVhZGVyKTtcblxuXHRcdFx0XHRcdHJlYWRTZWN0aW9uKHJlYWRlciwgMSwgbGVmdCA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoa2V5ID09PSAnQW5EcycpIHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgZGVzYyA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpIGFzIEFuaW1hdGlvbkRlc2NyaXB0b3I7XG5cdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKCdBbkRzJywgZGVzYyk7XG5cdFx0XHRcdFx0XHRcdGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzJywgZGVzYyk7XG5cdFx0XHRcdFx0XHRcdC8vIGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzJywgcmVxdWlyZSgndXRpbCcpLmluc3BlY3QoZGVzYywgZmFsc2UsIDk5LCB0cnVlKSk7XG5cblx0XHRcdFx0XHRcdFx0Y29uc3QgcmVzdWx0OiBBbmltYXRpb25zID0ge1xuXHRcdFx0XHRcdFx0XHRcdC8vIGRlc2MuQUZTdCA/Pz9cblx0XHRcdFx0XHRcdFx0XHRmcmFtZXM6IGRlc2MuRnJJbi5tYXAoeCA9PiAoe1xuXHRcdFx0XHRcdFx0XHRcdFx0aWQ6IHguRnJJRCxcblx0XHRcdFx0XHRcdFx0XHRcdGRlbGF5OiB4LkZyRGwgLyAxMDAsXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwb3NlOiB4LkZyRHMgPyBGcm1ELmRlY29kZSh4LkZyRHMpIDogJ2F1dG8nLCAvLyBtaXNzaW5nID09IGF1dG9cblx0XHRcdFx0XHRcdFx0XHRcdC8vIHguRnJHQSA/Pz9cblx0XHRcdFx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0XHRcdFx0YW5pbWF0aW9uczogZGVzYy5GU3RzLm1hcCh4ID0+ICh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZDogeC5Gc0lELFxuXHRcdFx0XHRcdFx0XHRcdFx0ZnJhbWVzOiB4LkZzRnIsXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXBlYXRzOiB4LkxDbnQsXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB4LkFGcm0gPz8/XG5cdFx0XHRcdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0XHRcdGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzOnJlc3VsdCcsIHJlc3VsdCk7XG5cdFx0XHRcdFx0XHRcdC8vIGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzOnJlc3VsdCcsIHJlcXVpcmUoJ3V0aWwnKS5pbnNwZWN0KHJlc3VsdCwgZmFsc2UsIDk5LCB0cnVlKSk7XG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ1JvbGwnKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGJ5dGVzID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdFx0XHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIFJvbGwnLCBieXRlcyk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRsb2dNaXNzaW5nRmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ1VuaGFuZGxlZCBzdWJzZWN0aW9uIGluICM0MDAwJywga2V5KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdtb3B0Jykge1xuXHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIG1vcHQnLCBieXRlcyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGxvZ01pc3NpbmdGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnVW5oYW5kbGVkIGtleSBpbiAjNDAwMDonLCBrZXkpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXI0MDAwKTtcblx0fSxcbik7XG5cbi8vIFRPRE86IFVuZmluaXNoZWRcbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0NDAwMSwgLy8gUGx1Zy1JbiByZXNvdXJjZShzKVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjQwMDEgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0LCB7IGxvZ01pc3NpbmdGZWF0dXJlcywgbG9nRGV2RmVhdHVyZXMgfSkgPT4ge1xuXHRcdGlmIChNT0NLX0hBTkRMRVJTKSB7XG5cdFx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgNDAwMScsIGxlZnQoKSk7XG5cdFx0XHQodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qga2V5ID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0aWYgKGtleSA9PT0gJ21mcmknKSB7XG5cdFx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0aWYgKHZlcnNpb24gIT09IDIpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtZnJpIHZlcnNpb24nKTtcblxuXHRcdFx0Y29uc3QgbGVuZ3RoID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZW5ndGgpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ21mcmknLCBieXRlcyk7XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdtc2V0Jykge1xuXHRcdFx0Y29uc3QgZGVzYyA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ21zZXQnLCBkZXNjKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bG9nTWlzc2luZ0ZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCdVbmhhbmRsZWQga2V5IGluICM0MDAxJywga2V5KTtcblx0XHR9XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSk7XG5cdH0sXG4pO1xuIl0sInNvdXJjZVJvb3QiOiJEOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
package/dist/psd.d.ts CHANGED
@@ -644,6 +644,7 @@ export interface PlacedLayer {
644
644
  placed?: string;
645
645
  type: PlacedLayerType;
646
646
  transform: number[];
647
+ nonAffineTransform?: number[];
647
648
  width?: number;
648
649
  height?: number;
649
650
  resolution?: UnitsValue;
package/dist/psd.js CHANGED
@@ -20,4 +20,4 @@ var SectionDividerType;
20
20
  SectionDividerType[SectionDividerType["BoundingSectionDivider"] = 3] = "BoundingSectionDivider";
21
21
  })(SectionDividerType = exports.SectionDividerType || (exports.SectionDividerType = {}));
22
22
 
23
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBzZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxJQUFrQixTQVNqQjtBQVRELFdBQWtCLFNBQVM7SUFDMUIsNkNBQVUsQ0FBQTtJQUNWLG1EQUFhLENBQUE7SUFDYiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7SUFDUix5REFBZ0IsQ0FBQTtJQUNoQiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtBQUNSLENBQUMsRUFUaUIsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFTMUI7QUFFRCxJQUFrQixrQkFLakI7QUFMRCxXQUFrQixrQkFBa0I7SUFDbkMsNkRBQVMsQ0FBQTtJQUNULHVFQUFjLENBQUE7SUFDZCwyRUFBZ0IsQ0FBQTtJQUNoQiwrRkFBMEIsQ0FBQTtBQUMzQixDQUFDLEVBTGlCLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBS25DIiwiZmlsZSI6InBzZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJsZW5kTW9kZSA9ICdwYXNzIHRocm91Z2gnIHwgJ25vcm1hbCcgfCAnZGlzc29sdmUnIHwgJ2RhcmtlbicgfCAnbXVsdGlwbHknIHxcblx0J2NvbG9yIGJ1cm4nIHwgJ2xpbmVhciBidXJuJyB8ICdkYXJrZXIgY29sb3InIHwgJ2xpZ2h0ZW4nIHwgJ3NjcmVlbicgfCAnY29sb3IgZG9kZ2UnIHxcblx0J2xpbmVhciBkb2RnZScgfCAnbGlnaHRlciBjb2xvcicgfCAnb3ZlcmxheScgfCAnc29mdCBsaWdodCcgfCAnaGFyZCBsaWdodCcgfFxuXHQndml2aWQgbGlnaHQnIHwgJ2xpbmVhciBsaWdodCcgfCAncGluIGxpZ2h0JyB8ICdoYXJkIG1peCcgfCAnZGlmZmVyZW5jZScgfCAnZXhjbHVzaW9uJyB8XG5cdCdzdWJ0cmFjdCcgfCAnZGl2aWRlJyB8ICdodWUnIHwgJ3NhdHVyYXRpb24nIHwgJ2NvbG9yJyB8ICdsdW1pbm9zaXR5JztcblxuZXhwb3J0IGNvbnN0IGVudW0gQ29sb3JNb2RlIHtcblx0Qml0bWFwID0gMCxcblx0R3JheXNjYWxlID0gMSxcblx0SW5kZXhlZCA9IDIsXG5cdFJHQiA9IDMsXG5cdENNWUsgPSA0LFxuXHRNdWx0aWNoYW5uZWwgPSA3LFxuXHREdW90b25lID0gOCxcblx0TGFiID0gOSxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gU2VjdGlvbkRpdmlkZXJUeXBlIHtcblx0T3RoZXIgPSAwLFxuXHRPcGVuRm9sZGVyID0gMSxcblx0Q2xvc2VkRm9sZGVyID0gMixcblx0Qm91bmRpbmdTZWN0aW9uRGl2aWRlciA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIFJHQkEgPSB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIFJHQiA9IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIEhTQiA9IHsgaDogbnVtYmVyOyBzOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAxXG5leHBvcnQgdHlwZSBDTVlLID0geyBjOiBudW1iZXI7IG06IG51bWJlcjsgeTogbnVtYmVyOyBrOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBMQUIgPSB7IGw6IG51bWJlcjsgYTogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBgbGAgZnJvbSAwIHRvIDE7IGBhYCBhbmQgYGJgIGZyb20gLTEgdG8gMVxuZXhwb3J0IHR5cGUgR3JheXNjYWxlID0geyBrOiBudW1iZXIgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIENvbG9yID0gUkdCQSB8IFJHQiB8IEhTQiB8IENNWUsgfCBMQUIgfCBHcmF5c2NhbGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0Q29udG91ciB7XG5cdG5hbWU6IHN0cmluZztcblx0Y3VydmU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RQYXR0ZXJuIHtcblx0bmFtZTogc3RyaW5nO1xuXHRpZDogc3RyaW5nO1xuXHQvLyBUT0RPOiBhZGQgZmllbGRzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RTaGFkb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YW50aWFsaWFzZWQ/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlOyAvLyBzcHJlYWRcblx0bGF5ZXJDb25jZWFscz86IGJvb2xlYW47IC8vIG9ubHkgZHJvcCBzaGFkb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdHNPdXRlckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7XG5cdGppdHRlcj86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RJbm5lckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdHRlY2huaXF1ZT86IEdsb3dUZWNobmlxdWU7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7IC8vIHNwcmVhZFxuXHRqaXR0ZXI/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0QmV2ZWwge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0c3RyZW5ndGg/OiBudW1iZXI7IC8vIGRlcHRoXG5cdGhpZ2hsaWdodEJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0c2hhZG93QmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRoaWdobGlnaHRDb2xvcj86IENvbG9yO1xuXHRzaGFkb3dDb2xvcj86IENvbG9yO1xuXHRzdHlsZT86IEJldmVsU3R5bGU7XG5cdGhpZ2hsaWdodE9wYWNpdHk/OiBudW1iZXI7XG5cdHNoYWRvd09wYWNpdHk/OiBudW1iZXI7XG5cdHNvZnRlbj86IFVuaXRzVmFsdWU7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YWx0aXR1ZGU/OiBudW1iZXI7XG5cdHRlY2huaXF1ZT86IEJldmVsVGVjaG5pcXVlO1xuXHRkaXJlY3Rpb24/OiBCZXZlbERpcmVjdGlvbjtcblx0dXNlVGV4dHVyZT86IGJvb2xlYW47XG5cdHVzZVNoYXBlPzogYm9vbGVhbjtcblx0YW50aWFsaWFzR2xvc3M/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFNvbGlkRmlsbCB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U3Ryb2tlIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRvdmVycHJpbnQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0cG9zaXRpb24/OiAnaW5zaWRlJyB8ICdjZW50ZXInIHwgJ291dHNpZGUnO1xuXHRmaWxsVHlwZT86ICdjb2xvcicgfCAnZ3JhZGllbnQnIHwgJ3BhdHRlcm4nO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGdyYWRpZW50PzogKEVmZmVjdFNvbGlkR3JhZGllbnQgfCBFZmZlY3ROb2lzZUdyYWRpZW50KSAmIEV4dHJhR3JhZGllbnRJbmZvO1xuXHRwYXR0ZXJuPzogRWZmZWN0UGF0dGVybiAmIHt9OyAvLyBUT0RPOiBhZGRpdGlvbmFsIHBhdHRlcm4gaW5mb1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U2F0aW4ge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRpbnZlcnQ/OiBib29sZWFuO1xuXHRhbmdsZT86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbi8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXkge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdGJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdHBhdHRlcm4/OiBFZmZlY3RQYXR0ZXJuO1xuXHRwaGFzZT86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG5cdGFsaWduPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RTb2xpZEdyYWRpZW50IHtcblx0bmFtZTogc3RyaW5nO1xuXHR0eXBlOiAnc29saWQnO1xuXHRzbW9vdGhuZXNzPzogbnVtYmVyO1xuXHRjb2xvclN0b3BzOiBDb2xvclN0b3BbXTtcblx0b3BhY2l0eVN0b3BzOiBPcGFjaXR5U3RvcFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVmZmVjdE5vaXNlR3JhZGllbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU6ICdub2lzZSc7XG5cdHJvdWdobmVzcz86IG51bWJlcjtcblx0Y29sb3JNb2RlbD86ICdyZ2InIHwgJ2hzYicgfCAnbGFiJztcblx0cmFuZG9tU2VlZD86IG51bWJlcjtcblx0cmVzdHJpY3RDb2xvcnM/OiBib29sZWFuO1xuXHRhZGRUcmFuc3BhcmVuY3k/OiBib29sZWFuO1xuXHRtaW46IG51bWJlcltdO1xuXHRtYXg6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0R3JhZGllbnRPdmVybGF5IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRibGVuZE1vZGU/OiBzdHJpbmc7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGFsaWduPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRpdGhlcj86IGJvb2xlYW47XG5cdHJldmVyc2U/OiBib29sZWFuO1xuXHR0eXBlPzogR3JhZGllbnRTdHlsZTtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcblx0Z3JhZGllbnQ/OiBFZmZlY3RTb2xpZEdyYWRpZW50IHwgRWZmZWN0Tm9pc2VHcmFkaWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdHNJbmZvIHtcblx0ZGlzYWJsZWQ/OiBib29sZWFuO1xuXHRzY2FsZT86IG51bWJlcjtcblx0ZHJvcFNoYWRvdz86IExheWVyRWZmZWN0U2hhZG93W107XG5cdGlubmVyU2hhZG93PzogTGF5ZXJFZmZlY3RTaGFkb3dbXTtcblx0b3V0ZXJHbG93PzogTGF5ZXJFZmZlY3RzT3V0ZXJHbG93O1xuXHRpbm5lckdsb3c/OiBMYXllckVmZmVjdElubmVyR2xvdztcblx0YmV2ZWw/OiBMYXllckVmZmVjdEJldmVsO1xuXHRzb2xpZEZpbGw/OiBMYXllckVmZmVjdFNvbGlkRmlsbFtdO1xuXHRzYXRpbj86IExheWVyRWZmZWN0U2F0aW47XG5cdHN0cm9rZT86IExheWVyRWZmZWN0U3Ryb2tlW107XG5cdGdyYWRpZW50T3ZlcmxheT86IExheWVyRWZmZWN0R3JhZGllbnRPdmVybGF5W107XG5cdHBhdHRlcm5PdmVybGF5PzogTGF5ZXJFZmZlY3RQYXR0ZXJuT3ZlcmxheTsgLy8gbm90IHN1cHBvcnRlZCB5ZXQgYmVjYXVzZSBvZiBgUGF0dGAgc2VjdGlvbiBub3QgaW1wbGVtZW50ZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllck1hc2tEYXRhIHtcblx0dG9wPzogbnVtYmVyO1xuXHRsZWZ0PzogbnVtYmVyO1xuXHRib3R0b20/OiBudW1iZXI7XG5cdHJpZ2h0PzogbnVtYmVyO1xuXHRkZWZhdWx0Q29sb3I/OiBudW1iZXI7XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0cG9zaXRpb25SZWxhdGl2ZVRvTGF5ZXI/OiBib29sZWFuO1xuXHRmcm9tVmVjdG9yRGF0YT86IGJvb2xlYW47IC8vIHNldCB0byB0cnVlIGlmIHRoZSBtYXNrIGlzIGdlbmVyYXRlZCBmcm9tIHZlY3RvciBkYXRhLCBmYWxzZSBpZiBpdCdzIGEgYml0bWFwIHByb3ZpZGVkIGJ5IHVzZXJcblx0dXNlck1hc2tEZW5zaXR5PzogbnVtYmVyO1xuXHR1c2VyTWFza0ZlYXRoZXI/OiBudW1iZXI7IC8vIHB4XG5cdHZlY3Rvck1hc2tEZW5zaXR5PzogbnVtYmVyO1xuXHR2ZWN0b3JNYXNrRmVhdGhlcj86IG51bWJlcjtcblx0Y2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQ7XG5cdGltYWdlRGF0YT86IEltYWdlRGF0YTtcbn1cblxuZXhwb3J0IHR5cGUgVGV4dEdyaWRkaW5nID0gJ25vbmUnIHwgJ3JvdW5kJzsgLy8gVE9ETzogb3RoZXIgdmFsdWVzIChubyBpZGVhIHdoZXJlIHRvIHNldCBpdCB1cCBpbiBQaG90b3Nob3ApXG5leHBvcnQgdHlwZSBPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5leHBvcnQgdHlwZSBBbnRpQWxpYXMgPSAnbm9uZScgfCAnc2hhcnAnIHwgJ2NyaXNwJyB8ICdzdHJvbmcnIHwgJ3Ntb290aCcgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtTENEJztcbmV4cG9ydCB0eXBlIFdhcnBTdHlsZSA9XG5cdCdub25lJyB8ICdhcmMnIHwgJ2FyY0xvd2VyJyB8ICdhcmNVcHBlcicgfCAnYXJjaCcgfCAnYnVsZ2UnIHwgJ3NoZWxsTG93ZXInIHwgJ3NoZWxsVXBwZXInIHwgJ2ZsYWcnIHxcblx0J3dhdmUnIHwgJ2Zpc2gnIHwgJ3Jpc2UnIHwgJ2Zpc2hleWUnIHwgJ2luZmxhdGUnIHwgJ3NxdWVlemUnIHwgJ3R3aXN0JyB8ICdjdXN0b20nO1xuZXhwb3J0IHR5cGUgQmV2ZWxTdHlsZSA9ICdvdXRlciBiZXZlbCcgfCAnaW5uZXIgYmV2ZWwnIHwgJ2VtYm9zcycgfCAncGlsbG93IGVtYm9zcycgfCAnc3Ryb2tlIGVtYm9zcyc7XG5leHBvcnQgdHlwZSBCZXZlbFRlY2huaXF1ZSA9ICdzbW9vdGgnIHwgJ2NoaXNlbCBoYXJkJyB8ICdjaGlzZWwgc29mdCc7XG5leHBvcnQgdHlwZSBCZXZlbERpcmVjdGlvbiA9ICd1cCcgfCAnZG93bic7XG5leHBvcnQgdHlwZSBHbG93VGVjaG5pcXVlID0gJ3NvZnRlcicgfCAncHJlY2lzZSc7XG5leHBvcnQgdHlwZSBHbG93U291cmNlID0gJ2VkZ2UnIHwgJ2NlbnRlcic7XG5leHBvcnQgdHlwZSBHcmFkaWVudFN0eWxlID0gJ2xpbmVhcicgfCAncmFkaWFsJyB8ICdhbmdsZScgfCAncmVmbGVjdGVkJyB8ICdkaWFtb25kJztcbmV4cG9ydCB0eXBlIEp1c3RpZmljYXRpb24gPSAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcic7XG5leHBvcnQgdHlwZSBMaW5lQ2FwVHlwZSA9ICdidXR0JyB8ICdyb3VuZCcgfCAnc3F1YXJlJztcbmV4cG9ydCB0eXBlIExpbmVKb2luVHlwZSA9ICdtaXRlcicgfCAncm91bmQnIHwgJ2JldmVsJztcbmV4cG9ydCB0eXBlIExpbmVBbGlnbm1lbnQgPSAnaW5zaWRlJyB8ICdjZW50ZXInIHwgJ291dHNpZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdhcnAge1xuXHRzdHlsZT86IFdhcnBTdHlsZTtcblx0dmFsdWU/OiBudW1iZXI7XG5cdHBlcnNwZWN0aXZlPzogbnVtYmVyO1xuXHRwZXJzcGVjdGl2ZU90aGVyPzogbnVtYmVyO1xuXHRyb3RhdGU/OiBPcmllbnRhdGlvbjtcblx0Ly8gZm9yIGN1c3RvbSB3YXJwc1xuXHRib3VuZHM/OiB7IHRvcDogVW5pdHNWYWx1ZTsgbGVmdDogVW5pdHNWYWx1ZTsgYm90dG9tOiBVbml0c1ZhbHVlOyByaWdodDogVW5pdHNWYWx1ZTsgfTtcblx0dU9yZGVyPzogbnVtYmVyO1xuXHR2T3JkZXI/OiBudW1iZXI7XG5cdGRlZm9ybU51bVJvd3M/OiBudW1iZXI7XG5cdGRlZm9ybU51bUNvbHM/OiBudW1iZXI7XG5cdGN1c3RvbUVudmVsb3BlV2FycD86IHtcblx0XHRxdWlsdFNsaWNlWD86IG51bWJlcltdO1xuXHRcdHF1aWx0U2xpY2VZPzogbnVtYmVyW107XG5cdFx0bWVzaFBvaW50czogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfVtdO1xuXHR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHNjcmlwdD86IG51bWJlcjtcblx0dHlwZT86IG51bWJlcjtcblx0c3ludGhldGljPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFncmFwaFN0eWxlIHtcblx0anVzdGlmaWNhdGlvbj86IEp1c3RpZmljYXRpb247XG5cdGZpcnN0TGluZUluZGVudD86IG51bWJlcjtcblx0c3RhcnRJbmRlbnQ/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/Pz9cblx0dHJhbnNmb3JtOiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHR3aWR0aD86IG51bWJlcjtcblx0aGVpZ2h0PzogbnVtYmVyO1xuXHRyZXNvbHV0aW9uPzogVW5pdHNWYWx1ZTtcblx0Ly8gYW50aWFsaWFzID9cblx0d2FycD86IFdhcnA7XG5cdGNyb3A/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==
23
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBzZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxJQUFrQixTQVNqQjtBQVRELFdBQWtCLFNBQVM7SUFDMUIsNkNBQVUsQ0FBQTtJQUNWLG1EQUFhLENBQUE7SUFDYiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7SUFDUix5REFBZ0IsQ0FBQTtJQUNoQiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtBQUNSLENBQUMsRUFUaUIsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFTMUI7QUFFRCxJQUFrQixrQkFLakI7QUFMRCxXQUFrQixrQkFBa0I7SUFDbkMsNkRBQVMsQ0FBQTtJQUNULHVFQUFjLENBQUE7SUFDZCwyRUFBZ0IsQ0FBQTtJQUNoQiwrRkFBMEIsQ0FBQTtBQUMzQixDQUFDLEVBTGlCLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBS25DIiwiZmlsZSI6InBzZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJsZW5kTW9kZSA9ICdwYXNzIHRocm91Z2gnIHwgJ25vcm1hbCcgfCAnZGlzc29sdmUnIHwgJ2RhcmtlbicgfCAnbXVsdGlwbHknIHxcblx0J2NvbG9yIGJ1cm4nIHwgJ2xpbmVhciBidXJuJyB8ICdkYXJrZXIgY29sb3InIHwgJ2xpZ2h0ZW4nIHwgJ3NjcmVlbicgfCAnY29sb3IgZG9kZ2UnIHxcblx0J2xpbmVhciBkb2RnZScgfCAnbGlnaHRlciBjb2xvcicgfCAnb3ZlcmxheScgfCAnc29mdCBsaWdodCcgfCAnaGFyZCBsaWdodCcgfFxuXHQndml2aWQgbGlnaHQnIHwgJ2xpbmVhciBsaWdodCcgfCAncGluIGxpZ2h0JyB8ICdoYXJkIG1peCcgfCAnZGlmZmVyZW5jZScgfCAnZXhjbHVzaW9uJyB8XG5cdCdzdWJ0cmFjdCcgfCAnZGl2aWRlJyB8ICdodWUnIHwgJ3NhdHVyYXRpb24nIHwgJ2NvbG9yJyB8ICdsdW1pbm9zaXR5JztcblxuZXhwb3J0IGNvbnN0IGVudW0gQ29sb3JNb2RlIHtcblx0Qml0bWFwID0gMCxcblx0R3JheXNjYWxlID0gMSxcblx0SW5kZXhlZCA9IDIsXG5cdFJHQiA9IDMsXG5cdENNWUsgPSA0LFxuXHRNdWx0aWNoYW5uZWwgPSA3LFxuXHREdW90b25lID0gOCxcblx0TGFiID0gOSxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gU2VjdGlvbkRpdmlkZXJUeXBlIHtcblx0T3RoZXIgPSAwLFxuXHRPcGVuRm9sZGVyID0gMSxcblx0Q2xvc2VkRm9sZGVyID0gMixcblx0Qm91bmRpbmdTZWN0aW9uRGl2aWRlciA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIFJHQkEgPSB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIFJHQiA9IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIEhTQiA9IHsgaDogbnVtYmVyOyBzOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAxXG5leHBvcnQgdHlwZSBDTVlLID0geyBjOiBudW1iZXI7IG06IG51bWJlcjsgeTogbnVtYmVyOyBrOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBMQUIgPSB7IGw6IG51bWJlcjsgYTogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBgbGAgZnJvbSAwIHRvIDE7IGBhYCBhbmQgYGJgIGZyb20gLTEgdG8gMVxuZXhwb3J0IHR5cGUgR3JheXNjYWxlID0geyBrOiBudW1iZXIgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIENvbG9yID0gUkdCQSB8IFJHQiB8IEhTQiB8IENNWUsgfCBMQUIgfCBHcmF5c2NhbGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0Q29udG91ciB7XG5cdG5hbWU6IHN0cmluZztcblx0Y3VydmU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RQYXR0ZXJuIHtcblx0bmFtZTogc3RyaW5nO1xuXHRpZDogc3RyaW5nO1xuXHQvLyBUT0RPOiBhZGQgZmllbGRzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RTaGFkb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YW50aWFsaWFzZWQ/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlOyAvLyBzcHJlYWRcblx0bGF5ZXJDb25jZWFscz86IGJvb2xlYW47IC8vIG9ubHkgZHJvcCBzaGFkb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdHNPdXRlckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7XG5cdGppdHRlcj86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RJbm5lckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdHRlY2huaXF1ZT86IEdsb3dUZWNobmlxdWU7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7IC8vIHNwcmVhZFxuXHRqaXR0ZXI/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0QmV2ZWwge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0c3RyZW5ndGg/OiBudW1iZXI7IC8vIGRlcHRoXG5cdGhpZ2hsaWdodEJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0c2hhZG93QmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRoaWdobGlnaHRDb2xvcj86IENvbG9yO1xuXHRzaGFkb3dDb2xvcj86IENvbG9yO1xuXHRzdHlsZT86IEJldmVsU3R5bGU7XG5cdGhpZ2hsaWdodE9wYWNpdHk/OiBudW1iZXI7XG5cdHNoYWRvd09wYWNpdHk/OiBudW1iZXI7XG5cdHNvZnRlbj86IFVuaXRzVmFsdWU7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YWx0aXR1ZGU/OiBudW1iZXI7XG5cdHRlY2huaXF1ZT86IEJldmVsVGVjaG5pcXVlO1xuXHRkaXJlY3Rpb24/OiBCZXZlbERpcmVjdGlvbjtcblx0dXNlVGV4dHVyZT86IGJvb2xlYW47XG5cdHVzZVNoYXBlPzogYm9vbGVhbjtcblx0YW50aWFsaWFzR2xvc3M/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFNvbGlkRmlsbCB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U3Ryb2tlIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRvdmVycHJpbnQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0cG9zaXRpb24/OiAnaW5zaWRlJyB8ICdjZW50ZXInIHwgJ291dHNpZGUnO1xuXHRmaWxsVHlwZT86ICdjb2xvcicgfCAnZ3JhZGllbnQnIHwgJ3BhdHRlcm4nO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGdyYWRpZW50PzogKEVmZmVjdFNvbGlkR3JhZGllbnQgfCBFZmZlY3ROb2lzZUdyYWRpZW50KSAmIEV4dHJhR3JhZGllbnRJbmZvO1xuXHRwYXR0ZXJuPzogRWZmZWN0UGF0dGVybiAmIHt9OyAvLyBUT0RPOiBhZGRpdGlvbmFsIHBhdHRlcm4gaW5mb1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U2F0aW4ge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRpbnZlcnQ/OiBib29sZWFuO1xuXHRhbmdsZT86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbi8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXkge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdGJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdHBhdHRlcm4/OiBFZmZlY3RQYXR0ZXJuO1xuXHRwaGFzZT86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG5cdGFsaWduPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RTb2xpZEdyYWRpZW50IHtcblx0bmFtZTogc3RyaW5nO1xuXHR0eXBlOiAnc29saWQnO1xuXHRzbW9vdGhuZXNzPzogbnVtYmVyO1xuXHRjb2xvclN0b3BzOiBDb2xvclN0b3BbXTtcblx0b3BhY2l0eVN0b3BzOiBPcGFjaXR5U3RvcFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVmZmVjdE5vaXNlR3JhZGllbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU6ICdub2lzZSc7XG5cdHJvdWdobmVzcz86IG51bWJlcjtcblx0Y29sb3JNb2RlbD86ICdyZ2InIHwgJ2hzYicgfCAnbGFiJztcblx0cmFuZG9tU2VlZD86IG51bWJlcjtcblx0cmVzdHJpY3RDb2xvcnM/OiBib29sZWFuO1xuXHRhZGRUcmFuc3BhcmVuY3k/OiBib29sZWFuO1xuXHRtaW46IG51bWJlcltdO1xuXHRtYXg6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0R3JhZGllbnRPdmVybGF5IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRibGVuZE1vZGU/OiBzdHJpbmc7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGFsaWduPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRpdGhlcj86IGJvb2xlYW47XG5cdHJldmVyc2U/OiBib29sZWFuO1xuXHR0eXBlPzogR3JhZGllbnRTdHlsZTtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcblx0Z3JhZGllbnQ/OiBFZmZlY3RTb2xpZEdyYWRpZW50IHwgRWZmZWN0Tm9pc2VHcmFkaWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdHNJbmZvIHtcblx0ZGlzYWJsZWQ/OiBib29sZWFuO1xuXHRzY2FsZT86IG51bWJlcjtcblx0ZHJvcFNoYWRvdz86IExheWVyRWZmZWN0U2hhZG93W107XG5cdGlubmVyU2hhZG93PzogTGF5ZXJFZmZlY3RTaGFkb3dbXTtcblx0b3V0ZXJHbG93PzogTGF5ZXJFZmZlY3RzT3V0ZXJHbG93O1xuXHRpbm5lckdsb3c/OiBMYXllckVmZmVjdElubmVyR2xvdztcblx0YmV2ZWw/OiBMYXllckVmZmVjdEJldmVsO1xuXHRzb2xpZEZpbGw/OiBMYXllckVmZmVjdFNvbGlkRmlsbFtdO1xuXHRzYXRpbj86IExheWVyRWZmZWN0U2F0aW47XG5cdHN0cm9rZT86IExheWVyRWZmZWN0U3Ryb2tlW107XG5cdGdyYWRpZW50T3ZlcmxheT86IExheWVyRWZmZWN0R3JhZGllbnRPdmVybGF5W107XG5cdHBhdHRlcm5PdmVybGF5PzogTGF5ZXJFZmZlY3RQYXR0ZXJuT3ZlcmxheTsgLy8gbm90IHN1cHBvcnRlZCB5ZXQgYmVjYXVzZSBvZiBgUGF0dGAgc2VjdGlvbiBub3QgaW1wbGVtZW50ZWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllck1hc2tEYXRhIHtcblx0dG9wPzogbnVtYmVyO1xuXHRsZWZ0PzogbnVtYmVyO1xuXHRib3R0b20/OiBudW1iZXI7XG5cdHJpZ2h0PzogbnVtYmVyO1xuXHRkZWZhdWx0Q29sb3I/OiBudW1iZXI7XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0cG9zaXRpb25SZWxhdGl2ZVRvTGF5ZXI/OiBib29sZWFuO1xuXHRmcm9tVmVjdG9yRGF0YT86IGJvb2xlYW47IC8vIHNldCB0byB0cnVlIGlmIHRoZSBtYXNrIGlzIGdlbmVyYXRlZCBmcm9tIHZlY3RvciBkYXRhLCBmYWxzZSBpZiBpdCdzIGEgYml0bWFwIHByb3ZpZGVkIGJ5IHVzZXJcblx0dXNlck1hc2tEZW5zaXR5PzogbnVtYmVyO1xuXHR1c2VyTWFza0ZlYXRoZXI/OiBudW1iZXI7IC8vIHB4XG5cdHZlY3Rvck1hc2tEZW5zaXR5PzogbnVtYmVyO1xuXHR2ZWN0b3JNYXNrRmVhdGhlcj86IG51bWJlcjtcblx0Y2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQ7XG5cdGltYWdlRGF0YT86IEltYWdlRGF0YTtcbn1cblxuZXhwb3J0IHR5cGUgVGV4dEdyaWRkaW5nID0gJ25vbmUnIHwgJ3JvdW5kJzsgLy8gVE9ETzogb3RoZXIgdmFsdWVzIChubyBpZGVhIHdoZXJlIHRvIHNldCBpdCB1cCBpbiBQaG90b3Nob3ApXG5leHBvcnQgdHlwZSBPcmllbnRhdGlvbiA9ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5leHBvcnQgdHlwZSBBbnRpQWxpYXMgPSAnbm9uZScgfCAnc2hhcnAnIHwgJ2NyaXNwJyB8ICdzdHJvbmcnIHwgJ3Ntb290aCcgfCAncGxhdGZvcm0nIHwgJ3BsYXRmb3JtTENEJztcbmV4cG9ydCB0eXBlIFdhcnBTdHlsZSA9XG5cdCdub25lJyB8ICdhcmMnIHwgJ2FyY0xvd2VyJyB8ICdhcmNVcHBlcicgfCAnYXJjaCcgfCAnYnVsZ2UnIHwgJ3NoZWxsTG93ZXInIHwgJ3NoZWxsVXBwZXInIHwgJ2ZsYWcnIHxcblx0J3dhdmUnIHwgJ2Zpc2gnIHwgJ3Jpc2UnIHwgJ2Zpc2hleWUnIHwgJ2luZmxhdGUnIHwgJ3NxdWVlemUnIHwgJ3R3aXN0JyB8ICdjdXN0b20nO1xuZXhwb3J0IHR5cGUgQmV2ZWxTdHlsZSA9ICdvdXRlciBiZXZlbCcgfCAnaW5uZXIgYmV2ZWwnIHwgJ2VtYm9zcycgfCAncGlsbG93IGVtYm9zcycgfCAnc3Ryb2tlIGVtYm9zcyc7XG5leHBvcnQgdHlwZSBCZXZlbFRlY2huaXF1ZSA9ICdzbW9vdGgnIHwgJ2NoaXNlbCBoYXJkJyB8ICdjaGlzZWwgc29mdCc7XG5leHBvcnQgdHlwZSBCZXZlbERpcmVjdGlvbiA9ICd1cCcgfCAnZG93bic7XG5leHBvcnQgdHlwZSBHbG93VGVjaG5pcXVlID0gJ3NvZnRlcicgfCAncHJlY2lzZSc7XG5leHBvcnQgdHlwZSBHbG93U291cmNlID0gJ2VkZ2UnIHwgJ2NlbnRlcic7XG5leHBvcnQgdHlwZSBHcmFkaWVudFN0eWxlID0gJ2xpbmVhcicgfCAncmFkaWFsJyB8ICdhbmdsZScgfCAncmVmbGVjdGVkJyB8ICdkaWFtb25kJztcbmV4cG9ydCB0eXBlIEp1c3RpZmljYXRpb24gPSAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcic7XG5leHBvcnQgdHlwZSBMaW5lQ2FwVHlwZSA9ICdidXR0JyB8ICdyb3VuZCcgfCAnc3F1YXJlJztcbmV4cG9ydCB0eXBlIExpbmVKb2luVHlwZSA9ICdtaXRlcicgfCAncm91bmQnIHwgJ2JldmVsJztcbmV4cG9ydCB0eXBlIExpbmVBbGlnbm1lbnQgPSAnaW5zaWRlJyB8ICdjZW50ZXInIHwgJ291dHNpZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdhcnAge1xuXHRzdHlsZT86IFdhcnBTdHlsZTtcblx0dmFsdWU/OiBudW1iZXI7XG5cdHBlcnNwZWN0aXZlPzogbnVtYmVyO1xuXHRwZXJzcGVjdGl2ZU90aGVyPzogbnVtYmVyO1xuXHRyb3RhdGU/OiBPcmllbnRhdGlvbjtcblx0Ly8gZm9yIGN1c3RvbSB3YXJwc1xuXHRib3VuZHM/OiB7IHRvcDogVW5pdHNWYWx1ZTsgbGVmdDogVW5pdHNWYWx1ZTsgYm90dG9tOiBVbml0c1ZhbHVlOyByaWdodDogVW5pdHNWYWx1ZTsgfTtcblx0dU9yZGVyPzogbnVtYmVyO1xuXHR2T3JkZXI/OiBudW1iZXI7XG5cdGRlZm9ybU51bVJvd3M/OiBudW1iZXI7XG5cdGRlZm9ybU51bUNvbHM/OiBudW1iZXI7XG5cdGN1c3RvbUVudmVsb3BlV2FycD86IHtcblx0XHRxdWlsdFNsaWNlWD86IG51bWJlcltdO1xuXHRcdHF1aWx0U2xpY2VZPzogbnVtYmVyW107XG5cdFx0Ly8gMTYgcG9pbnRzIGZyb20gdG9wIGxlZnQgdG8gYm90dG9tIHJpZ2h0LCByb3dzIGZpcnN0LCBhbGwgcG9pbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgZmlyc3QgcG9pbnRcblx0XHRtZXNoUG9pbnRzOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9W107XG5cdH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9udCB7XG5cdG5hbWU6IHN0cmluZztcblx0c2NyaXB0PzogbnVtYmVyO1xuXHR0eXBlPzogbnVtYmVyO1xuXHRzeW50aGV0aWM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWdyYXBoU3R5bGUge1xuXHRqdXN0aWZpY2F0aW9uPzogSnVzdGlmaWNhdGlvbjtcblx0Zmlyc3RMaW5lSW5kZW50PzogbnVtYmVyO1xuXHRzdGFydEluZGVudD86IG51bWJlcjtcblx0ZW5kSW5kZW50PzogbnVtYmVyO1xuXHRzcGFjZUJlZm9yZT86IG51bWJlcjtcblx0c3BhY2VBZnRlcj86IG51bWJlcjtcblx0YXV0b0h5cGhlbmF0ZT86IGJvb2xlYW47XG5cdGh5cGhlbmF0ZWRXb3JkU2l6ZT86IG51bWJlcjtcblx0cHJlSHlwaGVuPzogbnVtYmVyO1xuXHRwb3N0SHlwaGVuPzogbnVtYmVyO1xuXHRjb25zZWN1dGl2ZUh5cGhlbnM/OiBudW1iZXI7XG5cdHpvbmU/OiBudW1iZXI7XG5cdHdvcmRTcGFjaW5nPzogbnVtYmVyW107XG5cdGxldHRlclNwYWNpbmc/OiBudW1iZXJbXTtcblx0Z2x5cGhTcGFjaW5nPzogbnVtYmVyW107XG5cdGF1dG9MZWFkaW5nPzogbnVtYmVyO1xuXHRsZWFkaW5nVHlwZT86IG51bWJlcjtcblx0aGFuZ2luZz86IGJvb2xlYW47XG5cdGJ1cmFzYWdhcmk/OiBib29sZWFuO1xuXHRraW5zb2t1T3JkZXI/OiBudW1iZXI7XG5cdGV2ZXJ5TGluZUNvbXBvc2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJhZ3JhcGhTdHlsZVJ1biB7XG5cdGxlbmd0aDogbnVtYmVyO1xuXHRzdHlsZTogUGFyYWdyYXBoU3R5bGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFN0eWxlIHtcblx0Zm9udD86IEZvbnQ7XG5cdGZvbnRTaXplPzogbnVtYmVyO1xuXHRmYXV4Qm9sZD86IGJvb2xlYW47XG5cdGZhdXhJdGFsaWM/OiBib29sZWFuO1xuXHRhdXRvTGVhZGluZz86IGJvb2xlYW47XG5cdGxlYWRpbmc/OiBudW1iZXI7XG5cdGhvcml6b250YWxTY2FsZT86IG51bWJlcjtcblx0dmVydGljYWxTY2FsZT86IG51bWJlcjtcblx0dHJhY2tpbmc/OiBudW1iZXI7XG5cdGF1dG9LZXJuaW5nPzogYm9vbGVhbjtcblx0a2VybmluZz86IG51bWJlcjtcblx0YmFzZWxpbmVTaGlmdD86IG51bWJlcjtcblx0Zm9udENhcHM/OiBudW1iZXI7IC8vIDAgLSBub25lLCAxIC0gc21hbGwgY2FwcywgMiAtIGFsbCBjYXBzXG5cdGZvbnRCYXNlbGluZT86IG51bWJlcjsgLy8gMCAtIG5vcm1hbCwgMSAtIHN1cGVyc2NyaXB0LCAyIC0gc3Vic2NyaXB0XG5cdHVuZGVybGluZT86IGJvb2xlYW47XG5cdHN0cmlrZXRocm91Z2g/OiBib29sZWFuO1xuXHRsaWdhdHVyZXM/OiBib29sZWFuO1xuXHRkTGlnYXR1cmVzPzogYm9vbGVhbjtcblx0YmFzZWxpbmVEaXJlY3Rpb24/OiBudW1iZXI7XG5cdHRzdW1lPzogbnVtYmVyO1xuXHRzdHlsZVJ1bkFsaWdubWVudD86IG51bWJlcjtcblx0bGFuZ3VhZ2U/OiBudW1iZXI7XG5cdG5vQnJlYWs/OiBib29sZWFuO1xuXHRmaWxsQ29sb3I/OiBDb2xvcjtcblx0c3Ryb2tlQ29sb3I/OiBDb2xvcjtcblx0ZmlsbEZsYWc/OiBib29sZWFuO1xuXHRzdHJva2VGbGFnPzogYm9vbGVhbjtcblx0ZmlsbEZpcnN0PzogYm9vbGVhbjtcblx0eVVuZGVybGluZT86IG51bWJlcjtcblx0b3V0bGluZVdpZHRoPzogbnVtYmVyO1xuXHRjaGFyYWN0ZXJEaXJlY3Rpb24/OiBudW1iZXI7XG5cdGhpbmRpTnVtYmVycz86IGJvb2xlYW47XG5cdGthc2hpZGE/OiBudW1iZXI7XG5cdGRpYWNyaXRpY1Bvcz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0U3R5bGVSdW4ge1xuXHRsZW5ndGg6IG51bWJlcjtcblx0c3R5bGU6IFRleHRTdHlsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0R3JpZEluZm8ge1xuXHRpc09uPzogYm9vbGVhbjtcblx0c2hvdz86IGJvb2xlYW47XG5cdHNpemU/OiBudW1iZXI7XG5cdGxlYWRpbmc/OiBudW1iZXI7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGxlYWRpbmdGaWxsQ29sb3I/OiBDb2xvcjtcblx0YWxpZ25MaW5lSGVpZ2h0VG9HcmlkRmxhZ3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyVGV4dERhdGEge1xuXHR0ZXh0OiBzdHJpbmc7XG5cdHRyYW5zZm9ybT86IG51bWJlcltdOyAvLyAyZCB0cmFuc2Zvcm0gbWF0cml4IFt4eCwgeHksIHl4LCB5eSwgdHgsIHR5XVxuXHRhbnRpQWxpYXM/OiBBbnRpQWxpYXM7XG5cdGdyaWRkaW5nPzogVGV4dEdyaWRkaW5nO1xuXHRvcmllbnRhdGlvbj86IE9yaWVudGF0aW9uO1xuXHRpbmRleD86IG51bWJlcjtcblx0d2FycD86IFdhcnA7XG5cdHRvcD86IG51bWJlcjtcblx0bGVmdD86IG51bWJlcjtcblx0Ym90dG9tPzogbnVtYmVyO1xuXHRyaWdodD86IG51bWJlcjtcblxuXHRncmlkSW5mbz86IFRleHRHcmlkSW5mbztcblx0dXNlRnJhY3Rpb25hbEdseXBoV2lkdGhzPzogYm9vbGVhbjtcblx0c3R5bGU/OiBUZXh0U3R5bGU7IC8vIGJhc2Ugc3R5bGVcblx0c3R5bGVSdW5zPzogVGV4dFN0eWxlUnVuW107IC8vIHNwYW5zIG9mIGRpZmZlcmVudCBzdHlsZVxuXHRwYXJhZ3JhcGhTdHlsZT86IFBhcmFncmFwaFN0eWxlOyAvLyBiYXNlIHBhcmFncmFwaCBzdHlsZVxuXHRwYXJhZ3JhcGhTdHlsZVJ1bnM/OiBQYXJhZ3JhcGhTdHlsZVJ1bltdOyAvLyBzdHlsZSBmb3IgZWFjaCBsaW5lXG5cblx0c3VwZXJzY3JpcHRTaXplPzogbnVtYmVyO1xuXHRzdXBlcnNjcmlwdFBvc2l0aW9uPzogbnVtYmVyO1xuXHRzdWJzY3JpcHRTaXplPzogbnVtYmVyO1xuXHRzdWJzY3JpcHRQb3NpdGlvbj86IG51bWJlcjtcblx0c21hbGxDYXBTaXplPzogbnVtYmVyO1xuXG5cdHNoYXBlVHlwZT86ICdwb2ludCcgfCAnYm94Jztcblx0cG9pbnRCYXNlPzogbnVtYmVyW107XG5cdGJveEJvdW5kcz86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhdHRlcm5JbmZvIHtcblx0bmFtZTogc3RyaW5nO1xuXHRpZDogc3RyaW5nO1xuXHR4OiBudW1iZXI7XG5cdHk6IG51bWJlcjtcblx0Ym91bmRzOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB3OiBudW1iZXIsIGg6IG51bWJlcjsgfTtcblx0ZGF0YTogVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCZXppZXJLbm90IHtcblx0bGlua2VkOiBib29sZWFuO1xuXHRwb2ludHM6IG51bWJlcltdOyAvLyB4MCwgeTAsIHgxLCB5MSwgeDIsIHkyXG59XG5cbmV4cG9ydCB0eXBlIEJvb2xlYW5PcGVyYXRpb24gPSAnZXhjbHVkZScgfCAnY29tYmluZScgfCAnc3VidHJhY3QnIHwgJ2ludGVyc2VjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV6aWVyUGF0aCB7XG5cdG9wZW46IGJvb2xlYW47XG5cdG9wZXJhdGlvbjogQm9vbGVhbk9wZXJhdGlvbjtcblx0a25vdHM6IEJlemllcktub3RbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYUdyYWRpZW50SW5mbyB7XG5cdHN0eWxlPzogR3JhZGllbnRTdHlsZTtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGFuZ2xlPzogbnVtYmVyO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRyZXZlcnNlPzogYm9vbGVhbjtcblx0YWxpZ24/OiBib29sZWFuO1xuXHRvZmZzZXQ/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4dHJhUGF0dGVybkluZm8ge1xuXHRsaW5rZWQ/OiBib29sZWFuO1xuXHRwaGFzZT86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG59XG5cbmV4cG9ydCB0eXBlIFZlY3RvckNvbnRlbnQgPSB7IHR5cGU6ICdjb2xvcic7IGNvbG9yOiBDb2xvcjsgfSB8XG5cdChFZmZlY3RTb2xpZEdyYWRpZW50ICYgRXh0cmFHcmFkaWVudEluZm8pIHxcblx0KEVmZmVjdE5vaXNlR3JhZGllbnQgJiBFeHRyYUdyYWRpZW50SW5mbykgfFxuXHQoRWZmZWN0UGF0dGVybiAmIHsgdHlwZTogJ3BhdHRlcm4nOyB9ICYgRXh0cmFQYXR0ZXJuSW5mbyk7XG5cbmV4cG9ydCB0eXBlIFJlbmRlcmluZ0ludGVudCA9ICdwZXJjZXB0dWFsJyB8ICdzYXR1cmF0aW9uJyB8ICdyZWxhdGl2ZSBjb2xvcmltZXRyaWMnIHwgJ2Fic29sdXRlIGNvbG9yaW1ldHJpYyc7XG5cbmV4cG9ydCB0eXBlIFVuaXRzID0gJ1BpeGVscycgfCAnUG9pbnRzJyB8ICdQaWNhcycgfCAnTWlsbGltZXRlcnMnIHwgJ0NlbnRpbWV0ZXJzJyB8ICdJbmNoZXMnIHwgJ05vbmUnIHwgJ0RlbnNpdHknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVuaXRzVmFsdWUge1xuXHR1bml0czogVW5pdHM7XG5cdHZhbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJpZ2h0bmVzc0FkanVzdG1lbnQge1xuXHR0eXBlOiAnYnJpZ2h0bmVzcy9jb250cmFzdCc7XG5cdGJyaWdodG5lc3M/OiBudW1iZXI7XG5cdGNvbnRyYXN0PzogbnVtYmVyO1xuXHRtZWFuVmFsdWU/OiBudW1iZXI7XG5cdHVzZUxlZ2FjeT86IGJvb2xlYW47XG5cdGxhYkNvbG9yT25seT86IGJvb2xlYW47XG5cdGF1dG8/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExldmVsc0FkanVzdG1lbnRDaGFubmVsIHtcblx0c2hhZG93SW5wdXQ6IG51bWJlcjtcblx0aGlnaGxpZ2h0SW5wdXQ6IG51bWJlcjtcblx0c2hhZG93T3V0cHV0OiBudW1iZXI7XG5cdGhpZ2hsaWdodE91dHB1dDogbnVtYmVyO1xuXHRtaWR0b25lSW5wdXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcmVzZXRJbmZvIHtcblx0cHJlc2V0S2luZD86IG51bWJlcjtcblx0cHJlc2V0RmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGV2ZWxzQWRqdXN0bWVudCBleHRlbmRzIFByZXNldEluZm8ge1xuXHR0eXBlOiAnbGV2ZWxzJztcblx0cmdiPzogTGV2ZWxzQWRqdXN0bWVudENoYW5uZWw7XG5cdHJlZD86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xuXHRncmVlbj86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xuXHRibHVlPzogTGV2ZWxzQWRqdXN0bWVudENoYW5uZWw7XG59XG5cbmV4cG9ydCB0eXBlIEN1cnZlc0FkanVzdG1lbnRDaGFubmVsID0geyBpbnB1dDogbnVtYmVyOyBvdXRwdXQ6IG51bWJlcjsgfVtdO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1cnZlc0FkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2N1cnZlcyc7XG5cdHJnYj86IEN1cnZlc0FkanVzdG1lbnRDaGFubmVsO1xuXHRyZWQ/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Z3JlZW4/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Ymx1ZT86IEN1cnZlc0FkanVzdG1lbnRDaGFubmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9zdXJlQWRqdXN0bWVudCBleHRlbmRzIFByZXNldEluZm8ge1xuXHR0eXBlOiAnZXhwb3N1cmUnO1xuXHRleHBvc3VyZT86IG51bWJlcjtcblx0b2Zmc2V0PzogbnVtYmVyO1xuXHRnYW1tYT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWJyYW5jZUFkanVzdG1lbnQge1xuXHR0eXBlOiAndmlicmFuY2UnO1xuXHR2aWJyYW5jZT86IG51bWJlcjtcblx0c2F0dXJhdGlvbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWwge1xuXHRhOiBudW1iZXI7XG5cdGI6IG51bWJlcjtcblx0YzogbnVtYmVyO1xuXHRkOiBudW1iZXI7XG5cdGh1ZTogbnVtYmVyO1xuXHRzYXR1cmF0aW9uOiBudW1iZXI7XG5cdGxpZ2h0bmVzczogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdodWUvc2F0dXJhdGlvbic7XG5cdG1hc3Rlcj86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0cmVkcz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0eWVsbG93cz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0Z3JlZW5zPzogSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsO1xuXHRjeWFucz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0Ymx1ZXM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdG1hZ2VudGFzPzogSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yQmFsYW5jZVZhbHVlcyB7XG5cdGN5YW5SZWQ6IG51bWJlcjtcblx0bWFnZW50YUdyZWVuOiBudW1iZXI7XG5cdHllbGxvd0JsdWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xvckJhbGFuY2VBZGp1c3RtZW50IHtcblx0dHlwZTogJ2NvbG9yIGJhbGFuY2UnO1xuXHRzaGFkb3dzPzogQ29sb3JCYWxhbmNlVmFsdWVzO1xuXHRtaWR0b25lcz86IENvbG9yQmFsYW5jZVZhbHVlcztcblx0aGlnaGxpZ2h0cz86IENvbG9yQmFsYW5jZVZhbHVlcztcblx0cHJlc2VydmVMdW1pbm9zaXR5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCbGFja0FuZFdoaXRlQWRqdXN0bWVudCBleHRlbmRzIFByZXNldEluZm8ge1xuXHR0eXBlOiAnYmxhY2sgJiB3aGl0ZSc7XG5cdHJlZHM/OiBudW1iZXI7XG5cdHllbGxvd3M/OiBudW1iZXI7XG5cdGdyZWVucz86IG51bWJlcjtcblx0Y3lhbnM/OiBudW1iZXI7XG5cdGJsdWVzPzogbnVtYmVyO1xuXHRtYWdlbnRhcz86IG51bWJlcjtcblx0dXNlVGludD86IGJvb2xlYW47XG5cdHRpbnRDb2xvcj86IENvbG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBob3RvRmlsdGVyQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdwaG90byBmaWx0ZXInO1xuXHRjb2xvcj86IENvbG9yO1xuXHRkZW5zaXR5PzogbnVtYmVyO1xuXHRwcmVzZXJ2ZUx1bWlub3NpdHk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxNaXhlckNoYW5uZWwge1xuXHRyZWQ6IG51bWJlcjtcblx0Z3JlZW46IG51bWJlcjtcblx0Ymx1ZTogbnVtYmVyO1xuXHRjb25zdGFudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxNaXhlckFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2NoYW5uZWwgbWl4ZXInO1xuXHRtb25vY2hyb21lPzogYm9vbGVhbjtcblx0cmVkPzogQ2hhbm5lbE1peGVyQ2hhbm5lbDtcblx0Z3JlZW4/OiBDaGFubmVsTWl4ZXJDaGFubmVsO1xuXHRibHVlPzogQ2hhbm5lbE1peGVyQ2hhbm5lbDtcblx0Z3JheT86IENoYW5uZWxNaXhlckNoYW5uZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JMb29rdXBBZGp1c3RtZW50IHtcblx0dHlwZTogJ2NvbG9yIGxvb2t1cCc7XG5cdGxvb2t1cFR5cGU/OiAnM2RsdXQnIHwgJ2Fic3RyYWN0UHJvZmlsZScgfCAnZGV2aWNlTGlua1Byb2ZpbGUnO1xuXHRuYW1lPzogc3RyaW5nO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRwcm9maWxlPzogVWludDhBcnJheTtcblx0bHV0Rm9ybWF0PzogJ2xvb2snIHwgJ2N1YmUnIHwgJzNkbCc7XG5cdGRhdGFPcmRlcj86ICdyZ2InIHwgJ2Jncic7XG5cdHRhYmxlT3JkZXI/OiAncmdiJyB8ICdiZ3InO1xuXHRsdXQzREZpbGVEYXRhPzogVWludDhBcnJheTtcblx0bHV0M0RGaWxlTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnZlcnRBZGp1c3RtZW50IHtcblx0dHlwZTogJ2ludmVydCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdGVyaXplQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdwb3N0ZXJpemUnO1xuXHRsZXZlbHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhyZXNob2xkQWRqdXN0bWVudCB7XG5cdHR5cGU6ICd0aHJlc2hvbGQnO1xuXHRsZXZlbD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xvclN0b3Age1xuXHRjb2xvcjogQ29sb3I7XG5cdGxvY2F0aW9uOiBudW1iZXI7XG5cdG1pZHBvaW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BhY2l0eVN0b3Age1xuXHRvcGFjaXR5OiBudW1iZXI7XG5cdGxvY2F0aW9uOiBudW1iZXI7XG5cdG1pZHBvaW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhZGllbnRNYXBBZGp1c3RtZW50IHtcblx0dHlwZTogJ2dyYWRpZW50IG1hcCc7XG5cdG5hbWU/OiBzdHJpbmc7XG5cdGdyYWRpZW50VHlwZTogJ3NvbGlkJyB8ICdub2lzZSc7XG5cdGRpdGhlcj86IGJvb2xlYW47XG5cdHJldmVyc2U/OiBib29sZWFuO1xuXHQvLyBzb2xpZFxuXHRzbW9vdGhuZXNzPzogbnVtYmVyO1xuXHRjb2xvclN0b3BzPzogQ29sb3JTdG9wW107XG5cdG9wYWNpdHlTdG9wcz86IE9wYWNpdHlTdG9wW107XG5cdC8vIG5vaXNlXG5cdHJvdWdobmVzcz86IG51bWJlcjtcblx0Y29sb3JNb2RlbD86ICdyZ2InIHwgJ2hzYicgfCAnbGFiJztcblx0cmFuZG9tU2VlZD86IG51bWJlcjtcblx0cmVzdHJpY3RDb2xvcnM/OiBib29sZWFuO1xuXHRhZGRUcmFuc3BhcmVuY3k/OiBib29sZWFuO1xuXHRtaW4/OiBudW1iZXJbXTtcblx0bWF4PzogbnVtYmVyW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aXZlQ29sb3JBZGp1c3RtZW50IHtcblx0dHlwZTogJ3NlbGVjdGl2ZSBjb2xvcic7XG5cdG1vZGU/OiAncmVsYXRpdmUnIHwgJ2Fic29sdXRlJztcblx0cmVkcz86IENNWUs7XG5cdHllbGxvd3M/OiBDTVlLO1xuXHRncmVlbnM/OiBDTVlLO1xuXHRjeWFucz86IENNWUs7XG5cdGJsdWVzPzogQ01ZSztcblx0bWFnZW50YXM/OiBDTVlLO1xuXHR3aGl0ZXM/OiBDTVlLO1xuXHRuZXV0cmFscz86IENNWUs7XG5cdGJsYWNrcz86IENNWUs7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VkRmlsZSB7XG5cdGlkOiBzdHJpbmc7XG5cdG5hbWU6IHN0cmluZztcblx0dHlwZT86IHN0cmluZztcblx0Y3JlYXRvcj86IHN0cmluZztcblx0ZGF0YT86IFVpbnQ4QXJyYXk7XG5cdHRpbWU/OiBEYXRlOyAvLyBmb3IgZXh0ZXJuYWwgZmlsZXNcblx0ZGVzY3JpcHRvcj86IHtcblx0XHRjb21wSW5mbzogeyBjb21wSUQ6IG51bWJlcjsgb3JpZ2luYWxDb21wSUQ6IG51bWJlcjsgfTtcblx0fTtcblx0Y2hpbGREb2N1bWVudElEPzogc3RyaW5nO1xuXHRhc3NldE1vZFRpbWU/OiBudW1iZXI7XG5cdGFzc2V0TG9ja2VkU3RhdGU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFBsYWNlZExheWVyVHlwZSA9ICd1bmtub3duJyB8ICd2ZWN0b3InIHwgJ3Jhc3RlcicgfCAnaW1hZ2Ugc3RhY2snO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlZExheWVyIHtcblx0aWQ6IHN0cmluZzsgLy8gaWQgb2YgbGlua2VkIGltYWdlIGZpbGUgKHBzZC5saW5rZWRGaWxlcylcblx0cGxhY2VkPzogc3RyaW5nOyAvLyA/Pz9cblx0dHlwZTogUGxhY2VkTGF5ZXJUeXBlO1xuXHQvLyBwYWdlTnVtYmVyOiBudW1iZXI7IC8vID8/P1xuXHQvLyB0b3RhbFBhZ2VzOiBudW1iZXI7IC8vID8/P1xuXHQvLyBmcmFtZVN0ZXA/OiB7IG51bWVyYXRvcjogbnVtYmVyOyBkZW5vbWluYXRvcjogbnVtYmVyOyB9O1xuXHQvLyBkdXJhdGlvbj86IHsgbnVtZXJhdG9yOiBudW1iZXI7IGRlbm9taW5hdG9yOiBudW1iZXI7IH07XG5cdC8vIGZyYW1lQ291bnQ/OiBudW1iZXI7IC8vID8/P1xuXHR0cmFuc2Zvcm06IG51bWJlcltdOyAvLyB4LCB5IG9mIDQgY29ybmVycyBvZiB0aGUgdHJhbnNmb3JtXG5cdG5vbkFmZmluZVRyYW5zZm9ybT86IG51bWJlcltdOyAvLyB4LCB5IG9mIDQgY29ybmVycyBvZiB0aGUgdHJhbnNmb3JtXG5cdHdpZHRoPzogbnVtYmVyO1xuXHRoZWlnaHQ/OiBudW1iZXI7XG5cdHJlc29sdXRpb24/OiBVbml0c1ZhbHVlO1xuXHQvLyBhbnRpYWxpYXMgP1xuXHR3YXJwPzogV2FycDtcblx0Y3JvcD86IG51bWJlcjtcblx0Y29tcD86IG51bWJlcjtcblx0Y29tcEluZm8/OiB7IGNvbXBJRDogbnVtYmVyOyBvcmlnaW5hbENvbXBJRDogbnVtYmVyOyB9O1xufVxuXG5leHBvcnQgdHlwZSBBZGp1c3RtZW50TGF5ZXIgPSBCcmlnaHRuZXNzQWRqdXN0bWVudCB8IExldmVsc0FkanVzdG1lbnQgfCBDdXJ2ZXNBZGp1c3RtZW50IHxcblx0RXhwb3N1cmVBZGp1c3RtZW50IHwgVmlicmFuY2VBZGp1c3RtZW50IHwgSHVlU2F0dXJhdGlvbkFkanVzdG1lbnQgfCBDb2xvckJhbGFuY2VBZGp1c3RtZW50IHxcblx0QmxhY2tBbmRXaGl0ZUFkanVzdG1lbnQgfCBQaG90b0ZpbHRlckFkanVzdG1lbnQgfCBDaGFubmVsTWl4ZXJBZGp1c3RtZW50IHwgQ29sb3JMb29rdXBBZGp1c3RtZW50IHxcblx0SW52ZXJ0QWRqdXN0bWVudCB8IFBvc3Rlcml6ZUFkanVzdG1lbnQgfCBUaHJlc2hvbGRBZGp1c3RtZW50IHwgR3JhZGllbnRNYXBBZGp1c3RtZW50IHxcblx0U2VsZWN0aXZlQ29sb3JBZGp1c3RtZW50O1xuXG5leHBvcnQgdHlwZSBMYXllckNvbG9yID0gJ25vbmUnIHwgJ3JlZCcgfCAnb3JhbmdlJyB8ICd5ZWxsb3cnIHwgJ2dyZWVuJyB8ICdibHVlJyB8ICd2aW9sZXQnIHwgJ2dyYXknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleURlc2NyaXB0b3JJdGVtIHtcblx0a2V5U2hhcGVJbnZhbGlkYXRlZD86IGJvb2xlYW47XG5cdGtleU9yaWdpblR5cGU/OiBudW1iZXI7XG5cdGtleU9yaWdpblJlc29sdXRpb24/OiBudW1iZXI7XG5cdGtleU9yaWdpblJSZWN0UmFkaWk/OiB7XG5cdFx0dG9wUmlnaHQ6IFVuaXRzVmFsdWU7XG5cdFx0dG9wTGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b21MZWZ0OiBVbml0c1ZhbHVlO1xuXHRcdGJvdHRvbVJpZ2h0OiBVbml0c1ZhbHVlO1xuXHR9O1xuXHRrZXlPcmlnaW5TaGFwZUJvdW5kaW5nQm94Pzoge1xuXHRcdHRvcDogVW5pdHNWYWx1ZTtcblx0XHRsZWZ0OiBVbml0c1ZhbHVlO1xuXHRcdGJvdHRvbTogVW5pdHNWYWx1ZTtcblx0XHRyaWdodDogVW5pdHNWYWx1ZTtcblx0fTtcblx0a2V5T3JpZ2luQm94Q29ybmVycz86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH1bXTtcblx0dHJhbnNmb3JtPzogbnVtYmVyW107IC8vIDJkIHRyYW5zZm9ybSBtYXRyaXggW3h4LCB4eSwgeXgsIHl5LCB0eCwgdHldXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJWZWN0b3JNYXNrIHtcblx0aW52ZXJ0PzogYm9vbGVhbjtcblx0bm90TGluaz86IGJvb2xlYW47XG5cdGRpc2FibGU/OiBib29sZWFuO1xuXHRmaWxsU3RhcnRzV2l0aEFsbFBpeGVscz86IGJvb2xlYW47XG5cdGNsaXBib2FyZD86IHtcblx0XHR0b3A6IG51bWJlcjtcblx0XHRsZWZ0OiBudW1iZXI7XG5cdFx0Ym90dG9tOiBudW1iZXI7XG5cdFx0cmlnaHQ6IG51bWJlcjtcblx0XHRyZXNvbHV0aW9uOiBudW1iZXI7XG5cdH07XG5cdHBhdGhzOiBCZXppZXJQYXRoW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJBZGRpdGlvbmFsSW5mbyB7XG5cdG5hbWU/OiBzdHJpbmc7IC8vIGxheWVyIG5hbWVcblx0bmFtZVNvdXJjZT86IHN0cmluZzsgLy8gbGF5ZXIgbmFtZSBzb3VyY2Vcblx0aWQ/OiBudW1iZXI7IC8vIGxheWVyIGlkXG5cdHZlcnNpb24/OiBudW1iZXI7IC8vIGxheWVyIHZlcnNpb25cblx0bWFzaz86IExheWVyTWFza0RhdGE7XG5cdGJsZW5kQ2xpcHBlbmRFbGVtZW50cz86IGJvb2xlYW47XG5cdGJsZW5kSW50ZXJpb3JFbGVtZW50cz86IGJvb2xlYW47XG5cdGtub2Nrb3V0PzogYm9vbGVhbjtcblx0cHJvdGVjdGVkPzoge1xuXHRcdHRyYW5zcGFyZW5jeT86IGJvb2xlYW47XG5cdFx0Y29tcG9zaXRlPzogYm9vbGVhbjtcblx0XHRwb3NpdGlvbj86IGJvb2xlYW47XG5cdFx0YXJ0Ym9hcmRzPzogYm9vbGVhbjtcblx0fTtcblx0bGF5ZXJDb2xvcj86IExheWVyQ29sb3I7XG5cdHJlZmVyZW5jZVBvaW50Pzoge1xuXHRcdHg6IG51bWJlcjtcblx0XHR5OiBudW1iZXI7XG5cdH07XG5cdHNlY3Rpb25EaXZpZGVyPzoge1xuXHRcdHR5cGU6IFNlY3Rpb25EaXZpZGVyVHlwZTtcblx0XHRrZXk/OiBzdHJpbmc7XG5cdFx0c3ViVHlwZT86IG51bWJlcjtcblx0fTtcblx0ZmlsdGVyTWFzaz86IHtcblx0XHRjb2xvclNwYWNlOiBDb2xvcjtcblx0XHRvcGFjaXR5OiBudW1iZXI7XG5cdH07XG5cdGVmZmVjdHM/OiBMYXllckVmZmVjdHNJbmZvO1xuXHR0ZXh0PzogTGF5ZXJUZXh0RGF0YTtcblx0cGF0dGVybnM/OiBQYXR0ZXJuSW5mb1tdOyAvLyBub3Qgc3VwcG9ydGVkIHlldFxuXHR2ZWN0b3JGaWxsPzogVmVjdG9yQ29udGVudDtcblx0dmVjdG9yU3Ryb2tlPzoge1xuXHRcdHN0cm9rZUVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdGZpbGxFbmFibGVkPzogYm9vbGVhbjtcblx0XHRsaW5lV2lkdGg/OiBVbml0c1ZhbHVlO1xuXHRcdGxpbmVEYXNoT2Zmc2V0PzogVW5pdHNWYWx1ZTtcblx0XHRtaXRlckxpbWl0PzogbnVtYmVyO1xuXHRcdGxpbmVDYXBUeXBlPzogTGluZUNhcFR5cGU7XG5cdFx0bGluZUpvaW5UeXBlPzogTGluZUpvaW5UeXBlO1xuXHRcdGxpbmVBbGlnbm1lbnQ/OiBMaW5lQWxpZ25tZW50O1xuXHRcdHNjYWxlTG9jaz86IGJvb2xlYW47XG5cdFx0c3Ryb2tlQWRqdXN0PzogYm9vbGVhbjtcblx0XHRsaW5lRGFzaFNldD86IFVuaXRzVmFsdWVbXTtcblx0XHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdFx0b3BhY2l0eT86IG51bWJlcjtcblx0XHRjb250ZW50PzogVmVjdG9yQ29udGVudDtcblx0XHRyZXNvbHV0aW9uPzogbnVtYmVyO1xuXHR9O1xuXHR2ZWN0b3JNYXNrPzogTGF5ZXJWZWN0b3JNYXNrO1xuXHR1c2luZ0FsaWduZWRSZW5kZXJpbmc/OiBib29sZWFuO1xuXHR0aW1lc3RhbXA/OiBudW1iZXI7IC8vIHNlY29uZHNcblx0cGF0aExpc3Q/OiB7XG5cdH1bXTtcblx0YWRqdXN0bWVudD86IEFkanVzdG1lbnRMYXllcjtcblx0cGxhY2VkTGF5ZXI/OiBQbGFjZWRMYXllcjtcblx0dmVjdG9yT3JpZ2luYXRpb24/OiB7XG5cdFx0a2V5RGVzY3JpcHRvckxpc3Q6IEtleURlc2NyaXB0b3JJdGVtW107XG5cdH07XG5cdGNvbXBvc2l0b3JVc2VkPzoge1xuXHRcdGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cdFx0cmVhc29uOiBzdHJpbmc7XG5cdFx0ZW5naW5lOiBzdHJpbmc7XG5cdFx0ZW5hYmxlQ29tcENvcmU6IHN0cmluZztcblx0XHRlbmFibGVDb21wQ29yZUdQVTogc3RyaW5nO1xuXHRcdGNvbXBDb3JlU3VwcG9ydDogc3RyaW5nO1xuXHRcdGNvbXBDb3JlR1BVU3VwcG9ydDogc3RyaW5nO1xuXHR9O1xuXHRhcnRib2FyZD86IHtcblx0XHRyZWN0OiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXI7IGJvdHRvbTogbnVtYmVyOyByaWdodDogbnVtYmVyOyB9O1xuXHRcdGd1aWRlSW5kaWNlcz86IGFueVtdO1xuXHRcdHByZXNldE5hbWU/OiBzdHJpbmc7XG5cdFx0Y29sb3I/OiBDb2xvcjtcblx0XHRiYWNrZ3JvdW5kVHlwZT86IG51bWJlcjtcblx0fTtcblx0ZmlsbE9wYWNpdHk/OiBudW1iZXI7XG5cdHRyYW5zcGFyZW5jeVNoYXBlc0xheWVyPzogYm9vbGVhbjtcblxuXHQvLyBCYXNlNjQgZW5jb2RlZCByYXcgRW5naW5lRGF0YSwgY3VycmVudGx5IGp1c3Qga2VwdCBpbiBvcmlnaW5hbCBzdGF0ZSB0byBzdXBwb3J0XG5cdC8vIGxvYWRpbmcgYW5kIG1vZGlmeWluZyBQU0QgZmlsZSB3aXRob3V0IGJyZWFraW5nIHRleHQgbGF5ZXJzLlxuXHRlbmdpbmVEYXRhPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlUmVzb3VyY2VzIHtcblx0bGF5ZXJTdGF0ZT86IG51bWJlcjtcblx0bGF5ZXJzR3JvdXA/OiBudW1iZXJbXTtcblx0bGF5ZXJTZWxlY3Rpb25JZHM/OiBudW1iZXJbXTtcblx0bGF5ZXJHcm91cHNFbmFibGVkSWQ/OiBudW1iZXJbXTtcblx0dmVyc2lvbkluZm8/OiB7XG5cdFx0aGFzUmVhbE1lcmdlZERhdGE6IGJvb2xlYW47XG5cdFx0d3JpdGVyTmFtZTogc3RyaW5nO1xuXHRcdHJlYWRlck5hbWU6IHN0cmluZztcblx0XHRmaWxlVmVyc2lvbjogbnVtYmVyO1xuXHR9O1xuXHRhbHBoYUlkZW50aWZpZXJzPzogbnVtYmVyW107XG5cdGFscGhhQ2hhbm5lbE5hbWVzPzogc3RyaW5nW107XG5cdGdsb2JhbEFuZ2xlPzogbnVtYmVyO1xuXHRnbG9iYWxBbHRpdHVkZT86IG51bWJlcjtcblx0cGl4ZWxBc3BlY3RSYXRpbz86IHtcblx0XHRhc3BlY3Q6IG51bWJlcjtcblx0fTtcblx0dXJsc0xpc3Q/OiBhbnlbXTtcblx0Z3JpZEFuZEd1aWRlc0luZm9ybWF0aW9uPzoge1xuXHRcdGdyaWQ/OiB7XG5cdFx0XHRob3Jpem9udGFsOiBudW1iZXI7XG5cdFx0XHR2ZXJ0aWNhbDogbnVtYmVyO1xuXHRcdH0sXG5cdFx0Z3VpZGVzPzoge1xuXHRcdFx0bG9jYXRpb246IG51bWJlcjtcblx0XHRcdGRpcmVjdGlvbjogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcblx0XHR9W107XG5cdH07XG5cdHJlc29sdXRpb25JbmZvPzoge1xuXHRcdGhvcml6b250YWxSZXNvbHV0aW9uOiBudW1iZXI7XG5cdFx0aG9yaXpvbnRhbFJlc29sdXRpb25Vbml0OiAnUFBJJyB8ICdQUENNJztcblx0XHR3aWR0aFVuaXQ6ICdJbmNoZXMnIHwgJ0NlbnRpbWV0ZXJzJyB8ICdQb2ludHMnIHwgJ1BpY2FzJyB8ICdDb2x1bW5zJztcblx0XHR2ZXJ0aWNhbFJlc29sdXRpb246IG51bWJlcjtcblx0XHR2ZXJ0aWNhbFJlc29sdXRpb25Vbml0OiAnUFBJJyB8ICdQUENNJztcblx0XHRoZWlnaHRVbml0OiAnSW5jaGVzJyB8ICdDZW50aW1ldGVycycgfCAnUG9pbnRzJyB8ICdQaWNhcycgfCAnQ29sdW1ucyc7XG5cdH07XG5cdHRodW1ibmFpbD86IEhUTUxDYW52YXNFbGVtZW50O1xuXHR0aHVtYm5haWxSYXc/OiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyOyBkYXRhOiBVaW50OEFycmF5OyB9O1xuXHRjYXB0aW9uRGlnZXN0Pzogc3RyaW5nO1xuXHR4bXBNZXRhZGF0YT86IHN0cmluZztcblx0cHJpbnRTY2FsZT86IHtcblx0XHRzdHlsZT86ICdjZW50ZXJlZCcgfCAnc2l6ZSB0byBmaXQnIHwgJ3VzZXIgZGVmaW5lZCc7XG5cdFx0eD86IG51bWJlcjtcblx0XHR5PzogbnVtYmVyO1xuXHRcdHNjYWxlPzogbnVtYmVyO1xuXHR9O1xuXHRwcmludEluZm9ybWF0aW9uPzoge1xuXHRcdHByaW50ZXJNYW5hZ2VzQ29sb3JzPzogYm9vbGVhbjtcblx0XHRwcmludGVyTmFtZT86IHN0cmluZztcblx0XHRwcmludGVyUHJvZmlsZT86IHN0cmluZztcblx0XHRwcmludFNpeHRlZW5CaXQ/OiBib29sZWFuO1xuXHRcdHJlbmRlcmluZ0ludGVudD86IFJlbmRlcmluZ0ludGVudDtcblx0XHRoYXJkUHJvb2Y/OiBib29sZWFuO1xuXHRcdGJsYWNrUG9pbnRDb21wZW5zYXRpb24/OiBib29sZWFuO1xuXHRcdHByb29mU2V0dXA/OiB7XG5cdFx0XHRidWlsdGluOiBzdHJpbmc7XG5cdFx0fSB8IHtcblx0XHRcdHByb2ZpbGU6IHN0cmluZztcblx0XHRcdHJlbmRlcmluZ0ludGVudD86IFJlbmRlcmluZ0ludGVudDtcblx0XHRcdGJsYWNrUG9pbnRDb21wZW5zYXRpb24/OiBib29sZWFuO1xuXHRcdFx0cGFwZXJXaGl0ZT86IGJvb2xlYW47XG5cdFx0fTtcblx0fTtcblx0YmFja2dyb3VuZENvbG9yPzogQ29sb3I7XG5cdGlkc1NlZWROdW1iZXI/OiBudW1iZXI7XG5cdHByaW50RmxhZ3M/OiB7XG5cdFx0bGFiZWxzPzogYm9vbGVhbjtcblx0XHRjcm9wTWFya3M/OiBib29sZWFuO1xuXHRcdGNvbG9yQmFycz86IGJvb2xlYW47XG5cdFx0cmVnaXN0cmF0aW9uTWFya3M/OiBib29sZWFuO1xuXHRcdG5lZ2F0aXZlPzogYm9vbGVhbjtcblx0XHRmbGlwPzogYm9vbGVhbjtcblx0XHRpbnRlcnBvbGF0ZT86IGJvb2xlYW47XG5cdFx0Y2FwdGlvbj86IGJvb2xlYW47XG5cdFx0cHJpbnRGbGFncz86IGJvb2xlYW47XG5cdH07XG5cdGljY1VudGFnZ2VkUHJvZmlsZT86IGJvb2xlYW47XG5cdHBhdGhTZWxlY3Rpb25TdGF0ZT86IHN0cmluZ1tdO1xuXHRpbWFnZVJlYWR5VmFyaWFibGVzPzogc3RyaW5nO1xuXHRpbWFnZVJlYWR5RGF0YVNldHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYmFsTGF5ZXJNYXNrSW5mbyB7XG5cdG92ZXJsYXlDb2xvclNwYWNlOiBudW1iZXI7XG5cdGNvbG9yU3BhY2UxOiBudW1iZXI7XG5cdGNvbG9yU3BhY2UyOiBudW1iZXI7XG5cdGNvbG9yU3BhY2UzOiBudW1iZXI7XG5cdGNvbG9yU3BhY2U0OiBudW1iZXI7XG5cdG9wYWNpdHk6IG51bWJlcjtcblx0a2luZDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFubm90YXRpb24ge1xuXHR0eXBlOiAndGV4dCcgfCAnc291bmQnO1xuXHRvcGVuOiBib29sZWFuO1xuXHRpY29uTG9jYXRpb246IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgYm90dG9tOiBudW1iZXIgfTtcblx0cG9wdXBMb2NhdGlvbjogeyBsZWZ0OiBudW1iZXI7IHRvcDogbnVtYmVyOyByaWdodDogbnVtYmVyOyBib3R0b206IG51bWJlciB9O1xuXHRjb2xvcjogQ29sb3I7XG5cdGF1dGhvcjogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdGRhdGU6IHN0cmluZztcblx0ZGF0YTogc3RyaW5nIHwgVWludDhBcnJheTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllciBleHRlbmRzIExheWVyQWRkaXRpb25hbEluZm8ge1xuXHR0b3A/OiBudW1iZXI7XG5cdGxlZnQ/OiBudW1iZXI7XG5cdGJvdHRvbT86IG51bWJlcjtcblx0cmlnaHQ/OiBudW1iZXI7XG5cdGJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0dHJhbnNwYXJlbmN5UHJvdGVjdGVkPzogYm9vbGVhbjtcblx0aGlkZGVuPzogYm9vbGVhbjtcblx0Y2xpcHBpbmc/OiBib29sZWFuO1xuXHRjYW52YXM/OiBIVE1MQ2FudmFzRWxlbWVudDtcblx0aW1hZ2VEYXRhPzogSW1hZ2VEYXRhO1xuXHRjaGlsZHJlbj86IExheWVyW107XG5cdC8qKiBhcHBsaWVzIG9ubHkgZm9yIGxheWVyIGdyb3VwcyAqL1xuXHRvcGVuZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBzZCBleHRlbmRzIExheWVyQWRkaXRpb25hbEluZm8ge1xuXHR3aWR0aDogbnVtYmVyO1xuXHRoZWlnaHQ6IG51bWJlcjtcblx0Y2hhbm5lbHM/OiBudW1iZXI7XG5cdGJpdHNQZXJDaGFubmVsPzogbnVtYmVyO1xuXHRjb2xvck1vZGU/OiBDb2xvck1vZGU7XG5cdGNoaWxkcmVuPzogTGF5ZXJbXTtcblx0Y2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQ7XG5cdGltYWdlRGF0YT86IEltYWdlRGF0YTtcblx0aW1hZ2VSZXNvdXJjZXM/OiBJbWFnZVJlc291cmNlcztcblx0bGlua2VkRmlsZXM/OiBMaW5rZWRGaWxlW107IC8vIHVzZWQgaW4gc21hcnQgb2JqZWN0c1xuXHRhcnRib2FyZHM/OiB7XG5cdFx0Y291bnQ6IG51bWJlcjtcblx0XHRhdXRvRXhwYW5kT2Zmc2V0PzogeyBob3Jpem9udGFsOiBudW1iZXI7IHZlcnRpY2FsOiBudW1iZXI7IH07XG5cdFx0b3JpZ2luPzogeyBob3Jpem9udGFsOiBudW1iZXI7IHZlcnRpY2FsOiBudW1iZXI7IH07XG5cdFx0YXV0b0V4cGFuZEVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdGF1dG9OZXN0RW5hYmxlZD86IGJvb2xlYW47XG5cdFx0YXV0b1Bvc2l0aW9uRW5hYmxlZD86IGJvb2xlYW47XG5cdFx0c2hyaW5rd3JhcE9uU2F2ZUVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdGRvY0RlZmF1bHROZXdBcnRib2FyZEJhY2tncm91bmRDb2xvcj86IENvbG9yO1xuXHRcdGRvY0RlZmF1bHROZXdBcnRib2FyZEJhY2tncm91bmRUeXBlPzogbnVtYmVyO1xuXHR9O1xuXHRnbG9iYWxMYXllck1hc2tJbmZvPzogR2xvYmFsTGF5ZXJNYXNrSW5mbztcblx0YW5ub3RhdGlvbnM/OiBBbm5vdGF0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZE9wdGlvbnMge1xuXHQvKiogRG9lcyBub3QgbG9hZCBsYXllciBpbWFnZSBkYXRhLiAqL1xuXHRza2lwTGF5ZXJJbWFnZURhdGE/OiBib29sZWFuO1xuXHQvKiogRG9lcyBub3QgbG9hZCBjb21wb3NpdGUgaW1hZ2UgZGF0YS4gKi9cblx0c2tpcENvbXBvc2l0ZUltYWdlRGF0YT86IGJvb2xlYW47XG5cdC8qKiBEb2VzIG5vdCBsb2FkIHRodW1ibmFpbC4gKi9cblx0c2tpcFRodW1ibmFpbD86IGJvb2xlYW47XG5cdC8qKiBEb2VzIG5vdCBsb2FkIGxpbmtlZCBmaWxlcyAodXNlZCBpbiBzbWFydC1vYmplY3RzKS4gKi9cblx0c2tpcExpbmtlZEZpbGVzRGF0YT86IGJvb2xlYW47XG5cdC8qKiBUaHJvd3MgZXhjZXB0aW9uIGlmIGZlYXR1cmVzIGFyZSBtaXNzaW5nLiAqL1xuXHR0aHJvd0Zvck1pc3NpbmdGZWF0dXJlcz86IGJvb2xlYW47XG5cdC8qKiBMb2dzIGlmIGZlYXR1cmVzIGFyZSBtaXNzaW5nLiAqL1xuXHRsb2dNaXNzaW5nRmVhdHVyZXM/OiBib29sZWFuO1xuXHQvKiogS2VlcCBpbWFnZSBkYXRhIGFzIGJ5dGUgYXJyYXkgaW5zdGVhZCBvZiBjYW52YXMuXG5cdCAqIChpbWFnZSBkYXRhIHdpbGwgYXBwZWFyIGluIGBpbWFnZURhdGFgIGZpZWxkcyBpbnN0ZWFkIG9mIGBjYW52YXNgIGZpZWxkcylcblx0ICogVGhpcyBhdm9pZHMgaXNzdWVzIHdpdGggY2FudmFzIHByZW11bHRpcGxpZWQgYWxwaGEgY29ycnVwdGluZyBpbWFnZSBkYXRhLiAqL1xuXHR1c2VJbWFnZURhdGE/OiBib29sZWFuO1xuXHQvKiogTG9hZHMgdGh1bWJuYWlsIHJhdyBkYXRhIGluc3RlYWQgb2YgZGVjb2RpbmcgaXQncyBjb250ZW50IGludG8gY2FudmFzLlxuXHQgKiBgdGh1bW5haWxSYXdgIGZpZWxkIGlzIHVzZWQgaW5zdGVhZC4gKi9cblx0dXNlUmF3VGh1bWJuYWlsPzogYm9vbGVhbjtcblx0LyoqIFVzZW5kIG9ubHkgZm9yIGRldmVsb3BtZW50ICovXG5cdGxvZ0RldkZlYXR1cmVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXcml0ZU9wdGlvbnMge1xuXHQvKiogQXV0b21hdGljYWxseSBnZW5lcmF0ZXMgdGh1bWJuYWlsIGZyb20gY29tcG9zaXRlIGltYWdlLiAqL1xuXHRnZW5lcmF0ZVRodW1ibmFpbD86IGJvb2xlYW47XG5cdC8qKiBUcmltcyB0cmFuc3BhcmVudCBwaXhlbHMgZnJvbSBsYXllciBpbWFnZSBkYXRhLiAqL1xuXHR0cmltSW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIEludmFsaWRhdGVzIHRleHQgbGF5ZXIgZGF0YSwgZm9yY2luZyBQaG90b3Nob3AgdG8gcmVkcmF3IHRoZW0gb24gbG9hZC5cblx0ICogIFVzZSB0aGlzIG9wdGlvbiBpZiB5b3UncmUgdXBkYXRpbmcgbG9hZGVkIHRleHQgbGF5ZXIgcHJvcGVydGllcy4gKi9cblx0aW52YWxpZGF0ZVRleHRMYXllcnM/OiBib29sZWFuO1xuXHQvKiogTG9ncyBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0bG9nTWlzc2luZ0ZlYXR1cmVzPzogYm9vbGVhbjtcblx0LyoqIEZvcmNlcyBib3R0b20gbGF5ZXIgdG8gYmUgdHJlYXRlZCBhcyBsYXllciBhbmQgbm90IGJhY2tncm91bmQgZXZlbiB3aGVuIGl0J3MgbWlzc2luZyBhbnkgdHJhbnNwYXJlbmN5XG5cdCAqIFx0KGJ5IGRlZmF1bHQgUGhvdG9zaG9wIHRyZWF0cyBib3R0b20gbGF5ZXIgYXMgYmFja2dyb3VuZCBpdCBpdCBkb2Vzbid0IGhhdmUgYW55IHRyYW5zcGFyZW50IHBpeGVscykgKi9cblx0bm9CYWNrZ3JvdW5kPzogYm9vbGVhbjtcblx0LyoqIFNhdmVzIGRvY3VtZW50IGFzIFBTQiAoTGFyZ2UgRG9jdW1lbnQgRm9ybWF0KSBmaWxlICovXG5cdHBzYj86IGJvb2xlYW47XG59XG4iXSwic291cmNlUm9vdCI6IkQ6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
@@ -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;