@ksremp/ngx-ksremp-app-lib 1.0.7 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/esm2022/lib/annimations/app-animations.mjs +1 -1
  2. package/esm2022/lib/components/address/address.component.mjs +19 -14
  3. package/esm2022/lib/components/captcha/captcha.component.mjs +6 -6
  4. package/esm2022/lib/components/card/card.component.mjs +1 -1
  5. package/esm2022/lib/components/content/content.component.mjs +1 -1
  6. package/esm2022/lib/components/error/error.component.mjs +1 -1
  7. package/esm2022/lib/components/file-download/file-download.component.mjs +1 -1
  8. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +1 -1
  9. package/esm2022/lib/components/help/help.component.mjs +1 -1
  10. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +1 -1
  11. package/esm2022/lib/components/info/info.component.mjs +1 -1
  12. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +1 -1
  13. package/esm2022/lib/components/mask/mask.component.mjs +1 -1
  14. package/esm2022/lib/components/mfa/mfa.component.mjs +47 -30
  15. package/esm2022/lib/components/money-expect/money-expect.component.mjs +1 -1
  16. package/esm2022/lib/components/msg/msg.component.mjs +1 -1
  17. package/esm2022/lib/components/news/news.component.mjs +1 -1
  18. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +1 -1
  19. package/esm2022/lib/components/page/page.component.mjs +1 -1
  20. package/esm2022/lib/components/questionnaire/AppValidators.mjs +21 -4
  21. package/esm2022/lib/components/questionnaire/FbConstants.mjs +1 -1
  22. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +475 -423
  23. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +190 -3
  24. package/esm2022/lib/components/questionnaire/question-base.mjs +1 -1
  25. package/esm2022/lib/components/questionnaire/question.service.mjs +1 -1
  26. package/esm2022/lib/components/read-more/read-more.component.mjs +6 -6
  27. package/esm2022/lib/components/select/select.component.mjs +1 -1
  28. package/esm2022/lib/components/ssn/ssn.component.mjs +1 -1
  29. package/esm2022/lib/components/test/test.component.mjs +1 -1
  30. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +5 -1
  31. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +40 -41
  32. package/esm2022/lib/components/weekly-cert-wrpt-employer/weekly-cert-wrpt-employer.component.mjs +695 -0
  33. package/esm2022/lib/components/weekly-cert-wrpt-employer-grid/weekly-cert-wrpt-employer-grid.component.mjs +408 -0
  34. package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +1 -1
  35. package/esm2022/lib/directives/caps-lock.directive.mjs +1 -1
  36. package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +1 -1
  37. package/esm2022/lib/enums/EmailStatusEnum.mjs +1 -1
  38. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +1 -1
  39. package/esm2022/lib/models/ErrorModel.mjs +1 -1
  40. package/esm2022/lib/models/FileModel.mjs +1 -1
  41. package/esm2022/lib/models/NotificationModel.mjs +1 -1
  42. package/esm2022/lib/models/PartTimeEmploymentModel.mjs +3 -0
  43. package/esm2022/lib/models/TrendModel.mjs +1 -1
  44. package/esm2022/lib/models/UserDetailsModel.mjs +1 -1
  45. package/esm2022/lib/models/claimant/ClaimantModel.mjs +1 -1
  46. package/esm2022/lib/models/claimant/JobResultsData.mjs +1 -1
  47. package/esm2022/lib/models/claimant/MatchingJobs.mjs +1 -1
  48. package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +1 -1
  49. package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +1 -1
  50. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +5 -5
  51. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +7 -5
  52. package/esm2022/lib/ngx-reusa-app-lib.service.mjs +1 -1
  53. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +1 -1
  54. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +1 -1
  55. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +1 -1
  56. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +1 -1
  57. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +1 -1
  58. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +1 -1
  59. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +1 -1
  60. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +1 -1
  61. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +1 -1
  62. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +1 -1
  63. package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
  64. package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +1 -1
  65. package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +1 -1
  66. package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +1 -1
  67. package/esm2022/lib/services/base-service.mjs +1 -1
  68. package/esm2022/lib/services/captcha/captcha.service.mjs +1 -1
  69. package/esm2022/lib/services/chatbot/script.const.mjs +1 -1
  70. package/esm2022/lib/services/claimant/claimant.service.mjs +1 -1
  71. package/esm2022/lib/services/dms-service/dms.service.mjs +1 -1
  72. package/esm2022/lib/services/fpjs/fingerprint.service.mjs +1 -1
  73. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +1 -1
  74. package/esm2022/lib/services/idle/idle.service.mjs +1 -1
  75. package/esm2022/lib/services/maintenance/maintenance.service.mjs +1 -1
  76. package/esm2022/lib/services/notification/notification.service.mjs +1 -1
  77. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  78. package/esm2022/lib/services/tour/tour.service.mjs +1 -1
  79. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +4 -2
  80. package/esm2022/public-api.mjs +3 -1
  81. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs +2244 -892
  82. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs.map +1 -1
  83. package/lib/components/address/address.component.d.ts +1 -0
  84. package/lib/components/address/address.component.d.ts.map +1 -1
  85. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  86. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  87. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +7 -1
  88. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  89. package/lib/components/questionnaire/dynamic-form.component.d.ts +7 -2
  90. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  91. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +1 -0
  92. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  93. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +5 -3
  94. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  95. package/lib/components/weekly-cert-wrpt-employer/weekly-cert-wrpt-employer.component.d.ts +69 -0
  96. package/lib/components/weekly-cert-wrpt-employer/weekly-cert-wrpt-employer.component.d.ts.map +1 -0
  97. package/lib/components/weekly-cert-wrpt-employer-grid/weekly-cert-wrpt-employer-grid.component.d.ts +50 -0
  98. package/lib/components/weekly-cert-wrpt-employer-grid/weekly-cert-wrpt-employer-grid.component.d.ts.map +1 -0
  99. package/lib/models/PartTimeEmploymentModel.d.ts +19 -0
  100. package/lib/models/PartTimeEmploymentModel.d.ts.map +1 -0
  101. package/lib/ngx-reusa-app-lib.module.d.ts +78 -76
  102. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  103. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  104. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  105. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +2 -0
  106. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  107. package/package.json +2 -2
  108. package/public-api.d.ts +2 -0
  109. package/public-api.d.ts.map +1 -1
@@ -34,4 +34,4 @@ export const rowExpansionTrigger = trigger('rowExpansionTrigger', [
34
34
  })),
35
35
  transition('* <=> *', animate('600ms cubic-bezier(0.86, 0, 0.07, 1)'))
36
36
  ]);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2FubmltYXRpb25zL2FwcC1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFlLEVBQUUsSUFBVTtJQUN0RCxNQUFNLEVBQUUsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFFckMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtRQUM5QixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUU7YUFDYixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMzQixRQUFRLENBQUMsR0FBRyxDQUFDO2FBQ2IsTUFBTSxDQUFDLFNBQVMsQ0FBQzthQUNqQixNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNoQztTQUFNO1FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQzNCLFFBQVEsQ0FBQyxHQUFHLENBQUM7YUFDYixNQUFNLENBQUMsU0FBUyxDQUFDO2FBQ2pCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdCLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRTthQUMvQixVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUMxQixRQUFRLENBQUMsR0FBRyxDQUFDO2FBQ2IsTUFBTSxDQUFDLFVBQVUsQ0FBQzthQUNsQixNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7S0FDMUU7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFO0lBQzlELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO1FBQ2hCLFNBQVMsRUFBRSxrQkFBa0I7UUFDN0IsT0FBTyxFQUFFLENBQUM7S0FDYixDQUFDLENBQUM7SUFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztRQUNsQixTQUFTLEVBQUUsZUFBZTtRQUMxQixPQUFPLEVBQUUsQ0FBQztLQUNiLENBQUMsQ0FBQztJQUNILFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDekUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uLCBBbmltYXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgdHJpZ2dlciwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnRlckFuaW1hdGlvbihlbDogSFRNTEVsZW1lbnQsIG9wdHM/OiBhbnkpOiBBbmltYXRpb24ge1xuICAgIGNvbnN0IGFjID0gbmV3IEFuaW1hdGlvbkNvbnRyb2xsZXIoKTtcblxuICAgIGlmIChvcHRzLmRpcmVjdGlvbiA9PT0gJ2ZvcndhcmQnKSB7XG4gICAgICAgIHJldHVybiBhYy5jcmVhdGUoKVxuICAgICAgICAgICAgLmFkZEVsZW1lbnQob3B0cy5lbnRlcmluZ0VsKVxuICAgICAgICAgICAgLmR1cmF0aW9uKDE1MClcbiAgICAgICAgICAgIC5lYXNpbmcoJ2Vhc2UtaW4nKVxuICAgICAgICAgICAgLmZyb21Ubygnb3BhY2l0eScsIDAsIDEpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGVudGVyaW5nQW5pbWF0aW9uID0gYWMuY3JlYXRlKClcbiAgICAgICAgICAgIC5hZGRFbGVtZW50KG9wdHMuZW50ZXJpbmdFbClcbiAgICAgICAgICAgIC5kdXJhdGlvbigxNTApXG4gICAgICAgICAgICAuZWFzaW5nKCdlYXNlLWluJylcbiAgICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAwLCAxKTtcblxuICAgICAgICBjb25zdCBsZWF2aW5nQW5pbWF0aW9uID0gYWMuY3JlYXRlKClcbiAgICAgICAgICAgIC5hZGRFbGVtZW50KG9wdHMubGVhdmluZ0VsKVxuICAgICAgICAgICAgLmR1cmF0aW9uKDE1MClcbiAgICAgICAgICAgIC5lYXNpbmcoJ2Vhc2Utb3V0JylcbiAgICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAxLCAwKTtcbiAgICAgICAgcmV0dXJuIGFjLmNyZWF0ZSgpLmFkZEFuaW1hdGlvbihbZW50ZXJpbmdBbmltYXRpb24sIGxlYXZpbmdBbmltYXRpb25dKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCByb3dFeHBhbnNpb25UcmlnZ2VyID0gdHJpZ2dlcigncm93RXhwYW5zaW9uVHJpZ2dlcicsIFtcbiAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAlKScsXG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICB9KSksXG4gICAgc3RhdGUoJ2FjdGl2ZScsIHN0eWxlKHtcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwKScsXG4gICAgICAgIG9wYWNpdHk6IDFcbiAgICB9KSksXG4gICAgdHJhbnNpdGlvbignKiA8PT4gKicsIGFuaW1hdGUoJzYwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKScpKVxuXSk7Il19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWFuaW1hdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2FubmltYXRpb25zL2FwcC1hbmltYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakYsTUFBTSxVQUFVLGNBQWMsQ0FBQyxFQUFlLEVBQUUsSUFBVTtJQUN0RCxNQUFNLEVBQUUsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFFckMsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtRQUM5QixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUU7YUFDYixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUMzQixRQUFRLENBQUMsR0FBRyxDQUFDO2FBQ2IsTUFBTSxDQUFDLFNBQVMsQ0FBQzthQUNqQixNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNoQztTQUFNO1FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFO2FBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQzNCLFFBQVEsQ0FBQyxHQUFHLENBQUM7YUFDYixNQUFNLENBQUMsU0FBUyxDQUFDO2FBQ2pCLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdCLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRTthQUMvQixVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUMxQixRQUFRLENBQUMsR0FBRyxDQUFDO2FBQ2IsTUFBTSxDQUFDLFVBQVUsQ0FBQzthQUNsQixNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7S0FDMUU7QUFDTCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFO0lBQzlELEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDO1FBQ2hCLFNBQVMsRUFBRSxrQkFBa0I7UUFDN0IsT0FBTyxFQUFFLENBQUM7S0FDYixDQUFDLENBQUM7SUFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztRQUNsQixTQUFTLEVBQUUsZUFBZTtRQUMxQixPQUFPLEVBQUUsQ0FBQztLQUNiLENBQUMsQ0FBQztJQUNILFVBQVUsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7Q0FDekUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uLCBBbmltYXRpb25Db250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIGFuaW1hdGUgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBlbnRlckFuaW1hdGlvbihlbDogSFRNTEVsZW1lbnQsIG9wdHM/OiBhbnkpOiBBbmltYXRpb24ge1xyXG4gICAgY29uc3QgYWMgPSBuZXcgQW5pbWF0aW9uQ29udHJvbGxlcigpO1xyXG5cclxuICAgIGlmIChvcHRzLmRpcmVjdGlvbiA9PT0gJ2ZvcndhcmQnKSB7XHJcbiAgICAgICAgcmV0dXJuIGFjLmNyZWF0ZSgpXHJcbiAgICAgICAgICAgIC5hZGRFbGVtZW50KG9wdHMuZW50ZXJpbmdFbClcclxuICAgICAgICAgICAgLmR1cmF0aW9uKDE1MClcclxuICAgICAgICAgICAgLmVhc2luZygnZWFzZS1pbicpXHJcbiAgICAgICAgICAgIC5mcm9tVG8oJ29wYWNpdHknLCAwLCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZW50ZXJpbmdBbmltYXRpb24gPSBhYy5jcmVhdGUoKVxyXG4gICAgICAgICAgICAuYWRkRWxlbWVudChvcHRzLmVudGVyaW5nRWwpXHJcbiAgICAgICAgICAgIC5kdXJhdGlvbigxNTApXHJcbiAgICAgICAgICAgIC5lYXNpbmcoJ2Vhc2UtaW4nKVxyXG4gICAgICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgMCwgMSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGxlYXZpbmdBbmltYXRpb24gPSBhYy5jcmVhdGUoKVxyXG4gICAgICAgICAgICAuYWRkRWxlbWVudChvcHRzLmxlYXZpbmdFbClcclxuICAgICAgICAgICAgLmR1cmF0aW9uKDE1MClcclxuICAgICAgICAgICAgLmVhc2luZygnZWFzZS1vdXQnKVxyXG4gICAgICAgICAgICAuZnJvbVRvKCdvcGFjaXR5JywgMSwgMCk7XHJcbiAgICAgICAgcmV0dXJuIGFjLmNyZWF0ZSgpLmFkZEFuaW1hdGlvbihbZW50ZXJpbmdBbmltYXRpb24sIGxlYXZpbmdBbmltYXRpb25dKTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHJvd0V4cGFuc2lvblRyaWdnZXIgPSB0cmlnZ2VyKCdyb3dFeHBhbnNpb25UcmlnZ2VyJywgW1xyXG4gICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7XHJcbiAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtMTAlKScsXHJcbiAgICAgICAgb3BhY2l0eTogMFxyXG4gICAgfSkpLFxyXG4gICAgc3RhdGUoJ2FjdGl2ZScsIHN0eWxlKHtcclxuICAgICAgICB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyxcclxuICAgICAgICBvcGFjaXR5OiAxXHJcbiAgICB9KSksXHJcbiAgICB0cmFuc2l0aW9uKCcqIDw9PiAqJywgYW5pbWF0ZSgnNjAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpJykpXHJcbl0pOyJdfQ==
@@ -16,7 +16,7 @@ import * as i9 from "primeng/inputtext";
16
16
  import * as i10 from "../error/error.component";
17
17
  import * as i11 from "../dropdown/dropdown.component";
18
18
  const _c0 = ["addressFormDirective"];
19
- const _c1 = a0 => ({ required: a0 });
19
+ const _c1 = () => ({ required: "required" });
20
20
  function AddressComponent_ion_col_55_Template(rf, ctx) { if (rf & 1) {
21
21
  i0.ɵɵelementStart(0, "ion-col", 18)(1, "div", 14)(2, "label", 5);
22
22
  i0.ɵɵtext(3);
@@ -36,8 +36,9 @@ function AddressComponent_ion_col_55_Template(rf, ctx) { if (rf & 1) {
36
36
  i0.ɵɵproperty("readonly", ctx_r1.readonly)("options", ctx_r1.countyOptions)("formControl", ctx_r1.county)("autoDisplayFirst", false)("inputId", ctx_r1.inputId ? ctx_r1.inputId + "-county" : "county");
37
37
  i0.ɵɵadvance(2);
38
38
  i0.ɵɵclassMap("app-grid");
39
- i0.ɵɵproperty("field", ctx_r1.county)("form", _r0)("errDef", i0.ɵɵpureFunction1(15, _c1, ctx_r1.required));
39
+ i0.ɵɵproperty("field", ctx_r1.county)("form", _r0)("errDef", i0.ɵɵpureFunction0(15, _c1));
40
40
  } }
41
+ const _c2 = a0 => ({ required: a0 });
41
42
  function AddressComponent_ion_col_56_Template(rf, ctx) { if (rf & 1) {
42
43
  i0.ɵɵelementStart(0, "ion-col", 18)(1, "div", 14)(2, "label", 5);
43
44
  i0.ɵɵtext(3);
@@ -57,9 +58,9 @@ function AddressComponent_ion_col_56_Template(rf, ctx) { if (rf & 1) {
57
58
  i0.ɵɵproperty("readonly", ctx_r2.readonly)("options", ctx_r2.townOptions)("formControl", ctx_r2.town)("autoDisplayFirst", false)("inputId", ctx_r2.inputId ? ctx_r2.inputId + "-town" : "town");
58
59
  i0.ɵɵadvance(2);
59
60
  i0.ɵɵclassMap("app-grid");
60
- i0.ɵɵproperty("field", ctx_r2.town)("form", _r0)("errDef", i0.ɵɵpureFunction1(15, _c1, ctx_r2.required));
61
+ i0.ɵɵproperty("field", ctx_r2.town)("form", _r0)("errDef", i0.ɵɵpureFunction1(15, _c2, ctx_r2.required));
61
62
  } }
62
- const _c2 = (a0, a1, a2, a3) => ({ required: a0, invalidLength: a1, invalidNumber: a2, invalidZipCode: a3 });
63
+ const _c3 = (a0, a1, a2, a3) => ({ required: a0, invalidLength: a1, invalidNumber: a2, invalidZipCode: a3 });
63
64
  export class AddressComponent {
64
65
  constructor(formBuilder, util, questionnaireService, logger, dms, translateService) {
65
66
  this.formBuilder = formBuilder;
@@ -77,6 +78,9 @@ export class AddressComponent {
77
78
  this.readonly = false;
78
79
  this.usZipcodeValidations = [Validators.required, AppValidators.isValidZipCode];
79
80
  this.canadaZipcodeValidations = [Validators.required, AppValidators.isValidCanadianZipCode];
81
+ this.countyValidators = [
82
+ Validators.required
83
+ ];
80
84
  this.onTouched = () => { };
81
85
  this.onChangeSubs = [];
82
86
  this.forState = util.getState();
@@ -137,6 +141,7 @@ export class AddressComponent {
137
141
  if (((stateValue.value === 'KS' && this.forState === 'KS')
138
142
  || (stateValue.value === 'CT' && this.forState === 'CT')) && this.countyRequired === true) {
139
143
  this.util.setRequiredValidator(this.county);
144
+ // this.util.setValidation(this.county,this.countyValidators);
140
145
  this.util.clearValidation(this.town);
141
146
  this.town.setValue(null);
142
147
  }
@@ -369,7 +374,7 @@ export class AddressComponent {
369
374
  });
370
375
  }
371
376
  setMSCounty(county) {
372
- this.questionnaireService.getCounty('KS', this.zip.value).subscribe(res => {
377
+ this.questionnaireService.getKsCounty('KS').subscribe(res => {
373
378
  this.countyOptions = res['choices'];
374
379
  let selectedCounty = this.countyOptions.filter(c => {
375
380
  return c.value == county.value;
@@ -461,7 +466,7 @@ export class AddressComponent {
461
466
  i0.ɵɵelementEnd();
462
467
  i0.ɵɵelement(51, "br")(52, "app-dropdown", 16)(53, "br")(54, "app-error", 7);
463
468
  i0.ɵɵelementEnd()();
464
- i0.ɵɵtemplate(55, AddressComponent_ion_col_55_Template, 9, 17, "ion-col", 17)(56, AddressComponent_ion_col_56_Template, 9, 17, "ion-col", 17);
469
+ i0.ɵɵtemplate(55, AddressComponent_ion_col_55_Template, 9, 16, "ion-col", 17)(56, AddressComponent_ion_col_56_Template, 9, 17, "ion-col", 17);
465
470
  i0.ɵɵelementEnd()()();
466
471
  } if (rf & 2) {
467
472
  const _r0 = i0.ɵɵreference(1);
@@ -478,7 +483,7 @@ export class AddressComponent {
478
483
  i0.ɵɵproperty("readonly", ctx.readonly)("options", ctx.countryOptions)("formControl", ctx.country)("autoDisplayFirst", false)("inputId", ctx.inputId ? ctx.inputId + "-country" : "country");
479
484
  i0.ɵɵadvance(1);
480
485
  i0.ɵɵclassMap("app-grid");
481
- i0.ɵɵproperty("field", ctx.country)("form", _r0)("errDef", i0.ɵɵpureFunction1(81, _c1, ctx.required));
486
+ i0.ɵɵproperty("field", ctx.country)("form", _r0)("errDef", i0.ɵɵpureFunction1(81, _c2, ctx.required));
482
487
  i0.ɵɵadvance(1);
483
488
  i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col app-col" : "col col-fit-content");
484
489
  i0.ɵɵadvance(2);
@@ -489,7 +494,7 @@ export class AddressComponent {
489
494
  i0.ɵɵproperty("readonly", ctx.readonly)("id", ctx.inputId ? ctx.inputId + "-zip" : "zip")("formControl", ctx.zip);
490
495
  i0.ɵɵadvance(2);
491
496
  i0.ɵɵclassMap("app-grid");
492
- i0.ɵɵproperty("field", ctx.zip)("form", _r0)("errDef", i0.ɵɵpureFunction4(83, _c2, ctx.required, ctx.zipCodeLength, ctx.zipCodeNumeric, ctx.zipCodeInvalid));
497
+ i0.ɵɵproperty("field", ctx.zip)("form", _r0)("errDef", i0.ɵɵpureFunction4(83, _c3, ctx.required, ctx.zipCodeLength, ctx.zipCodeNumeric, ctx.zipCodeInvalid));
493
498
  i0.ɵɵadvance(2);
494
499
  i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
495
500
  i0.ɵɵadvance(2);
@@ -500,7 +505,7 @@ export class AddressComponent {
500
505
  i0.ɵɵproperty("readonly", ctx.readonly)("id", ctx.inputId ? ctx.inputId + "-streetAddress" : "streetAddress")("formControl", ctx.streetAddress);
501
506
  i0.ɵɵadvance(2);
502
507
  i0.ɵɵclassMap("app-grid");
503
- i0.ɵɵproperty("field", ctx.streetAddress)("form", _r0)("errDef", i0.ɵɵpureFunction1(88, _c1, ctx.required));
508
+ i0.ɵɵproperty("field", ctx.streetAddress)("form", _r0)("errDef", i0.ɵɵpureFunction1(88, _c2, ctx.required));
504
509
  i0.ɵɵadvance(2);
505
510
  i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col" : "col col-fit-content");
506
511
  i0.ɵɵadvance(2);
@@ -516,7 +521,7 @@ export class AddressComponent {
516
521
  i0.ɵɵproperty("readonly", ctx.readonly)("id", ctx.inputId ? ctx.inputId + "-city" : "city")("formControl", ctx.city);
517
522
  i0.ɵɵadvance(2);
518
523
  i0.ɵɵclassMap("app-grid");
519
- i0.ɵɵproperty("field", ctx.city)("form", _r0)("errDef", i0.ɵɵpureFunction1(90, _c1, ctx.required));
524
+ i0.ɵɵproperty("field", ctx.city)("form", _r0)("errDef", i0.ɵɵpureFunction1(90, _c2, ctx.required));
520
525
  i0.ɵɵadvance(1);
521
526
  i0.ɵɵproperty("ngClass", ctx.fromPopup ? "col app-col" : "col col-fit-content");
522
527
  i0.ɵɵadvance(2);
@@ -527,9 +532,9 @@ export class AddressComponent {
527
532
  i0.ɵɵproperty("readonly", ctx.readonly)("options", ctx.stateOptions)("formControl", ctx.state)("autoDisplayFirst", false)("inputId", ctx.inputId ? ctx.inputId + "-state" : "state")("ariaLabel", ctx.inputId ? ctx.inputId + "-state" : "state");
528
533
  i0.ɵɵadvance(2);
529
534
  i0.ɵɵclassMap("app-grid");
530
- i0.ɵɵproperty("field", ctx.state)("form", _r0)("errDef", i0.ɵɵpureFunction1(92, _c1, ctx.required));
535
+ i0.ɵɵproperty("field", ctx.state)("form", _r0)("errDef", i0.ɵɵpureFunction1(92, _c2, ctx.required));
531
536
  i0.ɵɵadvance(1);
532
- i0.ɵɵproperty("ngIf", ctx.state.value && (ctx.state.value.value === "KS" && ctx.forState === "KS" || ctx.state.value.value === "CT" && ctx.forState === "KS") && ctx.countyRequired === true);
537
+ i0.ɵɵproperty("ngIf", ctx.state.value && (ctx.state.value.value === "KS" && ctx.forState === "KS") && ctx.countyRequired === true);
533
538
  i0.ɵɵadvance(1);
534
539
  i0.ɵɵproperty("ngIf", ctx.state.value && ctx.state.value.value === "ME" && ctx.forState === "ME" && ctx.countyRequired === true);
535
540
  } }, dependencies: [i7.IonCol, i7.IonRow, i8.NgClass, i8.NgIf, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MinLengthValidator, i1.MaxLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i9.InputText, i10.ErrorComponent, i11.Dropdown, i6.TranslatePipe], styles: [".col[_ngcontent-%COMP%]{padding-top:0;padding-bottom:0}.form-lbl[_ngcontent-%COMP%]{padding-bottom:6px}.inline-flex[_ngcontent-%COMP%]{display:inline-flex}ion-col[_ngcontent-%COMP%]{padding-left:0}.app-col[_ngcontent-%COMP%]{margin-left:27px;padding-right:0}"] }); }
@@ -546,7 +551,7 @@ export class AddressComponent {
546
551
  multi: true,
547
552
  useExisting: AddressComponent
548
553
  }
549
- ], template: "<form [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" style=\"margin-bottom: 0px; margin-left: 0px;\">\r\n <!-- <div [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" > -->\r\n\r\n <div class=\"p-formgrid\" [id]=\"inputId ? inputId : 'address-div'\">\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-country' : 'country'\">{{'common.country' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"countryOptions\" [formControl]=\"country\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-country' : 'country'\" ></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='country' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-zip' : 'zip'\">{{'common.zipcode' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-zip' : 'zip'\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\"\r\n (blur)=\"getAddressData($event)\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required,\r\n invalidLength: zipCodeLength,\r\n invalidNumber: zipCodeNumeric,\r\n invalidZipCode: zipCodeInvalid,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <label [for]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\">{{'common.streetaddress' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\" type=\"input\" pInputText [formControl]=\"streetAddress\" maxlength=\"40\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='streetAddress' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-optionalAddress' : 'optionalAddress'\" type=\"input\" pInputText [formControl]=\"optionalAddress\" placeholder='{{\"common.optional\" | translate}}'\r\n maxlength=\"40\" />\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-city' : 'city'\">{{'common.city' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-city' : 'city'\" type=\"input\" pInputText [formControl]=\"city\" maxlength=\"30\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-state' : 'state'\">{{'common.state' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"stateOptions\" [formControl]=\"state\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-state' : 'state'\" [ariaLabel]=\"inputId ? inputId + '-state' : 'state'\"></app-dropdown><br />\r\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && (state.value.value==='KS' && forState==='KS' \r\n || (state.value.value==='CT' && forState==='KS')) && countyRequired===true\" size=\"12\"style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-county' : 'county'\">{{'common.county' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"countyOptions\" [formControl]=\"county\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-county' : 'county'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='county' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && state.value.value==='ME' && forState==='ME' && countyRequired===true\" size=\"12\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-town' : 'town'\">{{'Town' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"townOptions\" [formControl]=\"town\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-town' : 'town'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='town' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <!-- </div> -->\r\n</form>", styles: [".col{padding-top:0;padding-bottom:0}.form-lbl{padding-bottom:6px}.inline-flex{display:inline-flex}ion-col{padding-left:0}.app-col{margin-left:27px;padding-right:0}\n"] }]
554
+ ], template: "<form [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" style=\"margin-bottom: 0px; margin-left: 0px;\">\r\n <!-- <div [formGroup]=\"addressForm\" #addressFormDirective=\"ngForm\" > -->\r\n\r\n <div class=\"p-formgrid\" [id]=\"inputId ? inputId : 'address-div'\">\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-country' : 'country'\">{{'common.country' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"countryOptions\" [formControl]=\"country\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-country' : 'country'\" ></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='country' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" >\r\n <div class=\"field\">\r\n <label [for]=\"inputId ? inputId + '-zip' : 'zip'\">{{'common.zipcode' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-zip' : 'zip'\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\"\r\n (blur)=\"getAddressData($event)\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required,\r\n invalidLength: zipCodeLength,\r\n invalidNumber: zipCodeNumeric,\r\n invalidZipCode: zipCodeInvalid,\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n \r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <label [for]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\">{{'common.streetaddress' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-streetAddress' : 'streetAddress'\" type=\"input\" pInputText [formControl]=\"streetAddress\" maxlength=\"40\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='streetAddress' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-right: 0px;\">\r\n <div class=\"field p-fluid\">\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-optionalAddress' : 'optionalAddress'\" type=\"input\" pInputText [formControl]=\"optionalAddress\" placeholder='{{\"common.optional\" | translate}}'\r\n maxlength=\"40\" />\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n\r\n <ion-row>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-city' : 'city'\">{{'common.city' | translate}}</label><br />\r\n <input [readonly]=\"readonly\" [id]=\"inputId ? inputId + '-city' : 'city'\" type=\"input\" pInputText [formControl]=\"city\" maxlength=\"30\" /><br />\r\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col app-col' : 'col col-fit-content'\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-state' : 'state'\">{{'common.state' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"stateOptions\" [formControl]=\"state\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-state' : 'state'\" [ariaLabel]=\"inputId ? inputId + '-state' : 'state'\"></app-dropdown><br />\r\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n \r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && (state.value.value==='KS' && forState==='KS' \r\n ) && countyRequired===true\" size=\"12\"style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-county' : 'county'\">{{'common.county' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"countyOptions\" [formControl]=\"county\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-county' : 'county'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='county' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col [ngClass]=\"fromPopup ? 'col' : 'col col-fit-content'\" *ngIf=\"state.value && state.value.value==='ME' && forState==='ME' && countyRequired===true\" size=\"12\" style=\"padding-bottom: 0px;\">\r\n <div class=\"field\" style=\"margin-bottom: 0px;\">\r\n <label [for]=\"inputId ? inputId + '-town' : 'town'\">{{'Town' | translate}}</label><br />\r\n <app-dropdown [readonly]=\"readonly\" [options]=\"townOptions\" [formControl]=\"town\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" [inputId]=\"inputId ? inputId + '-town' : 'town'\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='town' [form]=\"addressFormDirective\" [errDef]=\"{ \r\n required: required\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n <!-- </div> -->\r\n</form>", styles: [".col{padding-top:0;padding-bottom:0}.form-lbl{padding-bottom:6px}.inline-flex{display:inline-flex}ion-col{padding-left:0}.app-col{margin-left:27px;padding-right:0}\n"] }]
550
555
  }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.UtilService }, { type: i3.QuestionnaireService }, { type: i4.LoggerService }, { type: i5.DmsService }, { type: i6.TranslateService }], { addressFormDirective: [{
551
556
  type: ViewChild,
552
557
  args: ['addressFormDirective', { static: false }]
@@ -562,4 +567,4 @@ export class AddressComponent {
562
567
  type: Input
563
568
  }] }); })();
564
569
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(AddressComponent, { className: "AddressComponent", filePath: "lib\\components\\address\\address.component.ts", lineNumber: 31 }); })();
565
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBdUYsYUFBYSxFQUFFLGlCQUFpQixFQUFhLFVBQVUsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBRTNMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUtwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNnRTFELG1DQUNzSCxjQUFBLGVBQUE7SUFFeEQsWUFBK0I7O0lBQUEsaUJBQVE7SUFBQSxxQkFBTSxzQkFBQSxTQUFBLG1CQUFBO0lBTXZHLGlCQUFNLEVBQUE7Ozs7SUFURCwwRUFBcUQ7SUFHakQsZUFBZ0Q7SUFBaEQsNEVBQWdEO0lBQUMsZUFBK0I7SUFBL0IsNERBQStCO0lBQ3pFLGVBQXFCO0lBQXJCLDBDQUFxQixpQ0FBQSw4QkFBQSwyQkFBQSxtRUFBQTtJQUV4QixlQUFvQjtJQUFwQix5QkFBb0I7SUFBQyxxQ0FBZ0IsYUFBQSx3REFBQTs7O0lBS3RELG1DQUFtTSxjQUFBLGVBQUE7SUFFekksWUFBc0I7O0lBQUEsaUJBQVE7SUFBQSxxQkFBTSxzQkFBQSxT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NkRBQUE7WUFFMUIsZUFBb0I7WUFBcEIseUJBQW9CO1lBQUMsaUNBQWUsYUFBQSxxREFBQTtZQUthLGVBQ2E7WUFEYiw2TEFDYTtZQVViLGVBQXlGO1lBQXpGLGdJQUF5Rjs7O2lGRHREbEosZ0JBQWdCO2NBakI1QixTQUFTOzJCQUNFLGFBQWEsYUFHWixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsa0JBQWtCO3dCQUM3QixLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxrQkFBa0I7cUJBQzlCO2lCQUNBO29NQU1NLG9CQUFvQjtrQkFEMUIsU0FBUzttQkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFTMUMsT0FBTztrQkFBaEIsTUFBTTtZQUNFLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSzs7a0ZBZkssZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcbmltcG9ydCB7IERtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kbXMtc2VydmljZS9kbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZHJlc3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRyZXNzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogQWRkcmVzc0NvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICB1c2VFeGlzdGluZzogQWRkcmVzc0NvbXBvbmVudFxyXG4gIH1cclxuICBdLFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIFZhbGlkYXRvciB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3NGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGFkZHJlc3NGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHB1YmxpYyBhZGRyZXNzRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgc3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnR5T3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIHRvd25PcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gIHB1YmxpYyBhZGRyZXNzRGF0YTogQWRkcmVzc0NvbXBvbmVudE1vZGVsID0gbmV3IEFkZHJlc3NDb21wb25lbnRNb2RlbCgpO1xyXG4gIEBPdXRwdXQoKSBhZGRyZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBJbnB1dCgpIGNvdW50eVJlcXVpcmVkOiBCb29sZWFuO1xyXG4gIEBJbnB1dCgpIGZyb21Qb3B1cDogQm9vbGVhbjtcclxuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBwdWJsaWMgZm9yU3RhdGU6IHN0cmluZztcclxuICB1c1ppcGNvZGVWYWxpZGF0aW9uczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLmlzVmFsaWRaaXBDb2RlXTtcclxuICBjYW5hZGFaaXBjb2RlVmFsaWRhdGlvbnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkQ2FuYWRpYW5aaXBDb2RlXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSwgcHVibGljIHF1ZXN0aW9ubmFpcmVTZXJ2aWNlOiBRdWVzdGlvbm5haXJlU2VydmljZSxcclxuICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIGRtczogRG1zU2VydmljZSwgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmZvclN0YXRlID0gdXRpbC5nZXRTdGF0ZSgpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKTtcclxuICAgIHRoaXMuYWRkcmVzc0Zvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ2NvdW50cnknOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICd6aXAnOiBbbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICAnc3RyZWV0QWRkcmVzcyc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ3N0YXRlJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnb3B0aW9uYWxBZGRyZXNzJzogW251bGxdLFxyXG4gICAgICAndG93bic6IFtudWxsXSxcclxuICAgICAgJ2NvdW50eSc6IFtudWxsXSxcclxuICAgICAgJ2NpdHknOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgdGhpcy5zZXRSZXF1aXJlZFZhbGlkYXRpb24oKTtcclxuXHJcbiAgICB0aGlzLmNvdW50cnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjb3VudHJ5ID0+IHtcclxuICAgICAgdGhpcy5maWx0ZXJTdGF0ZShjb3VudHJ5KVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5zdGF0ZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHN0YXRlID0+IHtcclxuICAgICAgaWYoc3RhdGUpe1xyXG4gICAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdLUycpICYmIHN0YXRlLnZhbHVlID09ICdLUycpe1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJDb3VudHkoc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLnV0aWwuaXNTdGF0ZSgnTVMnKSAmJiBzdGF0ZS52YWx1ZSA9PSAnTVMnKXtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyQ291bnR5KHN0YXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy51dGlsLmlzU3RhdGUoJ0NUJykgJiYgc3RhdGUudmFsdWUgPT0gJ0NUJyl7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlckNvdW50eShzdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdNRScpICYmIHN0YXRlLnZhbHVlID09ICdNRScpe1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJUb3duKHN0YXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuemlwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoIHppcCA9PiB7XHJcbiAgICAgIGlmKHppcCAmJiB0aGlzLnN0YXRlLnZhbHVlID09IHRoaXMuZm9yU3RhdGUpe1xyXG4gICAgICAgIHRoaXMuZmlsdGVyQ291bnR5KHRoaXMuc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNvdW50cnkuc2V0VmFsdWUoeyB2YWx1ZTogXCJVU1wiLCB0ZXh0OiBcIlVuaXRlZCBTdGF0ZXNcIiB9KTtcclxuICB9XHJcblxyXG4gIHNldFJlcXVpcmVkVmFsaWRhdGlvbigpIHtcclxuICAgIHRoaXMuY291bnRyeS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICBpZihjLnZhbHVlID09ICdVUycpe1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy56aXApO1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMuemlwLCB0aGlzLnVzWmlwY29kZVZhbGlkYXRpb25zKTtcclxuICAgICAgfSBlbHNlIGlmKGMudmFsdWUgPT0gJ0NBJyl7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnppcCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy56aXAsIHRoaXMuY2FuYWRhWmlwY29kZVZhbGlkYXRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSkgXHJcbiAgICB0aGlzLnN0YXRlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoc3RhdGVWYWx1ZSA9PiB7XHJcbiAgICAgIGlmIChzdGF0ZVZhbHVlKSB7XHJcbiAgICAgICAgaWYgKCgoc3RhdGVWYWx1ZS52YWx1ZSA9PT0gJ0tTJyAmJiB0aGlzLmZvclN0YXRlID09PSAnS1MnKVxyXG4gICAgICAgICAgfHwgKHN0YXRlVmFsdWUudmFsdWUgPT09ICdDVCcgJiYgdGhpcy5mb3JTdGF0ZSA9PT0gJ0NUJykpICYmIHRoaXMuY291bnR5UmVxdWlyZWQgPT09IHRydWUpIHtcclxuICAgICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNvdW50eSk7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudG93bik7XHJcbiAgICAgICAgICB0aGlzLnRvd24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZVZhbHVlLnZhbHVlID09PSAnTUUnICYmIHRoaXMuZm9yU3RhdGUgPT09ICdNRScgJiYgdGhpcy5jb3VudHlSZXF1aXJlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudG93bik7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY291bnR5KTtcclxuICAgICAgICAgIHRoaXMuY291bnR5LnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb3VudHkpO1xyXG4gICAgICAgICAgdGhpcy5jb3VudHkuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudG93bik7XHJcbiAgICAgICAgICB0aGlzLnRvd24uc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0IHRvd24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1sndG93biddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvdW50eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWydjb3VudHknXTtcclxuICB9XHJcblxyXG4gIGdldCBjaXR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ2NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCBjb3VudHJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ2NvdW50cnknXTtcclxuICB9XHJcblxyXG4gIGdldCBzdGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWydzdGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHppcCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWyd6aXAnXTtcclxuICB9XHJcblxyXG4gIGdldCBzdHJlZXRBZGRyZXNzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ3N0cmVldEFkZHJlc3MnXTtcclxuICB9XHJcblxyXG4gIGdldCBvcHRpb25hbEFkZHJlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snb3B0aW9uYWxBZGRyZXNzJ107XHJcbiAgfVxyXG5cclxuICBnZXRBZGRyZXNzRGF0YShldmVudCkge1xyXG5cclxuICAgIC8qKlVuY29tbWVudCB3aGVuIHppcC1sb29rdXAgaWYgZml4ZWQgKi9cclxuXHJcbiAgICAvLyBpZiAodGhpcy56aXAgJiYgdGhpcy56aXAudmFsdWUpIHtcclxuICAgIC8vICAgdGhpcy5kbXNcclxuICAgIC8vICAgICAuZ2V0QWRkcmVzcyh0aGlzLnppcC52YWx1ZSlcclxuICAgIC8vICAgICAuc3Vic2NyaWJlKFxyXG4gICAgLy8gICAgICAgcmVzID0+IHtcclxuICAgIC8vICAgICAgICAgdGhpcy5hZGRyZXNzRGF0YSA9IHJlcztcclxuICAgIC8vICAgICAgICAgaWYodGhpcy5hZGRyZXNzRGF0YS5jaXR5KXtcclxuICAgIC8vICAgICAgICAgICB0aGlzLmNpdHkucGF0Y2hWYWx1ZSh0aGlzLmFkZHJlc3NEYXRhLmNpdHkpO1xyXG4gICAgLy8gICAgICAgICB9XHJcblxyXG4gICAgLy8gICAgICAgICBpZih0aGlzLmFkZHJlc3NEYXRhLnN0YXRlKXtcclxuICAgIC8vICAgICAgICAgICB0aGlzLnN0YXRlLnBhdGNoVmFsdWUodGhpcy5hZGRyZXNzRGF0YS5zdGF0ZSk7XHJcbiAgICAvLyAgICAgICAgIH0gXHJcblxyXG4gICAgLy8gICAgICAgICBpZih0aGlzLmFkZHJlc3NEYXRhLmNvdW50eSl7XHJcbiAgICAvLyAgICAgICAgICAgdGhpcy5jb3VudHkucGF0Y2hWYWx1ZSh0aGlzLmFkZHJlc3NEYXRhLmNvdW50eSk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgdGhpcy5zdGF0ZS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICAvLyAgICAgICB9LFxyXG4gICAgLy8gICAgICAgZXJyID0+IHtcclxuICAgIC8vICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZXJyKTtcclxuICAgIC8vICAgICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyQ291bnRyeShldmVudCkge1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoJ2V2ZW50JywgZXZlbnQpXHJcbiAgICBsZXQgZmlsdGVyZWQ6IGFueVtdID0gW107XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZX0VTO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLmNvdW50cnlPcHRpb25zID0gQ29tYm9PcHRpb24uQ09VTlRSWTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jb3VudHJ5T3B0aW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgY291bnRyeSA9IHRoaXMuY291bnRyeU9wdGlvbnNbaV07XHJcbiAgICAgIGlmIChjb3VudHJ5LnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNvdW50cnkpO1xyXG4gICAgICAgIHRoaXMuc3RhdGUuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBmaWx0ZXJlZDtcclxuXHJcbiAgfVxyXG5cclxuICBmaWx0ZXJDb3VudHkoZXZlbnQpIHtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Q291bnR5KHRoaXMuc3RhdGUudmFsdWVbJ3ZhbHVlJ10sIHRoaXMuemlwLnZhbHVlKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgLyp0aGlzLmxvZ2dlci5kZWJ1ZygncmVzJywgcmVzKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlc1snY2hvaWNlcyddLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBsZXQgY2hvaWNlID0gcmVzWydjaG9pY2VzJ11baV07XHJcbiAgICAgICAgICBpZiAoY2hvaWNlLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICAgICAgZmlsdGVyZWQucHVzaChjaG9pY2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0qL1xyXG4gICAgICAgIHRoaXMuY291bnR5T3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlclRvd24oZXZlbnQpIHtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Q291bnR5KHRoaXMuc3RhdGUudmFsdWVbJ3ZhbHVlJ10sIHRoaXMuemlwLnZhbHVlKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy50b3duT3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGZpbHRlclN0YXRlKGV2ZW50KSB7XHJcbiAgICBsZXQgY2hvaWNlOiBhbnk7XHJcbiAgICBpZiAodGhpcy5jb3VudHJ5Py52YWx1ZT8udmFsdWUgPT09ICdVUycpIHtcclxuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgICAgY2hvaWNlID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgICB9ZWxzZSB7XHJcbiAgICAgICAgY2hvaWNlID0gW2N1cnJlbnRTdGF0ZSwgLi4uQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSAhPSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY291bnRyeT8udmFsdWU/LnZhbHVlID09PSAnQ0EnKSB7XHJcbiAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgICAgY2hvaWNlID0gQ29tYm9PcHRpb24uQ0FfU1RBVEVTX0VTO1xyXG4gICAgICB9ZWxzZSB7XHJcbiAgICAgICAgY2hvaWNlID0gQ29tYm9PcHRpb24uQ0FfU1RBVEVTO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLypmb3IgKGxldCBpID0gMDsgaSA8IGNob2ljZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoY2hvaWNlW2ldLnRleHQudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5LnRvTG93ZXJDYXNlKCkpID09IDApIHtcclxuICAgICAgICBmaWx0ZXJlZC5wdXNoKGNob2ljZVtpXSk7XHJcbiAgICAgIH1cclxuICAgIH0qL1xyXG4gICAgdGhpcy5zdGF0ZU9wdGlvbnMgPSBjaG9pY2U7XHJcblxyXG4gIH1cclxuXHJcbiAgc2V0V2lkdGhTdHlsZSgpOiBvYmplY3Qge1xyXG4gICAgaWYgKHRoaXMuZnJvbVBvcHVwKSB7XHJcbiAgICAgIGxldCBzdHlsZU9iaiA9IHtcclxuICAgICAgICAnbWF4LXdpZHRoJzogJ2luaXRpYWwnXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN0eWxlT2JqKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBzdHlsZU9iaiA9IHtcclxuICAgICAgICAnbWF4LXdpZHRoJzogJ2ZpdC1jb250ZW50J1xyXG4gICAgICB9O1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihzdHlsZU9iaik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRvdWNoZWQ6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xyXG5cclxuICBvbkNoYW5nZVN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgZm9yIChsZXQgc3ViIG9mIHRoaXMub25DaGFuZ2VTdWJzKSB7XHJcbiAgICAgIHN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShvbkNoYW5nZTogYW55KSB7XHJcbiAgICBjb25zdCBzdWIgPSB0aGlzLmFkZHJlc3NGb3JtLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUob25DaGFuZ2UpO1xyXG4gICAgdGhpcy5vbkNoYW5nZVN1YnMucHVzaChzdWIpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBGdW5jdGlvbikge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICBpZiAoZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5hZGRyZXNzRm9ybS5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5hZGRyZXNzRm9ybS5lbmFibGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGxldCBmb3JtVmFsdWUgOiBBZGRyZXNzQ29tcG9uZW50TW9kZWw7XHJcbiAgICBpZih0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycpe1xyXG4gICAgICBmb3JtVmFsdWUgPSBKU09OLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9ybVZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBpZiAoZm9ybVZhbHVlKSB7XHJcbiAgICAgIGlmIChmb3JtVmFsdWUuY291bnRyeSAmJiAhZm9ybVZhbHVlLmNvdW50cnkudGV4dCAmJiBmb3JtVmFsdWUuY291bnRyeS52YWx1ZSkge1xyXG4gICAgICAgIGxldCBjb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5KGZvcm1WYWx1ZS5jb3VudHJ5Py52YWx1ZSlcclxuICAgICAgICBmb3JtVmFsdWUuY291bnRyeSA9IGNvdW50cnk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChmb3JtVmFsdWUuc3RhdGUgJiYgIWZvcm1WYWx1ZS5zdGF0ZS50ZXh0ICYmIGZvcm1WYWx1ZS5zdGF0ZS52YWx1ZSkge1xyXG4gICAgICAgIGxldCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGUoZm9ybVZhbHVlLmNvdW50cnk/LnZhbHVlLCBmb3JtVmFsdWUuc3RhdGUudmFsdWUudHJpbSgpKVxyXG4gICAgICAgIGZvcm1WYWx1ZS5zdGF0ZSA9IHN0YXRlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZm9ybVZhbHVlLmNvdW50eSAmJiAhZm9ybVZhbHVlLmNvdW50eS50ZXh0ICYmIGZvcm1WYWx1ZS5jb3VudHkudmFsdWUgJiYgZm9ybVZhbHVlLnN0YXRlLnZhbHVlID09PSAnS1MnKSB7XHJcbiAgICAgICAgdGhpcy5zZXRNU0NvdW50eShmb3JtVmFsdWUuY291bnR5KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGZvcm1WYWx1ZS50b3duICYmICFmb3JtVmFsdWUudG93bi50ZXh0ICYmIGZvcm1WYWx1ZS50b3duLnZhbHVlICYmIGZvcm1WYWx1ZS5zdGF0ZS52YWx1ZSA9PT0gJ01FJykge1xyXG4gICAgICAgIHRoaXMuc2V0TUVUb3duKGZvcm1WYWx1ZVsnemlwJ10gLGZvcm1WYWx1ZS50b3duKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmFkZHJlc3NGb3JtLnBhdGNoVmFsdWUoZm9ybVZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgZ2V0Q291bnRyeShjb3VudHJ5KSB7XHJcbiAgICBpZiAoY291bnRyeSA9PSBudWxsIHx8IGNvdW50cnkgPT0gJ1VTJykge1xyXG4gICAgICByZXR1cm4geyB2YWx1ZTogXCJVU1wiLCB0ZXh0OiBcIlVuaXRlZCBTdGF0ZXNcIiB9O1xyXG4gICAgfSBlbHNlIGlmIChjb3VudHJ5ID09ICdDQScpIHtcclxuICAgICAgcmV0dXJuIHsgdmFsdWU6IFwiQ0FcIiwgdGV4dDogXCJDYW5hZGFcIiB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTm8gQ291bnRyeSBjb25maWd1cmVkICcsIGNvdW50cnkpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldFN0YXRlKGNvdW50cnksIHN0YXRlKSB7XHJcbiAgICBpZiAoY291bnRyeSA9PSBudWxsIHx8IGNvdW50cnkgPT0gJ1VTJykge1xyXG4gICAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlVmFsdWUoQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTLCBzdGF0ZSk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZVZhbHVlKENvbWJvT3B0aW9uLlVTX1NUQVRFUywgc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGNvdW50cnkgPT0gJ0NBJykge1xyXG4gICAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlVmFsdWUoQ29tYm9PcHRpb24uQ0FfU1RBVEVTX0VTLCBzdGF0ZSk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTdGF0ZVZhbHVlKENvbWJvT3B0aW9uLkNBX1NUQVRFUywgc3RhdGUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdObyBDb3VudHJ5IGNvbmZpZ3VyZWQgJywgY291bnRyeSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0U3RhdGVWYWx1ZShzdGF0ZXM6IENvbWJvT3B0aW9uW10sIG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHN0YXRlcy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gbmFtZSlbMF07XHJcbiAgfVxyXG5cclxuICBzZXRNRVRvd24oemlwQ29kZSA6IHN0cmluZywgdG93bjogQ29tYm9PcHRpb24pIHtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0Q291bnR5KCdNRScsIHppcENvZGUpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICB0aGlzLnRvd25PcHRpb25zID0gcmVzWydjaG9pY2VzJ107XHJcbiAgICAgICAgbGV0IHNlbGVjdGVkQ291bnR5ID0gdGhpcy50b3duT3B0aW9ucy5maWx0ZXIoYyA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gYy52YWx1ZSA9PSB0b3duLnZhbHVlO1xyXG4gICAgICAgIH0pWzBdO1xyXG4gICAgICAgIHRoaXMudG93bi5wYXRjaFZhbHVlKHNlbGVjdGVkQ291bnR5KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRNU0NvdW50eShjb3VudHk6IENvbWJvT3B0aW9uKSB7XHJcbiAgICB0aGlzLnF1ZXN0aW9ubmFpcmVTZXJ2aWNlLmdldENvdW50eSgnS1MnLCB0aGlzLnppcC52YWx1ZSkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuY291bnR5T3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xyXG4gICAgICAgIGxldCBzZWxlY3RlZENvdW50eSA9IHRoaXMuY291bnR5T3B0aW9ucy5maWx0ZXIoYyA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gYy52YWx1ZSA9PSBjb3VudHkudmFsdWU7XHJcbiAgICAgICAgfSlbMF07XHJcbiAgICAgICAgdGhpcy5jb3VudHkucGF0Y2hWYWx1ZShzZWxlY3RlZENvdW50eSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKHRoaXMuYWRkcmVzc0Zvcm0udmFsaWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKXtcclxuICAgIHRoaXMuYWRkcmVzc0Zvcm1EaXJlY3RpdmUub25TdWJtaXQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGdldCByZXF1aXJlZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24ucmVxdWlyZWQnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBMZW5ndGgoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnppcGNvZGUubGVuZ3RoJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwT25seU51bWJlcnMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnppcGNvZGUub25seS5udW1iZXJzJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwSW52YWxpZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uemlwY29kZS5pbnZhbGlkJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwQ29kZU51bWVyaWMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2Vla2xpZXMud2Vla2x5Y2VydC5lbXBsb3llci56aXBjb2RlLm51bWVyaWMnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBDb2RlTGVuZ3RoKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3dlZWtsaWVzLndlZWtseWNlcnQuZW1wbG95ZXIuemlwY29kZS5sZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBDb2RlSW52YWxpZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3ZWVrbGllcy53ZWVrbHljZXJ0LmVtcGxveWVyLnppcGNvZGUuaW52YWxpZCcpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtXCIgI2FkZHJlc3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7IG1hcmdpbi1sZWZ0OiAwcHg7XCI+XHJcbiAgPCEtLSA8ZGl2IFtmb3JtR3JvdXBdPVwiYWRkcmVzc0Zvcm1cIiAgI2FkZHJlc3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgPiAtLT5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInAtZm9ybWdyaWRcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgOiAnYWRkcmVzcy1kaXYnXCI+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNvdW50cnknIDogJ2NvdW50cnknXCI+e3snY29tbW9uLmNvdW50cnknIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtvcHRpb25zXT1cImNvdW50cnlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNvdW50cnlcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIFtpbnB1dElkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHJ5JyA6ICdjb3VudHJ5J1wiID48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50cnknIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wgYXBwLWNvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXppcCcgOiAnemlwJ1wiPnt7J2NvbW1vbi56aXBjb2RlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGlucHV0IFtyZWFkb25seV09XCJyZWFkb25seVwiIFtpZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctemlwJyA6ICd6aXAnXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiemlwXCIgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjlcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cImdldEFkZHJlc3NEYXRhKCRldmVudClcIiAvPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nemlwJyBbZm9ybV09XCJhZGRyZXNzRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIGludmFsaWRMZW5ndGg6IHppcENvZGVMZW5ndGgsXHJcbiAgICAgICAgICAgICAgICBpbnZhbGlkTnVtYmVyOiB6aXBDb2RlTnVtZXJpYyxcclxuICAgICAgICAgICAgICAgIGludmFsaWRaaXBDb2RlOiB6aXBDb2RlSW52YWxpZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gIFxyXG5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMHB4O1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwLWZsdWlkXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctc3RyZWV0QWRkcmVzcycgOiAnc3RyZWV0QWRkcmVzcydcIj57eydjb21tb24uc3RyZWV0YWRkcmVzcycgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICA8aW5wdXQgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2lkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdHJlZXRBZGRyZXNzJyA6ICdzdHJlZXRBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInN0cmVldEFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIC8+PGJyIC8+XHJcbiAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RyZWV0QWRkcmVzcycgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwLWZsdWlkXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLW9wdGlvbmFsQWRkcmVzcycgOiAnb3B0aW9uYWxBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm9wdGlvbmFsQWRkcmVzc1wiIHBsYWNlaG9sZGVyPSd7e1wiY29tbW9uLm9wdGlvbmFsXCIgfCB0cmFuc2xhdGV9fSdcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNDBcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgIDwvaW9uLXJvdz5cclxuXHJcblxyXG4gICAgPGlvbi1yb3c+XHJcbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wnIDogJ2NvbCBjb2wtZml0LWNvbnRlbnQnXCIgIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctY2l0eScgOiAnY2l0eSdcIj57eydjb21tb24uY2l0eScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNpdHknIDogJ2NpdHknXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiY2l0eVwiIG1heGxlbmd0aD1cIjMwXCIgLz48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NpdHknIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCBhcHAtY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAwcHg7XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXN0YXRlJyA6ICdzdGF0ZSdcIj57eydjb21tb24uc3RhdGUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtvcHRpb25zXT1cInN0YXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgW2lucHV0SWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXN0YXRlJyA6ICdzdGF0ZSdcIiBbYXJpYUxhYmVsXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdGF0ZScgOiAnc3RhdGUnXCI+PC9hcHAtZHJvcGRvd24+PGJyIC8+XHJcbiAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhdGUnIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICpuZ0lmPVwic3RhdGUudmFsdWUgJiYgKHN0YXRlLnZhbHVlLnZhbHVlPT09J0tTJyAmJiBmb3JTdGF0ZT09PSdLUycgXHJcbiAgICAgICAgfHwgKHN0YXRlLnZhbHVlLnZhbHVlPT09J0NUJyAgJiYgZm9yU3RhdGU9PT0nS1MnKSkgICYmIGNvdW50eVJlcXVpcmVkPT09dHJ1ZVwiIHNpemU9XCIxMlwic3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHknIDogJ2NvdW50eSdcIj57eydjb21tb24uY291bnR5JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbb3B0aW9uc109XCJjb3VudHlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNvdW50eVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBbaW5wdXRJZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctY291bnR5JyA6ICdjb3VudHknXCI+PC9hcHAtZHJvcGRvd24+PGJyLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50eScgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiAqbmdJZj1cInN0YXRlLnZhbHVlICYmIHN0YXRlLnZhbHVlLnZhbHVlPT09J01FJyAmJiBmb3JTdGF0ZT09PSdNRScgJiYgY291bnR5UmVxdWlyZWQ9PT10cnVlXCIgc2l6ZT1cIjEyXCIgIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctdG93bicgOiAndG93bidcIj57eydUb3duJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbb3B0aW9uc109XCJ0b3duT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJ0b3duXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIFtpbnB1dElkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy10b3duJyA6ICd0b3duJ1wiPjwvYXBwLWRyb3Bkb3duPjxici8+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd0b3duJyBbZm9ybV09XCJhZGRyZXNzRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPC9kaXY+IC0tPlxyXG48L2Zvcm0+Il19
570
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYWRkcmVzcy9hZGRyZXNzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9hZGRyZXNzL2FkZHJlc3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBdUYsYUFBYSxFQUFFLGlCQUFpQixFQUFhLFVBQVUsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBRTNMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUtwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7SUNpRXpELG1DQUNvRSxjQUFBLGVBQUE7SUFFUCxZQUErQjs7SUFBQSxpQkFBUTtJQUFBLHFCQUFNLHNCQUFBLFNBQUEsbUJBQUE7SUFNdkcsaUJBQU0sRUFBQTs7OztJQVRBLDBFQUFxRDtJQUdsRCxlQUFnRDtJQUFoRCw0RUFBZ0Q7SUFBQyxlQUErQjtJQUEvQiw0REFBK0I7SUFDekUsZUFBcUI7SUFBckIsMENBQXFCLGlDQUFBLDhCQUFBLDJCQUFBLG1FQUFBO0lBRXhCLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLHFDQUFnQixhQUFBLHVDQUFBOzs7O0lBS3RELG1DQUFtTSxjQUFBLGVBQUE7SUFFekksWUFBc0I7O0lBQUEsaUJBQVE7SUFBQSxxQkFBTSxzQkFBQSxT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QXJCLHVDQUFxQiw2QkFBQSwwQkFBQSwyQkFBQSwyREFBQSw2REFBQTtZQUUxQixlQUFvQjtZQUFwQix5QkFBb0I7WUFBQyxpQ0FBZSxhQUFBLHFEQUFBO1lBTWMsZUFDckM7WUFEcUMsa0lBQ3JDO1lBVW9DLGVBQXlGO1lBQXpGLGdJQUF5Rjs7O2lGRHZEbEosZ0JBQWdCO2NBakI1QixTQUFTOzJCQUNFLGFBQWEsYUFHWixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsa0JBQWtCO3dCQUM3QixLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxrQkFBa0I7cUJBQzlCO2lCQUNBO29NQU1NLG9CQUFvQjtrQkFEMUIsU0FBUzttQkFBQyxzQkFBc0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFTMUMsT0FBTztrQkFBaEIsTUFBTTtZQUNFLGNBQWM7a0JBQXRCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSzs7a0ZBZkssZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWRkcmVzc0NvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XHJcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XHJcbmltcG9ydCB7IERtc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kbXMtc2VydmljZS9kbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRdWVzdGlvbm5haXJlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3F1ZXN0aW9ubmFpcmUvcXVlc3Rpb25uYWlyZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWFkZHJlc3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGRyZXNzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogQWRkcmVzc0NvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfSxcclxuICB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbiAgICB1c2VFeGlzdGluZzogQWRkcmVzc0NvbXBvbmVudFxyXG4gIH1cclxuICBdLFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZHJlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIFZhbGlkYXRvciB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2FkZHJlc3NGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGFkZHJlc3NGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHB1YmxpYyBhZGRyZXNzRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgc3RhdGVPcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnR5T3B0aW9uczogYW55ID0gW107XHJcbiAgcHVibGljIHRvd25PcHRpb25zOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gIHB1YmxpYyBhZGRyZXNzRGF0YTogQWRkcmVzc0NvbXBvbmVudE1vZGVsID0gbmV3IEFkZHJlc3NDb21wb25lbnRNb2RlbCgpO1xyXG4gIEBPdXRwdXQoKSBhZGRyZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBJbnB1dCgpIGNvdW50eVJlcXVpcmVkOiBCb29sZWFuO1xyXG4gIEBJbnB1dCgpIGZyb21Qb3B1cDogQm9vbGVhbjtcclxuICBASW5wdXQoKSBpbnB1dElkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICBwdWJsaWMgZm9yU3RhdGU6IHN0cmluZztcclxuICB1c1ppcGNvZGVWYWxpZGF0aW9uczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLmlzVmFsaWRaaXBDb2RlXTtcclxuICBjYW5hZGFaaXBjb2RlVmFsaWRhdGlvbnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkQ2FuYWRpYW5aaXBDb2RlXTtcclxuIGNvdW50eVZhbGlkYXRvcnMgOiBWYWxpZGF0b3JGbltdID0gWyAgIFxyXG4gICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkICAgXHJcbiAgICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgcXVlc3Rpb25uYWlyZVNlcnZpY2U6IFF1ZXN0aW9ubmFpcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHByaXZhdGUgZG1zOiBEbXNTZXJ2aWNlLCBwdWJsaWMgdHJhbnNsYXRlU2VydmljZSA6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZm9yU3RhdGUgPSB1dGlsLmdldFN0YXRlKCk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikpO1xyXG4gICAgdGhpcy5hZGRyZXNzRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAnY291bnRyeSc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ3ppcCc6IFtudWxsLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXHJcbiAgICAgICdzdHJlZXRBZGRyZXNzJzogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnc3RhdGUnOiBbbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdvcHRpb25hbEFkZHJlc3MnOiBbbnVsbF0sXHJcbiAgICAgICd0b3duJzogW251bGxdLFxyXG4gICAgICAnY291bnR5JzogW251bGxdLFxyXG4gICAgICAnY2l0eSc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICB0aGlzLnNldFJlcXVpcmVkVmFsaWRhdGlvbigpO1xyXG5cclxuICAgIHRoaXMuY291bnRyeS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNvdW50cnkgPT4ge1xyXG4gICAgICB0aGlzLmZpbHRlclN0YXRlKGNvdW50cnkpXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnN0YXRlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoc3RhdGUgPT4ge1xyXG4gICAgICBpZihzdGF0ZSl7XHJcbiAgICAgICAgaWYodGhpcy51dGlsLmlzU3RhdGUoJ0tTJykgJiYgc3RhdGUudmFsdWUgPT0gJ0tTJyl7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlckNvdW50eShzdGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdNUycpICYmIHN0YXRlLnZhbHVlID09ICdNUycpe1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJDb3VudHkoc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZih0aGlzLnV0aWwuaXNTdGF0ZSgnQ1QnKSAmJiBzdGF0ZS52YWx1ZSA9PSAnQ1QnKXtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyQ291bnR5KHN0YXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYodGhpcy51dGlsLmlzU3RhdGUoJ01FJykgJiYgc3RhdGUudmFsdWUgPT0gJ01FJyl7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclRvd24oc3RhdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy56aXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSggemlwID0+IHtcclxuICAgICAgaWYoemlwICYmIHRoaXMuc3RhdGUudmFsdWUgPT0gdGhpcy5mb3JTdGF0ZSl7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJDb3VudHkodGhpcy5zdGF0ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY291bnRyeS5zZXRWYWx1ZSh7IHZhbHVlOiBcIlVTXCIsIHRleHQ6IFwiVW5pdGVkIFN0YXRlc1wiIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVxdWlyZWRWYWxpZGF0aW9uKCkge1xyXG4gICAgdGhpcy5jb3VudHJ5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGlmKGMudmFsdWUgPT0gJ1VTJyl7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnppcCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy56aXAsIHRoaXMudXNaaXBjb2RlVmFsaWRhdGlvbnMpO1xyXG4gICAgICB9IGVsc2UgaWYoYy52YWx1ZSA9PSAnQ0EnKXtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuemlwKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLnppcCwgdGhpcy5jYW5hZGFaaXBjb2RlVmFsaWRhdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICB9KSBcclxuICAgIHRoaXMuc3RhdGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShzdGF0ZVZhbHVlID0+IHtcclxuICAgICAgaWYgKHN0YXRlVmFsdWUpIHtcclxuICAgICAgICBpZiAoKChzdGF0ZVZhbHVlLnZhbHVlID09PSAnS1MnICYmIHRoaXMuZm9yU3RhdGUgPT09ICdLUycpXHJcbiAgICAgICAgICB8fCAoc3RhdGVWYWx1ZS52YWx1ZSA9PT0gJ0NUJyAmJiB0aGlzLmZvclN0YXRlID09PSAnQ1QnKSkgJiYgdGhpcy5jb3VudHlSZXF1aXJlZCA9PT0gdHJ1ZSkgeyAgICAgICAgXHJcbiAgICAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jb3VudHkpOyAgICBcclxuICAgICAgICBcclxuICAgICAgICAvLyAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy5jb3VudHksdGhpcy5jb3VudHlWYWxpZGF0b3JzKTtcclxuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy50b3duKTtcclxuICAgICAgICAgIHRoaXMudG93bi5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlVmFsdWUudmFsdWUgPT09ICdNRScgJiYgdGhpcy5mb3JTdGF0ZSA9PT0gJ01FJyAmJiB0aGlzLmNvdW50eVJlcXVpcmVkID09PSB0cnVlKSB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy50b3duKTtcclxuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb3VudHkpO1xyXG4gICAgICAgICAgdGhpcy5jb3VudHkuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNvdW50eSk7XHJcbiAgICAgICAgICB0aGlzLmNvdW50eS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy50b3duKTtcclxuICAgICAgICAgIHRoaXMudG93bi5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBnZXQgdG93bigpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWyd0b3duJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY291bnR5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ2NvdW50eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNpdHkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snY2l0eSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvdW50cnkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snY291bnRyeSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ3N0YXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgemlwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkcmVzc0Zvcm0uY29udHJvbHNbJ3ppcCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0cmVldEFkZHJlc3MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzRm9ybS5jb250cm9sc1snc3RyZWV0QWRkcmVzcyddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG9wdGlvbmFsQWRkcmVzcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFkZHJlc3NGb3JtLmNvbnRyb2xzWydvcHRpb25hbEFkZHJlc3MnXTtcclxuICB9XHJcblxyXG4gIGdldEFkZHJlc3NEYXRhKGV2ZW50KSB7XHJcblxyXG4gICAgLyoqVW5jb21tZW50IHdoZW4gemlwLWxvb2t1cCBpZiBmaXhlZCAqL1xyXG5cclxuICAgIC8vIGlmICh0aGlzLnppcCAmJiB0aGlzLnppcC52YWx1ZSkge1xyXG4gICAgLy8gICB0aGlzLmRtc1xyXG4gICAgLy8gICAgIC5nZXRBZGRyZXNzKHRoaXMuemlwLnZhbHVlKVxyXG4gICAgLy8gICAgIC5zdWJzY3JpYmUoXHJcbiAgICAvLyAgICAgICByZXMgPT4ge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmFkZHJlc3NEYXRhID0gcmVzO1xyXG4gICAgLy8gICAgICAgICBpZih0aGlzLmFkZHJlc3NEYXRhLmNpdHkpe1xyXG4gICAgLy8gICAgICAgICAgIHRoaXMuY2l0eS5wYXRjaFZhbHVlKHRoaXMuYWRkcmVzc0RhdGEuY2l0eSk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuXHJcbiAgICAvLyAgICAgICAgIGlmKHRoaXMuYWRkcmVzc0RhdGEuc3RhdGUpe1xyXG4gICAgLy8gICAgICAgICAgIHRoaXMuc3RhdGUucGF0Y2hWYWx1ZSh0aGlzLmFkZHJlc3NEYXRhLnN0YXRlKTtcclxuICAgIC8vICAgICAgICAgfSBcclxuXHJcbiAgICAvLyAgICAgICAgIGlmKHRoaXMuYWRkcmVzc0RhdGEuY291bnR5KXtcclxuICAgIC8vICAgICAgICAgICB0aGlzLmNvdW50eS5wYXRjaFZhbHVlKHRoaXMuYWRkcmVzc0RhdGEuY291bnR5KTtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgIC8vICAgICAgIH0sXHJcbiAgICAvLyAgICAgICBlcnIgPT4ge1xyXG4gICAgLy8gICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlcnIpO1xyXG4gICAgLy8gICAgICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJDb3VudHJ5KGV2ZW50KSB7XHJcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnZXZlbnQnLCBldmVudClcclxuICAgIGxldCBmaWx0ZXJlZDogYW55W10gPSBbXTtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5O1xyXG4gICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUllfRVM7XHJcbiAgICB9IGVsc2V7XHJcbiAgICAgIHRoaXMuY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNvdW50cnlPcHRpb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBjb3VudHJ5ID0gdGhpcy5jb3VudHJ5T3B0aW9uc1tpXTtcclxuICAgICAgaWYgKGNvdW50cnkudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkLnB1c2goY291bnRyeSk7XHJcbiAgICAgICAgdGhpcy5zdGF0ZS5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jb3VudHJ5T3B0aW9ucyA9IGZpbHRlcmVkO1xyXG5cclxuICB9XHJcblxyXG4gIGZpbHRlckNvdW50eShldmVudCkge1xyXG4gICAgdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRDb3VudHkodGhpcy5zdGF0ZS52YWx1ZVsndmFsdWUnXSwgdGhpcy56aXAudmFsdWUpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICAvKnRoaXMubG9nZ2VyLmRlYnVnKCdyZXMnLCByZXMpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVzWydjaG9pY2VzJ10ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGxldCBjaG9pY2UgPSByZXNbJ2Nob2ljZXMnXVtpXTtcclxuICAgICAgICAgIGlmIChjaG9pY2UudGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgICAgICBmaWx0ZXJlZC5wdXNoKGNob2ljZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSovXHJcbiAgICAgICAgdGhpcy5jb3VudHlPcHRpb25zID0gcmVzWydjaG9pY2VzJ107XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyVG93bihldmVudCkge1xyXG4gICAgdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRDb3VudHkodGhpcy5zdGF0ZS52YWx1ZVsndmFsdWUnXSwgdGhpcy56aXAudmFsdWUpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICB0aGlzLnRvd25PcHRpb25zID0gcmVzWydjaG9pY2VzJ107XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyU3RhdGUoZXZlbnQpIHtcclxuICAgIGxldCBjaG9pY2U6IGFueTtcclxuICAgIGlmICh0aGlzLmNvdW50cnk/LnZhbHVlPy52YWx1ZSA9PT0gJ1VTJykge1xyXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5VU19TVEFURVMuZmluZChzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSlcclxuICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgICBjaG9pY2UgPSBbY3VycmVudFN0YXRlLCAuLi5Db21ib09wdGlvbi5VU19TVEFURVNfRVMuZmlsdGVyKHN0YXRlID0+IHN0YXRlLnZhbHVlICE9IHRoaXMudXRpbC5nZXRTdGF0ZSgpKV07XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICBjaG9pY2UgPSBbY3VycmVudFN0YXRlLCAuLi5Db21ib09wdGlvbi5VU19TVEFURVMuZmlsdGVyKHN0YXRlID0+IHN0YXRlLnZhbHVlICE9IHRoaXMudXRpbC5nZXRTdGF0ZSgpKV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb3VudHJ5Py52YWx1ZT8udmFsdWUgPT09ICdDQScpIHtcclxuICAgICAgaWYobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSA9PT0gXCJlc1wiKXtcclxuICAgICAgICBjaG9pY2UgPSBDb21ib09wdGlvbi5DQV9TVEFURVNfRVM7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICBjaG9pY2UgPSBDb21ib09wdGlvbi5DQV9TVEFURVM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKmZvciAobGV0IGkgPSAwOyBpIDwgY2hvaWNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChjaG9pY2VbaV0udGV4dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkudG9Mb3dlckNhc2UoKSkgPT0gMCkge1xyXG4gICAgICAgIGZpbHRlcmVkLnB1c2goY2hvaWNlW2ldKTtcclxuICAgICAgfVxyXG4gICAgfSovXHJcbiAgICB0aGlzLnN0YXRlT3B0aW9ucyA9IGNob2ljZTtcclxuXHJcbiAgfVxyXG5cclxuICBzZXRXaWR0aFN0eWxlKCk6IG9iamVjdCB7XHJcbiAgICBpZiAodGhpcy5mcm9tUG9wdXApIHtcclxuICAgICAgbGV0IHN0eWxlT2JqID0ge1xyXG4gICAgICAgICdtYXgtd2lkdGgnOiAnaW5pdGlhbCdcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oc3R5bGVPYmopO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHN0eWxlT2JqID0ge1xyXG4gICAgICAgICdtYXgtd2lkdGgnOiAnZml0LWNvbnRlbnQnXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHN0eWxlT2JqKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVG91Y2hlZDogRnVuY3Rpb24gPSAoKSA9PiB7IH07XHJcblxyXG4gIG9uQ2hhbmdlU3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBmb3IgKGxldCBzdWIgb2YgdGhpcy5vbkNoYW5nZVN1YnMpIHtcclxuICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiBhbnkpIHtcclxuICAgIGNvbnN0IHN1YiA9IHRoaXMuYWRkcmVzc0Zvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShvbkNoYW5nZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlU3Vicy5wdXNoKHN1Yik7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IEZ1bmN0aW9uKSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmFkZHJlc3NGb3JtLmRpc2FibGUoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmFkZHJlc3NGb3JtLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgbGV0IGZvcm1WYWx1ZSA6IEFkZHJlc3NDb21wb25lbnRNb2RlbDtcclxuICAgIGlmKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJyl7XHJcbiAgICAgIGZvcm1WYWx1ZSA9IEpTT04ucGFyc2UodmFsdWUudG9TdHJpbmcoKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3JtVmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIGlmIChmb3JtVmFsdWUpIHtcclxuICAgICAgaWYgKGZvcm1WYWx1ZS5jb3VudHJ5ICYmICFmb3JtVmFsdWUuY291bnRyeS50ZXh0ICYmIGZvcm1WYWx1ZS5jb3VudHJ5LnZhbHVlKSB7XHJcbiAgICAgICAgbGV0IGNvdW50cnkgPSB0aGlzLmdldENvdW50cnkoZm9ybVZhbHVlLmNvdW50cnk/LnZhbHVlKVxyXG4gICAgICAgIGZvcm1WYWx1ZS5jb3VudHJ5ID0gY291bnRyeTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGZvcm1WYWx1ZS5zdGF0ZSAmJiAhZm9ybVZhbHVlLnN0YXRlLnRleHQgJiYgZm9ybVZhbHVlLnN0YXRlLnZhbHVlKSB7XHJcbiAgICAgICAgbGV0IHN0YXRlID0gdGhpcy5nZXRTdGF0ZShmb3JtVmFsdWUuY291bnRyeT8udmFsdWUsIGZvcm1WYWx1ZS5zdGF0ZS52YWx1ZS50cmltKCkpXHJcbiAgICAgICAgZm9ybVZhbHVlLnN0YXRlID0gc3RhdGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChmb3JtVmFsdWUuY291bnR5ICYmICFmb3JtVmFsdWUuY291bnR5LnRleHQgJiYgZm9ybVZhbHVlLmNvdW50eS52YWx1ZSAmJiBmb3JtVmFsdWUuc3RhdGUudmFsdWUgPT09ICdLUycpIHtcclxuICAgICAgICB0aGlzLnNldE1TQ291bnR5KGZvcm1WYWx1ZS5jb3VudHkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZm9ybVZhbHVlLnRvd24gJiYgIWZvcm1WYWx1ZS50b3duLnRleHQgJiYgZm9ybVZhbHVlLnRvd24udmFsdWUgJiYgZm9ybVZhbHVlLnN0YXRlLnZhbHVlID09PSAnTUUnKSB7XHJcbiAgICAgICAgdGhpcy5zZXRNRVRvd24oZm9ybVZhbHVlWyd6aXAnXSAsZm9ybVZhbHVlLnRvd24pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYWRkcmVzc0Zvcm0ucGF0Y2hWYWx1ZShmb3JtVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBnZXRDb3VudHJ5KGNvdW50cnkpIHtcclxuICAgIGlmIChjb3VudHJ5ID09IG51bGwgfHwgY291bnRyeSA9PSAnVVMnKSB7XHJcbiAgICAgIHJldHVybiB7IHZhbHVlOiBcIlVTXCIsIHRleHQ6IFwiVW5pdGVkIFN0YXRlc1wiIH07XHJcbiAgICB9IGVsc2UgaWYgKGNvdW50cnkgPT0gJ0NBJykge1xyXG4gICAgICByZXR1cm4geyB2YWx1ZTogXCJDQVwiLCB0ZXh0OiBcIkNhbmFkYVwiIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdObyBDb3VudHJ5IGNvbmZpZ3VyZWQgJywgY291bnRyeSk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0U3RhdGUoY291bnRyeSwgc3RhdGUpIHtcclxuICAgIGlmIChjb3VudHJ5ID09IG51bGwgfHwgY291bnRyeSA9PSAnVVMnKSB7XHJcbiAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RhdGVWYWx1ZShDb21ib09wdGlvbi5VU19TVEFURVNfRVMsIHN0YXRlKTtcclxuICAgICAgfWVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlVmFsdWUoQ29tYm9PcHRpb24uVVNfU1RBVEVTLCBzdGF0ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY291bnRyeSA9PSAnQ0EnKSB7XHJcbiAgICAgIGlmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikgPT09IFwiZXNcIil7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U3RhdGVWYWx1ZShDb21ib09wdGlvbi5DQV9TVEFURVNfRVMsIHN0YXRlKTtcclxuICAgICAgfWVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFN0YXRlVmFsdWUoQ29tYm9PcHRpb24uQ0FfU1RBVEVTLCBzdGF0ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ05vIENvdW50cnkgY29uZmlndXJlZCAnLCBjb3VudHJ5KTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBnZXRTdGF0ZVZhbHVlKHN0YXRlczogQ29tYm9PcHRpb25bXSwgbmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gc3RhdGVzLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSBuYW1lKVswXTtcclxuICB9XHJcblxyXG4gIHNldE1FVG93bih6aXBDb2RlIDogc3RyaW5nLCB0b3duOiBDb21ib09wdGlvbikge1xyXG4gICAgdGhpcy5xdWVzdGlvbm5haXJlU2VydmljZS5nZXRDb3VudHkoJ01FJywgemlwQ29kZSkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMudG93bk9wdGlvbnMgPSByZXNbJ2Nob2ljZXMnXTtcclxuICAgICAgICBsZXQgc2VsZWN0ZWRDb3VudHkgPSB0aGlzLnRvd25PcHRpb25zLmZpbHRlcihjID0+IHtcclxuICAgICAgICAgIHJldHVybiBjLnZhbHVlID09IHRvd24udmFsdWU7XHJcbiAgICAgICAgfSlbMF07XHJcbiAgICAgICAgdGhpcy50b3duLnBhdGNoVmFsdWUoc2VsZWN0ZWRDb3VudHkpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldE1TQ291bnR5KGNvdW50eTogQ29tYm9PcHRpb24pIHtcclxuICAgIHRoaXMucXVlc3Rpb25uYWlyZVNlcnZpY2UuZ2V0S3NDb3VudHkoJ0tTJykuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIHRoaXMuY291bnR5T3B0aW9ucyA9IHJlc1snY2hvaWNlcyddO1xyXG4gICAgICAgIGxldCBzZWxlY3RlZENvdW50eSA9IHRoaXMuY291bnR5T3B0aW9ucy5maWx0ZXIoYyA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gYy52YWx1ZSA9PSBjb3VudHkudmFsdWU7XHJcbiAgICAgICAgfSlbMF07XHJcbiAgICAgICAgdGhpcy5jb3VudHkucGF0Y2hWYWx1ZShzZWxlY3RlZENvdW50eSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcblxyXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkge1xyXG4gICAgaWYgKHRoaXMuYWRkcmVzc0Zvcm0udmFsaWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKXtcclxuICAgIHRoaXMuYWRkcmVzc0Zvcm1EaXJlY3RpdmUub25TdWJtaXQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGdldCByZXF1aXJlZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24ucmVxdWlyZWQnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBMZW5ndGgoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnppcGNvZGUubGVuZ3RoJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwT25seU51bWJlcnMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLnppcGNvZGUub25seS5udW1iZXJzJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwSW52YWxpZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uemlwY29kZS5pbnZhbGlkJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgemlwQ29kZU51bWVyaWMoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2Vla2xpZXMud2Vla2x5Y2VydC5lbXBsb3llci56aXBjb2RlLm51bWVyaWMnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBDb2RlTGVuZ3RoKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3dlZWtsaWVzLndlZWtseWNlcnQuZW1wbG95ZXIuemlwY29kZS5sZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBDb2RlSW52YWxpZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3ZWVrbGllcy53ZWVrbHljZXJ0LmVtcGxveWVyLnppcGNvZGUuaW52YWxpZCcpO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtXCIgI2FkZHJlc3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7IG1hcmdpbi1sZWZ0OiAwcHg7XCI+XHJcbiAgPCEtLSA8ZGl2IFtmb3JtR3JvdXBdPVwiYWRkcmVzc0Zvcm1cIiAgI2FkZHJlc3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgPiAtLT5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInAtZm9ybWdyaWRcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgOiAnYWRkcmVzcy1kaXYnXCI+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNvdW50cnknIDogJ2NvdW50cnknXCI+e3snY29tbW9uLmNvdW50cnknIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtvcHRpb25zXT1cImNvdW50cnlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNvdW50cnlcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIFtpbnB1dElkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHJ5JyA6ICdjb3VudHJ5J1wiID48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50cnknIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wgYXBwLWNvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiA+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXppcCcgOiAnemlwJ1wiPnt7J2NvbW1vbi56aXBjb2RlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGlucHV0IFtyZWFkb25seV09XCJyZWFkb25seVwiIFtpZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctemlwJyA6ICd6aXAnXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiemlwXCIgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjlcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cImdldEFkZHJlc3NEYXRhKCRldmVudClcIiAvPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nemlwJyBbZm9ybV09XCJhZGRyZXNzRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIGludmFsaWRMZW5ndGg6IHppcENvZGVMZW5ndGgsXHJcbiAgICAgICAgICAgICAgICBpbnZhbGlkTnVtYmVyOiB6aXBDb2RlTnVtZXJpYyxcclxuICAgICAgICAgICAgICAgIGludmFsaWRaaXBDb2RlOiB6aXBDb2RlSW52YWxpZCxcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gIFxyXG5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiIHN0eWxlPVwicGFkZGluZy1yaWdodDogMHB4O1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwLWZsdWlkXCI+XHJcbiAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctc3RyZWV0QWRkcmVzcycgOiAnc3RyZWV0QWRkcmVzcydcIj57eydjb21tb24uc3RyZWV0YWRkcmVzcycgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICA8aW5wdXQgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2lkXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdHJlZXRBZGRyZXNzJyA6ICdzdHJlZXRBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInN0cmVldEFkZHJlc3NcIiBtYXhsZW5ndGg9XCI0MFwiIC8+PGJyIC8+XHJcbiAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RyZWV0QWRkcmVzcycgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG5cclxuICAgIDxpb24tcm93PlxyXG4gICAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJmcm9tUG9wdXAgPyAnY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBwLWZsdWlkXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLW9wdGlvbmFsQWRkcmVzcycgOiAnb3B0aW9uYWxBZGRyZXNzJ1wiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIm9wdGlvbmFsQWRkcmVzc1wiIHBsYWNlaG9sZGVyPSd7e1wiY29tbW9uLm9wdGlvbmFsXCIgfCB0cmFuc2xhdGV9fSdcclxuICAgICAgICAgICAgbWF4bGVuZ3RoPVwiNDBcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgIDwvaW9uLXJvdz5cclxuXHJcblxyXG4gICAgPGlvbi1yb3c+XHJcbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wnIDogJ2NvbCBjb2wtZml0LWNvbnRlbnQnXCIgIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgW2Zvcl09XCJpbnB1dElkID8gaW5wdXRJZCArICctY2l0eScgOiAnY2l0eSdcIj57eydjb21tb24uY2l0eScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbaWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLWNpdHknIDogJ2NpdHknXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiY2l0eVwiIG1heGxlbmd0aD1cIjMwXCIgLz48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NpdHknIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiAgcmVxdWlyZWRcclxuICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCBhcHAtY29sJyA6ICdjb2wgY29sLWZpdC1jb250ZW50J1wiICBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAwcHg7XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXN0YXRlJyA6ICdzdGF0ZSdcIj57eydjb21tb24uc3RhdGUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtvcHRpb25zXT1cInN0YXRlT3B0aW9uc1wiIFtmb3JtQ29udHJvbF09XCJzdGF0ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgW2lucHV0SWRdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXN0YXRlJyA6ICdzdGF0ZSdcIiBbYXJpYUxhYmVsXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1zdGF0ZScgOiAnc3RhdGUnXCI+PC9hcHAtZHJvcGRvd24+PGJyIC8+XHJcbiAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nc3RhdGUnIFtmb3JtXT1cImFkZHJlc3NGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gIFxyXG4gICAgICAgPGlvbi1jb2wgW25nQ2xhc3NdPVwiZnJvbVBvcHVwID8gJ2NvbCcgOiAnY29sIGNvbC1maXQtY29udGVudCdcIiAqbmdJZj1cInN0YXRlLnZhbHVlICYmIChzdGF0ZS52YWx1ZS52YWx1ZT09PSdLUycgJiYgZm9yU3RhdGU9PT0nS1MnIFxyXG4gICAgICAgICkgICYmIGNvdW50eVJlcXVpcmVkPT09dHJ1ZVwiIHNpemU9XCIxMlwic3R5bGU9XCJwYWRkaW5nLWJvdHRvbTogMHB4O1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7XCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImlucHV0SWQgPyBpbnB1dElkICsgJy1jb3VudHknIDogJ2NvdW50eSdcIj57eydjb21tb24uY291bnR5JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbb3B0aW9uc109XCJjb3VudHlPcHRpb25zXCIgW2Zvcm1Db250cm9sXT1cImNvdW50eVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBbaW5wdXRJZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctY291bnR5JyA6ICdjb3VudHknXCI+PC9hcHAtZHJvcGRvd24+PGJyLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvdW50eScgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImZyb21Qb3B1cCA/ICdjb2wnIDogJ2NvbCBjb2wtZml0LWNvbnRlbnQnXCIgKm5nSWY9XCJzdGF0ZS52YWx1ZSAmJiBzdGF0ZS52YWx1ZS52YWx1ZT09PSdNRScgJiYgZm9yU3RhdGU9PT0nTUUnICYmIGNvdW50eVJlcXVpcmVkPT09dHJ1ZVwiIHNpemU9XCIxMlwiICBzdHlsZT1cInBhZGRpbmctYm90dG9tOiAwcHg7XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDBweDtcIj5cclxuICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZCA/IGlucHV0SWQgKyAnLXRvd24nIDogJ3Rvd24nXCI+e3snVG93bicgfCB0cmFuc2xhdGV9fTwvbGFiZWw+PGJyIC8+XHJcbiAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW29wdGlvbnNdPVwidG93bk9wdGlvbnNcIiBbZm9ybUNvbnRyb2xdPVwidG93blwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBbaW5wdXRJZF09XCJpbnB1dElkID8gaW5wdXRJZCArICctdG93bicgOiAndG93bidcIj48L2FwcC1kcm9wZG93bj48YnIvPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndG93bicgW2Zvcm1dPVwiYWRkcmVzc0Zvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgIDwvaW9uLXJvdz5cclxuICA8L2Rpdj5cclxuICA8IS0tIDwvZGl2PiAtLT5cclxuPC9mb3JtPiJdfQ==
@@ -146,11 +146,11 @@ export class CaptchaComponent {
146
146
  }
147
147
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaptchaComponent, [{
148
148
  type: Component,
149
- args: [{ selector: 'app-captcha', template: `<div class="app-captcha"></div>
150
- <p style="color: var(--ion-color-danger);" *ngIf="showError" class="ion-padding-top">
151
- <small>
152
- Error loading captcha. <a href="#" (click)="loadCaptcha()">Reload</a>
153
- </small>
149
+ args: [{ selector: 'app-captcha', template: `<div class="app-captcha"></div>
150
+ <p style="color: var(--ion-color-danger);" *ngIf="showError" class="ion-padding-top">
151
+ <small>
152
+ Error loading captcha. <a href="#" (click)="loadCaptcha()">Reload</a>
153
+ </small>
154
154
  </p>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{
155
155
  provide: NG_VALUE_ACCESSOR,
156
156
  useExisting: CaptchaComponent,
@@ -178,4 +178,4 @@ export class CaptchaComponent {
178
178
  type: Input
179
179
  }] }); })();
180
180
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CaptchaComponent, { className: "CaptchaComponent", filePath: "lib\\components\\captcha\\captcha.component.ts", lineNumber: 23 }); })();
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGNoYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FwdGNoYS9jYXB0Y2hhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsU0FBUyxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQWtCLE1BQU0sRUFBWSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBc0QsTUFBTSxlQUFlLENBQUM7QUFDNU0sT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0lBTWpELDRCQUFxRixZQUFBO0lBRTdFLHdDQUF1QjtJQUFBLDRCQUFvQztJQUF4QixzSkFBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUFDLHNCQUFNO0lBQUEsaUJBQUksRUFBQSxFQUFBOztBQVlyRixNQUFNLE9BQU8sZ0JBQWdCO0lBb0N6QixJQUFhLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQW1CLEVBQWMsRUFBUyxLQUFhLEVBQVMsRUFBcUIsRUFBVSxjQUE4QjtRQUExRyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBM0NwSCxZQUFPLEdBQVcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUU5QyxVQUFLLEdBQUcsYUFBYSxDQUFDO1FBRXRCLFVBQUss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QUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQ3BCLE1BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtJQUNMLENBQUM7aUZBckpRLGdCQUFnQjtvRUFBaEIsZ0JBQWdCLG9TQU5kLENBQUM7b0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLGdCQUFnQjtvQkFDN0IsS0FBSyxFQUFFLElBQUk7aUJBQ1osQ0FBQztZQWJTLHlCQUErQjtZQUN0Qyw2REFJSTs7WUFKd0MsZUFBZTtZQUFmLG9DQUFlOzs7aUZBY3RELGdCQUFnQjtjQWpCNUIsU0FBUzsyQkFDSSxhQUFhLFlBQ2I7Ozs7O2FBS0QsbUJBRVEsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsa0JBQWtCO3dCQUM3QixLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDOzZIQUlPLE9BQU87a0JBQWYsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBRUksVUFBVTtrQkFBbkIsTUFBTTtZQUVHLFFBQVE7a0JBQWpCLE1BQU07WUFrQk0sUUFBUTtrQkFBcEIsS0FBSzs7a0ZBcENHLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCxDb21wb25lbnQsRXZlbnRFbWl0dGVyLElucHV0LE5nWm9uZSxPbkRlc3Ryb3ksT3V0cHV0LEVsZW1lbnRSZWYsQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY2FwdGNoYScsXG4gICAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwiYXBwLWNhcHRjaGFcIj48L2Rpdj5cbiAgICAgICAgPHAgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhbmdlcik7XCIgKm5nSWY9XCJzaG93RXJyb3JcIiBjbGFzcz1cImlvbi1wYWRkaW5nLXRvcFwiPlxuICAgICAgICAgICAgPHNtYWxsPlxuICAgICAgICAgICAgICAgIEVycm9yIGxvYWRpbmcgY2FwdGNoYS4gPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwibG9hZENhcHRjaGEoKVwiPlJlbG9hZDwvYT5cbiAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgIDwvcD5gLFxuICAgIHN0eWxlVXJsczogWycuL2NhcHRjaGEuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IENhcHRjaGFDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1dXG59KVxuZXhwb3J0IGNsYXNzIENhcHRjaGFDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LE9uRGVzdHJveSxPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkNoYW5nZXMge1xuXG4gICAgQElucHV0KCkgc2l0ZUtleTogc3RyaW5nID0gTGliQ29uc3RhbnRzLmNhcHRjaGFTaXRlS2V5O1xuXG4gICAgQElucHV0KCkgY2xhc3MgPSAnYXBwLWNhcHRjaGEnO1xuICAgICAgICBcbiAgICBASW5wdXQoKSB0aGVtZSA9ICdsaWdodCc7XG4gICAgXG4gICAgQElucHV0KCkgdHlwZSA9ICdpbWFnZSc7XG4gICAgXG4gICAgQElucHV0KCkgc2l6ZSA9ICdub3JtYWwnO1xuICAgIFxuICAgIEBJbnB1dCgpIHRhYmluZGV4ID0gMDtcbiAgICAgXG4gICAgQElucHV0KCkgaW5pdENhbGxiYWNrID0gXCJpbml0UmVjYXB0Y2hhXCI7XG4gICAgXG4gICAgQE91dHB1dCgpIG9uUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIFxuICAgIEBPdXRwdXQoKSBvbkV4cGlyZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgc2hvd0Vycm9yIDogYm9vbGVhbiA9IGZhbHNlOyBcblxuICAgIHB1YmxpYyBpc0xvYWRpbmcgOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKHZhbHVlIDogU3RyaW5nKSA9PiB7XG4gIFxuICAgIH07XG4gICAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHtcbiAgXG4gICAgfTtcbiAgICBcbiAgICBwcml2YXRlIF9pbnN0YW5jZTogYW55ID0gbnVsbDtcblxuICAgIHByaXZhdGUgX2xhbmd1YWdlOiBhbnkgPSBudWxsO1xuXG5cbiAgICBASW5wdXQoKSBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlO1xuICAgIH1cblxuICAgIHNldCBsYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMuaW5pdCgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHVibGljIF96b25lOiBOZ1pvbmUsIHB1YmxpYyBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgY2FwdGNoYVNlcnZpY2U6IENhcHRjaGFTZXJ2aWNlKSB7fVxuICAgIFxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgXG4gICAgfVxuICAgIFxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICB9XG4gIFxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMub25Ub3VjaCA9IGZuOyAgXG4gICAgfVxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICBcbiAgICB9XG4gICAgXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLmxvYWRDYXB0Y2hhKCk7XG4gICAgfVxuXG4gICAgbG9hZENhcHRjaGEoKXtcbiAgICAgICAgdHJ5e1xuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmICgoPGFueT53aW5kb3cpLmdyZWNhcHRjaGEpIHtcbiAgICAgICAgICAgICAgICBpZiAoISg8YW55PndpbmRvdykuZ3JlY2FwdGNoYS5yZW5kZXIpe1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9LDIwMClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICg8YW55PndpbmRvdylbdGhpcy5pbml0Q2FsbGJhY2tdID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5pbml0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfWNhdGNoKGUpe1xuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgICAgIFxuICAgIH1cbiAgICBcbiAgICBpbml0KCkge1xuICAgICAgICB0aGlzLnNob3dFcnJvciA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9pbnN0YW5jZSA9ICg8YW55PndpbmRvdykuZ3JlY2FwdGNoYS5yZW5kZXIodGhpcy5lbC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdLCB7XG4gICAgICAgICAgICAnc2l0ZWtleSc6IHRoaXMuc2l0ZUtleSxcbiAgICAgICAgICAgICd0aGVtZSc6IHRoaXMudGhlbWUsXG4gICAgICAgICAgICAndHlwZSc6IHRoaXMudHlwZSxcbiAgICAgICAgICAgICdzaXplJzogdGhpcy5zaXplLFxuICAgICAgICAgICAgJ3RhYmluZGV4JzogdGhpcy50YWJpbmRleCxcbiAgICAgICAgICAgICdobCc6IHRoaXMubGFuZ3VhZ2UsXG4gICAgICAgICAgICAnY2FsbGJhY2snOiAocmVzcG9uc2U6IHN0cmluZykgPT4ge3RoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMucmVjYXB0Y2hhQ2FsbGJhY2socmVzcG9uc2UpKX0sXG4gICAgICAgICAgICAnZXhwaXJlZC1jYWxsYmFjayc6ICgpID0+IHt0aGlzLl96b25lLnJ1bigoKSA9PiB0aGlzLnJlY2FwdGNoYUV4cGlyZWRDYWxsYmFjaygpKX1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICAgIFxuICAgIHJlc2V0KCkge1xuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2UgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIFxuICAgICAgICAoPGFueT53aW5kb3cpLmdyZWNhcHRjaGEucmVzZXQodGhpcy5faW5zdGFuY2UpO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgICBcbiAgICBnZXRSZXNwb25zZSgpOiBTdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2UgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgXG4gICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLmdyZWNhcHRjaGEuZ2V0UmVzcG9uc2UodGhpcy5faW5zdGFuY2UpO1xuICAgIH1cbiAgICBcbiAgICByZWNhcHRjaGFDYWxsYmFjayhyZXNwb25zZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2FwdGNoYVNlcnZpY2Uuc2V0Q2FwdGNoYShyZXNwb25zZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UocmVzcG9uc2UpO1xuICAgICAgICB0aGlzLm9uUmVzcG9uc2UuZW1pdCh7XG4gICAgICAgICAgICByZXNwb25zZTogcmVzcG9uc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmVjYXB0Y2hhRXhwaXJlZENhbGxiYWNrKCkge1xuICAgICAgICB0aGlzLmNhcHRjaGFTZXJ2aWNlLnNldENhcHRjaGEobnVsbCk7XG4gICAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICAgIHRoaXMub25FeHBpcmUuZW1pdCgpO1xuICAgIH1cbiAgICBcbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlICE9IG51bGwpIHtcbiAgICAgICAgICAoPGFueT53aW5kb3cpLmdyZWNhcHRjaGEucmVzZXQodGhpcy5faW5zdGFuY2UpO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGNoYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FwdGNoYS9jYXB0Y2hhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsU0FBUyxFQUFDLFlBQVksRUFBQyxLQUFLLEVBQWtCLE1BQU0sRUFBWSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBc0QsTUFBTSxlQUFlLENBQUM7QUFDNU0sT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0lBTWpELDRCQUFxRixZQUFBO0lBRTdFLHdDQUF1QjtJQUFBLDRCQUFvQztJQUF4QixzSkFBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUFDLHNCQUFNO0lBQUEsaUJBQUksRUFBQSxFQUFBOztBQVlyRixNQUFNLE9BQU8sZ0JBQWdCO0lBb0N6QixJQUFhLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELFlBQW1CLEVBQWMsRUFBUyxLQUFhLEVBQVMsRUFBcUIsRUFBVSxjQUE4QjtRQUExRyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVMsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVUsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBM0NwSCxZQUFPLEdBQVcsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUU5QyxVQUFLLEdBQUcsYUFBYSxDQUFDO1FBRXRCLFVBQUss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QUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQ3BCLE1BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNoRDtJQUNMLENBQUM7aUZBckpRLGdCQUFnQjtvRUFBaEIsZ0JBQWdCLG9TQU5kLENBQUM7b0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLGdCQUFnQjtvQkFDN0IsS0FBSyxFQUFFLElBQUk7aUJBQ1osQ0FBQztZQWJTLHlCQUErQjtZQUN0Qyw2REFJSTs7WUFKd0MsZUFBZTtZQUFmLG9DQUFlOzs7aUZBY3RELGdCQUFnQjtjQWpCNUIsU0FBUzsyQkFDSSxhQUFhLFlBQ2I7Ozs7O2FBS0QsbUJBRVEsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDO3dCQUNWLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsa0JBQWtCO3dCQUM3QixLQUFLLEVBQUUsSUFBSTtxQkFDWixDQUFDOzZIQUlPLE9BQU87a0JBQWYsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLEtBQUs7a0JBQWIsS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLElBQUk7a0JBQVosS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBRUksVUFBVTtrQkFBbkIsTUFBTTtZQUVHLFFBQVE7a0JBQWpCLE1BQU07WUFrQk0sUUFBUTtrQkFBcEIsS0FBSzs7a0ZBcENHLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCxDb21wb25lbnQsRXZlbnRFbWl0dGVyLElucHV0LE5nWm9uZSxPbkRlc3Ryb3ksT3V0cHV0LEVsZW1lbnRSZWYsQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdhcHAtY2FwdGNoYScsXHJcbiAgICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJhcHAtY2FwdGNoYVwiPjwvZGl2PlxyXG4gICAgICAgIDxwIHN0eWxlPVwiY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYW5nZXIpO1wiICpuZ0lmPVwic2hvd0Vycm9yXCIgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgICAgICAgPHNtYWxsPlxyXG4gICAgICAgICAgICAgICAgRXJyb3IgbG9hZGluZyBjYXB0Y2hhLiA8YSBocmVmPVwiI1wiIChjbGljayk9XCJsb2FkQ2FwdGNoYSgpXCI+UmVsb2FkPC9hPlxyXG4gICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgIDwvcD5gLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY2FwdGNoYS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IENhcHRjaGFDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FwdGNoYUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsT25EZXN0cm95LE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XHJcblxyXG4gICAgQElucHV0KCkgc2l0ZUtleTogc3RyaW5nID0gTGliQ29uc3RhbnRzLmNhcHRjaGFTaXRlS2V5O1xyXG5cclxuICAgIEBJbnB1dCgpIGNsYXNzID0gJ2FwcC1jYXB0Y2hhJztcclxuICAgICAgICBcclxuICAgIEBJbnB1dCgpIHRoZW1lID0gJ2xpZ2h0JztcclxuICAgIFxyXG4gICAgQElucHV0KCkgdHlwZSA9ICdpbWFnZSc7XHJcbiAgICBcclxuICAgIEBJbnB1dCgpIHNpemUgPSAnbm9ybWFsJztcclxuICAgIFxyXG4gICAgQElucHV0KCkgdGFiaW5kZXggPSAwO1xyXG4gICAgIFxyXG4gICAgQElucHV0KCkgaW5pdENhbGxiYWNrID0gXCJpbml0UmVjYXB0Y2hhXCI7XHJcbiAgICBcclxuICAgIEBPdXRwdXQoKSBvblJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIFxyXG4gICAgQE91dHB1dCgpIG9uRXhwaXJlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwdWJsaWMgc2hvd0Vycm9yIDogYm9vbGVhbiA9IGZhbHNlOyBcclxuXHJcbiAgICBwdWJsaWMgaXNMb2FkaW5nIDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWUgOiBTdHJpbmcpID0+IHtcclxuICBcclxuICAgIH07XHJcbiAgICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4ge1xyXG4gIFxyXG4gICAgfTtcclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfaW5zdGFuY2U6IGFueSA9IG51bGw7XHJcblxyXG4gICAgcHJpdmF0ZSBfbGFuZ3VhZ2U6IGFueSA9IG51bGw7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgbGFuZ3VhZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2U7XHJcbiAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgX3pvbmU6IE5nWm9uZSwgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBjYXB0Y2hhU2VydmljZTogQ2FwdGNoYVNlcnZpY2UpIHt9XHJcbiAgICBcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgIHRoaXMub25Ub3VjaCA9IGZuOyAgXHJcbiAgICB9XHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICBcclxuICAgIH1cclxuICAgIFxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMubG9hZENhcHRjaGEoKTtcclxuICAgIH1cclxuXHJcbiAgICBsb2FkQ2FwdGNoYSgpe1xyXG4gICAgICAgIHRyeXtcclxuICAgICAgICAgICAgdGhpcy5zaG93RXJyb3IgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKCg8YW55PndpbmRvdykuZ3JlY2FwdGNoYSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCEoPGFueT53aW5kb3cpLmdyZWNhcHRjaGEucmVuZGVyKXtcclxuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICB9LDIwMClcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAoPGFueT53aW5kb3cpW3RoaXMuaW5pdENhbGxiYWNrXSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9Y2F0Y2goZSl7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpbml0KCkge1xyXG4gICAgICAgIHRoaXMuc2hvd0Vycm9yID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5faW5zdGFuY2UgPSAoPGFueT53aW5kb3cpLmdyZWNhcHRjaGEucmVuZGVyKHRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXSwge1xyXG4gICAgICAgICAgICAnc2l0ZWtleSc6IHRoaXMuc2l0ZUtleSxcclxuICAgICAgICAgICAgJ3RoZW1lJzogdGhpcy50aGVtZSxcclxuICAgICAgICAgICAgJ3R5cGUnOiB0aGlzLnR5cGUsXHJcbiAgICAgICAgICAgICdzaXplJzogdGhpcy5zaXplLFxyXG4gICAgICAgICAgICAndGFiaW5kZXgnOiB0aGlzLnRhYmluZGV4LFxyXG4gICAgICAgICAgICAnaGwnOiB0aGlzLmxhbmd1YWdlLFxyXG4gICAgICAgICAgICAnY2FsbGJhY2snOiAocmVzcG9uc2U6IHN0cmluZykgPT4ge3RoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMucmVjYXB0Y2hhQ2FsbGJhY2socmVzcG9uc2UpKX0sXHJcbiAgICAgICAgICAgICdleHBpcmVkLWNhbGxiYWNrJzogKCkgPT4ge3RoaXMuX3pvbmUucnVuKCgpID0+IHRoaXMucmVjYXB0Y2hhRXhwaXJlZENhbGxiYWNrKCkpfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJlc2V0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9pbnN0YW5jZSA9PT0gbnVsbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIFxyXG4gICAgICAgICg8YW55PndpbmRvdykuZ3JlY2FwdGNoYS5yZXNldCh0aGlzLl9pbnN0YW5jZSk7XHJcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZ2V0UmVzcG9uc2UoKTogU3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5faW5zdGFuY2UgPT09IG51bGwpXHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHJldHVybiAoPGFueT53aW5kb3cpLmdyZWNhcHRjaGEuZ2V0UmVzcG9uc2UodGhpcy5faW5zdGFuY2UpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWNhcHRjaGFDYWxsYmFjayhyZXNwb25zZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5jYXB0Y2hhU2VydmljZS5zZXRDYXB0Y2hhKHJlc3BvbnNlKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHJlc3BvbnNlKTtcclxuICAgICAgICB0aGlzLm9uUmVzcG9uc2UuZW1pdCh7XHJcbiAgICAgICAgICAgIHJlc3BvbnNlOiByZXNwb25zZVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlY2FwdGNoYUV4cGlyZWRDYWxsYmFjaygpIHtcclxuICAgICAgICB0aGlzLmNhcHRjaGFTZXJ2aWNlLnNldENhcHRjaGEobnVsbCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcclxuICAgICAgICB0aGlzLm9uRXhwaXJlLmVtaXQoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2luc3RhbmNlICE9IG51bGwpIHtcclxuICAgICAgICAgICg8YW55PndpbmRvdykuZ3JlY2FwdGNoYS5yZXNldCh0aGlzLl9pbnN0YW5jZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19
@@ -52,4 +52,4 @@ export class CardComponent {
52
52
  args: ['headerClass']
53
53
  }] }); })();
54
54
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(CardComponent, { className: "CardComponent", filePath: "lib\\components\\card\\card.component.ts", lineNumber: 8 }); })();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0NyRCx1Q0FBcUQscUJBQUEsbUJBQUE7SUFDVCxZQUFxQjs7SUFBQSxpQkFBWSxFQUFBLEVBQUE7OztJQUQ1RCxpQ0FBcUI7SUFDTSxlQUFxQjtJQUFyQix3REFBcUI7OztBREtyRSxNQUFNLE9BQU8sYUFBYTtJQVF4QjtRQUpnQixVQUFLLEdBQVksU0FBUyxDQUFDO1FBRXJCLGdCQUFXLEdBQVksYUFBYSxDQUFDO0lBRTNDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OEVBWFUsYUFBYTtvRUFBYixhQUFhOztZQ1AxQixnQ0FBMEI7WUFDdEIsc0ZBRWtCO1lBQ2xCLHdDQUFrQjtZQUNkLHFCQUFLO1lBQ0wsMkJBQUs7WUFDTCxrQkFBeUI7WUFDekIsaUJBQU0sRUFBQSxFQUFBOztZQVJKLHdCQUFlO1lBQ21CLGVBQVc7WUFBWCxnQ0FBVzs7O2lGRE0xQyxhQUFhO2NBTHpCLFNBQVM7MkJBQ0UsVUFBVTtvQkFNSixLQUFLO2tCQUFwQixLQUFLO21CQUFDLE9BQU87WUFFRSxLQUFLO2tCQUFwQixLQUFLO21CQUFDLE9BQU87WUFFUSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7O2tGQU5ULGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhcmQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgndGl0bGUnKSB0aXRsZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgnY2xhc3MnKSBjbGFzcyA6IHN0cmluZyA9ICdhcHAtYm94JztcblxuICBASW5wdXQoJ2hlYWRlckNsYXNzJykgaGVhZGVyQ2xhc3MgOiBzdHJpbmcgPSAnaW9uLXBhZGRpbmcnO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIiwiPGlvbi1jYXJkIFtjbGFzc109XCJjbGFzc1wiPlxyXG4gICAgPGlvbi1jYXJkLWhlYWRlciBbY2xhc3NdPVwiaGVhZGVyQ2xhc3NcIiAqbmdJZj1cInRpdGxlXCI+XHJcbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlPjxpb24tbGFiZWwgY29sb3I9XCJkYXJrXCI+e3t0aXRsZSB8IHRyYW5zbGF0ZX19PC9pb24tbGFiZWw+PC9pb24tY2FyZC10aXRsZT5cclxuICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxyXG4gICAgPGlvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPGJyLz5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvaW9uLWNhcmQtY29udGVudD5cclxuPC9pb24tY2FyZD5cclxuICAiXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jYXJkL2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztJQ0NyRCx1Q0FBcUQscUJBQUEsbUJBQUE7SUFDVCxZQUFxQjs7SUFBQSxpQkFBWSxFQUFBLEVBQUE7OztJQUQ1RCxpQ0FBcUI7SUFDTSxlQUFxQjtJQUFyQix3REFBcUI7OztBREtyRSxNQUFNLE9BQU8sYUFBYTtJQVF4QjtRQUpnQixVQUFLLEdBQVksU0FBUyxDQUFDO1FBRXJCLGdCQUFXLEdBQVksYUFBYSxDQUFDO0lBRTNDLENBQUM7SUFFakIsUUFBUTtJQUNSLENBQUM7OEVBWFUsYUFBYTtvRUFBYixhQUFhOztZQ1AxQixnQ0FBMEI7WUFDdEIsc0ZBRWtCO1lBQ2xCLHdDQUFrQjtZQUNkLHFCQUFLO1lBQ0wsMkJBQUs7WUFDTCxrQkFBeUI7WUFDekIsaUJBQU0sRUFBQSxFQUFBOztZQVJKLHdCQUFlO1lBQ21CLGVBQVc7WUFBWCxnQ0FBVzs7O2lGRE0xQyxhQUFhO2NBTHpCLFNBQVM7MkJBQ0UsVUFBVTtvQkFNSixLQUFLO2tCQUFwQixLQUFLO21CQUFDLE9BQU87WUFFRSxLQUFLO2tCQUFwQixLQUFLO21CQUFDLE9BQU87WUFFUSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7O2tGQU5ULGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXJkLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgndGl0bGUnKSB0aXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoJ2NsYXNzJykgY2xhc3MgOiBzdHJpbmcgPSAnYXBwLWJveCc7XHJcblxyXG4gIEBJbnB1dCgnaGVhZGVyQ2xhc3MnKSBoZWFkZXJDbGFzcyA6IHN0cmluZyA9ICdpb24tcGFkZGluZyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGlvbi1jYXJkIFtjbGFzc109XCJjbGFzc1wiPlxyXG4gICAgPGlvbi1jYXJkLWhlYWRlciBbY2xhc3NdPVwiaGVhZGVyQ2xhc3NcIiAqbmdJZj1cInRpdGxlXCI+XHJcbiAgICAgICAgPGlvbi1jYXJkLXRpdGxlPjxpb24tbGFiZWwgY29sb3I9XCJkYXJrXCI+e3t0aXRsZSB8IHRyYW5zbGF0ZX19PC9pb24tbGFiZWw+PC9pb24tY2FyZC10aXRsZT5cclxuICAgIDwvaW9uLWNhcmQtaGVhZGVyPlxyXG4gICAgPGlvbi1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgPGJyLz5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvaW9uLWNhcmQtY29udGVudD5cclxuPC9pb24tY2FyZD5cclxuICAiXX0=
@@ -58,4 +58,4 @@ export class ContentComponent {
58
58
  args: ['showHelp']
59
59
  }] }); })();
60
60
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ContentComponent, { className: "ContentComponent", filePath: "lib\\components\\content\\content.component.ts", lineNumber: 9 }); })();
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0lDQ3JELHFDQUFnRDtJQUFwQywwTEFBVyx5Q0FBaUIsSUFBUDtJQUFlLGlCQUFhOzs7SUFBakQsd0NBQXFCOzs7SUFHckMsZ0NBQW1FOzs7SUFBbkMsMENBQXFCOzs7QURJckQsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUFtQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBTmhCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU5QixhQUFRLEdBQWEsS0FBSyxDQUFDO0lBRzlDLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztpRkFaVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjs7WUNSN0IsOEJBQWU7WUFDWCwrRUFBNkQ7WUFDN0Qsa0JBQTBCO1lBQzlCLGlCQUFNO1lBQ04sK0VBQW1FOztZQUg1QixlQUFXO1lBQVgsNEJBQVc7WUFHckMsZUFBaUI7WUFBakIsc0NBQWlCOzs7aUZESWpCLGdCQUFnQjtjQUw1QixTQUFTOzJCQUNFLGFBQWE7NENBTUgsU0FBUztrQkFBNUIsS0FBSzttQkFBQyxXQUFXO1lBRUcsVUFBVTtrQkFBOUIsS0FBSzttQkFBQyxZQUFZO1lBRUEsUUFBUTtrQkFBMUIsS0FBSzttQkFBQyxVQUFVOztrRkFOTixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoJ3Nob3dFcnJvcicpIHNob3dFcnJvcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KCdoaWRlRm9vdGVyJykgaGlkZUZvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgnc2hvd0hlbHAnKSBzaG93SGVscCA6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG59XG4iLCI8ZGl2IGlvbi1maXhlZD5cclxuICAgIDxwLW1lc3NhZ2VzIFsodmFsdWUpXT1cInV0aWwubXNnc1wiICpuZ0lmPVwiZmFsc2VcIj48L3AtbWVzc2FnZXM+XHJcbiAgICA8bmctY29udGVudCA+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuPGFwcC1mb290ZXIgKm5nSWY9XCIhaGlkZUZvb3RlclwiIFtzaG93SGVscF09XCJzaG93SGVscFwiPjwvYXBwLWZvb3Rlcj5cclxuICAiXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29udGVudC9jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7O0lDQ3JELHFDQUFnRDtJQUFwQywwTEFBVyx5Q0FBaUIsSUFBUDtJQUFlLGlCQUFhOzs7SUFBakQsd0NBQXFCOzs7SUFHckMsZ0NBQW1FOzs7SUFBbkMsMENBQXFCOzs7QURJckQsTUFBTSxPQUFPLGdCQUFnQjtJQVEzQixZQUFtQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBTmhCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUU5QixhQUFRLEdBQWEsS0FBSyxDQUFDO0lBRzlDLENBQUM7SUFFRCxRQUFRO0lBQ1IsQ0FBQztpRkFaVSxnQkFBZ0I7b0VBQWhCLGdCQUFnQjs7WUNSN0IsOEJBQWU7WUFDWCwrRUFBNkQ7WUFDN0Qsa0JBQTBCO1lBQzlCLGlCQUFNO1lBQ04sK0VBQW1FOztZQUg1QixlQUFXO1lBQVgsNEJBQVc7WUFHckMsZUFBaUI7WUFBakIsc0NBQWlCOzs7aUZESWpCLGdCQUFnQjtjQUw1QixTQUFTOzJCQUNFLGFBQWE7NENBTUgsU0FBUztrQkFBNUIsS0FBSzttQkFBQyxXQUFXO1lBRUcsVUFBVTtrQkFBOUIsS0FBSzttQkFBQyxZQUFZO1lBRUEsUUFBUTtrQkFBMUIsS0FBSzttQkFBQyxVQUFVOztrRkFOTixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29udGVudC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgnc2hvd0Vycm9yJykgc2hvd0Vycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdoaWRlRm9vdGVyJykgaGlkZUZvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoJ3Nob3dIZWxwJykgc2hvd0hlbHAgOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsOiBVdGlsU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaW9uLWZpeGVkPlxyXG4gICAgPHAtbWVzc2FnZXMgWyh2YWx1ZSldPVwidXRpbC5tc2dzXCIgKm5nSWY9XCJmYWxzZVwiPjwvcC1tZXNzYWdlcz5cclxuICAgIDxuZy1jb250ZW50ID48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG48YXBwLWZvb3RlciAqbmdJZj1cIiFoaWRlRm9vdGVyXCIgW3Nob3dIZWxwXT1cInNob3dIZWxwXCI+PC9hcHAtZm9vdGVyPlxyXG4gICJdfQ==
@@ -83,4 +83,4 @@ export class ErrorComponent {
83
83
  args: ["class"]
84
84
  }] }); })();
85
85
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ErrorComponent, { className: "ErrorComponent", filePath: "lib\\components\\error\\error.component.ts", lineNumber: 11 }); })();
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0lDRHJFLGlDQUE2QyxZQUFBO0lBQU8sWUFBbUI7O0lBQUEsaUJBQVEsRUFBQTs7O0lBQTNCLGVBQW1CO0lBQW5CLGtEQUFtQjs7O0lBRHpFLDhCQUEyRTtJQUN6RSxpRkFBMkY7SUFDN0YsaUJBQU07OztJQUZpQiwrQ0FBaUMseUJBQUE7SUFDM0IsZUFBZ0I7SUFBaEIsOENBQWdCOztBRFM3QyxNQUFNLE9BQU8sY0FBYztJQWN6QjtRQWdCQSxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztJQWpCRixDQUFDO0lBRWpCLFFBQVEsS0FBSSxDQUFDO0lBRWIsT0FBTztRQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXpJLElBQUcsUUFBUSxFQUFDO1lBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUtELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFLLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBRSxFQUFHO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFFbEMsSUFBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUMzQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxLQUFNLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbkMsSUFBSyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUc7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7YUFDL0M7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFFbEUsQ0FBQzsrRUF2RFUsY0FBYztvRUFBZCxjQUFjO1lDVjNCLCtEQUVNOztZQUZBLG9DQUFlO2tMRFFQLENBQUMsbUJBQW1CLENBQUM7O2lGQUV0QixjQUFjO2NBTjFCLFNBQVM7MkJBQ0UsV0FBVyxjQUdULENBQUMsbUJBQW1CLENBQUM7b0JBS2pDLFdBQVc7a0JBRFYsS0FBSzttQkFBQyxPQUFPO1lBSWQsTUFBTTtrQkFETCxLQUFLO21CQUFDLE1BQU07WUFJYixNQUFNO2tCQURMLEtBQUs7bUJBQUMsUUFBUTtZQUlmLEtBQUs7a0JBREosS0FBSzttQkFBQyxPQUFPOztrRkFYSCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHJvd0V4cGFuc2lvblRyaWdnZXIgfSBmcm9tICcuLi8uLi9hbm5pbWF0aW9ucy9hcHAtYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1lcnJvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Vycm9yLmNvbXBvbmVudC5jc3MnXSxcbiAgYW5pbWF0aW9uczogW3Jvd0V4cGFuc2lvblRyaWdnZXJdXG59KVxuZXhwb3J0IGNsYXNzIEVycm9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoXCJmaWVsZFwiKVxuICBmb3JtQ29udHJvbCA6IFVudHlwZWRGb3JtQ29udHJvbDtcblxuICBASW5wdXQoXCJmb3JtXCIpXG4gIG5nRm9ybSA6IE5nRm9ybTtcblxuICBASW5wdXQoXCJlcnJEZWZcIikgXG4gIGVyckRlZjogYW55O1xuXG4gIEBJbnB1dChcImNsYXNzXCIpXG4gIGNsYXNzIDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGlzRXJyb3IoKXtcbiAgICB0aGlzLmJ1aWxkRXJyb3JzKCk7XG4gICAgY29uc3QgaXNTdWJtaXR0ZWQgPSB0aGlzLm5nRm9ybSAmJiB0aGlzLm5nRm9ybS5zdWJtaXR0ZWQ7XG4gICAgY29uc3QgaGFzRXJyb3IgPSAhISh0aGlzLmZvcm1Db250cm9sICYmIHRoaXMuZm9ybUNvbnRyb2wuaW52YWxpZCAmJiAodGhpcy5mb3JtQ29udHJvbC5kaXJ0eSB8fCB0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQgfHwgaXNTdWJtaXR0ZWQpKTtcblxuICAgIGlmKGhhc0Vycm9yKXtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCh7b25seVNlbGY6IHRydWV9KTtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoe29ubHlTZWxmOiB0cnVlfSk7XG4gICAgfVxuICAgIHJldHVybiBoYXNFcnJvcjtcbiAgfVxuXG4gIGVycm9yTWVzc2FnZXMgPSBbXTtcbiAgZXJyb3JNZXNzYWdlID0gJyc7XG5cbiAgYnVpbGRFcnJvcnMoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VzID0gW107XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcbiAgICBpZiAoIHRoaXMuZXJyRGVmICYmICggdGhpcy5mb3JtQ29udHJvbD8uZXJyb3JzICkgKSB7XG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmVyckRlZikuc29tZShrZXkgPT4ge1xuXG4gICAgICAgIGlmICggdGhpcy5mb3JtQ29udHJvbC5lcnJvcnMgJiYgdGhpcy5mb3JtQ29udHJvbC5lcnJvcnNba2V5XSkge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlcy5wdXNoKHRoaXMuZXJyRGVmW2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGZvciAoIGNvbnN0IG0gb2YgdGhpcy5lcnJvck1lc3NhZ2VzICl7XG4gICAgICBpZiAoIHRoaXMuZXJyb3JNZXNzYWdlLmxlbmd0aCA+IDAgKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2UgKyAnLiAgJztcbiAgICAgIH1cbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2UgKyBtO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZXMubGVuZ3RoID4gMCAgJiYgdGhpcy5mb3JtQ29udHJvbC5kaXJ0eTtcblxuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc0Vycm9yKClcIiBbQHJvd0V4cGFuc2lvblRyaWdnZXJdPVwiJ2FjdGl2ZSdcIiBbbmdDbGFzc109XCJjbGFzc1wiPlxyXG4gIDxtYXQtZXJyb3IgKm5nRm9yPVwibGV0IG1zZyBvZiBlcnJvck1lc3NhZ2VzXCI+PHNtYWxsPnt7bXNnIHwgdHJhbnNsYXRlfX08L3NtYWxsPjwvbWF0LWVycm9yPlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2Vycm9yL2Vycm9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7O0lDRHJFLGlDQUE2QyxZQUFBO0lBQU8sWUFBbUI7O0lBQUEsaUJBQVEsRUFBQTs7O0lBQTNCLGVBQW1CO0lBQW5CLGtEQUFtQjs7O0lBRHpFLDhCQUEyRTtJQUN6RSxpRkFBMkY7SUFDN0YsaUJBQU07OztJQUZpQiwrQ0FBaUMseUJBQUE7SUFDM0IsZUFBZ0I7SUFBaEIsOENBQWdCOztBRFM3QyxNQUFNLE9BQU8sY0FBYztJQWN6QjtRQWdCQSxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztJQWpCRixDQUFDO0lBRWpCLFFBQVEsS0FBSSxDQUFDO0lBRWIsT0FBTztRQUNMLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXpJLElBQUcsUUFBUSxFQUFDO1lBQ1YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUtELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN2QixJQUFLLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBRSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBRSxFQUFHO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFFbEMsSUFBSyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUMzQztnQkFDRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxLQUFNLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbkMsSUFBSyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUc7Z0JBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7YUFDL0M7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1NBQzNDO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFFbEUsQ0FBQzsrRUF2RFUsY0FBYztvRUFBZCxjQUFjO1lDVjNCLCtEQUVNOztZQUZBLG9DQUFlO2tMRFFQLENBQUMsbUJBQW1CLENBQUM7O2lGQUV0QixjQUFjO2NBTjFCLFNBQVM7MkJBQ0UsV0FBVyxjQUdULENBQUMsbUJBQW1CLENBQUM7b0JBS2pDLFdBQVc7a0JBRFYsS0FBSzttQkFBQyxPQUFPO1lBSWQsTUFBTTtrQkFETCxLQUFLO21CQUFDLE1BQU07WUFJYixNQUFNO2tCQURMLEtBQUs7bUJBQUMsUUFBUTtZQUlmLEtBQUs7a0JBREosS0FBSzttQkFBQyxPQUFPOztrRkFYSCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyByb3dFeHBhbnNpb25UcmlnZ2VyIH0gZnJvbSAnLi4vLi4vYW5uaW1hdGlvbnMvYXBwLWFuaW1hdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZXJyb3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lcnJvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZXJyb3IuY29tcG9uZW50LmNzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtyb3dFeHBhbnNpb25UcmlnZ2VyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXJyb3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoXCJmaWVsZFwiKVxyXG4gIGZvcm1Db250cm9sIDogVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICBASW5wdXQoXCJmb3JtXCIpXHJcbiAgbmdGb3JtIDogTmdGb3JtO1xyXG5cclxuICBASW5wdXQoXCJlcnJEZWZcIikgXHJcbiAgZXJyRGVmOiBhbnk7XHJcblxyXG4gIEBJbnB1dChcImNsYXNzXCIpXHJcbiAgY2xhc3MgOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuXHJcbiAgaXNFcnJvcigpe1xyXG4gICAgdGhpcy5idWlsZEVycm9ycygpO1xyXG4gICAgY29uc3QgaXNTdWJtaXR0ZWQgPSB0aGlzLm5nRm9ybSAmJiB0aGlzLm5nRm9ybS5zdWJtaXR0ZWQ7XHJcbiAgICBjb25zdCBoYXNFcnJvciA9ICEhKHRoaXMuZm9ybUNvbnRyb2wgJiYgdGhpcy5mb3JtQ29udHJvbC5pbnZhbGlkICYmICh0aGlzLmZvcm1Db250cm9sLmRpcnR5IHx8IHRoaXMuZm9ybUNvbnRyb2wudG91Y2hlZCB8fCBpc1N1Ym1pdHRlZCkpO1xyXG5cclxuICAgIGlmKGhhc0Vycm9yKXtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNUb3VjaGVkKHtvbmx5U2VsZjogdHJ1ZX0pO1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KHtvbmx5U2VsZjogdHJ1ZX0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGhhc0Vycm9yO1xyXG4gIH1cclxuXHJcbiAgZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIGVycm9yTWVzc2FnZSA9ICcnO1xyXG5cclxuICBidWlsZEVycm9ycygpOiBib29sZWFuIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnJztcclxuICAgIGlmICggdGhpcy5lcnJEZWYgJiYgKCB0aGlzLmZvcm1Db250cm9sPy5lcnJvcnMgKSApIHtcclxuICAgICAgT2JqZWN0LmtleXModGhpcy5lcnJEZWYpLnNvbWUoa2V5ID0+IHtcclxuXHJcbiAgICAgICAgaWYgKCB0aGlzLmZvcm1Db250cm9sLmVycm9ycyAmJiB0aGlzLmZvcm1Db250cm9sLmVycm9yc1trZXldKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZXMucHVzaCh0aGlzLmVyckRlZltrZXldKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKCBjb25zdCBtIG9mIHRoaXMuZXJyb3JNZXNzYWdlcyApe1xyXG4gICAgICBpZiAoIHRoaXMuZXJyb3JNZXNzYWdlLmxlbmd0aCA+IDAgKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmVycm9yTWVzc2FnZSArICcuICAnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5lcnJvck1lc3NhZ2UgKyBtO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZXMubGVuZ3RoID4gMCAgJiYgdGhpcy5mb3JtQ29udHJvbC5kaXJ0eTtcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0lmPVwiaXNFcnJvcigpXCIgW0Byb3dFeHBhbnNpb25UcmlnZ2VyXT1cIidhY3RpdmUnXCIgW25nQ2xhc3NdPVwiY2xhc3NcIj5cclxuICA8bWF0LWVycm9yICpuZ0Zvcj1cImxldCBtc2cgb2YgZXJyb3JNZXNzYWdlc1wiPjxzbWFsbD57e21zZyB8IHRyYW5zbGF0ZX19PC9zbWFsbD48L21hdC1lcnJvcj5cclxuPC9kaXY+XHJcblxyXG4iXX0=