vcomply-workflow-engine 5.0.14 → 5.0.16

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.
@@ -435,4 +435,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
435
435
  }], fieldClicked: [{
436
436
  type: Output
437
437
  }] } });
438
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jYXRlZ29yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvY2FzZS1jYXRlZ29yeS9jYXNlLWNhdGVnb3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsY0FBYyxFQUNkLFdBQVcsRUFDWCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7OztBQXFHakUsTUFBTSxPQUFPLHFCQUFxQjtJQWtDaEMsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBYSwwQkFBMEIsQ0FBQyxLQUFVO1FBQ2hELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDO0lBQzlDLENBQUM7SUFPRCxZQUFvQixXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE3Q25ELFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxXQUFXLENBQUM7UUFDNUIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLFdBQU0sR0FBUTtZQUNaLEdBQUcsZUFBZSxDQUFDLGFBQWE7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFX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O1FBQ3pCLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3RELENBQUM7K0dBalJVLHFCQUFxQjttR0FBckIscUJBQXFCLGlaQS9GdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEZUOzs0RkFHVSxxQkFBcUI7a0JBakdqQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RlQ7eUdBa0NRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBR08sMEJBQTBCO3NCQUF0QyxLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTRUxFQ1RPUl9DT05GSUcsXG4gIFNlbGVjdGlvblBvcHVwU3RhdGUsXG4gIFNlbGVjdGlvblN0YXRlLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzJztcbmltcG9ydCB7IHJlcG9ydCB9IGZyb20gJy4uL2Nhc2UtdHlwZS1zbGlkZXIvY2FzZS10eXBlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRBQ2FzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXBvcnQtYS1jYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRWRpdG9yQ29uZmlnIH0gZnJvbSAnQHZjb21wbHkvZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhc2UtY2F0ZWdvcnknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLmNhc2VfY2F0ZWdvcnlcIlxuICAgICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpXCJcbiAgICAgIFthY3RpdmVdPVwiY2F0ZWdvcnlDbGlja2VkXCJcbiAgICAgIFtjaGVja2VkXT1cInBheWxvYWQ/LmNhdGVnb3J5Py5pZHM/Lmxlbmd0aFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciBmaWVsZD5cbiAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuU0VMRUNUSU9OX0RJQUxPR1wiXG4gICAgICAgICAgW2NoaXBJdGVtc109XCJzZWxlY3RlZEl0ZW1zXCJcbiAgICAgICAgICBbZWRpdERpc2FibGVkXT1cImNhdGVnb3J5RWRpdERpc2FibGVcIlxuICAgICAgICAgIFtyZW1vdmFibGVdPVwiIWNhdGVnb3J5RWRpdERpc2FibGVcIlxuICAgICAgICAgIChmaWVsZENsaWNrZWQpPVwiYWN0aXZhdGVTZWxlY3RvcigkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtTGlzdENoYW5nZSk9XCJzZXRDYXRlZ29yeUxpc3QoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXZjLWxhYmVsXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJjYXRlZ29yeVRleHRzLmNhc2VfZGV0YWlscy5jYXRlZ29yeS50aXRsZVwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtZm9ybS1ncm91cFwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiBwYXlsb2FkPy5jYXRlZ29yeT8uY3VzdG9tX2ZpZWxkc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1jb250cm9sLXBhbmVsXCI+e3sgdGFnPy5uYW1lIH19PC9sYWJlbD5cbiAgICAgICAgICA8dmNvbXBseS1lZGl0b3JcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnLnZhbHVlXCJcbiAgICAgICAgICAgIFtlZGl0b3JDb25maWddPVwiY3VzdG9tRmllbGRcIlxuICAgICAgICAgID48L3Zjb21wbHktZWRpdG9yPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgICA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgKm5nSWY9XCJjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZmllbGRTZWxlY3RlZCA9PT0gJ1JDJ1wiXG4gICAgICBbYWN0aXZlXT1cImNhdGVnb3J5Q2xpY2tlZFwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciBmaWVsZD5cbiAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICBbc3RhdGVdPVwiYWRkaXRpb25hbENhdGVnb3J5U3RhdGVcIlxuICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuU0VMRUNUSU9OX0RJQUxPR1wiXG4gICAgICAgICAgW2NoaXBJdGVtc109XCJzZWxlY3RlZEFkZGl0aW9uYWxJdGVtc1wiXG4gICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZUFkZGl0aW9uYWxDYXRlZ29yeVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgIChzZWxlY3RlZEl0ZW1MaXN0Q2hhbmdlKT1cInNldEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXZjLWxhYmVsXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJjYXRlZ29yeVRleHRzLmNhc2VfZGV0YWlscy5hZGRpdGlvbmFsX2NhdGVnb3J5LnRpdGxlXCJcbiAgICAgICAgICA+PC9hcHAtdmMtbGFiZWw+XG4gICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ2eC1mb3JtLWdyb3VwXCJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFnIG9mIHBheWxvYWQ/LmFkZGl0aW9uYWxfY2F0ZWdvcnk/LmN1c3RvbV9maWVsZHNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7IHRhZz8ubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgPHZjb21wbHktZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZy52YWx1ZVwiXG4gICAgICAgICAgICBbZWRpdG9yQ29uZmlnXT1cImN1c3RvbUZpZWxkXCJcbiAgICAgICAgICA+PC92Y29tcGx5LWVkaXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvblxuICAgICAgKm5nSWY9XCJjYXRlZ29yeUNsaWNrZWRcIlxuICAgICAgW2NhdGVnb3J5TGlzdF09XCJjYXNlQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgIFtsb2FkaW5nXT1cImNhdGVnb3J5TGlzdExvYWRlclwiXG4gICAgICBbc2VsZWN0ZWRMaXN0XT1cInNlbGVjdGVkQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIlxuICAgICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ1xuICAgICAgXCJcbiAgICAgIChjYW5jZWwpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgKG5leHQpPVwic2F2ZVNlbGVjdGVkQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgID48L2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbj5cbiAgICA8YXBwLWNhdGVnb3J5LWxpc3Qtc2VsZWN0aW9uXG4gICAgICAqbmdJZj1cImFkZGl0aW9uYWxDYXRlZ29yeUNsaWNrZWRcIlxuICAgICAgW2NhdGVnb3J5TGlzdF09XCJcbiAgICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cgJiZcbiAgICAgICAgcGF5bG9hZD8uY2F0ZWdvcnk/Lmlkcz8ubGVuZ3RoXG4gICAgICAgICAgPyBmaWx0ZXJlZENhc2VDYXRlZ29yeUxpc3RcbiAgICAgICAgICA6IGNhc2VDYXRlZ29yeUxpc3RcbiAgICAgIFwiXG4gICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICBbbG9hZGluZ109XCJjYXRlZ29yeUxpc3RMb2FkZXJcIlxuICAgICAgW3NlbGVjdGVkTGlzdF09XCJzZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3RcIlxuICAgICAgKGNhbmNlbCk9XCJhY3RpdmF0ZUFkZGl0aW9uYWxDYXRlZ29yeVNlbGVjdG9yKGZhbHNlKVwiXG4gICAgICAobmV4dCk9XCJzYXZlU2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgID48L2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4uLy4uLy4uL2Zvcm1zLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZUNhdGVnb3J5Q29tcG9uZW50IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBjYXRlZ29yeVRleHRzID0gUkVQT1JUX0NBU0U7XG4gIGNhc2VDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIGNvbmZpZzogYW55ID0ge1xuICAgIC4uLlNFTEVDVE9SX0NPTkZJRy5DQVNFX0NBVEVHT1JZLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLmNhdGVnb3J5VGV4dHMuY2FzZV9kZXRhaWxzLmNhdGVnb3J5LnBsYWNlaG9sZGVyLFxuICB9O1xuICBjYXRlZ29yeUNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkaXRpb25hbENhdGVnb3J5Q2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjYXRlZ29yeUxpc3RMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgU2VsZWN0aW9uU3RhdGUgPSBTZWxlY3Rpb25TdGF0ZTtcbiAgU2VsZWN0aW9uUG9wdXBTdGF0ZSA9IFNlbGVjdGlvblBvcHVwU3RhdGU7XG4gIHN0YXRlOiBzdHJpbmcgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgYWRkaXRpb25hbENhdGVnb3J5U3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZEFkZGl0aW9uYWxJdGVtczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIHNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgaW5pdGlhbENhdGVnb3J5OiBhbnk7XG4gIGNhc2VUeXBlID0gcmVwb3J0O1xuICBmaWVsZFNlbGVjdG9yID0gRklFTERfU0VMRUNUT1I7XG4gIGN1c3RvbUZpZWxkOiBFZGl0b3JDb25maWcgPSB7XG4gICAgbW9kZTogJ3ByaW1lJyxcbiAgICBjb2xvclBhbGV0dGU6IHRydWUsXG4gICAgbGluazogdHJ1ZSxcbiAgICBwbGFjZWhvbGRlcjogJ0FkZCB2YWx1ZScsXG4gIH07XG4gIGluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnk6IGFueTtcbiAgZmlsdGVyZWRDYXNlQ2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHBheWxvYWQ6IGFueSA9IHt9O1xuICBASW5wdXQoKSBmaWVsZFNlbGVjdGVkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY2FzZVR5cGVTZWxlY3RlZDogYW55O1xuICBASW5wdXQoKSBzZXQgaW5pdGlhbFNlbGVjdGlvbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbml0aWFsQ2F0ZWdvcnkgPSB2YWx1ZT8uaWRzO1xuICB9XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsQWRkaXRpb25hbFNlbGVjdGlvbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5ID0gdmFsdWU/LmlkcztcbiAgfVxuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgd29ya2Zsb3dUeXBlOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgb25DYXRlZ29yeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmllbGRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjYXNlU2VydmljZTogUmVwb3J0QUNhc2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0QWxsQ2F0ZWdvcmllcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwYXlsb2FkJ10pIHtcbiAgICAgIGlmICghdGhpcy5wYXlsb2FkPy5jYXRlZ29yeT8uaWRzPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QgPSBbXTtcbiAgICAgIH1cbiAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxTZWxlY3Rpb24nXSB8fCBjaGFuZ2VzWydpbml0aWFsQWRkaXRpb25hbFNlbGVjdGlvbiddKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlSW5pdGlhbENhdGVnb3J5KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsQ2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLmNhdGVnb3J5TGlzdExvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jYXNlU2VydmljZS5nZXRBbGxDYXRlZ29yaWVzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0ID0gcmVzPy5kYXRhO1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0TG9hZGVyID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwb3B1bGF0ZUluaXRpYWxDYXRlZ29yeSgpIHtcbiAgICBpZiAodGhpcy5pbml0aWFsQ2F0ZWdvcnk/Lmxlbmd0aCAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ0FDVFcnKSB7XG4gICAgICB0aGlzLnVwZGF0ZUFDVFdDYXRlZ29yeSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbml0aWFsQ2F0ZWdvcnk/Lmxlbmd0aCAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ1JBQycpIHtcbiAgICAgIHRoaXMudXBkYXRlUkFDQ2F0ZWdvcnkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgIHRoaXMud29ya2Zsb3dUeXBlICE9PSAnQUNUVycgJiZcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1xuICAgICAgICA/ICgodGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkRJU0FCTEVEKSxcbiAgICAgICAgICAodGhpcy5jb25maWcuZGlzYWJsZWRUZXh0ID1cbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkucGxhY2Vob2xkZXIpKVxuICAgICAgICA6ICh0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFkpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJBQ0NhdGVnb3J5KCkge1xuICAgIGlmICh0aGlzLmluaXRpYWxDYXRlZ29yeT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0Py5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgIHRoaXMuaW5pdGlhbENhdGVnb3J5Py5zb21lKChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3RcbiAgICAgICAgLmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeT8uc29tZSgoaWQ6IGFueSkgPT4gaWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgICAgIClcbiAgICAgICAgLm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogY2F0ZWdvcnk/Lm5hbWUsXG4gICAgICAgICAgdmFsdWU6IGNhdGVnb3J5Py5faWQsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdD8uZmlsdGVyKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICB0aGlzLmluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnk/LnNvbWUoXG4gICAgICAgICAgICAoaWQ6IGFueSkgPT4gaWQgPT09IGNhdGVnb3J5Py5faWRcbiAgICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxJdGVtcyA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdFxuICAgICAgICAuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgIHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8uaW5jbHVkZXMoY2F0ZWdvcnk/Ll9pZClcbiAgICAgICAgKVxuICAgICAgICAubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBjYXRlZ29yeT8ubmFtZSxcbiAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zLCB0aGlzLnBheWxvYWQ/LmFkZGl0aW9uYWxfY2F0ZWdvcnk/LmlkcywgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QsICdhZGQgY2hlY2sgNicpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUFDVFdDYXRlZ29yeSgpIHtcbiAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3Q/LmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeS5zb21lKChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXMgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3RcbiAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+IHRoaXMuaW5pdGlhbENhdGVnb3J5LmluY2x1ZGVzKGNhdGVnb3J5Py5faWQpKVxuICAgICAgLm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHNhdmVTZWxlY3RlZENhdGVnb3J5TGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5jYXRlZ29yeUNsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldFNlbGVjdGVkQ2F0ZWdvcnlMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3RcbiAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/Ll9pZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICAgIClcbiAgICAgIC5tYXAoKGNhdGVnb3J5OiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiBjYXRlZ29yeT8ubmFtZSxcbiAgICAgICAgdmFsdWU6IGNhdGVnb3J5Py5faWQsXG4gICAgICB9KSk7XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IGV2ZW50Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy5faWQpO1xuICAgIHRoaXMudXBkYXRlRmlsdGVyZWRDYXRlZ29yeUxpc3QoKTtcbiAgICB0aGlzLnBheWxvYWQuY2F0ZWdvcnkuY3VzdG9tX2ZpZWxkcyA9IGV2ZW50LmZsYXRNYXAoXG4gICAgICAoaXRlbTogYW55KSA9PiBpdGVtPy5jdXN0b21fZmllbGRzXG4gICAgKTtcbiAgICB0aGlzLm9uQ2F0ZWdvcnlDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzKTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJlZENhdGVnb3J5TGlzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXNlVHlwZVNlbGVjdGVkID09PSB0aGlzLmNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiAhdGhpcy5wYXlsb2FkLmNhdGVnb3J5Lmlkcy5pbmNsdWRlcyhjYXRlZ29yeS5faWQpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVTZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYWRkaXRpb25hbENhdGVnb3J5Q2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICBldmVudC5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy5faWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgICApXG4gICAgICAubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgICBsYWJlbDogY2F0ZWdvcnk/Lm5hbWUsXG4gICAgICAgIHZhbHVlOiBjYXRlZ29yeT8uX2lkLFxuICAgICAgfSkpO1xuICAgIHRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmlkcyA9IGV2ZW50Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy5faWQpO1xuICAgIHRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmN1c3RvbV9maWVsZHMgPSBldmVudC5mbGF0TWFwKFxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbT8uY3VzdG9tX2ZpZWxkc1xuICAgICk7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICBldmVudC5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy5faWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3QuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8uX2lkID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2F0ZWdvcnlDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJ2NhdGVnb3J5Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgIH1cbiAgfVxuXG4gIGFjdGl2YXRlQWRkaXRpb25hbENhdGVnb3J5U2VsZWN0b3IoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJ2FkZGl0aW9uYWxDYXRlZ29yeScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICB9XG4gIH1cblxuICBzZXRDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQ/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5yZXNldENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/LnZhbHVlID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICk7XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLm9uQ2F0ZWdvcnlDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzKTtcbiAgfVxuXG4gIHNldEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueVtdKSB7XG4gICAgaWYgKCFldmVudD8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlc2V0QWRkaXRpb25hbENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8udmFsdWUgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgICB0aGlzLnBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeS5pZHMgPVxuICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Py5faWRcbiAgICAgICk7XG4gIH1cblxuICBnZXQgY2F0ZWdvcnlFZGl0RGlzYWJsZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPVyAmJlxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJ1xuICAgICk7XG4gIH1cblxuICByZXNldENhdGVnb3J5TGlzdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IFtdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLmZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdCA9IFsuLi50aGlzLmNhc2VDYXRlZ29yeUxpc3RdO1xuICB9XG5cbiAgcmVzZXRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmFkZGl0aW9uYWxfY2F0ZWdvcnkuaWRzID0gW107XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG59XG4iXX0=
438
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jYXRlZ29yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvY2FzZS1jYXRlZ29yeS9jYXNlLWNhdGVnb3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsY0FBYyxFQUNkLFdBQVcsRUFDWCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7OztBQXFHakUsTUFBTSxPQUFPLHFCQUFxQjtJQWtDaEMsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsSUFBYSwwQkFBMEIsQ0FBQyxLQUFVO1FBQ2hELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDO0lBQzlDLENBQUM7SUFPRCxZQUFvQixXQUErQjtRQUEvQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE3Q25ELFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxXQUFXLENBQUM7UUFDNUIscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLFdBQU0sR0FBUTtZQUNaLEdBQUcsZUFBZSxDQUFDLGFBQWE7WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxXQUFX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O1FBQ3pCLElBQUksQ0FBQyw4QkFBOEIsR0FBRyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3RELENBQUM7K0dBalJVLHFCQUFxQjttR0FBckIscUJBQXFCLGlaQS9GdEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEZUOzs0RkFHVSxxQkFBcUI7a0JBakdqQyxTQUFTOytCQUNFLG1CQUFtQixZQUNuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0RlQ7eUdBa0NRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBR08sMEJBQTBCO3NCQUF0QyxLQUFLO2dCQUdHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgQUNUSU9OX0NPREUsXG4gIEZJRUxEX1NFTEVDVE9SLFxuICBSRVBPUlRfQ0FTRSxcbiAgU0VMRUNUT1JfQ09ORklHLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyByZXBvcnQgfSBmcm9tICcuLi9jYXNlLXR5cGUtc2xpZGVyL2Nhc2UtdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0QUNhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVwb3J0LWEtY2FzZS5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvckNvbmZpZyB9IGZyb20gJ0B2Y29tcGx5L2VkaXRvcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYXNlLWNhdGVnb3J5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgW2ltYWdlXT1cIkFTU0VUUy5jYXNlX2NhdGVnb3J5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZFNlbGVjdGVkKVwiXG4gICAgICBbYWN0aXZlXT1cImNhdGVnb3J5Q2xpY2tlZFwiXG4gICAgICBbY2hlY2tlZF09XCJwYXlsb2FkPy5jYXRlZ29yeT8uaWRzPy5sZW5ndGhcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW2VkaXREaXNhYmxlZF09XCJjYXRlZ29yeUVkaXREaXNhYmxlXCJcbiAgICAgICAgICBbcmVtb3ZhYmxlXT1cIiFjYXRlZ29yeUVkaXREaXNhYmxlXCJcbiAgICAgICAgICAoZmllbGRDbGlja2VkKT1cImFjdGl2YXRlU2VsZWN0b3IoJGV2ZW50KVwiXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2V0Q2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkudGl0bGVcIlxuICAgICAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgICAgPC9hcHAtZm9ybS1zZWxlY3RCb3g+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWcgb2YgcGF5bG9hZD8uY2F0ZWdvcnk/LmN1c3RvbV9maWVsZHNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7IHRhZz8ubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgPHZjb21wbHktZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZy52YWx1ZVwiXG4gICAgICAgICAgICBbZWRpdG9yQ29uZmlnXT1cImN1c3RvbUZpZWxkXCJcbiAgICAgICAgICA+PC92Y29tcGx5LWVkaXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1maWVsZC1ob2xkZXJcbiAgICAgICpuZ0lmPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcIlxuICAgICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0ZWQgPT09ICdSQydcIlxuICAgICAgW2FjdGl2ZV09XCJjYXRlZ29yeUNsaWNrZWRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cImFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXNcIlxuICAgICAgICAgIChmaWVsZENsaWNrZWQpPVwiYWN0aXZhdGVBZGRpdGlvbmFsQ2F0ZWdvcnlTZWxlY3RvcigkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtTGlzdENoYW5nZSk9XCJzZXRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuYWRkaXRpb25hbF9jYXRlZ29yeS50aXRsZVwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtZm9ybS1ncm91cFwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiBwYXlsb2FkPy5hZGRpdGlvbmFsX2NhdGVnb3J5Py5jdXN0b21fZmllbGRzXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LWNvbnRyb2wtcGFuZWxcIj57eyB0YWc/Lm5hbWUgfX08L2xhYmVsPlxuICAgICAgICAgIDx2Y29tcGx5LWVkaXRvclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0YWcudmFsdWVcIlxuICAgICAgICAgICAgW2VkaXRvckNvbmZpZ109XCJjdXN0b21GaWVsZFwiXG4gICAgICAgICAgPjwvdmNvbXBseS1lZGl0b3I+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hcHAtZmllbGQtaG9sZGVyPlxuICAgIDxhcHAtY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb25cbiAgICAgICpuZ0lmPVwiY2F0ZWdvcnlDbGlja2VkXCJcbiAgICAgIFtjYXRlZ29yeUxpc3RdPVwiY2FzZUNhdGVnb3J5TGlzdFwiXG4gICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICBbbG9hZGluZ109XCJjYXRlZ29yeUxpc3RMb2FkZXJcIlxuICAgICAgW3NlbGVjdGVkTGlzdF09XCJzZWxlY3RlZENhdGVnb3J5TGlzdFwiXG4gICAgICBbc2VsZWN0aW9uTW9kZV09XCJcbiAgICAgICAgY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuUkVQT1JUX0NBU0UgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSdcbiAgICAgIFwiXG4gICAgICAoY2FuY2VsKT1cImFjdGl2YXRlU2VsZWN0b3IoZmFsc2UpXCJcbiAgICAgIChuZXh0KT1cInNhdmVTZWxlY3RlZENhdGVnb3J5TGlzdCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24+XG4gICAgPGFwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvblxuICAgICAgKm5nSWY9XCJhZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkXCJcbiAgICAgIFtjYXRlZ29yeUxpc3RdPVwiXG4gICAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICAgIHBheWxvYWQ/LmNhdGVnb3J5Py5pZHM/Lmxlbmd0aFxuICAgICAgICAgID8gZmlsdGVyZWRDYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAgICAgOiBjYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICBcIlxuICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgW2xvYWRpbmddPVwiY2F0ZWdvcnlMaXN0TG9hZGVyXCJcbiAgICAgIFtzZWxlY3RlZExpc3RdPVwic2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIChjYW5jZWwpPVwiYWN0aXZhdGVBZGRpdGlvbmFsQ2F0ZWdvcnlTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgKG5leHQpPVwic2F2ZVNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VDYXRlZ29yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBjYXRlZ29yeVRleHRzID0gUkVQT1JUX0NBU0U7XG4gIGNhc2VDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIGNvbmZpZzogYW55ID0ge1xuICAgIC4uLlNFTEVDVE9SX0NPTkZJRy5DQVNFX0NBVEVHT1JZLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLmNhdGVnb3J5VGV4dHMuY2FzZV9kZXRhaWxzLmNhdGVnb3J5LnBsYWNlaG9sZGVyLFxuICB9O1xuICBjYXRlZ29yeUNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgYWRkaXRpb25hbENhdGVnb3J5Q2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBjYXRlZ29yeUxpc3RMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgU2VsZWN0aW9uU3RhdGUgPSBTZWxlY3Rpb25TdGF0ZTtcbiAgU2VsZWN0aW9uUG9wdXBTdGF0ZSA9IFNlbGVjdGlvblBvcHVwU3RhdGU7XG4gIHN0YXRlOiBzdHJpbmcgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgYWRkaXRpb25hbENhdGVnb3J5U3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZEFkZGl0aW9uYWxJdGVtczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRDYXRlZ29yeUxpc3Q6IGFueVtdID0gW107XG4gIHNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgaW5pdGlhbENhdGVnb3J5OiBhbnk7XG4gIGNhc2VUeXBlID0gcmVwb3J0O1xuICBmaWVsZFNlbGVjdG9yID0gRklFTERfU0VMRUNUT1I7XG4gIGN1c3RvbUZpZWxkOiBFZGl0b3JDb25maWcgPSB7XG4gICAgbW9kZTogJ3ByaW1lJyxcbiAgICBjb2xvclBhbGV0dGU6IHRydWUsXG4gICAgbGluazogdHJ1ZSxcbiAgICBwbGFjZWhvbGRlcjogJ0FkZCB2YWx1ZScsXG4gIH07XG4gIGluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnk6IGFueTtcbiAgZmlsdGVyZWRDYXNlQ2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHBheWxvYWQ6IGFueSA9IHt9O1xuICBASW5wdXQoKSBmaWVsZFNlbGVjdGVkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY2FzZVR5cGVTZWxlY3RlZDogYW55O1xuICBASW5wdXQoKSBzZXQgaW5pdGlhbFNlbGVjdGlvbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbml0aWFsQ2F0ZWdvcnkgPSB2YWx1ZT8uaWRzO1xuICB9XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsQWRkaXRpb25hbFNlbGVjdGlvbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5ID0gdmFsdWU/LmlkcztcbiAgfVxuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgd29ya2Zsb3dUeXBlOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgb25DYXRlZ29yeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZmllbGRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjYXNlU2VydmljZTogUmVwb3J0QUNhc2VTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZ2V0QWxsQ2F0ZWdvcmllcygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydwYXlsb2FkJ10pIHtcbiAgICAgIGlmICghdGhpcy5wYXlsb2FkPy5jYXRlZ29yeT8uaWRzPy5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QgPSBbXTtcbiAgICAgIH1cbiAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxTZWxlY3Rpb24nXSB8fCBjaGFuZ2VzWydpbml0aWFsQWRkaXRpb25hbFNlbGVjdGlvbiddKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlSW5pdGlhbENhdGVnb3J5KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsQ2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLmNhdGVnb3J5TGlzdExvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jYXNlU2VydmljZS5nZXRBbGxDYXRlZ29yaWVzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0ID0gcmVzPy5kYXRhO1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0TG9hZGVyID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwb3B1bGF0ZUluaXRpYWxDYXRlZ29yeSgpIHtcbiAgICBpZiAodGhpcy5pbml0aWFsQ2F0ZWdvcnk/Lmxlbmd0aCAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ0FDVFcnKSB7XG4gICAgICB0aGlzLnVwZGF0ZUFDVFdDYXRlZ29yeSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pbml0aWFsQ2F0ZWdvcnk/Lmxlbmd0aCAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ1JBQycpIHtcbiAgICAgIHRoaXMudXBkYXRlUkFDQ2F0ZWdvcnkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgIHRoaXMud29ya2Zsb3dUeXBlICE9PSAnQUNUVycgJiZcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPV1xuICAgICAgICA/ICgodGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkRJU0FCTEVEKSxcbiAgICAgICAgICAodGhpcy5jb25maWcuZGlzYWJsZWRUZXh0ID1cbiAgICAgICAgICAgIHRoaXMuY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkucGxhY2Vob2xkZXIpKVxuICAgICAgICA6ICh0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuRU1QVFkpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVJBQ0NhdGVnb3J5KCkge1xuICAgIGlmICh0aGlzLmluaXRpYWxDYXRlZ29yeT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0Py5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgIHRoaXMuaW5pdGlhbENhdGVnb3J5Py5zb21lKChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3RcbiAgICAgICAgLmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeT8uc29tZSgoaWQ6IGFueSkgPT4gaWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgICAgIClcbiAgICAgICAgLm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogY2F0ZWdvcnk/Lm5hbWUsXG4gICAgICAgICAgdmFsdWU6IGNhdGVnb3J5Py5faWQsXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdD8uZmlsdGVyKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICB0aGlzLmluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnk/LnNvbWUoXG4gICAgICAgICAgICAoaWQ6IGFueSkgPT4gaWQgPT09IGNhdGVnb3J5Py5faWRcbiAgICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxJdGVtcyA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdFxuICAgICAgICAuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgIHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8uaW5jbHVkZXMoY2F0ZWdvcnk/Ll9pZClcbiAgICAgICAgKVxuICAgICAgICAubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBjYXRlZ29yeT8ubmFtZSxcbiAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zLCB0aGlzLnBheWxvYWQ/LmFkZGl0aW9uYWxfY2F0ZWdvcnk/LmlkcywgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QsICdhZGQgY2hlY2sgNicpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUFDVFdDYXRlZ29yeSgpIHtcbiAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3Q/LmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeS5zb21lKChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXMgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3RcbiAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+IHRoaXMuaW5pdGlhbENhdGVnb3J5LmluY2x1ZGVzKGNhdGVnb3J5Py5faWQpKVxuICAgICAgLm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHNhdmVTZWxlY3RlZENhdGVnb3J5TGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5jYXRlZ29yeUNsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldFNlbGVjdGVkQ2F0ZWdvcnlMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3RcbiAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/Ll9pZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICAgIClcbiAgICAgIC5tYXAoKGNhdGVnb3J5OiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiBjYXRlZ29yeT8ubmFtZSxcbiAgICAgICAgdmFsdWU6IGNhdGVnb3J5Py5faWQsXG4gICAgICB9KSk7XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IGV2ZW50Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy5faWQpO1xuICAgIHRoaXMudXBkYXRlRmlsdGVyZWRDYXRlZ29yeUxpc3QoKTtcbiAgICB0aGlzLnBheWxvYWQuY2F0ZWdvcnkuY3VzdG9tX2ZpZWxkcyA9IGV2ZW50LmZsYXRNYXAoXG4gICAgICAoaXRlbTogYW55KSA9PiBpdGVtPy5jdXN0b21fZmllbGRzXG4gICAgKTtcbiAgICB0aGlzLm9uQ2F0ZWdvcnlDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzKTtcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJlZENhdGVnb3J5TGlzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXNlVHlwZVNlbGVjdGVkID09PSB0aGlzLmNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiAhdGhpcy5wYXlsb2FkLmNhdGVnb3J5Lmlkcy5pbmNsdWRlcyhjYXRlZ29yeS5faWQpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVTZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYWRkaXRpb25hbENhdGVnb3J5Q2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICBldmVudC5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy5faWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgICApXG4gICAgICAubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgICBsYWJlbDogY2F0ZWdvcnk/Lm5hbWUsXG4gICAgICAgIHZhbHVlOiBjYXRlZ29yeT8uX2lkLFxuICAgICAgfSkpO1xuICAgIHRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmlkcyA9IGV2ZW50Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy5faWQpO1xuICAgIHRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmN1c3RvbV9maWVsZHMgPSBldmVudC5mbGF0TWFwKFxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbT8uY3VzdG9tX2ZpZWxkc1xuICAgICk7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICBldmVudC5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy5faWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3QuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8uX2lkID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2F0ZWdvcnlDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJ2NhdGVnb3J5Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgIH1cbiAgfVxuXG4gIGFjdGl2YXRlQWRkaXRpb25hbENhdGVnb3J5U2VsZWN0b3IoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJ2FkZGl0aW9uYWxDYXRlZ29yeScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICB9XG4gIH1cblxuICBzZXRDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQ/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5yZXNldENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/LnZhbHVlID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICk7XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLm9uQ2F0ZWdvcnlDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzKTtcbiAgfVxuXG4gIHNldEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueVtdKSB7XG4gICAgaWYgKCFldmVudD8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlc2V0QWRkaXRpb25hbENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8udmFsdWUgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgICB0aGlzLnBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeS5pZHMgPVxuICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Py5faWRcbiAgICAgICk7XG4gIH1cblxuICBnZXQgY2F0ZWdvcnlFZGl0RGlzYWJsZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPVyAmJlxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJ1xuICAgICk7XG4gIH1cblxuICByZXNldENhdGVnb3J5TGlzdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IFtdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLmZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdCA9IFsuLi50aGlzLmNhc2VDYXRlZ29yeUxpc3RdO1xuICB9XG5cbiAgcmVzZXRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmFkZGl0aW9uYWxfY2F0ZWdvcnkuaWRzID0gW107XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG59XG4iXX0=
@@ -237,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
237
237
  }], fieldClicked: [{
238
238
  type: Output
239
239
  }] } });
240
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1vd25lcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2Nhc2Utb3duZXJzL2Nhc2Utb3duZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQTRDL0MsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUIsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBT0QsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQzFELFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQVE7WUFDWixHQUFHLG1CQUFtQjtZQUN0QixXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDNUQsS0FBSyxFQUFFLEVBQUU7WUFDVCxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMs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QztJQUNKLENBQUM7K0dBaEtVLG1CQUFtQjttR0FBbkIsbUJBQW1CLG9SQXhDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1Q7OzRGQUdVLG1CQUFtQjtrQkExQy9CLFNBQVM7K0JBQ0UsaUJBQWlCLFlBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNUO3lHQXdCUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXBvcnRBQ2FzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXBvcnQtYS1jYXNlLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhc2Utb3duZXJzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgW2ltYWdlXT1cIkFTU0VUUy5jYXNlX293bmVyc1wiXG4gICAgICBbYWN0aXZlXT1cIm93bmVyQ2xpY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZmllbGRTZWxlY3Rvcj8uaW5jbHVkZXMoZmllbGRTZWxlY3RlZClcIlxuICAgICAgW2NoZWNrZWRdPVwicGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm93bmVycz8ubGVuZ3RoXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyIGZpZWxkPlxuICAgICAgICA8YXBwLWZvcm0tc2VsZWN0Qm94XG4gICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgICAgW3BvcHVwU3RhdGVdPVwiU2VsZWN0aW9uUG9wdXBTdGF0ZS5TRUxFQ1RJT05fRElBTE9HXCJcbiAgICAgICAgICBbY2hpcEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxuICAgICAgICAgIChmaWVsZENsaWNrZWQpPVwiYWN0aXZhdGVTZWxlY3RvcigkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtTGlzdENoYW5nZSk9XCJzZXRPd25lckxpc3QoJGV2ZW50KVwiXG4gICAgICAgICAgW2lzRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5pc0Vycm9yXCJcbiAgICAgICAgICBbZXJyb3JNZXNzYWdlXT1cInZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIubWVzc2FnZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ2FzZU93bmVyU2VsZWN0aW9uRGlzYWJsZWQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXZjLWxhYmVsXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJvd25lclRleHRzLmNhc2VfZGV0YWlscy5vd25lcnMudGl0bGVcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIm93bmVyc0hlbHBUZXh0XCJcbiAgICAgICAgICA+PC9hcHAtdmMtbGFiZWw+XG4gICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hcHAtZmllbGQtaG9sZGVyPlxuICAgIDxhcHAtZ3JvdXAtdXNlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJvd25lckNsaWNrZWRcIlxuICAgICAgW3VzZXJzTGlzdF09XCJjYXNlT3duZXJzTGlzdFwiXG4gICAgICBbdXNlcklkS2V5XT1cIidfaWQnXCJcbiAgICAgIFtzZWxlY3RlZFVzZXJzXT1cInNlbGVjdGVkT3duZXJMaXN0XCJcbiAgICAgIChjbG9zZVVzZXJzTGlzdCk9XCJhY3RpdmF0ZVNlbGVjdG9yKGZhbHNlKVwiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRPd25lckxpc3QoJGV2ZW50KVwiXG4gICAgPjwvYXBwLWdyb3VwLXVzZXJzLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VPd25lcnNDb21wb25lbnQge1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIG93bmVyVGV4dHMgPSBSRVBPUlRfQ0FTRTtcbiAgY2FzZU93bmVyc0xpc3Q6IGFueVtdID0gW107XG4gIGNvbmZpZzogYW55ID0ge1xuICAgIC4uLkRFRkFVTFRfRk9STV9DT05GSUcsXG4gICAgcGxhY2Vob2xkZXI6IHRoaXMub3duZXJUZXh0cy5jYXNlX2RldGFpbHMub3duZXJzLnBsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgICBkaXNhYmxlZFRleHQ6IHRoaXMub3duZXJUZXh0cy5jYXNlX2RldGFpbHMub3duZXJzLmRpc2FibGVkVGV4dCxcbiAgfTtcbiAgb3duZXJzSGVscFRleHQgPSB0aGlzLm93bmVyVGV4dHMuY2FzZV9kZXRhaWxzLm93bmVycy5oZWxwVGV4dDtcbiAgb3duZXJDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIG93bmVyTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZE93bmVyTGlzdDogYW55W10gPSBbXTtcbiAgd29ya2Zsb3dEZXRhaWxzOiBhbnkgPSB7fTtcbiAgZmllbGRTZWxlY3RvciA9IEZJRUxEX1NFTEVDVE9SO1xuXG4gIEBJbnB1dCgpIHBheWxvYWQ6IGFueSA9IHt9O1xuICBASW5wdXQoKSBmaWVsZFNlbGVjdGVkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2V0IGluaXRpYWxTZWxlY3Rpb24odmFsdWU6IGFueSkge1xuICAgIGlmICh2YWx1ZT8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB2YWx1ZTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgd29ya2Zsb3dJZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBmaWVsZENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXBvcnRBQ2FzZVNlcnZpY2U6IFJlcG9ydEFDYXNlU2VydmljZSkge1xuICAgIHRoaXMuZ2V0V29ya2Zsb3dEZXRhaWxzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy53b3JrZmxvd0lkKSB7XG4gICAgICB0aGlzLmdldENhc2VPd25lcnNMaXN0KHRoaXMud29ya2Zsb3dJZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0V29ya2Zsb3dEZXRhaWxzKCkge1xuICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLndvcmtmbG93JC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy53b3JrZmxvd0RldGFpbHMgPSByZXM/LmRhdGE/LndvcmtmbG93X2RldGFpbHM7XG4gICAgICBpZiAodGhpcy53b3JrZmxvd0RldGFpbHM/Ll9pZCkge1xuICAgICAgICB0aGlzLmdldENhc2VPd25lcnNMaXN0KHRoaXMud29ya2Zsb3dEZXRhaWxzPy5faWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2FzZU93bmVyc0xpc3Qod29ya2Zsb3dJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5vd25lckxpc3RMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLmdldENhc2VPd25lcnMod29ya2Zsb3dJZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jYXNlT3duZXJzTGlzdCA9IHJlcz8uZGF0YT8ubWFwKChvd25lcjogYW55KSA9PiAoe1xuICAgICAgICAuLi5vd25lcixcbiAgICAgICAgZW1wbG95ZWVfbmFtZTogb3duZXI/Lm1lbWJlcl9uYW1lLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5zZXREZWZhdWx0T3duZXIoKTtcbiAgICAgIGlmKHRoaXMubW9kZSA9PT0gJ0VESVQnKXtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZU93bmVyTGlzdCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5vd25lckxpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHBvcHVsYXRlT3duZXJMaXN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRPd25lckxpc3QgPSB0aGlzLmNhc2VPd25lcnNMaXN0LmZpbHRlcigob3duZXI6IGFueSkgPT5cbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhvd25lcj8uX2lkKVxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5jYXNlT3duZXJzTGlzdFxuICAgICAgLmZpbHRlcigob3duZXI6IGFueSkgPT4gdGhpcy5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKG93bmVyPy5faWQpKVxuICAgICAgLm1hcCgob3duZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IG93bmVyPy5lbXBsb3llZV9uYW1lLFxuICAgICAgICB2YWx1ZTogb3duZXI/Ll9pZCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHNldERlZmF1bHRPd25lcigpIHtcbiAgICBjb25zdCB7IGNyZWF0ZWRfYnkgfSA9IHRoaXMud29ya2Zsb3dEZXRhaWxzIHx8IHt9O1xuICAgIGlmICghY3JlYXRlZF9ieSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGVmYXVsdE93bmVyID0gdGhpcy5jYXNlT3duZXJzTGlzdD8uZmluZChcbiAgICAgIChvd25lcjogYW55KSA9PiBvd25lcj8uX2lkID09PSBjcmVhdGVkX2J5XG4gICAgKTtcbiAgICBpZiAoIWRlZmF1bHRPd25lcikgcmV0dXJuO1xuXG4gICAgY29uc3QgaXNPd25lckFscmVhZHlTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRPd25lckxpc3Quc29tZShcbiAgICAgIChvd25lcikgPT4gb3duZXI/Ll9pZCA9PT0gZGVmYXVsdE93bmVyPy5faWRcbiAgICApO1xuICAgIGlmIChpc093bmVyQWxyZWFkeVNlbGVjdGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdGVkT3duZXJMaXN0LnB1c2goZGVmYXVsdE93bmVyKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaCh7XG4gICAgICBsYWJlbDogZGVmYXVsdE93bmVyPy5lbXBsb3llZV9uYW1lLFxuICAgICAgdmFsdWU6IGRlZmF1bHRPd25lcj8uX2lkLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0UGF5bG9hZChbZGVmYXVsdE93bmVyPy5faWRdKTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5tZXNzYWdlID0gJyc7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICB9XG5cbiAgc2F2ZVNlbGVjdGVkT3duZXJMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm93bmVyQ2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRPd25lcnNMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLmNhc2VPd25lcnNMaXN0XG4gICAgICA/LmZpbHRlcigob3duZXI6IGFueSkgPT4gZXZlbnQ/LmluY2x1ZGVzKG93bmVyPy5faWQpKVxuICAgICAgLm1hcCgob3duZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IG93bmVyPy5lbXBsb3llZV9uYW1lLFxuICAgICAgICB2YWx1ZTogb3duZXI/Ll9pZCxcbiAgICAgIH0pKTtcbiAgICB0aGlzLnNldFBheWxvYWQoZXZlbnQpO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5pc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZU93bmVyLm1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gIH1cblxuICBzZXRTZWxlY3RlZE93bmVyc0xpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRPd25lckxpc3QgPSB0aGlzLmNhc2VPd25lcnNMaXN0Py5maWx0ZXIoKG93bmVyOiBhbnkpID0+XG4gICAgICBldmVudD8uaW5jbHVkZXMob3duZXI/Ll9pZClcbiAgICApO1xuICB9XG5cbiAgYWN0aXZhdGVTZWxlY3RvcihhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLm93bmVyQ2xpY2tlZCA9IGFjdGl2ZTtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KGFjdGl2ZSA/ICdDQVNFX09XTkVSJyA6ICcnKTtcbiAgfVxuXG4gIHNldE93bmVyTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gZXZlbnQgfHwgW107XG4gICAgdGhpcy5zZWxlY3RlZE93bmVyTGlzdCA9IHRoaXMuY2FzZU93bmVyc0xpc3Q/LmZpbHRlcigob3duZXI6IGFueSkgPT5cbiAgICAgIGV2ZW50Py5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy52YWx1ZSA9PT0gb3duZXI/Ll9pZClcbiAgICApO1xuICAgIGNvbnN0IG93bmVySWRzID0gZXZlbnQ/Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy52YWx1ZSkgfHwgW107XG4gICAgdGhpcy5zZXRQYXlsb2FkKG93bmVySWRzKTtcbiAgICB0aGlzLnN0YXRlID0gZXZlbnQ/Lmxlbmd0aCA/IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEIDogU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIH1cblxuICBzZXRQYXlsb2FkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cgPSB7XG4gICAgICAuLi50aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3csXG4gICAgICBvd25lcnM6IGV2ZW50LFxuICAgIH07XG4gIH1cblxuICBpc0Nhc2VPd25lclNlbGVjdGlvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhhc1ZhbGlkUmNEZXRhaWxzID1cbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8uaWRzPy5sZW5ndGggPT09IDEgfHxcbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8ubWFpbl9yY19pZDtcblxuICAgIHJldHVybiAoXG4gICAgICAhaGFzVmFsaWRSY0RldGFpbHMgfHxcbiAgICAgICF0aGlzLnBheWxvYWQ/LmNhc2VfdHlwZT8uaWQgfHxcbiAgICAgICF0aGlzLnBheWxvYWQ/LnByaW9yaXR5Py5pZFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1vd25lcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2Nhc2Utb3duZXJzL2Nhc2Utb3duZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQTRDL0MsTUFBTSxPQUFPLG1CQUFtQjtJQXVCOUIsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBT0QsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFsQzFELFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQVE7WUFDWixHQUFHLG1CQUFtQjtZQUN0QixXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDNUQsS0FBSyxFQUFFLEVBQUU7WUFDVCxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVk7U0FDL0QsQ0FBQztRQUNGLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUM5RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUMxQyxVQUFLLEdBQVcsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUNyQyxrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixzQkFBaUIsR0FBVSxFQUFFLENBQUM7UUFDOUIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxjQUFjLENBQUM7UUFFdEIsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUNsQixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQU8zQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFFakIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDO1lBQ25ELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ25EO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBa0I7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN2RSxJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNwRCxHQUFHLEtBQUs7Z0JBQ1IsYUFBYSxFQUFFLEtBQUssRUFBRSxXQUFXO2FBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ0osSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUM7Z0JBQ3RCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO1lBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYzthQUNyQyxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMvRCxHQUFHLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEIsS0FBSyxFQUFFLEtBQUssRUFBRSxhQUFhO1lBQzNCLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRztTQUNsQixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUV4QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FDNUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssVUFBVSxDQUMxQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBRTFCLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FDeEQsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEtBQUssWUFBWSxFQUFFLEdBQUcsQ0FDNUMsQ0FBQztRQUNGLElBQUksc0JBQXNCO1lBQUUsT0FBTztRQUVuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3RCLEtBQUssRUFBRSxZQUFZLEVBQUUsYUFBYTtZQUNsQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWM7WUFDdEMsRUFBRSxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2FBQ3BELEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQixLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWE7WUFDM0IsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHO1NBQ2xCLENBQUMsQ0FBQyxDQUFDO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQy9DLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ2xFLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQWU7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDbEUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQ2pFLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQzlFLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRztZQUM1QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYztZQUM5QixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQztZQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFFdkMsT0FBTyxDQUNMLENBQUMsaUJBQWlCO1lBQ2xCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUM1QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7K0dBaEtVLG1CQUFtQjttR0FBbkIsbUJBQW1CLG9SQXhDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQ1Q7OzRGQUdVLG1CQUFtQjtrQkExQy9CLFNBQVM7K0JBQ0UsaUJBQWlCLFlBQ2pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUNUO3lHQXdCUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBTUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIEFDVElPTl9DT0RFLFxuICBERUZBVUxUX0ZPUk1fQ09ORklHLFxuICBGSUVMRF9TRUxFQ1RPUixcbiAgUkVQT1JUX0NBU0UsXG4gIFNlbGVjdGlvblBvcHVwU3RhdGUsXG4gIFNlbGVjdGlvblN0YXRlLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzJztcbmltcG9ydCB7IFJlcG9ydEFDYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcG9ydC1hLWNhc2Uuc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2FzZS1vd25lcnMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLmNhc2Vfb3duZXJzXCJcbiAgICAgIFthY3RpdmVdPVwib3duZXJDbGlja2VkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZFNlbGVjdGVkKVwiXG4gICAgICBbY2hlY2tlZF09XCJwYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ub3duZXJzPy5sZW5ndGhcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgIChzZWxlY3RlZEl0ZW1MaXN0Q2hhbmdlKT1cInNldE93bmVyTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgICBbaXNFcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3IuY2FzZU93bmVyLmlzRXJyb3JcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwidmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5tZXNzYWdlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDYXNlT3duZXJTZWxlY3Rpb25EaXNhYmxlZCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtdmMtbGFiZWxcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICBbbGFiZWxUZXh0XT1cIm93bmVyVGV4dHMuY2FzZV9kZXRhaWxzLm93bmVycy50aXRsZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwib3duZXJzSGVscFRleHRcIlxuICAgICAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgICAgPC9hcHAtZm9ybS1zZWxlY3RCb3g+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1ncm91cC11c2Vycy1saXN0XG4gICAgICAqbmdJZj1cIm93bmVyQ2xpY2tlZFwiXG4gICAgICBbdXNlcnNMaXN0XT1cImNhc2VPd25lcnNMaXN0XCJcbiAgICAgIFt1c2VySWRLZXldPVwiJ19pZCdcIlxuICAgICAgW3NlbGVjdGVkVXNlcnNdPVwic2VsZWN0ZWRPd25lckxpc3RcIlxuICAgICAgKGNsb3NlVXNlcnNMaXN0KT1cImFjdGl2YXRlU2VsZWN0b3IoZmFsc2UpXCJcbiAgICAgIChzYXZlU2VsZWN0ZWRMaXN0KT1cInNhdmVTZWxlY3RlZE93bmVyTGlzdCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtZ3JvdXAtdXNlcnMtbGlzdD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4uLy4uLy4uL2Zvcm1zLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZU93bmVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBvd25lclRleHRzID0gUkVQT1JUX0NBU0U7XG4gIGNhc2VPd25lcnNMaXN0OiBhbnlbXSA9IFtdO1xuICBjb25maWc6IGFueSA9IHtcbiAgICAuLi5ERUZBVUxUX0ZPUk1fQ09ORklHLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLm93bmVyVGV4dHMuY2FzZV9kZXRhaWxzLm93bmVycy5wbGFjZWhvbGRlcixcbiAgICBpdGVtczogW10sXG4gICAgZGlzYWJsZWRUZXh0OiB0aGlzLm93bmVyVGV4dHMuY2FzZV9kZXRhaWxzLm93bmVycy5kaXNhYmxlZFRleHQsXG4gIH07XG4gIG93bmVyc0hlbHBUZXh0ID0gdGhpcy5vd25lclRleHRzLmNhc2VfZGV0YWlscy5vd25lcnMuaGVscFRleHQ7XG4gIG93bmVyQ2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBvd25lckxpc3RMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgU2VsZWN0aW9uU3RhdGUgPSBTZWxlY3Rpb25TdGF0ZTtcbiAgU2VsZWN0aW9uUG9wdXBTdGF0ZSA9IFNlbGVjdGlvblBvcHVwU3RhdGU7XG4gIHN0YXRlOiBzdHJpbmcgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgc2VsZWN0ZWRJdGVtczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRPd25lckxpc3Q6IGFueVtdID0gW107XG4gIHdvcmtmbG93RGV0YWlsczogYW55ID0ge307XG4gIGZpZWxkU2VsZWN0b3IgPSBGSUVMRF9TRUxFQ1RPUjtcblxuICBASW5wdXQoKSBwYXlsb2FkOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZmllbGRTZWxlY3RlZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWU/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHdvcmtmbG93SWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB2YWxpZGF0aW9uRXJyb3I6IGFueSA9IHt9O1xuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgZmllbGRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVwb3J0QUNhc2VTZXJ2aWNlOiBSZXBvcnRBQ2FzZVNlcnZpY2UpIHtcbiAgICB0aGlzLmdldFdvcmtmbG93RGV0YWlscygpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud29ya2Zsb3dJZCkge1xuICAgICAgdGhpcy5nZXRDYXNlT3duZXJzTGlzdCh0aGlzLndvcmtmbG93SWQpO1xuICAgIH1cbiAgfVxuXG4gIGdldFdvcmtmbG93RGV0YWlscygpIHtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS53b3JrZmxvdyQuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIHRoaXMud29ya2Zsb3dEZXRhaWxzID0gcmVzPy5kYXRhPy53b3JrZmxvd19kZXRhaWxzO1xuICAgICAgaWYgKHRoaXMud29ya2Zsb3dEZXRhaWxzPy5faWQpIHtcbiAgICAgICAgdGhpcy5nZXRDYXNlT3duZXJzTGlzdCh0aGlzLndvcmtmbG93RGV0YWlscz8uX2lkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldENhc2VPd25lcnNMaXN0KHdvcmtmbG93SWQ6IHN0cmluZykge1xuICAgIHRoaXMub3duZXJMaXN0TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5nZXRDYXNlT3duZXJzKHdvcmtmbG93SWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY2FzZU93bmVyc0xpc3QgPSByZXM/LmRhdGE/Lm1hcCgob3duZXI6IGFueSkgPT4gKHtcbiAgICAgICAgLi4ub3duZXIsXG4gICAgICAgIGVtcGxveWVlX25hbWU6IG93bmVyPy5tZW1iZXJfbmFtZSxcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdE93bmVyKCk7XG4gICAgICBpZih0aGlzLm1vZGUgPT09ICdFRElUJyl7XG4gICAgICAgIHRoaXMucG9wdWxhdGVPd25lckxpc3QoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3duZXJMaXN0TG9hZGVyID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwb3B1bGF0ZU93bmVyTGlzdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3duZXJMaXN0ID0gdGhpcy5jYXNlT3duZXJzTGlzdC5maWx0ZXIoKG93bmVyOiBhbnkpID0+XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMuaW5jbHVkZXMob3duZXI/Ll9pZClcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuY2FzZU93bmVyc0xpc3RcbiAgICAgIC5maWx0ZXIoKG93bmVyOiBhbnkpID0+IHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhvd25lcj8uX2lkKSlcbiAgICAgIC5tYXAoKG93bmVyOiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiBvd25lcj8uZW1wbG95ZWVfbmFtZSxcbiAgICAgICAgdmFsdWU6IG93bmVyPy5faWQsXG4gICAgICB9KSk7XG4gIH1cblxuICBzZXREZWZhdWx0T3duZXIoKSB7XG4gICAgY29uc3QgeyBjcmVhdGVkX2J5IH0gPSB0aGlzLndvcmtmbG93RGV0YWlscyB8fCB7fTtcbiAgICBpZiAoIWNyZWF0ZWRfYnkpIHJldHVybjtcblxuICAgIGNvbnN0IGRlZmF1bHRPd25lciA9IHRoaXMuY2FzZU93bmVyc0xpc3Q/LmZpbmQoXG4gICAgICAob3duZXI6IGFueSkgPT4gb3duZXI/Ll9pZCA9PT0gY3JlYXRlZF9ieVxuICAgICk7XG4gICAgaWYgKCFkZWZhdWx0T3duZXIpIHJldHVybjtcblxuICAgIGNvbnN0IGlzT3duZXJBbHJlYWR5U2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkT3duZXJMaXN0LnNvbWUoXG4gICAgICAob3duZXIpID0+IG93bmVyPy5faWQgPT09IGRlZmF1bHRPd25lcj8uX2lkXG4gICAgKTtcbiAgICBpZiAoaXNPd25lckFscmVhZHlTZWxlY3RlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZE93bmVyTGlzdC5wdXNoKGRlZmF1bHRPd25lcik7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goe1xuICAgICAgbGFiZWw6IGRlZmF1bHRPd25lcj8uZW1wbG95ZWVfbmFtZSxcbiAgICAgIHZhbHVlOiBkZWZhdWx0T3duZXI/Ll9pZCxcbiAgICB9KTtcbiAgICB0aGlzLnNldFBheWxvYWQoW2RlZmF1bHRPd25lcj8uX2lkXSk7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZU93bmVyLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIubWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgfVxuXG4gIHNhdmVTZWxlY3RlZE93bmVyTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5vd25lckNsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldFNlbGVjdGVkT3duZXJzTGlzdChldmVudCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5jYXNlT3duZXJzTGlzdFxuICAgICAgPy5maWx0ZXIoKG93bmVyOiBhbnkpID0+IGV2ZW50Py5pbmNsdWRlcyhvd25lcj8uX2lkKSlcbiAgICAgIC5tYXAoKG93bmVyOiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiBvd25lcj8uZW1wbG95ZWVfbmFtZSxcbiAgICAgICAgdmFsdWU6IG93bmVyPy5faWQsXG4gICAgICB9KSk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKGV2ZW50KTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5tZXNzYWdlID0gJyc7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRPd25lcnNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3duZXJMaXN0ID0gdGhpcy5jYXNlT3duZXJzTGlzdD8uZmlsdGVyKChvd25lcjogYW55KSA9PlxuICAgICAgZXZlbnQ/LmluY2x1ZGVzKG93bmVyPy5faWQpXG4gICAgKTtcbiAgfVxuXG4gIGFjdGl2YXRlU2VsZWN0b3IoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgdGhpcy5vd25lckNsaWNrZWQgPSBhY3RpdmU7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdChhY3RpdmUgPyAnQ0FTRV9PV05FUicgOiAnJyk7XG4gIH1cblxuICBzZXRPd25lckxpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IGV2ZW50IHx8IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRPd25lckxpc3QgPSB0aGlzLmNhc2VPd25lcnNMaXN0Py5maWx0ZXIoKG93bmVyOiBhbnkpID0+XG4gICAgICBldmVudD8uc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8udmFsdWUgPT09IG93bmVyPy5faWQpXG4gICAgKTtcbiAgICBjb25zdCBvd25lcklkcyA9IGV2ZW50Py5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8udmFsdWUpIHx8IFtdO1xuICAgIHRoaXMuc2V0UGF5bG9hZChvd25lcklkcyk7XG4gICAgdGhpcy5zdGF0ZSA9IGV2ZW50Py5sZW5ndGggPyBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRCA6IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG5cbiAgc2V0UGF5bG9hZChldmVudDogYW55KSB7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93ID0ge1xuICAgICAgLi4udGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LFxuICAgICAgb3duZXJzOiBldmVudCxcbiAgICB9O1xuICB9XG5cbiAgaXNDYXNlT3duZXJTZWxlY3Rpb25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBoYXNWYWxpZFJjRGV0YWlscyA9XG4gICAgICB0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoID09PSAxIHx8XG4gICAgICB0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lm1haW5fcmNfaWQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgIWhhc1ZhbGlkUmNEZXRhaWxzIHx8XG4gICAgICAhdGhpcy5wYXlsb2FkPy5jYXNlX3R5cGU/LmlkIHx8XG4gICAgICAhdGhpcy5wYXlsb2FkPy5wcmlvcml0eT8uaWRcbiAgICApO1xuICB9XG59XG4iXX0=