@rangertechnologies/ngnxt 2.1.252 → 2.1.254

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 (106) hide show
  1. package/esm2022/environments/version.mjs +2 -2
  2. package/esm2022/lib/components/button/nxt-button.component.mjs +4 -4
  3. package/esm2022/lib/components/custom-calendar/custom-calendar.component.mjs +8 -5
  4. package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +13 -14
  5. package/esm2022/lib/components/custom-model/custom-model.component.mjs +5 -3
  6. package/esm2022/lib/components/custom-radio/custom-radio.component.mjs +11 -12
  7. package/esm2022/lib/components/datatable/datatable.component.mjs +7 -21
  8. package/esm2022/lib/components/file-upload/file-upload.component.mjs +13 -16
  9. package/esm2022/lib/components/icon-selector/icon-selector.component.mjs +5 -3
  10. package/esm2022/lib/components/list-view-filter/list-view-filter.component.mjs +9 -9
  11. package/esm2022/lib/components/nxt-input/nxt-input.component.mjs +24 -12
  12. package/esm2022/lib/components/pagination/pagination.component.mjs +3 -3
  13. package/esm2022/lib/components/pick-location/pick-location.component.mjs +10 -13
  14. package/esm2022/lib/components/search-box/search-box.component.mjs +14 -15
  15. package/esm2022/lib/model/bookletWrapper.mjs +1 -3
  16. package/esm2022/lib/nxt-app.module.mjs +9 -33
  17. package/esm2022/lib/pages/booklet/booklet.component.mjs +33 -100
  18. package/esm2022/lib/pages/builder/element/element.component.mjs +68 -61
  19. package/esm2022/lib/pages/builder/form/form.component.mjs +6 -3
  20. package/esm2022/lib/pages/builder/properties/common-fields.constants.mjs +11 -11
  21. package/esm2022/lib/pages/builder/properties/properties.component.mjs +235 -78
  22. package/esm2022/lib/pages/builder/templates/templates.component.mjs +5 -4
  23. package/esm2022/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.mjs +5 -46
  24. package/esm2022/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.mjs +50 -57
  25. package/esm2022/lib/pages/questionbook/questionbook.component.mjs +20 -59
  26. package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +17 -30
  27. package/esm2022/lib/pipe/custom-translate.pipe.mjs +21 -14
  28. package/esm2022/lib/pipe/svg/svg.pipe.mjs +26 -0
  29. package/esm2022/lib/services/change/change.service.mjs +46 -0
  30. package/esm2022/lib/services/country/country.service.mjs +135 -0
  31. package/esm2022/lib/services/data/data.service.mjs +100 -0
  32. package/esm2022/lib/services/form-builder/form-builder.service.mjs +474 -0
  33. package/esm2022/lib/services/pdf-designer/pdf-designer.service.mjs +395 -0
  34. package/esm2022/lib/services/salesforce/salesforce.service.mjs +41 -0
  35. package/esm2022/lib/services/shared/shared.service.mjs +100 -0
  36. package/esm2022/lib/services/storage/storage.service.mjs +59 -0
  37. package/esm2022/lib/services/template/template.service.mjs +335 -0
  38. package/esm2022/lib/services/translation/translation.service.mjs +121 -0
  39. package/esm2022/public-api.mjs +2 -5
  40. package/fesm2022/rangertechnologies-ngnxt.mjs +1147 -1285
  41. package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
  42. package/lib/components/button/nxt-button.component.d.ts +1 -1
  43. package/lib/components/custom-calendar/custom-calendar.component.d.ts +1 -1
  44. package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +3 -5
  45. package/lib/components/custom-radio/custom-radio.component.d.ts +3 -5
  46. package/lib/components/datatable/datatable.component.d.ts +3 -4
  47. package/lib/components/file-upload/file-upload.component.d.ts +3 -5
  48. package/lib/components/image-cropper/component/image-cropper.component.d.ts +1 -1
  49. package/lib/components/nxt-input/nxt-input.component.d.ts +2 -2
  50. package/lib/components/pick-location/pick-location.component.d.ts +1 -3
  51. package/lib/components/search-box/search-box.component.d.ts +5 -7
  52. package/lib/model/bookletWrapper.d.ts +0 -1
  53. package/lib/nxt-app.module.d.ts +15 -17
  54. package/lib/pages/booklet/booklet.component.d.ts +9 -11
  55. package/lib/pages/builder/element/element.component.d.ts +10 -7
  56. package/lib/pages/builder/form/form.component.d.ts +2 -1
  57. package/lib/pages/builder/properties/properties.component.d.ts +39 -7
  58. package/lib/pages/builder/templates/templates.component.d.ts +1 -1
  59. package/lib/pages/pdfDesigner/pdf-designer/pdf-designer.component.d.ts +1 -4
  60. package/lib/pages/pdfDesigner/pdf-properties/pdf-properties.component.d.ts +19 -2
  61. package/lib/pages/questionbook/questionbook.component.d.ts +7 -12
  62. package/lib/pages/questionnaire/questionnaire.component.d.ts +7 -9
  63. package/lib/pipe/custom-translate.pipe.d.ts +3 -4
  64. package/lib/pipe/svg/svg.pipe.d.ts +10 -0
  65. package/lib/services/{form-builder.service.d.ts → form-builder/form-builder.service.d.ts} +3 -2
  66. package/lib/services/{pdf-designer.service.d.ts → pdf-designer/pdf-designer.service.d.ts} +1 -1
  67. package/lib/services/{storage.service.d.ts → storage/storage.service.d.ts} +2 -2
  68. package/lib/services/{translation.service.d.ts → translation/translation.service.d.ts} +12 -1
  69. package/package.json +1 -1
  70. package/public-api.d.ts +1 -3
  71. package/rangertechnologies-ngnxt-2.1.254.tgz +0 -0
  72. package/esm2022/lib/ar.i18n.mjs +0 -29
  73. package/esm2022/lib/en.i18n.mjs +0 -29
  74. package/esm2022/lib/i18n-config.service.mjs +0 -4
  75. package/esm2022/lib/i18n.component.mjs +0 -45
  76. package/esm2022/lib/i18n.module.mjs +0 -38
  77. package/esm2022/lib/i18n.pipe.mjs +0 -26
  78. package/esm2022/lib/i18n.service.mjs +0 -56
  79. package/esm2022/lib/interfaces/apimeta.mjs +0 -2
  80. package/esm2022/lib/services/change.service.mjs +0 -46
  81. package/esm2022/lib/services/country.service.mjs +0 -135
  82. package/esm2022/lib/services/data.service.mjs +0 -100
  83. package/esm2022/lib/services/form-builder.service.mjs +0 -402
  84. package/esm2022/lib/services/pdf-designer.service.mjs +0 -398
  85. package/esm2022/lib/services/salesforce.service.mjs +0 -41
  86. package/esm2022/lib/services/shared.service.mjs +0 -100
  87. package/esm2022/lib/services/storage.service.mjs +0 -59
  88. package/esm2022/lib/services/template.service.mjs +0 -351
  89. package/esm2022/lib/services/translation.service.mjs +0 -61
  90. package/esm2022/lib/tam.i18n.mjs +0 -29
  91. package/lib/ar.i18n.d.ts +0 -24
  92. package/lib/en.i18n.d.ts +0 -24
  93. package/lib/i18n-config.service.d.ts +0 -2
  94. package/lib/i18n.component.d.ts +0 -11
  95. package/lib/i18n.module.d.ts +0 -9
  96. package/lib/i18n.pipe.d.ts +0 -10
  97. package/lib/i18n.service.d.ts +0 -14
  98. package/lib/interfaces/apimeta.d.ts +0 -15
  99. package/lib/tam.i18n.d.ts +0 -24
  100. package/rangertechnologies-ngnxt-2.1.252.tgz +0 -0
  101. /package/lib/services/{change.service.d.ts → change/change.service.d.ts} +0 -0
  102. /package/lib/services/{country.service.d.ts → country/country.service.d.ts} +0 -0
  103. /package/lib/services/{data.service.d.ts → data/data.service.d.ts} +0 -0
  104. /package/lib/services/{salesforce.service.d.ts → salesforce/salesforce.service.d.ts} +0 -0
  105. /package/lib/services/{shared.service.d.ts → shared/shared.service.d.ts} +0 -0
  106. /package/lib/services/{template.service.d.ts → template/template.service.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { Component, Output, EventEmitter } from '@angular/core';
2
+ import { NxtCustomTranslatePipe } from '../../../pipe/custom-translate.pipe';
2
3
  import * as i0 from "@angular/core";
3
- import * as i1 from "../../../services/template.service";
4
+ import * as i1 from "../../../services/template/template.service";
4
5
  export class AppTemplatesComponent {
5
6
  templateService;
6
7
  templateSelected = new EventEmitter();
@@ -23,12 +24,12 @@ export class AppTemplatesComponent {
23
24
  this.templateSelected.emit({ selectedTemplate, elements });
24
25
  }
25
26
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppTemplatesComponent, deps: [{ token: i1.TemplateService }], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AppTemplatesComponent, isStandalone: true, selector: "app-templates", outputs: { templateSelected: "templateSelected" }, ngImport: i0, template: "<!-- AP-08APR25 -->\n<!-- Templates Section Toggle -->\n<div class=\"field-container\" (click)=\"toggleSection('templates')\"\n style=\"background-color: #EFF8FF; border: 1px solid #E6F3FF; margin-bottom: 10px; display: flex; justify-content: space-between; padding: 10px; cursor: pointer;\">\n <div class=\"label-container\">\n <div class=\"head-elements\" style=\"font-weight: bold;\">Templates</div>\n </div>\n <img [src]=\"sections.templates ? '../assets/icons/arrow-down.svg' : '../assets/icons/arrow-right.svg'\"\n alt=\"Toggle Arrow\" class=\"arrow-icon\" />\n</div>\n\n<!-- Template List Section -->\n<div *ngIf=\"sections.templates\" class=\"template-container\">\n <div *ngFor=\"let template of templates\" class=\"field-container template-card\"\n (click)=\"selectTemplate(template.templateId)\"\n style=\"border: 1px solid #dbeafe; padding: 12px; margin-bottom: 10px; cursor: pointer; border-radius: 10px; background-color: #f8fafc;\">\n \n <div class=\"label-container\" style=\"display: flex; justify-content: space-between;\">\n <div>\n <label class=\"template-header\" style=\"font-weight: 600;\">{{ template.templateName }}</label>\n </div>\n </div>\n <div class=\"template-content\" style=\"margin-top: 5px; color: #555;\">{{ template.content }}</div>\n </div>\n</div>\n", styles: [".toggle-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px}.head-elements{font-size:17px;font-weight:600}.arrow-icon{width:19px;height:23px;transition:transform .3s ease}.toggle-header:hover .arrow-icon{transform:scale(1.1)}.template-card{border:1px solid #ddd;padding:10px;margin:10px 0;cursor:pointer;background-color:#f9f9f9;transition:background-color .3s}.template-card:hover{background-color:#eff8ff}.template-header{font-size:18px;font-weight:700}.template-content{font-size:14px;color:#555}\n"] });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AppTemplatesComponent, isStandalone: true, selector: "app-templates", outputs: { templateSelected: "templateSelected" }, ngImport: i0, template: "<!-- AP-08APR25 -->\n<!-- Templates Section Toggle -->\n<div class=\"field-container\" (click)=\"toggleSection('templates')\"\n style=\"background-color: #EFF8FF; border: 1px solid #E6F3FF; margin-bottom: 10px; display: flex; justify-content: space-between; padding: 10px; cursor: pointer;\">\n <div class=\"label-container\">\n <div class=\"head-elements\" style=\"font-weight: bold;\">{{ 'TEMPLATES' | nxtCustomTranslate : 'Templates' }}</div>\n </div>\n <img [src]=\"sections.templates ? '../assets/icons/arrow-down.svg' : '../assets/icons/arrow-right.svg'\"\n alt=\"{{ 'TOGGLE_ARROW' | nxtCustomTranslate : 'Toggle Arrow' }}\" class=\"arrow-icon\" />\n</div>\n\n<!-- Template List Section -->\n<div *ngIf=\"sections.templates\" class=\"template-container\">\n <div *ngFor=\"let template of templates\" class=\"field-container template-card\"\n (click)=\"selectTemplate(template.templateId)\"\n style=\"border: 1px solid #dbeafe; padding: 12px; margin-bottom: 10px; cursor: pointer; border-radius: 10px; background-color: #f8fafc;\">\n \n <div class=\"label-container\" style=\"display: flex; justify-content: space-between;\">\n <div>\n <label class=\"template-header\" style=\"font-weight: 600;\">{{ template.templateName }}</label>\n </div>\n </div>\n <div class=\"template-content\" style=\"margin-top: 5px; color: #555;\">{{ template.content }}</div>\n </div>\n</div>\n", styles: [".toggle-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px}.head-elements{font-size:17px;font-weight:600}.arrow-icon{width:19px;height:23px;transition:transform .3s ease}.toggle-header:hover .arrow-icon{transform:scale(1.1)}.template-card{border:1px solid #ddd;padding:10px;margin:10px 0;cursor:pointer;background-color:#f9f9f9;transition:background-color .3s}.template-card:hover{background-color:#eff8ff}.template-header{font-size:18px;font-weight:700}.template-content{font-size:14px;color:#555}\n"], dependencies: [{ kind: "pipe", type: NxtCustomTranslatePipe, name: "nxtCustomTranslate" }] });
27
28
  }
28
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppTemplatesComponent, decorators: [{
29
30
  type: Component,
30
- args: [{ selector: 'app-templates', standalone: true, template: "<!-- AP-08APR25 -->\n<!-- Templates Section Toggle -->\n<div class=\"field-container\" (click)=\"toggleSection('templates')\"\n style=\"background-color: #EFF8FF; border: 1px solid #E6F3FF; margin-bottom: 10px; display: flex; justify-content: space-between; padding: 10px; cursor: pointer;\">\n <div class=\"label-container\">\n <div class=\"head-elements\" style=\"font-weight: bold;\">Templates</div>\n </div>\n <img [src]=\"sections.templates ? '../assets/icons/arrow-down.svg' : '../assets/icons/arrow-right.svg'\"\n alt=\"Toggle Arrow\" class=\"arrow-icon\" />\n</div>\n\n<!-- Template List Section -->\n<div *ngIf=\"sections.templates\" class=\"template-container\">\n <div *ngFor=\"let template of templates\" class=\"field-container template-card\"\n (click)=\"selectTemplate(template.templateId)\"\n style=\"border: 1px solid #dbeafe; padding: 12px; margin-bottom: 10px; cursor: pointer; border-radius: 10px; background-color: #f8fafc;\">\n \n <div class=\"label-container\" style=\"display: flex; justify-content: space-between;\">\n <div>\n <label class=\"template-header\" style=\"font-weight: 600;\">{{ template.templateName }}</label>\n </div>\n </div>\n <div class=\"template-content\" style=\"margin-top: 5px; color: #555;\">{{ template.content }}</div>\n </div>\n</div>\n", styles: [".toggle-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px}.head-elements{font-size:17px;font-weight:600}.arrow-icon{width:19px;height:23px;transition:transform .3s ease}.toggle-header:hover .arrow-icon{transform:scale(1.1)}.template-card{border:1px solid #ddd;padding:10px;margin:10px 0;cursor:pointer;background-color:#f9f9f9;transition:background-color .3s}.template-card:hover{background-color:#eff8ff}.template-header{font-size:18px;font-weight:700}.template-content{font-size:14px;color:#555}\n"] }]
31
+ args: [{ selector: 'app-templates', standalone: true, imports: [NxtCustomTranslatePipe], template: "<!-- AP-08APR25 -->\n<!-- Templates Section Toggle -->\n<div class=\"field-container\" (click)=\"toggleSection('templates')\"\n style=\"background-color: #EFF8FF; border: 1px solid #E6F3FF; margin-bottom: 10px; display: flex; justify-content: space-between; padding: 10px; cursor: pointer;\">\n <div class=\"label-container\">\n <div class=\"head-elements\" style=\"font-weight: bold;\">{{ 'TEMPLATES' | nxtCustomTranslate : 'Templates' }}</div>\n </div>\n <img [src]=\"sections.templates ? '../assets/icons/arrow-down.svg' : '../assets/icons/arrow-right.svg'\"\n alt=\"{{ 'TOGGLE_ARROW' | nxtCustomTranslate : 'Toggle Arrow' }}\" class=\"arrow-icon\" />\n</div>\n\n<!-- Template List Section -->\n<div *ngIf=\"sections.templates\" class=\"template-container\">\n <div *ngFor=\"let template of templates\" class=\"field-container template-card\"\n (click)=\"selectTemplate(template.templateId)\"\n style=\"border: 1px solid #dbeafe; padding: 12px; margin-bottom: 10px; cursor: pointer; border-radius: 10px; background-color: #f8fafc;\">\n \n <div class=\"label-container\" style=\"display: flex; justify-content: space-between;\">\n <div>\n <label class=\"template-header\" style=\"font-weight: 600;\">{{ template.templateName }}</label>\n </div>\n </div>\n <div class=\"template-content\" style=\"margin-top: 5px; color: #555;\">{{ template.content }}</div>\n </div>\n</div>\n", styles: [".toggle-header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:10px}.head-elements{font-size:17px;font-weight:600}.arrow-icon{width:19px;height:23px;transition:transform .3s ease}.toggle-header:hover .arrow-icon{transform:scale(1.1)}.template-card{border:1px solid #ddd;padding:10px;margin:10px 0;cursor:pointer;background-color:#f9f9f9;transition:background-color .3s}.template-card:hover{background-color:#eff8ff}.template-header{font-size:18px;font-weight:700}.template-content{font-size:14px;color:#555}\n"] }]
31
32
  }], ctorParameters: () => [{ type: i1.TemplateService }], propDecorators: { templateSelected: [{
32
33
  type: Output
33
34
  }] } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9idWlsZGVyL3RlbXBsYXRlcy90ZW1wbGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL3BhZ2VzL2J1aWxkZXIvdGVtcGxhdGVzL3RlbXBsYXRlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVNoRSxNQUFNLE9BQU8scUJBQXFCO0lBS1o7SUFKVixnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3JELFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixRQUFRLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFFaEMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtJQUM3RSxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQW9CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxjQUFjLENBQUMsVUFBa0I7UUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFFOUIsaURBQWlEO1FBQ2pELE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQzlELENBQUM7UUFFRixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQzt3R0F4QlUscUJBQXFCOzRGQUFyQixxQkFBcUIsNEhDVGxDLHEwQ0F5QkE7OzRGRGhCYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUk7b0ZBS04sZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVtcGxhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdGVtcGxhdGUuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZW1wbGF0ZXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVtcGxhdGVzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBUZW1wbGF0ZXNDb21wb25lbnQge1xuICBAT3V0cHV0KCkgdGVtcGxhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICB0ZW1wbGF0ZXMgPSBbXTtcbiAgc2VjdGlvbnMgPSB7IHRlbXBsYXRlczogZmFsc2UgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRlbXBsYXRlU2VydmljZTogVGVtcGxhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy50ZW1wbGF0ZXMgPSB0aGlzLnRlbXBsYXRlU2VydmljZS5nZXRUZW1wbGF0ZXMoKTsgLy8gTG9hZCB0ZW1wbGF0ZSBsaXN0XG4gIH1cblxuICB0b2dnbGVTZWN0aW9uKHNlY3Rpb246ICd0ZW1wbGF0ZXMnKSB7XG4gICAgdGhpcy5zZWN0aW9uc1tzZWN0aW9uXSA9ICF0aGlzLnNlY3Rpb25zW3NlY3Rpb25dO1xuICB9XG5cbiAgc2VsZWN0VGVtcGxhdGUodGVtcGxhdGVJZDogbnVtYmVyKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWRUZW1wbGF0ZSA9IHRoaXMudGVtcGxhdGVzLmZpbmQodCA9PiB0LnRlbXBsYXRlSWQgPT09IHRlbXBsYXRlSWQpO1xuICAgIGlmICghc2VsZWN0ZWRUZW1wbGF0ZSkgcmV0dXJuO1xuXG4gICAgLy8gQ29udmVydCB0ZW1wbGF0ZSBlbGVtZW50IGRhdGEgdG8gZm9ybSBlbGVtZW50c1xuICAgIGNvbnN0IGVsZW1lbnRzID0gc2VsZWN0ZWRUZW1wbGF0ZS5lbGVtZW50cy5tYXAoKGVsLCBpbmRleCkgPT5cbiAgICAgIHRoaXMudGVtcGxhdGVTZXJ2aWNlLmluaXRpYWxpemVFbGVtZW50RnJvbVRlbXBsYXRlKGVsLCBpbmRleClcbiAgICApO1xuXG4gICAgLy8gRW1pdCBkYXRhIHRvIHBhcmVudFxuICAgIHRoaXMudGVtcGxhdGVTZWxlY3RlZC5lbWl0KHsgc2VsZWN0ZWRUZW1wbGF0ZSwgZWxlbWVudHMgfSk7XG4gIH1cbn0iLCI8IS0tIEFQLTA4QVBSMjUgLS0+XG48IS0tIFRlbXBsYXRlcyBTZWN0aW9uIFRvZ2dsZSAtLT5cbjxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXJcIiAoY2xpY2spPVwidG9nZ2xlU2VjdGlvbigndGVtcGxhdGVzJylcIlxuICAgICBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNFRkY4RkY7IGJvcmRlcjogMXB4IHNvbGlkICNFNkYzRkY7IG1hcmdpbi1ib3R0b206IDEwcHg7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgcGFkZGluZzogMTBweDsgY3Vyc29yOiBwb2ludGVyO1wiPlxuICA8ZGl2IGNsYXNzPVwibGFiZWwtY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWQtZWxlbWVudHNcIiBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkO1wiPlRlbXBsYXRlczwvZGl2PlxuICA8L2Rpdj5cbiAgPGltZyBbc3JjXT1cInNlY3Rpb25zLnRlbXBsYXRlcyA/ICcuLi9hc3NldHMvaWNvbnMvYXJyb3ctZG93bi5zdmcnIDogJy4uL2Fzc2V0cy9pY29ucy9hcnJvdy1yaWdodC5zdmcnXCJcbiAgICAgICBhbHQ9XCJUb2dnbGUgQXJyb3dcIiBjbGFzcz1cImFycm93LWljb25cIiAvPlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgTGlzdCBTZWN0aW9uIC0tPlxuPGRpdiAqbmdJZj1cInNlY3Rpb25zLnRlbXBsYXRlc1wiIGNsYXNzPVwidGVtcGxhdGUtY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IHRlbXBsYXRlIG9mIHRlbXBsYXRlc1wiIGNsYXNzPVwiZmllbGQtY29udGFpbmVyIHRlbXBsYXRlLWNhcmRcIlxuICAgICAgIChjbGljayk9XCJzZWxlY3RUZW1wbGF0ZSh0ZW1wbGF0ZS50ZW1wbGF0ZUlkKVwiXG4gICAgICAgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjZGJlYWZlOyBwYWRkaW5nOiAxMnB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7XCI+XG4gICAgXG4gICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidGVtcGxhdGUtaGVhZGVyXCIgc3R5bGU9XCJmb250LXdlaWdodDogNjAwO1wiPnt7IHRlbXBsYXRlLnRlbXBsYXRlTmFtZSB9fTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGVtcGxhdGUtY29udGVudFwiIHN0eWxlPVwibWFyZ2luLXRvcDogNXB4OyBjb2xvcjogIzU1NTtcIj57eyB0ZW1wbGF0ZS5jb250ZW50IH19PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9idWlsZGVyL3RlbXBsYXRlcy90ZW1wbGF0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LWFwcC9zcmMvbGliL3BhZ2VzL2J1aWxkZXIvdGVtcGxhdGVzL3RlbXBsYXRlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7OztBQVM3RSxNQUFNLE9BQU8scUJBQXFCO0lBS1o7SUFKVixnQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3JELFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDZixRQUFRLEdBQUcsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFFaEMsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2xELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQjtJQUM3RSxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQW9CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxjQUFjLENBQUMsVUFBa0I7UUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQjtZQUFFLE9BQU87UUFFOUIsaURBQWlEO1FBQ2pELE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDM0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQzlELENBQUM7UUFFRixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQzt3R0F4QlUscUJBQXFCOzRGQUFyQixxQkFBcUIsNEhDWGxDLDg1Q0F5QkEsdWxCRGxCVyxzQkFBc0I7OzRGQUlwQixxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUixDQUFDLHNCQUFzQixDQUFDO29GQUt0QixnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90ZW1wbGF0ZS90ZW1wbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE54dEN1c3RvbVRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlL2N1c3RvbS10cmFuc2xhdGUucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZW1wbGF0ZXMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOltOeHRDdXN0b21UcmFuc2xhdGVQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RlbXBsYXRlcy5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQXBwVGVtcGxhdGVzQ29tcG9uZW50IHtcbiAgQE91dHB1dCgpIHRlbXBsYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgdGVtcGxhdGVzID0gW107XG4gIHNlY3Rpb25zID0geyB0ZW1wbGF0ZXM6IGZhbHNlIH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0ZW1wbGF0ZVNlcnZpY2U6IFRlbXBsYXRlU2VydmljZSkge1xuICAgIHRoaXMudGVtcGxhdGVzID0gdGhpcy50ZW1wbGF0ZVNlcnZpY2UuZ2V0VGVtcGxhdGVzKCk7IC8vIExvYWQgdGVtcGxhdGUgbGlzdFxuICB9XG5cbiAgdG9nZ2xlU2VjdGlvbihzZWN0aW9uOiAndGVtcGxhdGVzJykge1xuICAgIHRoaXMuc2VjdGlvbnNbc2VjdGlvbl0gPSAhdGhpcy5zZWN0aW9uc1tzZWN0aW9uXTtcbiAgfVxuXG4gIHNlbGVjdFRlbXBsYXRlKHRlbXBsYXRlSWQ6IG51bWJlcikge1xuICAgIGNvbnN0IHNlbGVjdGVkVGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlcy5maW5kKHQgPT4gdC50ZW1wbGF0ZUlkID09PSB0ZW1wbGF0ZUlkKTtcbiAgICBpZiAoIXNlbGVjdGVkVGVtcGxhdGUpIHJldHVybjtcblxuICAgIC8vIENvbnZlcnQgdGVtcGxhdGUgZWxlbWVudCBkYXRhIHRvIGZvcm0gZWxlbWVudHNcbiAgICBjb25zdCBlbGVtZW50cyA9IHNlbGVjdGVkVGVtcGxhdGUuZWxlbWVudHMubWFwKChlbCwgaW5kZXgpID0+XG4gICAgICB0aGlzLnRlbXBsYXRlU2VydmljZS5pbml0aWFsaXplRWxlbWVudEZyb21UZW1wbGF0ZShlbCwgaW5kZXgpXG4gICAgKTtcblxuICAgIC8vIEVtaXQgZGF0YSB0byBwYXJlbnRcbiAgICB0aGlzLnRlbXBsYXRlU2VsZWN0ZWQuZW1pdCh7IHNlbGVjdGVkVGVtcGxhdGUsIGVsZW1lbnRzIH0pO1xuICB9XG59IiwiPCEtLSBBUC0wOEFQUjI1IC0tPlxuPCEtLSBUZW1wbGF0ZXMgU2VjdGlvbiBUb2dnbGUgLS0+XG48ZGl2IGNsYXNzPVwiZmllbGQtY29udGFpbmVyXCIgKGNsaWNrKT1cInRvZ2dsZVNlY3Rpb24oJ3RlbXBsYXRlcycpXCJcbiAgICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGOEZGOyBib3JkZXI6IDFweCBzb2xpZCAjRTZGM0ZGOyBtYXJnaW4tYm90dG9tOiAxMHB4OyBkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHBhZGRpbmc6IDEwcHg7IGN1cnNvcjogcG9pbnRlcjtcIj5cbiAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkLWVsZW1lbnRzXCIgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj57eyAnVEVNUExBVEVTJyB8IG54dEN1c3RvbVRyYW5zbGF0ZSA6ICdUZW1wbGF0ZXMnIH19PC9kaXY+XG4gIDwvZGl2PlxuICA8aW1nIFtzcmNdPVwic2VjdGlvbnMudGVtcGxhdGVzID8gJy4uL2Fzc2V0cy9pY29ucy9hcnJvdy1kb3duLnN2ZycgOiAnLi4vYXNzZXRzL2ljb25zL2Fycm93LXJpZ2h0LnN2ZydcIlxuICAgICAgIGFsdD1cInt7ICdUT0dHTEVfQVJST1cnIHwgbnh0Q3VzdG9tVHJhbnNsYXRlIDogJ1RvZ2dsZSBBcnJvdycgfX1cIiBjbGFzcz1cImFycm93LWljb25cIiAvPlxuPC9kaXY+XG5cbjwhLS0gVGVtcGxhdGUgTGlzdCBTZWN0aW9uIC0tPlxuPGRpdiAqbmdJZj1cInNlY3Rpb25zLnRlbXBsYXRlc1wiIGNsYXNzPVwidGVtcGxhdGUtY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nRm9yPVwibGV0IHRlbXBsYXRlIG9mIHRlbXBsYXRlc1wiIGNsYXNzPVwiZmllbGQtY29udGFpbmVyIHRlbXBsYXRlLWNhcmRcIlxuICAgICAgIChjbGljayk9XCJzZWxlY3RUZW1wbGF0ZSh0ZW1wbGF0ZS50ZW1wbGF0ZUlkKVwiXG4gICAgICAgc3R5bGU9XCJib3JkZXI6IDFweCBzb2xpZCAjZGJlYWZlOyBwYWRkaW5nOiAxMnB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1yYWRpdXM6IDEwcHg7IGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7XCI+XG4gICAgXG4gICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiIHN0eWxlPVwiZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwidGVtcGxhdGUtaGVhZGVyXCIgc3R5bGU9XCJmb250LXdlaWdodDogNjAwO1wiPnt7IHRlbXBsYXRlLnRlbXBsYXRlTmFtZSB9fTwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidGVtcGxhdGUtY29udGVudFwiIHN0eWxlPVwibWFyZ2luLXRvcDogNXB4OyBjb2xvcjogIzU1NTtcIj57eyB0ZW1wbGF0ZS5jb250ZW50IH19PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=