geonetwork-ui 2.2.0-dev.723017a4 → 2.2.0-dev.751c5530

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 (156) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +16 -4
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +3 -1
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.mjs +1 -1
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/converter.mjs +7 -2
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -1
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +1 -1
  7. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +2 -2
  8. package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
  9. package/esm2022/libs/feature/editor/src/index.mjs +6 -1
  10. package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +8 -0
  11. package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +26 -0
  12. package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +30 -0
  13. package/esm2022/libs/feature/editor/src/lib/+state/editor.models.mjs +2 -0
  14. package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +42 -0
  15. package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +13 -0
  16. package/esm2022/libs/feature/editor/src/lib/expressions.mjs +13 -0
  17. package/esm2022/libs/feature/editor/src/lib/feature-editor.module.mjs +16 -4
  18. package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +34 -0
  19. package/esm2022/libs/feature/editor/src/lib/models/fields.model.mjs +2 -0
  20. package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +15 -11
  21. package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +22 -44
  22. package/esm2022/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.mjs +13 -13
  23. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +3 -3
  24. package/esm2022/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.mjs +3 -3
  25. package/esm2022/libs/ui/elements/src/lib/max-lines/max-lines.component.mjs +5 -3
  26. package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
  27. package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +17 -5
  28. package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +3 -3
  29. package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +9 -9
  30. package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
  31. package/esm2022/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.mjs +3 -3
  32. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.component.mjs +4 -2
  33. package/esm2022/libs/ui/inputs/src/lib/form-field/form-field.model.mjs +1 -1
  34. package/esm2022/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.mjs +3 -3
  35. package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +3 -3
  36. package/esm2022/libs/util/i18n/src/lib/i18n.constants.mjs +18 -1
  37. package/esm2022/libs/util/shared/src/lib/utils/index.mjs +2 -1
  38. package/esm2022/libs/util/shared/src/lib/utils/temporal-extent-union.mjs +32 -0
  39. package/esm2022/translations/de.json +35 -26
  40. package/esm2022/translations/en.json +27 -18
  41. package/esm2022/translations/es.json +24 -15
  42. package/esm2022/translations/fr.json +45 -36
  43. package/esm2022/translations/it.json +39 -30
  44. package/esm2022/translations/nl.json +25 -16
  45. package/esm2022/translations/pt.json +24 -15
  46. package/fesm2022/geonetwork-ui.mjs +581 -300
  47. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  48. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  49. package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
  50. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts +1 -0
  51. package/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.d.ts.map +1 -1
  52. package/libs/api/metadata-converter/src/lib/iso19139/converter.d.ts.map +1 -1
  53. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts +1 -0
  54. package/libs/api/metadata-converter/src/lib/iso19139/read-parts.d.ts.map +1 -1
  55. package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
  56. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  57. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +3 -0
  58. package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
  59. package/libs/feature/editor/src/index.d.ts +5 -0
  60. package/libs/feature/editor/src/index.d.ts.map +1 -1
  61. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +23 -0
  62. package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -0
  63. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +15 -0
  64. package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -0
  65. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +19 -0
  66. package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -0
  67. package/libs/feature/editor/src/lib/+state/editor.models.d.ts +2 -0
  68. package/libs/feature/editor/src/lib/+state/editor.models.d.ts.map +1 -0
  69. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +18 -0
  70. package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -0
  71. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +15 -0
  72. package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -0
  73. package/libs/feature/editor/src/lib/expressions.d.ts +4 -0
  74. package/libs/feature/editor/src/lib/expressions.d.ts.map +1 -0
  75. package/libs/feature/editor/src/lib/feature-editor.module.d.ts +3 -1
  76. package/libs/feature/editor/src/lib/feature-editor.module.d.ts.map +1 -1
  77. package/libs/feature/editor/src/lib/fields.config.d.ts +3 -0
  78. package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -0
  79. package/libs/feature/editor/src/lib/models/fields.model.d.ts +15 -0
  80. package/libs/feature/editor/src/lib/models/fields.model.d.ts.map +1 -0
  81. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts +10 -5
  82. package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
  83. package/libs/feature/editor/src/lib/services/editor.service.d.ts +3 -13
  84. package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
  85. package/libs/ui/elements/src/lib/max-lines/max-lines.component.d.ts.map +1 -1
  86. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +6 -0
  87. package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
  88. package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
  89. package/libs/ui/inputs/src/lib/form-field/form-field.component.d.ts.map +1 -1
  90. package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts +0 -1
  91. package/libs/ui/inputs/src/lib/form-field/form-field.model.d.ts.map +1 -1
  92. package/libs/util/i18n/src/lib/i18n.constants.d.ts +17 -0
  93. package/libs/util/i18n/src/lib/i18n.constants.d.ts.map +1 -1
  94. package/libs/util/shared/src/lib/utils/index.d.ts +1 -0
  95. package/libs/util/shared/src/lib/utils/index.d.ts.map +1 -1
  96. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts +5 -0
  97. package/libs/util/shared/src/lib/utils/temporal-extent-union.d.ts.map +1 -0
  98. package/package.json +1 -1
  99. package/src/libs/api/metadata-converter/src/lib/fixtures/generic.records.ts +2 -0
  100. package/src/libs/api/metadata-converter/src/lib/fixtures/geo2france.records.ts +2 -0
  101. package/src/libs/api/metadata-converter/src/lib/fixtures/geocat-ch.records.ts +4 -0
  102. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +19 -3
  103. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +2 -0
  104. package/src/libs/api/metadata-converter/src/lib/gn4/types/metadata.model.ts +1 -0
  105. package/src/libs/api/metadata-converter/src/lib/iso19139/converter.ts +6 -0
  106. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +5 -1
  107. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +8 -2
  108. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +1 -1
  109. package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +4 -0
  110. package/src/libs/common/fixtures/src/lib/elasticsearch/full-response.ts +1 -1
  111. package/src/libs/common/fixtures/src/lib/records.fixtures.ts +33 -11
  112. package/src/libs/feature/editor/src/index.ts +5 -0
  113. package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +24 -0
  114. package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +49 -0
  115. package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +30 -0
  116. package/src/libs/feature/editor/src/lib/+state/editor.models.ts +1 -0
  117. package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +68 -0
  118. package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +39 -0
  119. package/src/libs/feature/editor/src/lib/expressions.ts +16 -0
  120. package/src/libs/feature/editor/src/lib/feature-editor.module.ts +11 -0
  121. package/src/libs/feature/editor/src/lib/fields.config.ts +35 -0
  122. package/src/libs/feature/editor/src/lib/models/fields.model.ts +29 -0
  123. package/src/libs/feature/editor/src/lib/record-form/record-form.component.html +9 -7
  124. package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +11 -5
  125. package/src/libs/feature/editor/src/lib/services/editor.service.ts +34 -73
  126. package/src/libs/feature/record/src/lib/data-view-permalink/data-view-permalink.component.ts +12 -12
  127. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.html +3 -4
  128. package/src/libs/ui/catalog/src/lib/language-switcher/language-switcher.component.html +1 -1
  129. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.html +5 -1
  130. package/src/libs/ui/elements/src/lib/max-lines/max-lines.component.ts +1 -0
  131. package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
  132. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +108 -20
  133. package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +14 -0
  134. package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.html +2 -2
  135. package/src/libs/ui/inputs/src/lib/button/button.component.css +0 -5
  136. package/src/libs/ui/inputs/src/lib/button/button.component.html +0 -1
  137. package/src/libs/ui/inputs/src/lib/button/button.component.ts +6 -6
  138. package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
  139. package/src/libs/ui/inputs/src/lib/dropdown-selector/dropdown-selector.component.html +3 -1
  140. package/src/libs/ui/inputs/src/lib/form-field/form-field.component.ts +3 -1
  141. package/src/libs/ui/inputs/src/lib/form-field/form-field.model.ts +0 -1
  142. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.css +3 -0
  143. package/src/libs/ui/inputs/src/lib/navigation-button/navigation-button.component.html +1 -1
  144. package/src/libs/ui/layout/src/lib/carousel/carousel.component.html +1 -0
  145. package/src/libs/util/i18n/src/lib/i18n.constants.ts +18 -0
  146. package/src/libs/util/shared/src/lib/utils/index.ts +1 -0
  147. package/src/libs/util/shared/src/lib/utils/temporal-extent-union.ts +32 -0
  148. package/tailwind.base.css +44 -15
  149. package/translations/de.json +35 -26
  150. package/translations/en.json +27 -18
  151. package/translations/es.json +24 -15
  152. package/translations/fr.json +45 -36
  153. package/translations/it.json +39 -30
  154. package/translations/nl.json +25 -16
  155. package/translations/pt.json +24 -15
  156. package/translations/sk.json +117 -108
@@ -4,7 +4,7 @@ import { Injectable } from '@angular/core';
4
4
  import { getStatusFromStatusCode } from '../iso19139/codelists/status.mapper';
5
5
  import { getUpdateFrequencyFromFrequencyCode } from '../iso19139/codelists/update-frequency.mapper';
6
6
  import { matchProtocol } from '../common/distribution.mapper';
7
- import { LangService } from '../../../../../../libs/util/i18n/src';
7
+ import { LANG_3_TO_2_MAPPER, LangService } from '../../../../../../libs/util/i18n/src';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "./metadata-url.service";
10
10
  import * as i2 from "../../../../../../libs/util/i18n/src";
@@ -69,6 +69,18 @@ export class Gn4FieldMapper {
69
69
  ...output,
70
70
  recordUpdated: toDate(selectField(source, 'changeDate')),
71
71
  }),
72
+ publicationDateForResource: (output, source) => ({
73
+ ...output,
74
+ recordPublished: toDate(selectField(source, 'publicationDateForResource')),
75
+ }),
76
+ resourceLanguage: (output, source) => {
77
+ const langList = getAsArray(selectField(source, 'resourceLanguage'));
78
+ const languages = langList.map((lang) => LANG_3_TO_2_MAPPER[lang]);
79
+ return {
80
+ ...output,
81
+ languages,
82
+ };
83
+ },
72
84
  link: (output, source) => {
73
85
  const rawLinks = getAsArray(selectField(source, 'link'));
74
86
  const distributions = rawLinks
@@ -161,8 +173,8 @@ export class Gn4FieldMapper {
161
173
  ],
162
174
  };
163
175
  },
164
- resourceTemporalDateRange: (output, source) => {
165
- const ranges = getAsArray(selectField(source, 'resourceTemporalDateRange'));
176
+ resourceTemporalExtentDateRange: (output, source) => {
177
+ const ranges = getAsArray(selectField(source, 'resourceTemporalExtentDateRange'));
166
178
  return {
167
179
  ...output,
168
180
  temporalExtents: ranges.map((range) => {
@@ -288,4 +300,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
288
300
  providedIn: 'root',
289
301
  }]
290
302
  }], ctorParameters: function () { return [{ type: i1.MetadataUrlService }, { type: i2.LangService }]; } });
291
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LmZpZWxkLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQuZmllbGQubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIscUJBQXFCLEVBRXJCLE1BQU0sR0FDUCxNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFXbkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTs7OztBQWFsRSxNQUFNLE9BQU8sY0FBYztJQUN6QixZQUNVLGtCQUFzQyxFQUN0QyxXQUF3QjtRQUR4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRzFCLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQTtRQUU3QixXQUFNLEdBQW9DO1lBQ2xELEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUUs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QUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUE7SUFDOUUsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXLEVBQUUsUUFBaUI7UUFDeEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sTUFBTSxDQUFBO1NBQ2Q7UUFDRCxJQUNFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFELFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ3pCLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzFCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDdEM7WUFDQSxPQUFPLFNBQVMsQ0FBQTtTQUNqQjtRQUNELElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNsQyxPQUFPLFVBQVUsQ0FBQTtTQUNsQjtRQUNELE9BQU8sTUFBTSxDQUFBO0lBQ2YsQ0FBQzs4R0FyVlUsY0FBYztrSEFBZCxjQUFjLGNBRmIsTUFBTTs7MkZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBnZXRBcnJheUl0ZW0sXG4gIGdldEFzQXJyYXksXG4gIGdldEFzVXJsLFxuICBnZXRGaXJzdFZhbHVlLFxuICBtYXBDb250YWN0LFxuICBtYXBLZXl3b3JkcyxcbiAgc2VsZWN0RmFsbGJhY2ssXG4gIHNlbGVjdEZhbGxiYWNrRmllbGRzLFxuICBzZWxlY3RGaWVsZCxcbiAgc2VsZWN0VHJhbnNsYXRlZEZpZWxkLFxuICBzZWxlY3RUcmFuc2xhdGVkVmFsdWUsXG4gIFNvdXJjZVdpdGhVbmtub3duUHJvcHMsXG4gIHRvRGF0ZSxcbn0gZnJvbSAnLi9hdG9taWMtb3BlcmF0aW9ucydcbmltcG9ydCB7IE1ldGFkYXRhVXJsU2VydmljZSB9IGZyb20gJy4vbWV0YWRhdGEtdXJsLnNlcnZpY2UnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGdldFN0YXR1c0Zyb21TdGF0dXNDb2RlIH0gZnJvbSAnLi4vaXNvMTkxMzkvY29kZWxpc3RzL3N0YXR1cy5tYXBwZXInXG5pbXBvcnQgeyBnZXRVcGRhdGVGcmVxdWVuY3lGcm9tRnJlcXVlbmN5Q29kZSB9IGZyb20gJy4uL2lzbzE5MTM5L2NvZGVsaXN0cy91cGRhdGUtZnJlcXVlbmN5Lm1hcHBlcidcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIENvbnN0cmFpbnQsXG4gIERhdGFzZXREaXN0cmlidXRpb24sXG4gIERhdGFzZXREaXN0cmlidXRpb25UeXBlLFxuICBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb24sXG4gIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0U3BhdGlhbEV4dGVudCxcbiAgT25saW5lTGlua1Jlc291cmNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBtYXRjaFByb3RvY29sIH0gZnJvbSAnLi4vY29tbW9uL2Rpc3RyaWJ1dGlvbi5tYXBwZXInXG5pbXBvcnQgeyBMYW5nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9pMThuL3NyYydcbmltcG9ydCB7IFRoZXNhdXJ1cyB9IGZyb20gJy4vdHlwZXMnXG5cbnR5cGUgRVNSZXNwb25zZVNvdXJjZSA9IFNvdXJjZVdpdGhVbmtub3duUHJvcHNcblxudHlwZSBFc0ZpZWxkTWFwcGVyRm4gPSAoXG4gIG91dHB1dDogUGFydGlhbDxDYXRhbG9nUmVjb3JkPixcbiAgc291cmNlOiBFU1Jlc3BvbnNlU291cmNlXG4pID0+IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEduNEZpZWxkTWFwcGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZXRhZGF0YVVybFNlcnZpY2U6IE1ldGFkYXRhVXJsU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZVxuICApIHt9XG5cbiAgcHJpdmF0ZSBsYW5nMyA9IHRoaXMubGFuZ1NlcnZpY2UuZ25MYW5nXG5cbiAgcHJvdGVjdGVkIGZpZWxkczogUmVjb3JkPHN0cmluZywgRXNGaWVsZE1hcHBlckZuPiA9IHtcbiAgICBpZDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYSh7IGlkOiBzZWxlY3RGaWVsZChzb3VyY2UsICdpZCcpIH0sIG91dHB1dCksXG4gICAgdXVpZDogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCB1dWlkID0gc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICd1dWlkJylcbiAgICAgIGNvbnN0IGxhbmRpbmdQYWdlID0gZ2V0QXNVcmwodGhpcy5tZXRhZGF0YVVybFNlcnZpY2UuZ2V0VXJsKHV1aWQpKVxuICAgICAgcmV0dXJuIHsgLi4ub3V0cHV0LCB1bmlxdWVJZGVudGlmaWVyOiB1dWlkLCBsYW5kaW5nUGFnZSB9XG4gICAgfSxcbiAgICBxdWFsaXR5U2NvcmU6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICAgIHsgcXVhbGl0eVNjb3JlOiBzZWxlY3RGaWVsZChzb3VyY2UsICdxdWFsaXR5U2NvcmUnKSB9LFxuICAgICAgICBvdXRwdXRcbiAgICAgICksXG4gICAgcmVzb3VyY2VUaXRsZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgdGl0bGU6IHNlbGVjdEZhbGxiYWNrKFxuICAgICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQoc291cmNlLCAncmVzb3VyY2VUaXRsZU9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgICAnbm8gdGl0bGUnXG4gICAgICApLFxuICAgIH0pLFxuICAgIHJlc291cmNlQWJzdHJhY3RPYmplY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIGFic3RyYWN0OiBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgc2VsZWN0VHJhbnNsYXRlZEZpZWxkKHNvdXJjZSwgJ3Jlc291cmNlQWJzdHJhY3RPYmplY3QnLCB0aGlzLmxhbmczKSxcbiAgICAgICAgJ25vIHRpdGxlJ1xuICAgICAgKSxcbiAgICB9KSxcbiAgICBvdmVydmlldzogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdE92ZXJ2aWV3ID0gZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZChzb3VyY2UsICdvdmVydmlldycpKVxuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWxlY3RUcmFuc2xhdGVkVmFsdWU8c3RyaW5nPihcbiAgICAgICAgc2VsZWN0RmllbGQoZmlyc3RPdmVydmlldywgJ3RleHQnKSxcbiAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBvdmVydmlld3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cmw6IGdldEFzVXJsKHNlbGVjdEZhbGxiYWNrRmllbGRzKGZpcnN0T3ZlcnZpZXcsICd1cmwnLCAnZGF0YScpKSxcbiAgICAgICAgICAgIC4uLihkZXNjcmlwdGlvbiA/IHsgZGVzY3JpcHRpb24gfSA6IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH0sXG4gICAgY2xfdG9waWM6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHRvcGljczogW1xuICAgICAgICAuLi4ob3V0cHV0LnRvcGljcyB8fCBbXSksXG4gICAgICAgIC4uLmdldEFzQXJyYXkoXG4gICAgICAgICAgc2VsZWN0RmllbGQ8U291cmNlV2l0aFVua25vd25Qcm9wc1tdPihzb3VyY2UsICdjbF90b3BpYycpXG4gICAgICAgICkubWFwKCh0b3BpYykgPT4gc2VsZWN0VHJhbnNsYXRlZFZhbHVlPHN0cmluZz4odG9waWMsIHRoaXMubGFuZzMpKSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgY2xfc3RhdHVzOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBzdGF0dXM6IGdldFN0YXR1c0Zyb21TdGF0dXNDb2RlKFxuICAgICAgICBzZWxlY3RGaWVsZChnZXRGaXJzdFZhbHVlKHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2NsX3N0YXR1cycpKSwgJ2tleScpXG4gICAgICApLFxuICAgIH0pLFxuICAgIGNsX21haW50ZW5hbmNlQW5kVXBkYXRlRnJlcXVlbmN5OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICB1cGRhdGVGcmVxdWVuY3k6IGdldFVwZGF0ZUZyZXF1ZW5jeUZyb21GcmVxdWVuY3lDb2RlKFxuICAgICAgICBzZWxlY3RGaWVsZChcbiAgICAgICAgICBnZXRGaXJzdFZhbHVlKFxuICAgICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnY2xfbWFpbnRlbmFuY2VBbmRVcGRhdGVGcmVxdWVuY3knKVxuICAgICAgICAgICksXG4gICAgICAgICAgJ2tleSdcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICB9KSxcbiAgICBjcmVhdGlvbkRhdGVGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgZGF0YXNldENyZWF0ZWQ6IHRvRGF0ZShcbiAgICAgICAgZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ2NyZWF0aW9uRGF0ZUZvclJlc291cmNlJykpXG4gICAgICApLFxuICAgIH0pLFxuICAgIGNyZWF0ZURhdGU6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHJlY29yZENyZWF0ZWQ6IHRvRGF0ZShzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ2NyZWF0ZURhdGUnKSksXG4gICAgfSksXG4gICAgY2hhbmdlRGF0ZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVjb3JkVXBkYXRlZDogdG9EYXRlKHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlLCAnY2hhbmdlRGF0ZScpKSxcbiAgICB9KSxcbiAgICBsaW5rOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IHJhd0xpbmtzID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQ8U291cmNlV2l0aFVua25vd25Qcm9wc1tdPihzb3VyY2UsICdsaW5rJylcbiAgICAgIClcbiAgICAgIGNvbnN0IGRpc3RyaWJ1dGlvbnMgPSByYXdMaW5rc1xuICAgICAgICAubWFwKChsaW5rKSA9PiB0aGlzLm1hcExpbmsobGluaykpXG4gICAgICAgIC5maWx0ZXIoKHYpID0+IHYgIT09IG51bGwpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIGRpc3RyaWJ1dGlvbnMsXG4gICAgICB9XG4gICAgfSxcbiAgICBjb250YWN0OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBjb250YWN0czogW1xuICAgICAgICBtYXBDb250YWN0KGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQoc291cmNlLCAnY29udGFjdCcpKSwgdGhpcy5sYW5nMyksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIGNvbnRhY3RGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgY29udGFjdHNGb3JSZXNvdXJjZTogW1xuICAgICAgICAuLi4oJ2NvbnRhY3RzRm9yUmVzb3VyY2UnIGluIG91dHB1dCAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KG91dHB1dC5jb250YWN0c0ZvclJlc291cmNlKVxuICAgICAgICAgID8gb3V0cHV0LmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4uZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdjb250YWN0Rm9yUmVzb3VyY2UnKSkubWFwKFxuICAgICAgICAgIChjb250YWN0KSA9PiBtYXBDb250YWN0KGNvbnRhY3QsIHRoaXMubGFuZzMpXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIHNvdXJjZUNhdGFsb2d1ZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGNhdGFsb2dVdWlkOiBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3NvdXJjZUNhdGFsb2d1ZScpLFxuICAgICAgICAgICAgJ25vIHRpdGxlJ1xuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKVxuICAgIH0sXG4gICAgYWxsS2V5d29yZHM6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIGtleXdvcmRzOiBtYXBLZXl3b3JkcyhcbiAgICAgICAgc2VsZWN0RmllbGQ8VGhlc2F1cnVzW10+KHNvdXJjZSwgJ2FsbEtleXdvcmRzJyksXG4gICAgICAgIHRoaXMubGFuZzNcbiAgICAgICksXG4gICAgfSksXG4gICAgaW5zcGlyZVRoZW1lOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICB0b3BpY3M6IFtcbiAgICAgICAgLi4uKG91dHB1dC50b3BpY3MgfHwgW10pLFxuICAgICAgICAuLi5nZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2luc3BpcmVUaGVtZV9zeW4nKSksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdvdGhlcicsXG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdNRF9Db25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QnKSlcbiAgICAgICksXG4gICAgTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuY29uc3RyYWludEZpZWxkKFxuICAgICAgICAnbGVnYWwnLFxuICAgICAgICBvdXRwdXQsXG4gICAgICAgIGdldEFzQXJyYXkoXG4gICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QnKVxuICAgICAgICApXG4gICAgICApLFxuICAgIE1EX0xlZ2FsQ29uc3RyYWludHNPdGhlckNvbnN0cmFpbnRzT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmNvbnN0cmFpbnRGaWVsZChcbiAgICAgICAgJ2xlZ2FsJyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KFxuICAgICAgICAgIHNlbGVjdEZpZWxkKHNvdXJjZSwgJ01EX0xlZ2FsQ29uc3RyYWludHNPdGhlckNvbnN0cmFpbnRzT2JqZWN0JylcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBNRF9TZWN1cml0eUNvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdzZWN1cml0eScsXG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgZ2V0QXNBcnJheShcbiAgICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdNRF9TZWN1cml0eUNvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdCcpXG4gICAgICAgIClcbiAgICAgICksXG4gICAgbGljZW5zZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdsaWNlbnNlJyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2xpY2Vuc2VPYmplY3QnKSlcbiAgICAgICksXG4gICAgbGluZWFnZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgbGluZWFnZTogc2VsZWN0VHJhbnNsYXRlZEZpZWxkKHNvdXJjZSwgJ2xpbmVhZ2VPYmplY3QnLCB0aGlzLmxhbmczKSxcbiAgICB9KSxcbiAgICBtYWluTGFuZ3VhZ2U6IChvdXRwdXQpID0+IG91dHB1dCxcbiAgICB1c2VyU2F2ZWRDb3VudDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGZhdm9yaXRlQ291bnQ6IHBhcnNlSW50KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3VzZXJTYXZlZENvdW50JykpLFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRcbiAgICAgICksXG4gICAgaXNPcGVuRGF0YTogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGlzT3BlbkRhdGE6IHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2lzT3BlbkRhdGEnKSAhPT0gJ2ZhbHNlJyxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIGlzUHVibGlzaGVkVG9BbGw6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICAgIHtcbiAgICAgICAgICBpc1B1Ymxpc2hlZFRvQWxsOiBzZWxlY3RGaWVsZChzb3VyY2UsICdpc1B1Ymxpc2hlZFRvQWxsJykgIT09ICdmYWxzZScsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKSxcbiAgICB1c2VyaW5mbzogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIG93bmVySW5mbzogc2VsZWN0RmllbGQoc291cmNlLCAndXNlcmluZm8nKSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIGNsX2hpZXJhcmNoeUxldmVsOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IGhpZXJhcmNoeUxldmVsID0gc2VsZWN0RmllbGQoXG4gICAgICAgIGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQoc291cmNlLCAnY2xfaGllcmFyY2h5TGV2ZWwnKSksXG4gICAgICAgICdrZXknXG4gICAgICApXG4gICAgICBjb25zdCBraW5kID0gaGllcmFyY2h5TGV2ZWwgPT09ICdzZXJ2aWNlJyA/ICdzZXJ2aWNlJyA6ICdkYXRhc2V0J1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBraW5kLFxuICAgICAgfVxuICAgIH0sXG4gICAgZ2VvbTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCBnZW9tcyA9IGdldEFzQXJyYXkoc2VsZWN0RmllbGQoc291cmNlLCAnZ2VvbScpKVxuICAgICAgY29uc3Qgc2hhcGVzID0gZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdzaGFwZScpKVxuICAgICAgY29uc3QgZXh0ZW50RGVzY3JpcHRpb25zID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnZXh0ZW50RGVzY3JpcHRpb25PYmplY3QnKVxuICAgICAgKVxuICAgICAgY29uc3Qgc3BhdGlhbEV4dGVudHMgPSBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3NwYXRpYWxFeHRlbnRzJykpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIHNwYXRpYWxFeHRlbnRzOiBbXG4gICAgICAgICAgLi4uc3BhdGlhbEV4dGVudHMsXG4gICAgICAgICAgLi4uZ2VvbXMubWFwKChnZW9tLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWxlY3RUcmFuc2xhdGVkVmFsdWUoXG4gICAgICAgICAgICAgIGdldEFycmF5SXRlbShleHRlbnREZXNjcmlwdGlvbnMsIGluZGV4KSxcbiAgICAgICAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBzaGFwZXNbaW5kZXhdID8/IGdlb21cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLihkZXNjcmlwdGlvbiAhPT0gbnVsbCA/IHsgZGVzY3JpcHRpb24gfSA6IG51bGwpLFxuICAgICAgICAgICAgICBnZW9tZXRyeSxcbiAgICAgICAgICAgIH0gYXMgRGF0YXNldFNwYXRpYWxFeHRlbnRcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2U6IChvdXRwdXQsIHNvdXJjZSkgPT4ge1xuICAgICAgY29uc3QgcmFuZ2VzID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAncmVzb3VyY2VUZW1wb3JhbERhdGVSYW5nZScpXG4gICAgICApXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIHRlbXBvcmFsRXh0ZW50czogcmFuZ2VzLm1hcCgocmFuZ2UpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGFydCA9IHNlbGVjdEZpZWxkKHJhbmdlLCAnZ3RlJylcbiAgICAgICAgICBjb25zdCBlbmQgPSBzZWxlY3RGaWVsZChyYW5nZSwgJ2x0ZScpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLihzdGFydCAhPT0gbnVsbCA/IHsgc3RhcnQ6IHRvRGF0ZShzdGFydCkgfSA6IG51bGwpLFxuICAgICAgICAgICAgLi4uKGVuZCAhPT0gbnVsbCA/IHsgZW5kOiB0b0RhdGUoZW5kKSB9IDogbnVsbCksXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgIH1cbiAgICB9LFxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmljRmllbGQgPSAob3V0cHV0KSA9PiBvdXRwdXRcblxuICBwcml2YXRlIGNvbnN0cmFpbnRGaWVsZCA9IChcbiAgICB0eXBlOiAnbGljZW5zZScgfCAnbGVnYWwnIHwgJ3NlY3VyaXR5JyB8ICdvdGhlcicsXG4gICAgb3V0cHV0OiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+LFxuICAgIGNvbnN0cmFpbnRBcnJheTogU291cmNlV2l0aFVua25vd25Qcm9wc1tdXG4gICkgPT4ge1xuICAgIGxldCBvdXRwdXRGaWVsZDogc3RyaW5nXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdsaWNlbnNlJzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnbGljZW5zZXMnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdsZWdhbCc6XG4gICAgICAgIG91dHB1dEZpZWxkID0gJ2xlZ2FsQ29uc3RyYWludHMnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdzZWN1cml0eSc6XG4gICAgICAgIG91dHB1dEZpZWxkID0gJ3NlY3VyaXR5Q29uc3RyYWludHMnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdvdGhlcic6XG4gICAgICAgIG91dHB1dEZpZWxkID0gJ290aGVyQ29uc3RyYWludHMnXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IG91dHB1dEFycmF5OiBDb25zdHJhaW50W10gPVxuICAgICAgb3V0cHV0RmllbGQgaW4gb3V0cHV0ID8gb3V0cHV0W291dHB1dEZpZWxkXSA6IFtdXG4gICAgb3V0cHV0QXJyYXkucHVzaChcbiAgICAgIC4uLmNvbnN0cmFpbnRBcnJheS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgdGV4dCA9IHNlbGVjdFRyYW5zbGF0ZWRWYWx1ZShpdGVtLCB0aGlzLmxhbmczKSBhcyBzdHJpbmdcbiAgICAgICAgY29uc3QgdXJsID0gZ2V0QXNVcmwoc2VsZWN0RmllbGQoaXRlbSwgJ2xpbmsnKSlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0ZXh0LFxuICAgICAgICAgIC4uLih1cmwgPyB7IHVybCB9IDoge30pLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBbb3V0cHV0RmllbGRdOiBvdXRwdXRBcnJheSxcbiAgICB9XG4gICAgLy8gYXZvaWQgbGVnYWwgY29uc3RyYWludHMgYmVpbmcgZHVwbGljYXRlcyBvZiBsaWNlbnNlc1xuICAgIGlmIChcbiAgICAgICdsZWdhbENvbnN0cmFpbnRzJyBpbiByZXN1bHQgJiZcbiAgICAgICh0eXBlID09PSAnbGVnYWwnIHx8IHR5cGUgPT09ICdsaWNlbnNlJylcbiAgICApIHtcbiAgICAgIHJlc3VsdC5sZWdhbENvbnN0cmFpbnRzID0gcmVzdWx0LmxlZ2FsQ29uc3RyYWludHMuZmlsdGVyKFxuICAgICAgICAoY29uc3RyYWludCkgPT5cbiAgICAgICAgICAhb3V0cHV0LmxpY2Vuc2VzPy5zb21lKChsaWNlbnNlKSA9PiBsaWNlbnNlLnRleHQgPT09IGNvbnN0cmFpbnQudGV4dClcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgZ2V0TWFwcGluZ0ZuKGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZpZWxkTmFtZSBpbiB0aGlzLmZpZWxkcyA/IHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0gOiB0aGlzLmdlbmVyaWNGaWVsZFxuICB9XG5cbiAgZ2V0TGlua1R5cGUodXJsOiBzdHJpbmcsIHByb3RvY29sPzogc3RyaW5nKTogRGF0YXNldERpc3RyaWJ1dGlvblR5cGUge1xuICAgIGlmICghcHJvdG9jb2wpIHtcbiAgICAgIHJldHVybiAnbGluaydcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKC9eRVNSSTpSRVNULy50ZXN0KHByb3RvY29sKSAmJiAvRmVhdHVyZVNlcnZlci8udGVzdCh1cmwpKSB8fFxuICAgICAgL15PR0M6V01TLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V0ZTLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V01UUy8udGVzdChwcm90b2NvbCkgfHxcbiAgICAgIC9vZ2NcXFcqYXBpXFxXKmZlYXR1cmVzL2kudGVzdChwcm90b2NvbClcbiAgICApIHtcbiAgICAgIHJldHVybiAnc2VydmljZSdcbiAgICB9XG4gICAgaWYgKC9eV1dXOkRPV05MT0FELy50ZXN0KHByb3RvY29sKSkge1xuICAgICAgcmV0dXJuICdkb3dubG9hZCdcbiAgICB9XG4gICAgcmV0dXJuICdsaW5rJ1xuICB9XG5cbiAgbWFwTGluayA9IChcbiAgICBzb3VyY2VMaW5rOiBTb3VyY2VXaXRoVW5rbm93blByb3BzXG4gICk6IERhdGFzZXREaXN0cmlidXRpb24gfCBudWxsID0+IHtcbiAgICBjb25zdCB1cmwgPSBnZXRBc1VybChcbiAgICAgIHNlbGVjdEZhbGxiYWNrKFxuICAgICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAndXJsT2JqZWN0JywgdGhpcy5sYW5nMyksXG4gICAgICAgIHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlTGluaywgJ3VybCcpXG4gICAgICApXG4gICAgKVxuICAgIGNvbnN0IG5hbWUgPSBzZWxlY3RGYWxsYmFjayhcbiAgICAgIHNlbGVjdFRyYW5zbGF0ZWRGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICduYW1lT2JqZWN0JywgdGhpcy5sYW5nMyksXG4gICAgICBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICduYW1lJylcbiAgICApXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWxlY3RGYWxsYmFjayhcbiAgICAgIHNlbGVjdFRyYW5zbGF0ZWRGaWVsZDxzdHJpbmc+KFxuICAgICAgICBzb3VyY2VMaW5rLFxuICAgICAgICAnZGVzY3JpcHRpb25PYmplY3QnLFxuICAgICAgICB0aGlzLmxhbmczXG4gICAgICApLFxuICAgICAgc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAnZGVzY3JpcHRpb24nKVxuICAgIClcbiAgICAvLyBubyB1cmw6IGZhaWwgZWFybHlcbiAgICBpZiAodXJsID09PSBudWxsKSB7XG4gICAgICAvLyBUT0RPOiBjb2xsZWN0IGVycm9ycyBhdCB0aGUgcmVjb3JkIGxldmVsP1xuICAgICAgY29uc29sZS53YXJuKCdBIGxpbmsgd2l0aG91dCB2YWxpZCBVUkwgd2FzIGZvdW5kJywgc291cmNlTGluaylcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgcHJvdG9jb2wgPSBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICdwcm90b2NvbCcpXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0TGlua1R5cGUodXJsLnRvU3RyaW5nKCksIHByb3RvY29sKVxuICAgIGNvbnN0IGFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9IG1hdGNoUHJvdG9jb2wocHJvdG9jb2wpXG4gICAgY29uc3QgbWltZVR5cGVNYXRjaGVzID1cbiAgICAgIHByb3RvY29sICYmIHByb3RvY29sLm1hdGNoKC9eV1dXOkRPV05MT0FEOiguK1xcLy4rKSQvKVxuICAgIGNvbnN0IG1pbWVUeXBlID0gbWltZVR5cGVNYXRjaGVzICYmIG1pbWVUeXBlTWF0Y2hlc1sxXVxuXG4gICAgY29uc3QgZGlzdHJpYnV0aW9uID0ge1xuICAgICAgLi4uKG5hbWUgJiYgeyBuYW1lIH0pLFxuICAgICAgLi4uKGRlc2NyaXB0aW9uICYmIHsgZGVzY3JpcHRpb24gfSksXG4gICAgfVxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc2VydmljZSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZGlzdHJpYnV0aW9uLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgYWNjZXNzU2VydmljZVByb3RvY29sLFxuICAgICAgICB9IGFzIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kaXN0cmlidXRpb24sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgfSBhcyBPbmxpbmVMaW5rUmVzb3VyY2VcbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kaXN0cmlidXRpb24sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAuLi4obWltZVR5cGUgJiYgeyBtaW1lVHlwZSB9KSxcbiAgICAgICAgfSBhcyBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEV4dHJhID0gKHZhbHVlOiBvYmplY3QsIG91dHB1dDogUGFydGlhbDxDYXRhbG9nUmVjb3JkPikgPT4gKHtcbiAgICAuLi5vdXRwdXQsXG4gICAgZXh0cmFzOiB7IC4uLihvdXRwdXQuZXh0cmFzIHx8IHt9KSwgLi4udmFsdWUgfSxcbiAgfSlcbn1cbiJdfQ==
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LmZpZWxkLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQuZmllbGQubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osVUFBVSxFQUNWLFFBQVEsRUFDUixhQUFhLEVBQ2IsVUFBVSxFQUNWLFdBQVcsRUFDWCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIscUJBQXFCLEVBRXJCLE1BQU0sR0FDUCxNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sK0NBQStDLENBQUE7QUFXbkcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQTs7OztBQVl0RixNQUFNLE9BQU8sY0FBYztJQUN6QixZQUNVLGtCQUFzQyxFQUN0QyxXQUF3QjtRQUR4Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRzFCLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQTtRQUU3QixXQUFNLEdBQW9DO1lBQ2xELEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFB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RCxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEMsT0FBTyxVQUFVLENBQUE7U0FDbEI7UUFDRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7OEdBcldVLGNBQWM7a0hBQWQsY0FBYyxjQUZiLE1BQU07OzJGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0QXJyYXlJdGVtLFxuICBnZXRBc0FycmF5LFxuICBnZXRBc1VybCxcbiAgZ2V0Rmlyc3RWYWx1ZSxcbiAgbWFwQ29udGFjdCxcbiAgbWFwS2V5d29yZHMsXG4gIHNlbGVjdEZhbGxiYWNrLFxuICBzZWxlY3RGYWxsYmFja0ZpZWxkcyxcbiAgc2VsZWN0RmllbGQsXG4gIHNlbGVjdFRyYW5zbGF0ZWRGaWVsZCxcbiAgc2VsZWN0VHJhbnNsYXRlZFZhbHVlLFxuICBTb3VyY2VXaXRoVW5rbm93blByb3BzLFxuICB0b0RhdGUsXG59IGZyb20gJy4vYXRvbWljLW9wZXJhdGlvbnMnXG5pbXBvcnQgeyBNZXRhZGF0YVVybFNlcnZpY2UgfSBmcm9tICcuL21ldGFkYXRhLXVybC5zZXJ2aWNlJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBnZXRTdGF0dXNGcm9tU3RhdHVzQ29kZSB9IGZyb20gJy4uL2lzbzE5MTM5L2NvZGVsaXN0cy9zdGF0dXMubWFwcGVyJ1xuaW1wb3J0IHsgZ2V0VXBkYXRlRnJlcXVlbmN5RnJvbUZyZXF1ZW5jeUNvZGUgfSBmcm9tICcuLi9pc28xOTEzOS9jb2RlbGlzdHMvdXBkYXRlLWZyZXF1ZW5jeS5tYXBwZXInXG5pbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBDb25zdHJhaW50LFxuICBEYXRhc2V0RGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0RGlzdHJpYnV0aW9uVHlwZSxcbiAgRGF0YXNldERvd25sb2FkRGlzdHJpYnV0aW9uLFxuICBEYXRhc2V0U2VydmljZURpc3RyaWJ1dGlvbixcbiAgRGF0YXNldFNwYXRpYWxFeHRlbnQsXG4gIE9ubGluZUxpbmtSZXNvdXJjZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgbWF0Y2hQcm90b2NvbCB9IGZyb20gJy4uL2NvbW1vbi9kaXN0cmlidXRpb24ubWFwcGVyJ1xuaW1wb3J0IHsgVGhlc2F1cnVzIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IExBTkdfM19UT18yX01BUFBFUiwgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5cbnR5cGUgRVNSZXNwb25zZVNvdXJjZSA9IFNvdXJjZVdpdGhVbmtub3duUHJvcHNcblxudHlwZSBFc0ZpZWxkTWFwcGVyRm4gPSAoXG4gIG91dHB1dDogUGFydGlhbDxDYXRhbG9nUmVjb3JkPixcbiAgc291cmNlOiBFU1Jlc3BvbnNlU291cmNlXG4pID0+IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEduNEZpZWxkTWFwcGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZXRhZGF0YVVybFNlcnZpY2U6IE1ldGFkYXRhVXJsU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZVxuICApIHt9XG5cbiAgcHJpdmF0ZSBsYW5nMyA9IHRoaXMubGFuZ1NlcnZpY2UuZ25MYW5nXG5cbiAgcHJvdGVjdGVkIGZpZWxkczogUmVjb3JkPHN0cmluZywgRXNGaWVsZE1hcHBlckZuPiA9IHtcbiAgICBpZDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYSh7IGlkOiBzZWxlY3RGaWVsZChzb3VyY2UsICdpZCcpIH0sIG91dHB1dCksXG4gICAgdXVpZDogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCB1dWlkID0gc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICd1dWlkJylcbiAgICAgIGNvbnN0IGxhbmRpbmdQYWdlID0gZ2V0QXNVcmwodGhpcy5tZXRhZGF0YVVybFNlcnZpY2UuZ2V0VXJsKHV1aWQpKVxuICAgICAgcmV0dXJuIHsgLi4ub3V0cHV0LCB1bmlxdWVJZGVudGlmaWVyOiB1dWlkLCBsYW5kaW5nUGFnZSB9XG4gICAgfSxcbiAgICBxdWFsaXR5U2NvcmU6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICAgIHsgcXVhbGl0eVNjb3JlOiBzZWxlY3RGaWVsZChzb3VyY2UsICdxdWFsaXR5U2NvcmUnKSB9LFxuICAgICAgICBvdXRwdXRcbiAgICAgICksXG4gICAgcmVzb3VyY2VUaXRsZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgdGl0bGU6IHNlbGVjdEZhbGxiYWNrKFxuICAgICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQoc291cmNlLCAncmVzb3VyY2VUaXRsZU9iamVjdCcsIHRoaXMubGFuZzMpLFxuICAgICAgICAnbm8gdGl0bGUnXG4gICAgICApLFxuICAgIH0pLFxuICAgIHJlc291cmNlQWJzdHJhY3RPYmplY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIGFic3RyYWN0OiBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgc2VsZWN0VHJhbnNsYXRlZEZpZWxkKHNvdXJjZSwgJ3Jlc291cmNlQWJzdHJhY3RPYmplY3QnLCB0aGlzLmxhbmczKSxcbiAgICAgICAgJ25vIHRpdGxlJ1xuICAgICAgKSxcbiAgICB9KSxcbiAgICBvdmVydmlldzogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCBmaXJzdE92ZXJ2aWV3ID0gZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZChzb3VyY2UsICdvdmVydmlldycpKVxuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWxlY3RUcmFuc2xhdGVkVmFsdWU8c3RyaW5nPihcbiAgICAgICAgc2VsZWN0RmllbGQoZmlyc3RPdmVydmlldywgJ3RleHQnKSxcbiAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBvdmVydmlld3M6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB1cmw6IGdldEFzVXJsKHNlbGVjdEZhbGxiYWNrRmllbGRzKGZpcnN0T3ZlcnZpZXcsICd1cmwnLCAnZGF0YScpKSxcbiAgICAgICAgICAgIC4uLihkZXNjcmlwdGlvbiA/IHsgZGVzY3JpcHRpb24gfSA6IHt9KSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgIH0sXG4gICAgY2xfdG9waWM6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHRvcGljczogW1xuICAgICAgICAuLi4ob3V0cHV0LnRvcGljcyB8fCBbXSksXG4gICAgICAgIC4uLmdldEFzQXJyYXkoXG4gICAgICAgICAgc2VsZWN0RmllbGQ8U291cmNlV2l0aFVua25vd25Qcm9wc1tdPihzb3VyY2UsICdjbF90b3BpYycpXG4gICAgICAgICkubWFwKCh0b3BpYykgPT4gc2VsZWN0VHJhbnNsYXRlZFZhbHVlPHN0cmluZz4odG9waWMsIHRoaXMubGFuZzMpKSxcbiAgICAgIF0sXG4gICAgfSksXG4gICAgY2xfc3RhdHVzOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBzdGF0dXM6IGdldFN0YXR1c0Zyb21TdGF0dXNDb2RlKFxuICAgICAgICBzZWxlY3RGaWVsZChnZXRGaXJzdFZhbHVlKHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2NsX3N0YXR1cycpKSwgJ2tleScpXG4gICAgICApLFxuICAgIH0pLFxuICAgIGNsX21haW50ZW5hbmNlQW5kVXBkYXRlRnJlcXVlbmN5OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICB1cGRhdGVGcmVxdWVuY3k6IGdldFVwZGF0ZUZyZXF1ZW5jeUZyb21GcmVxdWVuY3lDb2RlKFxuICAgICAgICBzZWxlY3RGaWVsZChcbiAgICAgICAgICBnZXRGaXJzdFZhbHVlKFxuICAgICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnY2xfbWFpbnRlbmFuY2VBbmRVcGRhdGVGcmVxdWVuY3knKVxuICAgICAgICAgICksXG4gICAgICAgICAgJ2tleSdcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICB9KSxcbiAgICBjcmVhdGlvbkRhdGVGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgZGF0YXNldENyZWF0ZWQ6IHRvRGF0ZShcbiAgICAgICAgZ2V0Rmlyc3RWYWx1ZShzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ2NyZWF0aW9uRGF0ZUZvclJlc291cmNlJykpXG4gICAgICApLFxuICAgIH0pLFxuICAgIGNyZWF0ZURhdGU6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIHJlY29yZENyZWF0ZWQ6IHRvRGF0ZShzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZSwgJ2NyZWF0ZURhdGUnKSksXG4gICAgfSksXG4gICAgY2hhbmdlRGF0ZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVjb3JkVXBkYXRlZDogdG9EYXRlKHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlLCAnY2hhbmdlRGF0ZScpKSxcbiAgICB9KSxcbiAgICBwdWJsaWNhdGlvbkRhdGVGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgcmVjb3JkUHVibGlzaGVkOiB0b0RhdGUoXG4gICAgICAgIHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlLCAncHVibGljYXRpb25EYXRlRm9yUmVzb3VyY2UnKVxuICAgICAgKSxcbiAgICB9KSxcbiAgICByZXNvdXJjZUxhbmd1YWdlOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IGxhbmdMaXN0ID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2UsICdyZXNvdXJjZUxhbmd1YWdlJylcbiAgICAgIClcbiAgICAgIGNvbnN0IGxhbmd1YWdlcyA9IGxhbmdMaXN0Lm1hcCgobGFuZykgPT4gTEFOR18zX1RPXzJfTUFQUEVSW2xhbmddKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBsYW5ndWFnZXMsXG4gICAgICB9XG4gICAgfSxcbiAgICBsaW5rOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IHJhd0xpbmtzID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQ8U291cmNlV2l0aFVua25vd25Qcm9wc1tdPihzb3VyY2UsICdsaW5rJylcbiAgICAgIClcbiAgICAgIGNvbnN0IGRpc3RyaWJ1dGlvbnMgPSByYXdMaW5rc1xuICAgICAgICAubWFwKChsaW5rKSA9PiB0aGlzLm1hcExpbmsobGluaykpXG4gICAgICAgIC5maWx0ZXIoKHYpID0+IHYgIT09IG51bGwpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIGRpc3RyaWJ1dGlvbnMsXG4gICAgICB9XG4gICAgfSxcbiAgICBjb250YWN0OiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBjb250YWN0czogW1xuICAgICAgICBtYXBDb250YWN0KGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQoc291cmNlLCAnY29udGFjdCcpKSwgdGhpcy5sYW5nMyksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIGNvbnRhY3RGb3JSZXNvdXJjZTogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgY29udGFjdHNGb3JSZXNvdXJjZTogW1xuICAgICAgICAuLi4oJ2NvbnRhY3RzRm9yUmVzb3VyY2UnIGluIG91dHB1dCAmJlxuICAgICAgICBBcnJheS5pc0FycmF5KG91dHB1dC5jb250YWN0c0ZvclJlc291cmNlKVxuICAgICAgICAgID8gb3V0cHV0LmNvbnRhY3RzRm9yUmVzb3VyY2VcbiAgICAgICAgICA6IFtdKSxcbiAgICAgICAgLi4uZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdjb250YWN0Rm9yUmVzb3VyY2UnKSkubWFwKFxuICAgICAgICAgIChjb250YWN0KSA9PiBtYXBDb250YWN0KGNvbnRhY3QsIHRoaXMubGFuZzMpXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIHNvdXJjZUNhdGFsb2d1ZTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGNhdGFsb2dVdWlkOiBzZWxlY3RGYWxsYmFjayhcbiAgICAgICAgICAgIHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3NvdXJjZUNhdGFsb2d1ZScpLFxuICAgICAgICAgICAgJ25vIHRpdGxlJ1xuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKVxuICAgIH0sXG4gICAgYWxsS2V5d29yZHM6IChvdXRwdXQsIHNvdXJjZSkgPT4gKHtcbiAgICAgIC4uLm91dHB1dCxcbiAgICAgIGtleXdvcmRzOiBtYXBLZXl3b3JkcyhcbiAgICAgICAgc2VsZWN0RmllbGQ8VGhlc2F1cnVzW10+KHNvdXJjZSwgJ2FsbEtleXdvcmRzJyksXG4gICAgICAgIHRoaXMubGFuZzNcbiAgICAgICksXG4gICAgfSksXG4gICAgaW5zcGlyZVRoZW1lOiAob3V0cHV0LCBzb3VyY2UpID0+ICh7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICB0b3BpY3M6IFtcbiAgICAgICAgLi4uKG91dHB1dC50b3BpY3MgfHwgW10pLFxuICAgICAgICAuLi5nZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2luc3BpcmVUaGVtZV9zeW4nKSksXG4gICAgICBdLFxuICAgIH0pLFxuICAgIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdvdGhlcicsXG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdNRF9Db25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QnKSlcbiAgICAgICksXG4gICAgTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3Q6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuY29uc3RyYWludEZpZWxkKFxuICAgICAgICAnbGVnYWwnLFxuICAgICAgICBvdXRwdXQsXG4gICAgICAgIGdldEFzQXJyYXkoXG4gICAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnTURfTGVnYWxDb25zdHJhaW50c1VzZUxpbWl0YXRpb25PYmplY3QnKVxuICAgICAgICApXG4gICAgICApLFxuICAgIE1EX0xlZ2FsQ29uc3RyYWludHNPdGhlckNvbnN0cmFpbnRzT2JqZWN0OiAob3V0cHV0LCBzb3VyY2UpID0+XG4gICAgICB0aGlzLmNvbnN0cmFpbnRGaWVsZChcbiAgICAgICAgJ2xlZ2FsJyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KFxuICAgICAgICAgIHNlbGVjdEZpZWxkKHNvdXJjZSwgJ01EX0xlZ2FsQ29uc3RyYWludHNPdGhlckNvbnN0cmFpbnRzT2JqZWN0JylcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICBNRF9TZWN1cml0eUNvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdzZWN1cml0eScsXG4gICAgICAgIG91dHB1dCxcbiAgICAgICAgZ2V0QXNBcnJheShcbiAgICAgICAgICBzZWxlY3RGaWVsZChzb3VyY2UsICdNRF9TZWN1cml0eUNvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdCcpXG4gICAgICAgIClcbiAgICAgICksXG4gICAgbGljZW5zZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5jb25zdHJhaW50RmllbGQoXG4gICAgICAgICdsaWNlbnNlJyxcbiAgICAgICAgb3V0cHV0LFxuICAgICAgICBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2xpY2Vuc2VPYmplY3QnKSlcbiAgICAgICksXG4gICAgbGluZWFnZU9iamVjdDogKG91dHB1dCwgc291cmNlKSA9PiAoe1xuICAgICAgLi4ub3V0cHV0LFxuICAgICAgbGluZWFnZTogc2VsZWN0VHJhbnNsYXRlZEZpZWxkKHNvdXJjZSwgJ2xpbmVhZ2VPYmplY3QnLCB0aGlzLmxhbmczKSxcbiAgICB9KSxcbiAgICBtYWluTGFuZ3VhZ2U6IChvdXRwdXQpID0+IG91dHB1dCxcbiAgICB1c2VyU2F2ZWRDb3VudDogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGZhdm9yaXRlQ291bnQ6IHBhcnNlSW50KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3VzZXJTYXZlZENvdW50JykpLFxuICAgICAgICB9LFxuICAgICAgICBvdXRwdXRcbiAgICAgICksXG4gICAgaXNPcGVuRGF0YTogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIGlzT3BlbkRhdGE6IHNlbGVjdEZpZWxkKHNvdXJjZSwgJ2lzT3BlbkRhdGEnKSAhPT0gJ2ZhbHNlJyxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIGlzUHVibGlzaGVkVG9BbGw6IChvdXRwdXQsIHNvdXJjZSkgPT5cbiAgICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICAgIHtcbiAgICAgICAgICBpc1B1Ymxpc2hlZFRvQWxsOiBzZWxlY3RGaWVsZChzb3VyY2UsICdpc1B1Ymxpc2hlZFRvQWxsJykgIT09ICdmYWxzZScsXG4gICAgICAgIH0sXG4gICAgICAgIG91dHB1dFxuICAgICAgKSxcbiAgICB1c2VyaW5mbzogKG91dHB1dCwgc291cmNlKSA9PlxuICAgICAgdGhpcy5hZGRFeHRyYShcbiAgICAgICAge1xuICAgICAgICAgIG93bmVySW5mbzogc2VsZWN0RmllbGQoc291cmNlLCAndXNlcmluZm8nKSxcbiAgICAgICAgfSxcbiAgICAgICAgb3V0cHV0XG4gICAgICApLFxuICAgIGNsX2hpZXJhcmNoeUxldmVsOiAob3V0cHV0LCBzb3VyY2UpID0+IHtcbiAgICAgIGNvbnN0IGhpZXJhcmNoeUxldmVsID0gc2VsZWN0RmllbGQoXG4gICAgICAgIGdldEZpcnN0VmFsdWUoc2VsZWN0RmllbGQoc291cmNlLCAnY2xfaGllcmFyY2h5TGV2ZWwnKSksXG4gICAgICAgICdrZXknXG4gICAgICApXG4gICAgICBjb25zdCBraW5kID0gaGllcmFyY2h5TGV2ZWwgPT09ICdzZXJ2aWNlJyA/ICdzZXJ2aWNlJyA6ICdkYXRhc2V0J1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ub3V0cHV0LFxuICAgICAgICBraW5kLFxuICAgICAgfVxuICAgIH0sXG4gICAgZ2VvbTogKG91dHB1dCwgc291cmNlKSA9PiB7XG4gICAgICBjb25zdCBnZW9tcyA9IGdldEFzQXJyYXkoc2VsZWN0RmllbGQoc291cmNlLCAnZ2VvbScpKVxuICAgICAgY29uc3Qgc2hhcGVzID0gZ2V0QXNBcnJheShzZWxlY3RGaWVsZChzb3VyY2UsICdzaGFwZScpKVxuICAgICAgY29uc3QgZXh0ZW50RGVzY3JpcHRpb25zID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAnZXh0ZW50RGVzY3JpcHRpb25PYmplY3QnKVxuICAgICAgKVxuICAgICAgY29uc3Qgc3BhdGlhbEV4dGVudHMgPSBnZXRBc0FycmF5KHNlbGVjdEZpZWxkKHNvdXJjZSwgJ3NwYXRpYWxFeHRlbnRzJykpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIHNwYXRpYWxFeHRlbnRzOiBbXG4gICAgICAgICAgLi4uc3BhdGlhbEV4dGVudHMsXG4gICAgICAgICAgLi4uZ2VvbXMubWFwKChnZW9tLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWxlY3RUcmFuc2xhdGVkVmFsdWUoXG4gICAgICAgICAgICAgIGdldEFycmF5SXRlbShleHRlbnREZXNjcmlwdGlvbnMsIGluZGV4KSxcbiAgICAgICAgICAgICAgdGhpcy5sYW5nM1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgY29uc3QgZ2VvbWV0cnkgPSBzaGFwZXNbaW5kZXhdID8/IGdlb21cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIC4uLihkZXNjcmlwdGlvbiAhPT0gbnVsbCA/IHsgZGVzY3JpcHRpb24gfSA6IG51bGwpLFxuICAgICAgICAgICAgICBnZW9tZXRyeSxcbiAgICAgICAgICAgIH0gYXMgRGF0YXNldFNwYXRpYWxFeHRlbnRcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlc291cmNlVGVtcG9yYWxFeHRlbnREYXRlUmFuZ2U6IChvdXRwdXQsIHNvdXJjZSkgPT4ge1xuICAgICAgY29uc3QgcmFuZ2VzID0gZ2V0QXNBcnJheShcbiAgICAgICAgc2VsZWN0RmllbGQoc291cmNlLCAncmVzb3VyY2VUZW1wb3JhbEV4dGVudERhdGVSYW5nZScpXG4gICAgICApXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5vdXRwdXQsXG4gICAgICAgIHRlbXBvcmFsRXh0ZW50czogcmFuZ2VzLm1hcCgocmFuZ2UpID0+IHtcbiAgICAgICAgICBjb25zdCBzdGFydCA9IHNlbGVjdEZpZWxkKHJhbmdlLCAnZ3RlJylcbiAgICAgICAgICBjb25zdCBlbmQgPSBzZWxlY3RGaWVsZChyYW5nZSwgJ2x0ZScpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLihzdGFydCAhPT0gbnVsbCA/IHsgc3RhcnQ6IHRvRGF0ZShzdGFydCkgfSA6IG51bGwpLFxuICAgICAgICAgICAgLi4uKGVuZCAhPT0gbnVsbCA/IHsgZW5kOiB0b0RhdGUoZW5kKSB9IDogbnVsbCksXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgIH1cbiAgICB9LFxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmljRmllbGQgPSAob3V0cHV0KSA9PiBvdXRwdXRcblxuICBwcml2YXRlIGNvbnN0cmFpbnRGaWVsZCA9IChcbiAgICB0eXBlOiAnbGljZW5zZScgfCAnbGVnYWwnIHwgJ3NlY3VyaXR5JyB8ICdvdGhlcicsXG4gICAgb3V0cHV0OiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+LFxuICAgIGNvbnN0cmFpbnRBcnJheTogU291cmNlV2l0aFVua25vd25Qcm9wc1tdXG4gICkgPT4ge1xuICAgIGxldCBvdXRwdXRGaWVsZDogc3RyaW5nXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdsaWNlbnNlJzpcbiAgICAgICAgb3V0cHV0RmllbGQgPSAnbGljZW5zZXMnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdsZWdhbCc6XG4gICAgICAgIG91dHB1dEZpZWxkID0gJ2xlZ2FsQ29uc3RyYWludHMnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdzZWN1cml0eSc6XG4gICAgICAgIG91dHB1dEZpZWxkID0gJ3NlY3VyaXR5Q29uc3RyYWludHMnXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdvdGhlcic6XG4gICAgICAgIG91dHB1dEZpZWxkID0gJ290aGVyQ29uc3RyYWludHMnXG4gICAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNvbnN0IG91dHB1dEFycmF5OiBDb25zdHJhaW50W10gPVxuICAgICAgb3V0cHV0RmllbGQgaW4gb3V0cHV0ID8gb3V0cHV0W291dHB1dEZpZWxkXSA6IFtdXG4gICAgb3V0cHV0QXJyYXkucHVzaChcbiAgICAgIC4uLmNvbnN0cmFpbnRBcnJheS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgdGV4dCA9IHNlbGVjdFRyYW5zbGF0ZWRWYWx1ZShpdGVtLCB0aGlzLmxhbmczKSBhcyBzdHJpbmdcbiAgICAgICAgY29uc3QgdXJsID0gZ2V0QXNVcmwoc2VsZWN0RmllbGQoaXRlbSwgJ2xpbmsnKSlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0ZXh0LFxuICAgICAgICAgIC4uLih1cmwgPyB7IHVybCB9IDoge30pLFxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAuLi5vdXRwdXQsXG4gICAgICBbb3V0cHV0RmllbGRdOiBvdXRwdXRBcnJheSxcbiAgICB9XG4gICAgLy8gYXZvaWQgbGVnYWwgY29uc3RyYWludHMgYmVpbmcgZHVwbGljYXRlcyBvZiBsaWNlbnNlc1xuICAgIGlmIChcbiAgICAgICdsZWdhbENvbnN0cmFpbnRzJyBpbiByZXN1bHQgJiZcbiAgICAgICh0eXBlID09PSAnbGVnYWwnIHx8IHR5cGUgPT09ICdsaWNlbnNlJylcbiAgICApIHtcbiAgICAgIHJlc3VsdC5sZWdhbENvbnN0cmFpbnRzID0gcmVzdWx0LmxlZ2FsQ29uc3RyYWludHMuZmlsdGVyKFxuICAgICAgICAoY29uc3RyYWludCkgPT5cbiAgICAgICAgICAhb3V0cHV0LmxpY2Vuc2VzPy5zb21lKChsaWNlbnNlKSA9PiBsaWNlbnNlLnRleHQgPT09IGNvbnN0cmFpbnQudGV4dClcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgZ2V0TWFwcGluZ0ZuKGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZpZWxkTmFtZSBpbiB0aGlzLmZpZWxkcyA/IHRoaXMuZmllbGRzW2ZpZWxkTmFtZV0gOiB0aGlzLmdlbmVyaWNGaWVsZFxuICB9XG5cbiAgZ2V0TGlua1R5cGUodXJsOiBzdHJpbmcsIHByb3RvY29sPzogc3RyaW5nKTogRGF0YXNldERpc3RyaWJ1dGlvblR5cGUge1xuICAgIGlmICghcHJvdG9jb2wpIHtcbiAgICAgIHJldHVybiAnbGluaydcbiAgICB9XG4gICAgaWYgKFxuICAgICAgKC9eRVNSSTpSRVNULy50ZXN0KHByb3RvY29sKSAmJiAvRmVhdHVyZVNlcnZlci8udGVzdCh1cmwpKSB8fFxuICAgICAgL15PR0M6V01TLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V0ZTLy50ZXN0KHByb3RvY29sKSB8fFxuICAgICAgL15PR0M6V01UUy8udGVzdChwcm90b2NvbCkgfHxcbiAgICAgIC9vZ2NcXFcqYXBpXFxXKmZlYXR1cmVzL2kudGVzdChwcm90b2NvbClcbiAgICApIHtcbiAgICAgIHJldHVybiAnc2VydmljZSdcbiAgICB9XG4gICAgaWYgKC9eV1dXOkRPV05MT0FELy50ZXN0KHByb3RvY29sKSkge1xuICAgICAgcmV0dXJuICdkb3dubG9hZCdcbiAgICB9XG4gICAgcmV0dXJuICdsaW5rJ1xuICB9XG5cbiAgbWFwTGluayA9IChcbiAgICBzb3VyY2VMaW5rOiBTb3VyY2VXaXRoVW5rbm93blByb3BzXG4gICk6IERhdGFzZXREaXN0cmlidXRpb24gfCBudWxsID0+IHtcbiAgICBjb25zdCB1cmwgPSBnZXRBc1VybChcbiAgICAgIHNlbGVjdEZhbGxiYWNrKFxuICAgICAgICBzZWxlY3RUcmFuc2xhdGVkRmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAndXJsT2JqZWN0JywgdGhpcy5sYW5nMyksXG4gICAgICAgIHNlbGVjdEZpZWxkPHN0cmluZz4oc291cmNlTGluaywgJ3VybCcpXG4gICAgICApXG4gICAgKVxuICAgIGNvbnN0IG5hbWUgPSBzZWxlY3RGYWxsYmFjayhcbiAgICAgIHNlbGVjdFRyYW5zbGF0ZWRGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICduYW1lT2JqZWN0JywgdGhpcy5sYW5nMyksXG4gICAgICBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICduYW1lJylcbiAgICApXG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSBzZWxlY3RGYWxsYmFjayhcbiAgICAgIHNlbGVjdFRyYW5zbGF0ZWRGaWVsZDxzdHJpbmc+KFxuICAgICAgICBzb3VyY2VMaW5rLFxuICAgICAgICAnZGVzY3JpcHRpb25PYmplY3QnLFxuICAgICAgICB0aGlzLmxhbmczXG4gICAgICApLFxuICAgICAgc2VsZWN0RmllbGQ8c3RyaW5nPihzb3VyY2VMaW5rLCAnZGVzY3JpcHRpb24nKVxuICAgIClcbiAgICAvLyBubyB1cmw6IGZhaWwgZWFybHlcbiAgICBpZiAodXJsID09PSBudWxsKSB7XG4gICAgICAvLyBUT0RPOiBjb2xsZWN0IGVycm9ycyBhdCB0aGUgcmVjb3JkIGxldmVsP1xuICAgICAgY29uc29sZS53YXJuKCdBIGxpbmsgd2l0aG91dCB2YWxpZCBVUkwgd2FzIGZvdW5kJywgc291cmNlTGluaylcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgcHJvdG9jb2wgPSBzZWxlY3RGaWVsZDxzdHJpbmc+KHNvdXJjZUxpbmssICdwcm90b2NvbCcpXG4gICAgY29uc3QgdHlwZSA9IHRoaXMuZ2V0TGlua1R5cGUodXJsLnRvU3RyaW5nKCksIHByb3RvY29sKVxuICAgIGNvbnN0IGFjY2Vzc1NlcnZpY2VQcm90b2NvbCA9IG1hdGNoUHJvdG9jb2wocHJvdG9jb2wpXG4gICAgY29uc3QgbWltZVR5cGVNYXRjaGVzID1cbiAgICAgIHByb3RvY29sICYmIHByb3RvY29sLm1hdGNoKC9eV1dXOkRPV05MT0FEOiguK1xcLy4rKSQvKVxuICAgIGNvbnN0IG1pbWVUeXBlID0gbWltZVR5cGVNYXRjaGVzICYmIG1pbWVUeXBlTWF0Y2hlc1sxXVxuXG4gICAgY29uc3QgZGlzdHJpYnV0aW9uID0ge1xuICAgICAgLi4uKG5hbWUgJiYgeyBuYW1lIH0pLFxuICAgICAgLi4uKGRlc2NyaXB0aW9uICYmIHsgZGVzY3JpcHRpb24gfSksXG4gICAgfVxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc2VydmljZSc6XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4uZGlzdHJpYnV0aW9uLFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgYWNjZXNzU2VydmljZVByb3RvY29sLFxuICAgICAgICB9IGFzIERhdGFzZXRTZXJ2aWNlRGlzdHJpYnV0aW9uXG4gICAgICBjYXNlICdsaW5rJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kaXN0cmlidXRpb24sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgfSBhcyBPbmxpbmVMaW5rUmVzb3VyY2VcbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5kaXN0cmlidXRpb24sXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAuLi4obWltZVR5cGUgJiYgeyBtaW1lVHlwZSB9KSxcbiAgICAgICAgfSBhcyBEYXRhc2V0RG93bmxvYWREaXN0cmlidXRpb25cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEV4dHJhID0gKHZhbHVlOiBvYmplY3QsIG91dHB1dDogUGFydGlhbDxDYXRhbG9nUmVjb3JkPikgPT4gKHtcbiAgICAuLi5vdXRwdXQsXG4gICAgZXh0cmFzOiB7IC4uLihvdXRwdXQuZXh0cmFzIHx8IHt9KSwgLi4udmFsdWUgfSxcbiAgfSlcbn1cbiJdfQ==
@@ -19,6 +19,7 @@ export class Gn4MetadataMapper extends MetadataBaseMapper {
19
19
  status: null,
20
20
  lineage: null,
21
21
  recordUpdated: null,
22
+ recordPublished: null,
22
23
  ownerOrganization: null,
23
24
  licenses: [],
24
25
  legalConstraints: [],
@@ -31,6 +32,7 @@ export class Gn4MetadataMapper extends MetadataBaseMapper {
31
32
  spatialExtents: [],
32
33
  temporalExtents: [],
33
34
  overviews: [],
35
+ languages: [],
34
36
  };
35
37
  const record = Object.keys(_source).reduce((prev, fieldName) => this.fieldMapper.getMappingFn(fieldName)(prev, _source), emptyRecord);
36
38
  return lastValueFrom(this.orgsService.addOrganizationToRecordFromSource(_source, record));
@@ -47,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
47
49
  providedIn: 'root',
48
50
  }]
49
51
  }], ctorParameters: function () { return [{ type: i1.Gn4FieldMapper }, { type: i2.OrganizationsServiceInterface }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240Lm1ldGFkYXRhLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQubWV0YWRhdGEubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBO0FBRTVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7QUFNMUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUE2QjtJQUNsRSxZQUNVLFdBQTJCLEVBQzNCLFdBQTBDO1FBRWxELEtBQUssRUFBRSxDQUFBO1FBSEMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUErQjtJQUdwRCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQW1CO1FBQzVCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUE7UUFDNUIsTUFBTSxXQUFXLEdBQTJCO1lBQzFDLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLElBQUk7WUFDWixPQUFPLEVBQUUsSUFBSTtZQUNiLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsUUFBUSxFQUFFLEVBQUU7WUFDWixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixRQUFRLEVBQUUsRUFBRTtZQUNaLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUUsRUFBRTtZQUNWLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLGVBQWUsRUFBRSxFQUFFO1lBQ25CLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQTtRQUNELE1BQU0sTUFBTSxHQUFrQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDdkQsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUN6RCxXQUFXLENBQ1osQ0FBQTtRQUNELE9BQU8sYUFBYSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FDcEUsQ0FBQTtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsTUFBcUI7UUFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7OEdBeENVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07OzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHbjRGaWVsZE1hcHBlciB9IGZyb20gJy4vZ240LmZpZWxkLm1hcHBlcidcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9vcmdhbml6YXRpb25zLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgQ2F0YWxvZ1JlY29yZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IE1ldGFkYXRhQmFzZU1hcHBlciB9IGZyb20gJy4uL21ldGFkYXRhLWJhc2UubWFwcGVyJ1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBHbjRSZWNvcmQgfSBmcm9tICcuL3R5cGVzJ1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR240TWV0YWRhdGFNYXBwZXIgZXh0ZW5kcyBNZXRhZGF0YUJhc2VNYXBwZXI8R240UmVjb3JkPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmllbGRNYXBwZXI6IEduNEZpZWxkTWFwcGVyLFxuICAgIHByaXZhdGUgb3Jnc1NlcnZpY2U6IE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlXG4gICkge1xuICAgIHN1cGVyKClcbiAgfVxuXG4gIHJlYWRSZWNvcmQoZG9jdW1lbnQ6IEduNFJlY29yZCk6IFByb21pc2U8Q2F0YWxvZ1JlY29yZD4ge1xuICAgIGNvbnN0IHsgX3NvdXJjZSB9ID0gZG9jdW1lbnRcbiAgICBjb25zdCBlbXB0eVJlY29yZDogUGFydGlhbDxDYXRhbG9nUmVjb3JkPiA9IHtcbiAgICAgIGtpbmQ6ICdkYXRhc2V0JyxcbiAgICAgIHN0YXR1czogbnVsbCxcbiAgICAgIGxpbmVhZ2U6IG51bGwsXG4gICAgICByZWNvcmRVcGRhdGVkOiBudWxsLFxuICAgICAgb3duZXJPcmdhbml6YXRpb246IG51bGwsXG4gICAgICBsaWNlbnNlczogW10sXG4gICAgICBsZWdhbENvbnN0cmFpbnRzOiBbXSxcbiAgICAgIHNlY3VyaXR5Q29uc3RyYWludHM6IFtdLFxuICAgICAgb3RoZXJDb25zdHJhaW50czogW10sXG4gICAgICBjb250YWN0czogW10sXG4gICAgICBjb250YWN0c0ZvclJlc291cmNlOiBbXSxcbiAgICAgIGtleXdvcmRzOiBbXSxcbiAgICAgIHRvcGljczogW10sXG4gICAgICBzcGF0aWFsRXh0ZW50czogW10sXG4gICAgICB0ZW1wb3JhbEV4dGVudHM6IFtdLFxuICAgICAgb3ZlcnZpZXdzOiBbXSxcbiAgICB9XG4gICAgY29uc3QgcmVjb3JkOiBDYXRhbG9nUmVjb3JkID0gT2JqZWN0LmtleXMoX3NvdXJjZSkucmVkdWNlKFxuICAgICAgKHByZXYsIGZpZWxkTmFtZSkgPT5cbiAgICAgICAgdGhpcy5maWVsZE1hcHBlci5nZXRNYXBwaW5nRm4oZmllbGROYW1lKShwcmV2LCBfc291cmNlKSxcbiAgICAgIGVtcHR5UmVjb3JkXG4gICAgKVxuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5vcmdzU2VydmljZS5hZGRPcmdhbml6YXRpb25Ub1JlY29yZEZyb21Tb3VyY2UoX3NvdXJjZSwgcmVjb3JkKVxuICAgIClcbiAgfVxuXG4gIHdyaXRlUmVjb3JkKHJlY29yZDogQ2F0YWxvZ1JlY29yZCk6IFByb21pc2U8R240UmVjb3JkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKVxuICB9XG59XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240Lm1ldGFkYXRhLm1hcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMvbGliL2duNC9nbjQubWV0YWRhdGEubWFwcGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3BDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhFQUE4RSxDQUFBO0FBRTVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7Ozs7QUFNMUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUE2QjtJQUNsRSxZQUNVLFdBQTJCLEVBQzNCLFdBQTBDO1FBRWxELEtBQUssRUFBRSxDQUFBO1FBSEMsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQzNCLGdCQUFXLEdBQVgsV0FBVyxDQUErQjtJQUdwRCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQW1CO1FBQzVCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUE7UUFDNUIsTUFBTSxXQUFXLEdBQTJCO1lBQzFDLElBQUksRUFBRSxTQUFTO1lBQ2YsTUFBTSxFQUFFLElBQUk7WUFDWixPQUFPLEVBQUUsSUFBSTtZQUNiLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsUUFBUSxFQUFFLEVBQUU7WUFDWixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsZ0JBQWdCLEVBQUUsRUFBRTtZQUNwQixRQUFRLEVBQUUsRUFBRTtZQUNaLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUUsRUFBRTtZQUNWLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLGVBQWUsRUFBRSxFQUFFO1lBQ25CLFNBQVMsRUFBRSxFQUFFO1lBQ2IsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFBO1FBQ0QsTUFBTSxNQUFNLEdBQWtCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUN2RCxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUNsQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQ3pELFdBQVcsQ0FDWixDQUFBO1FBQ0QsT0FBTyxhQUFhLENBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsaUNBQWlDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUNwRSxDQUFBO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFxQjtRQUMvQixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDcEMsQ0FBQzs4R0ExQ1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEduNEZpZWxkTWFwcGVyIH0gZnJvbSAnLi9nbjQuZmllbGQubWFwcGVyJ1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL29yZ2FuaXphdGlvbnMuc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBDYXRhbG9nUmVjb3JkIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgTWV0YWRhdGFCYXNlTWFwcGVyIH0gZnJvbSAnLi4vbWV0YWRhdGEtYmFzZS5tYXBwZXInXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEduNFJlY29yZCB9IGZyb20gJy4vdHlwZXMnXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHbjRNZXRhZGF0YU1hcHBlciBleHRlbmRzIE1ldGFkYXRhQmFzZU1hcHBlcjxHbjRSZWNvcmQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmaWVsZE1hcHBlcjogR240RmllbGRNYXBwZXIsXG4gICAgcHJpdmF0ZSBvcmdzU2VydmljZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2VcbiAgKSB7XG4gICAgc3VwZXIoKVxuICB9XG5cbiAgcmVhZFJlY29yZChkb2N1bWVudDogR240UmVjb3JkKTogUHJvbWlzZTxDYXRhbG9nUmVjb3JkPiB7XG4gICAgY29uc3QgeyBfc291cmNlIH0gPSBkb2N1bWVudFxuICAgIGNvbnN0IGVtcHR5UmVjb3JkOiBQYXJ0aWFsPENhdGFsb2dSZWNvcmQ+ID0ge1xuICAgICAga2luZDogJ2RhdGFzZXQnLFxuICAgICAgc3RhdHVzOiBudWxsLFxuICAgICAgbGluZWFnZTogbnVsbCxcbiAgICAgIHJlY29yZFVwZGF0ZWQ6IG51bGwsXG4gICAgICByZWNvcmRQdWJsaXNoZWQ6IG51bGwsXG4gICAgICBvd25lck9yZ2FuaXphdGlvbjogbnVsbCxcbiAgICAgIGxpY2Vuc2VzOiBbXSxcbiAgICAgIGxlZ2FsQ29uc3RyYWludHM6IFtdLFxuICAgICAgc2VjdXJpdHlDb25zdHJhaW50czogW10sXG4gICAgICBvdGhlckNvbnN0cmFpbnRzOiBbXSxcbiAgICAgIGNvbnRhY3RzOiBbXSxcbiAgICAgIGNvbnRhY3RzRm9yUmVzb3VyY2U6IFtdLFxuICAgICAga2V5d29yZHM6IFtdLFxuICAgICAgdG9waWNzOiBbXSxcbiAgICAgIHNwYXRpYWxFeHRlbnRzOiBbXSxcbiAgICAgIHRlbXBvcmFsRXh0ZW50czogW10sXG4gICAgICBvdmVydmlld3M6IFtdLFxuICAgICAgbGFuZ3VhZ2VzOiBbXSxcbiAgICB9XG4gICAgY29uc3QgcmVjb3JkOiBDYXRhbG9nUmVjb3JkID0gT2JqZWN0LmtleXMoX3NvdXJjZSkucmVkdWNlKFxuICAgICAgKHByZXYsIGZpZWxkTmFtZSkgPT5cbiAgICAgICAgdGhpcy5maWVsZE1hcHBlci5nZXRNYXBwaW5nRm4oZmllbGROYW1lKShwcmV2LCBfc291cmNlKSxcbiAgICAgIGVtcHR5UmVjb3JkXG4gICAgKVxuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5vcmdzU2VydmljZS5hZGRPcmdhbml6YXRpb25Ub1JlY29yZEZyb21Tb3VyY2UoX3NvdXJjZSwgcmVjb3JkKVxuICAgIClcbiAgfVxuXG4gIHdyaXRlUmVjb3JkKHJlY29yZDogQ2F0YWxvZ1JlY29yZCk6IFByb21pc2U8R240UmVjb3JkPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW1wbGVtZW50ZWQnKVxuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9nbjQvdHlwZXMvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcblxudHlwZSBMYW5nQ29kZSA9IHN0cmluZ1xudHlwZSBNdWx0aWxpbmd1YWxGaWVsZCA9IHtcbiAgW0sgaW4gYGxhbmcke0xhbmdDb2RlfWBdOiBzdHJpbmdcbn0gJiB7XG4gIGRlZmF1bHQ6IHN0cmluZ1xufVxuXG50eXBlIEJvb2xlYW5TdHJpbmcgPSAndHJ1ZScgfCAnZmFsc2UnXG5pbnRlcmZhY2UgQ29kZUxpc3RFbnRyeSBleHRlbmRzIE11bHRpbGluZ3VhbEZpZWxkIHtcbiAga2V5OiBzdHJpbmdcbiAgbGluaz86IHN0cmluZ1xufVxuXG50eXBlIE1heWJlQXJyYXk8VD4gPSBUIHwgVFtdXG5cbmludGVyZmFjZSBDb250YWN0IHtcbiAgb3JnYW5pc2F0aW9uOiBzdHJpbmdcbiAgcm9sZTogc3RyaW5nXG4gIGVtYWlsOiBzdHJpbmdcbiAgd2Vic2l0ZTogc3RyaW5nXG4gIGxvZ286IHN0cmluZ1xuICBpbmRpdmlkdWFsOiBzdHJpbmdcbiAgcG9zaXRpb246IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nXG4gIGFkZHJlc3M6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnZpZXcge1xuICBkYXRhPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICB0ZXh0PzogTXVsdGlsaW5ndWFsRmllbGRcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlRGF0ZSB7XG4gIHR5cGU6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2Uge1xuICBndGU/OiBzdHJpbmdcbiAgbHRlPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBSZXNvdXJjZUlkZW50aWZpZXIge1xuICBjb2RlOiBzdHJpbmdcbiAgY29kZVNwYWNlOiBzdHJpbmdcbiAgbGluazogc3RyaW5nXG59XG5cbmludGVyZmFjZSBTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2Uge1xuICB0aXRsZTogc3RyaW5nXG4gIGRhdGU6IHN0cmluZ1xuICBleHBsYW5hdGlvbjogc3RyaW5nXG4gIHBhc3M6IEJvb2xlYW5TdHJpbmdcbn1cblxudHlwZSBUaGVzYXVydXNOYW1lID0gc3RyaW5nXG5leHBvcnQgaW50ZXJmYWNlIFRoZXNhdXJ1cyB7XG4gIGlkPzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIHRoZW1lPzogc3RyaW5nXG4gIGxpbms/OiBzdHJpbmdcbiAga2V5d29yZHM6IE11bHRpbGluZ3VhbEZpZWxkW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rIHtcbiAgcHJvdG9jb2w/OiBzdHJpbmdcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgdXJsPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgZnVuY3Rpb24/OiBzdHJpbmdcbiAgYXBwbGljYXRpb25Qcm9maWxlPzogc3RyaW5nXG4gIGdyb3VwPzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIE1ldGFkYXRhT2JqZWN0ID0gUGFydGlhbDx7XG4gIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBNRF9MZWdhbENvbnN0cmFpbnRzT3RoZXJDb25zdHJhaW50c09iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBPcmc6IHN0cmluZ1xuICBPcmdGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgYWxsS2V5d29yZHM6IFJlY29yZDxUaGVzYXVydXNOYW1lLCBUaGVzYXVydXM+XG4gIGNoYW5nZURhdGU6IHN0cmluZ1xuICBjbF9jaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9mdW5jdGlvbjogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX2hpZXJhcmNoeUxldmVsOiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfcmVzb3VyY2VDaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9zdGF0dXM6IENvZGVMaXN0RW50cnlbXVxuICBjbF90b3BpYzogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX3R5cGU6IENvZGVMaXN0RW50cnlbXVxuICBjb25mb3JtVG9fVGl0cmVkdW5lc3BjaWZpY2F0aW9ubGFxdWVsbGVsYXNyaWVkZWRvbm5lc2VzdGNvbmZvcm1lb3Vub246IHN0cmluZ1xuICBjb250YWN0OiBDb250YWN0W11cbiAgY29udGFjdEZvclJlc291cmNlOiBDb250YWN0W11cbiAgY3JlYXRlRGF0ZTogc3RyaW5nXG4gIGNyZWF0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdbXVxuICBjcmVhdGlvbk1vbnRoRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBjcmVhdGlvblllYXJGb3JSZXNvdXJjZTogc3RyaW5nXG4gIGRhdGVTdGFtcDogc3RyaW5nXG4gIGRpc3BsYXlPcmRlcjogc3RyaW5nXG4gIGRvY1R5cGU6IHN0cmluZ1xuICBkb2N1bWVudDogc3RyaW5nXG4gIGRvY3VtZW50U3RhbmRhcmQ6IHN0cmluZ1xuICBkcmFmdDogc3RyaW5nXG4gIGV4dGVudERlc2NyaXB0aW9uT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFtdXG4gIGV4dHJhOiBzdHJpbmdcbiAgZmVhdHVyZU9mUmVjb3JkOiBzdHJpbmdcbiAgZmVlZGJhY2tDb3VudDogc3RyaW5nXG4gIGdlb206IEdlb21ldHJ5XG4gIGdyb3VwT3duZXI6IHN0cmluZ1xuICBncm91cFB1Ymxpc2hlZDogc3RyaW5nW11cbiAgZ3JvdXBQdWJsaXNoZWRJZDogc3RyaW5nXG4gIGhhcnZlc3RlclV1aWQ6IHN0cmluZ1xuICBoYXNJbnNwaXJlVGhlbWU6IEJvb2xlYW5TdHJpbmdcbiAgaGFzT3ZlcnZpZXc6IEJvb2xlYW5TdHJpbmdcbiAgaGFzeGxpbmtzOiBCb29sZWFuU3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAgaW5kZXhpbmdEYXRlOiBzdHJpbmdcbiAgaW5kZXhpbmdFcnJvcjogc3RyaW5nW11cbiAgaW5kZXhpbmdFcnJvck1zZzogc3RyaW5nW11cbiAgaW5zcGlyZUFubmV4OiBzdHJpbmdbXVxuICBpbnNwaXJlQW5uZXhGb3JGaXJzdFRoZW1lOiBzdHJpbmdcbiAgaW5zcGlyZVRoZW1lOiBzdHJpbmdbXVxuICBpbnNwaXJlVGhlbWVGaXJzdDogc3RyaW5nXG4gIGluc3BpcmVUaGVtZUZpcnN0X3N5bjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZU51bWJlcjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZVVyaTogc3RyaW5nW11cbiAgaW5zcGlyZVRoZW1lX3N5bjogc3RyaW5nW11cbiAgaXNIYXJ2ZXN0ZWQ6IHN0cmluZ1xuICBpc09wZW5EYXRhOiBzdHJpbmdcbiAgaXNQdWJsaXNoZWRUb0FsbDogc3RyaW5nXG4gIGlzVGVtcGxhdGU6IHN0cmluZ1xuICBrZXl3b3JkVHlwZTogUmVjb3JkPHN0cmluZywgTXVsdGlsaW5ndWFsRmllbGRbXT5cbiAgbGljZW5zZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBsaW5lYWdlT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICBsaW5rOiBMaW5rW11cbiAgbGlua1Byb3RvY29sOiBzdHJpbmdbXVxuICBsaW5rVXJsOiBzdHJpbmdbXVxuICBsaW5rVXJsUHJvdG9jb2xPR0NXRlM6IHN0cmluZ1tdXG4gIGxpbmtVcmxQcm90b2NvbE9HQ1dNUzogc3RyaW5nW11cbiAgbGlua1VybFByb3RvY29sV1dXTElOSzEwaHR0cGxpbms6IE1heWJlQXJyYXk8c3RyaW5nPlxuICBsaW5rVXJsUHJvdG9jb2xXV1dMSU5LMTBodHRwcmVsYXRlZDogc3RyaW5nXG4gIGxvY2F0aW9uOiBzdHJpbmdcbiAgbG9nbzogc3RyaW5nXG4gIG1haW5MYW5ndWFnZTogc3RyaW5nXG4gIG1ldGFkYXRhSWRlbnRpZmllcjogc3RyaW5nXG4gIG92ZXJ2aWV3OiBPdmVydmlld1tdXG4gIG93bmVyOiBzdHJpbmdcbiAgcG9pbnRPZkNvbnRhY3RPcmc6IHN0cmluZ1xuICBwb2ludE9mQ29udGFjdE9yZ0ZvclJlc291cmNlOiBzdHJpbmdcbiAgcG9wdWxhcml0eTogbnVtYmVyXG4gIHJhdGluZzogc3RyaW5nXG4gIHJlY29yZDogc3RyaW5nXG4gIHJlY29yZEdyb3VwOiBzdHJpbmdcbiAgcmVjb3JkT3duZXI6IHN0cmluZ1xuICByZXNvbHV0aW9uRGlzdGFuY2U6IHN0cmluZ1tdXG4gIHJlc29sdXRpb25TY2FsZURlbm9taW5hdG9yOiBzdHJpbmdbXVxuICByZXNvdXJjZUFic3RyYWN0T2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICByZXNvdXJjZURhdGU6IFJlc291cmNlRGF0ZVtdXG4gIHJlc291cmNlRWRpdGlvbjogc3RyaW5nXG4gIHJlc291cmNlSWRlbnRpZmllcjogUmVzb3VyY2VJZGVudGlmaWVyW11cbiAgcmVzb3VyY2VMYW5ndWFnZTogc3RyaW5nW11cbiAgcmVzb3VyY2VUZW1wb3JhbERhdGVSYW5nZTogUmVzb3VyY2VUZW1wb3JhbERhdGVSYW5nZVtdXG4gIHJlc291cmNlVGVtcG9yYWxFeHRlbnREYXRlUmFuZ2U6IFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2VbXVxuICByZXNvdXJjZVRpdGxlT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICByZXNvdXJjZVR5cGU6IHN0cmluZ1tdXG4gIHJlc291cmNlVHlwZU5hbWVPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHJldmlzaW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdbXVxuICByZXZpc2lvbk1vbnRoRm9yUmVzb3VyY2U6IHN0cmluZ1xuICByZXZpc2lvblllYXJGb3JSZXNvdXJjZTogc3RyaW5nXG4gIHNvdXJjZUNhdGFsb2d1ZTogc3RyaW5nXG4gIHNwZWNpZmljYXRpb25Db25mb3JtYW5jZTogTWF5YmVBcnJheTxTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2U+XG4gIHN0YW5kYXJkTmFtZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgc3RhbmRhcmRWZXJzaW9uT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICB0YWc6IE11bHRpbGluZ3VhbEZpZWxkW11cbiAgdGFnTnVtYmVyOiBzdHJpbmdcbiAgdXNlclNhdmVkQ291bnQ6IHN0cmluZ1xuICB1c2VyaW5mbzogc3RyaW5nXG4gIHV1aWQ6IHN0cmluZ1xuICB2YWxpZDogc3RyaW5nXG4gIHhsaW5rOiBzdHJpbmdbXVxufT5cblxuZXhwb3J0IGludGVyZmFjZSBHbjRSZWNvcmQge1xuICBfaW5kZXg6IHN0cmluZ1xuICBfdHlwZTogc3RyaW5nXG4gIF9pZDogc3RyaW5nXG4gIF9zY29yZTogbnVtYmVyXG4gIF9zb3VyY2U6IE1ldGFkYXRhT2JqZWN0XG4gIGVkaXQ/OiBib29sZWFuXG4gIG93bmVyPzogYm9vbGVhblxuICBpc1B1Ymxpc2hlZFRvQWxsPzogYm9vbGVhblxuICB2aWV3PzogYm9vbGVhblxuICBub3RpZnk/OiBib29sZWFuXG4gIGRvd25sb2FkPzogYm9vbGVhblxuICBkeW5hbWljPzogYm9vbGVhblxuICBmZWF0dXJlZD86IGJvb2xlYW5cbiAgZ3Vlc3Rkb3dubG9hZD86IGJvb2xlYW5cbiAgc2VsZWN0ZWQ/OiBib29sZWFuXG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9tZXRhZGF0YS1jb252ZXJ0ZXIvc3JjL2xpYi9nbjQvdHlwZXMvbWV0YWRhdGEubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlb21ldHJ5IH0gZnJvbSAnZ2VvanNvbidcblxudHlwZSBMYW5nQ29kZSA9IHN0cmluZ1xudHlwZSBNdWx0aWxpbmd1YWxGaWVsZCA9IHtcbiAgW0sgaW4gYGxhbmcke0xhbmdDb2RlfWBdOiBzdHJpbmdcbn0gJiB7XG4gIGRlZmF1bHQ6IHN0cmluZ1xufVxuXG50eXBlIEJvb2xlYW5TdHJpbmcgPSAndHJ1ZScgfCAnZmFsc2UnXG5pbnRlcmZhY2UgQ29kZUxpc3RFbnRyeSBleHRlbmRzIE11bHRpbGluZ3VhbEZpZWxkIHtcbiAga2V5OiBzdHJpbmdcbiAgbGluaz86IHN0cmluZ1xufVxuXG50eXBlIE1heWJlQXJyYXk8VD4gPSBUIHwgVFtdXG5cbmludGVyZmFjZSBDb250YWN0IHtcbiAgb3JnYW5pc2F0aW9uOiBzdHJpbmdcbiAgcm9sZTogc3RyaW5nXG4gIGVtYWlsOiBzdHJpbmdcbiAgd2Vic2l0ZTogc3RyaW5nXG4gIGxvZ286IHN0cmluZ1xuICBpbmRpdmlkdWFsOiBzdHJpbmdcbiAgcG9zaXRpb246IHN0cmluZ1xuICBwaG9uZTogc3RyaW5nXG4gIGFkZHJlc3M6IHN0cmluZ1xufVxuXG5pbnRlcmZhY2UgT3ZlcnZpZXcge1xuICBkYXRhPzogc3RyaW5nXG4gIHVybD86IHN0cmluZ1xuICB0ZXh0PzogTXVsdGlsaW5ndWFsRmllbGRcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlRGF0ZSB7XG4gIHR5cGU6IHN0cmluZ1xuICBkYXRlOiBzdHJpbmdcbn1cblxuaW50ZXJmYWNlIFJlc291cmNlVGVtcG9yYWxEYXRlUmFuZ2Uge1xuICBndGU/OiBzdHJpbmdcbiAgbHRlPzogc3RyaW5nXG59XG5cbmludGVyZmFjZSBSZXNvdXJjZUlkZW50aWZpZXIge1xuICBjb2RlOiBzdHJpbmdcbiAgY29kZVNwYWNlOiBzdHJpbmdcbiAgbGluazogc3RyaW5nXG59XG5cbmludGVyZmFjZSBTcGVjaWZpY2F0aW9uQ29uZm9ybWFuY2Uge1xuICB0aXRsZTogc3RyaW5nXG4gIGRhdGU6IHN0cmluZ1xuICBleHBsYW5hdGlvbjogc3RyaW5nXG4gIHBhc3M6IEJvb2xlYW5TdHJpbmdcbn1cblxudHlwZSBUaGVzYXVydXNOYW1lID0gc3RyaW5nXG5leHBvcnQgaW50ZXJmYWNlIFRoZXNhdXJ1cyB7XG4gIGlkPzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIHRoZW1lPzogc3RyaW5nXG4gIGxpbms/OiBzdHJpbmdcbiAga2V5d29yZHM6IE11bHRpbGluZ3VhbEZpZWxkW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaW5rIHtcbiAgcHJvdG9jb2w/OiBzdHJpbmdcbiAgbWltZVR5cGU/OiBzdHJpbmdcbiAgdXJsPzogc3RyaW5nXG4gIG5hbWU/OiBzdHJpbmdcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcbiAgZnVuY3Rpb24/OiBzdHJpbmdcbiAgYXBwbGljYXRpb25Qcm9maWxlPzogc3RyaW5nXG4gIGdyb3VwPzogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIE1ldGFkYXRhT2JqZWN0ID0gUGFydGlhbDx7XG4gIE1EX0NvbnN0cmFpbnRzVXNlTGltaXRhdGlvbk9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBNRF9MZWdhbENvbnN0cmFpbnRzT3RoZXJDb25zdHJhaW50c09iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBPcmc6IHN0cmluZ1xuICBPcmdGb3JSZXNvdXJjZTogc3RyaW5nW11cbiAgYWxsS2V5d29yZHM6IFJlY29yZDxUaGVzYXVydXNOYW1lLCBUaGVzYXVydXM+XG4gIGNoYW5nZURhdGU6IHN0cmluZ1xuICBjbF9jaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9mdW5jdGlvbjogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX2hpZXJhcmNoeUxldmVsOiBDb2RlTGlzdEVudHJ5W11cbiAgY2xfcmVzb3VyY2VDaGFyYWN0ZXJTZXQ6IENvZGVMaXN0RW50cnlbXVxuICBjbF9zdGF0dXM6IENvZGVMaXN0RW50cnlbXVxuICBjbF90b3BpYzogQ29kZUxpc3RFbnRyeVtdXG4gIGNsX3R5cGU6IENvZGVMaXN0RW50cnlbXVxuICBjb25mb3JtVG9fVGl0cmVkdW5lc3BjaWZpY2F0aW9ubGFxdWVsbGVsYXNyaWVkZWRvbm5lc2VzdGNvbmZvcm1lb3Vub246IHN0cmluZ1xuICBjb250YWN0OiBDb250YWN0W11cbiAgY29udGFjdEZvclJlc291cmNlOiBDb250YWN0W11cbiAgY3JlYXRlRGF0ZTogc3RyaW5nXG4gIGNyZWF0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdbXVxuICBjcmVhdGlvbk1vbnRoRm9yUmVzb3VyY2U6IHN0cmluZ1xuICBjcmVhdGlvblllYXJGb3JSZXNvdXJjZTogc3RyaW5nXG4gIGRhdGVTdGFtcDogc3RyaW5nXG4gIGRpc3BsYXlPcmRlcjogc3RyaW5nXG4gIGRvY1R5cGU6IHN0cmluZ1xuICBkb2N1bWVudDogc3RyaW5nXG4gIGRvY3VtZW50U3RhbmRhcmQ6IHN0cmluZ1xuICBkcmFmdDogc3RyaW5nXG4gIGV4dGVudERlc2NyaXB0aW9uT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFtdXG4gIGV4dHJhOiBzdHJpbmdcbiAgZmVhdHVyZU9mUmVjb3JkOiBzdHJpbmdcbiAgZmVlZGJhY2tDb3VudDogc3RyaW5nXG4gIGdlb206IEdlb21ldHJ5XG4gIGdyb3VwT3duZXI6IHN0cmluZ1xuICBncm91cFB1Ymxpc2hlZDogc3RyaW5nW11cbiAgZ3JvdXBQdWJsaXNoZWRJZDogc3RyaW5nXG4gIGhhcnZlc3RlclV1aWQ6IHN0cmluZ1xuICBoYXNJbnNwaXJlVGhlbWU6IEJvb2xlYW5TdHJpbmdcbiAgaGFzT3ZlcnZpZXc6IEJvb2xlYW5TdHJpbmdcbiAgaGFzeGxpbmtzOiBCb29sZWFuU3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAgaW5kZXhpbmdEYXRlOiBzdHJpbmdcbiAgaW5kZXhpbmdFcnJvcjogc3RyaW5nW11cbiAgaW5kZXhpbmdFcnJvck1zZzogc3RyaW5nW11cbiAgaW5zcGlyZUFubmV4OiBzdHJpbmdbXVxuICBpbnNwaXJlQW5uZXhGb3JGaXJzdFRoZW1lOiBzdHJpbmdcbiAgaW5zcGlyZVRoZW1lOiBzdHJpbmdbXVxuICBpbnNwaXJlVGhlbWVGaXJzdDogc3RyaW5nXG4gIGluc3BpcmVUaGVtZUZpcnN0X3N5bjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZU51bWJlcjogc3RyaW5nXG4gIGluc3BpcmVUaGVtZVVyaTogc3RyaW5nW11cbiAgaW5zcGlyZVRoZW1lX3N5bjogc3RyaW5nW11cbiAgaXNIYXJ2ZXN0ZWQ6IHN0cmluZ1xuICBpc09wZW5EYXRhOiBzdHJpbmdcbiAgaXNQdWJsaXNoZWRUb0FsbDogc3RyaW5nXG4gIGlzVGVtcGxhdGU6IHN0cmluZ1xuICBrZXl3b3JkVHlwZTogUmVjb3JkPHN0cmluZywgTXVsdGlsaW5ndWFsRmllbGRbXT5cbiAgbGljZW5zZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRbXVxuICBsaW5lYWdlT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICBsaW5rOiBMaW5rW11cbiAgbGlua1Byb3RvY29sOiBzdHJpbmdbXVxuICBsaW5rVXJsOiBzdHJpbmdbXVxuICBsaW5rVXJsUHJvdG9jb2xPR0NXRlM6IHN0cmluZ1tdXG4gIGxpbmtVcmxQcm90b2NvbE9HQ1dNUzogc3RyaW5nW11cbiAgbGlua1VybFByb3RvY29sV1dXTElOSzEwaHR0cGxpbms6IE1heWJlQXJyYXk8c3RyaW5nPlxuICBsaW5rVXJsUHJvdG9jb2xXV1dMSU5LMTBodHRwcmVsYXRlZDogc3RyaW5nXG4gIGxvY2F0aW9uOiBzdHJpbmdcbiAgbG9nbzogc3RyaW5nXG4gIG1haW5MYW5ndWFnZTogc3RyaW5nXG4gIG1ldGFkYXRhSWRlbnRpZmllcjogc3RyaW5nXG4gIG92ZXJ2aWV3OiBPdmVydmlld1tdXG4gIG93bmVyOiBzdHJpbmdcbiAgcG9pbnRPZkNvbnRhY3RPcmc6IHN0cmluZ1xuICBwb2ludE9mQ29udGFjdE9yZ0ZvclJlc291cmNlOiBzdHJpbmdcbiAgcG9wdWxhcml0eTogbnVtYmVyXG4gIHB1YmxpY2F0aW9uRGF0ZUZvclJlc291cmNlOiBzdHJpbmdcbiAgcmF0aW5nOiBzdHJpbmdcbiAgcmVjb3JkOiBzdHJpbmdcbiAgcmVjb3JkR3JvdXA6IHN0cmluZ1xuICByZWNvcmRPd25lcjogc3RyaW5nXG4gIHJlc29sdXRpb25EaXN0YW5jZTogc3RyaW5nW11cbiAgcmVzb2x1dGlvblNjYWxlRGVub21pbmF0b3I6IHN0cmluZ1tdXG4gIHJlc291cmNlQWJzdHJhY3RPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHJlc291cmNlRGF0ZTogUmVzb3VyY2VEYXRlW11cbiAgcmVzb3VyY2VFZGl0aW9uOiBzdHJpbmdcbiAgcmVzb3VyY2VJZGVudGlmaWVyOiBSZXNvdXJjZUlkZW50aWZpZXJbXVxuICByZXNvdXJjZUxhbmd1YWdlOiBzdHJpbmdbXVxuICByZXNvdXJjZVRlbXBvcmFsRGF0ZVJhbmdlOiBSZXNvdXJjZVRlbXBvcmFsRGF0ZVJhbmdlW11cbiAgcmVzb3VyY2VUZW1wb3JhbEV4dGVudERhdGVSYW5nZTogUmVzb3VyY2VUZW1wb3JhbERhdGVSYW5nZVtdXG4gIHJlc291cmNlVGl0bGVPYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHJlc291cmNlVHlwZTogc3RyaW5nW11cbiAgcmVzb3VyY2VUeXBlTmFtZU9iamVjdDogTXVsdGlsaW5ndWFsRmllbGRcbiAgcmV2aXNpb25EYXRlRm9yUmVzb3VyY2U6IHN0cmluZ1tdXG4gIHJldmlzaW9uTW9udGhGb3JSZXNvdXJjZTogc3RyaW5nXG4gIHJldmlzaW9uWWVhckZvclJlc291cmNlOiBzdHJpbmdcbiAgc291cmNlQ2F0YWxvZ3VlOiBzdHJpbmdcbiAgc3BlY2lmaWNhdGlvbkNvbmZvcm1hbmNlOiBNYXliZUFycmF5PFNwZWNpZmljYXRpb25Db25mb3JtYW5jZT5cbiAgc3RhbmRhcmROYW1lT2JqZWN0OiBNdWx0aWxpbmd1YWxGaWVsZFxuICBzdGFuZGFyZFZlcnNpb25PYmplY3Q6IE11bHRpbGluZ3VhbEZpZWxkXG4gIHRhZzogTXVsdGlsaW5ndWFsRmllbGRbXVxuICB0YWdOdW1iZXI6IHN0cmluZ1xuICB1c2VyU2F2ZWRDb3VudDogc3RyaW5nXG4gIHVzZXJpbmZvOiBzdHJpbmdcbiAgdXVpZDogc3RyaW5nXG4gIHZhbGlkOiBzdHJpbmdcbiAgeGxpbms6IHN0cmluZ1tdXG59PlxuXG5leHBvcnQgaW50ZXJmYWNlIEduNFJlY29yZCB7XG4gIF9pbmRleDogc3RyaW5nXG4gIF90eXBlOiBzdHJpbmdcbiAgX2lkOiBzdHJpbmdcbiAgX3Njb3JlOiBudW1iZXJcbiAgX3NvdXJjZTogTWV0YWRhdGFPYmplY3RcbiAgZWRpdD86IGJvb2xlYW5cbiAgb3duZXI/OiBib29sZWFuXG4gIGlzUHVibGlzaGVkVG9BbGw/OiBib29sZWFuXG4gIHZpZXc/OiBib29sZWFuXG4gIG5vdGlmeT86IGJvb2xlYW5cbiAgZG93bmxvYWQ/OiBib29sZWFuXG4gIGR5bmFtaWM/OiBib29sZWFuXG4gIGZlYXR1cmVkPzogYm9vbGVhblxuICBndWVzdGRvd25sb2FkPzogYm9vbGVhblxuICBzZWxlY3RlZD86IGJvb2xlYW5cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { createDocument, createElement, getRootElement, parseXmlString, xmlToString, } from '../xml-utils';
2
2
  import { writeAbstract, writeContacts, writeDatasetCreated, writeDatasetUpdated, writeDistributions, writeGraphicOverviews, writeKeywords, writeKind, writeLegalConstraints, writeLicenses, writeLineage, writeOnlineResources, writeOtherConstraints, writeOwnerOrganization, writeRecordUpdated, writeSecurityConstraints, writeSpatialRepresentation, writeStatus, writeTopics, writeTitle, writeUniqueIdentifier, writeUpdateFrequency, } from './write-parts';
3
- import { readAbstract, readContacts, readDatasetCreated, readDatasetUpdated, readDistributions, readIsoTopics, readKeywords, readKind, readLegalConstraints, readLicenses, readLineage, readOnlineResources, readOtherConstraints, readOverviews, readOwnerOrganization, readRecordUpdated, readSecurityConstraints, readSpatialExtents, readSpatialRepresentation, readStatus, readTemporalExtents, readTitle, readUniqueIdentifier, readUpdateFrequency, } from './read-parts';
3
+ import { readAbstract, readContacts, readDatasetCreated, readDatasetUpdated, readDistributions, readIsoTopics, readKeywords, readKind, readLegalConstraints, readLicenses, readLineage, readOnlineResources, readOtherConstraints, readOverviews, readOwnerOrganization, readRecordUpdated, readRecordPublished, readSecurityConstraints, readSpatialExtents, readSpatialRepresentation, readStatus, readTemporalExtents, readTitle, readUniqueIdentifier, readUpdateFrequency, } from './read-parts';
4
4
  import { isEqual } from '../convert-utils';
5
5
  export function toModel(xml) {
6
6
  const doc = parseXmlString(xml);
@@ -13,6 +13,7 @@ export function toModel(xml) {
13
13
  const contacts = readContacts(rootEl);
14
14
  const recordUpdated = readRecordUpdated(rootEl);
15
15
  const recordCreated = recordUpdated;
16
+ const recordPublished = readRecordPublished(rootEl);
16
17
  const keywords = readKeywords(rootEl);
17
18
  const topics = readIsoTopics(rootEl);
18
19
  const legalConstraints = readLegalConstraints(rootEl);
@@ -33,8 +34,10 @@ export function toModel(xml) {
33
34
  return {
34
35
  uniqueIdentifier,
35
36
  kind,
37
+ languages: [],
36
38
  recordCreated,
37
39
  recordUpdated,
40
+ recordPublished,
38
41
  status,
39
42
  title,
40
43
  abstract,
@@ -63,8 +66,10 @@ export function toModel(xml) {
63
66
  return {
64
67
  uniqueIdentifier,
65
68
  kind,
69
+ languages: [],
66
70
  recordCreated,
67
71
  recordUpdated,
72
+ recordPublished,
68
73
  title,
69
74
  abstract,
70
75
  ownerOrganization,
@@ -122,4 +127,4 @@ export function toXml(record, originalXml) {
122
127
  const newDocument = createDocument(rootEl);
123
128
  return xmlToString(newDocument);
124
129
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIvaXNvMTkxMzkvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLGNBQWMsRUFDZCxjQUFjLEVBQ2QsV0FBVyxHQUNaLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsU0FBUyxFQUNULHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsVUFBVSxFQUNWLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QixVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3BCLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUUx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QVksQ0FBQyxXQUFXLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDbEUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUNuRSxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0tBQzdCO1NBQU07UUFDTCxZQUFZLENBQUMsaUJBQWlCLENBQUMsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7S0FDeEU7SUFFRCxNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDMUMsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUE7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIERhdGFzZXRSZWNvcmQsXG4gIFNlcnZpY2VSZWNvcmQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7XG4gIGNyZWF0ZURvY3VtZW50LFxuICBjcmVhdGVFbGVtZW50LFxuICBnZXRSb290RWxlbWVudCxcbiAgcGFyc2VYbWxTdHJpbmcsXG4gIHhtbFRvU3RyaW5nLFxufSBmcm9tICcuLi94bWwtdXRpbHMnXG5pbXBvcnQge1xuICB3cml0ZUFic3RyYWN0LFxuICB3cml0ZUNvbnRhY3RzLFxuICB3cml0ZURhdGFzZXRDcmVhdGVkLFxuICB3cml0ZURhdGFzZXRVcGRhdGVkLFxuICB3cml0ZURpc3RyaWJ1dGlvbnMsXG4gIHdyaXRlR3JhcGhpY092ZXJ2aWV3cyxcbiAgd3JpdGVLZXl3b3JkcyxcbiAgd3JpdGVLaW5kLFxuICB3cml0ZUxlZ2FsQ29uc3RyYWludHMsXG4gIHdyaXRlTGljZW5zZXMsXG4gIHdyaXRlTGluZWFnZSxcbiAgd3JpdGVPbmxpbmVSZXNvdXJjZXMsXG4gIHdyaXRlT3RoZXJDb25zdHJhaW50cyxcbiAgd3JpdGVPd25lck9yZ2FuaXphdGlvbixcbiAgd3JpdGVSZWNvcmRVcGRhdGVkLFxuICB3cml0ZVNlY3VyaXR5Q29uc3RyYWludHMsXG4gIHdyaXRlU3BhdGlhbFJlcHJlc2VudGF0aW9uLFxuICB3cml0ZVN0YXR1cyxcbiAgd3JpdGVUb3BpY3MsXG4gIHdyaXRlVGl0bGUsXG4gIHdyaXRlVW5pcXVlSWRlbnRpZmllcixcbiAgd3JpdGVVcGRhdGVGcmVxdWVuY3ksXG59IGZyb20gJy4vd3JpdGUtcGFydHMnXG5pbXBvcnQge1xuICByZWFkQWJzdHJhY3QsXG4gIHJlYWRDb250YWN0cyxcbiAgcmVhZERhdGFzZXRDcmVhdGVkLFxuICByZWFkRGF0YXNldFVwZGF0ZWQsXG4gIHJlYWREaXN0cmlidXRpb25zLFxuICByZWFkSXNvVG9waWNzLFxuICByZWFkS2V5d29yZHMsXG4gIHJlYWRLaW5kLFxuICByZWFkTGVnYWxDb25zdHJhaW50cyxcbiAgcmVhZExpY2Vuc2VzLFxuICByZWFkTGluZWFnZSxcbiAgcmVhZE9ubGluZVJlc291cmNlcyxcbiAgcmVhZE90aGVyQ29uc3RyYWludHMsXG4gIHJlYWRPdmVydmlld3MsXG4gIHJlYWRPd25lck9yZ2FuaXphdGlvbixcbiAgcmVhZFJlY29yZFVwZGF0ZWQsXG4gIHJlYWRTZWN1cml0eUNvbnN0cmFpbnRzLFxuICByZWFkU3BhdGlhbEV4dGVudHMsXG4gIHJlYWRTcGF0aWFsUmVwcmVzZW50YXRpb24sXG4gIHJlYWRTdGF0dXMsXG4gIHJlYWRUZW1wb3JhbEV4dGVudHMsXG4gIHJlYWRUaXRsZSxcbiAgcmVhZFVuaXF1ZUlkZW50aWZpZXIsXG4gIHJlYWRVcGRhdGVGcmVxdWVuY3ksXG59IGZyb20gJy4vcmVhZC1wYXJ0cydcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICcuLi9jb252ZXJ0LXV0aWxzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdG9Nb2RlbCh4bWw6IHN0cmluZyk6IENhdGFsb2dSZWNvcmQge1xuICBjb25zdCBkb2MgPSBwYXJzZVhtbFN0cmluZyh4bWwpXG4gIGNvbnN0IHJvb3RFbCA9IGdldFJvb3RFbGVtZW50KGRvYylcblxuICBjb25zdCB1bmlxdWVJZGVudGlmaWVyID0gcmVhZFVuaXF1ZUlkZW50aWZpZXIocm9vdEVsKVxuICBjb25zdCBraW5kID0gcmVhZEtpbmQocm9vdEVsKVxuICBjb25zdCBvd25lck9yZ2FuaXphdGlvbiA9IHJlYWRPd25lck9yZ2FuaXphdGlvbihyb290RWwpXG4gIGNvbnN0IHRpdGxlID0gcmVhZFRpdGxlKHJvb3RFbClcbiAgY29uc3QgYWJzdHJhY3QgPSByZWFkQWJzdHJhY3Qocm9vdEVsKVxuICBjb25zdCBjb250YWN0cyA9IHJlYWRDb250YWN0cyhyb290RWwpXG4gIGNvbnN0IHJlY29yZFVwZGF0ZWQgPSByZWFkUmVjb3JkVXBkYXRlZChyb290RWwpXG4gIGNvbnN0IHJlY29yZENyZWF0ZWQgPSByZWNvcmRVcGRhdGVkXG4gIGNvbnN0IGtleXdvcmRzID0gcmVhZEtleXdvcmRzKHJvb3RFbClcbiAgY29uc3QgdG9waWNzID0gcmVhZElzb1RvcGljcyhyb290RWwpXG4gIGNvbnN0IGxlZ2FsQ29uc3RyYWludHMgPSByZWFkTGVnYWxDb25zdHJhaW50cyhyb290RWwpXG4gIGNvbnN0IG90aGVyQ29uc3RyYWludHMgPSByZWFkT3RoZXJDb25zdHJhaW50cyhyb290RWwpXG4gIGNvbnN0IHNlY3VyaXR5Q29uc3RyYWludHMgPSByZWFkU2VjdXJpdHlDb25zdHJhaW50cyhyb290RWwpXG4gIGNvbnN0IGxpY2Vuc2VzID0gcmVhZExpY2Vuc2VzKHJvb3RFbClcbiAgY29uc3Qgb3ZlcnZpZXdzID0gcmVhZE92ZXJ2aWV3cyhyb290RWwpXG5cbiAgaWYgKGtpbmQgPT09ICdkYXRhc2V0Jykge1xuICAgIGNvbnN0IHN0YXR1cyA9IHJlYWRTdGF0dXMocm9vdEVsKVxuICAgIGNvbnN0IGRhdGFzZXRDcmVhdGVkID0gcmVhZERhdGFzZXRDcmVhdGVkKHJvb3RFbClcbiAgICBjb25zdCBkYXRhc2V0VXBkYXRlZCA9IHJlYWREYXRhc2V0VXBkYXRlZChyb290RWwpXG4gICAgY29uc3Qgc3BhdGlhbFJlcHJlc2VudGF0aW9uID0gcmVhZFNwYXRpYWxSZXByZXNlbnRhdGlvbihyb290RWwpXG4gICAgY29uc3Qgc3BhdGlhbEV4dGVudHMgPSByZWFkU3BhdGlhbEV4dGVudHMocm9vdEVsKVxuICAgIGNvbnN0IHRlbXBvcmFsRXh0ZW50cyA9IHJlYWRUZW1wb3JhbEV4dGVudHMocm9vdEVsKVxuICAgIGNvbnN0IGxpbmVhZ2UgPSByZWFkTGluZWFnZShyb290RWwpXG4gICAgY29uc3QgZGlzdHJpYnV0aW9ucyA9IHJlYWREaXN0cmlidXRpb25zKHJvb3RFbClcbiAgICBjb25zdCB1cGRhdGVGcmVxdWVuY3kgPSByZWFkVXBkYXRlRnJlcXVlbmN5KHJvb3RFbClcblxuICAgIHJldHVybiB7XG4gICAgICB1bmlxdWVJZGVudGlmaWVyLFxuICAgICAga2luZCxcbiAgICAgIHJlY29yZENyZWF0ZWQsXG4gICAgICByZWNvcmRVcGRhdGVkLFxuICAgICAgc3RhdHVzLFxuICAgICAgdGl0bGUsXG4gICAgICBhYnN0cmFjdCxcbiAgICAgIG93bmVyT3JnYW5pemF0aW9uLFxuICAgICAgY29udGFjdHMsXG4gICAgICBjb250YWN0c0ZvclJlc291cmNlOiBbXSwgLy8gRklYTUU6IGlzIHRoYXQgcmVhbGx5IHVzZWZ1bD8/XG4gICAgICBrZXl3b3JkcyxcbiAgICAgIHRvcGljcyxcbiAgICAgIGxpY2Vuc2VzLFxuICAgICAgbGVnYWxDb25zdHJhaW50cyxcbiAgICAgIHNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgICBvdGhlckNvbnN0cmFpbnRzLFxuICAgICAgLi4uKGRhdGFzZXRDcmVhdGVkICYmIHsgZGF0YXNldENyZWF0ZWQgfSksXG4gICAgICAuLi4oZGF0YXNldFVwZGF0ZWQgJiYgeyBkYXRhc2V0VXBkYXRlZCB9KSxcbiAgICAgIGxpbmVhZ2UsXG4gICAgICAuLi4oc3BhdGlhbFJlcHJlc2VudGF0aW9uICYmIHsgc3BhdGlhbFJlcHJlc2VudGF0aW9uIH0pLFxuICAgICAgb3ZlcnZpZXdzLFxuICAgICAgc3BhdGlhbEV4dGVudHMsXG4gICAgICB0ZW1wb3JhbEV4dGVudHMsXG4gICAgICBkaXN0cmlidXRpb25zLFxuICAgICAgdXBkYXRlRnJlcXVlbmN5LFxuICAgIH0gYXMgRGF0YXNldFJlY29yZFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IG9ubGluZVJlc291cmNlcyA9IHJlYWRPbmxpbmVSZXNvdXJjZXMocm9vdEVsKVxuICAgIHJldHVybiB7XG4gICAgICB1bmlxdWVJZGVudGlmaWVyLFxuICAgICAga2luZCxcbiAgICAgIHJlY29yZENyZWF0ZWQsXG4gICAgICByZWNvcmRVcGRhdGVkLFxuICAgICAgdGl0bGUsXG4gICAgICBhYnN0cmFjdCxcbiAgICAgIG93bmVyT3JnYW5pemF0aW9uLFxuICAgICAgY29udGFjdHMsXG4gICAgICBrZXl3b3JkcyxcbiAgICAgIHRvcGljcyxcbiAgICAgIGxpY2Vuc2VzLFxuICAgICAgbGVnYWxDb25zdHJhaW50cyxcbiAgICAgIHNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgICBvdGhlckNvbnN0cmFpbnRzLFxuICAgICAgb3ZlcnZpZXdzLFxuICAgICAgb25saW5lUmVzb3VyY2VzLFxuICAgIH0gYXMgU2VydmljZVJlY29yZFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1htbChyZWNvcmQ6IENhdGFsb2dSZWNvcmQsIG9yaWdpbmFsWG1sPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3Qgb3JpZ2luYWxEb2MgPSBvcmlnaW5hbFhtbCA/IHBhcnNlWG1sU3RyaW5nKG9yaWdpbmFsWG1sKSA6IG51bGxcbiAgY29uc3Qgb3JpZ2luYWxSZWNvcmQgPSBvcmlnaW5hbFhtbCA/IHRvTW9kZWwob3JpZ2luYWxYbWwpIDogbnVsbFxuICBjb25zdCByb290RWwgPSBvcmlnaW5hbERvY1xuICAgID8gZ2V0Um9vdEVsZW1lbnQob3JpZ2luYWxEb2MpXG4gICAgOiBjcmVhdGVFbGVtZW50KCdnbWQ6TURfTWV0YWRhdGEnKSgpXG5cbiAgZnVuY3Rpb24gZmllbGRDaGFuZ2VkKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBvcmlnaW5hbFJlY29yZCAhPT0gbnVsbFxuICAgICAgPyAhaXNFcXVhbChyZWNvcmRbbmFtZV0sIG9yaWdpbmFsUmVjb3JkW25hbWVdKVxuICAgICAgOiB0cnVlXG4gIH1cblxuICB3cml0ZVVuaXF1ZUlkZW50aWZpZXIocmVjb3JkLCByb290RWwpXG4gIHdyaXRlS2luZChyZWNvcmQsIHJvb3RFbClcbiAgZmllbGRDaGFuZ2VkKCdvd25lck9yZ2FuaXphdGlvbicpICYmIHdyaXRlT3duZXJPcmdhbml6YXRpb24ocmVjb3JkLCByb290RWwpXG4gIGZpZWxkQ2hhbmdlZCgncmVjb3JkVXBkYXRlZCcpICYmIHdyaXRlUmVjb3JkVXBkYXRlZChyZWNvcmQsIHJvb3RFbClcbiAgd3JpdGVUaXRsZShyZWNvcmQsIHJvb3RFbClcbiAgd3JpdGVBYnN0cmFjdChyZWNvcmQsIHJvb3RFbClcbiAgZmllbGRDaGFuZ2VkKCdjb250YWN0cycpICYmIHdyaXRlQ29udGFjdHMocmVjb3JkLCByb290RWwpXG4gIGZpZWxkQ2hhbmdlZCgna2V5d29yZHMnKSAmJiB3cml0ZUtleXdvcmRzKHJlY29yZCwgcm9vdEVsKVxuICBmaWVsZENoYW5nZWQoJ3RvcGljcycpICYmIHdyaXRlVG9waWNzKHJlY29yZCwgcm9vdEVsKVxuICBmaWVsZENoYW5nZWQoJ2xlZ2FsQ29uc3RyYWludHMnKSAmJiB3cml0ZUxlZ2FsQ29uc3RyYWludHMocmVjb3JkLCByb290RWwpXG4gIGZpZWxkQ2hhbmdlZCgnc2VjdXJpdHlDb25zdHJhaW50cycpICYmXG4gICAgd3JpdGVTZWN1cml0eUNvbnN0cmFpbnRzKHJlY29yZCwgcm9vdEVsKVxuICBmaWVsZENoYW5nZWQoJ2xpY2Vuc2VzJykgJiYgd3JpdGVMaWNlbnNlcyhyZWNvcmQsIHJvb3RFbClcbiAgZmllbGRDaGFuZ2VkKCdvdGhlckNvbnN0cmFpbnRzJykgJiYgd3JpdGVPdGhlckNvbnN0cmFpbnRzKHJlY29yZCwgcm9vdEVsKVxuXG4gIGlmIChyZWNvcmQua2luZCA9PT0gJ2RhdGFzZXQnKSB7XG4gICAgd3JpdGVTdGF0dXMocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCd1cGRhdGVGcmVxdWVuY3knKSAmJiB3cml0ZVVwZGF0ZUZyZXF1ZW5jeShyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ2RhdGFzZXRDcmVhdGVkJykgJiYgd3JpdGVEYXRhc2V0Q3JlYXRlZChyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ2RhdGFzZXRVcGRhdGVkJykgJiYgd3JpdGVEYXRhc2V0VXBkYXRlZChyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ3NwYXRpYWxSZXByZXNlbnRhdGlvbicpICYmXG4gICAgICB3cml0ZVNwYXRpYWxSZXByZXNlbnRhdGlvbihyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ292ZXJ2aWV3cycpICYmIHdyaXRlR3JhcGhpY092ZXJ2aWV3cyhyZWNvcmQsIHJvb3RFbClcbiAgICBmaWVsZENoYW5nZWQoJ2Rpc3RyaWJ1dGlvbnMnKSAmJiB3cml0ZURpc3RyaWJ1dGlvbnMocmVjb3JkLCByb290RWwpXG4gICAgd3JpdGVMaW5lYWdlKHJlY29yZCwgcm9vdEVsKVxuICB9IGVsc2Uge1xuICAgIGZpZWxkQ2hhbmdlZCgnb25saW5lUmVzb3VyY2VzJykgJiYgd3JpdGVPbmxpbmVSZXNvdXJjZXMocmVjb3JkLCByb290RWwpXG4gIH1cblxuICBjb25zdCBuZXdEb2N1bWVudCA9IGNyZWF0ZURvY3VtZW50KHJvb3RFbClcbiAgcmV0dXJuIHhtbFRvU3RyaW5nKG5ld0RvY3VtZW50KVxufVxuIl19
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYy9saWIvaXNvMTkxMzkvY29udmVydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLGNBQWMsRUFDZCxjQUFjLEVBQ2QsV0FBVyxHQUNaLE1BQU0sY0FBYyxDQUFBO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsU0FBUyxFQUNULHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsVUFBVSxFQUNWLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixTQUFTLEVBQ1Qsb0JBQW9CLEVBQ3BCLG1CQUFtQixHQUNwQixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JB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SUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDckUsWUFBWSxDQUFDLHVCQUF1QixDQUFDO1lBQ25DLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUM1QyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQ2xFLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFDbkUsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtLQUM3QjtTQUFNO1FBQ0wsWUFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO0tBQ3hFO0lBRUQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFDLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDYXRhbG9nUmVjb3JkLFxuICBEYXRhc2V0UmVjb3JkLFxuICBTZXJ2aWNlUmVjb3JkLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBjcmVhdGVEb2N1bWVudCxcbiAgY3JlYXRlRWxlbWVudCxcbiAgZ2V0Um9vdEVsZW1lbnQsXG4gIHBhcnNlWG1sU3RyaW5nLFxuICB4bWxUb1N0cmluZyxcbn0gZnJvbSAnLi4veG1sLXV0aWxzJ1xuaW1wb3J0IHtcbiAgd3JpdGVBYnN0cmFjdCxcbiAgd3JpdGVDb250YWN0cyxcbiAgd3JpdGVEYXRhc2V0Q3JlYXRlZCxcbiAgd3JpdGVEYXRhc2V0VXBkYXRlZCxcbiAgd3JpdGVEaXN0cmlidXRpb25zLFxuICB3cml0ZUdyYXBoaWNPdmVydmlld3MsXG4gIHdyaXRlS2V5d29yZHMsXG4gIHdyaXRlS2luZCxcbiAgd3JpdGVMZWdhbENvbnN0cmFpbnRzLFxuICB3cml0ZUxpY2Vuc2VzLFxuICB3cml0ZUxpbmVhZ2UsXG4gIHdyaXRlT25saW5lUmVzb3VyY2VzLFxuICB3cml0ZU90aGVyQ29uc3RyYWludHMsXG4gIHdyaXRlT3duZXJPcmdhbml6YXRpb24sXG4gIHdyaXRlUmVjb3JkVXBkYXRlZCxcbiAgd3JpdGVTZWN1cml0eUNvbnN0cmFpbnRzLFxuICB3cml0ZVNwYXRpYWxSZXByZXNlbnRhdGlvbixcbiAgd3JpdGVTdGF0dXMsXG4gIHdyaXRlVG9waWNzLFxuICB3cml0ZVRpdGxlLFxuICB3cml0ZVVuaXF1ZUlkZW50aWZpZXIsXG4gIHdyaXRlVXBkYXRlRnJlcXVlbmN5LFxufSBmcm9tICcuL3dyaXRlLXBhcnRzJ1xuaW1wb3J0IHtcbiAgcmVhZEFic3RyYWN0LFxuICByZWFkQ29udGFjdHMsXG4gIHJlYWREYXRhc2V0Q3JlYXRlZCxcbiAgcmVhZERhdGFzZXRVcGRhdGVkLFxuICByZWFkRGlzdHJpYnV0aW9ucyxcbiAgcmVhZElzb1RvcGljcyxcbiAgcmVhZEtleXdvcmRzLFxuICByZWFkS2luZCxcbiAgcmVhZExlZ2FsQ29uc3RyYWludHMsXG4gIHJlYWRMaWNlbnNlcyxcbiAgcmVhZExpbmVhZ2UsXG4gIHJlYWRPbmxpbmVSZXNvdXJjZXMsXG4gIHJlYWRPdGhlckNvbnN0cmFpbnRzLFxuICByZWFkT3ZlcnZpZXdzLFxuICByZWFkT3duZXJPcmdhbml6YXRpb24sXG4gIHJlYWRSZWNvcmRVcGRhdGVkLFxuICByZWFkUmVjb3JkUHVibGlzaGVkLFxuICByZWFkU2VjdXJpdHlDb25zdHJhaW50cyxcbiAgcmVhZFNwYXRpYWxFeHRlbnRzLFxuICByZWFkU3BhdGlhbFJlcHJlc2VudGF0aW9uLFxuICByZWFkU3RhdHVzLFxuICByZWFkVGVtcG9yYWxFeHRlbnRzLFxuICByZWFkVGl0bGUsXG4gIHJlYWRVbmlxdWVJZGVudGlmaWVyLFxuICByZWFkVXBkYXRlRnJlcXVlbmN5LFxufSBmcm9tICcuL3JlYWQtcGFydHMnXG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnLi4vY29udmVydC11dGlscydcblxuZXhwb3J0IGZ1bmN0aW9uIHRvTW9kZWwoeG1sOiBzdHJpbmcpOiBDYXRhbG9nUmVjb3JkIHtcbiAgY29uc3QgZG9jID0gcGFyc2VYbWxTdHJpbmcoeG1sKVxuICBjb25zdCByb290RWwgPSBnZXRSb290RWxlbWVudChkb2MpXG5cbiAgY29uc3QgdW5pcXVlSWRlbnRpZmllciA9IHJlYWRVbmlxdWVJZGVudGlmaWVyKHJvb3RFbClcbiAgY29uc3Qga2luZCA9IHJlYWRLaW5kKHJvb3RFbClcbiAgY29uc3Qgb3duZXJPcmdhbml6YXRpb24gPSByZWFkT3duZXJPcmdhbml6YXRpb24ocm9vdEVsKVxuICBjb25zdCB0aXRsZSA9IHJlYWRUaXRsZShyb290RWwpXG4gIGNvbnN0IGFic3RyYWN0ID0gcmVhZEFic3RyYWN0KHJvb3RFbClcbiAgY29uc3QgY29udGFjdHMgPSByZWFkQ29udGFjdHMocm9vdEVsKVxuICBjb25zdCByZWNvcmRVcGRhdGVkID0gcmVhZFJlY29yZFVwZGF0ZWQocm9vdEVsKVxuICBjb25zdCByZWNvcmRDcmVhdGVkID0gcmVjb3JkVXBkYXRlZFxuICBjb25zdCByZWNvcmRQdWJsaXNoZWQgPSByZWFkUmVjb3JkUHVibGlzaGVkKHJvb3RFbClcbiAgY29uc3Qga2V5d29yZHMgPSByZWFkS2V5d29yZHMocm9vdEVsKVxuICBjb25zdCB0b3BpY3MgPSByZWFkSXNvVG9waWNzKHJvb3RFbClcbiAgY29uc3QgbGVnYWxDb25zdHJhaW50cyA9IHJlYWRMZWdhbENvbnN0cmFpbnRzKHJvb3RFbClcbiAgY29uc3Qgb3RoZXJDb25zdHJhaW50cyA9IHJlYWRPdGhlckNvbnN0cmFpbnRzKHJvb3RFbClcbiAgY29uc3Qgc2VjdXJpdHlDb25zdHJhaW50cyA9IHJlYWRTZWN1cml0eUNvbnN0cmFpbnRzKHJvb3RFbClcbiAgY29uc3QgbGljZW5zZXMgPSByZWFkTGljZW5zZXMocm9vdEVsKVxuICBjb25zdCBvdmVydmlld3MgPSByZWFkT3ZlcnZpZXdzKHJvb3RFbClcblxuICBpZiAoa2luZCA9PT0gJ2RhdGFzZXQnKSB7XG4gICAgY29uc3Qgc3RhdHVzID0gcmVhZFN0YXR1cyhyb290RWwpXG4gICAgY29uc3QgZGF0YXNldENyZWF0ZWQgPSByZWFkRGF0YXNldENyZWF0ZWQocm9vdEVsKVxuICAgIGNvbnN0IGRhdGFzZXRVcGRhdGVkID0gcmVhZERhdGFzZXRVcGRhdGVkKHJvb3RFbClcbiAgICBjb25zdCBzcGF0aWFsUmVwcmVzZW50YXRpb24gPSByZWFkU3BhdGlhbFJlcHJlc2VudGF0aW9uKHJvb3RFbClcbiAgICBjb25zdCBzcGF0aWFsRXh0ZW50cyA9IHJlYWRTcGF0aWFsRXh0ZW50cyhyb290RWwpXG4gICAgY29uc3QgdGVtcG9yYWxFeHRlbnRzID0gcmVhZFRlbXBvcmFsRXh0ZW50cyhyb290RWwpXG4gICAgY29uc3QgbGluZWFnZSA9IHJlYWRMaW5lYWdlKHJvb3RFbClcbiAgICBjb25zdCBkaXN0cmlidXRpb25zID0gcmVhZERpc3RyaWJ1dGlvbnMocm9vdEVsKVxuICAgIGNvbnN0IHVwZGF0ZUZyZXF1ZW5jeSA9IHJlYWRVcGRhdGVGcmVxdWVuY3kocm9vdEVsKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHVuaXF1ZUlkZW50aWZpZXIsXG4gICAgICBraW5kLFxuICAgICAgbGFuZ3VhZ2VzOiBbXSxcbiAgICAgIHJlY29yZENyZWF0ZWQsXG4gICAgICByZWNvcmRVcGRhdGVkLFxuICAgICAgcmVjb3JkUHVibGlzaGVkLFxuICAgICAgc3RhdHVzLFxuICAgICAgdGl0bGUsXG4gICAgICBhYnN0cmFjdCxcbiAgICAgIG93bmVyT3JnYW5pemF0aW9uLFxuICAgICAgY29udGFjdHMsXG4gICAgICBjb250YWN0c0ZvclJlc291cmNlOiBbXSwgLy8gRklYTUU6IGlzIHRoYXQgcmVhbGx5IHVzZWZ1bD8/XG4gICAgICBrZXl3b3JkcyxcbiAgICAgIHRvcGljcyxcbiAgICAgIGxpY2Vuc2VzLFxuICAgICAgbGVnYWxDb25zdHJhaW50cyxcbiAgICAgIHNlY3VyaXR5Q29uc3RyYWludHMsXG4gICAgICBvdGhlckNvbnN0cmFpbnRzLFxuICAgICAgLi4uKGRhdGFzZXRDcmVhdGVkICYmIHsgZGF0YXNldENyZWF0ZWQgfSksXG4gICAgICAuLi4oZGF0YXNldFVwZGF0ZWQgJiYgeyBkYXRhc2V0VXBkYXRlZCB9KSxcbiAgICAgIGxpbmVhZ2UsXG4gICAgICAuLi4oc3BhdGlhbFJlcHJlc2VudGF0aW9uICYmIHsgc3BhdGlhbFJlcHJlc2VudGF0aW9uIH0pLFxuICAgICAgb3ZlcnZpZXdzLFxuICAgICAgc3BhdGlhbEV4dGVudHMsXG4gICAgICB0ZW1wb3JhbEV4dGVudHMsXG4gICAgICBkaXN0cmlidXRpb25zLFxuICAgICAgdXBkYXRlRnJlcXVlbmN5LFxuICAgIH0gYXMgRGF0YXNldFJlY29yZFxuICB9IGVsc2Uge1xuICAgIGNvbnN0IG9ubGluZVJlc291cmNlcyA9IHJlYWRPbmxpbmVSZXNvdXJjZXMocm9vdEVsKVxuICAgIHJldHVybiB7XG4gICAgICB1bmlxdWVJZGVudGlmaWVyLFxuICAgICAga2luZCxcbiAgICAgIGxhbmd1YWdlczogW10sXG4gICAgICByZWNvcmRDcmVhdGVkLFxuICAgICAgcmVjb3JkVXBkYXRlZCxcbiAgICAgIHJlY29yZFB1Ymxpc2hlZCxcbiAgICAgIHRpdGxlLFxuICAgICAgYWJzdHJhY3QsXG4gICAgICBvd25lck9yZ2FuaXphdGlvbixcbiAgICAgIGNvbnRhY3RzLFxuICAgICAga2V5d29yZHMsXG4gICAgICB0b3BpY3MsXG4gICAgICBsaWNlbnNlcyxcbiAgICAgIGxlZ2FsQ29uc3RyYWludHMsXG4gICAgICBzZWN1cml0eUNvbnN0cmFpbnRzLFxuICAgICAgb3RoZXJDb25zdHJhaW50cyxcbiAgICAgIG92ZXJ2aWV3cyxcbiAgICAgIG9ubGluZVJlc291cmNlcyxcbiAgICB9IGFzIFNlcnZpY2VSZWNvcmRcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9YbWwocmVjb3JkOiBDYXRhbG9nUmVjb3JkLCBvcmlnaW5hbFhtbD86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG9yaWdpbmFsRG9jID0gb3JpZ2luYWxYbWwgPyBwYXJzZVhtbFN0cmluZyhvcmlnaW5hbFhtbCkgOiBudWxsXG4gIGNvbnN0IG9yaWdpbmFsUmVjb3JkID0gb3JpZ2luYWxYbWwgPyB0b01vZGVsKG9yaWdpbmFsWG1sKSA6IG51bGxcbiAgY29uc3Qgcm9vdEVsID0gb3JpZ2luYWxEb2NcbiAgICA/IGdldFJvb3RFbGVtZW50KG9yaWdpbmFsRG9jKVxuICAgIDogY3JlYXRlRWxlbWVudCgnZ21kOk1EX01ldGFkYXRhJykoKVxuXG4gIGZ1bmN0aW9uIGZpZWxkQ2hhbmdlZChuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gb3JpZ2luYWxSZWNvcmQgIT09IG51bGxcbiAgICAgID8gIWlzRXF1YWwocmVjb3JkW25hbWVdLCBvcmlnaW5hbFJlY29yZFtuYW1lXSlcbiAgICAgIDogdHJ1ZVxuICB9XG5cbiAgd3JpdGVVbmlxdWVJZGVudGlmaWVyKHJlY29yZCwgcm9vdEVsKVxuICB3cml0ZUtpbmQocmVjb3JkLCByb290RWwpXG4gIGZpZWxkQ2hhbmdlZCgnb3duZXJPcmdhbml6YXRpb24nKSAmJiB3cml0ZU93bmVyT3JnYW5pemF0aW9uKHJlY29yZCwgcm9vdEVsKVxuICBmaWVsZENoYW5nZWQoJ3JlY29yZFVwZGF0ZWQnKSAmJiB3cml0ZVJlY29yZFVwZGF0ZWQocmVjb3JkLCByb290RWwpXG4gIHdyaXRlVGl0bGUocmVjb3JkLCByb290RWwpXG4gIHdyaXRlQWJzdHJhY3QocmVjb3JkLCByb290RWwpXG4gIGZpZWxkQ2hhbmdlZCgnY29udGFjdHMnKSAmJiB3cml0ZUNvbnRhY3RzKHJlY29yZCwgcm9vdEVsKVxuICBmaWVsZENoYW5nZWQoJ2tleXdvcmRzJykgJiYgd3JpdGVLZXl3b3JkcyhyZWNvcmQsIHJvb3RFbClcbiAgZmllbGRDaGFuZ2VkKCd0b3BpY3MnKSAmJiB3cml0ZVRvcGljcyhyZWNvcmQsIHJvb3RFbClcbiAgZmllbGRDaGFuZ2VkKCdsZWdhbENvbnN0cmFpbnRzJykgJiYgd3JpdGVMZWdhbENvbnN0cmFpbnRzKHJlY29yZCwgcm9vdEVsKVxuICBmaWVsZENoYW5nZWQoJ3NlY3VyaXR5Q29uc3RyYWludHMnKSAmJlxuICAgIHdyaXRlU2VjdXJpdHlDb25zdHJhaW50cyhyZWNvcmQsIHJvb3RFbClcbiAgZmllbGRDaGFuZ2VkKCdsaWNlbnNlcycpICYmIHdyaXRlTGljZW5zZXMocmVjb3JkLCByb290RWwpXG4gIGZpZWxkQ2hhbmdlZCgnb3RoZXJDb25zdHJhaW50cycpICYmIHdyaXRlT3RoZXJDb25zdHJhaW50cyhyZWNvcmQsIHJvb3RFbClcblxuICBpZiAocmVjb3JkLmtpbmQgPT09ICdkYXRhc2V0Jykge1xuICAgIHdyaXRlU3RhdHVzKHJlY29yZCwgcm9vdEVsKVxuICAgIGZpZWxkQ2hhbmdlZCgndXBkYXRlRnJlcXVlbmN5JykgJiYgd3JpdGVVcGRhdGVGcmVxdWVuY3kocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdkYXRhc2V0Q3JlYXRlZCcpICYmIHdyaXRlRGF0YXNldENyZWF0ZWQocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdkYXRhc2V0VXBkYXRlZCcpICYmIHdyaXRlRGF0YXNldFVwZGF0ZWQocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdzcGF0aWFsUmVwcmVzZW50YXRpb24nKSAmJlxuICAgICAgd3JpdGVTcGF0aWFsUmVwcmVzZW50YXRpb24ocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdvdmVydmlld3MnKSAmJiB3cml0ZUdyYXBoaWNPdmVydmlld3MocmVjb3JkLCByb290RWwpXG4gICAgZmllbGRDaGFuZ2VkKCdkaXN0cmlidXRpb25zJykgJiYgd3JpdGVEaXN0cmlidXRpb25zKHJlY29yZCwgcm9vdEVsKVxuICAgIHdyaXRlTGluZWFnZShyZWNvcmQsIHJvb3RFbClcbiAgfSBlbHNlIHtcbiAgICBmaWVsZENoYW5nZWQoJ29ubGluZVJlc291cmNlcycpICYmIHdyaXRlT25saW5lUmVzb3VyY2VzKHJlY29yZCwgcm9vdEVsKVxuICB9XG5cbiAgY29uc3QgbmV3RG9jdW1lbnQgPSBjcmVhdGVEb2N1bWVudChyb290RWwpXG4gIHJldHVybiB4bWxUb1N0cmluZyhuZXdEb2N1bWVudClcbn1cbiJdfQ==