ag-psd 14.3.5 → 14.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -582,5 +582,14 @@ target) { return target._ir4001 !== undefined; }, function (reader, target, left
582
582
  }, function (writer, target) {
583
583
  psdWriter_1.writeBytes(writer, target._ir4001);
584
584
  });
585
+ // TODO: Unfinished
586
+ helpers_1.MOCK_HANDLERS && addHandler(4002, // Plug-In resource(s)
587
+ function (// Plug-In resource(s)
588
+ target) { return target._ir4002 !== undefined; }, function (reader, target, left) {
589
+ LOG_MOCK_HANDLERS && console.log('image resource 4002', left());
590
+ target._ir4002 = psdReader_1.readBytes(reader, left());
591
+ }, function (writer, target) {
592
+ psdWriter_1.writeBytes(writer, target._ir4002);
593
+ });
585
594
 
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==
595
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,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LHNCQUFVLENBQUMsTUFBTSxFQUFHLE1BQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQ0QsQ0FBQztBQUVGLG1CQUFtQjtBQUNuQix1QkFBYSxJQUFJLFVBQVUsQ0FDMUIsSUFBSSxFQUFFLHNCQUFzQjtBQUM1QixVQURNLHNCQUFzQjtBQUM1QixNQUFNLElBQUksT0FBQyxNQUFjLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBckMsQ0FBcUMsRUFDL0MsVUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUk7SUFDcEIsaUJBQWlCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQWMsQ0FBQyxPQUFPLEdBQUcscUJBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyRCxDQUFDLEVBQ0QsVUFBQyxNQUFNLEVBQUUsTUFBTTtJQUNkLHNCQUFVLENBQUMsTUFBTSxFQUFHLE1BQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQ0QsQ0FBQyIsImZpbGUiOiJpbWFnZVJlc291cmNlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvQnl0ZUFycmF5IH0gZnJvbSAnYmFzZTY0LWpzJztcbmltcG9ydCB7IEltYWdlUmVzb3VyY2VzLCBSZWFkT3B0aW9ucywgUmVuZGVyaW5nSW50ZW50IH0gZnJvbSAnLi9wc2QnO1xuaW1wb3J0IHtcblx0UHNkUmVhZGVyLCByZWFkUGFzY2FsU3RyaW5nLCByZWFkVW5pY29kZVN0cmluZywgcmVhZFVpbnQzMiwgcmVhZFVpbnQxNiwgcmVhZFVpbnQ4LCByZWFkRmxvYXQ2NCxcblx0cmVhZEJ5dGVzLCBza2lwQnl0ZXMsIHJlYWRGbG9hdDMyLCByZWFkSW50MTYsIHJlYWRGaXhlZFBvaW50MzIsIHJlYWRTaWduYXR1cmUsIGNoZWNrU2lnbmF0dXJlLFxuXHRyZWFkU2VjdGlvbiwgcmVhZENvbG9yXG59IGZyb20gJy4vcHNkUmVhZGVyJztcbmltcG9ydCB7XG5cdFBzZFdyaXRlciwgd3JpdGVQYXNjYWxTdHJpbmcsIHdyaXRlVW5pY29kZVN0cmluZywgd3JpdGVVaW50MzIsIHdyaXRlVWludDgsIHdyaXRlRmxvYXQ2NCwgd3JpdGVVaW50MTYsXG5cdHdyaXRlQnl0ZXMsIHdyaXRlSW50MTYsIHdyaXRlRmxvYXQzMiwgd3JpdGVGaXhlZFBvaW50MzIsIHdyaXRlVW5pY29kZVN0cmluZ1dpdGhQYWRkaW5nLCB3cml0ZUNvbG9yLFxufSBmcm9tICcuL3BzZFdyaXRlcic7XG5pbXBvcnQgeyBjcmVhdGVDYW52YXNGcm9tRGF0YSwgY3JlYXRlRW51bSwgTU9DS19IQU5ETEVSUyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBkZWNvZGVTdHJpbmcsIGVuY29kZVN0cmluZyB9IGZyb20gJy4vdXRmOCc7XG5pbXBvcnQgeyByZWFkVmVyc2lvbkFuZERlc2NyaXB0b3IsIHdyaXRlVmVyc2lvbkFuZERlc2NyaXB0b3IgfSBmcm9tICcuL2Rlc2NyaXB0b3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlSGFuZGxlciB7XG5cdGtleTogbnVtYmVyO1xuXHRoYXM6ICh0YXJnZXQ6IEltYWdlUmVzb3VyY2VzKSA9PiBib29sZWFuO1xuXHRyZWFkOiAocmVhZGVyOiBQc2RSZWFkZXIsIHRhcmdldDogSW1hZ2VSZXNvdXJjZXMsIGxlZnQ6ICgpID0+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/XG5cdFx0XHRcdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdFx0XHR9O1xuXG5cdFx0XHRcdFx0XHRcdGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzOnJlc3VsdCcsIHJlc3VsdCk7XG5cdFx0XHRcdFx0XHRcdC8vIGxvZ0RldkZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCcjNDAwMCBBbkRzOnJlc3VsdCcsIHJlcXVpcmUoJ3V0aWwnKS5pbnNwZWN0KHJlc3VsdCwgZmFsc2UsIDk5LCB0cnVlKSk7XG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGtleSA9PT0gJ1JvbGwnKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGJ5dGVzID0gcmVhZEJ5dGVzKHJlYWRlciwgbGVmdCgpKTtcblx0XHRcdFx0XHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIFJvbGwnLCBieXRlcyk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRsb2dNaXNzaW5nRmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ1VuaGFuZGxlZCBzdWJzZWN0aW9uIGluICM0MDAwJywga2V5KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdtb3B0Jykge1xuXHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZWZ0KCkpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJyM0MDAwIG1vcHQnLCBieXRlcyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGxvZ01pc3NpbmdGZWF0dXJlcyAmJiBjb25zb2xlLmxvZygnVW5oYW5kbGVkIGtleSBpbiAjNDAwMDonLCBrZXkpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0fSxcblx0KHdyaXRlciwgdGFyZ2V0KSA9PiB7XG5cdFx0d3JpdGVCeXRlcyh3cml0ZXIsICh0YXJnZXQgYXMgYW55KS5faXI0MDAwKTtcblx0fSxcbik7XG5cbi8vIFRPRE86IFVuZmluaXNoZWRcbk1PQ0tfSEFORExFUlMgJiYgYWRkSGFuZGxlcihcblx0NDAwMSwgLy8gUGx1Zy1JbiByZXNvdXJjZShzKVxuXHR0YXJnZXQgPT4gKHRhcmdldCBhcyBhbnkpLl9pcjQwMDEgIT09IHVuZGVmaW5lZCxcblx0KHJlYWRlciwgdGFyZ2V0LCBsZWZ0LCB7IGxvZ01pc3NpbmdGZWF0dXJlcywgbG9nRGV2RmVhdHVyZXMgfSkgPT4ge1xuXHRcdGlmIChNT0NLX0hBTkRMRVJTKSB7XG5cdFx0XHRMT0dfTU9DS19IQU5ETEVSUyAmJiBjb25zb2xlLmxvZygnaW1hZ2UgcmVzb3VyY2UgNDAwMScsIGxlZnQoKSk7XG5cdFx0XHQodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3Qga2V5ID0gcmVhZFNpZ25hdHVyZShyZWFkZXIpO1xuXG5cdFx0aWYgKGtleSA9PT0gJ21mcmknKSB7XG5cdFx0XHRjb25zdCB2ZXJzaW9uID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0aWYgKHZlcnNpb24gIT09IDIpIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtZnJpIHZlcnNpb24nKTtcblxuXHRcdFx0Y29uc3QgbGVuZ3RoID0gcmVhZFVpbnQzMihyZWFkZXIpO1xuXHRcdFx0Y29uc3QgYnl0ZXMgPSByZWFkQnl0ZXMocmVhZGVyLCBsZW5ndGgpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ21mcmknLCBieXRlcyk7XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdtc2V0Jykge1xuXHRcdFx0Y29uc3QgZGVzYyA9IHJlYWRWZXJzaW9uQW5kRGVzY3JpcHRvcihyZWFkZXIpO1xuXHRcdFx0bG9nRGV2RmVhdHVyZXMgJiYgY29uc29sZS5sb2coJ21zZXQnLCBkZXNjKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bG9nTWlzc2luZ0ZlYXR1cmVzICYmIGNvbnNvbGUubG9nKCdVbmhhbmRsZWQga2V5IGluICM0MDAxJywga2V5KTtcblx0XHR9XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMSk7XG5cdH0sXG4pO1xuXG4vLyBUT0RPOiBVbmZpbmlzaGVkXG5NT0NLX0hBTkRMRVJTICYmIGFkZEhhbmRsZXIoXG5cdDQwMDIsIC8vIFBsdWctSW4gcmVzb3VyY2Uocylcblx0dGFyZ2V0ID0+ICh0YXJnZXQgYXMgYW55KS5faXI0MDAyICE9PSB1bmRlZmluZWQsXG5cdChyZWFkZXIsIHRhcmdldCwgbGVmdCkgPT4ge1xuXHRcdExPR19NT0NLX0hBTkRMRVJTICYmIGNvbnNvbGUubG9nKCdpbWFnZSByZXNvdXJjZSA0MDAyJywgbGVmdCgpKTtcblx0XHQodGFyZ2V0IGFzIGFueSkuX2lyNDAwMiA9IHJlYWRCeXRlcyhyZWFkZXIsIGxlZnQoKSk7XG5cdH0sXG5cdCh3cml0ZXIsIHRhcmdldCkgPT4ge1xuXHRcdHdyaXRlQnl0ZXMod3JpdGVyLCAodGFyZ2V0IGFzIGFueSkuX2lyNDAwMik7XG5cdH0sXG4pO1xuIl0sInNvdXJjZVJvb3QiOiJDOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
package/dist/index.js CHANGED
@@ -47,4 +47,4 @@ function writePsdBuffer(psd, options) {
47
47
  }
48
48
  exports.writePsdBuffer = writePsdBuffer;
49
49
 
50
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDQSx5Q0FBNEg7QUFDNUgseUNBQWtGO0FBQ2xGLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIscUNBQTZDO0FBQXBDLDJHQUFBLGdCQUFnQixPQUFBO0FBQ3pCLHdDQUFzQjtBQUN0Qix1Q0FBMEM7QUFTN0IsUUFBQSxpQkFBaUIsR0FBRyx5QkFBYSxDQUFDO0FBRS9DLFNBQWdCLE9BQU8sQ0FBQyxNQUFnQyxFQUFFLE9BQXFCO0lBQzlFLElBQU0sTUFBTSxHQUFHLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNsQyx3QkFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRSx3QkFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sbUJBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUxELDBCQUtDO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLEdBQVEsRUFBRSxPQUFzQjtJQUN4RCxJQUFNLE1BQU0sR0FBRyx3QkFBWSxFQUFFLENBQUM7SUFDOUIsb0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2QyxPQUFPLDJCQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUpELDRCQUlDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsR0FBUSxFQUFFLE9BQXNCO0lBQ2xFLElBQU0sTUFBTSxHQUFHLHdCQUFZLEVBQUUsQ0FBQztJQUM5QixvQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8saUNBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUpELGdEQUlDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLEdBQVEsRUFBRSxPQUFzQjtJQUM5RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDekQ7SUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQU5ELHdDQU1DIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHNkLCBSZWFkT3B0aW9ucywgV3JpdGVPcHRpb25zIH0gZnJvbSAnLi9wc2QnO1xuaW1wb3J0IHsgUHNkV3JpdGVyLCB3cml0ZVBzZCBhcyB3cml0ZVBzZEludGVybmFsLCBnZXRXcml0ZXJCdWZmZXIsIGNyZWF0ZVdyaXRlciwgZ2V0V3JpdGVyQnVmZmVyTm9Db3B5IH0gZnJvbSAnLi9wc2RXcml0ZXInO1xuaW1wb3J0IHsgUHNkUmVhZGVyLCByZWFkUHNkIGFzIHJlYWRQc2RJbnRlcm5hbCwgY3JlYXRlUmVhZGVyIH0gZnJvbSAnLi9wc2RSZWFkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hYnInO1xuZXhwb3J0ICogZnJvbSAnLi9jc2gnO1xuZXhwb3J0IHsgaW5pdGlhbGl6ZUNhbnZhcyB9IGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3BzZCc7XG5pbXBvcnQgeyBmcm9tQnl0ZUFycmF5IH0gZnJvbSAnYmFzZTY0LWpzJztcbmV4cG9ydCB7IFBzZFJlYWRlciwgUHNkV3JpdGVyIH07XG5cbmludGVyZmFjZSBCdWZmZXJMaWtlIHtcblx0YnVmZmVyOiBBcnJheUJ1ZmZlcjtcblx0Ynl0ZU9mZnNldDogbnVtYmVyO1xuXHRieXRlTGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBieXRlQXJyYXlUb0Jhc2U2NCA9IGZyb21CeXRlQXJyYXk7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkUHNkKGJ1ZmZlcjogQXJyYXlCdWZmZXIgfCBCdWZmZXJMaWtlLCBvcHRpb25zPzogUmVhZE9wdGlvbnMpOiBQc2Qge1xuXHRjb25zdCByZWFkZXIgPSAnYnVmZmVyJyBpbiBidWZmZXIgP1xuXHRcdGNyZWF0ZVJlYWRlcihidWZmZXIuYnVmZmVyLCBidWZmZXIuYnl0ZU9mZnNldCwgYnVmZmVyLmJ5dGVMZW5ndGgpIDpcblx0XHRjcmVhdGVSZWFkZXIoYnVmZmVyKTtcblx0cmV0dXJuIHJlYWRQc2RJbnRlcm5hbChyZWFkZXIsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQc2QocHNkOiBQc2QsIG9wdGlvbnM/OiBXcml0ZU9wdGlvbnMpOiBBcnJheUJ1ZmZlciB7XG5cdGNvbnN0IHdyaXRlciA9IGNyZWF0ZVdyaXRlcigpO1xuXHR3cml0ZVBzZEludGVybmFsKHdyaXRlciwgcHNkLCBvcHRpb25zKTtcblx0cmV0dXJuIGdldFdyaXRlckJ1ZmZlcih3cml0ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQc2RVaW50OEFycmF5KHBzZDogUHNkLCBvcHRpb25zPzogV3JpdGVPcHRpb25zKTogVWludDhBcnJheSB7XG5cdGNvbnN0IHdyaXRlciA9IGNyZWF0ZVdyaXRlcigpO1xuXHR3cml0ZVBzZEludGVybmFsKHdyaXRlciwgcHNkLCBvcHRpb25zKTtcblx0cmV0dXJuIGdldFdyaXRlckJ1ZmZlck5vQ29weSh3cml0ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQc2RCdWZmZXIocHNkOiBQc2QsIG9wdGlvbnM/OiBXcml0ZU9wdGlvbnMpOiBCdWZmZXIge1xuXHRpZiAodHlwZW9mIEJ1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ0J1ZmZlciBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0nKTtcblx0fVxuXG5cdHJldHVybiBCdWZmZXIuZnJvbSh3cml0ZVBzZFVpbnQ4QXJyYXkocHNkLCBvcHRpb25zKSk7XG59XG4iXSwic291cmNlUm9vdCI6IkQ6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
50
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFDQSx5Q0FBNEg7QUFDNUgseUNBQWtGO0FBQ2xGLHdDQUFzQjtBQUN0Qix3Q0FBc0I7QUFDdEIscUNBQTZDO0FBQXBDLDJHQUFBLGdCQUFnQixPQUFBO0FBQ3pCLHdDQUFzQjtBQUN0Qix1Q0FBMEM7QUFTN0IsUUFBQSxpQkFBaUIsR0FBRyx5QkFBYSxDQUFDO0FBRS9DLFNBQWdCLE9BQU8sQ0FBQyxNQUFnQyxFQUFFLE9BQXFCO0lBQzlFLElBQU0sTUFBTSxHQUFHLFFBQVEsSUFBSSxNQUFNLENBQUMsQ0FBQztRQUNsQyx3QkFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNuRSx3QkFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLE9BQU8sbUJBQWUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUxELDBCQUtDO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLEdBQVEsRUFBRSxPQUFzQjtJQUN4RCxJQUFNLE1BQU0sR0FBRyx3QkFBWSxFQUFFLENBQUM7SUFDOUIsb0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2QyxPQUFPLDJCQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUpELDRCQUlDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsR0FBUSxFQUFFLE9BQXNCO0lBQ2xFLElBQU0sTUFBTSxHQUFHLHdCQUFZLEVBQUUsQ0FBQztJQUM5QixvQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8saUNBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUpELGdEQUlDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLEdBQVEsRUFBRSxPQUFzQjtJQUM5RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDekQ7SUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQU5ELHdDQU1DIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHNkLCBSZWFkT3B0aW9ucywgV3JpdGVPcHRpb25zIH0gZnJvbSAnLi9wc2QnO1xuaW1wb3J0IHsgUHNkV3JpdGVyLCB3cml0ZVBzZCBhcyB3cml0ZVBzZEludGVybmFsLCBnZXRXcml0ZXJCdWZmZXIsIGNyZWF0ZVdyaXRlciwgZ2V0V3JpdGVyQnVmZmVyTm9Db3B5IH0gZnJvbSAnLi9wc2RXcml0ZXInO1xuaW1wb3J0IHsgUHNkUmVhZGVyLCByZWFkUHNkIGFzIHJlYWRQc2RJbnRlcm5hbCwgY3JlYXRlUmVhZGVyIH0gZnJvbSAnLi9wc2RSZWFkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hYnInO1xuZXhwb3J0ICogZnJvbSAnLi9jc2gnO1xuZXhwb3J0IHsgaW5pdGlhbGl6ZUNhbnZhcyB9IGZyb20gJy4vaGVscGVycyc7XG5leHBvcnQgKiBmcm9tICcuL3BzZCc7XG5pbXBvcnQgeyBmcm9tQnl0ZUFycmF5IH0gZnJvbSAnYmFzZTY0LWpzJztcbmV4cG9ydCB7IFBzZFJlYWRlciwgUHNkV3JpdGVyIH07XG5cbmludGVyZmFjZSBCdWZmZXJMaWtlIHtcblx0YnVmZmVyOiBBcnJheUJ1ZmZlcjtcblx0Ynl0ZU9mZnNldDogbnVtYmVyO1xuXHRieXRlTGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBieXRlQXJyYXlUb0Jhc2U2NCA9IGZyb21CeXRlQXJyYXk7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkUHNkKGJ1ZmZlcjogQXJyYXlCdWZmZXIgfCBCdWZmZXJMaWtlLCBvcHRpb25zPzogUmVhZE9wdGlvbnMpOiBQc2Qge1xuXHRjb25zdCByZWFkZXIgPSAnYnVmZmVyJyBpbiBidWZmZXIgP1xuXHRcdGNyZWF0ZVJlYWRlcihidWZmZXIuYnVmZmVyLCBidWZmZXIuYnl0ZU9mZnNldCwgYnVmZmVyLmJ5dGVMZW5ndGgpIDpcblx0XHRjcmVhdGVSZWFkZXIoYnVmZmVyKTtcblx0cmV0dXJuIHJlYWRQc2RJbnRlcm5hbChyZWFkZXIsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQc2QocHNkOiBQc2QsIG9wdGlvbnM/OiBXcml0ZU9wdGlvbnMpOiBBcnJheUJ1ZmZlciB7XG5cdGNvbnN0IHdyaXRlciA9IGNyZWF0ZVdyaXRlcigpO1xuXHR3cml0ZVBzZEludGVybmFsKHdyaXRlciwgcHNkLCBvcHRpb25zKTtcblx0cmV0dXJuIGdldFdyaXRlckJ1ZmZlcih3cml0ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQc2RVaW50OEFycmF5KHBzZDogUHNkLCBvcHRpb25zPzogV3JpdGVPcHRpb25zKTogVWludDhBcnJheSB7XG5cdGNvbnN0IHdyaXRlciA9IGNyZWF0ZVdyaXRlcigpO1xuXHR3cml0ZVBzZEludGVybmFsKHdyaXRlciwgcHNkLCBvcHRpb25zKTtcblx0cmV0dXJuIGdldFdyaXRlckJ1ZmZlck5vQ29weSh3cml0ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVQc2RCdWZmZXIocHNkOiBQc2QsIG9wdGlvbnM/OiBXcml0ZU9wdGlvbnMpOiBCdWZmZXIge1xuXHRpZiAodHlwZW9mIEJ1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ0J1ZmZlciBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0nKTtcblx0fVxuXG5cdHJldHVybiBCdWZmZXIuZnJvbSh3cml0ZVBzZFVpbnQ4QXJyYXkocHNkLCBvcHRpb25zKSk7XG59XG4iXSwic291cmNlUm9vdCI6IkM6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
@@ -11,4 +11,4 @@ function createCanvasFromData(data) {
11
11
  }
12
12
  index_1.initializeCanvas(canvas_1.createCanvas, createCanvasFromData);
13
13
 
14
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluaXRpYWxpemVDYW52YXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBNkM7QUFDN0MsaUNBQTJDO0FBRTNDLFNBQVMsb0JBQW9CLENBQUMsSUFBZ0I7SUFDN0MsSUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFLLEVBQUUsQ0FBQztJQUMxQixLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsSUFBTSxNQUFNLEdBQUcscUJBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQztBQUVELHdCQUFnQixDQUFDLHFCQUFZLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyIsImZpbGUiOiJpbml0aWFsaXplQ2FudmFzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2FudmFzLCBJbWFnZSB9IGZyb20gJ2NhbnZhcyc7XHJcbmltcG9ydCB7IGluaXRpYWxpemVDYW52YXMgfSBmcm9tICcuL2luZGV4JztcclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUNhbnZhc0Zyb21EYXRhKGRhdGE6IFVpbnQ4QXJyYXkpIHtcclxuXHRjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG5cdGltYWdlLnNyYyA9IEJ1ZmZlci5mcm9tKGRhdGEpO1xyXG5cdGNvbnN0IGNhbnZhcyA9IGNyZWF0ZUNhbnZhcyhpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0KTtcclxuXHRjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSEuZHJhd0ltYWdlKGltYWdlLCAwLCAwKTtcclxuXHRyZXR1cm4gY2FudmFzO1xyXG59XHJcblxyXG5pbml0aWFsaXplQ2FudmFzKGNyZWF0ZUNhbnZhcywgY3JlYXRlQ2FudmFzRnJvbURhdGEpO1xyXG4iXSwic291cmNlUm9vdCI6IkQ6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
14
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluaXRpYWxpemVDYW52YXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBNkM7QUFDN0MsaUNBQTJDO0FBRTNDLFNBQVMsb0JBQW9CLENBQUMsSUFBZ0I7SUFDN0MsSUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFLLEVBQUUsQ0FBQztJQUMxQixLQUFLLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsSUFBTSxNQUFNLEdBQUcscUJBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hELE9BQU8sTUFBTSxDQUFDO0FBQ2YsQ0FBQztBQUVELHdCQUFnQixDQUFDLHFCQUFZLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyIsImZpbGUiOiJpbml0aWFsaXplQ2FudmFzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2FudmFzLCBJbWFnZSB9IGZyb20gJ2NhbnZhcyc7XHJcbmltcG9ydCB7IGluaXRpYWxpemVDYW52YXMgfSBmcm9tICcuL2luZGV4JztcclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUNhbnZhc0Zyb21EYXRhKGRhdGE6IFVpbnQ4QXJyYXkpIHtcclxuXHRjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xyXG5cdGltYWdlLnNyYyA9IEJ1ZmZlci5mcm9tKGRhdGEpO1xyXG5cdGNvbnN0IGNhbnZhcyA9IGNyZWF0ZUNhbnZhcyhpbWFnZS53aWR0aCwgaW1hZ2UuaGVpZ2h0KTtcclxuXHRjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSEuZHJhd0ltYWdlKGltYWdlLCAwLCAwKTtcclxuXHRyZXR1cm4gY2FudmFzO1xyXG59XHJcblxyXG5pbml0aWFsaXplQ2FudmFzKGNyZWF0ZUNhbnZhcywgY3JlYXRlQ2FudmFzRnJvbURhdGEpO1xyXG4iXSwic291cmNlUm9vdCI6IkM6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9
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/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
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/OiBib29sZWFuO1xuXHQvKiogTG9ncyBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0bG9nTWlzc2luZ0ZlYXR1cmVzPzogYm9vbGVhbjtcblx0LyoqIEZvcmNlcyBib3R0b20gbGF5ZXIgdG8gYmUgdHJlYXRlZCBhcyBsYXllciBhbmQgbm90IGJhY2tncm91bmQgZXZlbiB3aGVuIGl0J3MgbWlzc2luZyBhbnkgdHJhbnNwYXJlbmN5XG5cdCAqIFx0KGJ5IGRlZmF1bHQgUGhvdG9zaG9wIHRyZWF0cyBib3R0b20gbGF5ZXIgYXMgYmFja2dyb3VuZCBpdCBpdCBkb2Vzbid0IGhhdmUgYW55IHRyYW5zcGFyZW50IHBpeGVscykgKi9cblx0bm9CYWNrZ3JvdW5kPzogYm9vbGVhbjtcblx0LyoqIFNhdmVzIGRvY3VtZW50IGFzIFBTQiAoTGFyZ2UgRG9jdW1lbnQgRm9ybWF0KSBmaWxlICovXG5cdHBzYj86IGJvb2xlYW47XG59XG4iXSwic291cmNlUm9vdCI6IkM6XFxQcm9qZWN0c1xcZ2l0aHViXFxhZy1wc2RcXHNyYyJ9