@prutech/compliance 1.0.232 → 1.0.234

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. package/esm2020/lib/conciliation-appointment-work-list/actions/conciliation-appointment-work-list.actions.mjs +22 -1
  2. package/esm2020/lib/conciliation-appointment-work-list/components/context-menu/conciliation-context-menu.component.mjs +26 -3
  3. package/esm2020/lib/conciliation-appointment-work-list/components/outreach-history-grid-dialogbox/outreach-history-grid-dialogbox.component.mjs +30 -0
  4. package/esm2020/lib/conciliation-appointment-work-list/components/schedule-call-back-action/schedule-call-back-action.component.mjs +19 -4
  5. package/esm2020/lib/conciliation-appointment-work-list/conciliation-appointment-work-list.module.mjs +5 -2
  6. package/esm2020/lib/conciliation-appointment-work-list/constants/menu-items.mjs +15 -2
  7. package/esm2020/lib/conciliation-appointment-work-list/constants/slot-time.mjs +3 -0
  8. package/esm2020/lib/conciliation-appointment-work-list/models/conciliation-work-list-item.model.mjs +2 -1
  9. package/esm2020/lib/conciliation-appointment-work-list/models/federal-holidays-model.mjs +9 -0
  10. package/esm2020/lib/conciliation-appointment-work-list/models/schedule-call-back-action.formmodel.mjs +36 -9
  11. package/esm2020/lib/conciliation-appointment-work-list/services/conciliation-appointment-work-list.service.mjs +13 -2
  12. package/esm2020/lib/ftr-work-list/constants/column-defs.mjs +16 -1
  13. package/esm2020/lib/ftr-work-list/models/ftr-work-list-item.model.mjs +4 -1
  14. package/esm2020/lib/noi-work-list/actions/noi-work-list.actions.mjs +25 -4
  15. package/esm2020/lib/noi-work-list/components/context-menu/context-menu.component.mjs +38 -2
  16. package/esm2020/lib/noi-work-list/constants/column-defs.mjs +4 -1
  17. package/esm2020/lib/noi-work-list/constants/menu-items.mjs +6 -2
  18. package/esm2020/lib/noi-work-list/effects/noi-work-list.effect.mjs +32 -3
  19. package/esm2020/lib/noi-work-list/services/noi-work-list.service.mjs +8 -2
  20. package/esm2020/lib/pre-noi-work-list/components/pre-noi-context-menu/pre-noi-context-menu.component.mjs +25 -2
  21. package/esm2020/lib/pre-noi-work-list/constants/menu-actions-defs.mjs +3 -1
  22. package/esm2020/lib/pre-noi-work-list/constants/menu-items.mjs +15 -2
  23. package/esm2020/lib/pre-noi-work-list/models/pre-noi-work-list-item.model.mjs +2 -1
  24. package/esm2020/lib/shared/constants/conciliation/menu-action-defs.mjs +5 -1
  25. package/fesm2015/prutech-compliance.mjs +316 -18
  26. package/fesm2015/prutech-compliance.mjs.map +1 -1
  27. package/fesm2020/prutech-compliance.mjs +319 -18
  28. package/fesm2020/prutech-compliance.mjs.map +1 -1
  29. package/lib/conciliation-appointment-work-list/actions/conciliation-appointment-work-list.actions.d.ts +21 -2
  30. package/lib/conciliation-appointment-work-list/components/context-menu/conciliation-context-menu.component.d.ts +1 -0
  31. package/lib/conciliation-appointment-work-list/components/outreach-history-grid-dialogbox/outreach-history-grid-dialogbox.component.d.ts +12 -0
  32. package/lib/conciliation-appointment-work-list/components/schedule-call-back-action/schedule-call-back-action.component.d.ts +4 -0
  33. package/lib/conciliation-appointment-work-list/conciliation-appointment-work-list.module.d.ts +14 -13
  34. package/lib/conciliation-appointment-work-list/constants/slot-time.d.ts +2 -0
  35. package/lib/conciliation-appointment-work-list/models/conciliation-work-list-item.model.d.ts +1 -0
  36. package/lib/conciliation-appointment-work-list/models/federal-holidays-model.d.ts +6 -0
  37. package/lib/conciliation-appointment-work-list/services/conciliation-appointment-work-list.service.d.ts +4 -0
  38. package/lib/ftr-work-list/models/ftr-work-list-item.model.d.ts +3 -0
  39. package/lib/noi-work-list/actions/noi-work-list.actions.d.ts +19 -1
  40. package/lib/noi-work-list/components/context-menu/context-menu.component.d.ts +1 -0
  41. package/lib/noi-work-list/effects/noi-work-list.effect.d.ts +3 -0
  42. package/lib/noi-work-list/services/noi-work-list.service.d.ts +2 -0
  43. package/lib/pre-noi-work-list/components/pre-noi-context-menu/pre-noi-context-menu.component.d.ts +1 -0
  44. package/lib/pre-noi-work-list/constants/menu-actions-defs.d.ts +2 -0
  45. package/lib/pre-noi-work-list/models/pre-noi-work-list-item.model.d.ts +1 -0
  46. package/lib/shared/constants/conciliation/menu-action-defs.d.ts +4 -0
  47. package/package.json +1 -1
@@ -24,6 +24,9 @@ export var ConciliationAppointmentWorkListActionTypes;
24
24
  ConciliationAppointmentWorkListActionTypes["PrintDocument"] = "[FIA1187 Document] Print";
25
25
  ConciliationAppointmentWorkListActionTypes["PrintDocumentSuccess"] = "[FIA1187 Document] Print Success";
26
26
  ConciliationAppointmentWorkListActionTypes["PrintDocumentFail"] = "[FIA1187 Document] Print Fail";
27
+ ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysList"] = "[Conciliation Federal Holidays List] Load";
28
+ ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysListSuccess"] = "[Conciliation Federal Holidays List] Load Success";
29
+ ConciliationAppointmentWorkListActionTypes["LoadFederalHolidaysListFail"] = "[Conciliation Federal Holidays List] Load Fail";
27
30
  })(ConciliationAppointmentWorkListActionTypes || (ConciliationAppointmentWorkListActionTypes = {}));
28
31
  export class LoadConciliationWorkListAction {
29
32
  constructor(payload) {
@@ -166,4 +169,22 @@ export class PrintDocumentFailAction {
166
169
  this.type = ConciliationAppointmentWorkListActionTypes.PrintDocumentFail;
167
170
  }
168
171
  }
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9hY3Rpb25zL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSx3QkFBd0I7QUFDeEIsTUFBTSxDQUFOLElBQVksMENBK0JYO0FBL0JELFdBQVksMENBQTBDO0lBQ3BELG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELHVGQUF5QyxDQUFBO0lBQ3pDLHNHQUF3RCxDQUFBO0lBQ3hELGdHQUFrRCxDQUFBO0lBRWxELDhHQUFnRSxDQUFBO0lBQ2hFLGdIQUFrRSxDQUFBO0lBRWxFLHNIQUF3RSxDQUFBO0lBQ3hFLG9JQUFzRixDQUFBO0lBQ3RGLDhIQUFnRixDQUFBO0lBRWhGLG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELG1GQUFxQyxDQUFBO0lBQ3JDLGtHQUFvRCxDQUFBO0lBQ3BELDRGQUE4QyxDQUFBO0lBRTlDLGlIQUFtRSxDQUFBO0lBQ25FLGdJQUFrRixDQUFBO0lBQ2xGLDBIQUE0RSxDQUFBO0lBRTVFLHdGQUEwQyxDQUFBO0lBQzFDLHVHQUF5RCxDQUFBO0lBQ3pELGlHQUFtRCxDQUFBO0FBQ3JELENBQUMsRUEvQlcsMENBQTBDLEtBQTFDLDBDQUEwQyxRQStCckQ7QUFFRCxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQW1CLE9BQWE7UUFBYixZQUFPLEdBQVAsT0FBTyxDQUFNO1FBRnZCLFNBQUksR0FBVywwQ0FBMEMsQ0FBQyx3QkFBd0IsQ0FBQztJQUc1RixDQUFDO0NB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ckYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBTZWFtc0h0dHBSZXNwb25zZSB9IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5cclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25Xb3JrTGlzdCB9IGZyb20gJy4uL21vZGVscy9jb25jaWxpYXRpb24td29yay1saXN0JztcclxuaW1wb3J0IHsgU2F2ZVN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc3RhdHVzLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc2NoZWR1bGluZy1jYWxsLWJhY2subW9kZWwnO1xyXG5pbXBvcnQgeyBTYXZlT3V0cmVhY2hNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXZlLW91dHJlYWNoLW1vZGVsJztcclxuaW1wb3J0IHsgU3VibWl0UmVhc3NpZ25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zdWJtaXQtcmUtYXNzaWduLWZyb21tb2RlbCc7XHJcbmltcG9ydCB7IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc3VibWl0LWJhdGNoLXBvb2wtYXBwb2ludG1lbnQubW9kZWwnO1xyXG5cclxuLy8gdHNsaW50OmRpc2FibGU6bm8tYW55XHJcbmV4cG9ydCBlbnVtIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcyB7XHJcbiAgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0ID0gJ1tDb25jaWxpYXRpb25dIExvYWQgTGlzdCcsXHJcbiAgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0U3VjY2VzcyA9ICdbQ29uY2lsaWF0aW9uXSBMb2FkIExpc3QgU3VjY2VzcycsXHJcbiAgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbCA9ICdbQ29uY2lsaWF0aW9uXSBMb2FkIExpc3QgRmFpbCcsXHJcblxyXG4gIFNhdmVTdGF0dXMgPSAnW0NvbmNpbGlhdGlvbl0gU2F2ZSBTdGF0dXMnLFxyXG4gIFNhdmVTdGF0dXNTdWNjZXNzID0gJ1tDb25jaWxpYXRpb25dIFNhdmUgU3RhdHVzIFN1Y2Nlc3MnLFxyXG4gIFNhdmVTdGF0dXNGYWlsID0gJ1tDb25jaWxpYXRpb25dIFNhdmUgU3RhdHVzIEZhaWwnLFxyXG5cclxuICBPcGVuQXBwb2ludG1lbnREaWFsb2cgPSAnW0NvbmNpbGlhdGlvbl0gT3BlbiBBcHBvaW50bWVudCBEaWFsb2cnLFxyXG4gIENsb3NlQXBwb2ludG1lbnREaWFsb2cgPSAnW0NvbmNpbGlhdGlvbl0gQ2xvc2UgQXBwb2ludG1lbnQgRGlhbG9nJyxcclxuXHJcbiAgU2F2ZVNjaGVkdWxpbmdDYWxsQmFjayA9ICdbU2F2ZSBTY2hlZHVsaW5nIENhbGwgQmFjayBEZXRhaWxzIFNhdmVdIFNhdmUnLFxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzID0gJ1tTYXZlIFNjaGVkdWxpbmcgQ2FsbCBCYWNrIERldGFpbCBTYXZlXSBTYXZlIFN1Y2Nlc3MnLFxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsID0gJ1tTYXZlIFNjaGVkdWxpbmcgQ2FsbCBCYWNrIERldGFpbCBTYXZlXSBTYXZlIEZhaWwnLFxyXG5cclxuICBTYXZlT3V0cmVhY2hXb3JrbGlzdCA9ICdbU2F2ZSAgT3V0cmVhY2ggRGV0YWlsXSBTYXZlJyxcclxuICBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3MgPSAnW1NhdmUgIE91dHJlYWNoIERldGFpbF0gU2F2ZSBTdWNjZXNzJyxcclxuICBTYXZlT3V0cmVhY2hXb3JrbGlzdEZhaWwgPSAnW1NhdmUgIE91dHJlYWNoIERldGFpbF0gU2F2ZSBGYWlsJyxcclxuXHJcbiAgU2F2ZVJlYXNzaWduID0gJ1tTYXZlIFJlYXNzaWduXSBMb2FkJyxcclxuICBTYXZlUmVhc3NpZ25TdWNjZXNzID0gJ1tTYXZlIFJlYXNzaWduXSBMb2FkIFN1Y2Nlc3MnLFxyXG4gIFNhdmVSZWFzc2lnbkZhaWwgPSAnW1NhdmUgUmVhc3NpZ25dIExvYWQgRmFpbCcsXHJcblxyXG4gIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50ID0gJ1tTdWJtaXQgQmF0Y2ggUG9vbCBBcHBvaW50bWVudF0gTG9hZCcsXHJcbiAgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRTdWNjZXNzID0gJ1tTdWJtaXQgQmF0Y2ggUG9vbCBBcHBvaW50bWVudF0gTG9hZCBTdWNjZXNzJyxcclxuICBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudEZhaWwgPSAnW1N1Ym1pdCBCYXRjaCBQb29sIEFwcG9pbnRtZW50XSBMb2FkIEZhaWwnLFxyXG5cclxuICBQcmludERvY3VtZW50ID0gJ1tGSUExMTg3IERvY3VtZW50XSBQcmludCcsXHJcbiAgUHJpbnREb2N1bWVudFN1Y2Nlc3MgPSAnW0ZJQTExODcgRG9jdW1lbnRdIFByaW50IFN1Y2Nlc3MnLFxyXG4gIFByaW50RG9jdW1lbnRGYWlsID0gJ1tGSUExMTg3IERvY3VtZW50XSBQcmludCBGYWlsJyxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRDb25jaWxpYXRpb25Xb3JrTGlzdDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0U3VjY2VzcztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IENvbmNpbGlhdGlvbldvcmtMaXN0KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVN0YXR1cztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1N1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzU3VjY2VzcztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFNhdmVTdGF0dXNSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVDb25jaWxpYXRpb25TdGF0dXNGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVN0YXR1c0ZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBPcGVuQXBwb2ludG1lbnREaWFsb2dBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5PcGVuQXBwb2ludG1lbnREaWFsb2c7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBudW1iZXIpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbG9zZUFwcG9pbnRtZW50RGlhbG9nQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuQ2xvc2VBcHBvaW50bWVudERpYWxvZztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTY2hlZHVsaW5nQ2FsbEJhY2s7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgU2F2ZU91dHJlYWNoV29ya2xpc3RBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFNhdmVPdXRyZWFjaE1vZGVsKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzO1xyXG5cclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueVxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlT3V0cmVhY2hXb3JrbGlzdEZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdEZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZVJlYXNzaWduQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVJlYXNzaWduO1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBTdWJtaXRSZWFzc2lnbk1vZGVsKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZVJlYXNzaWduU3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVSZWFzc2lnblN1Y2Nlc3M7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVSZWFzc2lnbkZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlUmVhc3NpZ25GYWlsO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRNb2RlbCkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFNlYW1zSHR0cFJlc3BvbnNlKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJpbnREb2N1bWVudEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlByaW50RG9jdW1lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiB7IGxldHRlclR5cGU6IG51bWJlciwgYXNzZXNzbWVudElkOiBudW1iZXIgLCBDbXNDYXNlSUQ6IG51bWJlcn0pIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmludERvY3VtZW50U3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlByaW50RG9jdW1lbnRTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUHJpbnREb2N1bWVudEZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5QcmludERvY3VtZW50RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBTZWFtc0h0dHBSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvbnMgPSBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RBY3Rpb25cclxuICB8IExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3NBY3Rpb25cclxuICB8IExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWxBY3Rpb25cclxuICB8IFNhdmVDb25jaWxpYXRpb25TdGF0dXNBY3Rpb25cclxuICB8IFNhdmVDb25jaWxpYXRpb25TdGF0dXNTdWNjZXNzQWN0aW9uXHJcbiAgfCBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzRmFpbEFjdGlvblxyXG4gIHwgT3BlbkFwcG9pbnRtZW50RGlhbG9nQWN0aW9uXHJcbiAgfCBDbG9zZUFwcG9pbnRtZW50RGlhbG9nQWN0aW9uXHJcbiAgfCBQcmludERvY3VtZW50QWN0aW9uXHJcbiAgfCBQcmludERvY3VtZW50U3VjY2Vzc0FjdGlvblxyXG4gIHwgUHJpbnREb2N1bWVudEZhaWxBY3Rpb247XHJcbiJdfQ==
172
+ export class LoadFederalHolidaysListAction {
173
+ constructor(payload) {
174
+ this.payload = payload;
175
+ this.type = ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysList;
176
+ }
177
+ }
178
+ export class LoadFederalHolidaysListSuccessAction {
179
+ constructor(payload) {
180
+ this.payload = payload;
181
+ this.type = ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysListSuccess;
182
+ }
183
+ }
184
+ export class LoadFederalHolidaysListFailAction {
185
+ constructor(payload) {
186
+ this.payload = payload;
187
+ this.type = ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysListFail;
188
+ }
189
+ }
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9hY3Rpb25zL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSx3QkFBd0I7QUFDeEIsTUFBTSxDQUFOLElBQVksMENBb0NYO0FBcENELFdBQVksMENBQTBDO0lBQ3BELG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELHVGQUF5QyxDQUFBO0lBQ3pDLHNHQUF3RCxDQUFBO0lBQ3hELGdHQUFrRCxDQUFBO0lBRWxELDhHQUFnRSxDQUFBO0lBQ2hFLGdIQUFrRSxDQUFBO0lBRWxFLHNIQUF3RSxDQUFBO0lBQ3hFLG9JQUFzRixDQUFBO0lBQ3RGLDhIQUFnRixDQUFBO0lBRWhGLG1HQUFxRCxDQUFBO0lBQ3JELGtIQUFvRSxDQUFBO0lBQ3BFLDRHQUE4RCxDQUFBO0lBRTlELG1GQUFxQyxDQUFBO0lBQ3JDLGtHQUFvRCxDQUFBO0lBQ3BELDRGQUE4QyxDQUFBO0lBRTlDLGlIQUFtRSxDQUFBO0lBQ25FLGdJQUFrRixDQUFBO0lBQ2xGLDBIQUE0RSxDQUFBO0lBRTVFLHdGQUEwQyxDQUFBO0lBQzFDLHVHQUF5RCxDQUFBO0lBQ3pELGlHQUFtRCxDQUFBO0lBRW5ELG1IQUFxRSxDQUFBO0lBQ3JFLGtJQUFvRixDQUFBO0lBQ3BGLDRIQUE4RSxDQUFBO0FBRWhGLENBQUMsRUFwQ1csMENBQTBDLEtBQTFDLDBDQUEwQyxRQW9DckQ7QUFFRCxNQUFNLE9BQU8sOEJBQThCO0lBR3pDLFlBQW1CLE9BQWE7UUFBYixZQUFPLEdBQVAsT0FBTyxDQUFN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T0FBTyxDQUFvQjtRQUZyQyxTQUFJLEdBQVcsMENBQTBDLENBQUMsaUJBQWlCLENBQUM7SUFHckYsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLDZCQUE2QjtJQUd4QyxZQUFtQixPQUFhO1FBQWIsWUFBTyxHQUFQLE9BQU8sQ0FBTTtRQUZ2QixTQUFJLEdBQVcsMENBQTBDLENBQUMsdUJBQXVCLENBQUM7SUFHM0YsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG9DQUFvQztJQUcvQyxZQUFtQixPQUErQjtRQUEvQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUZ6QyxTQUFJLEdBQVcsMENBQTBDLENBQUMsOEJBQThCLENBQUM7SUFHbEcsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGlDQUFpQztJQUc1QyxZQUFtQixPQUEyQjtRQUEzQixZQUFPLEdBQVAsT0FBTyxDQUFvQjtRQUZyQyxTQUFJLEdBQVcsMENBQTBDLENBQUMsMkJBQTJCLENBQUM7SUFHL0YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBTZWFtc0h0dHBSZXNwb25zZSB9IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5cclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25Xb3JrTGlzdCB9IGZyb20gJy4uL21vZGVscy9jb25jaWxpYXRpb24td29yay1saXN0JztcclxuaW1wb3J0IHsgU2F2ZVN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc3RhdHVzLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc2NoZWR1bGluZy1jYWxsLWJhY2subW9kZWwnO1xyXG5pbXBvcnQgeyBTYXZlT3V0cmVhY2hNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXZlLW91dHJlYWNoLW1vZGVsJztcclxuaW1wb3J0IHsgU3VibWl0UmVhc3NpZ25Nb2RlbCB9IGZyb20gJy4uL21vZGVscy9zdWJtaXQtcmUtYXNzaWduLWZyb21tb2RlbCc7XHJcbmltcG9ydCB7IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc3VibWl0LWJhdGNoLXBvb2wtYXBwb2ludG1lbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBGZWRlcmFsSG9saWRheXNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9mZWRlcmFsLWhvbGlkYXlzLW1vZGVsJztcclxuXHJcbi8vIHRzbGludDpkaXNhYmxlOm5vLWFueVxyXG5leHBvcnQgZW51bSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMge1xyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdCA9ICdbQ29uY2lsaWF0aW9uXSBMb2FkIExpc3QnLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3MgPSAnW0NvbmNpbGlhdGlvbl0gTG9hZCBMaXN0IFN1Y2Nlc3MnLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWwgPSAnW0NvbmNpbGlhdGlvbl0gTG9hZCBMaXN0IEZhaWwnLFxyXG5cclxuICBTYXZlU3RhdHVzID0gJ1tDb25jaWxpYXRpb25dIFNhdmUgU3RhdHVzJyxcclxuICBTYXZlU3RhdHVzU3VjY2VzcyA9ICdbQ29uY2lsaWF0aW9uXSBTYXZlIFN0YXR1cyBTdWNjZXNzJyxcclxuICBTYXZlU3RhdHVzRmFpbCA9ICdbQ29uY2lsaWF0aW9uXSBTYXZlIFN0YXR1cyBGYWlsJyxcclxuXHJcbiAgT3BlbkFwcG9pbnRtZW50RGlhbG9nID0gJ1tDb25jaWxpYXRpb25dIE9wZW4gQXBwb2ludG1lbnQgRGlhbG9nJyxcclxuICBDbG9zZUFwcG9pbnRtZW50RGlhbG9nID0gJ1tDb25jaWxpYXRpb25dIENsb3NlIEFwcG9pbnRtZW50IERpYWxvZycsXHJcblxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2sgPSAnW1NhdmUgU2NoZWR1bGluZyBDYWxsIEJhY2sgRGV0YWlscyBTYXZlXSBTYXZlJyxcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2VzcyA9ICdbU2F2ZSBTY2hlZHVsaW5nIENhbGwgQmFjayBEZXRhaWwgU2F2ZV0gU2F2ZSBTdWNjZXNzJyxcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRmFpbCA9ICdbU2F2ZSBTY2hlZHVsaW5nIENhbGwgQmFjayBEZXRhaWwgU2F2ZV0gU2F2ZSBGYWlsJyxcclxuXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3QgPSAnW1NhdmUgIE91dHJlYWNoIERldGFpbF0gU2F2ZScsXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzID0gJ1tTYXZlICBPdXRyZWFjaCBEZXRhaWxdIFNhdmUgU3VjY2VzcycsXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3RGYWlsID0gJ1tTYXZlICBPdXRyZWFjaCBEZXRhaWxdIFNhdmUgRmFpbCcsXHJcblxyXG4gIFNhdmVSZWFzc2lnbiA9ICdbU2F2ZSBSZWFzc2lnbl0gTG9hZCcsXHJcbiAgU2F2ZVJlYXNzaWduU3VjY2VzcyA9ICdbU2F2ZSBSZWFzc2lnbl0gTG9hZCBTdWNjZXNzJyxcclxuICBTYXZlUmVhc3NpZ25GYWlsID0gJ1tTYXZlIFJlYXNzaWduXSBMb2FkIEZhaWwnLFxyXG5cclxuICBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudCA9ICdbU3VibWl0IEJhdGNoIFBvb2wgQXBwb2ludG1lbnRdIExvYWQnLFxyXG4gIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50U3VjY2VzcyA9ICdbU3VibWl0IEJhdGNoIFBvb2wgQXBwb2ludG1lbnRdIExvYWQgU3VjY2VzcycsXHJcbiAgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsID0gJ1tTdWJtaXQgQmF0Y2ggUG9vbCBBcHBvaW50bWVudF0gTG9hZCBGYWlsJyxcclxuXHJcbiAgUHJpbnREb2N1bWVudCA9ICdbRklBMTE4NyBEb2N1bWVudF0gUHJpbnQnLFxyXG4gIFByaW50RG9jdW1lbnRTdWNjZXNzID0gJ1tGSUExMTg3IERvY3VtZW50XSBQcmludCBTdWNjZXNzJyxcclxuICBQcmludERvY3VtZW50RmFpbCA9ICdbRklBMTE4NyBEb2N1bWVudF0gUHJpbnQgRmFpbCcsXHJcbiAgXHJcbiAgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3QgPSAnW0NvbmNpbGlhdGlvbiBGZWRlcmFsIEhvbGlkYXlzIExpc3RdIExvYWQnLFxyXG4gIExvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2VzcyA9ICdbQ29uY2lsaWF0aW9uIEZlZGVyYWwgSG9saWRheXMgTGlzdF0gTG9hZCBTdWNjZXNzJyxcclxuICBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWwgPSAnW0NvbmNpbGlhdGlvbiBGZWRlcmFsIEhvbGlkYXlzIExpc3RdIExvYWQgRmFpbCcsXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogQ29uY2lsaWF0aW9uV29ya0xpc3QpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBTZWFtc0h0dHBSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVDb25jaWxpYXRpb25TdGF0dXNBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTdGF0dXNTdWNjZXNzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZVN0YXR1c1Jlc3BvbnNlKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0ZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzRmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBTZWFtc0h0dHBSZXNwb25zZSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9wZW5BcHBvaW50bWVudERpYWxvZ0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLk9wZW5BcHBvaW50bWVudERpYWxvZztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IG51bWJlcikge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENsb3NlQXBwb2ludG1lbnREaWFsb2dBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5DbG9zZUFwcG9pbnRtZW50RGlhbG9nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFjaztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja1N1Y2Nlc3M7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0ZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogYW55KSB7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBTYXZlT3V0cmVhY2hXb3JrbGlzdEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2F2ZU91dHJlYWNoTW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3M7XHJcblxyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlUmVhc3NpZ25BY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlUmVhc3NpZ247XHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFN1Ym1pdFJlYXNzaWduTW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTYXZlUmVhc3NpZ25TdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVJlYXNzaWduU3VjY2VzcztcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU2F2ZVJlYXNzaWduRmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVSZWFzc2lnbkZhaWw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnlcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogYW55KSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3NBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmludERvY3VtZW50QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IHsgbGV0dGVyVHlwZTogbnVtYmVyLCBhc3Nlc3NtZW50SWQ6IG51bWJlciAsIENtc0Nhc2VJRDogbnVtYmVyfSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFByaW50RG9jdW1lbnRTdWNjZXNzQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcclxuICByZWFkb25seSB0eXBlOiBzdHJpbmcgPSBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudFN1Y2Nlc3M7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkOiBhbnkpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBQcmludERvY3VtZW50RmFpbEFjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlByaW50RG9jdW1lbnRGYWlsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IFNlYW1zSHR0cFJlc3BvbnNlKSB7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb257XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZD86IGFueSkge1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2Vzc0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XHJcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nID0gQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2VzcztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ6IEZlZGVyYWxIb2xpZGF5c01vZGVsW10pIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWxBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xyXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyA9IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwYXlsb2FkPzogU2VhbXNIdHRwUmVzcG9uc2UpIHtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25zID0gTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uXHJcbiAgfCBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzQWN0aW9uXHJcbiAgfCBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uXHJcbiAgfCBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzQWN0aW9uXHJcbiAgfCBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvblxyXG4gIHwgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0ZhaWxBY3Rpb25cclxuICB8IE9wZW5BcHBvaW50bWVudERpYWxvZ0FjdGlvblxyXG4gIHwgQ2xvc2VBcHBvaW50bWVudERpYWxvZ0FjdGlvblxyXG4gIHwgUHJpbnREb2N1bWVudEFjdGlvblxyXG4gIHwgUHJpbnREb2N1bWVudFN1Y2Nlc3NBY3Rpb25cclxuICB8IFByaW50RG9jdW1lbnRGYWlsQWN0aW9uXHJcbiAgfCBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEFjdGlvblxyXG4gIHwgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RTdWNjZXNzQWN0aW9uXHJcbiAgfCBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEZhaWxBY3Rpb247XHJcbiJdfQ==
@@ -3,11 +3,11 @@ import { AbstractComponent } from '@prutech/components';
3
3
  import { filter, find, get, isNil, map, toString } from 'lodash';
4
4
  import { filter as rFilter, takeUntil } from 'rxjs/operators';
5
5
  import { menuItems } from '../../constants/menu-items';
6
- import { dialogSize, recordOutreachdialogSize } from '../../../shared/constants/diaglog-size';
6
+ import { dialogSize, recordOutreachdialogSize, formDialogSize } from '../../../shared/constants/diaglog-size';
7
7
  import { GoodCauseGrantedActionComponent } from '../../../shared/components/good-cause-granted-action/good-cause-granted-action.component';
8
8
  import { GoodCauseNotGrantedActionComponent } from '../../../shared/components/good-cause-not-granted-action/good-cause-not-granted-action.component';
9
9
  import { SaveConciliationStatusPayload } from '../../models/save-conciliation-status-payload.model';
10
- import { goodCauseGrantedActionId, goodCauseNotGrantedActionId, reAssignActionId, recordOutreachActionId, reScheduleCallBackActionId, scheduleCallBackActionId } from '../../../shared/constants/conciliation/menu-action-defs';
10
+ import { goodCauseGrantedActionId, goodCauseNotGrantedActionId, reAssignActionId, recordOutreachActionId, reScheduleCallBackActionId, scheduleCallBackActionId, showCasesummaryId, showOutreachHistoryId } from '../../../shared/constants/conciliation/menu-action-defs';
11
11
  import { actionsLabel } from '../../../pre-conciliation-work-list/constants/menu-items';
12
12
  import { YesNoConfirmationDialogComponent } from '../../../shared/components/yes-no-confirmation-dialog/yes-no-confirmation-dialog.component';
13
13
  import { confirmHeader, goodCauseConfirmMessage, noLabel, yesLabel } from '../../constants/yes-no-confirm-defaults';
@@ -23,6 +23,7 @@ import { WantToSendClientBackDialogboxComponent } from '../want-to-send-client-b
23
23
  import { openAppointmentDialogbox } from '../../models/open-appointment';
24
24
  import { csAppointments, csAssignments, ivapAssignments, jcAppointments, splRefAppointments, tagAppointments, tagAssignments, vrsAppointments, wecareAppointments } from '../../constants/orginal-category-lookup-types.constants';
25
25
  import { GenerateFIA1187ALetterDialogboxComponent } from '../../../shared/components/generate-fia1187-aletter-dialogbox/generate-fia1187-aletter-dialogbox.component';
26
+ import { OutreachHistoryGridDialogboxComponent } from '../outreach-history-grid-dialogbox/outreach-history-grid-dialogbox.component';
26
27
  import * as i0 from "@angular/core";
27
28
  import * as i1 from "@angular/material/dialog";
28
29
  import * as i2 from "../../../shared/modules/conciliation-lookups/services/lookups.service";
@@ -103,6 +104,13 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
103
104
  };
104
105
  });
105
106
  }
107
+ if (get(this.params, 'data.showOnlyCaseSummay')) {
108
+ this.menuItems = map(this.menuItems, (item) => {
109
+ return {
110
+ ...item, items: filter(item.items, (actionItem) => ((actionItem.route !== '8'))),
111
+ };
112
+ });
113
+ }
106
114
  }
107
115
  getUpdatedMenuItems() {
108
116
  return map(this.menuItems, (item) => {
@@ -118,6 +126,7 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
118
126
  });
119
127
  }
120
128
  doAction(event) {
129
+ const caseId = get(this.params, 'data.cmsCaseId');
121
130
  switch (event.route) {
122
131
  case toString(goodCauseGrantedActionId):
123
132
  this.openGoodCauseGrantedDialog(get(this.params, 'data'));
@@ -138,6 +147,11 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
138
147
  case toString(reAssignActionId):
139
148
  this.openReAssignDialog(get(this.params, 'data'));
140
149
  break;
150
+ case toString(showCasesummaryId):
151
+ this.router.navigate(['case-summary/' + caseId]);
152
+ case toString(showOutreachHistoryId):
153
+ this.openOutreachHistoryDialog(get(this.params, 'data'));
154
+ break;
141
155
  default:
142
156
  break;
143
157
  }
@@ -262,6 +276,15 @@ export class ConciliationContextMenuComponent extends AbstractComponent {
262
276
  }
263
277
  });
264
278
  }
279
+ openOutreachHistoryDialog(item) {
280
+ const dialogRef = this.dialog?.open(OutreachHistoryGridDialogboxComponent, {
281
+ width: formDialogSize,
282
+ disableClose: true,
283
+ data: {
284
+ data: item.wlConciliationId
285
+ },
286
+ });
287
+ }
265
288
  openGoodCauseGrantedDialog(item) {
266
289
  if (item?.originalCategoryId === csAppointments || item?.originalCategoryId === csAssignments ||
267
290
  item?.originalCategoryId === tagAppointments || item?.originalCategoryId === tagAssignments) {
@@ -483,4 +506,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
483
506
  type: Inject,
484
507
  args: ['environment']
485
508
  }] }, { type: i4.ActivatedRoute }]; } });
486
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBMkUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwRkFBMEYsQ0FBQztBQUczSSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrR0FBa0csQ0FBQztBQUN0SixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNwRyxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDekIsTUFBTSx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDeEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNEZBQTRGLENBQUM7QUFDOUksT0FBTyxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDcEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDaEYsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDbkgsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDbEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDNUksT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFekUsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGNBQWMsRUFDZCxlQUFlLEVBQ2Ysa0JBQWtCLEVBQ25CLE1BQU0seURBQXlELENBQUM7QUFDakUsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sNEdBQTRHLENBQUM7Ozs7Ozs7O0FBUXRLLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxpQkFBaUI7SUFVckUsWUFBbUIsTUFBaUIsRUFDMUIsY0FBOEIsRUFDOUIsVUFBc0IsRUFDdEIsTUFBYyxFQUNkLFdBQXdCLEVBQ3hCLDJCQUFtRSxFQUM1QyxXQUF3QixFQUMvQyxLQUFxQjtRQUM3QixLQUFLLEVBQUUsQ0FBQztRQVJTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBd0M7UUFDNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDL0MsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFmL0IsY0FBUyxHQUFzQixTQUFTLENBQUM7SUFpQnpDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN4QixTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLE9BQU8sQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUNqRSxTQUFTLENBQUMsQ0FBQyxPQUE0QixFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzthQUM5RSxTQUFTLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBcUI7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxhQUFhLEdBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQzdELE9BQU87b0JBQ0wsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7aUJBQ3BHLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQXFCLEVBQUUsRUFBRTtnQkFDN0QsT0FBTztvQkFDTCxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFpQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQztpQkFDcEcsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxhQUFhLEVBQUU7WUFDekQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQXFCLEVBQUUsRUFBRTtnQkFDN0QsT0FBTztvQkFDTCxHQUFHLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFpQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO2lCQUNuSSxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQzdELE9BQU87b0JBQ0wsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsMEJBQTBCLENBQUMsQ0FBQztpQkFDckksQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBcUIsRUFBRSxFQUFFO2dCQUM3RCxPQUFPO29CQUNMLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQWlDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDO2lCQUNwRyxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFxQixFQUFFLEVBQUU7Z0JBQzdELE9BQU87b0JBQ0wsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBaUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUM7aUJBQ3BHLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBcUIsRUFBRSxFQUFFO1lBQ25ELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxZQUFZLEVBQUU7Z0JBQy9CLE9BQU87b0JBQ0wsS0FBSyxFQUFFLFlBQVk7b0JBQ25CLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQWlDLEVBQUUsRUFBRSxDQUM5RCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxZQUFvQixFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDeEcsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBNEI7UUFDbkMsUUFBUSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ25CLEtBQUssUUFBUSxDQUFDLHdCQUF3QixDQUFDO2dCQUNyQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDMUQsTUFBTTtZQUNSLDJDQUEyQztZQUMzQyxLQUFLLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzdELE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztnQkFDckMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzFELE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzVELE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE1BQU07WUFFUjtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsSUFBbUM7UUFDeEQsTUFBTSxTQUFTLEdBQXlELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxFQUFFO1lBQy9ILEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRTtnQkFDSixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM3QyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDO2FBQ2hEO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsa0NBQWtDO1FBQ2xDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakYsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO2dCQUNyQixNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztnQkFDaEUsSUFBSSxzQkFBc0IsRUFBRTtvQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUMsRUFBRTt3QkFDcEMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLHlDQUF5QyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQzs2QkFDL0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzs2QkFDeEMsU0FBUyxDQUFDLENBQUMsZUFBNkMsRUFBRSxFQUFFOzRCQUMzRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsZUFBZSxDQUFDOzRCQUM1QyxNQUFNLE9BQU8sR0FBa0MsSUFBSSw2QkFBNkIsQ0FBQztnQ0FDL0Usc0JBQXNCO2dDQUN0QixRQUFRLEVBQUUsd0JBQXdCO2dDQUNsQyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDO2dDQUMvQyxhQUFhLEVBQUUsZUFBZSxDQUFDLGFBQWE7NkJBQzdDLENBQUMsQ0FBQzs0QkFDSCxJQUFJLGVBQWUsRUFBRTtnQ0FDbkIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDOzZCQUM5RDt3QkFDSCxDQUFDLENBQUMsQ0FBQztxQkFDTjtpQkFDRjtxQkFBTTtvQkFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQzt3QkFDN0IsT0FBTyxFQUFFLFFBQVEsR0FBRyxJQUFJLEVBQUUsZ0JBQWdCO3dCQUMxQyxLQUFLLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRSxTQUFTO3dCQUNsQyxLQUFLLEVBQUUsYUFBYSxHQUFHLEtBQUssR0FBRyxJQUFJLEVBQUUsVUFBVTt3QkFDL0MsUUFBUSxFQUFFLElBQUk7cUJBQ2YsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUMxSDthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBbUM7UUFDcEQsTUFBTSxTQUFTLEdBQTZDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ3ZHLEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRTtnQkFDSixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2FBQzlDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsa0NBQWtDO1FBQ2xDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdEYsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFO2dCQUNULE1BQU0sT0FBTyxHQUF3QixJQUFJLG1CQUFtQixDQUFDO29CQUMzRCxHQUFHLEdBQUc7b0JBQ04sZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLGdCQUFnQjtvQkFDeEMsUUFBUSxFQUFFLGdCQUFnQjtpQkFDM0IsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQywyQkFBMkIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQW1DO1FBQzVELE1BQU0sU0FBUyxHQUFrRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrQkFBK0IsRUFBRTtZQUNqSCxLQUFLLEVBQUUsVUFBVTtZQUNqQixZQUFZLEVBQUUsSUFBSTtZQUNsQixJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFO1NBQ3ZDLENBQUMsQ0FBQztRQUNILGtDQUFrQztRQUNsQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRTtnQkFDVCxNQUFNLE9BQU8sR0FBZ0MsSUFBSSwyQkFBMkIsQ0FBQztvQkFDM0UsR0FBRyxHQUFHO29CQUNOLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3hDLFFBQVEsRUFBRSx3QkFBd0I7aUJBRW5DLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsMkJBQTJCLENBQUMsMkNBQTJDLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDdkY7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw0QkFBNEIsQ0FBQyxJQUFtQztRQUM5RCxNQUFNLFNBQVMsR0FBa0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsK0JBQStCLEVBQUU7WUFDbEgsS0FBSyxFQUFFLFVBQVU7WUFDakIsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtTQUN0QyxDQUFDLENBQUM7UUFDSCxrQ0FBa0M7UUFDbEMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0RixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsTUFBTSxPQUFPLEdBQWdDLElBQUksMkJBQTJCLENBQUM7b0JBQzNFLEdBQUcsR0FBRztvQkFDTixnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN4QyxRQUFRLEVBQUUsMEJBQTBCO2lCQUNyQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLDJDQUEyQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2FBQ3RGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBbUM7UUFDcEQsTUFBTSxTQUFTLEdBQW1ELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGdDQUFnQyxFQUFFO1lBQ3BILEtBQUssRUFBRSx3QkFBd0I7WUFDL0IsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQzdDLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRixDQUFDLENBQUM7UUFDSCxrQ0FBa0M7UUFDbEMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0RixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1QsTUFBTSxPQUFPLEdBQXNCLElBQUksaUJBQWlCLENBQUM7b0JBQ3ZELEdBQUcsR0FBRztvQkFDTixnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN4QyxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLG1DQUFtQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2FBRTlFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsSUFBbUM7UUFDNUQsSUFBSSxJQUFJLEVBQUUsa0JBQWtCLEtBQUssY0FBYyxJQUFJLElBQUksRUFBRSxrQkFBa0IsS0FBSyxhQUFhO1lBQzNGLElBQUksRUFBRSxrQkFBa0IsS0FBSyxlQUFlLElBQUksSUFBSSxFQUFFLGtCQUFrQixLQUFLLGNBQWMsRUFBRTtZQUM3RixNQUFNLFNBQVMsR0FBa0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsK0JBQStCLEVBQUU7Z0JBQ2xILEtBQUssRUFBRSxVQUFVO2dCQUNqQixZQUFZLEVBQUUsSUFBSTtnQkFDbEIsSUFBSSxFQUFFO29CQUNKLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7b0JBQzdDLElBQUksRUFBRSxJQUFJO2lCQUNYO2FBQ0YsQ0FBQyxDQUFDO1lBQ0gsa0NBQWtDO1lBQ2xDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ3RGLElBQUksR0FBRyxFQUFFO29CQUNQLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdDQUF3QyxFQUFFO3dCQUMzRSxLQUFLLEVBQUUsTUFBTTt3QkFDYixZQUFZLEVBQUUsSUFBSTt3QkFDbEIsSUFBSSxFQUFFLEVBQUU7cUJBQ1QsQ0FBQyxDQUFDO29CQUNILFNBQVMsQ0FBQyxXQUFXLEVBQUU7eUJBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7eUJBQ3hDLFNBQVMsQ0FBQyxDQUFDLFlBQW9CLEVBQUUsRUFBRTt3QkFDbEMsNEJBQTRCO3dCQUM1QiwwS0FBMEs7d0JBQzFLLG1DQUFtQzt3QkFDbkMsMEtBQTBLO3dCQUMxSyxJQUFJO3dCQUNKLE1BQU0sT0FBTyxHQUFrQyxJQUFJLDZCQUE2QixDQUFDOzRCQUMvRSxHQUFHLEdBQUc7NEJBQ04sc0JBQXNCLEVBQUUsSUFBSTs0QkFDNUIsUUFBUSxFQUFFLHdCQUF3Qjs0QkFDbEMsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQzs0QkFDL0MsYUFBYSxFQUFFLElBQUk7NEJBQ25CLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUzs0QkFDdkIsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQjs0QkFDNUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUM7NEJBQzNDLFVBQVUsRUFBRSxZQUFZOzRCQUN4QixjQUFjLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQzt5QkFDNUMsQ0FBQyxDQUFDO3dCQUNILElBQUksQ0FBQywyQkFBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDL0QsQ0FBQyxDQUFDLENBQUE7aUJBQ0w7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILGdHQUFnRztZQUNoRyw2QkFBNkI7WUFDN0IscUJBQXFCO1lBQ3JCLGFBQWE7WUFDYiw4RkFBOEY7WUFDOUYsTUFBTTtZQUNOLE9BQU87U0FDUjthQUNJO1lBQ0gsTUFBTSxTQUFTLEdBQWtELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLCtCQUErQixFQUFFO2dCQUNsSCxLQUFLLEVBQUUsVUFBVTtnQkFDakIsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLElBQUksRUFBRTtvQkFDSixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO29CQUM3QyxJQUFJLEVBQUUsSUFBSTtpQkFDWDthQUNGLENBQUMsQ0FBQztZQUNILGtDQUFrQztZQUNsQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUN0RixJQUFJLEdBQUcsRUFBRTtvQkFDUCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsRUFBRTt3QkFDM0UsS0FBSyxFQUFFLE1BQU07d0JBQ2IsWUFBWSxFQUFFLElBQUk7d0JBQ2xCLElBQUksRUFBRSxFQUFFO3FCQUNULENBQUMsQ0FBQztvQkFDSCxTQUFTLENBQUMsV0FBVyxFQUFFO3lCQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3lCQUN4QyxTQUFTLENBQUMsQ0FBQyxZQUFvQixFQUFFLEVBQUU7d0JBQ2xDLDRCQUE0Qjt3QkFDNUIsMEtBQTBLO3dCQUMxSyxtQ0FBbUM7d0JBQ25DLDBLQUEwSzt3QkFDMUssSUFBSTt3QkFDSixtRkFBbUY7d0JBQ25GLHVGQUF1Rjt3QkFDdkYsY0FBYzt3QkFDZCwwQ0FBMEM7d0JBQzFDLGlEQUFpRDt3QkFDakQsZ0NBQWdDO3dCQUNoQyxxREFBcUQ7d0JBQ3JELG1EQUFtRDt3QkFDbkQsZ0NBQWdDO3dCQUNoQyxRQUFRO3dCQUNSLGtFQUFrRTt3QkFDbEUsSUFBSTt3QkFDSixJQUFJLElBQUksRUFBRSxrQkFBa0IsS0FBSyxjQUFjLElBQUksSUFBSSxFQUFFLGtCQUFrQixLQUFLLGtCQUFrQixFQUFFOzRCQUNsRyxNQUFNLE9BQU8sR0FBa0MsSUFBSSw2QkFBNkIsQ0FBQztnQ0FDL0UsR0FBRyxHQUFHO2dDQUNOLFFBQVEsRUFBRSx3QkFBd0I7Z0NBQ2xDLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7NkJBQ3pDLENBQUMsQ0FBQzs0QkFDSCxJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7NEJBQzdELElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2dDQUM3QixPQUFPLEVBQUUsUUFBUSxHQUFHLElBQUksRUFBRSxnQkFBZ0I7Z0NBQzFDLEtBQUssRUFBRSxTQUFTLEdBQUcsSUFBSSxFQUFFLFNBQVM7Z0NBQ2xDLEtBQUssRUFBRSxhQUFhLEdBQUcsS0FBSyxHQUFHLElBQUksRUFBRSxVQUFVO2dDQUMvQyxRQUFRLEVBQUUsSUFBSTs2QkFDZixDQUFDLENBQUM7NEJBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7eUJBQzFIO3dCQUNELGtFQUFrRTt3QkFDbEUscURBQXFEO3dCQUNyRCxzREFBc0Q7d0JBQ3RELCtFQUErRTs2QkFDMUUsSUFBSSxJQUFJLEVBQUUsa0JBQWtCLEtBQUssa0JBQWtCOzRCQUN0RCxJQUFJLEVBQUUsa0JBQWtCLEtBQUssZUFBZTs0QkFDNUMsSUFBSSxFQUFFLGtCQUFrQixLQUFLLGVBQWUsRUFBRTs0QkFDOUMsTUFBTSxPQUFPLEdBQWtDLElBQUksNkJBQTZCLENBQUM7Z0NBQy9FLEdBQUcsR0FBRztnQ0FDTixRQUFRLEVBQUUsd0JBQXdCO2dDQUNsQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCO2dDQUN4QyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVM7Z0NBQ3ZCLGtCQUFrQixFQUFFLElBQUksRUFBRSxrQkFBa0I7Z0NBQzVDLFlBQVksRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDO2dDQUMzQyxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDOzZCQUN0RSxDQUFDLENBQUM7NEJBQ0gsSUFBSSxDQUFDLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDOzRCQUM3RCx5REFBeUQ7NEJBQ3pELHlGQUF5Rjs0QkFDekYsOEJBQThCOzRCQUM5Qiw2QkFBNkI7NEJBQzdCLDZDQUE2Qzs0QkFDN0MsK0NBQStDOzRCQUMvQywrQ0FBK0M7NEJBQy9DLGtEQUFrRDs0QkFDbEQsOEJBQThCOzRCQUM5QixNQUFNOzRCQUNOLGdGQUFnRjt5QkFDakY7NkJBQ0k7NEJBQ0gsTUFBTSxPQUFPLEdBQWtDLElBQUksNkJBQTZCLENBQUM7Z0NBQy9FLEdBQUcsR0FBRztnQ0FDTixRQUFRLEVBQUUsd0JBQXdCO2dDQUNsQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCOzZCQUN6QyxDQUFDLENBQUM7NEJBQ0gsRUFBRTs0QkFDRixJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsOEJBQThCLENBQUMsS0FBSyxrQkFBa0IsQ0FBQyxjQUFjO21DQUM5RSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsSUFBSTt1Q0FDeEYsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLFVBQVU7dUNBQ3BJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSw0QkFBNEIsQ0FBQyxLQUFLLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSTsyQ0FDdEYsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0NBQ25JLFlBQVk7Z0NBQ1osSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQzs2QkFDakQ7aUNBQU07Z0NBQ0wsYUFBYTtnQ0FDYixJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7NkJBQzlEO3lCQUNGO3dCQUNELE1BQU07b0JBQ1IsQ0FBQyxDQUFDLENBQUM7aUJBQ047WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELDZCQUE2QixDQUFDLElBQW1DO1FBRS9ELElBQUksSUFBSSxFQUFFLGtCQUFrQixLQUFLLGNBQWMsSUFBSSxJQUFJLEVBQUUsa0JBQWtCLEtBQUssYUFBYSxFQUFFO1lBQzdGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUE7U0FDbEM7UUFFRCw2RUFBNkU7UUFDN0UsTUFBTSxTQUFTLEdBQXFELElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGtDQUFrQyxFQUFFO1lBQ3hILEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRTtnQkFDSixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM3QyxJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRTthQUNsRjtTQUNGLENBQUMsQ0FBQztRQUVILGtDQUFrQztRQUNsQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3RGLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsSUFBSSw2QkFBNkIsQ0FBQztvQkFDcEYsR0FBRyxHQUFHO29CQUNOLGdCQUFnQixFQUFFLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3hDLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDLENBQUMsQ0FBQyxDQUFDO2FBQ0w7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxPQUFzQyxFQUFFLElBQW1DO1FBQ3JHLE1BQU0sZ0JBQWdCLEdBQW1ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxFQUFFO1lBQzFILEtBQUssRUFBRSxVQUFVO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixPQUFPLEVBQUUsdUJBQXVCO2FBQ2pDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVksRUFBRSxFQUFFO1lBQ2pHLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsSUFBSSw2QkFBNkIsQ0FBQztvQkFDcEYsR0FBRyxPQUFPO29CQUNWLFlBQVksRUFBRSxJQUFJO2lCQUNuQixDQUFDLENBQUMsQ0FBQzthQUNMO2lCQUFNO2dCQUNMLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLDZCQUE2QixDQUFDO29CQUNwRixHQUFHLE9BQU87b0JBQ1YsWUFBWSxFQUFFLEtBQUs7aUJBQ3BCLENBQUMsQ0FBQyxDQUFDO2FBQ0w7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO1FBQ1osRUFBRTtJQUNKLENBQUM7OzhIQXRkVSxnQ0FBZ0MsME1BZ0JqQyxhQUFhO2tIQWhCWixnQ0FBZ0MsZ0dDM0Q3QywrR0FDQTs0RkQwRGEsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNFLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTs7MEJBa0I1QyxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTY2hlZHVsZUFwcG9pbnRtZW50UG9zdE1vZGVsIH0gZnJvbSAnQHBydXRlY2gvYXBwb2ludG1lbnQnO1xyXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudCwgQ29udGV4dE1lbnVBY3Rpb25JdGVtLCBDb250ZXh0TWVudUl0ZW0sIEVudmlyb25tZW50LCBMb29rdXAsIFRhYlNlcnZpY2UgfSBmcm9tICdAcHJ1dGVjaC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgVXNlciwgVXNlclNlcnZpY2UgfSBmcm9tICdAcHJ1dGVjaC9pZGVudGl0eS1jbGllbnQnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpbmQsIGdldCwgaXNOaWwsIG1hcCwgdG9TdHJpbmcgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgYXMgckZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBtZW51SXRlbXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbWVudS1pdGVtcyc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbmNpbGlhdGlvbi13b3JrLWxpc3QtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZGlhbG9nU2l6ZSwgcmVjb3JkT3V0cmVhY2hkaWFsb2dTaXplIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9kaWFnbG9nLXNpemUnO1xyXG5pbXBvcnQgeyBHb29kQ2F1c2VHcmFudGVkQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ29vZC1jYXVzZS1ncmFudGVkLWFjdGlvbi9nb29kLWNhdXNlLWdyYW50ZWQtYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvb2t1cHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZHVsZXMvY29uY2lsaWF0aW9uLWxvb2t1cHMvc2VydmljZXMvbG9va3Vwcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29uY2lsaWF0aW9uTG9va3VwcyB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2RlbHMvY29uY2lsaWF0aW9uLWxvb2t1cHMubW9kZWwnO1xyXG5pbXBvcnQgeyBHb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ29vZC1jYXVzZS1ub3QtZ3JhbnRlZC1hY3Rpb24vZ29vZC1jYXVzZS1ub3QtZ3JhbnRlZC1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICBnb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uSWQsXHJcbiAgcmVBc3NpZ25BY3Rpb25JZCxcclxuICByZWNvcmRPdXRyZWFjaEFjdGlvbklkLFxyXG4gIHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG4gIHNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZFxyXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25zdGFudHMvY29uY2lsaWF0aW9uL21lbnUtYWN0aW9uLWRlZnMnO1xyXG5pbXBvcnQgeyBhY3Rpb25zTGFiZWwgfSBmcm9tICcuLi8uLi8uLi9wcmUtY29uY2lsaWF0aW9uLXdvcmstbGlzdC9jb25zdGFudHMvbWVudS1pdGVtcyc7XHJcbmltcG9ydCB7IFllc05vQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMveWVzLW5vLWNvbmZpcm1hdGlvbi1kaWFsb2cveWVzLW5vLWNvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgY29uZmlybUhlYWRlciwgZ29vZENhdXNlQ29uZmlybU1lc3NhZ2UsIG5vTGFiZWwsIHllc0xhYmVsIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3llcy1uby1jb25maXJtLWRlZmF1bHRzJztcclxuaW1wb3J0IHsgSW5mcmFjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9pbmZyYWN0aW9uLXR5cGUtZW51bSc7XHJcbmltcG9ydCB7IEluZnJhY3Rpb25BdEVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uc3RhbnRzL2luZnJhY3Rpb24tYXQtZW51bSc7XHJcbmltcG9ydCB7IFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhdmUtc2NoZWR1bGluZy1jYWxsLWJhY2subW9kZWwnO1xyXG5pbXBvcnQgeyBTYXZlT3V0cmVhY2hNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zYXZlLW91dHJlYWNoLW1vZGVsJztcclxuaW1wb3J0IHsgUmVjb3JkT3V0cmVhY2hkaWFsb2dib3hDb21wb25lbnQgfSBmcm9tICcuLi9yZWNvcmQtb3V0cmVhY2hkaWFsb2dib3gvcmVjb3JkLW91dHJlYWNoZGlhbG9nYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlQXNzaWduRGFpbG9nYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vcmUtYXNzaWduLWRhaWxvZ2JveC9yZS1hc3NpZ24tZGFpbG9nYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN1Ym1pdFJlYXNzaWduTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3VibWl0LXJlLWFzc2lnbi1mcm9tbW9kZWwnO1xyXG5pbXBvcnQgeyBXYW50VG9TZW5kQ2xpZW50QmFja0RpYWxvZ2JveENvbXBvbmVudCB9IGZyb20gJy4uL3dhbnQtdG8tc2VuZC1jbGllbnQtYmFjay1kaWFsb2dib3gvd2FudC10by1zZW5kLWNsaWVudC1iYWNrLWRpYWxvZ2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBvcGVuQXBwb2ludG1lbnREaWFsb2dib3ggfSBmcm9tICcuLi8uLi9tb2RlbHMvb3Blbi1hcHBvaW50bWVudCc7XHJcbmltcG9ydCB7IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc3VibWl0LWJhdGNoLXBvb2wtYXBwb2ludG1lbnQubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIGNzQXBwb2ludG1lbnRzLFxyXG4gIGNzQXNzaWdubWVudHMsXHJcbiAgaXZhcEFzc2lnbm1lbnRzLFxyXG4gIGpjQXBwb2ludG1lbnRzLFxyXG4gIHNwbFJlZkFwcG9pbnRtZW50cyxcclxuICB0YWdBcHBvaW50bWVudHMsXHJcbiAgdGFnQXNzaWdubWVudHMsXHJcbiAgdnJzQXBwb2ludG1lbnRzLFxyXG4gIHdlY2FyZUFwcG9pbnRtZW50c1xyXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cy9vcmdpbmFsLWNhdGVnb3J5LWxvb2t1cC10eXBlcy5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBHZW5lcmF0ZUZJQTExODdBTGV0dGVyRGlhbG9nYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ2VuZXJhdGUtZmlhMTE4Ny1hbGV0dGVyLWRpYWxvZ2JveC9nZW5lcmF0ZS1maWExMTg3LWFsZXR0ZXItZGlhbG9nYm94LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BydXRlY2gtY29uY2lsaWF0aW9uLWNvbnRleHQtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmNpbGlhdGlvbkNvbnRleHRNZW51Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBtZW51SXRlbXM6IENvbnRleHRNZW51SXRlbVtdID0gbWVudUl0ZW1zO1xyXG4gIHBhcmFtczogQWdHcmlkQW5ndWxhcjtcclxuICBjb25jaWxpYXRpb25Mb29rdXBzOiBDb25jaWxpYXRpb25Mb29rdXBzO1xyXG4gIGFjdGlvbnM6IExvb2t1cFtdO1xyXG4gIHVzZXI6IFVzZXI7XHJcbiAgaXNDb25jaWxpYXRpb25XbENoZWNrOiBhbnk7XHJcbiAgYXBwdFNjaGVkdWxlZERldGFpbHM6IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgbG9va3Vwc1NlcnZpY2U6IExvb2t1cHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0YWJTZXJ2aWNlOiBUYWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2U6IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnVzZXIucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSxcclxuICAgICAgckZpbHRlcigodXNlcjogVXNlcikgPT4gISF1c2VyKSlcclxuICAgICAgLnN1YnNjcmliZSgodXNlcjogVXNlcikgPT4ge1xyXG4gICAgICAgIHRoaXMudXNlciA9IHVzZXI7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMubG9va3Vwc1NlcnZpY2UubG9va3Vwcy5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGxvb2t1cHM6IENvbmNpbGlhdGlvbkxvb2t1cHMpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbkxvb2t1cHMgPSBsb29rdXBzO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmFjdGlvbnMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb25zOiBMb29rdXBbXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnM7XHJcbiAgICAgICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLmdldFVwZGF0ZWRNZW51SXRlbXMoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBhZ0luaXQocGFyYW1zOiBBZ0dyaWRBbmd1bGFyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICAgIGNvbnN0IGNhblJlc2NoZWR1bGU6IGJvb2xlYW4gPSAhaXNOaWwoZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5zY2hlZHVsZWREYXRlJykpO1xyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzR3JhbnRlZCcpKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gJzEnKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICghZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc0dyYW50ZWQnKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09ICcyJyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNTY2hlZHVsZScpIHx8IGNhblJlc2NoZWR1bGUpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PiBhY3Rpb25JdGVtLnJvdXRlICE9PSB0b1N0cmluZyhzY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQpKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICghZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc1JlU2NoZWR1bGUnKSB8fCAhY2FuUmVzY2hlZHVsZSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09IHRvU3RyaW5nKHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkKSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNPdXRyZWFjaCcpKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gJzYnKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICghZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc1JlQXNzaWduJykpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PiBhY3Rpb25JdGVtLnJvdXRlICE9PSAnNScpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VXBkYXRlZE1lbnVJdGVtcygpOiBDb250ZXh0TWVudUl0ZW1bXSB7XHJcbiAgICByZXR1cm4gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLmxhYmVsID09PSBhY3Rpb25zTGFiZWwpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbGFiZWw6IGFjdGlvbnNMYWJlbCxcclxuICAgICAgICAgIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT5cclxuICAgICAgICAgICAgISFmaW5kKHRoaXMuYWN0aW9ucywgKGFjdGlvbkxvb2t1cDogTG9va3VwKSA9PiB0b1N0cmluZyhhY3Rpb25Mb29rdXAubG9va3VwSWQpID09PSBhY3Rpb25JdGVtLnJvdXRlKSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkb0FjdGlvbihldmVudDogQ29udGV4dE1lbnVBY3Rpb25JdGVtKTogdm9pZCB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50LnJvdXRlKSB7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcoZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5Hb29kQ2F1c2VHcmFudGVkRGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIC8vIHN1cHBvc2UgZ29vZCBjYXVzZSBncmFudGVkIGxvb2t1cElkIGlzIDJcclxuICAgICAgY2FzZSB0b1N0cmluZyhnb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3Blbkdvb2RDYXVzZU5vdEdyYW50ZWREaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhzY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3BlblNjaGVkdWxlQ2FsbEJhY2tEaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhyZVNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuUmVTY2hlZHVsZUNhbGxCYWNrRGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcocmVjb3JkT3V0cmVhY2hBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuT3V0cmVhY2hEaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhyZUFzc2lnbkFjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5SZUFzc2lnbkRpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5XYW50ZWRDbGllbnREYWlsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFdhbnRUb1NlbmRDbGllbnRCYWNrRGlhbG9nYm94Q29tcG9uZW50PiA9IHRoaXMuZGlhbG9nLm9wZW4oV2FudFRvU2VuZENsaWVudEJhY2tEaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBnZXQoaXRlbSwgJ3dsQ29uY2lsaWF0aW9uSWQnKVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBpc1dhbnRUb1NlbmRDbGllbnRCYWNrID0gZ2V0KHJlcywgJ3dhbnR0b3NlbmRjbGllbnRiYWNrJyk7XHJcbiAgICAgICAgaWYgKGlzV2FudFRvU2VuZENsaWVudEJhY2spIHtcclxuICAgICAgICAgIGlmICghZ2V0KGl0ZW0sICdpc0FjdGl2ZUFzc2lnbm1lbnQnKSkge1xyXG4gICAgICAgICAgICBvcGVuQXBwb2ludG1lbnREaWFsb2dib3godGhpcy5kaWFsb2csIGl0ZW0/LmNtc0Nhc2VJZCwgZ2V0KHRoaXMuZW52aXJvbm1lbnQsICdjb25jaWxpYXRpb25Bc3Nlc3NtZW50QXBwb2ludG1lbnRUeXBlSWQnKSwgMCwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzY2hlZHVsZURldGFpbHM6IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWwpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwdFNjaGVkdWxlZERldGFpbHMgPSBzY2hlZHVsZURldGFpbHM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIGlzV2FudFRvU2VuZENsaWVudEJhY2ssXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGdldChpdGVtLCAnd2xDb25jaWxpYXRpb25JZCcpLFxyXG4gICAgICAgICAgICAgICAgICBhcHBvaW50bWVudElkOiBzY2hlZHVsZURldGFpbHMuYXBwb2ludG1lbnRJZCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNjaGVkdWxlRGV0YWlscykge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudGFiU2VydmljZS5kaXNwYXRjaEFkZFRhYih7XHJcbiAgICAgICAgICAgIHRhYk5hbWU6ICdlYS1lcC8nICsgaXRlbT8uZWFlcEFzc2Vzc21lbnRJZCxcclxuICAgICAgICAgICAgcm91dGU6ICcvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgbGFiZWw6ICdBc3Nlc3NtZW50cycgKyAnIC0gJyArIGl0ZW0/LmNsaWVudE5hbWUsXHJcbiAgICAgICAgICAgIGNhbkNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBzdGF0ZTogeyBjbGllbnROYW1lOiBpdGVtPy5jbGllbnROYW1lIH0gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5SZUFzc2lnbkRpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UmVBc3NpZ25EYWlsb2dib3hDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2cub3BlbihSZUFzc2lnbkRhaWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU3VibWl0UmVhc3NpZ25Nb2RlbCA9IG5ldyBTdWJtaXRSZWFzc2lnbk1vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogcmVBc3NpZ25BY3Rpb25JZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVSZWFzc2lnbihwYXlsb2FkKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuU2NoZWR1bGVDYWxsQmFja0RpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZy5vcGVuKFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YTogeyAuLi5pdGVtLCBpc1JlU2NoZWR1bGU6IGZhbHNlIH0sXHJcbiAgICB9KTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwgPSBuZXcgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogc2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG5cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tEZXRhaWxEZXRhaWxzKHBheWxvYWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5SZVNjaGVkdWxlQ2FsbEJhY2tEaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oU2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7IC4uLml0ZW0sIGlzUmVTY2hlZHVsZTogdHJ1ZSB9LFxyXG4gICAgfSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsID0gbmV3IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCh7XHJcbiAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgYWN0aW9uSWQ6IHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0RldGFpbERldGFpbHMocGF5bG9hZClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuT3V0cmVhY2hEaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFJlY29yZE91dHJlYWNoZGlhbG9nYm94Q29tcG9uZW50PiA9IHRoaXMuZGlhbG9nPy5vcGVuKFJlY29yZE91dHJlYWNoZGlhbG9nYm94Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiByZWNvcmRPdXRyZWFjaGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlT3V0cmVhY2hNb2RlbCA9IG5ldyBTYXZlT3V0cmVhY2hNb2RlbCh7XHJcbiAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgYWN0aW9uSWQ6IHJlY29yZE91dHJlYWNoQWN0aW9uSWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlT3V0cmVhY2hXb3JrbGlzdERldGFpbHMocGF5bG9hZClcclxuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blbkdvb2RDYXVzZUdyYW50ZWREaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGNzQXBwb2ludG1lbnRzIHx8IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gY3NBc3NpZ25tZW50cyB8fFxyXG4gICAgICBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHRhZ0FwcG9pbnRtZW50cyB8fCBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHRhZ0Fzc2lnbm1lbnRzKSB7XHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEdvb2RDYXVzZUdyYW50ZWRBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oR29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiBkaWFsb2dTaXplLFxyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBjb25jaWxpYXRpb25Mb29rdXBzOiB0aGlzLmNvbmNpbGlhdGlvbkxvb2t1cHMsXHJcbiAgICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihHZW5lcmF0ZUZJQTExODdBTGV0dGVyRGlhbG9nYm94Q29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNTV2dycsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgZGF0YToge30sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxldHRlclR5cGVJZDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gaWYgKGxldHRlclR5cGVJZCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hQcmludERvY3VtZW50KHsgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLCBDbXNDYXNlSUQ6IGdldChpdGVtLCAnY21zQ2FzZUlkJykgfSk7XHJcbiAgICAgICAgICAgICAgLy8gfSBlbHNlIGlmIChsZXR0ZXJUeXBlSWQgPT09IDIpIHtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoUHJpbnREb2N1bWVudCh7IGxldHRlclR5cGU6IGxldHRlclR5cGVJZCwgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSwgQ21zQ2FzZUlEOiBnZXQoaXRlbSwgJ2Ntc0Nhc2VJZCcpIH0pO1xyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgICBpc1dhbnRUb1NlbmRDbGllbnRCYWNrOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgYWN0aW9uSWQ6IGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGdldChpdGVtLCAnd2xDb25jaWxpYXRpb25JZCcpLFxyXG4gICAgICAgICAgICAgICAgYXBwb2ludG1lbnRJZDogbnVsbCxcclxuICAgICAgICAgICAgICAgIGNhc2VJZDogaXRlbT8uY21zQ2FzZUlkLFxyXG4gICAgICAgICAgICAgICAgb3JpZ2luYWxDYXRlZ29yeUlkOiBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQsXHJcbiAgICAgICAgICAgICAgICBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLFxyXG4gICAgICAgICAgICAgICAgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLFxyXG4gICAgICAgICAgICAgICAgaW5mcmFjdGlvbkRhdGU6IGdldChpdGVtLCAnaW5mcmFjdGlvbkRhdGUnKSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgLy8gdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2Uuc2F2ZVN0YXR1cyhwYXlsb2FkKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpXHJcbiAgICAgIC8vIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIC8vICAgY29uc29sZS5sb2cocmVzKVxyXG4gICAgICAvLyAgIGlmKHJlcyl7XHJcbiAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2VhLWVwLycgKyBpdGVtPy5jbXNDYXNlSWRdICwge3F1ZXJ5UGFyYW1zOntpc2NvbmNpbGlhdGlvbldMOnRydWV9fSlcclxuICAgICAgLy8gICB9XHJcbiAgICAgIC8vIH0pOyBcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxHb29kQ2F1c2VHcmFudGVkQWN0aW9uQ29tcG9uZW50PiA9IHRoaXMuZGlhbG9nPy5vcGVuKEdvb2RDYXVzZUdyYW50ZWRBY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICAgICAgZGF0YTogaXRlbVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oR2VuZXJhdGVGSUExMTg3QUxldHRlckRpYWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICB3aWR0aDogJzU1dncnLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIGRhdGE6IHt9LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChsZXR0ZXJUeXBlSWQ6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICAgIC8vIGlmIChsZXR0ZXJUeXBlSWQgPT09IDEpIHtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoUHJpbnREb2N1bWVudCh7IGxldHRlclR5cGU6IGxldHRlclR5cGVJZCwgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSwgQ21zQ2FzZUlEOiBnZXQoaXRlbSwgJ2Ntc0Nhc2VJZCcpIH0pO1xyXG4gICAgICAgICAgICAgIC8vIH0gZWxzZSBpZiAobGV0dGVyVHlwZUlkID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFByaW50RG9jdW1lbnQoeyBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksIENtc0Nhc2VJRDogZ2V0KGl0ZW0sICdjbXNDYXNlSWQnKSB9KTtcclxuICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgLy8gaWYgKGl0ZW0gPy5vdXRyZWFjaElkICE9IG51bGwgfHwgaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdGFnQXNzaWdubWVudHMpIHtcclxuICAgICAgICAgICAgICAvLyAgIGNvbnN0IHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkID0gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgICAgICAvLyAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICAgIC8vICAgICBhY3Rpb25JZDogZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgICAgICAgIC8vICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtID8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgICAgICAvLyAgICAgY2FzZUlkOiBpdGVtID8uY21zQ2FzZUlkLFxyXG4gICAgICAgICAgICAgIC8vICAgICBvcmlnaW5hbENhdGVnb3J5SWQ6IGl0ZW0gPy5vcmlnaW5hbENhdGVnb3J5SWQsXHJcbiAgICAgICAgICAgICAgLy8gICAgIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksXHJcbiAgICAgICAgICAgICAgLy8gICAgIGxldHRlclR5cGU6IGxldHRlclR5cGVJZCxcclxuICAgICAgICAgICAgICAvLyAgIH0pO1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICBpZiAoaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBqY0FwcG9pbnRtZW50cyB8fCBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHNwbFJlZkFwcG9pbnRtZW50cykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgPSBuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhwYXlsb2FkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudGFiU2VydmljZS5kaXNwYXRjaEFkZFRhYih7XHJcbiAgICAgICAgICAgICAgICAgIHRhYk5hbWU6ICdlYS1lcC8nICsgaXRlbT8uZWFlcEFzc2Vzc21lbnRJZCxcclxuICAgICAgICAgICAgICAgICAgcm91dGU6ICcvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBc3Nlc3NtZW50cycgKyAnIC0gJyArIGl0ZW0/LmNsaWVudE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGNhbkNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBzdGF0ZTogeyBjbGllbnROYW1lOiBpdGVtPy5jbGllbnROYW1lIH0gfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC8vIGVsc2UgaWYgKCgoKGl0ZW0gPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHdlY2FyZUFwcG9pbnRtZW50cyB8fFxyXG4gICAgICAgICAgICAgIC8vICAgaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gaXZhcEFzc2lnbm1lbnRzIHx8XHJcbiAgICAgICAgICAgICAgLy8gICAgIGl0ZW0gPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHZyc0FwcG9pbnRtZW50cykgXHJcbiAgICAgICAgICAgICAgLy8gICAgICYmIGl0ZW0gPy5ueWN3YXlBcHB0Q29kZSAhPT0gbnVsbCkgfHwgaXRlbSA/Lm55Y3dheUFwcHRDb2RlID09PSAnQ0gnKSkge1xyXG4gICAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gd2VjYXJlQXBwb2ludG1lbnRzIHx8XHJcbiAgICAgICAgICAgICAgICBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGl2YXBBc3NpZ25tZW50cyB8fFxyXG4gICAgICAgICAgICAgICAgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB2cnNBcHBvaW50bWVudHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkID0gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb25JZDogZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICBjYXNlSWQ6IGl0ZW0/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgICAgICAgb3JpZ2luYWxDYXRlZ29yeUlkOiBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQsXHJcbiAgICAgICAgICAgICAgICAgIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksXHJcbiAgICAgICAgICAgICAgICAgIGxldHRlclR5cGU6IGxldHRlclR5cGVJZCwgaW5mcmFjdGlvbkRhdGU6IGdldChpdGVtLCAnaW5mcmFjdGlvbkRhdGUnKSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgICAgLy9CYXRjaCBwb29sIGxvZ2ljIGFkZGVkIHRvIFN1Ym1pdEdyYW50ZWRDb25jaWxpYXRpb24gYXBpXHJcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBwYXlsb2FkOiBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsID0gbmV3IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwoe1xyXG4gICAgICAgICAgICAgICAgLy8gICBjYXNlSWQ6IGl0ZW0gPy5jbXNDYXNlSWQsXHJcbiAgICAgICAgICAgICAgICAvLyAgIHNpdGVJZDogaXRlbSA/LnNtU2l0ZUlkLFxyXG4gICAgICAgICAgICAgICAgLy8gICBhcHBvaW50bWVudElkOiBpdGVtID8uYXBwb2ludEFzc2lnbk5hbWUsXHJcbiAgICAgICAgICAgICAgICAvLyAgIGVhZXBBc3Nlc3NtZW50SWQ6IGl0ZW0gPy5lYWVwQXNzZXNzbWVudElkLFxyXG4gICAgICAgICAgICAgICAgLy8gICB3bENvbmNpbGlhdGlvbklkOiBpdGVtID8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgICAgICAgIC8vICAgYXBwb2ludG1lbnROWUNXQVljb2RlOiBpdGVtID8ubnljd2F5QXBwdENvZGUsXHJcbiAgICAgICAgICAgICAgICAvLyAgIGxldHRlclR5cGU6IGxldHRlclR5cGVJZCxcclxuICAgICAgICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudChwYXlsb2FkKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgICAgICAgYWN0aW9uSWQ6IGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbT8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgLy9cclxuICAgICAgICAgICAgICAgIGlmIChnZXQoaXRlbSwgJ2luZnJhY3RlZFR5cGUudmFsdWUubG9va3VwSWQnKSA9PT0gSW5mcmFjdGlvblR5cGVFbnVtLkZUUkFwcG9pbnRtZW50XHJcbiAgICAgICAgICAgICAgICAgICYmICgoZ2V0KGl0ZW0sICdpbmZyYWN0ZWRBdC52YWx1ZS5sb29rdXBJZCcpID09PSBJbmZyYWN0aW9uQXRFbnVtLkNhcmVlclNlcnZpY2VzICYmIHRoaXMudXNlclxyXG4gICAgICAgICAgICAgICAgICAgICYmICh0aGlzLnVzZXIuaXNKb3NXb3JrZXIgfHwgdGhpcy51c2VyLmlzSm9zU3VwZXJ2aXNvciB8fCB0aGlzLnVzZXIuaXNPdXRTdGF0aW9uV29ya2VyIHx8IHRoaXMudXNlci5pc091dFN0YXRpb25TdXBlcnZpc29yKSkgLy8gYnIgOCwgOVxyXG4gICAgICAgICAgICAgICAgICAgIHx8IChnZXQoaXRlbSwgJ2luZnJhY3RlZEF0LnZhbHVlLmxvb2t1cElkJykgPT09IEluZnJhY3Rpb25BdEVudW0uQ2FyZWVyQWR2YW5jZSAmJiB0aGlzLnVzZXJcclxuICAgICAgICAgICAgICAgICAgICAgICYmICh0aGlzLnVzZXIuaXNKb3NXb3JrZXIgfHwgdGhpcy51c2VyLmlzSm9zU3VwZXJ2aXNvciB8fCB0aGlzLnVzZXIuaXNPdXRTdGF0aW9uV29ya2VyIHx8IHRoaXMudXNlci5pc091dFN0YXRpb25TdXBlcnZpc29yKSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIGJyIDEwLCAxMVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLm9wZW5ZZXNOb0NvbmZpcm1hdGlvbkRpYWxvZyhwYXlsb2FkLCBpdGVtKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIC8vIHNlbmQgdG8gQkVcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAvL2hlcmVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5Hb29kQ2F1c2VOb3RHcmFudGVkRGlhbG9nKGl0ZW06IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsKTogdm9pZCB7XHJcblxyXG4gICAgaWYgKGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gY3NBcHBvaW50bWVudHMgfHwgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBjc0Fzc2lnbm1lbnRzKSB7XHJcbiAgICAgIHRoaXMuaXNDb25jaWxpYXRpb25XbENoZWNrID0gdHJ1ZVxyXG4gICAgfVxyXG5cclxuICAgIC8vd2UgZG9uJ3QgbmVlZCB0byBzZW5kIG9yaWdpbmFsIGFwcHQgSWQuIE9yaWdpbmFsIGFwcHQgdHlwZSBJZCBpcyBkaWZmZXJlbnQuXHJcbiAgICBjb25zdCBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxHb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uQ29tcG9uZW50PiA9IHRoaXMuZGlhbG9nPy5vcGVuKEdvb2RDYXVzZU5vdEdyYW50ZWRBY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICBkYXRhOiB7IC4uLml0ZW0sIGFwcG9pbnRtZW50SWQ6IDAsIGlzY29uY2lsaWF0aW9uV0w6IHRoaXMuaXNDb25jaWxpYXRpb25XbENoZWNrIH1cclxuICAgICAgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMobmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogZ29vZENhdXNlTm90R3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuWWVzTm9Db25maXJtYXRpb25EaWFsb2cocGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQsIGl0ZW06IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsKTogdm9pZCB7XHJcbiAgICBjb25zdCBjb25maXJtRGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8WWVzTm9Db25maXJtYXRpb25EaWFsb2dDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2cub3BlbihZZXNOb0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgeWVzTGFiZWw6IHllc0xhYmVsLFxyXG4gICAgICAgIG5vTGFiZWw6IG5vTGFiZWwsXHJcbiAgICAgICAgaGVhZGVyOiBjb25maXJtSGVhZGVyLFxyXG4gICAgICAgIG1lc3NhZ2U6IGdvb2RDYXVzZUNvbmZpcm1NZXNzYWdlLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uZmlybURpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAuLi5wYXlsb2FkLFxyXG4gICAgICAgICAgY29uZmlybVllc05vOiB0cnVlLFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMobmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgIC4uLnBheWxvYWQsXHJcbiAgICAgICAgICBjb25maXJtWWVzTm86IGZhbHNlLFxyXG4gICAgICAgIH0pKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhZnRlck9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIC8vXHJcbiAgfVxyXG59IiwiPHBydXRlY2gtY29udGV4dC1tZW51IFttZW51SXRlbXNdPVwibWVudUl0ZW1zXCIgKG1lbnVBY3Rpb24pPVwiZG9BY3Rpb24oJGV2ZW50KVwiPjwvcHJ1dGVjaC1jb250ZXh0LW1lbnU+XHJcbiJdfQ==
509
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBS25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBMkUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqSSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUcsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sMEZBQTBGLENBQUM7QUFHM0ksT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0dBQWtHLENBQUM7QUFDdEos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QU41QyxTQUFTOytCQUNFLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTs7MEJBa0I1QyxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTY2hlZHVsZUFwcG9pbnRtZW50UG9zdE1vZGVsIH0gZnJvbSAnQHBydXRlY2gvYXBwb2ludG1lbnQnO1xyXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudCwgQ29udGV4dE1lbnVBY3Rpb25JdGVtLCBDb250ZXh0TWVudUl0ZW0sIEVudmlyb25tZW50LCBMb29rdXAsIFRhYlNlcnZpY2UgfSBmcm9tICdAcHJ1dGVjaC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgVXNlciwgVXNlclNlcnZpY2UgfSBmcm9tICdAcHJ1dGVjaC9pZGVudGl0eS1jbGllbnQnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpbmQsIGdldCwgaXNOaWwsIG1hcCwgdG9TdHJpbmcgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgYXMgckZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBtZW51SXRlbXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbWVudS1pdGVtcyc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbmNpbGlhdGlvbi13b3JrLWxpc3QtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgZGlhbG9nU2l6ZSwgcmVjb3JkT3V0cmVhY2hkaWFsb2dTaXplLCBmb3JtRGlhbG9nU2l6ZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25zdGFudHMvZGlhZ2xvZy1zaXplJztcclxuaW1wb3J0IHsgR29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2dvb2QtY2F1c2UtZ3JhbnRlZC1hY3Rpb24vZ29vZC1jYXVzZS1ncmFudGVkLWFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb29rdXBzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9tb2R1bGVzL2NvbmNpbGlhdGlvbi1sb29rdXBzL3NlcnZpY2VzL2xvb2t1cHMuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbkxvb2t1cHMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL2NvbmNpbGlhdGlvbi1sb29rdXBzLm1vZGVsJztcclxuaW1wb3J0IHsgR29vZENhdXNlTm90R3JhbnRlZEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2dvb2QtY2F1c2Utbm90LWdyYW50ZWQtYWN0aW9uL2dvb2QtY2F1c2Utbm90LWdyYW50ZWQtYWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhdmUtY29uY2lsaWF0aW9uLXN0YXR1cy1wYXlsb2FkLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgZ29vZENhdXNlTm90R3JhbnRlZEFjdGlvbklkLFxyXG4gIHJlQXNzaWduQWN0aW9uSWQsXHJcbiAgcmVjb3JkT3V0cmVhY2hBY3Rpb25JZCxcclxuICByZVNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCxcclxuICBzY2hlZHVsZUNhbGxCYWNrQWN0aW9uSWQsXHJcbiAgc2hvd0Nhc2VzdW1tYXJ5SWQsXHJcbiAgc2hvd091dHJlYWNoSGlzdG9yeUlkXHJcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9jb25jaWxpYXRpb24vbWVudS1hY3Rpb24tZGVmcyc7XHJcbmltcG9ydCB7IGFjdGlvbnNMYWJlbCB9IGZyb20gJy4uLy4uLy4uL3ByZS1jb25jaWxpYXRpb24td29yay1saXN0L2NvbnN0YW50cy9tZW51LWl0ZW1zJztcclxuaW1wb3J0IHsgWWVzTm9Db25maXJtYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy95ZXMtbm8tY29uZmlybWF0aW9uLWRpYWxvZy95ZXMtbm8tY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBjb25maXJtSGVhZGVyLCBnb29kQ2F1c2VDb25maXJtTWVzc2FnZSwgbm9MYWJlbCwgeWVzTGFiZWwgfSBmcm9tICcuLi8uLi9jb25zdGFudHMveWVzLW5vLWNvbmZpcm0tZGVmYXVsdHMnO1xyXG5pbXBvcnQgeyBJbmZyYWN0aW9uVHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29uc3RhbnRzL2luZnJhY3Rpb24tdHlwZS1lbnVtJztcclxuaW1wb3J0IHsgSW5mcmFjdGlvbkF0RW51bSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25zdGFudHMvaW5mcmFjdGlvbi1hdC1lbnVtJztcclxuaW1wb3J0IHsgU2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24vc2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2F2ZS1zY2hlZHVsaW5nLWNhbGwtYmFjay5tb2RlbCc7XHJcbmltcG9ydCB7IFNhdmVPdXRyZWFjaE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhdmUtb3V0cmVhY2gtbW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmRPdXRyZWFjaGRpYWxvZ2JveENvbXBvbmVudCB9IGZyb20gJy4uL3JlY29yZC1vdXRyZWFjaGRpYWxvZ2JveC9yZWNvcmQtb3V0cmVhY2hkaWFsb2dib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVBc3NpZ25EYWlsb2dib3hDb21wb25lbnQgfSBmcm9tICcuLi9yZS1hc3NpZ24tZGFpbG9nYm94L3JlLWFzc2lnbi1kYWlsb2dib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3VibWl0UmVhc3NpZ25Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJtaXQtcmUtYXNzaWduLWZyb21tb2RlbCc7XHJcbmltcG9ydCB7IFdhbnRUb1NlbmRDbGllbnRCYWNrRGlhbG9nYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vd2FudC10by1zZW5kLWNsaWVudC1iYWNrLWRpYWxvZ2JveC93YW50LXRvLXNlbmQtY2xpZW50LWJhY2stZGlhbG9nYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IG9wZW5BcHBvaW50bWVudERpYWxvZ2JveCB9IGZyb20gJy4uLy4uL21vZGVscy9vcGVuLWFwcG9pbnRtZW50JztcclxuaW1wb3J0IHsgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zdWJtaXQtYmF0Y2gtcG9vbC1hcHBvaW50bWVudC5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgY3NBcHBvaW50bWVudHMsXHJcbiAgY3NBc3NpZ25tZW50cyxcclxuICBpdmFwQXNzaWdubWVudHMsXHJcbiAgamNBcHBvaW50bWVudHMsXHJcbiAgc3BsUmVmQXBwb2ludG1lbnRzLFxyXG4gIHRhZ0FwcG9pbnRtZW50cyxcclxuICB0YWdBc3NpZ25tZW50cyxcclxuICB2cnNBcHBvaW50bWVudHMsXHJcbiAgd2VjYXJlQXBwb2ludG1lbnRzXHJcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL29yZ2luYWwtY2F0ZWdvcnktbG9va3VwLXR5cGVzLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IEdlbmVyYXRlRklBMTE4N0FMZXR0ZXJEaWFsb2dib3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9nZW5lcmF0ZS1maWExMTg3LWFsZXR0ZXItZGlhbG9nYm94L2dlbmVyYXRlLWZpYTExODctYWxldHRlci1kaWFsb2dib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgT3V0cmVhY2hIaXN0b3J5R3JpZERpYWxvZ2JveENvbXBvbmVudCB9IGZyb20gJy4uL291dHJlYWNoLWhpc3RvcnktZ3JpZC1kaWFsb2dib3gvb3V0cmVhY2gtaGlzdG9yeS1ncmlkLWRpYWxvZ2JveC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwcnV0ZWNoLWNvbmNpbGlhdGlvbi1jb250ZXh0LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25jaWxpYXRpb24tY29udGV4dC1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25jaWxpYXRpb25Db250ZXh0TWVudUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgbWVudUl0ZW1zOiBDb250ZXh0TWVudUl0ZW1bXSA9IG1lbnVJdGVtcztcclxuICBwYXJhbXM6IEFnR3JpZEFuZ3VsYXI7XHJcbiAgY29uY2lsaWF0aW9uTG9va3VwczogQ29uY2lsaWF0aW9uTG9va3VwcztcclxuICBhY3Rpb25zOiBMb29rdXBbXTtcclxuICB1c2VyOiBVc2VyO1xyXG4gIGlzQ29uY2lsaWF0aW9uV2xDaGVjazogYW55O1xyXG4gIGFwcHRTY2hlZHVsZWREZXRhaWxzOiBTY2hlZHVsZUFwcG9pbnRtZW50UG9zdE1vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGxvb2t1cHNTZXJ2aWNlOiBMb29rdXBzU2VydmljZSxcclxuICAgIHByaXZhdGUgdGFiU2VydmljZTogVGFiU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlOiBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0U2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy51c2VyU2VydmljZS51c2VyLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCksXHJcbiAgICAgIHJGaWx0ZXIoKHVzZXI6IFVzZXIpID0+ICEhdXNlcikpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHVzZXI6IFVzZXIpID0+IHtcclxuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmxvb2t1cHNTZXJ2aWNlLmxvb2t1cHMucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChsb29rdXBzOiBDb25jaWxpYXRpb25Mb29rdXBzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzID0gbG9va3VwcztcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5hY3Rpb25zLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgLnN1YnNjcmliZSgoYWN0aW9uczogTG9va3VwW10pID0+IHtcclxuICAgICAgICB0aGlzLmFjdGlvbnMgPSBhY3Rpb25zO1xyXG4gICAgICAgIHRoaXMubWVudUl0ZW1zID0gdGhpcy5nZXRVcGRhdGVkTWVudUl0ZW1zKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWdJbml0KHBhcmFtczogQWdHcmlkQW5ndWxhcik6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgICBjb25zdCBjYW5SZXNjaGVkdWxlOiBib29sZWFuID0gIWlzTmlsKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEuc2NoZWR1bGVkRGF0ZScpKTtcclxuICAgIGlmICghZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5pc0dyYW50ZWQnKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09ICcxJyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNHcmFudGVkJykpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PiBhY3Rpb25JdGVtLnJvdXRlICE9PSAnMicpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzU2NoZWR1bGUnKSB8fCBjYW5SZXNjaGVkdWxlKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gdG9TdHJpbmcoc2NoZWR1bGVDYWxsQmFja0FjdGlvbklkKSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNSZVNjaGVkdWxlJykgfHwgIWNhblJlc2NoZWR1bGUpIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgLi4uaXRlbSwgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PiBhY3Rpb25JdGVtLnJvdXRlICE9PSB0b1N0cmluZyhyZVNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCkpLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKCFnZXQodGhpcy5wYXJhbXMsICdkYXRhLmlzT3V0cmVhY2gnKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+IGFjdGlvbkl0ZW0ucm91dGUgIT09ICc2JyksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWdldCh0aGlzLnBhcmFtcywgJ2RhdGEuaXNSZUFzc2lnbicpKSB7XHJcbiAgICAgIHRoaXMubWVudUl0ZW1zID0gbWFwKHRoaXMubWVudUl0ZW1zLCAoaXRlbTogQ29udGV4dE1lbnVJdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIC4uLml0ZW0sIGl0ZW1zOiBmaWx0ZXIoaXRlbS5pdGVtcywgKGFjdGlvbkl0ZW06IENvbnRleHRNZW51QWN0aW9uSXRlbSkgPT4gYWN0aW9uSXRlbS5yb3V0ZSAhPT0gJzUnKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgICBpZiAoZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5zaG93T25seUNhc2VTdW1tYXknKSkge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IG1hcCh0aGlzLm1lbnVJdGVtcywgKGl0ZW06IENvbnRleHRNZW51SXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAuLi5pdGVtLCBpdGVtczogZmlsdGVyKGl0ZW0uaXRlbXMsIChhY3Rpb25JdGVtOiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pID0+KChhY3Rpb25JdGVtLnJvdXRlICE9PSAnOCcpKSksXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRVcGRhdGVkTWVudUl0ZW1zKCk6IENvbnRleHRNZW51SXRlbVtdIHtcclxuICAgIHJldHVybiBtYXAodGhpcy5tZW51SXRlbXMsIChpdGVtOiBDb250ZXh0TWVudUl0ZW0pID0+IHtcclxuICAgICAgaWYgKGl0ZW0ubGFiZWwgPT09IGFjdGlvbnNMYWJlbCkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBsYWJlbDogYWN0aW9uc0xhYmVsLFxyXG4gICAgICAgICAgaXRlbXM6IGZpbHRlcihpdGVtLml0ZW1zLCAoYWN0aW9uSXRlbTogQ29udGV4dE1lbnVBY3Rpb25JdGVtKSA9PlxyXG4gICAgICAgICAgICAhIWZpbmQodGhpcy5hY3Rpb25zLCAoYWN0aW9uTG9va3VwOiBMb29rdXApID0+IHRvU3RyaW5nKGFjdGlvbkxvb2t1cC5sb29rdXBJZCkgPT09IGFjdGlvbkl0ZW0ucm91dGUpKSxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRvQWN0aW9uKGV2ZW50OiBDb250ZXh0TWVudUFjdGlvbkl0ZW0pOiB2b2lkIHtcclxuICAgIGNvbnN0IGNhc2VJZDogbnVtYmVyID0gZ2V0KHRoaXMucGFyYW1zLCAnZGF0YS5jbXNDYXNlSWQnKTtcclxuICAgIHN3aXRjaCAoZXZlbnQucm91dGUpIHtcclxuICAgICAgY2FzZSB0b1N0cmluZyhnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3Blbkdvb2RDYXVzZUdyYW50ZWREaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgLy8gc3VwcG9zZSBnb29kIGNhdXNlIGdyYW50ZWQgbG9va3VwSWQgaXMgMlxyXG4gICAgICBjYXNlIHRvU3RyaW5nKGdvb2RDYXVzZU5vdEdyYW50ZWRBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuR29vZENhdXNlTm90R3JhbnRlZERpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25JZCk6XHJcbiAgICAgICAgdGhpcy5vcGVuU2NoZWR1bGVDYWxsQmFja0RpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5SZVNjaGVkdWxlQ2FsbEJhY2tEaWFsb2coZ2V0KHRoaXMucGFyYW1zLCAnZGF0YScpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0b1N0cmluZyhyZWNvcmRPdXRyZWFjaEFjdGlvbklkKTpcclxuICAgICAgICB0aGlzLm9wZW5PdXRyZWFjaERpYWxvZyhnZXQodGhpcy5wYXJhbXMsICdkYXRhJykpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRvU3RyaW5nKHJlQXNzaWduQWN0aW9uSWQpOlxyXG4gICAgICAgIHRoaXMub3BlblJlQXNzaWduRGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcoc2hvd0Nhc2VzdW1tYXJ5SWQpOlxyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2Nhc2Utc3VtbWFyeS8nICsgY2FzZUlkXSk7XHJcbiAgICAgIGNhc2UgdG9TdHJpbmcoc2hvd091dHJlYWNoSGlzdG9yeUlkKTpcclxuICAgICAgdGhpcy5vcGVuT3V0cmVhY2hIaXN0b3J5RGlhbG9nKGdldCh0aGlzLnBhcmFtcywgJ2RhdGEnKSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5XYW50ZWRDbGllbnREYWlsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFdhbnRUb1NlbmRDbGllbnRCYWNrRGlhbG9nYm94Q29tcG9uZW50PiA9IHRoaXMuZGlhbG9nLm9wZW4oV2FudFRvU2VuZENsaWVudEJhY2tEaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBnZXQoaXRlbSwgJ3dsQ29uY2lsaWF0aW9uSWQnKVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBjb25zdCBpc1dhbnRUb1NlbmRDbGllbnRCYWNrID0gZ2V0KHJlcywgJ3dhbnR0b3NlbmRjbGllbnRiYWNrJyk7XHJcbiAgICAgICAgaWYgKGlzV2FudFRvU2VuZENsaWVudEJhY2spIHtcclxuICAgICAgICAgIGlmICghZ2V0KGl0ZW0sICdpc0FjdGl2ZUFzc2lnbm1lbnQnKSkge1xyXG4gICAgICAgICAgICBvcGVuQXBwb2ludG1lbnREaWFsb2dib3godGhpcy5kaWFsb2csIGl0ZW0/LmNtc0Nhc2VJZCwgZ2V0KHRoaXMuZW52aXJvbm1lbnQsICdjb25jaWxpYXRpb25Bc3Nlc3NtZW50QXBwb2ludG1lbnRUeXBlSWQnKSwgMCwgZmFsc2UpXHJcbiAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzY2hlZHVsZURldGFpbHM6IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWwpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwdFNjaGVkdWxlZERldGFpbHMgPSBzY2hlZHVsZURldGFpbHM7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIGlzV2FudFRvU2VuZENsaWVudEJhY2ssXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGdldChpdGVtLCAnd2xDb25jaWxpYXRpb25JZCcpLFxyXG4gICAgICAgICAgICAgICAgICBhcHBvaW50bWVudElkOiBzY2hlZHVsZURldGFpbHMuYXBwb2ludG1lbnRJZCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKHNjaGVkdWxlRGV0YWlscykge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudGFiU2VydmljZS5kaXNwYXRjaEFkZFRhYih7XHJcbiAgICAgICAgICAgIHRhYk5hbWU6ICdlYS1lcC8nICsgaXRlbT8uZWFlcEFzc2Vzc21lbnRJZCxcclxuICAgICAgICAgICAgcm91dGU6ICcvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgbGFiZWw6ICdBc3Nlc3NtZW50cycgKyAnIC0gJyArIGl0ZW0/LmNsaWVudE5hbWUsXHJcbiAgICAgICAgICAgIGNhbkNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBzdGF0ZTogeyBjbGllbnROYW1lOiBpdGVtPy5jbGllbnROYW1lIH0gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5SZUFzc2lnbkRpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8UmVBc3NpZ25EYWlsb2dib3hDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2cub3BlbihSZUFzc2lnbkRhaWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU3VibWl0UmVhc3NpZ25Nb2RlbCA9IG5ldyBTdWJtaXRSZWFzc2lnbk1vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogcmVBc3NpZ25BY3Rpb25JZCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVSZWFzc2lnbihwYXlsb2FkKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuU2NoZWR1bGVDYWxsQmFja0RpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZy5vcGVuKFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YTogeyAuLi5pdGVtLCBpc1JlU2NoZWR1bGU6IGZhbHNlIH0sXHJcbiAgICB9KTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrTW9kZWwgPSBuZXcgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsKHtcclxuICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICBhY3Rpb25JZDogc2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG5cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tEZXRhaWxEZXRhaWxzKHBheWxvYWQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5SZVNjaGVkdWxlQ2FsbEJhY2tEaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oU2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7IC4uLml0ZW0sIGlzUmVTY2hlZHVsZTogdHJ1ZSB9LFxyXG4gICAgfSk7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCEhcmVzKSB7XHJcbiAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsID0gbmV3IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCh7XHJcbiAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgYWN0aW9uSWQ6IHJlU2NoZWR1bGVDYWxsQmFja0FjdGlvbklkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0RldGFpbERldGFpbHMocGF5bG9hZClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuT3V0cmVhY2hEaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFJlY29yZE91dHJlYWNoZGlhbG9nYm94Q29tcG9uZW50PiA9IHRoaXMuZGlhbG9nPy5vcGVuKFJlY29yZE91dHJlYWNoZGlhbG9nYm94Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiByZWNvcmRPdXRyZWFjaGRpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlT3V0cmVhY2hNb2RlbCA9IG5ldyBTYXZlT3V0cmVhY2hNb2RlbCh7XHJcbiAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgYWN0aW9uSWQ6IHJlY29yZE91dHJlYWNoQWN0aW9uSWQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlT3V0cmVhY2hXb3JrbGlzdERldGFpbHMocGF5bG9hZClcclxuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBvcGVuT3V0cmVhY2hIaXN0b3J5RGlhbG9nKGl0ZW06IENvbmNpbGlhdGlvbldvcmtMaXN0SXRlbU1vZGVsKXtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE91dHJlYWNoSGlzdG9yeUdyaWREaWFsb2dib3hDb21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oT3V0cmVhY2hIaXN0b3J5R3JpZERpYWxvZ2JveENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZm9ybURpYWxvZ1NpemUsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGRhdGE6IGl0ZW0ud2xDb25jaWxpYXRpb25JZFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuR29vZENhdXNlR3JhbnRlZERpYWxvZyhpdGVtOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gY3NBcHBvaW50bWVudHMgfHwgaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBjc0Fzc2lnbm1lbnRzIHx8XHJcbiAgICAgIGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdGFnQXBwb2ludG1lbnRzIHx8IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdGFnQXNzaWdubWVudHMpIHtcclxuICAgICAgY29uc3QgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8R29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudD4gPSB0aGlzLmRpYWxvZz8ub3BlbihHb29kQ2F1c2VHcmFudGVkQWN0aW9uQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6IGRpYWxvZ1NpemUsXHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGNvbmNpbGlhdGlvbkxvb2t1cHM6IHRoaXMuY29uY2lsaWF0aW9uTG9va3VwcyxcclxuICAgICAgICAgIGRhdGE6IGl0ZW1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEdlbmVyYXRlRklBMTE4N0FMZXR0ZXJEaWFsb2dib3hDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgd2lkdGg6ICc1NXZ3JyxcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRhOiB7fSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgobGV0dGVyVHlwZUlkOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAvLyBpZiAobGV0dGVyVHlwZUlkID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFByaW50RG9jdW1lbnQoeyBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksIENtc0Nhc2VJRDogZ2V0KGl0ZW0sICdjbXNDYXNlSWQnKSB9KTtcclxuICAgICAgICAgICAgICAvLyB9IGVsc2UgaWYgKGxldHRlclR5cGVJZCA9PT0gMikge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hQcmludERvY3VtZW50KHsgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLCBDbXNDYXNlSUQ6IGdldChpdGVtLCAnY21zQ2FzZUlkJykgfSk7XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkID0gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgICAgIGlzV2FudFRvU2VuZENsaWVudEJhY2s6IG51bGwsXHJcbiAgICAgICAgICAgICAgICBhY3Rpb25JZDogZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogZ2V0KGl0ZW0sICd3bENvbmNpbGlhdGlvbklkJyksXHJcbiAgICAgICAgICAgICAgICBhcHBvaW50bWVudElkOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgY2FzZUlkOiBpdGVtPy5jbXNDYXNlSWQsXHJcbiAgICAgICAgICAgICAgICBvcmlnaW5hbENhdGVnb3J5SWQ6IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICAgIGFzc2Vzc21lbnRJZDogZ2V0KGl0ZW0sICdlYWVwQXNzZXNzbWVudElkJyksXHJcbiAgICAgICAgICAgICAgICBsZXR0ZXJUeXBlOiBsZXR0ZXJUeXBlSWQsXHJcbiAgICAgICAgICAgICAgICBpbmZyYWN0aW9uRGF0ZTogZ2V0KGl0ZW0sICdpbmZyYWN0aW9uRGF0ZScpLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhwYXlsb2FkKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICAvLyB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5zYXZlU3RhdHVzKHBheWxvYWQpLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSlcclxuICAgICAgLy8gLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgLy8gICBjb25zb2xlLmxvZyhyZXMpXHJcbiAgICAgIC8vICAgaWYocmVzKXtcclxuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZWEtZXAvJyArIGl0ZW0/LmNtc0Nhc2VJZF0gLCB7cXVlcnlQYXJhbXM6e2lzY29uY2lsaWF0aW9uV0w6dHJ1ZX19KVxyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfSk7IFxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEdvb2RDYXVzZUdyYW50ZWRBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oR29vZENhdXNlR3JhbnRlZEFjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiBkaWFsb2dTaXplLFxyXG4gICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBjb25jaWxpYXRpb25Mb29rdXBzOiB0aGlzLmNvbmNpbGlhdGlvbkxvb2t1cHMsXHJcbiAgICAgICAgICBkYXRhOiBpdGVtXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihHZW5lcmF0ZUZJQTExODdBTGV0dGVyRGlhbG9nYm94Q29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAnNTV2dycsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgZGF0YToge30sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxldHRlclR5cGVJZDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgLy8gaWYgKGxldHRlclR5cGVJZCA9PT0gMSkge1xyXG4gICAgICAgICAgICAgIC8vICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hQcmludERvY3VtZW50KHsgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBhc3Nlc3NtZW50SWQ6IGdldChpdGVtLCAnZWFlcEFzc2Vzc21lbnRJZCcpLCBDbXNDYXNlSUQ6IGdldChpdGVtLCAnY21zQ2FzZUlkJykgfSk7XHJcbiAgICAgICAgICAgICAgLy8gfSBlbHNlIGlmIChsZXR0ZXJUeXBlSWQgPT09IDIpIHtcclxuICAgICAgICAgICAgICAvLyAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoUHJpbnREb2N1bWVudCh7IGxldHRlclR5cGU6IGxldHRlclR5cGVJZCwgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSwgQ21zQ2FzZUlEOiBnZXQoaXRlbSwgJ2Ntc0Nhc2VJZCcpIH0pO1xyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAvLyBpZiAoaXRlbSA/Lm91dHJlYWNoSWQgIT0gbnVsbCB8fCBpdGVtID8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB0YWdBc3NpZ25tZW50cykge1xyXG4gICAgICAgICAgICAgIC8vICAgY29uc3QgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgPSBuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgICAgIC8vICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgLy8gICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgLy8gICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0gPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgIC8vICAgICBjYXNlSWQ6IGl0ZW0gPy5jbXNDYXNlSWQsXHJcbiAgICAgICAgICAgICAgLy8gICAgIG9yaWdpbmFsQ2F0ZWdvcnlJZDogaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICAvLyAgICAgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSxcclxuICAgICAgICAgICAgICAvLyAgICAgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLFxyXG4gICAgICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAgICAgLy8gICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgIGlmIChpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGpjQXBwb2ludG1lbnRzIHx8IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gc3BsUmVmQXBwb2ludG1lbnRzKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCA9IG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLnJlcyxcclxuICAgICAgICAgICAgICAgICAgYWN0aW9uSWQ6IGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCxcclxuICAgICAgICAgICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbT8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hTYXZlU3RhdHVzKHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy50YWJTZXJ2aWNlLmRpc3BhdGNoQWRkVGFiKHtcclxuICAgICAgICAgICAgICAgICAgdGFiTmFtZTogJ2VhLWVwLycgKyBpdGVtPy5lYWVwQXNzZXNzbWVudElkLFxyXG4gICAgICAgICAgICAgICAgICByb3V0ZTogJy9lYS1lcC8nICsgaXRlbT8uY21zQ2FzZUlkLFxyXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ0Fzc2Vzc21lbnRzJyArICcgLSAnICsgaXRlbT8uY2xpZW50TmFtZSxcclxuICAgICAgICAgICAgICAgICAgY2FuQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2VhLWVwLycgKyBpdGVtPy5jbXNDYXNlSWRdLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUsIHN0YXRlOiB7IGNsaWVudE5hbWU6IGl0ZW0/LmNsaWVudE5hbWUgfSB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgLy8gZWxzZSBpZiAoKCgoaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gd2VjYXJlQXBwb2ludG1lbnRzIHx8XHJcbiAgICAgICAgICAgICAgLy8gICBpdGVtID8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBpdmFwQXNzaWdubWVudHMgfHxcclxuICAgICAgICAgICAgICAvLyAgICAgaXRlbSA/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gdnJzQXBwb2ludG1lbnRzKSBcclxuICAgICAgICAgICAgICAvLyAgICAgJiYgaXRlbSA/Lm55Y3dheUFwcHRDb2RlICE9PSBudWxsKSB8fCBpdGVtID8ubnljd2F5QXBwdENvZGUgPT09ICdDSCcpKSB7XHJcbiAgICAgICAgICAgICAgZWxzZSBpZiAoaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSB3ZWNhcmVBcHBvaW50bWVudHMgfHxcclxuICAgICAgICAgICAgICAgIGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gaXZhcEFzc2lnbm1lbnRzIHx8XHJcbiAgICAgICAgICAgICAgICBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IHZyc0FwcG9pbnRtZW50cykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgPSBuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgICAgICAgICAuLi5yZXMsXHJcbiAgICAgICAgICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0/LndsQ29uY2lsaWF0aW9uSWQsXHJcbiAgICAgICAgICAgICAgICAgIGNhc2VJZDogaXRlbT8uY21zQ2FzZUlkLFxyXG4gICAgICAgICAgICAgICAgICBvcmlnaW5hbENhdGVnb3J5SWQ6IGl0ZW0/Lm9yaWdpbmFsQ2F0ZWdvcnlJZCxcclxuICAgICAgICAgICAgICAgICAgYXNzZXNzbWVudElkOiBnZXQoaXRlbSwgJ2VhZXBBc3Nlc3NtZW50SWQnKSxcclxuICAgICAgICAgICAgICAgICAgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLCBpbmZyYWN0aW9uRGF0ZTogZ2V0KGl0ZW0sICdpbmZyYWN0aW9uRGF0ZScpLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICAvL0JhdGNoIHBvb2wgbG9naWMgYWRkZWQgdG8gU3VibWl0R3JhbnRlZENvbmNpbGlhdGlvbiBhcGlcclxuICAgICAgICAgICAgICAgIC8vIGNvbnN0IHBheWxvYWQ6IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwgPSBuZXcgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRNb2RlbCh7XHJcbiAgICAgICAgICAgICAgICAvLyAgIGNhc2VJZDogaXRlbSA/LmNtc0Nhc2VJZCxcclxuICAgICAgICAgICAgICAgIC8vICAgc2l0ZUlkOiBpdGVtID8uc21TaXRlSWQsXHJcbiAgICAgICAgICAgICAgICAvLyAgIGFwcG9pbnRtZW50SWQ6IGl0ZW0gPy5hcHBvaW50QXNzaWduTmFtZSxcclxuICAgICAgICAgICAgICAgIC8vICAgZWFlcEFzc2Vzc21lbnRJZDogaXRlbSA/LmVhZXBBc3Nlc3NtZW50SWQsXHJcbiAgICAgICAgICAgICAgICAvLyAgIHdsQ29uY2lsaWF0aW9uSWQ6IGl0ZW0gPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgLy8gICBhcHBvaW50bWVudE5ZQ1dBWWNvZGU6IGl0ZW0gPy5ueWN3YXlBcHB0Q29kZSxcclxuICAgICAgICAgICAgICAgIC8vICAgbGV0dGVyVHlwZTogbGV0dGVyVHlwZUlkLFxyXG4gICAgICAgICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50KHBheWxvYWQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHBheWxvYWQ6IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkID0gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgICAgICAgICBhY3Rpb25JZDogZ29vZENhdXNlR3JhbnRlZEFjdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgICB3bENvbmNpbGlhdGlvbklkOiBpdGVtPy53bENvbmNpbGlhdGlvbklkLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAvL1xyXG4gICAgICAgICAgICAgICAgaWYgKGdldChpdGVtLCAnaW5mcmFjdGVkVHlwZS52YWx1ZS5sb29rdXBJZCcpID09PSBJbmZyYWN0aW9uVHlwZUVudW0uRlRSQXBwb2ludG1lbnRcclxuICAgICAgICAgICAgICAgICAgJiYgKChnZXQoaXRlbSwgJ2luZnJhY3RlZEF0LnZhbHVlLmxvb2t1cElkJykgPT09IEluZnJhY3Rpb25BdEVudW0uQ2FyZWVyU2VydmljZXMgJiYgdGhpcy51c2VyXHJcbiAgICAgICAgICAgICAgICAgICAgJiYgKHRoaXMudXNlci5pc0pvc1dvcmtlciB8fCB0aGlzLnVzZXIuaXNKb3NTdXBlcnZpc29yIHx8IHRoaXMudXNlci5pc091dFN0YXRpb25Xb3JrZXIgfHwgdGhpcy51c2VyLmlzT3V0U3RhdGlvblN1cGVydmlzb3IpKSAvLyBiciA4LCA5XHJcbiAgICAgICAgICAgICAgICAgICAgfHwgKGdldChpdGVtLCAnaW5mcmFjdGVkQXQudmFsdWUubG9va3VwSWQnKSA9PT0gSW5mcmFjdGlvbkF0RW51bS5DYXJlZXJBZHZhbmNlICYmIHRoaXMudXNlclxyXG4gICAgICAgICAgICAgICAgICAgICAgJiYgKHRoaXMudXNlci5pc0pvc1dvcmtlciB8fCB0aGlzLnVzZXIuaXNKb3NTdXBlcnZpc29yIHx8IHRoaXMudXNlci5pc091dFN0YXRpb25Xb3JrZXIgfHwgdGhpcy51c2VyLmlzT3V0U3RhdGlvblN1cGVydmlzb3IpKSkpIHtcclxuICAgICAgICAgICAgICAgICAgLy8gYnIgMTAsIDExXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMub3Blblllc05vQ29uZmlybWF0aW9uRGlhbG9nKHBheWxvYWQsIGl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgLy8gc2VuZCB0byBCRVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMocGF5bG9hZCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIC8vaGVyZVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3Blbkdvb2RDYXVzZU5vdEdyYW50ZWREaWFsb2coaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoaXRlbT8ub3JpZ2luYWxDYXRlZ29yeUlkID09PSBjc0FwcG9pbnRtZW50cyB8fCBpdGVtPy5vcmlnaW5hbENhdGVnb3J5SWQgPT09IGNzQXNzaWdubWVudHMpIHtcclxuICAgICAgdGhpcy5pc0NvbmNpbGlhdGlvbldsQ2hlY2sgPSB0cnVlXHJcbiAgICB9XHJcblxyXG4gICAgLy93ZSBkb24ndCBuZWVkIHRvIHNlbmQgb3JpZ2luYWwgYXBwdCBJZC4gT3JpZ2luYWwgYXBwdCB0eXBlIElkIGlzIGRpZmZlcmVudC5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEdvb2RDYXVzZU5vdEdyYW50ZWRBY3Rpb25Db21wb25lbnQ+ID0gdGhpcy5kaWFsb2c/Lm9wZW4oR29vZENhdXNlTm90R3JhbnRlZEFjdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogZGlhbG9nU2l6ZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgY29uY2lsaWF0aW9uTG9va3VwczogdGhpcy5jb25jaWxpYXRpb25Mb29rdXBzLFxyXG4gICAgICAgIGRhdGE6IHsgLi4uaXRlbSwgYXBwb2ludG1lbnRJZDogMCwgaXNjb25jaWxpYXRpb25XTDogdGhpcy5pc0NvbmNpbGlhdGlvbldsQ2hlY2sgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmICghIXJlcykge1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgLi4ucmVzLFxyXG4gICAgICAgICAgd2xDb25jaWxpYXRpb25JZDogaXRlbT8ud2xDb25jaWxpYXRpb25JZCxcclxuICAgICAgICAgIGFjdGlvbklkOiBnb29kQ2F1c2VOb3RHcmFudGVkQWN0aW9uSWQsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5ZZXNOb0NvbmZpcm1hdGlvbkRpYWxvZyhwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCwgaXRlbTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbmZpcm1EaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxZZXNOb0NvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudD4gPSB0aGlzLmRpYWxvZy5vcGVuKFllc05vQ29uZmlybWF0aW9uRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiBkaWFsb2dTaXplLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB5ZXNMYWJlbDogeWVzTGFiZWwsXHJcbiAgICAgICAgbm9MYWJlbDogbm9MYWJlbCxcclxuICAgICAgICBoZWFkZXI6IGNvbmZpcm1IZWFkZXIsXHJcbiAgICAgICAgbWVzc2FnZTogZ29vZENhdXNlQ29uZmlybU1lc3NhZ2UsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25maXJtRGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpKS5zdWJzY3JpYmUoKHJlczogYm9vbGVhbikgPT4ge1xyXG4gICAgICBpZiAoISFyZXMpIHtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFNhdmVTdGF0dXMobmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNQYXlsb2FkKHtcclxuICAgICAgICAgIC4uLnBheWxvYWQsXHJcbiAgICAgICAgICBjb25maXJtWWVzTm86IHRydWUsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoU2F2ZVN0YXR1cyhuZXcgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQoe1xyXG4gICAgICAgICAgLi4ucGF5bG9hZCxcclxuICAgICAgICAgIGNvbmZpcm1ZZXNObzogZmFsc2UsXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFmdGVyT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy9cclxuICB9XHJcbn0iLCI8cHJ1dGVjaC1jb250ZXh0LW1lbnUgW21lbnVJdGVtc109XCJtZW51SXRlbXNcIiAobWVudUFjdGlvbik9XCJkb0FjdGlvbigkZXZlbnQpXCI+PC9wcnV0ZWNoLWNvbnRleHQtbWVudT5cclxuIl19
@@ -0,0 +1,30 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/material/dialog";
5
+ import * as i2 from "@prutech/components";
6
+ import * as i3 from "../outreach-history-grid/outreach-history-grid.component";
7
+ import * as i4 from "@angular/material/button";
8
+ import * as i5 from "@angular/flex-layout";
9
+ export class OutreachHistoryGridDialogboxComponent {
10
+ constructor(dilogref, data) {
11
+ this.dilogref = dilogref;
12
+ this.data = data;
13
+ }
14
+ ngOnInit() {
15
+ console.log(this.data);
16
+ }
17
+ closeModal() {
18
+ this.dilogref.close();
19
+ }
20
+ }
21
+ OutreachHistoryGridDialogboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OutreachHistoryGridDialogboxComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
22
+ OutreachHistoryGridDialogboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: OutreachHistoryGridDialogboxComponent, selector: "lib-outreach-history-grid-dialogbox", ngImport: i0, template: "<prutech-dialog-box>\r\n <div class=\"header\">Outreach History</div>\r\n\r\n <div class=\"body\">\r\n <div>\r\n <lib-outreach-history-grid [wlConciliationId]=\"data.data\"></lib-outreach-history-grid>\r\n </div>\r\n </div>\r\n <div class=\"dialogboxfooter\" fxLayoutGap=\"20px\">\r\n <button mat-flat-button (click)=\"closeModal()\">EXIT</button>\r\n </div>\r\n</prutech-dialog-box>", styles: [""], components: [{ type: i2.DialogBoxComponent, selector: "prutech-dialog-box" }, { type: i3.OutreachHistoryGridComponent, selector: "lib-outreach-history-grid", inputs: ["wlConciliationId"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }] });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OutreachHistoryGridDialogboxComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'lib-outreach-history-grid-dialogbox', template: "<prutech-dialog-box>\r\n <div class=\"header\">Outreach History</div>\r\n\r\n <div class=\"body\">\r\n <div>\r\n <lib-outreach-history-grid [wlConciliationId]=\"data.data\"></lib-outreach-history-grid>\r\n </div>\r\n </div>\r\n <div class=\"dialogboxfooter\" fxLayoutGap=\"20px\">\r\n <button mat-flat-button (click)=\"closeModal()\">EXIT</button>\r\n </div>\r\n</prutech-dialog-box>", styles: [""] }]
26
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
27
+ type: Inject,
28
+ args: [MAT_DIALOG_DATA]
29
+ }] }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cmVhY2gtaGlzdG9yeS1ncmlkLWRpYWxvZ2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbXBvbmVudHMvb3V0cmVhY2gtaGlzdG9yeS1ncmlkLWRpYWxvZ2JveC9vdXRyZWFjaC1oaXN0b3J5LWdyaWQtZGlhbG9nYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BydXRlY2gvY29tcGxpYW5jZS9zcmMvbGliL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QvY29tcG9uZW50cy9vdXRyZWFjaC1oaXN0b3J5LWdyaWQtZGlhbG9nYm94L291dHJlYWNoLWhpc3RvcnktZ3JpZC1kaWFsb2dib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU96RSxNQUFNLE9BQU8scUNBQXFDO0lBRWhELFlBQW9CLFFBQTZELEVBQzlDLElBQVM7UUFEeEIsYUFBUSxHQUFSLFFBQVEsQ0FBcUQ7UUFDOUMsU0FBSSxHQUFKLElBQUksQ0FBSztJQUN4QyxDQUFDO0lBRUwsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDOzttSUFYVSxxQ0FBcUMsOENBR3JDLGVBQWU7dUhBSGYscUNBQXFDLDJFQ1JsRCxvWkFXcUI7NEZESFIscUNBQXFDO2tCQUxqRCxTQUFTOytCQUNFLHFDQUFxQzs7MEJBTzNDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItb3V0cmVhY2gtaGlzdG9yeS1ncmlkLWRpYWxvZ2JveCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL291dHJlYWNoLWhpc3RvcnktZ3JpZC1kaWFsb2dib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL291dHJlYWNoLWhpc3RvcnktZ3JpZC1kaWFsb2dib3guY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPdXRyZWFjaEhpc3RvcnlHcmlkRGlhbG9nYm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoIHB1YmxpYyBkaWxvZ3JlZjogTWF0RGlhbG9nUmVmPE91dHJlYWNoSGlzdG9yeUdyaWREaWFsb2dib3hDb21wb25lbnQ+LFxyXG4gICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2codGhpcy5kYXRhKVxyXG4gIH1cclxuICBjbG9zZU1vZGFsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWxvZ3JlZi5jbG9zZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8cHJ1dGVjaC1kaWFsb2ctYm94PlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5PdXRyZWFjaCBIaXN0b3J5PC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJib2R5XCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8bGliLW91dHJlYWNoLWhpc3RvcnktZ3JpZCBbd2xDb25jaWxpYXRpb25JZF09XCJkYXRhLmRhdGFcIj48L2xpYi1vdXRyZWFjaC1oaXN0b3J5LWdyaWQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZGlhbG9nYm94Zm9vdGVyXCIgZnhMYXlvdXRHYXA9XCIyMHB4XCI+XHJcbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCI+RVhJVDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L3BydXRlY2gtZGlhbG9nLWJveD4iXX0=