@sebgroup/green-angular 4.6.6 → 4.6.7

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 (79) hide show
  1. package/esm2022/lib/accordion/accordion-list-item.component.mjs +3 -3
  2. package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +3 -3
  3. package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +2 -2
  4. package/esm2022/src/v-angular/button/button.component.mjs +2 -2
  5. package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +4 -4
  6. package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +4 -4
  7. package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +4 -4
  8. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +2 -2
  9. package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +2 -2
  10. package/esm2022/src/v-angular/i18n/i18n.module.mjs +9 -3
  11. package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +2 -2
  12. package/esm2022/src/v-angular/input/input.component.mjs +4 -4
  13. package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +2 -2
  14. package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +3 -3
  15. package/esm2022/src/v-angular/radio/radio.component.mjs +4 -4
  16. package/esm2022/src/v-angular/textarea/textarea.component.mjs +4 -4
  17. package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +2 -2
  18. package/esm2022/v-angular/button/button.component.mjs +2 -2
  19. package/esm2022/v-angular/checkbox/checkbox.component.mjs +4 -4
  20. package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +4 -4
  21. package/esm2022/v-angular/dropdown/dropdown.component.mjs +4 -4
  22. package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +2 -2
  23. package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +2 -2
  24. package/esm2022/v-angular/i18n/i18n.module.mjs +9 -3
  25. package/esm2022/v-angular/i18n/i18n.test.module.mjs +2 -2
  26. package/esm2022/v-angular/input/input.component.mjs +4 -4
  27. package/esm2022/v-angular/modal/dialog/dialog.component.mjs +2 -2
  28. package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +3 -3
  29. package/esm2022/v-angular/radio/radio.component.mjs +4 -4
  30. package/esm2022/v-angular/textarea/textarea.component.mjs +4 -4
  31. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +2 -2
  32. package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
  33. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +1 -1
  34. package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
  35. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +1 -1
  36. package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
  37. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +3 -3
  38. package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
  39. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +4 -4
  40. package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
  41. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +8 -2
  42. package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
  43. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +3 -3
  44. package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
  45. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +4 -4
  46. package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
  47. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +3 -3
  48. package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
  49. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +3 -3
  50. package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
  51. package/fesm2022/sebgroup-green-angular-v-angular.mjs +19 -13
  52. package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
  53. package/fesm2022/sebgroup-green-angular.mjs +2 -2
  54. package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
  55. package/package.json +3 -3
  56. package/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  57. package/src/v-angular/button/button.component.d.ts +1 -1
  58. package/src/v-angular/checkbox/checkbox.component.d.ts +1 -1
  59. package/src/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  60. package/src/v-angular/dropdown/dropdown.component.d.ts +1 -1
  61. package/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  62. package/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  63. package/src/v-angular/i18n/i18n.module.d.ts +2 -2
  64. package/src/v-angular/i18n/i18n.test.module.d.ts +1 -1
  65. package/src/v-angular/input/input.component.d.ts +1 -1
  66. package/src/v-angular/radio/radio.component.d.ts +1 -1
  67. package/src/v-angular/textarea/textarea.component.d.ts +1 -1
  68. package/v-angular/base-control-value-accessor/base-control-value-accessor.component.d.ts +1 -1
  69. package/v-angular/button/button.component.d.ts +1 -1
  70. package/v-angular/checkbox/checkbox.component.d.ts +1 -1
  71. package/v-angular/dropdown/dropdown-list/dropdown-list.component.d.ts +1 -1
  72. package/v-angular/dropdown/dropdown.component.d.ts +1 -1
  73. package/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.d.ts +1 -1
  74. package/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.d.ts +1 -1
  75. package/v-angular/i18n/i18n.module.d.ts +2 -2
  76. package/v-angular/i18n/i18n.test.module.d.ts +1 -1
  77. package/v-angular/input/input.component.d.ts +1 -1
  78. package/v-angular/radio/radio.component.d.ts +1 -1
  79. package/v-angular/textarea/textarea.component.d.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule, Pipe } from '@angular/core';
3
- import { TRANSLOCO_FALLBACK_STRATEGY, TRANSLOCO_INTERCEPTOR, TRANSLOCO_MISSING_HANDLER, TRANSLOCO_TRANSPILER, } from '@ngneat/transloco';
3
+ import { TRANSLOCO_FALLBACK_STRATEGY, TRANSLOCO_INTERCEPTOR, TRANSLOCO_MISSING_HANDLER, TRANSLOCO_TRANSPILER, } from '@jsverse/transloco';
4
4
  import * as i0 from "@angular/core";
5
5
  export class TranslocoMockPipe {
6
6
  constructor() {
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
86
86
  ],
87
87
  }]
88
88
  }] });
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi50ZXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2kxOG4vaTE4bi50ZXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFHTCwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixvQkFBb0IsR0FNckIsTUFBTSxtQkFBbUIsQ0FBQTs7QUFHMUIsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVFLGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsS0FBSyxDQUFBO0tBQzdDOytHQUZZLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7QUFLM0IsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLGNBQVMsR0FBRyxDQUFDLEdBQUcsS0FBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7SUFDeEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLDJCQUEyQjtJQUF4QztRQUNFLFdBQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFrQixFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUNyRSxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0UsaUJBQVksR0FBRyxDQUFDLFdBQW1CLEVBQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLGtCQUFrQixDQUFDLFdBQXdCLEVBQUUsS0FBYTtRQUN4RCxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxLQUFhO1FBQzlELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztDQUNGO0FBMEJELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQWxEakIsaUJBQWlCLGFBMkJsQixZQUFZLGFBM0JYLGlCQUFpQjtnSEFrRGpCLGlCQUFpQixhQXBCakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLHdCQUF3QjthQUNuQztZQUNEO2dCQUNFLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUM3QjtTQUNGLFlBckJTLFlBQVk7OzRGQXVCWCxpQkFBaUI7a0JBeEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHFCQUFxQjt5QkFDaEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsUUFBUSxFQUFFLDJCQUEyQjs0QkFDckMsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUM7eUJBQzdCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgSGFzaE1hcCxcbiAgVHJhbnNsYXRpb24sXG4gIFRSQU5TTE9DT19GQUxMQkFDS19TVFJBVEVHWSxcbiAgVFJBTlNMT0NPX0lOVEVSQ0VQVE9SLFxuICBUUkFOU0xPQ09fTUlTU0lOR19IQU5ETEVSLFxuICBUUkFOU0xPQ09fVFJBTlNQSUxFUixcbiAgVHJhbnNsb2NvQ29uZmlnLFxuICBUcmFuc2xvY29GYWxsYmFja1N0cmF0ZWd5LFxuICBUcmFuc2xvY29JbnRlcmNlcHRvcixcbiAgVHJhbnNsb2NvTWlzc2luZ0hhbmRsZXIsXG4gIFRyYW5zbG9jb1RyYW5zcGlsZXJGdW5jdGlvbixcbn0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5cbkBQaXBlKHsgbmFtZTogJ3RyYW5zbG9jbycgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29Nb2NrUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0gPSAodmFsdWU6IG51bWJlcik6IG51bWJlciA9PiB2YWx1ZVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja1RyYW5zcGlsZXIgaW1wbGVtZW50cyBUcmFuc2xvY29UcmFuc3BpbGVyRnVuY3Rpb24ge1xuICB0cmFuc3BpbGUgPSAoLi4uX2FyZ3M6IHN0cmluZ1tdKSA9PiAnJ1xufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja01pc3NpbmdIYW5kbGVyIGltcGxlbWVudHMgVHJhbnNsb2NvTWlzc2luZ0hhbmRsZXIge1xuICBoYW5kbGUgPSAoa2V5OiBzdHJpbmcsIF86IFRyYW5zbG9jb0NvbmZpZywgX3BhcmFtczogSGFzaE1hcCkgPT4ga2V5XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29Nb2NrU3RyYXRlZ3kgaW1wbGVtZW50cyBUcmFuc2xvY29GYWxsYmFja1N0cmF0ZWd5IHtcbiAgZ2V0TmV4dExhbmdzID0gKF9mYWlsZWRMYW5nOiBzdHJpbmcpOiBhbnkgPT4gJydcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb01vY2tJbnRlcmNlcHRvciBpbXBsZW1lbnRzIFRyYW5zbG9jb0ludGVyY2VwdG9yIHtcbiAgcHJlU2F2ZVRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvbiwgX2xhbmc6IHN0cmluZyk6IFRyYW5zbGF0aW9uIHtcbiAgICByZXR1cm4gdHJhbnNsYXRpb25cbiAgfVxuXG4gIHByZVNhdmVUcmFuc2xhdGlvbktleShfa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIF9sYW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtUcmFuc2xvY29Nb2NrUGlwZV0sXG4gIGV4cG9ydHM6IFtUcmFuc2xvY29Nb2NrUGlwZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19UUkFOU1BJTEVSLFxuICAgICAgdXNlQ2xhc3M6IFRyYW5zbG9jb01vY2tUcmFuc3BpbGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0lOVEVSQ0VQVE9SLFxuICAgICAgdXNlQ2xhc3M6IFRyYW5zbG9jb01vY2tJbnRlcmNlcHRvcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19GQUxMQkFDS19TVFJBVEVHWSxcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrU3RyYXRlZ3ksXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fTUlTU0lOR19IQU5ETEVSLFxuICAgICAgdXNlQ2xhc3M6IFRyYW5zbG9jb01vY2tNaXNzaW5nSGFuZGxlcixcbiAgICAgIGRlcHM6IFtUUkFOU0xPQ09fVFJBTlNQSUxFUl0sXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2STE4blRlc3RNb2R1bGUge31cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi50ZXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2kxOG4vaTE4bi50ZXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzdELE9BQU8sRUFHTCwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixvQkFBb0IsR0FNckIsTUFBTSxvQkFBb0IsQ0FBQTs7QUFHM0IsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVFLGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBVSxFQUFFLENBQUMsS0FBSyxDQUFBO0tBQzdDOytHQUZZLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs7QUFLM0IsTUFBTSxPQUFPLHVCQUF1QjtJQUFwQztRQUNFLGNBQVMsR0FBRyxDQUFDLEdBQUcsS0FBZSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7SUFDeEMsQ0FBQztDQUFBO0FBRUQsTUFBTSxPQUFPLDJCQUEyQjtJQUF4QztRQUNFLFdBQU0sR0FBRyxDQUFDLEdBQVcsRUFBRSxDQUFrQixFQUFFLE9BQWdCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQTtJQUNyRSxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBQWxDO1FBQ0UsaUJBQVksR0FBRyxDQUFDLFdBQW1CLEVBQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQTtJQUNqRCxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLGtCQUFrQixDQUFDLFdBQXdCLEVBQUUsS0FBYTtRQUN4RCxPQUFPLFdBQVcsQ0FBQTtJQUNwQixDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWSxFQUFFLEtBQWEsRUFBRSxLQUFhO1FBQzlELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztDQUNGO0FBMEJELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQWxEakIsaUJBQWlCLGFBMkJsQixZQUFZLGFBM0JYLGlCQUFpQjtnSEFrRGpCLGlCQUFpQixhQXBCakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixRQUFRLEVBQUUsdUJBQXVCO2FBQ2xDO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLHdCQUF3QjthQUNuQztZQUNEO2dCQUNFLE9BQU8sRUFBRSwyQkFBMkI7Z0JBQ3BDLFFBQVEsRUFBRSxxQkFBcUI7YUFDaEM7WUFDRDtnQkFDRSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQyxJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUM3QjtTQUNGLFlBckJTLFlBQVk7OzRGQXVCWCxpQkFBaUI7a0JBeEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDO29CQUM1QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG9CQUFvQjs0QkFDN0IsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHFCQUFxQjt5QkFDaEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHlCQUF5Qjs0QkFDbEMsUUFBUSxFQUFFLDJCQUEyQjs0QkFDckMsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQUM7eUJBQzdCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgSGFzaE1hcCxcbiAgVHJhbnNsYXRpb24sXG4gIFRSQU5TTE9DT19GQUxMQkFDS19TVFJBVEVHWSxcbiAgVFJBTlNMT0NPX0lOVEVSQ0VQVE9SLFxuICBUUkFOU0xPQ09fTUlTU0lOR19IQU5ETEVSLFxuICBUUkFOU0xPQ09fVFJBTlNQSUxFUixcbiAgVHJhbnNsb2NvQ29uZmlnLFxuICBUcmFuc2xvY29GYWxsYmFja1N0cmF0ZWd5LFxuICBUcmFuc2xvY29JbnRlcmNlcHRvcixcbiAgVHJhbnNsb2NvTWlzc2luZ0hhbmRsZXIsXG4gIFRyYW5zbG9jb1RyYW5zcGlsZXJGdW5jdGlvbixcbn0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJ1xuXG5AUGlwZSh7IG5hbWU6ICd0cmFuc2xvY28nIH0pXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtID0gKHZhbHVlOiBudW1iZXIpOiBudW1iZXIgPT4gdmFsdWVcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb01vY2tUcmFuc3BpbGVyIGltcGxlbWVudHMgVHJhbnNsb2NvVHJhbnNwaWxlckZ1bmN0aW9uIHtcbiAgdHJhbnNwaWxlID0gKC4uLl9hcmdzOiBzdHJpbmdbXSkgPT4gJydcbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb01vY2tNaXNzaW5nSGFuZGxlciBpbXBsZW1lbnRzIFRyYW5zbG9jb01pc3NpbmdIYW5kbGVyIHtcbiAgaGFuZGxlID0gKGtleTogc3RyaW5nLCBfOiBUcmFuc2xvY29Db25maWcsIF9wYXJhbXM6IEhhc2hNYXApID0+IGtleVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNsb2NvTW9ja1N0cmF0ZWd5IGltcGxlbWVudHMgVHJhbnNsb2NvRmFsbGJhY2tTdHJhdGVneSB7XG4gIGdldE5leHRMYW5ncyA9IChfZmFpbGVkTGFuZzogc3RyaW5nKTogYW55ID0+ICcnXG59XG5cbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29Nb2NrSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBUcmFuc2xvY29JbnRlcmNlcHRvciB7XG4gIHByZVNhdmVUcmFuc2xhdGlvbih0cmFuc2xhdGlvbjogVHJhbnNsYXRpb24sIF9sYW5nOiBzdHJpbmcpOiBUcmFuc2xhdGlvbiB7XG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uXG4gIH1cblxuICBwcmVTYXZlVHJhbnNsYXRpb25LZXkoX2tleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBfbGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbVHJhbnNsb2NvTW9ja1BpcGVdLFxuICBleHBvcnRzOiBbVHJhbnNsb2NvTW9ja1BpcGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fVFJBTlNQSUxFUixcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrVHJhbnNwaWxlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19JTlRFUkNFUFRPUixcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrSW50ZXJjZXB0b3IsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fRkFMTEJBQ0tfU1RSQVRFR1ksXG4gICAgICB1c2VDbGFzczogVHJhbnNsb2NvTW9ja1N0cmF0ZWd5LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX01JU1NJTkdfSEFORExFUixcbiAgICAgIHVzZUNsYXNzOiBUcmFuc2xvY29Nb2NrTWlzc2luZ0hhbmRsZXIsXG4gICAgICBkZXBzOiBbVFJBTlNMT0NPX1RSQU5TUElMRVJdLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndkkxOG5UZXN0TW9kdWxlIHt9XG4iXX0=
@@ -1,13 +1,13 @@
1
1
  import { ChangeDetectorRef, Component, EventEmitter, HostBinding, Inject, Input, Optional, Output, Self, } from '@angular/core';
2
2
  import { NgControl, UntypedFormControl } from '@angular/forms';
3
- import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
3
+ import { TRANSLOCO_SCOPE } from '@jsverse/transloco';
4
4
  import { Subject } from 'rxjs';
5
5
  import { debounceTime, takeUntil } from 'rxjs/operators';
6
6
  import { NgvBaseControlValueAccessorComponent } from '@sebgroup/green-angular/src/v-angular/base-control-value-accessor';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/forms";
9
9
  import * as i2 from "@angular/common";
10
- import * as i3 from "@ngneat/transloco";
10
+ import * as i3 from "@jsverse/transloco";
11
11
  import * as i4 from "@sebgroup/green-angular/src/v-angular/input-mask";
12
12
  import * as i5 from "@sebgroup/green-angular/src/v-angular/character-countdown";
13
13
  /**
@@ -160,7 +160,7 @@ export class NgvInputComponent extends NgvBaseControlValueAccessorComponent {
160
160
  this.inputChange$.next(this.state);
161
161
  }
162
162
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: TRANSLOCO_SCOPE, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
163
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvInputComponent, selector: "nggv-input", inputs: { thook: "thook", type: "type", placeholder: "placeholder", autocomplete: "autocomplete", readonly: "readonly", email: "email", min: "min", max: "max", step: "step", minLength: "minLength", minlength: "minlength", maxLength: "maxLength", maxlength: "maxlength", showCharacterCountdown: "showCharacterCountdown", pattern: "pattern", debounceTime: "debounceTime", badgeText: "badgeText", inputMask: "inputMask" }, outputs: { nggvInput: "nggvInput" }, host: { properties: { "class": "this.class", "attr.data-thook": "this.thook" } }, usesInheritance: true, ngImport: i0, template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-input'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-input'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n <ng-container *ngIf=\"!inputMask\">\n {{ state }}\n </ng-container>\n <ng-container *ngIf=\"!!inputMask\">\n {{ state | nggvInputMaskFormat: inputMask }}\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT WRAPPER -->\n<ng-container *ngIf=\"!locked\">\n <div class=\"gds-input-wrapper\" [class.nggv-field--error]=\"invalid\">\n <div class=\"input-group-prefix hide-if-empty\">\n <ng-content select=\"[slot='prefix']\"></ng-content>\n </div>\n\n <!-- INPUT FIELD -->\n <div class=\"input-group\" *ngIf=\"!inputMask\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [attr.aria-describedby]=\"id + '-message'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n\n <!-- INPUT FIELD WITH MASK -->\n <div\n class=\"input-group\"\n *ngIf=\"!!inputMask && (hideInput$ | async) === false\"\n >\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n autocomplete=\"off\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [attr.aria-describedby]=\"id + '-message'\"\n [nggvInputMask]=\"inputMask\"\n [formControl]=\"control\"\n />\n </div>\n\n <div class=\"input-group-suffix hide-if-empty\">\n <ng-content select=\"[slot='suffix']\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.id]=\"id + '-message'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"!inputMask && hasMaxLength && showCharacterCountdown\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host.gds-form-item{display:flex;flex-direction:column;max-width:100%;position:relative;width:100%;z-index:0}:host.gds-form-item:not(:last-child){margin-bottom:1.5rem}:host.gds-form-item .gds-form-item__header{display:flex}:host.gds-form-item .gds-form-item__header .form-info{font-weight:400}:host.gds-form-item .gds-form-item__header button.icon.small{margin-top:-.5rem;margin-right:-.5rem}:host.gds-form-item .gds-form-item__labels{flex:1;margin-bottom:.5rem}:host.gds-form-item .gds-form-item__labels .form-info{margin-bottom:0}:host.gds-form-item .gds-form-item__labels .form-info a:link:not(.button,[aria-disabled]){color:#0062bc}:host.gds-form-item .gds-form-item__labels>*{width:100%;display:block}:host.gds-form-item .gds-form-item__expandable-info{overflow:hidden;font-size:.875rem;line-height:1.25rem;transition:height .3s cubic-bezier(.23,1,.32,1)}:host.gds-form-item .gds-form-item__expandable-info>div{padding-bottom:.5rem}:host.gds-form-item .gds-form-item__backdrop{position:absolute;inset:0;background:var(--gds-ref-pallet-base100);border-radius:2px;z-index:-1;margin:-1rem;opacity:0;transition:all .3s cubic-bezier(.23,1,.32,1);border:1px solid transparent}@media (prefers-reduced-motion: reduce){:host.gds-form-item .gds-form-item__backdrop{transition:none}}:host.gds-form-item:has([aria-expanded=true]) .gds-form-item__backdrop{opacity:1;border-radius:.25rem;border-color:var(--gds-ref-pallet-base600)}:host.gds-form-item .gds-form-item__footer:not(:empty){margin-top:.5rem;display:flex;column-gap:1rem}:host.gds-form-item .gds-form-item__footer:not(:empty)>span{font-weight:500}:host .hide-if-empty:empty{display:none}:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);background-color:var(--sg-form-control-bg);color:var(--sg-text-primary);min-height:2.75rem;display:flex;align-items:center;justify-content:center}:host input:not([type]):focus:not(:focus-visible),:host input[type=date]:focus:not(:focus-visible),:host input[type=datetime]:focus:not(:focus-visible),:host input[type=datetime-local]:focus:not(:focus-visible),:host input[type=email]:focus:not(:focus-visible),:host input[type=month]:focus:not(:focus-visible),:host input[type=number]:focus:not(:focus-visible),:host input[type=password]:focus:not(:focus-visible),:host input[type=search]:focus:not(:focus-visible),:host input[type=tel]:focus:not(:focus-visible),:host input[type=text]:focus:not(:focus-visible),:host input[type=time]:focus:not(:focus-visible),:host input[type=url]:focus:not(:focus-visible),:host input[type=week]:focus:not(:focus-visible){box-shadow:none;outline:0}:host input:not([type]):focus,:host input:not([type]):focus-visible,:host input[type=date]:focus,:host input[type=date]:focus-visible,:host input[type=datetime]:focus,:host input[type=datetime]:focus-visible,:host input[type=datetime-local]:focus,:host input[type=datetime-local]:focus-visible,:host input[type=email]:focus,:host input[type=email]:focus-visible,:host input[type=month]:focus,:host input[type=month]:focus-visible,:host input[type=number]:focus,:host input[type=number]:focus-visible,:host input[type=password]:focus,:host input[type=password]:focus-visible,:host input[type=search]:focus,:host input[type=search]:focus-visible,:host input[type=tel]:focus,:host input[type=tel]:focus-visible,:host input[type=text]:focus,:host input[type=text]:focus-visible,:host input[type=time]:focus,:host input[type=time]:focus-visible,:host input[type=url]:focus,:host input[type=url]:focus-visible,:host input[type=week]:focus,:host input[type=week]:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host input:not([type]).small,:host input[type=date].small,:host input[type=datetime].small,:host input[type=datetime-local].small,:host input[type=email].small,:host input[type=month].small,:host input[type=number].small,:host input[type=password].small,:host input[type=search].small,:host input[type=tel].small,:host input[type=text].small,:host input[type=time].small,:host input[type=url].small,:host input[type=week].small{min-height:2rem;padding:.25rem .75rem;line-height:1rem}@media screen and (-ms-high-contrast: active){:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{border:2px solid currentcolor}}:host input:not([type]):disabled,:host input:not([type]).disabled,:host input:not([type])[aria-disabled=true],:host input[type=date]:disabled,:host input[type=date].disabled,:host input[type=date][aria-disabled=true],:host input[type=datetime]:disabled,:host input[type=datetime].disabled,:host input[type=datetime][aria-disabled=true],:host input[type=datetime-local]:disabled,:host input[type=datetime-local].disabled,:host input[type=datetime-local][aria-disabled=true],:host input[type=email]:disabled,:host input[type=email].disabled,:host input[type=email][aria-disabled=true],:host input[type=month]:disabled,:host input[type=month].disabled,:host input[type=month][aria-disabled=true],:host input[type=number]:disabled,:host input[type=number].disabled,:host input[type=number][aria-disabled=true],:host input[type=password]:disabled,:host input[type=password].disabled,:host input[type=password][aria-disabled=true],:host input[type=search]:disabled,:host input[type=search].disabled,:host input[type=search][aria-disabled=true],:host input[type=tel]:disabled,:host input[type=tel].disabled,:host input[type=tel][aria-disabled=true],:host input[type=text]:disabled,:host input[type=text].disabled,:host input[type=text][aria-disabled=true],:host input[type=time]:disabled,:host input[type=time].disabled,:host input[type=time][aria-disabled=true],:host input[type=url]:disabled,:host input[type=url].disabled,:host input[type=url][aria-disabled=true],:host input[type=week]:disabled,:host input[type=week].disabled,:host input[type=week][aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host input:not([type]):disabled::placeholder,:host input:not([type]).disabled::placeholder,:host input:not([type])[aria-disabled=true]::placeholder,:host input[type=date]:disabled::placeholder,:host input[type=date].disabled::placeholder,:host input[type=date][aria-disabled=true]::placeholder,:host input[type=datetime]:disabled::placeholder,:host input[type=datetime].disabled::placeholder,:host input[type=datetime][aria-disabled=true]::placeholder,:host input[type=datetime-local]:disabled::placeholder,:host input[type=datetime-local].disabled::placeholder,:host input[type=datetime-local][aria-disabled=true]::placeholder,:host input[type=email]:disabled::placeholder,:host input[type=email].disabled::placeholder,:host input[type=email][aria-disabled=true]::placeholder,:host input[type=month]:disabled::placeholder,:host input[type=month].disabled::placeholder,:host input[type=month][aria-disabled=true]::placeholder,:host input[type=number]:disabled::placeholder,:host input[type=number].disabled::placeholder,:host input[type=number][aria-disabled=true]::placeholder,:host input[type=password]:disabled::placeholder,:host input[type=password].disabled::placeholder,:host input[type=password][aria-disabled=true]::placeholder,:host input[type=search]:disabled::placeholder,:host input[type=search].disabled::placeholder,:host input[type=search][aria-disabled=true]::placeholder,:host input[type=tel]:disabled::placeholder,:host input[type=tel].disabled::placeholder,:host input[type=tel][aria-disabled=true]::placeholder,:host input[type=text]:disabled::placeholder,:host input[type=text].disabled::placeholder,:host input[type=text][aria-disabled=true]::placeholder,:host input[type=time]:disabled::placeholder,:host input[type=time].disabled::placeholder,:host input[type=time][aria-disabled=true]::placeholder,:host input[type=url]:disabled::placeholder,:host input[type=url].disabled::placeholder,:host input[type=url][aria-disabled=true]::placeholder,:host input[type=week]:disabled::placeholder,:host input[type=week].disabled::placeholder,:host input[type=week][aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host input:not([type]):hover,:host input[type=date]:hover,:host input[type=datetime]:hover,:host input[type=datetime-local]:hover,:host input[type=email]:hover,:host input[type=month]:hover,:host input[type=number]:hover,:host input[type=password]:hover,:host input[type=search]:hover,:host input[type=tel]:hover,:host input[type=text]:hover,:host input[type=time]:hover,:host input[type=url]:hover,:host input[type=week]:hover{background-color:var(--gds-ref-pallet-base100)}:host input[type=number]{-moz-appearance:textfield}:host input[type=number]::-webkit-outer-spin-button,:host input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host input{width:100%}:host .gds-input-wrapper{display:flex;flex-direction:column;position:relative;transition:all .2s ease-in-out,outline-offset 0s,outline-width 0s}:host .gds-input-wrapper:before{background:transparent;border-radius:0 0 4px 4px;clip-path:inset(4px 0 0 0);content:\"\";display:block;height:4px;position:absolute;transition:.3s ease-in-out;width:100%}:host .gds-input-wrapper:before{bottom:0}.is-invalid :host .gds-input-wrapper{color:var(--intent-danger-background);opacity:1}.is-invalid :host .gds-input-wrapper:before{background:var(--intent-danger-background);clip-path:inset(1px 0 0 0)}:host label:is(label),:host .label:is(label),:host legend:is(label){margin-bottom:0}:host label.form-control,:host .label.form-control,:host legend.form-control{width:-moz-fit-content;width:fit-content}@supports (-moz-appearance: none){:host label.form-control:focus:not(:focus-visible),:host .label.form-control:focus:not(:focus-visible),:host legend.form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label.form-control:focus,:host label.form-control:focus-within,:host .label.form-control:focus,:host .label.form-control:focus-within,:host legend.form-control:focus,:host legend.form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.form-control),:host .label:not(.form-control),:host legend:not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label+input,:host label+textarea,fieldset :host label+div,:host label+button,:host label+.group-stepper,:host label+.stepper-wrapper,:host label+.group,:host .label+input,:host .label+textarea,fieldset :host .label+div,:host .label+button,:host .label+.group-stepper,:host .label+.stepper-wrapper,:host .label+.group,:host legend+input,:host legend+textarea,fieldset :host legend+div,:host legend+button,:host legend+.group-stepper,:host legend+.stepper-wrapper,:host legend+.group{margin-top:.5rem}:host label+.form-info,:host .label+.form-info,:host legend+.form-info{margin-bottom:.5rem}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{color:var(--intent-danger-background, #9f000a)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.NgvInputMaskDirective, selector: "[nggvInputMask]", inputs: ["nggvInputMask"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.CharacterCountdownDirective, selector: "[nggvCharacterCountdown]", inputs: ["nggvCharacterCountdown", "nggvCharacterCountdownCurrentLength"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.InputMaskFormatPipe, name: "nggvInputMaskFormat" }] }); }
163
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvInputComponent, selector: "nggv-input", inputs: { thook: "thook", type: "type", placeholder: "placeholder", autocomplete: "autocomplete", readonly: "readonly", email: "email", min: "min", max: "max", step: "step", minLength: "minLength", minlength: "minlength", maxLength: "maxLength", maxlength: "maxlength", showCharacterCountdown: "showCharacterCountdown", pattern: "pattern", debounceTime: "debounceTime", badgeText: "badgeText", inputMask: "inputMask" }, outputs: { nggvInput: "nggvInput" }, host: { properties: { "class": "this.class", "attr.data-thook": "this.thook" } }, usesInheritance: true, ngImport: i0, template: "<!-- LABEL -->\n<label\n [id]=\"id + '-label'\"\n class=\"sdv-field-label hide-if-empty\"\n [attr.for]=\"id + '-input'\"\n *transloco=\"let t; read: scope\"\n>\n <ng-template\n *ngTemplateOutlet=\"labelContentTpl || basicLabelContentTpl\"\n ></ng-template>\n <ng-template #basicLabelContentTpl>\n <!-- to trigger css:empty if no label was added -->\n <ng-container *ngIf=\"label\">\n {{ label }}\n <span\n *ngIf=\"optional === true || (required !== true && optional !== false)\"\n class=\"sdv-field-label--optional\"\n >\n ({{ t('label.optional') }})\n </span>\n </ng-container>\n </ng-template>\n</label>\n\n<!-- DESCRIPTION -->\n<div class=\"form-info description hide-if-empty\">\n {{ description }}\n</div>\n\n<!-- LOCKED INPUT -->\n<ng-container *ngIf=\"locked\">\n <div\n [id]=\"id + '-input'\"\n class=\"nggv-field--locked\"\n [attr.name]=\"name\"\n [attr.value]=\"state\"\n [attr.role]=\"role\"\n >\n <span *ngIf=\"!state\" class=\"unset-state\">-</span>\n <ng-container *ngIf=\"state\">\n <ng-container *ngIf=\"!inputMask\">\n {{ state }}\n </ng-container>\n <ng-container *ngIf=\"!!inputMask\">\n {{ state | nggvInputMaskFormat: inputMask }}\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<!-- INPUT WRAPPER -->\n<ng-container *ngIf=\"!locked\">\n <div class=\"gds-input-wrapper\" [class.nggv-field--error]=\"invalid\">\n <div class=\"input-group-prefix hide-if-empty\">\n <ng-content select=\"[slot='prefix']\"></ng-content>\n </div>\n\n <!-- INPUT FIELD -->\n <div class=\"input-group\" *ngIf=\"!inputMask\">\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n [attr.type]=\"type\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [attr.email]=\"email\"\n [attr.aria-describedby]=\"id + '-message'\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [attr.maxlength]=\"maxlength\"\n [attr.minlength]=\"minlength\"\n [pattern]=\"pattern\"\n [disabled]=\"disabled\"\n [autocomplete]=\"autocomplete\"\n [autofocus]=\"autofocus\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [value]=\"state\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n />\n </div>\n\n <!-- INPUT FIELD WITH MASK -->\n <div\n class=\"input-group\"\n *ngIf=\"!!inputMask && (hideInput$ | async) === false\"\n >\n <input\n #input\n [id]=\"id + '-input'\"\n class=\"sdv-field\"\n autocomplete=\"off\"\n [attr.name]=\"name\"\n [attr.required]=\"required\"\n [readOnly]=\"readonly\"\n [attr.role]=\"role\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"description\"\n [attr.aria-describedby]=\"id + '-message'\"\n [nggvInputMask]=\"inputMask\"\n [formControl]=\"control\"\n />\n </div>\n\n <div class=\"input-group-suffix hide-if-empty\">\n <ng-content select=\"[slot='suffix']\"></ng-content>\n <ng-content></ng-content>\n </div>\n </div>\n\n <!-- ERRORS -->\n <div\n class=\"gds-form-item__footer error-wrapper\"\n *transloco=\"let t; read: scope\"\n >\n <span\n class=\"form-info form-info--error\"\n [attr.id]=\"id + '-message'\"\n *ngIf=\"invalid && (error || ngControl?.invalid)\"\n >\n <span *ngIf=\"error; else errorsRef\">{{ error }}</span>\n <ng-template #errorsRef>\n <span *ngIf=\"firstError as error\">\n {{ t('error.field' + error?.code, error?.params) }}\n </span>\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"!inputMask && hasMaxLength && showCharacterCountdown\">\n <span\n *nggvCharacterCountdown=\"\n maxlength;\n currentLength: (inputRef?.nativeElement?.value ?? '').length;\n charactersLeft as charactersLeft\n \"\n class=\"form-info\"\n style=\"text-align: right\"\n >\n {{ charactersLeft }} {{ t('label.maxlength') }}\n </span>\n </ng-container>\n </div>\n</ng-container>\n", styles: [":host.gds-form-item{display:flex;flex-direction:column;max-width:100%;position:relative;width:100%;z-index:0}:host.gds-form-item:not(:last-child){margin-bottom:1.5rem}:host.gds-form-item .gds-form-item__header{display:flex}:host.gds-form-item .gds-form-item__header .form-info{font-weight:400}:host.gds-form-item .gds-form-item__header button.icon.small{margin-top:-.5rem;margin-right:-.5rem}:host.gds-form-item .gds-form-item__labels{flex:1;margin-bottom:.5rem}:host.gds-form-item .gds-form-item__labels .form-info{margin-bottom:0}:host.gds-form-item .gds-form-item__labels .form-info a:link:not(.button,[aria-disabled]){color:#0062bc}:host.gds-form-item .gds-form-item__labels>*{width:100%;display:block}:host.gds-form-item .gds-form-item__expandable-info{overflow:hidden;font-size:.875rem;line-height:1.25rem;transition:height .3s cubic-bezier(.23,1,.32,1)}:host.gds-form-item .gds-form-item__expandable-info>div{padding-bottom:.5rem}:host.gds-form-item .gds-form-item__backdrop{position:absolute;inset:0;background:var(--gds-ref-pallet-base100);border-radius:2px;z-index:-1;margin:-1rem;opacity:0;transition:all .3s cubic-bezier(.23,1,.32,1);border:1px solid transparent}@media (prefers-reduced-motion: reduce){:host.gds-form-item .gds-form-item__backdrop{transition:none}}:host.gds-form-item:has([aria-expanded=true]) .gds-form-item__backdrop{opacity:1;border-radius:.25rem;border-color:var(--gds-ref-pallet-base600)}:host.gds-form-item .gds-form-item__footer:not(:empty){margin-top:.5rem;display:flex;column-gap:1rem}:host.gds-form-item .gds-form-item__footer:not(:empty)>span{font-weight:500}:host .hide-if-empty:empty{display:none}:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);background-color:var(--sg-form-control-bg);color:var(--sg-text-primary);min-height:2.75rem;display:flex;align-items:center;justify-content:center}:host input:not([type]):focus:not(:focus-visible),:host input[type=date]:focus:not(:focus-visible),:host input[type=datetime]:focus:not(:focus-visible),:host input[type=datetime-local]:focus:not(:focus-visible),:host input[type=email]:focus:not(:focus-visible),:host input[type=month]:focus:not(:focus-visible),:host input[type=number]:focus:not(:focus-visible),:host input[type=password]:focus:not(:focus-visible),:host input[type=search]:focus:not(:focus-visible),:host input[type=tel]:focus:not(:focus-visible),:host input[type=text]:focus:not(:focus-visible),:host input[type=time]:focus:not(:focus-visible),:host input[type=url]:focus:not(:focus-visible),:host input[type=week]:focus:not(:focus-visible){box-shadow:none;outline:0}:host input:not([type]):focus,:host input:not([type]):focus-visible,:host input[type=date]:focus,:host input[type=date]:focus-visible,:host input[type=datetime]:focus,:host input[type=datetime]:focus-visible,:host input[type=datetime-local]:focus,:host input[type=datetime-local]:focus-visible,:host input[type=email]:focus,:host input[type=email]:focus-visible,:host input[type=month]:focus,:host input[type=month]:focus-visible,:host input[type=number]:focus,:host input[type=number]:focus-visible,:host input[type=password]:focus,:host input[type=password]:focus-visible,:host input[type=search]:focus,:host input[type=search]:focus-visible,:host input[type=tel]:focus,:host input[type=tel]:focus-visible,:host input[type=text]:focus,:host input[type=text]:focus-visible,:host input[type=time]:focus,:host input[type=time]:focus-visible,:host input[type=url]:focus,:host input[type=url]:focus-visible,:host input[type=week]:focus,:host input[type=week]:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host input:not([type]).small,:host input[type=date].small,:host input[type=datetime].small,:host input[type=datetime-local].small,:host input[type=email].small,:host input[type=month].small,:host input[type=number].small,:host input[type=password].small,:host input[type=search].small,:host input[type=tel].small,:host input[type=text].small,:host input[type=time].small,:host input[type=url].small,:host input[type=week].small{min-height:2rem;padding:.25rem .75rem;line-height:1rem}@media screen and (-ms-high-contrast: active){:host input:not([type]),:host input[type=date],:host input[type=datetime],:host input[type=datetime-local],:host input[type=email],:host input[type=month],:host input[type=number],:host input[type=password],:host input[type=search],:host input[type=tel],:host input[type=text],:host input[type=time],:host input[type=url],:host input[type=week]{border:2px solid currentcolor}}:host input:not([type]):disabled,:host input:not([type]).disabled,:host input:not([type])[aria-disabled=true],:host input[type=date]:disabled,:host input[type=date].disabled,:host input[type=date][aria-disabled=true],:host input[type=datetime]:disabled,:host input[type=datetime].disabled,:host input[type=datetime][aria-disabled=true],:host input[type=datetime-local]:disabled,:host input[type=datetime-local].disabled,:host input[type=datetime-local][aria-disabled=true],:host input[type=email]:disabled,:host input[type=email].disabled,:host input[type=email][aria-disabled=true],:host input[type=month]:disabled,:host input[type=month].disabled,:host input[type=month][aria-disabled=true],:host input[type=number]:disabled,:host input[type=number].disabled,:host input[type=number][aria-disabled=true],:host input[type=password]:disabled,:host input[type=password].disabled,:host input[type=password][aria-disabled=true],:host input[type=search]:disabled,:host input[type=search].disabled,:host input[type=search][aria-disabled=true],:host input[type=tel]:disabled,:host input[type=tel].disabled,:host input[type=tel][aria-disabled=true],:host input[type=text]:disabled,:host input[type=text].disabled,:host input[type=text][aria-disabled=true],:host input[type=time]:disabled,:host input[type=time].disabled,:host input[type=time][aria-disabled=true],:host input[type=url]:disabled,:host input[type=url].disabled,:host input[type=url][aria-disabled=true],:host input[type=week]:disabled,:host input[type=week].disabled,:host input[type=week][aria-disabled=true]{background:var(--sg-form-control-bg-disabled)!important;color:var(--text-disabled-color)!important;border-color:var(--border-disabled-color)!important;cursor:not-allowed}:host input:not([type]):disabled::placeholder,:host input:not([type]).disabled::placeholder,:host input:not([type])[aria-disabled=true]::placeholder,:host input[type=date]:disabled::placeholder,:host input[type=date].disabled::placeholder,:host input[type=date][aria-disabled=true]::placeholder,:host input[type=datetime]:disabled::placeholder,:host input[type=datetime].disabled::placeholder,:host input[type=datetime][aria-disabled=true]::placeholder,:host input[type=datetime-local]:disabled::placeholder,:host input[type=datetime-local].disabled::placeholder,:host input[type=datetime-local][aria-disabled=true]::placeholder,:host input[type=email]:disabled::placeholder,:host input[type=email].disabled::placeholder,:host input[type=email][aria-disabled=true]::placeholder,:host input[type=month]:disabled::placeholder,:host input[type=month].disabled::placeholder,:host input[type=month][aria-disabled=true]::placeholder,:host input[type=number]:disabled::placeholder,:host input[type=number].disabled::placeholder,:host input[type=number][aria-disabled=true]::placeholder,:host input[type=password]:disabled::placeholder,:host input[type=password].disabled::placeholder,:host input[type=password][aria-disabled=true]::placeholder,:host input[type=search]:disabled::placeholder,:host input[type=search].disabled::placeholder,:host input[type=search][aria-disabled=true]::placeholder,:host input[type=tel]:disabled::placeholder,:host input[type=tel].disabled::placeholder,:host input[type=tel][aria-disabled=true]::placeholder,:host input[type=text]:disabled::placeholder,:host input[type=text].disabled::placeholder,:host input[type=text][aria-disabled=true]::placeholder,:host input[type=time]:disabled::placeholder,:host input[type=time].disabled::placeholder,:host input[type=time][aria-disabled=true]::placeholder,:host input[type=url]:disabled::placeholder,:host input[type=url].disabled::placeholder,:host input[type=url][aria-disabled=true]::placeholder,:host input[type=week]:disabled::placeholder,:host input[type=week].disabled::placeholder,:host input[type=week][aria-disabled=true]::placeholder{color:var(--text-disabled-color)}:host input:not([type]):hover,:host input[type=date]:hover,:host input[type=datetime]:hover,:host input[type=datetime-local]:hover,:host input[type=email]:hover,:host input[type=month]:hover,:host input[type=number]:hover,:host input[type=password]:hover,:host input[type=search]:hover,:host input[type=tel]:hover,:host input[type=text]:hover,:host input[type=time]:hover,:host input[type=url]:hover,:host input[type=week]:hover{background-color:var(--gds-ref-pallet-base100)}:host input[type=number]{-moz-appearance:textfield}:host input[type=number]::-webkit-outer-spin-button,:host input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}:host input{width:100%}:host .gds-input-wrapper{display:flex;flex-direction:column;position:relative;transition:all .2s ease-in-out,outline-offset 0s,outline-width 0s}:host .gds-input-wrapper:before{background:transparent;border-radius:0 0 4px 4px;clip-path:inset(4px 0 0 0);content:\"\";display:block;height:4px;position:absolute;transition:.3s ease-in-out;width:100%}:host .gds-input-wrapper:before{bottom:0}.is-invalid :host .gds-input-wrapper{color:var(--intent-danger-background);opacity:1}.is-invalid :host .gds-input-wrapper:before{background:var(--intent-danger-background);clip-path:inset(1px 0 0 0)}:host label:is(label),:host .label:is(label),:host legend:is(label){margin-bottom:0}:host label.form-control,:host .label.form-control,:host legend.form-control{width:-moz-fit-content;width:fit-content}@supports (-moz-appearance: none){:host label.form-control:focus:not(:focus-visible),:host .label.form-control:focus:not(:focus-visible),:host legend.form-control:focus:not(:focus-visible){box-shadow:none;outline:0}:host label.form-control:focus,:host label.form-control:focus-within,:host .label.form-control:focus,:host .label.form-control:focus-within,:host legend.form-control:focus,:host legend.form-control:focus-within{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}}:host label:not(.form-control),:host .label:not(.form-control),:host legend:not(.form-control){font-weight:500;width:100%;line-height:1.25rem}:host label+input,:host label+textarea,fieldset :host label+div,:host label+button,:host label+.group-stepper,:host label+.stepper-wrapper,:host label+.group,:host .label+input,:host .label+textarea,fieldset :host .label+div,:host .label+button,:host .label+.group-stepper,:host .label+.stepper-wrapper,:host .label+.group,:host legend+input,:host legend+textarea,fieldset :host legend+div,:host legend+button,:host legend+.group-stepper,:host legend+.stepper-wrapper,:host legend+.group{margin-top:.5rem}:host label+.form-info,:host .label+.form-info,:host legend+.form-info{margin-bottom:.5rem}:host .form-info{font-size:.875rem;line-height:1.25rem;width:100%}:host .gds-form-item__footer .form-info{font-weight:500}:host .gds-form-item__footer .form-info--error{color:var(--intent-danger-background, #9f000a)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.NgvInputMaskDirective, selector: "[nggvInputMask]", inputs: ["nggvInputMask"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.CharacterCountdownDirective, selector: "[nggvCharacterCountdown]", inputs: ["nggvCharacterCountdown", "nggvCharacterCountdownCurrentLength"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.InputMaskFormatPipe, name: "nggvInputMaskFormat" }] }); }
164
164
  }
165
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvInputComponent, decorators: [{
166
166
  type: Component,
@@ -219,4 +219,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
219
219
  }], nggvInput: [{
220
220
  type: Output
221
221
  }] } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG1CQUFtQixDQUFBO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUl4RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTs7Ozs7OztBQUV4SDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8saUJBQ1gsU0FBUSxvQ0FBb0M7SUF1QjVDLHNEQUFzRDtJQUN0RCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNELHNEQUFzRDtJQUN0RCxJQUFh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QUFRO3NCQUFoQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFTyxTQUFTO3NCQUFyQixLQUFLO2dCQU9PLFNBQVM7c0JBQXJCLEtBQUs7Z0JBT08sU0FBUztzQkFBckIsS0FBSztnQkFXTyxTQUFTO3NCQUFyQixLQUFLO2dCQVVPLHNCQUFzQjtzQkFBbEMsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBaUJJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5cbmltcG9ydCB0eXBlIHsgSW5wdXRtYXNrT3B0aW9ucyB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQtbWFzaydcblxuaW1wb3J0IHsgTmd2QmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50IH0gZnJvbSAnQHNlYmdyb3VwL2dyZWVuLWFuZ3VsYXIvc3JjL3YtYW5ndWxhci9iYXNlLWNvbnRyb2wtdmFsdWUtYWNjZXNzb3InXG5cbi8qKlxuICogSW5wdXQgZmllbGRzIGFsbG93IHVzZXJzIHRvIGFkZCBhbmQgZWRpdCB0ZXh0LlxuICogaHR0cHM6Ly9kZXNpZ25saWJyYXJ5LnNlYmdyb3VwLmNvbS9jb21wb25lbnRzL2NvbXBvbmVudC1pbnB1dFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2d2LWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd2SW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBOZ3ZCYXNlQ29udHJvbFZhbHVlQWNjZXNzb3JDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICAvKiogQWRkaW5nIC5nZHMtZm9ybS1pdGVtIGFzIGEgY2xhc3MgdG8gaG9zdCBlbGVtZW50ICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICdnZHMtZm9ybS1pdGVtJ1xuICAvKiogU3BlY2lhbCBwcm9wZXJ0eSB1c2VkIGZvciBzZWxlY3RpbmcgRE9NIGVsZW1lbnRzIGR1cmluZyBhdXRvbWF0ZWQgVUkgdGVzdGluZy4gKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGhvb2snKSBASW5wdXQoKSB0aG9vayA9ICdpbnB1dCdcbiAgLyoqIFR5cGUgb2YgaW5wdXQgZmllbGQuIFNob3VsZCBhdm9pZCB0eXBlcyB0aGF0IG1vZGlmeSBmaWVsZCB0b28gbXVjaCBzdWNoIGFzIHJhbmdlLiAqL1xuICBASW5wdXQoKSB0eXBlID0gJ3RleHQnXG4gIC8qKiBUZXh0IHNob3duIGJlZm9yZSBpbnB1dCBoYXMgYSB3cml0dGVuIHZhbHVlLiAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAvKiogSWYgc2V0IHRvIFwib25cIiwgaGludCBmb3IgZm9ybSBhdXRvZmlsbCBmZWF0dXJlLiAqL1xuICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSAnb24nXG4gIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgdGhlIHZhbHVlIHdpbGwgbm90IGJlIGVkaXRhYmxlLiAqL1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlXG4gIC8qKiBJZiBzZXQgdG8gdHJ1ZSwgZW5hYmxlcyB0aGUgQW5ndWxhciB0ZW1wbGF0ZS1kcml2ZW4gZW1haWwgdmFsaWRhdG9yLiAqL1xuICBASW5wdXQoKSBlbWFpbCA9IGZhbHNlXG4gIC8qKiBNaW5pbXVtIHZhbHVlIHJlcXVpcmVkIGZvciBudW1lcmljIGlucHV0IHR5cGVzLiAqL1xuICBASW5wdXQoKSBtaW4gPSAwXG4gIC8qKiBNYXhpbXVtIHZhbHVlIHJlcXVpcmVkIGZvciBudW1lcmljIGlucHV0IHR5cGVzLiAqL1xuICBASW5wdXQoKSBtYXggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAvKiogSW5jcmVtZW50YWwgdmFsdWVzIHRoYXQgYXJlIHZhbGlkIGZvciBudW1lcmljIGlucHV0IHR5cGVzLiAqL1xuICBASW5wdXQoKSBzdGVwID0gMVxuICAvKiogTWluaW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgc2V0IG1pbkxlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21pbmxlbmd0aCA9IGxlbmd0aFxuICB9XG4gIC8qKlxuICAgKiBNaW5pbXVtIGxlbmd0aCAobnVtYmVyIG9mIGNoYXJhY3RlcnMpIG9mIHZhbHVlLlxuICAgKiBAZGVwcmVjYXRlZCBtaW5sZW5ndGggdHJpZ2dlcnMgYW5ndWxhci10ZW1wbGF0ZS12YWxpZGF0aW9uLiBVc2UgQElucHV0KCkgbWluTGVuZ3RoIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKSBzZXQgbWlubGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWlubGVuZ3RoID0gbGVuZ3RoXG4gIH1cbiAgZ2V0IG1pbmxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW5sZW5ndGhcbiAgfVxuICAvKiogTWF4aW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgc2V0IG1heExlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21heGxlbmd0aCA9IGxlbmd0aFxuICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLnN0YXRlKVxuICB9XG4gIGdldCBtYXhsZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4bGVuZ3RoXG4gIH1cbiAgLyoqXG4gICAqIE1heGltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuXG4gICAqIEBkZXByZWNhdGVkIG1heGxlbmd0aCB0cmlnZ2VycyBhbmd1bGFyLXRlbXBsYXRlLXZhbGlkYXRpb24uIFVzZSBASW5wdXQoKSBtYXhMZW5ndGggaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHNldCBtYXhsZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXhsZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zdGF0ZSlcbiAgfVxuICBwcml2YXRlIF9tYXhsZW5ndGggPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gIHByaXZhdGUgX21pbmxlbmd0aCA9IDBcblxuICAvKiogV2V0aGVyIHRvIHNob3cgbGFiZWwgdGhhdCB0ZWxscyBob3cgbWFueSBjaGFyYWN0ZXJzIGFyZSBzdGlsbCBsZWZ0IHRvIGJlIGVudGVyZWQuIFdpbGwgb25seSBiZSBzZXQgaWYgbWF4TGVuZ3RoIGlzIGFsc28gc2V0ICovXG4gIHByaXZhdGUgX3Nob3dDaGFyYWN0ZXJDb3VudERvd24gPSB0cnVlXG4gIEBJbnB1dCgpIHNldCBzaG93Q2hhcmFjdGVyQ291bnRkb3duKG9wdGlvbjogYm9vbGVhbikge1xuICAgIHRoaXMuX3Nob3dDaGFyYWN0ZXJDb3VudERvd24gPSBvcHRpb25cbiAgfVxuICBnZXQgc2hvd0NoYXJhY3RlckNvdW50ZG93bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2hvd0NoYXJhY3RlckNvdW50RG93biAmJiB0aGlzLmhhc01heExlbmd0aFxuICB9XG5cbiAgLyoqIFBhdHRlcm4gdGhlIHZhbHVlIG11c3QgbWF0Y2ggdG8gYmUgdmFsaWQuICovXG4gIEBJbnB1dCgpIHBhdHRlcm4gPSAnJ1xuICAvKiogQW1vdW50IG9mIHRpbWUgdG8gd2FpdCB1bnRpbCBlbWl0dGluZyAobmdndklOcHV0KSBldmVudCAqL1xuICBASW5wdXQoKSBkZWJvdW5jZVRpbWUgPSA1MDBcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIFRleHQgdG8gcHV0IGluIGJhZGdlXG4gICAqL1xuICBASW5wdXQoKSBiYWRnZVRleHQgPSAnJ1xuXG4gIC8qKiBTZXR0aW5ncyBmb3IgaW5wdXQgbWFzayBpZiByZXF1ZXN0ZWQgKi9cbiAgcHJpdmF0ZSBfaW5wdXRNYXNrITogSW5wdXRtYXNrT3B0aW9uczxhbnk+XG4gIEBJbnB1dCgpIHNldCBpbnB1dE1hc2sobmV3SW5wdXRNYXNrOiBJbnB1dG1hc2tPcHRpb25zPGFueT4pIHtcbiAgICAvLyBIaWRlIGlucHV0IGZpZWxkXG4gICAgdGhpcy5oaWRlSW5wdXQkLm5leHQodHJ1ZSlcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgICB0aGlzLl9pbnB1dE1hc2sgPSBuZXdJbnB1dE1hc2tcblxuICAgIC8vIFNob3cgaW5wdXQgZmllbGQgdG8gcmVsb2FkIGlucHV0LW1hc2sgc2V0dGluZ3MgdXBvbiB1cGRhdGVcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaGlkZUlucHV0JC5uZXh0KGZhbHNlKVxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgfSwgMjAwKVxuICB9XG4gIGdldCBpbnB1dE1hc2soKTogSW5wdXRtYXNrT3B0aW9uczxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5faW5wdXRNYXNrXG4gIH1cblxuICAvKiogRW1pdHMgZXZlcnkgdGltZSB0aGUgdmFsdWUgb2YgdGhlIGlubmVyIGlucHV0IGZpZWxkIGNoYW5nZXMsIGluZGVwZW5kYW50bHkgb2YgdXBkYXRlcyBvbiB0aGUgZm9ybWNvbnRyb2xsZXIgKi9cbiAgQE91dHB1dCgpIG5nZ3ZJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgcHJpdmF0ZSBfZm9ybUNvbnRyb2wgPSBuZXcgVW50eXBlZEZvcm1Db250cm9sKClcbiAgZ2V0IGNvbnRyb2woKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gKHRoaXMubmdDb250cm9sPy5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbCkgPz8gdGhpcy5fZm9ybUNvbnRyb2xcbiAgfVxuICAvKiogUmV0dXJucyBpZiBtYXhsZW5ndGggaXMgdXNlZCAqL1xuICBnZXQgaGFzTWF4TGVuZ3RoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubWF4bGVuZ3RoICYmIHRoaXMubWF4bGVuZ3RoICE9PSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICB9XG5cbiAgLyoqIFRvZ2dsZXIgZm9yIHNob3dpbmcgb3IgaGlkaW5nIHRoZSBpbnB1dCBmaWVsZCAqL1xuICBoaWRlSW5wdXQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKVxuXG4gIHByb3RlY3RlZCBpbnB1dENoYW5nZSQgPSBuZXcgU3ViamVjdDxhbnk+KClcbiAgcHJvdGVjdGVkIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKVxuICAgIEBJbmplY3QoVFJBTlNMT0NPX1NDT1BFKVxuICAgIHByb3RlY3RlZCB0cmFuc2xvY29TY29wZTogVHJhbnNsb2NvU2NvcGUsXG4gICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKG5nQ29udHJvbCwgdHJhbnNsb2NvU2NvcGUsIGNkcilcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KClcbiAgICB0aGlzLmlucHV0Q2hhbmdlJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lKSlcbiAgICAgIC5zdWJzY3JpYmUoKGlucHV0VmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5uZ2d2SW5wdXQuZW1pdChpbnB1dFZhbHVlKVxuICAgICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQodHJ1ZSlcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpXG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAvLyBtYXhMZW5ndGggd2lsbCBvbmx5IHdvcmsgd2l0aCBzdHJpbmcgdmFsdWVzXG4gICAgaWYgKHZhbHVlPy5sZW5ndGggJiYgdmFsdWUubGVuZ3RoID4gdGhpcy5tYXhsZW5ndGgpIHtcbiAgICAgIC8vIGN1dCB2YWx1ZSB0byBtYXRjaCBtYXggbGVuZ3RoXG4gICAgICB0aGlzLnN0YXRlID0gdGhpcy5jdXRUZXh0QWZ0ZXJNYXhMZW5ndGgodmFsdWUpXG4gICAgICBpZiAodmFsdWUubGVuZ3RoICE9PSB0aGlzLnN0YXRlLmxlbmd0aCkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc3RhdGUpXG4gICAgICB9XG4gICAgICAvLyBlbWl0IHZhbHVlXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVwZGF0ZSBzdGF0ZVxuICAgICAgdGhpcy5zdGF0ZSA9IHZhbHVlXG4gICAgfVxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgY3V0VGV4dEFmdGVyTWF4TGVuZ3RoKHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMubWF4bGVuZ3RoKVxuICAgIH1cbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm5cbiAgICB0aGlzLnN0YXRlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZVxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5zdGF0ZSlcbiAgICB0aGlzLmlucHV0Q2hhbmdlJC5uZXh0KHRoaXMuc3RhdGUpXG4gIH1cbn1cbiIsIjwhLS0gTEFCRUwgLS0+XG48bGFiZWxcbiAgW2lkXT1cImlkICsgJy1sYWJlbCdcIlxuICBjbGFzcz1cInNkdi1maWVsZC1sYWJlbCBoaWRlLWlmLWVtcHR5XCJcbiAgW2F0dHIuZm9yXT1cImlkICsgJy1pbnB1dCdcIlxuICAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6IHNjb3BlXCJcbj5cbiAgPG5nLXRlbXBsYXRlXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsYWJlbENvbnRlbnRUcGwgfHwgYmFzaWNMYWJlbENvbnRlbnRUcGxcIlxuICA+PC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlICNiYXNpY0xhYmVsQ29udGVudFRwbD5cbiAgICA8IS0tIHRvIHRyaWdnZXIgY3NzOmVtcHR5IGlmIG5vIGxhYmVsIHdhcyBhZGRlZCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cbiAgICAgIHt7IGxhYmVsIH19XG4gICAgICA8c3BhblxuICAgICAgICAqbmdJZj1cIm9wdGlvbmFsID09PSB0cnVlIHx8IChyZXF1aXJlZCAhPT0gdHJ1ZSAmJiBvcHRpb25hbCAhPT0gZmFsc2UpXCJcbiAgICAgICAgY2xhc3M9XCJzZHYtZmllbGQtbGFiZWwtLW9wdGlvbmFsXCJcbiAgICAgID5cbiAgICAgICAgKHt7IHQoJ2xhYmVsLm9wdGlvbmFsJykgfX0pXG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2xhYmVsPlxuXG48IS0tIERFU0NSSVBUSU9OIC0tPlxuPGRpdiBjbGFzcz1cImZvcm0taW5mbyBkZXNjcmlwdGlvbiBoaWRlLWlmLWVtcHR5XCI+XG4gIHt7IGRlc2NyaXB0aW9uIH19XG48L2Rpdj5cblxuPCEtLSBMT0NLRUQgSU5QVVQgLS0+XG48bmctY29udGFpbmVyICpuZ0lmPVwibG9ja2VkXCI+XG4gIDxkaXZcbiAgICBbaWRdPVwiaWQgKyAnLWlucHV0J1wiXG4gICAgY2xhc3M9XCJuZ2d2LWZpZWxkLS1sb2NrZWRcIlxuICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgW2F0dHIudmFsdWVdPVwic3RhdGVcIlxuICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cIiFzdGF0ZVwiIGNsYXNzPVwidW5zZXQtc3RhdGVcIj4tPC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzdGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbnB1dE1hc2tcIj5cbiAgICAgICAge3sgc3RhdGUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEhaW5wdXRNYXNrXCI+XG4gICAgICAgIHt7IHN0YXRlIHwgbmdndklucHV0TWFza0Zvcm1hdDogaW5wdXRNYXNrIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cblxuPCEtLSBJTlBVVCBXUkFQUEVSIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2NrZWRcIj5cbiAgPGRpdiBjbGFzcz1cImdkcy1pbnB1dC13cmFwcGVyXCIgW2NsYXNzLm5nZ3YtZmllbGQtLWVycm9yXT1cImludmFsaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtcHJlZml4IGhpZGUtaWYtZW1wdHlcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PSdwcmVmaXgnXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gSU5QVVQgRklFTEQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCIgKm5nSWY9XCIhaW5wdXRNYXNrXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIFtpZF09XCJpZCArICctaW5wdXQnXCJcbiAgICAgICAgY2xhc3M9XCJzZHYtZmllbGRcIlxuICAgICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFthdHRyLmVtYWlsXT1cImVtYWlsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJpZCArICctbWVzc2FnZSdcIlxuICAgICAgICBbbWluXT1cIm1pblwiXG4gICAgICAgIFttYXhdPVwibWF4XCJcbiAgICAgICAgW3N0ZXBdPVwic3RlcFwiXG4gICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxuICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcbiAgICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICBbdmFsdWVdPVwic3RhdGVcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIElOUFVUIEZJRUxEIFdJVEggTUFTSyAtLT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImlucHV0LWdyb3VwXCJcbiAgICAgICpuZ0lmPVwiISFpbnB1dE1hc2sgJiYgKGhpZGVJbnB1dCQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIFtpZF09XCJpZCArICctaW5wdXQnXCJcbiAgICAgICAgY2xhc3M9XCJzZHYtZmllbGRcIlxuICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJyZWFkb25seVwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwicm9sZVwiXG4gICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkZXNjcmlwdGlvblwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWQgKyAnLW1lc3NhZ2UnXCJcbiAgICAgICAgW25nZ3ZJbnB1dE1hc2tdPVwiaW5wdXRNYXNrXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1zdWZmaXggaGlkZS1pZi1lbXB0eVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Nsb3Q9J3N1ZmZpeCddXCI+PC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8IS0tIEVSUk9SUyAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZ2RzLWZvcm0taXRlbV9fZm9vdGVyIGVycm9yLXdyYXBwZXJcIlxuICAgICp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogc2NvcGVcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiZm9ybS1pbmZvIGZvcm0taW5mby0tZXJyb3JcIlxuICAgICAgW2F0dHIuaWRdPVwiaWQgKyAnLW1lc3NhZ2UnXCJcbiAgICAgICpuZ0lmPVwiaW52YWxpZCAmJiAoZXJyb3IgfHwgbmdDb250cm9sPy5pbnZhbGlkKVwiXG4gICAgPlxuICAgICAgPHNwYW4gKm5nSWY9XCJlcnJvcjsgZWxzZSBlcnJvcnNSZWZcIj57eyBlcnJvciB9fTwvc3Bhbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZXJyb3JzUmVmPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImZpcnN0RXJyb3IgYXMgZXJyb3JcIj5cbiAgICAgICAgICB7eyB0KCdlcnJvci5maWVsZCcgKyBlcnJvcj8uY29kZSwgZXJyb3I/LnBhcmFtcykgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3NwYW4+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlucHV0TWFzayAmJiBoYXNNYXhMZW5ndGggJiYgc2hvd0NoYXJhY3RlckNvdW50ZG93blwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nZ3ZDaGFyYWN0ZXJDb3VudGRvd249XCJcbiAgICAgICAgICBtYXhsZW5ndGg7XG4gICAgICAgICAgY3VycmVudExlbmd0aDogKGlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py52YWx1ZSA/PyAnJykubGVuZ3RoO1xuICAgICAgICAgIGNoYXJhY3RlcnNMZWZ0IGFzIGNoYXJhY3RlcnNMZWZ0XG4gICAgICAgIFwiXG4gICAgICAgIGNsYXNzPVwiZm9ybS1pbmZvXCJcbiAgICAgICAgc3R5bGU9XCJ0ZXh0LWFsaWduOiByaWdodFwiXG4gICAgICA+XG4gICAgICAgIHt7IGNoYXJhY3RlcnNMZWZ0IH19IHt7IHQoJ2xhYmVsLm1heGxlbmd0aCcpIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFrQixNQUFNLG9CQUFvQixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUl4RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQTs7Ozs7OztBQUV4SDs7O0dBR0c7QUFNSCxNQUFNLE9BQU8saUJBQ1gsU0FBUSxvQ0FBb0M7SUF1QjVDLHNEQUFzRDtJQUN0RCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRDs7O09BR0c7SUFDSCxJQUFhLFNBQVMsQ0FBQyxNQUFjO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNELHNEQUFzRDtJQUN0RCxJQUFh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QUFRO3NCQUFoQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsR0FBRztzQkFBWCxLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFTyxTQUFTO3NCQUFyQixLQUFLO2dCQU9PLFNBQVM7c0JBQXJCLEtBQUs7Z0JBT08sU0FBUztzQkFBckIsS0FBSztnQkFXTyxTQUFTO3NCQUFyQixLQUFLO2dCQVVPLHNCQUFzQjtzQkFBbEMsS0FBSztnQkFRRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUlPLFNBQVM7c0JBQXJCLEtBQUs7Z0JBaUJJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5nQ29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUUkFOU0xPQ09fU0NPUEUsIFRyYW5zbG9jb1Njb3BlIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgdHlwZSB7IElucHV0bWFza09wdGlvbnMgfSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tYW5ndWxhci9zcmMvdi1hbmd1bGFyL2lucHV0LW1hc2snXG5cbmltcG9ydCB7IE5ndkJhc2VDb250cm9sVmFsdWVBY2Nlc3NvckNvbXBvbmVudCB9IGZyb20gJ0BzZWJncm91cC9ncmVlbi1hbmd1bGFyL3NyYy92LWFuZ3VsYXIvYmFzZS1jb250cm9sLXZhbHVlLWFjY2Vzc29yJ1xuXG4vKipcbiAqIElucHV0IGZpZWxkcyBhbGxvdyB1c2VycyB0byBhZGQgYW5kIGVkaXQgdGV4dC5cbiAqIGh0dHBzOi8vZGVzaWdubGlicmFyeS5zZWJncm91cC5jb20vY29tcG9uZW50cy9jb21wb25lbnQtaW5wdXRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndklucHV0Q29tcG9uZW50XG4gIGV4dGVuZHMgTmd2QmFzZUNvbnRyb2xWYWx1ZUFjY2Vzc29yQ29tcG9uZW50XG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgLyoqIEFkZGluZyAuZ2RzLWZvcm0taXRlbSBhcyBhIGNsYXNzIHRvIGhvc3QgZWxlbWVudCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnZ2RzLWZvcm0taXRlbSdcbiAgLyoqIFNwZWNpYWwgcHJvcGVydHkgdXNlZCBmb3Igc2VsZWN0aW5nIERPTSBlbGVtZW50cyBkdXJpbmcgYXV0b21hdGVkIFVJIHRlc3RpbmcuICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXRob29rJykgQElucHV0KCkgdGhvb2sgPSAnaW5wdXQnXG4gIC8qKiBUeXBlIG9mIGlucHV0IGZpZWxkLiBTaG91bGQgYXZvaWQgdHlwZXMgdGhhdCBtb2RpZnkgZmllbGQgdG9vIG11Y2ggc3VjaCBhcyByYW5nZS4gKi9cbiAgQElucHV0KCkgdHlwZSA9ICd0ZXh0J1xuICAvKiogVGV4dCBzaG93biBiZWZvcmUgaW5wdXQgaGFzIGEgd3JpdHRlbiB2YWx1ZS4gKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIElmIHNldCB0byBcIm9uXCIsIGhpbnQgZm9yIGZvcm0gYXV0b2ZpbGwgZmVhdHVyZS4gKi9cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlID0gJ29uJ1xuICAvKiogSWYgc2V0IHRvIHRydWUsIHRoZSB2YWx1ZSB3aWxsIG5vdCBiZSBlZGl0YWJsZS4gKi9cbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZVxuICAvKiogSWYgc2V0IHRvIHRydWUsIGVuYWJsZXMgdGhlIEFuZ3VsYXIgdGVtcGxhdGUtZHJpdmVuIGVtYWlsIHZhbGlkYXRvci4gKi9cbiAgQElucHV0KCkgZW1haWwgPSBmYWxzZVxuICAvKiogTWluaW11bSB2YWx1ZSByZXF1aXJlZCBmb3IgbnVtZXJpYyBpbnB1dCB0eXBlcy4gKi9cbiAgQElucHV0KCkgbWluID0gMFxuICAvKiogTWF4aW11bSB2YWx1ZSByZXF1aXJlZCBmb3IgbnVtZXJpYyBpbnB1dCB0eXBlcy4gKi9cbiAgQElucHV0KCkgbWF4ID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgLyoqIEluY3JlbWVudGFsIHZhbHVlcyB0aGF0IGFyZSB2YWxpZCBmb3IgbnVtZXJpYyBpbnB1dCB0eXBlcy4gKi9cbiAgQElucHV0KCkgc3RlcCA9IDFcbiAgLyoqIE1pbmltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuICovXG4gIEBJbnB1dCgpIHNldCBtaW5MZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9taW5sZW5ndGggPSBsZW5ndGhcbiAgfVxuICAvKipcbiAgICogTWluaW11bSBsZW5ndGggKG51bWJlciBvZiBjaGFyYWN0ZXJzKSBvZiB2YWx1ZS5cbiAgICogQGRlcHJlY2F0ZWQgbWlubGVuZ3RoIHRyaWdnZXJzIGFuZ3VsYXItdGVtcGxhdGUtdmFsaWRhdGlvbi4gVXNlIEBJbnB1dCgpIG1pbkxlbmd0aCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KCkgc2V0IG1pbmxlbmd0aChsZW5ndGg6IG51bWJlcikge1xuICAgIHRoaXMuX21pbmxlbmd0aCA9IGxlbmd0aFxuICB9XG4gIGdldCBtaW5sZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWlubGVuZ3RoXG4gIH1cbiAgLyoqIE1heGltdW0gbGVuZ3RoIChudW1iZXIgb2YgY2hhcmFjdGVycykgb2YgdmFsdWUuICovXG4gIEBJbnB1dCgpIHNldCBtYXhMZW5ndGgobGVuZ3RoOiBudW1iZXIpIHtcbiAgICB0aGlzLl9tYXhsZW5ndGggPSBsZW5ndGhcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5zdGF0ZSlcbiAgfVxuICBnZXQgbWF4bGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21heGxlbmd0aFxuICB9XG4gIC8qKlxuICAgKiBNYXhpbXVtIGxlbmd0aCAobnVtYmVyIG9mIGNoYXJhY3RlcnMpIG9mIHZhbHVlLlxuICAgKiBAZGVwcmVjYXRlZCBtYXhsZW5ndGggdHJpZ2dlcnMgYW5ndWxhci10ZW1wbGF0ZS12YWxpZGF0aW9uLiBVc2UgQElucHV0KCkgbWF4TGVuZ3RoIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKSBzZXQgbWF4bGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4bGVuZ3RoID0gbGVuZ3RoXG4gICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuc3RhdGUpXG4gIH1cbiAgcHJpdmF0ZSBfbWF4bGVuZ3RoID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcblxuICBwcml2YXRlIF9taW5sZW5ndGggPSAwXG5cbiAgLyoqIFdldGhlciB0byBzaG93IGxhYmVsIHRoYXQgdGVsbHMgaG93IG1hbnkgY2hhcmFjdGVycyBhcmUgc3RpbGwgbGVmdCB0byBiZSBlbnRlcmVkLiBXaWxsIG9ubHkgYmUgc2V0IGlmIG1heExlbmd0aCBpcyBhbHNvIHNldCAqL1xuICBwcml2YXRlIF9zaG93Q2hhcmFjdGVyQ291bnREb3duID0gdHJ1ZVxuICBASW5wdXQoKSBzZXQgc2hvd0NoYXJhY3RlckNvdW50ZG93bihvcHRpb246IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93Q2hhcmFjdGVyQ291bnREb3duID0gb3B0aW9uXG4gIH1cbiAgZ2V0IHNob3dDaGFyYWN0ZXJDb3VudGRvd24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Nob3dDaGFyYWN0ZXJDb3VudERvd24gJiYgdGhpcy5oYXNNYXhMZW5ndGhcbiAgfVxuXG4gIC8qKiBQYXR0ZXJuIHRoZSB2YWx1ZSBtdXN0IG1hdGNoIHRvIGJlIHZhbGlkLiAqL1xuICBASW5wdXQoKSBwYXR0ZXJuID0gJydcbiAgLyoqIEFtb3VudCBvZiB0aW1lIHRvIHdhaXQgdW50aWwgZW1pdHRpbmcgKG5nZ3ZJTnB1dCkgZXZlbnQgKi9cbiAgQElucHV0KCkgZGVib3VuY2VUaW1lID0gNTAwXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiBUZXh0IHRvIHB1dCBpbiBiYWRnZVxuICAgKi9cbiAgQElucHV0KCkgYmFkZ2VUZXh0ID0gJydcblxuICAvKiogU2V0dGluZ3MgZm9yIGlucHV0IG1hc2sgaWYgcmVxdWVzdGVkICovXG4gIHByaXZhdGUgX2lucHV0TWFzayE6IElucHV0bWFza09wdGlvbnM8YW55PlxuICBASW5wdXQoKSBzZXQgaW5wdXRNYXNrKG5ld0lucHV0TWFzazogSW5wdXRtYXNrT3B0aW9uczxhbnk+KSB7XG4gICAgLy8gSGlkZSBpbnB1dCBmaWVsZFxuICAgIHRoaXMuaGlkZUlucHV0JC5uZXh0KHRydWUpXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gICAgdGhpcy5faW5wdXRNYXNrID0gbmV3SW5wdXRNYXNrXG5cbiAgICAvLyBTaG93IGlucHV0IGZpZWxkIHRvIHJlbG9hZCBpbnB1dC1tYXNrIHNldHRpbmdzIHVwb24gdXBkYXRlXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmhpZGVJbnB1dCQubmV4dChmYWxzZSlcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgIH0sIDIwMClcbiAgfVxuICBnZXQgaW5wdXRNYXNrKCk6IElucHV0bWFza09wdGlvbnM8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2lucHV0TWFza1xuICB9XG5cbiAgLyoqIEVtaXRzIGV2ZXJ5IHRpbWUgdGhlIHZhbHVlIG9mIHRoZSBpbm5lciBpbnB1dCBmaWVsZCBjaGFuZ2VzLCBpbmRlcGVuZGFudGx5IG9mIHVwZGF0ZXMgb24gdGhlIGZvcm1jb250cm9sbGVyICovXG4gIEBPdXRwdXQoKSBuZ2d2SW5wdXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKVxuXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpXG4gIGdldCBjb250cm9sKCk6IFVudHlwZWRGb3JtQ29udHJvbCB7XG4gICAgcmV0dXJuICh0aGlzLm5nQ29udHJvbD8uY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2wpID8/IHRoaXMuX2Zvcm1Db250cm9sXG4gIH1cbiAgLyoqIFJldHVybnMgaWYgbWF4bGVuZ3RoIGlzIHVzZWQgKi9cbiAgZ2V0IGhhc01heExlbmd0aCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLm1heGxlbmd0aCAmJiB0aGlzLm1heGxlbmd0aCAhPT0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgfVxuXG4gIC8qKiBUb2dnbGVyIGZvciBzaG93aW5nIG9yIGhpZGluZyB0aGUgaW5wdXQgZmllbGQgKi9cbiAgaGlkZUlucHV0JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KClcblxuICBwcm90ZWN0ZWQgaW5wdXRDaGFuZ2UkID0gbmV3IFN1YmplY3Q8YW55PigpXG4gIHByb3RlY3RlZCBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KFRSQU5TTE9DT19TQ09QRSlcbiAgICBwcm90ZWN0ZWQgdHJhbnNsb2NvU2NvcGU6IFRyYW5zbG9jb1Njb3BlLFxuICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcihuZ0NvbnRyb2wsIHRyYW5zbG9jb1Njb3BlLCBjZHIpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpXG4gICAgdGhpcy5pbnB1dENoYW5nZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZSkpXG4gICAgICAuc3Vic2NyaWJlKChpbnB1dFZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMubmdndklucHV0LmVtaXQoaW5wdXRWYWx1ZSlcbiAgICAgIH0pXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KHRydWUpXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgLy8gbWF4TGVuZ3RoIHdpbGwgb25seSB3b3JrIHdpdGggc3RyaW5nIHZhbHVlc1xuICAgIGlmICh2YWx1ZT8ubGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IHRoaXMubWF4bGVuZ3RoKSB7XG4gICAgICAvLyBjdXQgdmFsdWUgdG8gbWF0Y2ggbWF4IGxlbmd0aFxuICAgICAgdGhpcy5zdGF0ZSA9IHRoaXMuY3V0VGV4dEFmdGVyTWF4TGVuZ3RoKHZhbHVlKVxuICAgICAgaWYgKHZhbHVlLmxlbmd0aCAhPT0gdGhpcy5zdGF0ZS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnN0YXRlKVxuICAgICAgfVxuICAgICAgLy8gZW1pdCB2YWx1ZVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1cGRhdGUgc3RhdGVcbiAgICAgIHRoaXMuc3RhdGUgPSB2YWx1ZVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKClcbiAgfVxuXG4gIGN1dFRleHRBZnRlck1heExlbmd0aCh2YWx1ZTogYW55KTogYW55IHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHZhbHVlLnN1YnN0cmluZygwLCB0aGlzLm1heGxlbmd0aClcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuXG4gICAgdGhpcy5zdGF0ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWVcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuc3RhdGUpXG4gICAgdGhpcy5pbnB1dENoYW5nZSQubmV4dCh0aGlzLnN0YXRlKVxuICB9XG59XG4iLCI8IS0tIExBQkVMIC0tPlxuPGxhYmVsXG4gIFtpZF09XCJpZCArICctbGFiZWwnXCJcbiAgY2xhc3M9XCJzZHYtZmllbGQtbGFiZWwgaGlkZS1pZi1lbXB0eVwiXG4gIFthdHRyLmZvcl09XCJpZCArICctaW5wdXQnXCJcbiAgKnRyYW5zbG9jbz1cImxldCB0OyByZWFkOiBzY29wZVwiXG4+XG4gIDxuZy10ZW1wbGF0ZVxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwibGFiZWxDb250ZW50VHBsIHx8IGJhc2ljTGFiZWxDb250ZW50VHBsXCJcbiAgPjwvbmctdGVtcGxhdGU+XG4gIDxuZy10ZW1wbGF0ZSAjYmFzaWNMYWJlbENvbnRlbnRUcGw+XG4gICAgPCEtLSB0byB0cmlnZ2VyIGNzczplbXB0eSBpZiBubyBsYWJlbCB3YXMgYWRkZWQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsXCI+XG4gICAgICB7eyBsYWJlbCB9fVxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJvcHRpb25hbCA9PT0gdHJ1ZSB8fCAocmVxdWlyZWQgIT09IHRydWUgJiYgb3B0aW9uYWwgIT09IGZhbHNlKVwiXG4gICAgICAgIGNsYXNzPVwic2R2LWZpZWxkLWxhYmVsLS1vcHRpb25hbFwiXG4gICAgICA+XG4gICAgICAgICh7eyB0KCdsYWJlbC5vcHRpb25hbCcpIH19KVxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9sYWJlbD5cblxuPCEtLSBERVNDUklQVElPTiAtLT5cbjxkaXYgY2xhc3M9XCJmb3JtLWluZm8gZGVzY3JpcHRpb24gaGlkZS1pZi1lbXB0eVwiPlxuICB7eyBkZXNjcmlwdGlvbiB9fVxuPC9kaXY+XG5cbjwhLS0gTE9DS0VEIElOUFVUIC0tPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvY2tlZFwiPlxuICA8ZGl2XG4gICAgW2lkXT1cImlkICsgJy1pbnB1dCdcIlxuICAgIGNsYXNzPVwibmdndi1maWVsZC0tbG9ja2VkXCJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgIFthdHRyLnZhbHVlXT1cInN0YXRlXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICA+XG4gICAgPHNwYW4gKm5nSWY9XCIhc3RhdGVcIiBjbGFzcz1cInVuc2V0LXN0YXRlXCI+LTwvc3Bhbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaW5wdXRNYXNrXCI+XG4gICAgICAgIHt7IHN0YXRlIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWlucHV0TWFza1wiPlxuICAgICAgICB7eyBzdGF0ZSB8IG5nZ3ZJbnB1dE1hc2tGb3JtYXQ6IGlucHV0TWFzayB9fVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjwhLS0gSU5QVVQgV1JBUFBFUiAtLT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9ja2VkXCI+XG4gIDxkaXYgY2xhc3M9XCJnZHMtaW5wdXQtd3JhcHBlclwiIFtjbGFzcy5uZ2d2LWZpZWxkLS1lcnJvcl09XCJpbnZhbGlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZWZpeCBoaWRlLWlmLWVtcHR5XCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0ncHJlZml4J11cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIElOUFVUIEZJRUxEIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiICpuZ0lmPVwiIWlucHV0TWFza1wiPlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICBbaWRdPVwiaWQgKyAnLWlucHV0J1wiXG4gICAgICAgIGNsYXNzPVwic2R2LWZpZWxkXCJcbiAgICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbYXR0ci5lbWFpbF09XCJlbWFpbFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiaWQgKyAnLW1lc3NhZ2UnXCJcbiAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIFtzdGVwXT1cInN0ZXBcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcbiAgICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXG4gICAgICAgIFtwYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgW2F0dHIucm9sZV09XCJyb2xlXCJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgW3ZhbHVlXT1cInN0YXRlXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBJTlBVVCBGSUVMRCBXSVRIIE1BU0sgLS0+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cFwiXG4gICAgICAqbmdJZj1cIiEhaW5wdXRNYXNrICYmIChoaWRlSW5wdXQkIHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnB1dFxuICAgICAgICBbaWRdPVwiaWQgKyAnLWlucHV0J1wiXG4gICAgICAgIGNsYXNzPVwic2R2LWZpZWxkXCJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2F0dHIucmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkICsgJy1tZXNzYWdlJ1wiXG4gICAgICAgIFtuZ2d2SW5wdXRNYXNrXT1cImlucHV0TWFza1wiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtc3VmZml4IGhpZGUtaWYtZW1wdHlcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzbG90PSdzdWZmaXgnXVwiPjwvbmctY29udGVudD5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBFUlJPUlMgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cImdkcy1mb3JtLWl0ZW1fX2Zvb3RlciBlcnJvci13cmFwcGVyXCJcbiAgICAqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6IHNjb3BlXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cImZvcm0taW5mbyBmb3JtLWluZm8tLWVycm9yXCJcbiAgICAgIFthdHRyLmlkXT1cImlkICsgJy1tZXNzYWdlJ1wiXG4gICAgICAqbmdJZj1cImludmFsaWQgJiYgKGVycm9yIHx8IG5nQ29udHJvbD8uaW52YWxpZClcIlxuICAgID5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZXJyb3I7IGVsc2UgZXJyb3JzUmVmXCI+e3sgZXJyb3IgfX08L3NwYW4+XG4gICAgICA8bmctdGVtcGxhdGUgI2Vycm9yc1JlZj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJmaXJzdEVycm9yIGFzIGVycm9yXCI+XG4gICAgICAgICAge3sgdCgnZXJyb3IuZmllbGQnICsgZXJyb3I/LmNvZGUsIGVycm9yPy5wYXJhbXMpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbnB1dE1hc2sgJiYgaGFzTWF4TGVuZ3RoICYmIHNob3dDaGFyYWN0ZXJDb3VudGRvd25cIj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ2d2Q2hhcmFjdGVyQ291bnRkb3duPVwiXG4gICAgICAgICAgbWF4bGVuZ3RoO1xuICAgICAgICAgIGN1cnJlbnRMZW5ndGg6IChpbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8udmFsdWUgPz8gJycpLmxlbmd0aDtcbiAgICAgICAgICBjaGFyYWN0ZXJzTGVmdCBhcyBjaGFyYWN0ZXJzTGVmdFxuICAgICAgICBcIlxuICAgICAgICBjbGFzcz1cImZvcm0taW5mb1wiXG4gICAgICAgIHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHRcIlxuICAgICAgPlxuICAgICAgICB7eyBjaGFyYWN0ZXJzTGVmdCB9fSB7eyB0KCdsYWJlbC5tYXhsZW5ndGgnKSB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -125,11 +125,11 @@ export class NgvDialogComponent {
125
125
  }
126
126
  }
127
127
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
128
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvDialogComponent, selector: "nggv-dialog", inputs: { thook: "thook", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", autoClose: "autoClose", payload: "payload", dialogTitleId: "dialogTitleId", dialogBodyId: "dialogBodyId", closeModalOnEscape: "closeModalOnEscape", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" }, properties: { "attr.data-thook": "this.thook", "class.sdv-modal-dialog": "this.baseClass", "class.-active": "this.shown", "attr.aria-hidden": "this.ariaHidden" } }, viewQueries: [{ propertyName: "dialogRef", first: true, predicate: ["dialog"], descendants: true }], exportAs: ["dialog"], ngImport: i0, template: "<div\n class=\"sdv-modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n>\n <header class=\"sdv-modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n type=\"button\"\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n class=\"close\"\n >\n <gds-icon-cross-small\n *nggCoreElement\n width=\"24\"\n height=\"24\"\n ></gds-icon-cross-small>\n </button>\n </header>\n <section class=\"sdv-modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"sdv-button sdv-button-delete\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"sdv-button sdv-button-secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"sdv-button\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n</div>\n\n<div class=\"sdv-modal-backdrop\"></div>\n", styles: [":host{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .sdv-modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .sdv-modal-dialog__container>.header,:host .sdv-modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__container>.header h3,:host .sdv-modal-dialog__container>.header .h3,:host .sdv-modal-dialog__container>header h3,:host .sdv-modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.header h3+.close,:host .sdv-modal-dialog__container>.header .h3+.close,:host .sdv-modal-dialog__container>header h3+.close,:host .sdv-modal-dialog__container>header .h3+.close{margin:-7px}:host .sdv-modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .sdv-modal-dialog__container.medium{width:512px}:host .sdv-modal-dialog__container.large{width:720px}:host .sdv-modal-dialog__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__heading h3,:host .sdv-modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__heading h3+.close,:host .sdv-modal-dialog__heading .h3+.close{margin:-7px}:host .sdv-modal-dialog__heading button{display:grid;place-content:center}:host .sdv-modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__body p{margin-bottom:0;margin-top:0}:host .sdv-modal-backdrop{background:#00000059;inset:0;position:fixed;z-index:999;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .sdv-modal-backdrop--transparent{opacity:0}:host .sdv-modal-backdrop--transparent.entered,:host .sdv-modal-backdrop--transparent.is-entering{opacity:1}:host .sdv-modal-backdrop--transparent.is-exiting{opacity:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
128
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvDialogComponent, selector: "nggv-dialog", inputs: { thook: "thook", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", autoClose: "autoClose", payload: "payload", dialogTitleId: "dialogTitleId", dialogBodyId: "dialogBodyId", closeModalOnEscape: "closeModalOnEscape", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" }, properties: { "attr.data-thook": "this.thook", "class.sdv-modal-dialog": "this.baseClass", "class.-active": "this.shown", "attr.aria-hidden": "this.ariaHidden" } }, viewQueries: [{ propertyName: "dialogRef", first: true, predicate: ["dialog"], descendants: true }], exportAs: ["dialog"], ngImport: i0, template: "<div\n class=\"sdv-modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n>\n <header class=\"sdv-modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n type=\"button\"\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n class=\"close\"\n >\n <gds-icon-cross-small\n *nggCoreElement\n width=\"24\"\n height=\"24\"\n ></gds-icon-cross-small>\n </button>\n </header>\n <section class=\"sdv-modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"sdv-button sdv-button-delete\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"sdv-button sdv-button-secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"sdv-button\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n</div>\n\n<div class=\"sdv-modal-backdrop\"></div>\n", styles: [":host{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .sdv-modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .sdv-modal-dialog__container>.header,:host .sdv-modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__container>.header h3,:host .sdv-modal-dialog__container>.header .h3,:host .sdv-modal-dialog__container>header h3,:host .sdv-modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.header h3+.close,:host .sdv-modal-dialog__container>.header .h3+.close,:host .sdv-modal-dialog__container>header h3+.close,:host .sdv-modal-dialog__container>header .h3+.close{margin:-7px;min-width:2rem}:host .sdv-modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .sdv-modal-dialog__container.medium{width:512px}:host .sdv-modal-dialog__container.large{width:720px}:host .sdv-modal-dialog__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__heading h3,:host .sdv-modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__heading h3+.close,:host .sdv-modal-dialog__heading .h3+.close{margin:-7px;min-width:2rem}:host .sdv-modal-dialog__heading button{display:grid;place-content:center}:host .sdv-modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__body p{margin-bottom:0;margin-top:0}:host .sdv-modal-backdrop{background:#00000059;inset:0;position:fixed;z-index:999;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .sdv-modal-backdrop--transparent{opacity:0}:host .sdv-modal-backdrop--transparent.entered,:host .sdv-modal-backdrop--transparent.is-entering{opacity:1}:host .sdv-modal-backdrop--transparent.is-exiting{opacity:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
129
129
  }
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvDialogComponent, decorators: [{
131
131
  type: Component,
132
- args: [{ selector: 'nggv-dialog', exportAs: 'dialog', template: "<div\n class=\"sdv-modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n>\n <header class=\"sdv-modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n type=\"button\"\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n class=\"close\"\n >\n <gds-icon-cross-small\n *nggCoreElement\n width=\"24\"\n height=\"24\"\n ></gds-icon-cross-small>\n </button>\n </header>\n <section class=\"sdv-modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"sdv-button sdv-button-delete\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"sdv-button sdv-button-secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"sdv-button\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n</div>\n\n<div class=\"sdv-modal-backdrop\"></div>\n", styles: [":host{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .sdv-modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .sdv-modal-dialog__container>.header,:host .sdv-modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__container>.header h3,:host .sdv-modal-dialog__container>.header .h3,:host .sdv-modal-dialog__container>header h3,:host .sdv-modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.header h3+.close,:host .sdv-modal-dialog__container>.header .h3+.close,:host .sdv-modal-dialog__container>header h3+.close,:host .sdv-modal-dialog__container>header .h3+.close{margin:-7px}:host .sdv-modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .sdv-modal-dialog__container.medium{width:512px}:host .sdv-modal-dialog__container.large{width:720px}:host .sdv-modal-dialog__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__heading h3,:host .sdv-modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__heading h3+.close,:host .sdv-modal-dialog__heading .h3+.close{margin:-7px}:host .sdv-modal-dialog__heading button{display:grid;place-content:center}:host .sdv-modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__body p{margin-bottom:0;margin-top:0}:host .sdv-modal-backdrop{background:#00000059;inset:0;position:fixed;z-index:999;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .sdv-modal-backdrop--transparent{opacity:0}:host .sdv-modal-backdrop--transparent.entered,:host .sdv-modal-backdrop--transparent.is-entering{opacity:1}:host .sdv-modal-backdrop--transparent.is-exiting{opacity:0}\n"] }]
132
+ args: [{ selector: 'nggv-dialog', exportAs: 'dialog', template: "<div\n class=\"sdv-modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n>\n <header class=\"sdv-modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n type=\"button\"\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n class=\"close\"\n >\n <gds-icon-cross-small\n *nggCoreElement\n width=\"24\"\n height=\"24\"\n ></gds-icon-cross-small>\n </button>\n </header>\n <section class=\"sdv-modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"sdv-button sdv-button-delete\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"sdv-button sdv-button-secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"sdv-button\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n</div>\n\n<div class=\"sdv-modal-backdrop\"></div>\n", styles: [":host{inset:0;position:fixed;display:grid;place-content:center;z-index:calc(var(--sg-z-index-modal-backdrop) + 1)}:host .sdv-modal-dialog__container{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:initial;width:375px;max-width:95vw}:host .sdv-modal-dialog__container>.header,:host .sdv-modal-dialog__container>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__container>.header h3,:host .sdv-modal-dialog__container>.header .h3,:host .sdv-modal-dialog__container>header h3,:host .sdv-modal-dialog__container>header .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.header h3+.close,:host .sdv-modal-dialog__container>.header .h3+.close,:host .sdv-modal-dialog__container>header h3+.close,:host .sdv-modal-dialog__container>header .h3+.close{margin:-7px;min-width:2rem}:host .sdv-modal-dialog__container>.body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__container>.body p{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer,:host .sdv-modal-dialog__container>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .sdv-modal-dialog__container>.footer button+button,:host .sdv-modal-dialog__container>.footer button+.button,:host .sdv-modal-dialog__container>.footer .button+button,:host .sdv-modal-dialog__container>.footer .button+.button,:host .sdv-modal-dialog__container>footer button+button,:host .sdv-modal-dialog__container>footer button+.button,:host .sdv-modal-dialog__container>footer .button+button,:host .sdv-modal-dialog__container>footer .button+.button{margin-left:.75rem}}:host .sdv-modal-dialog__container.medium{width:512px}:host .sdv-modal-dialog__container.large{width:720px}:host .sdv-modal-dialog__heading{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .sdv-modal-dialog__heading h3,:host .sdv-modal-dialog__heading .h3{margin-bottom:0;margin-top:0}:host .sdv-modal-dialog__heading h3+.close,:host .sdv-modal-dialog__heading .h3+.close{margin:-7px;min-width:2rem}:host .sdv-modal-dialog__heading button{display:grid;place-content:center}:host .sdv-modal-dialog__body{padding:1rem;overflow:auto;width:100%}:host .sdv-modal-dialog__body p{margin-bottom:0;margin-top:0}:host .sdv-modal-backdrop{background:#00000059;inset:0;position:fixed;z-index:999;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .sdv-modal-backdrop--transparent{opacity:0}:host .sdv-modal-backdrop--transparent.entered,:host .sdv-modal-backdrop--transparent.is-entering{opacity:1}:host .sdv-modal-backdrop--transparent.is-exiting{opacity:0}\n"] }]
133
133
  }], propDecorators: { dialogRef: [{
134
134
  type: ViewChild,
135
135
  args: ['dialog']
@@ -132,7 +132,7 @@ export class NgvSlideOutComponent {
132
132
  });
133
133
  }
134
134
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgvSlideOutComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
135
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvSlideOutComponent, selector: "nggv-slideout-modal", inputs: { side: "side", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", closable: "closable", autoWidth: "autoWidth", thook: "thook", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" } }, viewQueries: [{ propertyName: "slideOutRef", first: true, predicate: ["slideOut"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"sdv-modal-title\"\n aria-describedby=\"sdv-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 class=\"gds-slide-out__heading\" id=\"sdv-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"close\"\n (click)=\"this.close()\"\n >\n <span className=\"sr-only\">Close</span>\n <i></i>\n </button>\n </header>\n\n <section id=\"sdv-modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"gds-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .gds-backdrop{background:#00000059;inset:0;position:fixed;z-index:1040;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .gds-backdrop--transparent{opacity:0}:host .gds-backdrop--transparent.entered,:host .gds-backdrop--transparent.is-entering{opacity:1}:host .gds-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host #sdv-modal-body{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
135
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NgvSlideOutComponent, selector: "nggv-slideout-modal", inputs: { side: "side", shown: "shown", initiallyShown: "initiallyShown", heading: "heading", title: "title", content: "content", closable: "closable", autoWidth: "autoWidth", thook: "thook", buttons: "buttons" }, outputs: { nggvCloseEvent: "nggvCloseEvent", nggvPositiveEvent: "nggvPositiveEvent", nggvNeutralEvent: "nggvNeutralEvent", nggvNegativeEvent: "nggvNegativeEvent" }, host: { listeners: { "click": "close($event,\"host\")", "document:keydown.escape": "close($event)", "keydown": "focusTrap($event)" } }, viewQueries: [{ propertyName: "slideOutRef", first: true, predicate: ["slideOut"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"sdv-modal-title\"\n aria-describedby=\"sdv-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 class=\"gds-slide-out__heading\" id=\"sdv-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"close\"\n (click)=\"this.close()\"\n >\n <span className=\"sr-only\">Close</span>\n <i></i>\n </button>\n </header>\n\n <section id=\"sdv-modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"gds-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .gds-backdrop{background:#00000059;inset:0;position:fixed;z-index:1040;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .gds-backdrop--transparent{opacity:0}:host .gds-backdrop--transparent.entered,:host .gds-backdrop--transparent.is-entering{opacity:1}:host .gds-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host #sdv-modal-body{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
136
136
  trigger('modalAnimation', [
137
137
  transition(':enter', [
138
138
  query('.gds-slide-out', style({ transform: 'translateX(100%)' }), {
@@ -184,7 +184,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
184
184
  ]),
185
185
  ]),
186
186
  ]),
187
- ], template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"sdv-modal-title\"\n aria-describedby=\"sdv-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 class=\"gds-slide-out__heading\" id=\"sdv-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"close\"\n (click)=\"this.close()\"\n >\n <span className=\"sr-only\">Close</span>\n <i></i>\n </button>\n </header>\n\n <section id=\"sdv-modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"gds-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .gds-backdrop{background:#00000059;inset:0;position:fixed;z-index:1040;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .gds-backdrop--transparent{opacity:0}:host .gds-backdrop--transparent.entered,:host .gds-backdrop--transparent.is-entering{opacity:1}:host .gds-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host #sdv-modal-body{flex:1}\n"] }]
187
+ ], template: "<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"sdv-modal-title\"\n aria-describedby=\"sdv-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 class=\"gds-slide-out__heading\" id=\"sdv-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"close\"\n (click)=\"this.close()\"\n >\n <span className=\"sr-only\">Close</span>\n <i></i>\n </button>\n </header>\n\n <section id=\"sdv-modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"sdv-modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"gds-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host .gds-slide-out{background:var(--sg-modal-background);display:flex;flex-direction:column;box-shadow:var(--sg-modal-box-shadow);position:absolute;width:100%;z-index:var(--sg-z-index-modal);position:fixed;height:100dvh;max-width:512px;min-height:-webkit-fill-available;min-height:-moz-available;min-height:stretch;right:0;top:0;transition:transform .35s cubic-bezier(.33,1,.68,1);transform:translate(100%);z-index:1050}:host .gds-slide-out>.header,:host .gds-slide-out>header{padding:1rem;border-bottom:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);display:inline-flex;justify-content:space-between;align-items:center;width:100%}:host .gds-slide-out>.header h3,:host .gds-slide-out>.header .h3,:host .gds-slide-out>header h3,:host .gds-slide-out>header .h3{margin-bottom:0;margin-top:0}:host .gds-slide-out>.header h3+.close,:host .gds-slide-out>.header .h3+.close,:host .gds-slide-out>header h3+.close,:host .gds-slide-out>header .h3+.close{margin:-7px;min-width:2rem}:host .gds-slide-out>.body{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out>.body p{margin-bottom:0;margin-top:0}:host .gds-slide-out>.footer,:host .gds-slide-out>footer{padding:1rem;width:100%}@media (min-width: 36em){:host .gds-slide-out>.footer,:host .gds-slide-out>footer{display:flex;justify-content:flex-end}}@media (max-width: 35.98em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-top:.75rem}}@media (min-width: 36em){:host .gds-slide-out>.footer button+button,:host .gds-slide-out>.footer button+.button,:host .gds-slide-out>.footer .button+button,:host .gds-slide-out>.footer .button+.button,:host .gds-slide-out>footer button+button,:host .gds-slide-out>footer button+.button,:host .gds-slide-out>footer .button+button,:host .gds-slide-out>footer .button+.button{margin-left:.75rem}}:host .gds-slide-out.is-entering,:host .gds-slide-out.entered{transform:translate(0)}:host .gds-slide-out.is-exiting{transform:translate(100%)}:host .gds-slide-out.large{max-width:720px}:host .gds-slide-out>.body{flex:1 0}:host .gds-slide-out.left{left:0}:host .gds-slide-out.gds-slide-out--768{max-width:48rem}:host .gds-slide-out.gds-slide-out--960{max-width:60rem}:host .gds-slide-out.gds-slide-out--768 header,:host .gds-slide-out.gds-slide-out--960 header{padding:1.5rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 .body,:host .gds-slide-out.gds-slide-out--960 .body{padding:2rem 2rem 1rem}:host .gds-slide-out.gds-slide-out--768 footer,:host .gds-slide-out.gds-slide-out--960 footer{padding:1rem 2rem 2rem}:host .gds-slide-out.auto-width{width:auto;max-width:initial}:host .hide-if-empty:empty{display:none}:host .gds-backdrop{background:#00000059;inset:0;position:fixed;z-index:1040;display:block;transition:opacity .5s cubic-bezier(.33,1,.68,1)}:host .gds-backdrop--transparent{opacity:0}:host .gds-backdrop--transparent.entered,:host .gds-backdrop--transparent.is-entering{opacity:1}:host .gds-backdrop--transparent.is-exiting{opacity:0}:host .gds-slide-out__content{padding:1rem;overflow:auto;width:100%}:host .gds-slide-out__content p{margin-bottom:0;margin-top:0}:host #sdv-modal-body{flex:1}\n"] }]
188
188
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { slideOutRef: [{
189
189
  type: ViewChild,
190
190
  args: ['slideOut']
@@ -226,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
226
226
  type: HostListener,
227
227
  args: ['keydown', ['$event']]
228
228
  }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL21vZGFsL3NsaWRlLW91dC9zbGlkZS1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwvc2xpZGUtb3V0L3NsaWRlLW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBOzs7QUFNdEI7Ozs7Ozs7Ozs7O0dBV0c7QUEyREgsTUFBTSxPQUFPLG9CQUFvQjtJQTJCL0IsZ0JBQWdCO0lBQ2hCLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUE7SUFDN0IsQ0FBQztJQU1ELDZIQUE2SDtJQUM3SCxJQUFhLE9BQU8sQ0FBQyxPQUFzQjtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtJQUN6QixDQUFDO0lBWUQsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQS9DcEMsa0RBQWtEO1FBQ3pDLFNBQUksR0FBcUIsT0FBTyxDQUFBO1FBQ3pDLDZEQUE2RDtRQUNwRCxVQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ3RCLHlEQUF5RDtRQUNoRCxtQkFBYyxHQUFHLEtBQUssQ0FBQTtRQVUvQixnRkFBZ0Y7UUFDdkUsYUFBUSxHQUFHLElBQUksQ0FBQTtRQUN4QixpRUFBaUU7UUFD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QUFDLENBQ3hCLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CO2lDQUNGLENBQUM7NkJBQ0gsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIO2lHQUlzQixXQUFXO3NCQUFqQyxTQUFTO3VCQUFDLFVBQVU7Z0JBR1osSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBWU8sT0FBTztzQkFBbkIsS0FBSztnQkFLSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQXNEUCxLQUFLO3NCQUZKLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQzs7c0JBQzFDLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0JuRCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgZ3JvdXAsXG4gIHF1ZXJ5LFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG4vLyBpbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3Byby1yZWd1bGFyLXN2Zy1pY29ucyc7XG5cbmltcG9ydCB7IERpYWxvZ0J1dHRvbnMgfSBmcm9tICcuLi9tb2RhbC50eXBlcydcblxuLyoqIE1vZGFsIHNsaWRlLW91dCBjb21wb25lbnQgYmFzZWQgb24gdmFuaWxsYSBwYXR0ZXJuIGxpYnJhcnkgZGVzaWduLlxuICogVGhlIG1vZGFsIHRpdGxlIGNhbiBiZSBzZXQgdXNpbmcgdGhlIEBJbnB1dCBoZWFkaW5nLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHRyYW5zbGF0ZWQgaWZcbiAqIHRoZSBzdHJpbmcgbWF0Y2hlcyBhIGNtcyBrZXkuXG4gKiBDb250ZW50IGNhbiBiZSBpbmplY3RlZCBpbnRvIHRoZSBib2R5IG9mIHRoZSBzbGlkZS1vdXQgYnkgZWl0aGVyIHNldHRpbmcgdGhlIEBJbnB1dCBjb250ZW50IHRvIGFueSB0eXBlIG9mXG4gKiBtYXJrZG93biwgb3IgdXNpbmcgY29udGVudCBwcm9qZWN0aW9uIChhZGRpbmcgY29udGVudCBiZXR3ZWVuIHRoZSBgbmdndi1zbGlkZW91dC1tb2RhbGAtc3RhcnQgYW5kIGVuZCB0YWcpLlxuICogSWYgdGhlIGNvbnRlbnQgbmVlZHMgdG8gc3RyZXRjaCBvdXRzaWRlIHRoZSBub3JtYWwgcGFkZGVkIGFyZWEsIGFkZCB0aGUgYXR0cmlidXRlIGBzbG90PVwib3V0c2lkZS1jb250ZW50XCJgIHRvIHRoZVxuICogcHJvamVjdGVkIGNvbnRlbnQgbWFpbiBlbGVtZW50LlxuICogVGVzdCBob29rczpcbiAqIFRoZSBtb2RhbCBob29rIGRlZmF1bHRzIHRvICdzbGlkZW91dCcgYnV0IGlzIGN1c3RvbWl6ZWFibGUuXG4gKiBUaGUgY2xvc2luZyBidXR0b24gY2FuIGJlIHNlbGVjdGVkIHVzaW5nICdzbGlkZW91dC1jbG9zZScuXG4gKiBUaGUgYmFja2Ryb3AgaXMgc2VsZWN0YWJsZSB1c2luZyAnc2xpZGVvdXQtYmFja2Ryb3AnLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2d2LXNsaWRlb3V0LW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlLW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NsaWRlLW91dC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignbW9kYWxBbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHF1ZXJ5KCcuZ2RzLXNsaWRlLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksIHtcbiAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIHF1ZXJ5KCcuZ2RzLWJhY2tkcm9wLCBbcm9sZT1kaWFsb2ddJywgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSksIHtcbiAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwKFtcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICcuZ2RzLXNsaWRlLW91dCcsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICcuZ2RzLWJhY2tkcm9wLCBbcm9sZT1kaWFsb2ddJyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcxJyB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgXSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgcXVlcnkoJy5nZHMtc2xpZGUtb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtc2xpZGUtb3V0JyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzAnIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZTbGlkZU91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnc2xpZGVPdXQnKSBzbGlkZU91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTZXRzIGZyb20gd2hpY2ggc2lkZSB0aGUgbW9kYWwgc2hvdWxkIG9wZW4uICovXG4gIEBJbnB1dCgpIHNpZGU6ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnXG4gIC8qKiBEZWZpbmVzIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHNsaWRlLW91dC4gKi9cbiAgQElucHV0KCkgc2hvd24gPSBmYWxzZVxuICAvKiogRGVmaW5lcyB0aGUgZGVmYXVsdCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBtb2RhbC4gKi9cbiAgQElucHV0KCkgaW5pdGlhbGx5U2hvd24gPSBmYWxzZVxuICAvKiogU2V0cyBtb2RhbCBoZWFkaW5nLiBXaWxsIGJlIHRyYW5zbGF0ZWQgKHVzaW5nIHRyYW5zbG9jbykgaWYgdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS4gKi9cbiAgQElucHV0KCkgaGVhZGluZyE6IHN0cmluZ1xuICAvKipcbiAgICogU2V0cyBtb2RhbCB0aXRsZS4gV2lsbCBiZSB0cmFuc2xhdGVkICh1c2luZyB0cmFuc2xvY28pIGlmIHRoZSBzdHJpbmcgbWF0Y2hlcyBhIGNtcyBrZXkuXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIEBJbnB1dCgpIGhlYWRpbmcgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nXG4gIC8qKiBTZXRzIGNvbnRlbnQgYm9keSBvZiB0aGUgbW9kYWwgYW5kIGNhbiBjb250YWluIGh0bWwgY29kZS4gVGhlIGNvbnRlbnQgYm9keSBjYW4gYWxzbyBiZSBzZXQgYnkgbmVzdGluZyBjaGlsZHJlbiB0byB0aGUgbW9kYWwgdGFnLiAqL1xuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBTZXRzIHdoZXRoZXIgaXQgaXMgcG9zc2libGUgdG8gY2xvc2UgdGhlIG1vZGFsIGZyb20gdGhlIHRvcCByaWdodCBjb3JuZXIuICovXG4gIEBJbnB1dCgpIGNsb3NhYmxlID0gdHJ1ZVxuICAvKiogQWxsb3dzIHRoZSBtb2RhbCBjb250ZW50IHRvIGRlY2lkZSB0aGUgd2lkdGggb2YgdGhlIG1vZGFsLiAqL1xuICBASW5wdXQoKSBhdXRvV2lkdGggPSBmYWxzZVxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASW5wdXQoKSB0aG9vayA9ICdzbGlkZW91dCdcblxuICAvKiogQGludGVybmFsICovXG4gIGdldCBmcm9tTGVmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaWRlID09PSAnbGVmdCdcbiAgfVxuXG4gIC8vIC8qKiBAaW50ZXJuYWwgKi9cbiAgLy8gY2xvc2VJY29uID0gZmFUaW1lcztcblxuICBfYnV0dG9uczogRGlhbG9nQnV0dG9ucyB8IHVuZGVmaW5lZFxuICAvKiogQnV0dG9ucyBhcmUgZGVmaW5lZCBhcyBhIGtleS12YWx1ZSBwYWlyIHdoZXJlIGtleSBpcyBvbmUgb2YgXCJwb3NpdGl2ZXxuZXV0cmFsfG5lZ2F0aXZlXCIgYW5kIHZhbHVlIGlzIHRoZSBidXR0b24gbGFiZWwuICovXG4gIEBJbnB1dCgpIHNldCBidXR0b25zKGJ1dHRvbnM6IERpYWxvZ0J1dHRvbnMpIHtcbiAgICB0aGlzLl9idXR0b25zID0gYnV0dG9uc1xuICB9XG5cbiAgLyoqIFdpbGwgZW1pdCB0cnVlIG9uIGNsb3NpbmcgZXZlbnQuICovXG4gIEBPdXRwdXQoKSBuZ2d2Q2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAT3V0cHV0KCkgbmdndlBvc2l0aXZlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZXV0cmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZWdhdGl2ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgcHJpdmF0ZSBwcmV2aW91czogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBmaXJzdEZvY3VzYWJsZTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBsYXN0Rm9jdXNhYmxlOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogRWxlbWVudFJlZikge1xuICAgIC8vIGFwcGVuZHMgbWV0aG9kcyBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBtb2RhbCB0byBuYXRpdmUgZWxlbWVudFxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50Lm9wZW4gPSB0aGlzLm9wZW4uYmluZCh0aGlzKVxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNsb3NlID0gdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3duID0gdGhpcy5pbml0aWFsbHlTaG93blxuICAgIGlmICh0aGlzLnNob3duKSB0aGlzLmxpbWl0Rm9jdXNhYmxlKClcbiAgfVxuXG4gIHB1YmxpYyBvbkFjdGlvbihldmVudDogRXZlbnQsIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlICdwb3NpdGl2ZSc6XG4gICAgICAgIHRoaXMubmdndlBvc2l0aXZlRXZlbnQuZW1pdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICduZXV0cmFsJzpcbiAgICAgICAgdGhpcy5uZ2d2TmV1dHJhbEV2ZW50LmVtaXQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbmVnYXRpdmUnOlxuICAgICAgICB0aGlzLm5nZ3ZOZWdhdGl2ZUV2ZW50LmVtaXQoKVxuICAgICAgICBicmVha1xuICAgIH1cbiAgICB0aGlzLmNsb3NlKGV2ZW50LCAnYWN0aW9uJylcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgb24gYSBtb2RhbCBlbGVtZW50LiBPcGVucyB0aGUgbW9kYWwgYW5kIHNldHMgZm9jdXMgdG8gdGhlIGxhc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0gb3BlbmVyIC0gcmVmZXJlbmNlIHRvIGxhc3QgZm9jdXNlZCBlbGVtZW50IGJlZm9yZSBvcGVuaW5nIG1vZGFsXG4gICAqIEByZXR1cm5zIC0gdHJ1ZVxuICAgKi9cbiAgb3BlbihvcGVuZXI/OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuc2hvd24gPSB0cnVlXG4gICAgdGhpcy5wcmV2aW91cyA9IG9wZW5lciB8fCAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudClcbiAgICB0aGlzLmxpbWl0Rm9jdXNhYmxlKClcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiBhIG1vZGFsIGVsZW1lbnQuIENsb3NlcyB0aGUgbW9kYWwgYW5kIGVtaXRzIGEgYG5nZ3ZDbG9zZUV2ZW50YC4gU2V0cyBmb2N1cyB0byB0aGUgbGF0cyBmb2N1c2VkIGVsZW1lbnQgaWYgYW4gZWxlbWVudCB3YXMgc2VudCBpbiB0byBvcGVuIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluaXRpYXRvclxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICdcImhvc3RcIiddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIGNsb3NlKGV2ZW50PzogRXZlbnQsIGluaXRpYXRvcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGluaXRpYXRvciA9PT0gJ2hvc3QnICYmXG4gICAgICBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgJiZcbiAgICAgIGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldFxuICAgIClcbiAgICAgIHJldHVyblxuICAgIGlmICh0aGlzLnNob3duICYmIHRoaXMuY2xvc2FibGUpIHtcbiAgICAgIHRoaXMubmdndkNsb3NlRXZlbnQuZW1pdCh0aGlzLnNob3duKVxuICAgICAgdGhpcy5zaG93biA9IGZhbHNlXG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByZXZpb3VzKSB0aGlzLnByZXZpb3VzLmZvY3VzKClcbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IHVuZGVmaW5lZFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBmb2N1c1RyYXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgcmV0dXJuXG4gICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAvLyBzaGlmdCArIHRhYlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmxhc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5maXJzdEZvY3VzYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGFiXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5sYXN0Rm9jdXNhYmxlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5maXJzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpbWl0Rm9jdXNhYmxlKCkge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zbGlkZU91dFJlZikgcmV0dXJuXG4gICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLnNsaWRlT3V0UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICAgIClcbiAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgPSBmb2N1c2FibGVbMF1cbiAgICAgIHRoaXMubGFzdEZvY3VzYWJsZSA9IGZvY3VzYWJsZVtmb2N1c2FibGUubGVuZ3RoIC0gMV1cbiAgICAgIGlmICh0aGlzLmxhc3RGb2N1c2FibGUpIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgfSlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3duXCI+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ2RzLXNsaWRlLW91dC0tbGVmdCc6IGZyb21MZWZ0LFxuICAgICAgJ2dkcy1zbGlkZS1vdXQtLXJpZ2h0JzogIWZyb21MZWZ0LFxuICAgIH1cIlxuICAgICp0cmFuc2xvY289XCJsZXQgdFwiXG4gICAgW2NsYXNzLi1hY3RpdmVdPVwic2hvd25cIlxuICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2tcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFzaG93blwiXG4gICAgW0Btb2RhbEFuaW1hdGlvbl1cbiAgPlxuICAgIDxkaXZcbiAgICAgICNzbGlkZU91dFxuICAgICAgY2xhc3M9XCJnZHMtc2xpZGUtb3V0XCJcbiAgICAgIFtjbGFzcy5hdXRvLXdpZHRoXT1cImF1dG9XaWR0aFwiXG4gICAgICBbY2xhc3MuZW50ZXJlZF09XCJzaG93blwiXG4gICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNkdi1tb2RhbC10aXRsZVwiXG4gICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwic2R2LW1vZGFsLWJvZHlcIlxuICAgID5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJnZHMtc2xpZGUtb3V0X19oZWFkZXJcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiZ2RzLXNsaWRlLW91dF9faGVhZGluZ1wiIGlkPVwic2R2LW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAge3sgaGVhZGluZyB8fCB0aXRsZSB8fCAnJyB9fVxuICAgICAgICA8L2gzPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJtb2RhbC1jbG9zZS1idXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJ0aGlzLmNsb3NlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICAgICAgICAgIDxpPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPHNlY3Rpb24gaWQ9XCJzZHYtbW9kYWwtYm9keVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLXNsaWRlLW91dF9fY29udGVudCBoaWRlLWlmLWVtcHR5XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRlbnRcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0nb3V0c2lkZS1jb250ZW50J11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxmb290ZXIgY2xhc3M9XCJzZHYtbW9kYWwtZGlhbG9nX19hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImRhbmdlclwiXG4gICAgICAgICAgdHlwZT1cInJlc2V0XCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cIidkaWFsb2ctJyArIChfYnV0dG9ucz8ubmVnYXRpdmUgfHwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbigkZXZlbnQsICduZWdhdGl2ZScpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICduZWdhdGl2ZScpXCJcbiAgICAgICAgICAqbmdJZj1cIl9idXR0b25zICYmIF9idXR0b25zLm5lZ2F0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHQoX2J1dHRvbnMubmVnYXRpdmUpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNlY29uZGFyeVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10aG9va109XCInZGlhbG9nLScgKyAoX2J1dHRvbnM/Lm5ldXRyYWwgfHwgJ25ldXRyYWwnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ25ldXRyYWwnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb24oJGV2ZW50LCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAqbmdJZj1cIl9idXR0b25zICYmIF9idXR0b25zLm5ldXRyYWxcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5uZXV0cmFsKSB9fVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10aG9va109XCInZGlhbG9nLScgKyAoX2J1dHRvbnM/LnBvc2l0aXZlIHx8ICdwb3NpdGl2ZScpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb24oJGV2ZW50LCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKm5nSWY9XCJfYnV0dG9ucyAmJiBfYnV0dG9ucy5wb3NpdGl2ZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0KF9idXR0b25zLnBvc2l0aXZlKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZm9vdGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJnZHMtYmFja2Ryb3BcIlxuICAgICAgZGF0YS10aG9vaz1cInNsaWRlb3V0LWJhY2tkcm9wXCJcbiAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICA+PC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL21vZGFsL3NsaWRlLW91dC9zbGlkZS1vdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvbW9kYWwvc2xpZGUtb3V0L3NsaWRlLW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsT0FBTyxFQUNQLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEdBQ1IsTUFBTSxxQkFBcUIsQ0FBQTtBQUM1QixPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBOzs7QUFNdEI7Ozs7Ozs7Ozs7O0dBV0c7QUEyREgsTUFBTSxPQUFPLG9CQUFvQjtJQTJCL0IsZ0JBQWdCO0lBQ2hCLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUE7SUFDN0IsQ0FBQztJQU1ELDZIQUE2SDtJQUM3SCxJQUFhLE9BQU8sQ0FBQyxPQUFzQjtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtJQUN6QixDQUFDO0lBWUQsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQS9DcEMsa0RBQWtEO1FBQ3pDLFNBQUksR0FBcUIsT0FBTyxDQUFBO1FBQ3pDLDZEQUE2RDtRQUNwRCxVQUFLLEdBQUcsS0FBSyxDQUFBO1FBQ3RCLHlEQUF5RDtRQUNoRCxtQkFBYyxHQUFHLEtBQUssQ0FBQTtRQVUvQixnRkFBZ0Y7UUFDdkUsYUFBUSxHQUFHLElBQUksQ0FBQTtRQUN4QixpRUFBaUU7UUFD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QUFDLENBQ3hCLEVBQ0QsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQ25CO2lDQUNGLENBQUM7NkJBQ0gsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIO2lHQUlzQixXQUFXO3NCQUFqQyxTQUFTO3VCQUFDLFVBQVU7Z0JBR1osSUFBSTtzQkFBWixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFHRyxLQUFLO3NCQUFiLEtBQUs7Z0JBWU8sT0FBTztzQkFBbkIsS0FBSztnQkFLSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQXNEUCxLQUFLO3NCQUZKLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQzs7c0JBQzFDLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0JuRCxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYW5pbWF0ZSxcbiAgZ3JvdXAsXG4gIHF1ZXJ5LFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG4vLyBpbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3Byby1yZWd1bGFyLXN2Zy1pY29ucyc7XG5cbmltcG9ydCB7IERpYWxvZ0J1dHRvbnMgfSBmcm9tICcuLi9tb2RhbC50eXBlcydcblxuLyoqIE1vZGFsIHNsaWRlLW91dCBjb21wb25lbnQgYmFzZWQgb24gdmFuaWxsYSBwYXR0ZXJuIGxpYnJhcnkgZGVzaWduLlxuICogVGhlIG1vZGFsIHRpdGxlIGNhbiBiZSBzZXQgdXNpbmcgdGhlIEBJbnB1dCBoZWFkaW5nLCBhbmQgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIHRyYW5zbGF0ZWQgaWZcbiAqIHRoZSBzdHJpbmcgbWF0Y2hlcyBhIGNtcyBrZXkuXG4gKiBDb250ZW50IGNhbiBiZSBpbmplY3RlZCBpbnRvIHRoZSBib2R5IG9mIHRoZSBzbGlkZS1vdXQgYnkgZWl0aGVyIHNldHRpbmcgdGhlIEBJbnB1dCBjb250ZW50IHRvIGFueSB0eXBlIG9mXG4gKiBtYXJrZG93biwgb3IgdXNpbmcgY29udGVudCBwcm9qZWN0aW9uIChhZGRpbmcgY29udGVudCBiZXR3ZWVuIHRoZSBgbmdndi1zbGlkZW91dC1tb2RhbGAtc3RhcnQgYW5kIGVuZCB0YWcpLlxuICogSWYgdGhlIGNvbnRlbnQgbmVlZHMgdG8gc3RyZXRjaCBvdXRzaWRlIHRoZSBub3JtYWwgcGFkZGVkIGFyZWEsIGFkZCB0aGUgYXR0cmlidXRlIGBzbG90PVwib3V0c2lkZS1jb250ZW50XCJgIHRvIHRoZVxuICogcHJvamVjdGVkIGNvbnRlbnQgbWFpbiBlbGVtZW50LlxuICogVGVzdCBob29rczpcbiAqIFRoZSBtb2RhbCBob29rIGRlZmF1bHRzIHRvICdzbGlkZW91dCcgYnV0IGlzIGN1c3RvbWl6ZWFibGUuXG4gKiBUaGUgY2xvc2luZyBidXR0b24gY2FuIGJlIHNlbGVjdGVkIHVzaW5nICdzbGlkZW91dC1jbG9zZScuXG4gKiBUaGUgYmFja2Ryb3AgaXMgc2VsZWN0YWJsZSB1c2luZyAnc2xpZGVvdXQtYmFja2Ryb3AnLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2d2LXNsaWRlb3V0LW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlLW91dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NsaWRlLW91dC5jb21wb25lbnQuc2NzcyddLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignbW9kYWxBbmltYXRpb24nLCBbXG4gICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgIHF1ZXJ5KCcuZ2RzLXNsaWRlLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksIHtcbiAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIHF1ZXJ5KCcuZ2RzLWJhY2tkcm9wLCBbcm9sZT1kaWFsb2ddJywgc3R5bGUoeyBvcGFjaXR5OiAnMCcgfSksIHtcbiAgICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgfSksXG4gICAgICAgIGdyb3VwKFtcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICcuZ2RzLXNsaWRlLW91dCcsXG4gICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAnMzUwbXMgY3ViaWMtYmV6aWVyKDAuMzMsIDEsIDAuNjgsIDEpJyxcbiAgICAgICAgICAgICAgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgICBxdWVyeShcbiAgICAgICAgICAgICcuZ2RzLWJhY2tkcm9wLCBbcm9sZT1kaWFsb2ddJyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6ICcxJyB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB7IG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgICAgKSxcbiAgICAgICAgXSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgcXVlcnkoJy5nZHMtc2xpZGUtb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDApJyB9KSwge1xuICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICB9KSxcbiAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtc2xpZGUtb3V0JyxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICczNTBtcyBjdWJpYy1iZXppZXIoMC4zMywgMSwgMC42OCwgMSknLFxuICAgICAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHF1ZXJ5KFxuICAgICAgICAgICAgJy5nZHMtYmFja2Ryb3AsIFtyb2xlPWRpYWxvZ10nLFxuICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgJzM1MG1zIGN1YmljLWJlemllcigwLjMzLCAxLCAwLjY4LCAxKScsXG4gICAgICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogJzAnIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHsgb3B0aW9uYWw6IHRydWUgfSxcbiAgICAgICAgICApLFxuICAgICAgICBdKSxcbiAgICAgIF0pLFxuICAgIF0pLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3ZTbGlkZU91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgQFZpZXdDaGlsZCgnc2xpZGVPdXQnKSBzbGlkZU91dFJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZFxuXG4gIC8qKiBTZXRzIGZyb20gd2hpY2ggc2lkZSB0aGUgbW9kYWwgc2hvdWxkIG9wZW4uICovXG4gIEBJbnB1dCgpIHNpZGU6ICdsZWZ0JyB8ICdyaWdodCcgPSAncmlnaHQnXG4gIC8qKiBEZWZpbmVzIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkgc3RhdGUgb2YgdGhlIHNsaWRlLW91dC4gKi9cbiAgQElucHV0KCkgc2hvd24gPSBmYWxzZVxuICAvKiogRGVmaW5lcyB0aGUgZGVmYXVsdCB2aXNpYmlsaXR5IHN0YXRlIG9mIHRoZSBtb2RhbC4gKi9cbiAgQElucHV0KCkgaW5pdGlhbGx5U2hvd24gPSBmYWxzZVxuICAvKiogU2V0cyBtb2RhbCBoZWFkaW5nLiBXaWxsIGJlIHRyYW5zbGF0ZWQgKHVzaW5nIHRyYW5zbG9jbykgaWYgdGhlIHN0cmluZyBtYXRjaGVzIGEgY21zIGtleS4gKi9cbiAgQElucHV0KCkgaGVhZGluZyE6IHN0cmluZ1xuICAvKipcbiAgICogU2V0cyBtb2RhbCB0aXRsZS4gV2lsbCBiZSB0cmFuc2xhdGVkICh1c2luZyB0cmFuc2xvY28pIGlmIHRoZSBzdHJpbmcgbWF0Y2hlcyBhIGNtcyBrZXkuXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIEBJbnB1dCgpIGhlYWRpbmcgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpIHRpdGxlITogc3RyaW5nXG4gIC8qKiBTZXRzIGNvbnRlbnQgYm9keSBvZiB0aGUgbW9kYWwgYW5kIGNhbiBjb250YWluIGh0bWwgY29kZS4gVGhlIGNvbnRlbnQgYm9keSBjYW4gYWxzbyBiZSBzZXQgYnkgbmVzdGluZyBjaGlsZHJlbiB0byB0aGUgbW9kYWwgdGFnLiAqL1xuICBASW5wdXQoKSBjb250ZW50Pzogc3RyaW5nXG4gIC8qKiBTZXRzIHdoZXRoZXIgaXQgaXMgcG9zc2libGUgdG8gY2xvc2UgdGhlIG1vZGFsIGZyb20gdGhlIHRvcCByaWdodCBjb3JuZXIuICovXG4gIEBJbnB1dCgpIGNsb3NhYmxlID0gdHJ1ZVxuICAvKiogQWxsb3dzIHRoZSBtb2RhbCBjb250ZW50IHRvIGRlY2lkZSB0aGUgd2lkdGggb2YgdGhlIG1vZGFsLiAqL1xuICBASW5wdXQoKSBhdXRvV2lkdGggPSBmYWxzZVxuXG4gIC8qKiBTcGVjaWFsIHByb3BlcnR5IHVzZWQgZm9yIHNlbGVjdGluZyBET00gZWxlbWVudHMgZHVyaW5nIGF1dG9tYXRlZCBVSSB0ZXN0aW5nLiAqL1xuICBASW5wdXQoKSB0aG9vayA9ICdzbGlkZW91dCdcblxuICAvKiogQGludGVybmFsICovXG4gIGdldCBmcm9tTGVmdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaWRlID09PSAnbGVmdCdcbiAgfVxuXG4gIC8vIC8qKiBAaW50ZXJuYWwgKi9cbiAgLy8gY2xvc2VJY29uID0gZmFUaW1lcztcblxuICBfYnV0dG9uczogRGlhbG9nQnV0dG9ucyB8IHVuZGVmaW5lZFxuICAvKiogQnV0dG9ucyBhcmUgZGVmaW5lZCBhcyBhIGtleS12YWx1ZSBwYWlyIHdoZXJlIGtleSBpcyBvbmUgb2YgXCJwb3NpdGl2ZXxuZXV0cmFsfG5lZ2F0aXZlXCIgYW5kIHZhbHVlIGlzIHRoZSBidXR0b24gbGFiZWwuICovXG4gIEBJbnB1dCgpIHNldCBidXR0b25zKGJ1dHRvbnM6IERpYWxvZ0J1dHRvbnMpIHtcbiAgICB0aGlzLl9idXR0b25zID0gYnV0dG9uc1xuICB9XG5cbiAgLyoqIFdpbGwgZW1pdCB0cnVlIG9uIGNsb3NpbmcgZXZlbnQuICovXG4gIEBPdXRwdXQoKSBuZ2d2Q2xvc2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKVxuICBAT3V0cHV0KCkgbmdndlBvc2l0aXZlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZXV0cmFsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KClcbiAgQE91dHB1dCgpIG5nZ3ZOZWdhdGl2ZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG5cbiAgcHJpdmF0ZSBwcmV2aW91czogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBmaXJzdEZvY3VzYWJsZTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBsYXN0Rm9jdXNhYmxlOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaG9zdDogRWxlbWVudFJlZikge1xuICAgIC8vIGFwcGVuZHMgbWV0aG9kcyBmb3Igb3BlbmluZyBhbmQgY2xvc2luZyBtb2RhbCB0byBuYXRpdmUgZWxlbWVudFxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50Lm9wZW4gPSB0aGlzLm9wZW4uYmluZCh0aGlzKVxuICAgIHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNsb3NlID0gdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNob3duID0gdGhpcy5pbml0aWFsbHlTaG93blxuICAgIGlmICh0aGlzLnNob3duKSB0aGlzLmxpbWl0Rm9jdXNhYmxlKClcbiAgfVxuXG4gIHB1YmxpYyBvbkFjdGlvbihldmVudDogRXZlbnQsIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlICdwb3NpdGl2ZSc6XG4gICAgICAgIHRoaXMubmdndlBvc2l0aXZlRXZlbnQuZW1pdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICduZXV0cmFsJzpcbiAgICAgICAgdGhpcy5uZ2d2TmV1dHJhbEV2ZW50LmVtaXQoKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnbmVnYXRpdmUnOlxuICAgICAgICB0aGlzLm5nZ3ZOZWdhdGl2ZUV2ZW50LmVtaXQoKVxuICAgICAgICBicmVha1xuICAgIH1cbiAgICB0aGlzLmNsb3NlKGV2ZW50LCAnYWN0aW9uJylcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgb24gYSBtb2RhbCBlbGVtZW50LiBPcGVucyB0aGUgbW9kYWwgYW5kIHNldHMgZm9jdXMgdG8gdGhlIGxhc3QgZm9jdXNhYmxlIGVsZW1lbnQgaW4gdGhlIG1vZGFsLlxuICAgKlxuICAgKiBAcGFyYW0gb3BlbmVyIC0gcmVmZXJlbmNlIHRvIGxhc3QgZm9jdXNlZCBlbGVtZW50IGJlZm9yZSBvcGVuaW5nIG1vZGFsXG4gICAqIEByZXR1cm5zIC0gdHJ1ZVxuICAgKi9cbiAgb3BlbihvcGVuZXI/OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuc2hvd24gPSB0cnVlXG4gICAgdGhpcy5wcmV2aW91cyA9IG9wZW5lciB8fCAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudClcbiAgICB0aGlzLmxpbWl0Rm9jdXNhYmxlKClcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiBhIG1vZGFsIGVsZW1lbnQuIENsb3NlcyB0aGUgbW9kYWwgYW5kIGVtaXRzIGEgYG5nZ3ZDbG9zZUV2ZW50YC4gU2V0cyBmb2N1cyB0byB0aGUgbGF0cyBmb2N1c2VkIGVsZW1lbnQgaWYgYW4gZWxlbWVudCB3YXMgc2VudCBpbiB0byBvcGVuIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIGluaXRpYXRvclxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICdcImhvc3RcIiddKVxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIGNsb3NlKGV2ZW50PzogRXZlbnQsIGluaXRpYXRvcj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGluaXRpYXRvciA9PT0gJ2hvc3QnICYmXG4gICAgICBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgJiZcbiAgICAgIGV2ZW50LnRhcmdldCAhPT0gZXZlbnQuY3VycmVudFRhcmdldFxuICAgIClcbiAgICAgIHJldHVyblxuICAgIGlmICh0aGlzLnNob3duICYmIHRoaXMuY2xvc2FibGUpIHtcbiAgICAgIHRoaXMubmdndkNsb3NlRXZlbnQuZW1pdCh0aGlzLnNob3duKVxuICAgICAgdGhpcy5zaG93biA9IGZhbHNlXG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByZXZpb3VzKSB0aGlzLnByZXZpb3VzLmZvY3VzKClcbiAgICAgICAgdGhpcy5wcmV2aW91cyA9IHVuZGVmaW5lZFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBmb2N1c1RyYXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgcmV0dXJuXG4gICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAvLyBzaGlmdCArIHRhYlxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmxhc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5maXJzdEZvY3VzYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gdGFiXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgJiZcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGhpcy5sYXN0Rm9jdXNhYmxlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5maXJzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxpbWl0Rm9jdXNhYmxlKCkge1xuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zbGlkZU91dFJlZikgcmV0dXJuXG4gICAgICBjb25zdCBmb2N1c2FibGUgPSB0aGlzLnNsaWRlT3V0UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgJ2J1dHRvbiwgW2hyZWZdLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyxcbiAgICAgIClcbiAgICAgIHRoaXMuZmlyc3RGb2N1c2FibGUgPSBmb2N1c2FibGVbMF1cbiAgICAgIHRoaXMubGFzdEZvY3VzYWJsZSA9IGZvY3VzYWJsZVtmb2N1c2FibGUubGVuZ3RoIC0gMV1cbiAgICAgIGlmICh0aGlzLmxhc3RGb2N1c2FibGUpIHRoaXMubGFzdEZvY3VzYWJsZS5mb2N1cygpXG4gICAgfSlcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3duXCI+XG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ2RzLXNsaWRlLW91dC0tbGVmdCc6IGZyb21MZWZ0LFxuICAgICAgJ2dkcy1zbGlkZS1vdXQtLXJpZ2h0JzogIWZyb21MZWZ0LFxuICAgIH1cIlxuICAgICp0cmFuc2xvY289XCJsZXQgdFwiXG4gICAgW2NsYXNzLi1hY3RpdmVdPVwic2hvd25cIlxuICAgIFthdHRyLmRhdGEtdGhvb2tdPVwidGhvb2tcIlxuICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiFzaG93blwiXG4gICAgW0Btb2RhbEFuaW1hdGlvbl1cbiAgPlxuICAgIDxkaXZcbiAgICAgICNzbGlkZU91dFxuICAgICAgY2xhc3M9XCJnZHMtc2xpZGUtb3V0XCJcbiAgICAgIFtjbGFzcy5hdXRvLXdpZHRoXT1cImF1dG9XaWR0aFwiXG4gICAgICBbY2xhc3MuZW50ZXJlZF09XCJzaG93blwiXG4gICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgIGFyaWEtbGFiZWxsZWRieT1cInNkdi1tb2RhbC10aXRsZVwiXG4gICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwic2R2LW1vZGFsLWJvZHlcIlxuICAgID5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJnZHMtc2xpZGUtb3V0X19oZWFkZXJcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiZ2RzLXNsaWRlLW91dF9faGVhZGluZ1wiIGlkPVwic2R2LW1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAge3sgaGVhZGluZyB8fCB0aXRsZSB8fCAnJyB9fVxuICAgICAgICA8L2gzPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgZGF0YS10ZXN0aWQ9XCJtb2RhbC1jbG9zZS1idXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiY2xvc2VcIlxuICAgICAgICAgIChjbGljayk9XCJ0aGlzLmNsb3NlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICAgICAgICAgIDxpPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAgPHNlY3Rpb24gaWQ9XCJzZHYtbW9kYWwtYm9keVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ2RzLXNsaWRlLW91dF9fY29udGVudCBoaWRlLWlmLWVtcHR5XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbnRlbnRcIiBbaW5uZXJIdG1sXT1cImNvbnRlbnRcIj48L2Rpdj5cbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc2xvdD0nb3V0c2lkZS1jb250ZW50J11cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NlY3Rpb24+XG5cbiAgICAgIDxmb290ZXIgY2xhc3M9XCJzZHYtbW9kYWwtZGlhbG9nX19hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImRhbmdlclwiXG4gICAgICAgICAgdHlwZT1cInJlc2V0XCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRob29rXT1cIidkaWFsb2ctJyArIChfYnV0dG9ucz8ubmVnYXRpdmUgfHwgJ25lZ2F0aXZlJylcIlxuICAgICAgICAgIChjbGljayk9XCJvbkFjdGlvbigkZXZlbnQsICduZWdhdGl2ZScpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFjdGlvbigkZXZlbnQsICduZWdhdGl2ZScpXCJcbiAgICAgICAgICAqbmdJZj1cIl9idXR0b25zICYmIF9idXR0b25zLm5lZ2F0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IHQoX2J1dHRvbnMubmVnYXRpdmUpIH19XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cInNlY29uZGFyeVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10aG9va109XCInZGlhbG9nLScgKyAoX2J1dHRvbnM/Lm5ldXRyYWwgfHwgJ25ldXRyYWwnKVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudCwgJ25ldXRyYWwnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb24oJGV2ZW50LCAnbmV1dHJhbCcpXCJcbiAgICAgICAgICAqbmdJZj1cIl9idXR0b25zICYmIF9idXR0b25zLm5ldXRyYWxcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgdChfYnV0dG9ucy5uZXV0cmFsKSB9fVxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10aG9va109XCInZGlhbG9nLScgKyAoX2J1dHRvbnM/LnBvc2l0aXZlIHx8ICdwb3NpdGl2ZScpXCJcbiAgICAgICAgICAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25BY3Rpb24oJGV2ZW50LCAncG9zaXRpdmUnKVwiXG4gICAgICAgICAgKm5nSWY9XCJfYnV0dG9ucyAmJiBfYnV0dG9ucy5wb3NpdGl2ZVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyB0KF9idXR0b25zLnBvc2l0aXZlKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZm9vdGVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJnZHMtYmFja2Ryb3BcIlxuICAgICAgZGF0YS10aG9vaz1cInNsaWRlb3V0LWJhY2tkcm9wXCJcbiAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICA+PC9kaXY+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=