@provoly/dashboard 0.15.4 → 0.15.5

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.
@@ -4,7 +4,6 @@ import { MIME_TYPE_WIDGET_MANIFEST, MIME_TYPE_WIDGET_TYPE } from '../../dashboar
4
4
  import { SubscriptionnerDirective } from '../../dashboard/components/subscriptionner.directive';
5
5
  import { DashboardSelectors } from '../../dashboard/store/dashboard.selectors';
6
6
  import { GraphType } from '../model/widget-aggregated-chart-manifest.interface';
7
- import { MarkSubType, MarkType } from '../model/widget-chart-manifest.interface';
8
7
  import { TooltipMode } from '../model/widget-map-manifest.interface';
9
8
  import { ConfigSelectors } from '../store/config/config.selectors';
10
9
  import * as i0 from "@angular/core";
@@ -165,94 +164,6 @@ export class ToolboxManifestService extends SubscriptionnerDirective {
165
164
  options: { graph: { type: GraphType.CIRCULAR } },
166
165
  datasource: USE_CURRENT_RESULTSET
167
166
  },
168
- barchartLegacy: {
169
- type: 'chart-legacy',
170
- layout: {
171
- x: 1,
172
- y: 1,
173
- height: 2,
174
- width: 3
175
- },
176
- options: { type: MarkType.BAR, subType: MarkSubType.DEFAULT },
177
- datasource: USE_CURRENT_RESULTSET
178
- },
179
- histogramLegacy: {
180
- type: 'chart-legacy',
181
- layout: {
182
- x: 1,
183
- y: 1,
184
- height: 2,
185
- width: 3
186
- },
187
- options: { type: MarkType.BAR, subType: MarkSubType.HISTOGRAM },
188
- datasource: USE_CURRENT_RESULTSET
189
- },
190
- linechartLegacy: {
191
- type: 'chart-legacy',
192
- layout: {
193
- x: 1,
194
- y: 1,
195
- height: 2,
196
- width: 3
197
- },
198
- options: { type: MarkType.LINE, subType: MarkSubType.DEFAULT },
199
- datasource: USE_CURRENT_RESULTSET
200
- },
201
- pointchartLegacy: {
202
- type: 'chart-legacy',
203
- layout: {
204
- x: 1,
205
- y: 1,
206
- height: 2,
207
- width: 3
208
- },
209
- options: { type: MarkType.POINT, subType: MarkSubType.DEFAULT },
210
- datasource: USE_CURRENT_RESULTSET
211
- },
212
- areachartLegacy: {
213
- type: 'chart-legacy',
214
- layout: {
215
- x: 1,
216
- y: 1,
217
- height: 2,
218
- width: 3
219
- },
220
- options: { type: MarkType.AREA, subType: MarkSubType.DEFAULT },
221
- datasource: USE_CURRENT_RESULTSET
222
- },
223
- arcchartLegacy: {
224
- type: 'chart-legacy',
225
- layout: {
226
- x: 1,
227
- y: 1,
228
- height: 2,
229
- width: 3
230
- },
231
- options: { type: MarkType.ARC, subType: MarkSubType.DEFAULT },
232
- datasource: USE_CURRENT_RESULTSET
233
- },
234
- radarchartLegacy: {
235
- type: 'chart-legacy',
236
- layout: {
237
- x: 1,
238
- y: 1,
239
- height: 2,
240
- width: 3
241
- },
242
- options: { type: MarkType.RADAR, subType: MarkSubType.DEFAULT },
243
- datasource: USE_CURRENT_RESULTSET
244
- },
245
- circlechartLegacy: {
246
- type: 'chart-legacy',
247
- layout: {
248
- x: 1,
249
- y: 1,
250
- height: 2,
251
- width: 3
252
- },
253
- options: { type: MarkType.CIRCLE_PACK, subType: MarkSubType.DEFAULT },
254
- datasource: USE_CURRENT_RESULTSET
255
- },
256
167
  detail: {
257
168
  type: 'detail',
258
169
  layout: {
@@ -362,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
362
273
  providedIn: 'root'
363
274
  }]
364
275
  }], ctorParameters: function () { return [{ type: i1.Store }]; } });
365
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC1tYW5pZmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvdG9vbGJveC90b29sYm94LW1hbmlmZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2xILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUVuRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyx1QkFBdUIsQ0FBQztBQUs3RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBOFNsRSxZQUFvQixLQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQVk7UUE3U3JDLHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFvQztZQUN6RSxTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxD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YixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLENBQUM7b0JBQ0osQ0FBQyxFQUFFLENBQUM7b0JBQ0osTUFBTSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDN0MsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztZQUNELFVBQVUsRUFBRTtnQkFDVixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLENBQUM7b0JBQ0osQ0FBQyxFQUFFLENBQUM7b0JBQ0osTUFBTSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDOUMsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztZQUNELFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLENBQUM7b0JBQ0osQ0FBQyxFQUFFLENBQUM7b0JBQ0osTUFBTSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDNUMsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsT0FBTztnQkFDYixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLENBQUM7b0JBQ0osQ0FBQyxFQUFFLENBQUM7b0JBQ0osTUFBTSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDaEQsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztZQUNELGNBQWMsRUFBRTtnQkFDZCxJQUFJLEVBQUUsY0FBYztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUM3RCxVQUFVLEVBQUUscUJBQXFCO2FBQ2xDO1lBQ0QsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxjQUFjO2dCQUNwQixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLENBQUM7b0JBQ0osQ0FBQyxFQUFFLENBQUM7b0JBQ0osTUFBTSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUU7Z0JBQy9ELFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7WUFDRCxlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLE1BQU0sRUFBRTtvQkFDTixDQUFDLEVBQUUsQ0FBQztvQkFDSixDQUFDLEVBQUUsQ0FBQztvQkFDSixNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztpQkFDVDtnQkFDRCxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDOUQsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztZQUNELGdCQUFnQixFQUFFO2dCQUNoQixJQUFJLEVBQUUsY0FBYztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUMvRCxVQUFVLEVBQUUscUJBQXFCO2FBQ2xDO1lBQ0QsZUFBZSxFQUFFO2dCQUNmLElBQUksRUFBRSxjQUFjO2dCQUNwQixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLENBQUM7b0JBQ0osQ0FBQyxFQUFFLENBQUM7b0JBQ0osTUFBTSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlELFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7WUFDRCxjQUFjLEVBQUU7Z0JBQ2QsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLE1BQU0sRUFBRTtvQkFDTixDQUFDLEVBQUUsQ0FBQztvQkFDSixDQUFDLEVBQUUsQ0FBQztvQkFDSixNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztpQkFDVDtnQkFDRCxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRTtnQkFDN0QsVUFBVSxFQUFFLHFCQUFxQjthQUNsQztZQUNELGdCQUFnQixFQUFFO2dCQUNoQixJQUFJLEVBQUUsY0FBYztnQkFDcEIsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUMvRCxVQUFVLEVBQUUscUJBQXFCO2FBQ2xDO1lBQ0QsaUJBQWlCLEVBQUU7Z0JBQ2pCLElBQUksRUFBRSxjQUFjO2dCQUNwQixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxFQUFFLENBQUM7b0JBQ0osQ0FBQyxFQUFFLENBQUM7b0JBQ0osTUFBTSxFQUFFLENBQUM7b0JBQ1QsS0FBSyxFQUFFLENBQUM7aUJBQ1Q7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JFLFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFO2FBQ1o7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFO2FBQ1o7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxPQUFPLEVBQUUsSUFBSTtpQkFDZDtnQkFDRCxVQUFVLEVBQUUscUJBQXFCO2FBQ2xDO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRTtvQkFDTixDQUFDLEVBQUUsQ0FBQztvQkFDSixDQUFDLEVBQUUsQ0FBQztvQkFDSixNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztpQkFDVDtnQkFDRCxPQUFPLEVBQUUsRUFBRTtnQkFDWCxVQUFVLEVBQUUscUJBQXFCO2FBQ2xDO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRTtvQkFDTixDQUFDLEVBQUUsQ0FBQztvQkFDSixDQUFDLEVBQUUsQ0FBQztvQkFDSixNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztpQkFDVDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUM7b0JBQ2hDLFFBQVEsRUFBRSxFQUFFO2lCQUNiO2dCQUNELFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7U0FDRixDQUFDLENBQUM7UUFFSCxxQkFBZ0IsR0FBYSxFQUFFLENBQUM7UUFJOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMvRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFHLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVUsRUFBRSxXQUFXLEdBQUcsSUFBSTtRQUNoQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sUUFBUSxDQUFDO1NBQ2pCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBSSxXQUFXLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLHFCQUFxQixFQUFFO1lBQ3RFLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQVUsRUFBRSxRQUF3QjtRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBb0I7UUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQ3BELENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVTtRQUNoQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFVBQVUsS0FBSyxxQkFBcUIsQ0FBQztJQUNyRSxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQWlCLEVBQUUsRUFBVTtRQUN4QyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsRUFBRTtZQUN2RyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN4QyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7Z0JBQ2xELFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUNsRDtZQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNqRixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQzs4R0FyV1Usc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNSU1FX1RZUEVfV0lER0VUX01BTklGRVNULCBNSU1FX1RZUEVfV0lER0VUX1RZUEUgfSBmcm9tICcuLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy9kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2Rhc2hib2FyZC9jb21wb25lbnRzL3N1YnNjcmlwdGlvbm5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgV2lkZ2V0TGF5b3V0LCBXaWRnZXRNYW5pZmVzdCB9IGZyb20gJy4uL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHcmFwaFR5cGUgfSBmcm9tICcuLi9tb2RlbC93aWRnZXQtYWdncmVnYXRlZC1jaGFydC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWFya1N1YlR5cGUsIE1hcmtUeXBlIH0gZnJvbSAnLi4vbW9kZWwvd2lkZ2V0LWNoYXJ0LW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUb29sdGlwTW9kZSB9IGZyb20gJy4uL21vZGVsL3dpZGdldC1tYXAtbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbmZpZ1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2NvbmZpZy9jb25maWcuc2VsZWN0b3JzJztcblxuZXhwb3J0IGNvbnN0IFVTRV9DVVJSRU5UX1JFU1VMVFNFVCA9ICd1c2UtY3VycmVudC1yZXN1bHRzZXQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUb29sYm94TWFuaWZlc3RTZXJ2aWNlIGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIHtcbiAgaW5pdGlhbE1hbmlmZXN0cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2tleTogc3RyaW5nXTogV2lkZ2V0TWFuaWZlc3QgfT4oe1xuICAgIHNpbXBsZW1hcDoge1xuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZml0OiB0cnVlLFxuICAgICAgICBhdXRvbWF0aWNMYXllcnM6IHRydWUsXG4gICAgICAgIGxheWVyczogW10sXG4gICAgICAgIHRvb2x0aXBNb2RlOiBUb29sdGlwTW9kZS5DTElDS1xuICAgICAgfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgaGVhdG1hcDoge1xuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZml0OiB0cnVlLFxuICAgICAgICBsYXllcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnaGVhdG1hcCdcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIHRvb2x0aXBNb2RlOiBUb29sdGlwTW9kZS5DTElDS1xuICAgICAgfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgYnViYmxlbWFwOiB7XG4gICAgICB0eXBlOiAnbWFwJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBmaXQ6IHRydWUsXG4gICAgICAgIGxheWVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdidWJibGUnXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICB0b29sdGlwTW9kZTogVG9vbHRpcE1vZGUuQ0xJQ0tcbiAgICAgIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIG1hcmtlcm1hcDoge1xuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZml0OiB0cnVlLFxuICAgICAgICBsYXllcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnbWFya2VyJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgdG9vbHRpcE1vZGU6IFRvb2x0aXBNb2RlLkNMSUNLXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICB0YWJsZToge1xuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge30sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIGJhcmNoYXJ0OiB7XG4gICAgICB0eXBlOiAnY2hhcnQnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7IGdyYXBoOiB7IHR5cGU6IEdyYXBoVHlwZS5CQVIgfSB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBoaXN0b2dyYW06IHtcbiAgICAgIHR5cGU6ICdjaGFydCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgZ3JhcGg6IHsgdHlwZTogR3JhcGhUeXBlLkhJU1RPR1JBTSB9IH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIGxpbmVjaGFydDoge1xuICAgICAgdHlwZTogJ2NoYXJ0JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogeyBncmFwaDogeyB0eXBlOiBHcmFwaFR5cGUuQ1VSVkUgfSB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBwb2ludGNoYXJ0OiB7XG4gICAgICB0eXBlOiAnY2hhcnQnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7IGdyYXBoOiB7IHR5cGU6IEdyYXBoVHlwZS5QT0lOVFMgfSB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBhcmVhY2hhcnQ6IHtcbiAgICAgIHR5cGU6ICdjaGFydCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgZ3JhcGg6IHsgdHlwZTogR3JhcGhUeXBlLkFSRUEgfSB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBhcmNjaGFydDoge1xuICAgICAgdHlwZTogJ2NoYXJ0JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogeyBncmFwaDogeyB0eXBlOiBHcmFwaFR5cGUuQ0lSQ1VMQVIgfSB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBiYXJjaGFydExlZ2FjeToge1xuICAgICAgdHlwZTogJ2NoYXJ0LWxlZ2FjeScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogTWFya1R5cGUuQkFSLCBzdWJUeXBlOiBNYXJrU3ViVHlwZS5ERUZBVUxUIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIGhpc3RvZ3JhbUxlZ2FjeToge1xuICAgICAgdHlwZTogJ2NoYXJ0LWxlZ2FjeScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogTWFya1R5cGUuQkFSLCBzdWJUeXBlOiBNYXJrU3ViVHlwZS5ISVNUT0dSQU0gfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgbGluZWNoYXJ0TGVnYWN5OiB7XG4gICAgICB0eXBlOiAnY2hhcnQtbGVnYWN5JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogeyB0eXBlOiBNYXJrVHlwZS5MSU5FLCBzdWJUeXBlOiBNYXJrU3ViVHlwZS5ERUZBVUxUIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIHBvaW50Y2hhcnRMZWdhY3k6IHtcbiAgICAgIHR5cGU6ICdjaGFydC1sZWdhY3knLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7IHR5cGU6IE1hcmtUeXBlLlBPSU5ULCBzdWJUeXBlOiBNYXJrU3ViVHlwZS5ERUZBVUxUIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIGFyZWFjaGFydExlZ2FjeToge1xuICAgICAgdHlwZTogJ2NoYXJ0LWxlZ2FjeScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogTWFya1R5cGUuQVJFQSwgc3ViVHlwZTogTWFya1N1YlR5cGUuREVGQVVMVCB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBhcmNjaGFydExlZ2FjeToge1xuICAgICAgdHlwZTogJ2NoYXJ0LWxlZ2FjeScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgdHlwZTogTWFya1R5cGUuQVJDLCBzdWJUeXBlOiBNYXJrU3ViVHlwZS5ERUZBVUxUIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIHJhZGFyY2hhcnRMZWdhY3k6IHtcbiAgICAgIHR5cGU6ICdjaGFydC1sZWdhY3knLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7IHR5cGU6IE1hcmtUeXBlLlJBREFSLCBzdWJUeXBlOiBNYXJrU3ViVHlwZS5ERUZBVUxUIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIGNpcmNsZWNoYXJ0TGVnYWN5OiB7XG4gICAgICB0eXBlOiAnY2hhcnQtbGVnYWN5JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogeyB0eXBlOiBNYXJrVHlwZS5DSVJDTEVfUEFDSywgc3ViVHlwZTogTWFya1N1YlR5cGUuREVGQVVMVCB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBkZXRhaWw6IHtcbiAgICAgIHR5cGU6ICdkZXRhaWwnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7fVxuICAgIH0sXG4gICAgaWZyYW1lOiB7XG4gICAgICB0eXBlOiAnaWZyYW1lJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge31cbiAgICB9LFxuICAgIGdyYXBoOiB7XG4gICAgICB0eXBlOiAnZ3JhcGgnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIG1pbmlNYXA6IHRydWVcbiAgICAgIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIHRpbGU6IHtcbiAgICAgIHR5cGU6ICd0aWxlJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge30sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIHZlZ2E6IHtcbiAgICAgIHR5cGU6ICd2ZWdhJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBwbGFjZURhdGE6IFsnZGF0YScsIDAsICd2YWx1ZXMnXSxcbiAgICAgICAgYmFzZVNwZWM6IHt9XG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfVxuICB9KTtcblxuICBjdXJyZW50UmVzdWx0U2V0OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZGVmYXVsdERhdGFzb3VyY2VOYW1lcykuc3Vic2NyaWJlKChyc05hbWUpID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50UmVzdWx0U2V0ID0gcnNOYW1lO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5jYXRhbG9nKS5zdWJzY3JpYmUoKHdpZGdldHMpID0+IHtcbiAgICAgICAgd2lkZ2V0cy5mb3JFYWNoKCh3aWRnZXQpID0+IHRoaXMuc2V0KHdpZGdldC5pZCwgeyAuLi5KU09OLnBhcnNlKHdpZGdldC5jb250ZW50KSwgdGl0bGU6IHdpZGdldC5uYW1lIH0pKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldChpZDogc3RyaW5nLCBpbnN0YW5jaWF0ZSA9IHRydWUpOiBXaWRnZXRNYW5pZmVzdCB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSB0aGlzLmluaXRpYWxNYW5pZmVzdHMkLmdldFZhbHVlKClbaWRdO1xuICAgIGlmICghbWFuaWZlc3QpIHtcbiAgICAgIHJldHVybiBtYW5pZmVzdDtcbiAgICB9XG4gICAgY29uc3QgY29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobWFuaWZlc3QpKTtcbiAgICBpZiAoaW5zdGFuY2lhdGUgJiYgISFjb3B5ICYmIGNvcHkuZGF0YXNvdXJjZSA9PT0gVVNFX0NVUlJFTlRfUkVTVUxUU0VUKSB7XG4gICAgICBjb3B5LmRhdGFzb3VyY2UgPSBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGNvcHk7XG4gIH1cblxuICBzZXQoaWQ6IHN0cmluZywgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0KTogdm9pZCB7XG4gICAgdGhpcy5pbml0aWFsTWFuaWZlc3RzJC5uZXh0KHsgLi4udGhpcy5pbml0aWFsTWFuaWZlc3RzJC5nZXRWYWx1ZSgpLCBbaWRdOiBtYW5pZmVzdCB9KTtcbiAgfVxuXG4gIHNldEFsbExheW91dHMobGF5b3V0OiBXaWRnZXRMYXlvdXQpOiB2b2lkIHtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmluaXRpYWxNYW5pZmVzdHMkLmdldFZhbHVlKCkpLmZvckVhY2goXG4gICAgICAoa2V5KSA9PiAodGhpcy5pbml0aWFsTWFuaWZlc3RzJC5nZXRWYWx1ZSgpW2tleV0ubGF5b3V0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShsYXlvdXQpKSlcbiAgICApO1xuICB9XG5cbiAgaXNNb2RlbChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSB0aGlzLmdldChpZCwgZmFsc2UpO1xuICAgIHJldHVybiAhIW1hbmlmZXN0ICYmIG1hbmlmZXN0LmRhdGFzb3VyY2UgPT09IFVTRV9DVVJSRU5UX1JFU1VMVFNFVDtcbiAgfVxuXG4gIGRhdGFUcmFuc2ZlcigkZXZlbnQ6IERyYWdFdmVudCwgaWQ6IHN0cmluZykge1xuICAgIGlmICghISRldmVudCAmJiAhISRldmVudC5kYXRhVHJhbnNmZXIgJiYgISRldmVudC5kYXRhVHJhbnNmZXIudHlwZXMuaW5jbHVkZXMoTUlNRV9UWVBFX1dJREdFVF9NQU5JRkVTVCkpIHtcbiAgICAgIGNvbnN0IG1hbmlmZXN0ID0gdGhpcy5nZXQoaWQpO1xuXG4gICAgICAkZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAnY29weSc7XG4gICAgICAkZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgPSAnY29weSc7XG4gICAgICBpZiAoIXRoaXMuaXNNb2RlbChpZCkgJiYgbWFuaWZlc3QuaGVhZGVyICE9PSBmYWxzZSkge1xuICAgICAgICBtYW5pZmVzdC5oZWFkZXIgPSB7IGRhdGFzb3VyY2VTZWxlY3Rpb246IGZhbHNlIH07XG4gICAgICB9XG5cbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShNSU1FX1RZUEVfV0lER0VUX01BTklGRVNULCBKU09OLnN0cmluZ2lmeShtYW5pZmVzdCkpO1xuICAgICAgJGV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKE1JTUVfVFlQRV9XSURHRVRfVFlQRSArIG1hbmlmZXN0LnR5cGUsICd1bnVzZWQnKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC1tYW5pZmVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvdG9vbGJveC90b29sYm94LW1hbmlmZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2xILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFFbkUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUM7QUFLN0QsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHdCQUF3QjtJQXNObEUsWUFBb0IsS0FBaUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBck5yQyxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBb0M7WUFDekUsU0FBUyxFQUFFO2dCQUNULElBQUksRUFBRSxLQUFLO2dCQUNYLE1BQU0sRUFBRTtvQkFDTixDQUFDLEVBQUUsQ0FBQztvQkFDSixDQUFDLEVBQUUsQ0FBQztvQkFDSixNQUFNLEVBQUUsQ0FBQztvQkFDVCxLQUFLLEVBQUUsQ0FBQztpQkFDVDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1As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O29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzdDLFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7WUFDRCxVQUFVLEVBQUU7Z0JBQ1YsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzlDLFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzVDLFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFO29CQUNOLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLE1BQU0sRUFBRSxDQUFDO29CQUNULEtBQUssRUFBRSxDQUFDO2lCQUNUO2dCQUNELE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2hELFVBQVUsRUFBRSxxQkFBcUI7YUFDbEM7WUFDRCxNQUFNLEVBQUU7Z0JBQ04s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LENBQUMsRUFBRTtZQUN2RyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN4QyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxLQUFLLEVBQUU7Z0JBQ2xELFFBQVEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUNsRDtZQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNqRixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzlFO0lBQ0gsQ0FBQzs4R0E3UVUsc0JBQXNCO2tIQUF0QixzQkFBc0IsY0FGckIsTUFBTTs7MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNSU1FX1RZUEVfV0lER0VUX01BTklGRVNULCBNSU1FX1RZUEVfV0lER0VUX1RZUEUgfSBmcm9tICcuLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy9kYXNoYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2Rhc2hib2FyZC9jb21wb25lbnRzL3N1YnNjcmlwdGlvbm5lci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGFzaGJvYXJkU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgV2lkZ2V0TGF5b3V0LCBXaWRnZXRNYW5pZmVzdCB9IGZyb20gJy4uL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHcmFwaFR5cGUgfSBmcm9tICcuLi9tb2RlbC93aWRnZXQtYWdncmVnYXRlZC1jaGFydC1tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZGUgfSBmcm9tICcuLi9tb2RlbC93aWRnZXQtbWFwLW1hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBVU0VfQ1VSUkVOVF9SRVNVTFRTRVQgPSAndXNlLWN1cnJlbnQtcmVzdWx0c2V0JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJveE1hbmlmZXN0U2VydmljZSBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIGluaXRpYWxNYW5pZmVzdHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IFdpZGdldE1hbmlmZXN0IH0+KHtcbiAgICBzaW1wbGVtYXA6IHtcbiAgICAgIHR5cGU6ICdtYXAnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgYXV0b21hdGljTGF5ZXJzOiB0cnVlLFxuICAgICAgICBsYXllcnM6IFtdLFxuICAgICAgICB0b29sdGlwTW9kZTogVG9vbHRpcE1vZGUuQ0xJQ0tcbiAgICAgIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIGhlYXRtYXA6IHtcbiAgICAgIHR5cGU6ICdtYXAnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgbGF5ZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ2hlYXRtYXAnXG4gICAgICAgICAgfVxuICAgICAgICBdLFxuICAgICAgICB0b29sdGlwTW9kZTogVG9vbHRpcE1vZGUuQ0xJQ0tcbiAgICAgIH0sXG4gICAgICBkYXRhc291cmNlOiBVU0VfQ1VSUkVOVF9SRVNVTFRTRVRcbiAgICB9LFxuICAgIGJ1YmJsZW1hcDoge1xuICAgICAgdHlwZTogJ21hcCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgZml0OiB0cnVlLFxuICAgICAgICBsYXllcnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnYnViYmxlJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgdG9vbHRpcE1vZGU6IFRvb2x0aXBNb2RlLkNMSUNLXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBtYXJrZXJtYXA6IHtcbiAgICAgIHR5cGU6ICdtYXAnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7XG4gICAgICAgIGZpdDogdHJ1ZSxcbiAgICAgICAgbGF5ZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogJ21hcmtlcidcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICAgIHRvb2x0aXBNb2RlOiBUb29sdGlwTW9kZS5DTElDS1xuICAgICAgfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgdGFibGU6IHtcbiAgICAgIHR5cGU6ICd0YWJsZScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBiYXJjaGFydDoge1xuICAgICAgdHlwZTogJ2NoYXJ0JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogeyBncmFwaDogeyB0eXBlOiBHcmFwaFR5cGUuQkFSIH0gfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgaGlzdG9ncmFtOiB7XG4gICAgICB0eXBlOiAnY2hhcnQnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7IGdyYXBoOiB7IHR5cGU6IEdyYXBoVHlwZS5ISVNUT0dSQU0gfSB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICBsaW5lY2hhcnQ6IHtcbiAgICAgIHR5cGU6ICdjaGFydCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgZ3JhcGg6IHsgdHlwZTogR3JhcGhUeXBlLkNVUlZFIH0gfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgcG9pbnRjaGFydDoge1xuICAgICAgdHlwZTogJ2NoYXJ0JyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczogeyBncmFwaDogeyB0eXBlOiBHcmFwaFR5cGUuUE9JTlRTIH0gfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgYXJlYWNoYXJ0OiB7XG4gICAgICB0eXBlOiAnY2hhcnQnLFxuICAgICAgbGF5b3V0OiB7XG4gICAgICAgIHg6IDEsXG4gICAgICAgIHk6IDEsXG4gICAgICAgIGhlaWdodDogMixcbiAgICAgICAgd2lkdGg6IDNcbiAgICAgIH0sXG4gICAgICBvcHRpb25zOiB7IGdyYXBoOiB7IHR5cGU6IEdyYXBoVHlwZS5BUkVBIH0gfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgYXJjY2hhcnQ6IHtcbiAgICAgIHR5cGU6ICdjaGFydCcsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHsgZ3JhcGg6IHsgdHlwZTogR3JhcGhUeXBlLkNJUkNVTEFSIH0gfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH0sXG4gICAgZGV0YWlsOiB7XG4gICAgICB0eXBlOiAnZGV0YWlsJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge31cbiAgICB9LFxuICAgIGlmcmFtZToge1xuICAgICAgdHlwZTogJ2lmcmFtZScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHt9XG4gICAgfSxcbiAgICBncmFwaDoge1xuICAgICAgdHlwZTogJ2dyYXBoJyxcbiAgICAgIGxheW91dDoge1xuICAgICAgICB4OiAxLFxuICAgICAgICB5OiAxLFxuICAgICAgICBoZWlnaHQ6IDIsXG4gICAgICAgIHdpZHRoOiAzXG4gICAgICB9LFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBtaW5pTWFwOiB0cnVlXG4gICAgICB9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICB0aWxlOiB7XG4gICAgICB0eXBlOiAndGlsZScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHt9LFxuICAgICAgZGF0YXNvdXJjZTogVVNFX0NVUlJFTlRfUkVTVUxUU0VUXG4gICAgfSxcbiAgICB2ZWdhOiB7XG4gICAgICB0eXBlOiAndmVnYScsXG4gICAgICBsYXlvdXQ6IHtcbiAgICAgICAgeDogMSxcbiAgICAgICAgeTogMSxcbiAgICAgICAgaGVpZ2h0OiAyLFxuICAgICAgICB3aWR0aDogM1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgcGxhY2VEYXRhOiBbJ2RhdGEnLCAwLCAndmFsdWVzJ10sXG4gICAgICAgIGJhc2VTcGVjOiB7fVxuICAgICAgfSxcbiAgICAgIGRhdGFzb3VyY2U6IFVTRV9DVVJSRU5UX1JFU1VMVFNFVFxuICAgIH1cbiAgfSk7XG5cbiAgY3VycmVudFJlc3VsdFNldDogc3RyaW5nW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmRlZmF1bHREYXRhc291cmNlTmFtZXMpLnN1YnNjcmliZSgocnNOYW1lKSA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudFJlc3VsdFNldCA9IHJzTmFtZTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuY2F0YWxvZykuc3Vic2NyaWJlKCh3aWRnZXRzKSA9PiB7XG4gICAgICAgIHdpZGdldHMuZm9yRWFjaCgod2lkZ2V0KSA9PiB0aGlzLnNldCh3aWRnZXQuaWQsIHsgLi4uSlNPTi5wYXJzZSh3aWRnZXQuY29udGVudCksIHRpdGxlOiB3aWRnZXQubmFtZSB9KSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXQoaWQ6IHN0cmluZywgaW5zdGFuY2lhdGUgPSB0cnVlKTogV2lkZ2V0TWFuaWZlc3Qge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gdGhpcy5pbml0aWFsTWFuaWZlc3RzJC5nZXRWYWx1ZSgpW2lkXTtcbiAgICBpZiAoIW1hbmlmZXN0KSB7XG4gICAgICByZXR1cm4gbWFuaWZlc3Q7XG4gICAgfVxuICAgIGNvbnN0IGNvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG1hbmlmZXN0KSk7XG4gICAgaWYgKGluc3RhbmNpYXRlICYmICEhY29weSAmJiBjb3B5LmRhdGFzb3VyY2UgPT09IFVTRV9DVVJSRU5UX1JFU1VMVFNFVCkge1xuICAgICAgY29weS5kYXRhc291cmNlID0gW107XG4gICAgfVxuICAgIHJldHVybiBjb3B5O1xuICB9XG5cbiAgc2V0KGlkOiBzdHJpbmcsIG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdCk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbE1hbmlmZXN0cyQubmV4dCh7IC4uLnRoaXMuaW5pdGlhbE1hbmlmZXN0cyQuZ2V0VmFsdWUoKSwgW2lkXTogbWFuaWZlc3QgfSk7XG4gIH1cblxuICBzZXRBbGxMYXlvdXRzKGxheW91dDogV2lkZ2V0TGF5b3V0KTogdm9pZCB7XG4gICAgT2JqZWN0LmtleXModGhpcy5pbml0aWFsTWFuaWZlc3RzJC5nZXRWYWx1ZSgpKS5mb3JFYWNoKFxuICAgICAgKGtleSkgPT4gKHRoaXMuaW5pdGlhbE1hbmlmZXN0cyQuZ2V0VmFsdWUoKVtrZXldLmxheW91dCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobGF5b3V0KSkpXG4gICAgKTtcbiAgfVxuXG4gIGlzTW9kZWwoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gdGhpcy5nZXQoaWQsIGZhbHNlKTtcbiAgICByZXR1cm4gISFtYW5pZmVzdCAmJiBtYW5pZmVzdC5kYXRhc291cmNlID09PSBVU0VfQ1VSUkVOVF9SRVNVTFRTRVQ7XG4gIH1cblxuICBkYXRhVHJhbnNmZXIoJGV2ZW50OiBEcmFnRXZlbnQsIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoISEkZXZlbnQgJiYgISEkZXZlbnQuZGF0YVRyYW5zZmVyICYmICEkZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLmluY2x1ZGVzKE1JTUVfVFlQRV9XSURHRVRfTUFOSUZFU1QpKSB7XG4gICAgICBjb25zdCBtYW5pZmVzdCA9IHRoaXMuZ2V0KGlkKTtcblxuICAgICAgJGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gJ2NvcHknO1xuICAgICAgJGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gJ2NvcHknO1xuICAgICAgaWYgKCF0aGlzLmlzTW9kZWwoaWQpICYmIG1hbmlmZXN0LmhlYWRlciAhPT0gZmFsc2UpIHtcbiAgICAgICAgbWFuaWZlc3QuaGVhZGVyID0geyBkYXRhc291cmNlU2VsZWN0aW9uOiBmYWxzZSB9O1xuICAgICAgfVxuXG4gICAgICAkZXZlbnQuZGF0YVRyYW5zZmVyLnNldERhdGEoTUlNRV9UWVBFX1dJREdFVF9NQU5JRkVTVCwgSlNPTi5zdHJpbmdpZnkobWFuaWZlc3QpKTtcbiAgICAgICRldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YShNSU1FX1RZUEVfV0lER0VUX1RZUEUgKyBtYW5pZmVzdC50eXBlLCAndW51c2VkJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -30,7 +30,8 @@ export const defaultMenuStructure = [
30
30
  { icon: 'show_chart', label: '@pry.toolbox.linechart', type: 'linechart' },
31
31
  { icon: 'auto_graph', label: '@pry.toolbox.pointchart', type: 'pointchart' },
32
32
  { icon: 'area_chart', label: '@pry.toolbox.areachart', type: 'areachart' },
33
- { icon: 'donut_large', label: '@pry.toolbox.arcchart', type: 'arcchart' }
33
+ { icon: 'donut_large', label: '@pry.toolbox.arcchart', type: 'arcchart' },
34
+ { icon: 'bar_chart', label: '@pry.toolbox.vega', type: 'vega' }
34
35
  ]
35
36
  },
36
37
  {
@@ -42,8 +43,7 @@ export const defaultMenuStructure = [
42
43
  { icon: 'toc', label: '@pry.toolbox.detail', type: 'detail' },
43
44
  { icon: 'graph', label: '@pry.toolbox.graph', type: 'graph' },
44
45
  { icon: 'settings_applications', label: '@pry.toolbox.iframe', type: 'iframe' },
45
- { icon: 'tile', label: '@pry.toolbox.tile', type: 'tile' },
46
- { icon: 'bar_chart', label: '@pry.toolbox.vega', type: 'vega' }
46
+ { icon: 'tile', label: '@pry.toolbox.tile', type: 'tile' }
47
47
  ]
48
48
  }
49
49
  ];
@@ -90,8 +90,16 @@ export class ToolboxMenuService {
90
90
  category: menu.label
91
91
  })))
92
92
  .reduce((p, c) => [...p, ...c], [])));
93
- this.types$ = combineLatest([this.toolboxManifestService.initialManifests$, this.menuStructure$]).pipe(map(([manifests, menuStructure]) => {
94
- const types = [...new Set(Object.values(manifests).map((manifest) => manifest.type))];
93
+ this.types$ = combineLatest([
94
+ this.toolboxManifestService.initialManifests$,
95
+ this.menuStructure$,
96
+ this.widgetFactoryService.reference$
97
+ ]).pipe(map(([manifests, menuStructure, reference]) => {
98
+ const types = [
99
+ ...new Set(Object.values(manifests)
100
+ .filter((manifest) => reference[manifest.type])
101
+ .map((manifest) => manifest.type))
102
+ ];
95
103
  return types.map((type) => {
96
104
  const matchingMenu = menuStructure.find((menu) => menu.label.replace('@pry.toolbox.sub.', '').indexOf(type) >= 0);
97
105
  if (!!matchingMenu) {
@@ -157,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
157
165
  providedIn: 'root'
158
166
  }]
159
167
  }], ctorParameters: function () { return [{ type: i1.WidgetFactoryService }, { type: i2.ToolboxManifestService }, { type: i3.Store }]; } });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS90b29sYm94L3Rvb2xib3gtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7O0FBdUI5RSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBNEI7SUFDM0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLEtBQUssRUFBRSxzQkFBc0I7UUFDN0IsTUFBTSxFQUFFLEtBQUs7UUFDYixHQUFHLEVBQUU7WUFDSCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDbkUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDN0UsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtTQUN0RTtLQUNGO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixLQUFLLEVBQUUsd0JBQXdCO1FBQy9CLE1BQU0sRUFBRSxLQUFLO1FBQ2IsR0FBRyxFQUFFO1lBQ0gsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUN6RSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDMUUsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzVFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUMxRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7U0FDMUU7S0FDRjtJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxLQUFLLEVBQUUsd0JBQXdCO1FBQy9CLE1BQU0sRUFBRSxLQUFLO1FBQ2IsR0FBRyxFQUFFO1lBQ0gsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO1lBQ25FLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUM3RCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDN0QsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLHFCQUFxQixFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDL0UsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzFELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtTQUNoRTtLQUNGO0NBQ0YsQ0FBQztBQUtGLE1BQU0sT0FBTyxrQkFBa0I7SUFNN0IsWUFDVSxvQkFBMEMsRUFDMUMsc0JBQThDLEVBQzlDLEtBQVk7UUFGWix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVJ0QixvQkFBZSxHQUFHLElBQUksZUFBZSxDQUEwQixvQkFBb0IsQ0FBQyxDQUFDO1FBVW5GLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUFlO1lBQ3BCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7U0FDM0MsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtRQUMxQyxrQkFBa0I7UUFDbEIsYUFBYTthQUNWLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ25HLEdBQUcsQ0FDRixDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsQ0FBQztZQUNDLEdBQUcsSUFBSTtZQUNQLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztpQkFDVixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDMUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQW1CO1NBQ3RFLENBQUEsQ0FDOUI7WUFDRCxxQ0FBcUM7YUFDcEMsTUFBTSxDQUFDO1lBQ04sSUFBSSxFQUFFLGFBQWE7WUFDbkIsS0FBSyxFQUFFLDRCQUE0QjtZQUNuQyxNQUFNLEVBQUUsS0FBSztZQUNiLEdBQUcsRUFBRTtnQkFDSCxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzFCLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSztvQkFDbEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJO29CQUNsQixJQUFJLEVBQUUsTUFBTSxDQUFDLEVBQUU7b0JBQ2YsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO29CQUMvQixRQUFRLEVBQUUsSUFBSTtvQkFDZCxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7b0JBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztpQkFDcEIsQ0FBQyxDQUFDO2FBQ0o7U0FDRixDQUFDLENBQ0wsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdkMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FDdEIsZUFBZTthQUNaLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekIsR0FBRyxPQUFPO1lBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ3JCLENBQUMsQ0FBQyxDQUNKO2FBQ0EsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUN0QyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3BHLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUN4QixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUNyQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDekUsQ0FBQztnQkFDRixJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUU7b0JBQ2xCLE9BQU87d0JBQ0wsSUFBSTt3QkFDSixLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUs7d0JBQ3pCLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSTt3QkFDdkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBbUI7cUJBQ2hHLENBQUM7aUJBQ0g7Z0JBQ0QsTUFBTSxlQUFlLEdBQUcsYUFBYTtxQkFDbEMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztxQkFDaEcsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRTtvQkFDckIsT0FBTzt3QkFDTCxJQUFJO3dCQUNKLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSzt3QkFDNUIsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQzt3QkFDM0UsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBbUI7cUJBQ2hHLENBQUM7aUJBQ0g7Z0JBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsRUFBb0IsRUFBRSxDQUFDO1lBQ3ZGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ3pFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDNUc7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQWlCLEVBQUUsSUFBWSxFQUFFLEtBQWEsRUFBRSxJQUFZO1FBQ3BFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixTQUFTLHFCQUFxQixDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQWtDO1FBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDeEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNoRixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUN0RDthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsSUFBSSxHQUFHLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzVCLE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQzs4R0E5SFUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFdpZGdldEZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGFzaGJvYXJkL2NvbXBvbmVudHMvd2lkZ2V0cy93aWRnZXQtaW5zdGFuY2lhdG9yL3dpZGdldC1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucyB9IGZyb20gJy4uLy4uL2Rhc2hib2FyZC9zdG9yZS9kYXNoYm9hcmQuYWN0aW9ucyc7XG5pbXBvcnQgeyBQcnlWaXNpYmlsaXR5IH0gZnJvbSAnLi4vY29tcG9uZW50cy9zaGFyZS9zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICcuLi9tb2RlbC93aWRnZXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbmZpZ0FjdGlvbnMgfSBmcm9tICcuLi9zdG9yZS9jb25maWcvY29uZmlnLmFjdGlvbnMnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vc3RvcmUvY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgREVGQVVMVF9JQ09OX1VSTCB9IGZyb20gJy4uL3N0b3JlL2NvbmZpZy9pY29uLWRlZmluaXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUb29sYm94TWFuaWZlc3RTZXJ2aWNlIH0gZnJvbSAnLi90b29sYm94LW1hbmlmZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgV2lkZ2V0TWFuaWZlc3QgfSBmcm9tICcuLi9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBXaWRnZXREZXNjcmlwdGlvbkJhc2UgPSB7XG4gIGljb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFdpZGdldERlc2NyaXB0aW9uTWVudSA9IFdpZGdldERlc2NyaXB0aW9uQmFzZSAmIHtcbiAgb3BlbmVkOiBib29sZWFuO1xuICBzdWI6IENhdGFsb2dFbnRyeVtdO1xufTtcblxuZXhwb3J0IHR5cGUgQ2F0YWxvZ0VudHJ5ID0gV2lkZ2V0RGVzY3JpcHRpb25CYXNlICYge1xuICBjYXRlZ29yeT86IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaXNDdXN0b20/OiBib29sZWFuO1xuICB2aXNpYmlsaXR5PzogUHJ5VmlzaWJpbGl0eTtcbiAgY292ZXI/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRNZW51U3RydWN0dXJlOiBXaWRnZXREZXNjcmlwdGlvbk1lbnVbXSA9IFtcbiAge1xuICAgIGljb246ICdzaGFyZV9sb2NhdGlvbicsXG4gICAgbGFiZWw6ICdAcHJ5LnRvb2xib3guc3ViLm1hcCcsXG4gICAgb3BlbmVkOiBmYWxzZSxcbiAgICBzdWI6IFtcbiAgICAgIHsgaWNvbjogJ21hcCcsIGxhYmVsOiAnQHByeS50b29sYm94LnNpbXBsZW1hcCcsIHR5cGU6ICdzaW1wbGVtYXAnIH0sXG4gICAgICB7IGljb246ICdidWJibGUtY2hhcnQtbGluZScsIGxhYmVsOiAnQHByeS50b29sYm94LmhlYXRtYXAnLCB0eXBlOiAnaGVhdG1hcCcgfSxcbiAgICAgIHsgaWNvbjogJ2J1bGxlcycsIGxhYmVsOiAnQHByeS50b29sYm94LmJ1YmJsZW1hcCcsIHR5cGU6ICdidWJibGVtYXAnIH0sXG4gICAgICB7IGljb246ICdwbGFjZScsIGxhYmVsOiAnQHByeS50b29sYm94Lm1hcmtlcm1hcCcsIHR5cGU6ICdtYXJrZXJtYXAnIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICBpY29uOiAnc2hvd19jaGFydCcsXG4gICAgbGFiZWw6ICdAcHJ5LnRvb2xib3guc3ViLmNoYXJ0JyxcbiAgICBvcGVuZWQ6IGZhbHNlLFxuICAgIHN1YjogW1xuICAgICAgeyBpY29uOiAnYmFyX2NoYXJ0JywgbGFiZWw6ICdAcHJ5LnRvb2xib3guYmFyY2hhcnQnLCB0eXBlOiAnYmFyY2hhcnQnIH0sXG4gICAgICB7IGljb246ICdiYXJfY2hhcnQnLCBsYWJlbDogJ0BwcnkudG9vbGJveC5oaXN0b2dyYW0nLCB0eXBlOiAnaGlzdG9ncmFtJyB9LFxuICAgICAgeyBpY29uOiAnc2hvd19jaGFydCcsIGxhYmVsOiAnQHByeS50b29sYm94LmxpbmVjaGFydCcsIHR5cGU6ICdsaW5lY2hhcnQnIH0sXG4gICAgICB7IGljb246ICdhdXRvX2dyYXBoJywgbGFiZWw6ICdAcHJ5LnRvb2xib3gucG9pbnRjaGFydCcsIHR5cGU6ICdwb2ludGNoYXJ0JyB9LFxuICAgICAgeyBpY29uOiAnYXJlYV9jaGFydCcsIGxhYmVsOiAnQHByeS50b29sYm94LmFyZWFjaGFydCcsIHR5cGU6ICdhcmVhY2hhcnQnIH0sXG4gICAgICB7IGljb246ICdkb251dF9sYXJnZScsIGxhYmVsOiAnQHByeS50b29sYm94LmFyY2NoYXJ0JywgdHlwZTogJ2FyY2NoYXJ0JyB9XG4gICAgXVxuICB9LFxuICB7XG4gICAgaWNvbjogJ3RvYycsXG4gICAgbGFiZWw6ICdAcHJ5LnRvb2xib3guc3ViLm90aGVyJyxcbiAgICBvcGVuZWQ6IGZhbHNlLFxuICAgIHN1YjogW1xuICAgICAgeyBpY29uOiAndGFibGVfY2hhcnQnLCBsYWJlbDogJ0BwcnkudG9vbGJveC50YWJsZScsIHR5cGU6ICd0YWJsZScgfSxcbiAgICAgIHsgaWNvbjogJ3RvYycsIGxhYmVsOiAnQHByeS50b29sYm94LmRldGFpbCcsIHR5cGU6ICdkZXRhaWwnIH0sXG4gICAgICB7IGljb246ICdncmFwaCcsIGxhYmVsOiAnQHByeS50b29sYm94LmdyYXBoJywgdHlwZTogJ2dyYXBoJyB9LFxuICAgICAgeyBpY29uOiAnc2V0dGluZ3NfYXBwbGljYXRpb25zJywgbGFiZWw6ICdAcHJ5LnRvb2xib3guaWZyYW1lJywgdHlwZTogJ2lmcmFtZScgfSxcbiAgICAgIHsgaWNvbjogJ3RpbGUnLCBsYWJlbDogJ0BwcnkudG9vbGJveC50aWxlJywgdHlwZTogJ3RpbGUnIH0sXG4gICAgICB7IGljb246ICdiYXJfY2hhcnQnLCBsYWJlbDogJ0BwcnkudG9vbGJveC52ZWdhJywgdHlwZTogJ3ZlZ2EnIH1cbiAgICBdXG4gIH1cbl07XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xib3hNZW51U2VydmljZSB7XG4gIF9tZW51U3RydWN0dXJlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8V2lkZ2V0RGVzY3JpcHRpb25NZW51W10+KGRlZmF1bHRNZW51U3RydWN0dXJlKTtcbiAgbWVudVN0cnVjdHVyZSQ6IE9ic2VydmFibGU8V2lkZ2V0RGVzY3JpcHRpb25NZW51W10+O1xuICBtZW51TGlzdCQ6IE9ic2VydmFibGU8Q2F0YWxvZ0VudHJ5W10+O1xuICB0eXBlcyQ6IE9ic2VydmFibGU8eyBpY29uOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IHR5cGU6IHN0cmluZzsgbWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0IH1bXT47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB3aWRnZXRGYWN0b3J5U2VydmljZTogV2lkZ2V0RmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sYm94TWFuaWZlc3RTZXJ2aWNlOiBUb29sYm94TWFuaWZlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlXG4gICkge1xuICAgIHRoaXMubWVudVN0cnVjdHVyZSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX21lbnVTdHJ1Y3R1cmUkLFxuICAgICAgdGhpcy53aWRnZXRGYWN0b3J5U2VydmljZS5yZWZlcmVuY2UkLFxuICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmNhdGFsb2cpXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW21lbnVTdHJ1Y3R1cmUsIHJlZmVyZW5jZSwgY2F0YWxvZ10pID0+XG4gICAgICAgIC8vIEdlbmVyaWMgd2lkZ2V0c1xuICAgICAgICBtZW51U3RydWN0dXJlXG4gICAgICAgICAgLmZpbHRlcigobWVudSkgPT4gbWVudS5zdWIuZmluZCgoc3ViKSA9PiByZWZlcmVuY2VbdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmdldChzdWIudHlwZSkudHlwZV0pKVxuICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAobWVudSkgPT5cbiAgICAgICAgICAgICAgKHtcbiAgICAgICAgICAgICAgICAuLi5tZW51LFxuICAgICAgICAgICAgICAgIHN1YjogbWVudS5zdWJcbiAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKHN1YikgPT4gcmVmZXJlbmNlW3RoaXMudG9vbGJveE1hbmlmZXN0U2VydmljZS5nZXQoc3ViLnR5cGUpLnR5cGVdKVxuICAgICAgICAgICAgICAgICAgLm1hcCgoZW50cnkpID0+ICh7IC4uLmVudHJ5LCBpY29uOiAnYXNzZXRzL3N2Z3MvJyArIGVudHJ5Lmljb24gKyAnLnN2ZycgfSkpIGFzIENhdGFsb2dFbnRyeVtdXG4gICAgICAgICAgICAgIH0gYXMgV2lkZ2V0RGVzY3JpcHRpb25NZW51KVxuICAgICAgICAgIClcbiAgICAgICAgICAvLyBVc2VyIGRlZmluZWQgd2lkZ2V0IGNvbmZpZ3VyYXRpb25zXG4gICAgICAgICAgLmNvbmNhdCh7XG4gICAgICAgICAgICBpY29uOiAnbGlicmFyeV9hZGQnLFxuICAgICAgICAgICAgbGFiZWw6ICdAcHJ5LnRvb2xib3guY2F0YWxvZy50aXRsZScsXG4gICAgICAgICAgICBvcGVuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc3ViOiBbXG4gICAgICAgICAgICAgIC4uLmNhdGFsb2cubWFwKCh3aWRnZXQpID0+ICh7XG4gICAgICAgICAgICAgICAgaWNvbjogd2lkZ2V0LmltYWdlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB3aWRnZXQubmFtZSxcbiAgICAgICAgICAgICAgICB0eXBlOiB3aWRnZXQuaWQsXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHdpZGdldC5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICBpc0N1c3RvbTogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB3aWRnZXQudmlzaWJpbGl0eSxcbiAgICAgICAgICAgICAgICBjb3Zlcjogd2lkZ2V0LmNvdmVyXG4gICAgICAgICAgICAgIH0pKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHRoaXMubWVudUxpc3QkID0gdGhpcy5tZW51U3RydWN0dXJlJC5waXBlKFxuICAgICAgbWFwKChtZW51RGVzY3JpcHRpb24pID0+XG4gICAgICAgIG1lbnVEZXNjcmlwdGlvblxuICAgICAgICAgIC5tYXAoKG1lbnUpID0+XG4gICAgICAgICAgICBtZW51LnN1Yi5tYXAoKHN1Yk1lbnUpID0+ICh7XG4gICAgICAgICAgICAgIC4uLnN1Yk1lbnUsXG4gICAgICAgICAgICAgIGNhdGVnb3J5OiBtZW51LmxhYmVsXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy50eXBlcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRvb2xib3hNYW5pZmVzdFNlcnZpY2UuaW5pdGlhbE1hbmlmZXN0cyQsIHRoaXMubWVudVN0cnVjdHVyZSRdKS5waXBlKFxuICAgICAgbWFwKChbbWFuaWZlc3RzLCBtZW51U3RydWN0dXJlXSkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlcyA9IFsuLi5uZXcgU2V0KE9iamVjdC52YWx1ZXMobWFuaWZlc3RzKS5tYXAoKG1hbmlmZXN0KSA9PiBtYW5pZmVzdC50eXBlKSldO1xuICAgICAgICByZXR1cm4gdHlwZXMubWFwKCh0eXBlKSA9PiB7XG4gICAgICAgICAgY29uc3QgbWF0Y2hpbmdNZW51ID0gbWVudVN0cnVjdHVyZS5maW5kKFxuICAgICAgICAgICAgKG1lbnUpID0+IG1lbnUubGFiZWwucmVwbGFjZSgnQHByeS50b29sYm94LnN1Yi4nLCAnJykuaW5kZXhPZih0eXBlKSA+PSAwXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoISFtYXRjaGluZ01lbnUpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgIGxhYmVsOiBtYXRjaGluZ01lbnUubGFiZWwsXG4gICAgICAgICAgICAgIGljb246IG1hdGNoaW5nTWVudS5pY29uLFxuICAgICAgICAgICAgICBtYW5pZmVzdDogT2JqZWN0LnZhbHVlcyhtYW5pZmVzdHMpLmZpbmQoKG1hbmlmZXN0KSA9PiBtYW5pZmVzdC50eXBlID09PSB0eXBlKSBhcyBXaWRnZXRNYW5pZmVzdFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbWF0Y2hpbmdTdWJNZW51ID0gbWVudVN0cnVjdHVyZVxuICAgICAgICAgICAgLm1hcCgobWVudSkgPT4gbWVudS5zdWIuZmluZCgoc3ViKSA9PiBzdWIubGFiZWwucmVwbGFjZSgnQHByeS50b29sYm94LicsICcnKS5pbmRleE9mKHR5cGUpID49IDApKVxuICAgICAgICAgICAgLmZpbHRlcigobWF0Y2hpbmcpID0+ICEhbWF0Y2hpbmcpWzBdO1xuICAgICAgICAgIGlmICghIW1hdGNoaW5nU3ViTWVudSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgbGFiZWw6IG1hdGNoaW5nU3ViTWVudS5sYWJlbCxcbiAgICAgICAgICAgICAgaWNvbjogbWF0Y2hpbmdTdWJNZW51Lmljb24ucmVwbGFjZSgnYXNzZXRzL3N2Z3MvJywgJycpLnJlcGxhY2UoLy5zdmckLywgJycpLFxuICAgICAgICAgICAgICBtYW5pZmVzdDogT2JqZWN0LnZhbHVlcyhtYW5pZmVzdHMpLmZpbmQoKG1hbmlmZXN0KSA9PiBtYW5pZmVzdC50eXBlID09PSB0eXBlKSBhcyBXaWRnZXRNYW5pZmVzdFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHsgdHlwZSwgbGFiZWw6IHR5cGUsIGljb246IERFRkFVTFRfSUNPTl9VUkwsIG1hbmlmZXN0OiB7fSBhcyBXaWRnZXRNYW5pZmVzdCB9O1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFkZE1lbnUoaWNvbjogc3RyaW5nLCBsYWJlbDogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLl9tZW51U3RydWN0dXJlJC5nZXRWYWx1ZSgpLmZpbmQoKG1lbnUpID0+IG1lbnUubGFiZWwgPT09IGxhYmVsKSkge1xuICAgICAgdGhpcy5fbWVudVN0cnVjdHVyZSQubmV4dCh0aGlzLl9tZW51U3RydWN0dXJlJC5nZXRWYWx1ZSgpLmNvbmNhdCh7IGljb24sIGxhYmVsLCBvcGVuZWQ6IGZhbHNlLCBzdWI6IFtdIH0pKTtcbiAgICB9XG4gIH1cblxuICBhZGRXaWRnZXQobWVudUxhYmVsOiBzdHJpbmcsIGljb246IHN0cmluZywgbGFiZWw6IHN0cmluZywgdHlwZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbWVudSA9IHRoaXMuX21lbnVTdHJ1Y3R1cmUkLmdldFZhbHVlKCkuZmluZCgobWVudSkgPT4gbWVudS5sYWJlbCA9PT0gbWVudUxhYmVsKTtcbiAgICBpZiAoIW1lbnUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1lbnUgd2l0aCBsYWJlbCAke21lbnVMYWJlbH0gaGFzIG5vdCBiZWVuIGZvdW5kYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lbnUuc3ViLnB1c2goeyBpY29uLCBsYWJlbCwgdHlwZSB9KTtcbiAgICB9XG4gIH1cblxuICBzZXRNZW51U3RydWN0dXJlKHN0cnVjdHVyZTogV2lkZ2V0RGVzY3JpcHRpb25NZW51W10pIHtcbiAgICB0aGlzLl9tZW51U3RydWN0dXJlJC5uZXh0KHN0cnVjdHVyZSk7XG4gIH1cblxuICBhZGRUb0NhdGFsb2cod2lkZ2V0OiBXaWRnZXQsIGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5pc1ZhbGlkRm9yQ2F0YWxvZyh3aWRnZXQubmFtZSkpIHtcbiAgICAgIGNvbnN0IG1hbmlmZXN0ID0gSlNPTi5wYXJzZSh3aWRnZXQuY29udGVudCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0TWFuaWZlc3QoeyBtYW5pZmVzdCwgaW5kZXggfSkpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLnNhdmVXaWRnZXQoeyB3aWRnZXQgfSkpO1xuICAgICAgdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLnNldCh3aWRnZXQuaWQsIG1hbmlmZXN0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihgVHJ5aW5nIHRvIGFkZCBleGlzdGluZyB0eXBlIFwiJHtuYW1lfVwiYCk7XG4gICAgfVxuICB9XG5cbiAgaXNWYWxpZEZvckNhdGFsb2cobmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuICEhbmFtZSAmJiBuYW1lLmxlbmd0aCA+IDMgJiYgIXRoaXMudG9vbGJveE1hbmlmZXN0U2VydmljZS5nZXQobmFtZSk7XG4gIH1cbn1cbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJveC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS90b29sYm94L3Rvb2xib3gtbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7O0FBdUI5RSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBNEI7SUFDM0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLEtBQUssRUFBRSxzQkFBc0I7UUFDN0IsTUFBTSxFQUFFLEtBQUs7UUFDYixHQUFHLEVBQUU7WUFDSCxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDbkUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDN0UsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtTQUN0RTtLQUNGO0lBQ0Q7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QyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2hGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3REO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVk7UUFDNUIsT0FBTyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3RSxDQUFDOzhHQXhJVSxrQkFBa0I7a0hBQWxCLGtCQUFrQixjQUZqQixNQUFNOzsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgV2lkZ2V0RmFjdG9yeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZSc7XG5pbXBvcnQgeyBEYXNoYm9hcmRBY3Rpb25zIH0gZnJvbSAnLi4vLi4vZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7IFByeVZpc2liaWxpdHkgfSBmcm9tICcuLi9jb21wb25lbnRzL3NoYXJlL3NoYXJlLm1vZGVsJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJy4uL21vZGVsL3dpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlnQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2NvbmZpZy9jb25maWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBDb25maWdTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9jb25maWcvY29uZmlnLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBERUZBVUxUX0lDT05fVVJMIH0gZnJvbSAnLi4vc3RvcmUvY29uZmlnL2ljb24tZGVmaW5pdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvb2xib3hNYW5pZmVzdFNlcnZpY2UgfSBmcm9tICcuL3Rvb2xib3gtbWFuaWZlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBXaWRnZXRNYW5pZmVzdCB9IGZyb20gJy4uL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB0eXBlIFdpZGdldERlc2NyaXB0aW9uQmFzZSA9IHtcbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgV2lkZ2V0RGVzY3JpcHRpb25NZW51ID0gV2lkZ2V0RGVzY3JpcHRpb25CYXNlICYge1xuICBvcGVuZWQ6IGJvb2xlYW47XG4gIHN1YjogQ2F0YWxvZ0VudHJ5W107XG59O1xuXG5leHBvcnQgdHlwZSBDYXRhbG9nRW50cnkgPSBXaWRnZXREZXNjcmlwdGlvbkJhc2UgJiB7XG4gIGNhdGVnb3J5Pzogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpc0N1c3RvbT86IGJvb2xlYW47XG4gIHZpc2liaWxpdHk/OiBQcnlWaXNpYmlsaXR5O1xuICBjb3Zlcj86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdE1lbnVTdHJ1Y3R1cmU6IFdpZGdldERlc2NyaXB0aW9uTWVudVtdID0gW1xuICB7XG4gICAgaWNvbjogJ3NoYXJlX2xvY2F0aW9uJyxcbiAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5zdWIubWFwJyxcbiAgICBvcGVuZWQ6IGZhbHNlLFxuICAgIHN1YjogW1xuICAgICAgeyBpY29uOiAnbWFwJywgbGFiZWw6ICdAcHJ5LnRvb2xib3guc2ltcGxlbWFwJywgdHlwZTogJ3NpbXBsZW1hcCcgfSxcbiAgICAgIHsgaWNvbjogJ2J1YmJsZS1jaGFydC1saW5lJywgbGFiZWw6ICdAcHJ5LnRvb2xib3guaGVhdG1hcCcsIHR5cGU6ICdoZWF0bWFwJyB9LFxuICAgICAgeyBpY29uOiAnYnVsbGVzJywgbGFiZWw6ICdAcHJ5LnRvb2xib3guYnViYmxlbWFwJywgdHlwZTogJ2J1YmJsZW1hcCcgfSxcbiAgICAgIHsgaWNvbjogJ3BsYWNlJywgbGFiZWw6ICdAcHJ5LnRvb2xib3gubWFya2VybWFwJywgdHlwZTogJ21hcmtlcm1hcCcgfVxuICAgIF1cbiAgfSxcbiAge1xuICAgIGljb246ICdzaG93X2NoYXJ0JyxcbiAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5zdWIuY2hhcnQnLFxuICAgIG9wZW5lZDogZmFsc2UsXG4gICAgc3ViOiBbXG4gICAgICB7IGljb246ICdiYXJfY2hhcnQnLCBsYWJlbDogJ0BwcnkudG9vbGJveC5iYXJjaGFydCcsIHR5cGU6ICdiYXJjaGFydCcgfSxcbiAgICAgIHsgaWNvbjogJ2Jhcl9jaGFydCcsIGxhYmVsOiAnQHByeS50b29sYm94Lmhpc3RvZ3JhbScsIHR5cGU6ICdoaXN0b2dyYW0nIH0sXG4gICAgICB7IGljb246ICdzaG93X2NoYXJ0JywgbGFiZWw6ICdAcHJ5LnRvb2xib3gubGluZWNoYXJ0JywgdHlwZTogJ2xpbmVjaGFydCcgfSxcbiAgICAgIHsgaWNvbjogJ2F1dG9fZ3JhcGgnLCBsYWJlbDogJ0BwcnkudG9vbGJveC5wb2ludGNoYXJ0JywgdHlwZTogJ3BvaW50Y2hhcnQnIH0sXG4gICAgICB7IGljb246ICdhcmVhX2NoYXJ0JywgbGFiZWw6ICdAcHJ5LnRvb2xib3guYXJlYWNoYXJ0JywgdHlwZTogJ2FyZWFjaGFydCcgfSxcbiAgICAgIHsgaWNvbjogJ2RvbnV0X2xhcmdlJywgbGFiZWw6ICdAcHJ5LnRvb2xib3guYXJjY2hhcnQnLCB0eXBlOiAnYXJjY2hhcnQnIH0sXG4gICAgICB7IGljb246ICdiYXJfY2hhcnQnLCBsYWJlbDogJ0BwcnkudG9vbGJveC52ZWdhJywgdHlwZTogJ3ZlZ2EnIH1cbiAgICBdXG4gIH0sXG4gIHtcbiAgICBpY29uOiAndG9jJyxcbiAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5zdWIub3RoZXInLFxuICAgIG9wZW5lZDogZmFsc2UsXG4gICAgc3ViOiBbXG4gICAgICB7IGljb246ICd0YWJsZV9jaGFydCcsIGxhYmVsOiAnQHByeS50b29sYm94LnRhYmxlJywgdHlwZTogJ3RhYmxlJyB9LFxuICAgICAgeyBpY29uOiAndG9jJywgbGFiZWw6ICdAcHJ5LnRvb2xib3guZGV0YWlsJywgdHlwZTogJ2RldGFpbCcgfSxcbiAgICAgIHsgaWNvbjogJ2dyYXBoJywgbGFiZWw6ICdAcHJ5LnRvb2xib3guZ3JhcGgnLCB0eXBlOiAnZ3JhcGgnIH0sXG4gICAgICB7IGljb246ICdzZXR0aW5nc19hcHBsaWNhdGlvbnMnLCBsYWJlbDogJ0BwcnkudG9vbGJveC5pZnJhbWUnLCB0eXBlOiAnaWZyYW1lJyB9LFxuICAgICAgeyBpY29uOiAndGlsZScsIGxhYmVsOiAnQHByeS50b29sYm94LnRpbGUnLCB0eXBlOiAndGlsZScgfVxuICAgIF1cbiAgfVxuXTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJveE1lbnVTZXJ2aWNlIHtcbiAgX21lbnVTdHJ1Y3R1cmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxXaWRnZXREZXNjcmlwdGlvbk1lbnVbXT4oZGVmYXVsdE1lbnVTdHJ1Y3R1cmUpO1xuICBtZW51U3RydWN0dXJlJDogT2JzZXJ2YWJsZTxXaWRnZXREZXNjcmlwdGlvbk1lbnVbXT47XG4gIG1lbnVMaXN0JDogT2JzZXJ2YWJsZTxDYXRhbG9nRW50cnlbXT47XG4gIHR5cGVzJDogT2JzZXJ2YWJsZTx7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdHlwZTogc3RyaW5nOyBtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QgfVtdPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHdpZGdldEZhY3RvcnlTZXJ2aWNlOiBXaWRnZXRGYWN0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIHRvb2xib3hNYW5pZmVzdFNlcnZpY2U6IFRvb2xib3hNYW5pZmVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcbiAgKSB7XG4gICAgdGhpcy5tZW51U3RydWN0dXJlJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5fbWVudVN0cnVjdHVyZSQsXG4gICAgICB0aGlzLndpZGdldEZhY3RvcnlTZXJ2aWNlLnJlZmVyZW5jZSQsXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChDb25maWdTZWxlY3RvcnMuY2F0YWxvZylcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbbWVudVN0cnVjdHVyZSwgcmVmZXJlbmNlLCBjYXRhbG9nXSkgPT5cbiAgICAgICAgLy8gR2VuZXJpYyB3aWRnZXRzXG4gICAgICAgIG1lbnVTdHJ1Y3R1cmVcbiAgICAgICAgICAuZmlsdGVyKChtZW51KSA9PiBtZW51LnN1Yi5maW5kKChzdWIpID0+IHJlZmVyZW5jZVt0aGlzLnRvb2xib3hNYW5pZmVzdFNlcnZpY2UuZ2V0KHN1Yi50eXBlKS50eXBlXSkpXG4gICAgICAgICAgLm1hcChcbiAgICAgICAgICAgIChtZW51KSA9PlxuICAgICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAgIC4uLm1lbnUsXG4gICAgICAgICAgICAgICAgc3ViOiBtZW51LnN1YlxuICAgICAgICAgICAgICAgICAgLmZpbHRlcigoc3ViKSA9PiByZWZlcmVuY2VbdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmdldChzdWIudHlwZSkudHlwZV0pXG4gICAgICAgICAgICAgICAgICAubWFwKChlbnRyeSkgPT4gKHsgLi4uZW50cnksIGljb246ICdhc3NldHMvc3Zncy8nICsgZW50cnkuaWNvbiArICcuc3ZnJyB9KSkgYXMgQ2F0YWxvZ0VudHJ5W11cbiAgICAgICAgICAgICAgfSBhcyBXaWRnZXREZXNjcmlwdGlvbk1lbnUpXG4gICAgICAgICAgKVxuICAgICAgICAgIC8vIFVzZXIgZGVmaW5lZCB3aWRnZXQgY29uZmlndXJhdGlvbnNcbiAgICAgICAgICAuY29uY2F0KHtcbiAgICAgICAgICAgIGljb246ICdsaWJyYXJ5X2FkZCcsXG4gICAgICAgICAgICBsYWJlbDogJ0BwcnkudG9vbGJveC5jYXRhbG9nLnRpdGxlJyxcbiAgICAgICAgICAgIG9wZW5lZDogZmFsc2UsXG4gICAgICAgICAgICBzdWI6IFtcbiAgICAgICAgICAgICAgLi4uY2F0YWxvZy5tYXAoKHdpZGdldCkgPT4gKHtcbiAgICAgICAgICAgICAgICBpY29uOiB3aWRnZXQuaW1hZ2UsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHdpZGdldC5uYW1lLFxuICAgICAgICAgICAgICAgIHR5cGU6IHdpZGdldC5pZCxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogd2lkZ2V0LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGlzQ3VzdG9tOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHdpZGdldC52aXNpYmlsaXR5LFxuICAgICAgICAgICAgICAgIGNvdmVyOiB3aWRnZXQuY292ZXJcbiAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuXG4gICAgdGhpcy5tZW51TGlzdCQgPSB0aGlzLm1lbnVTdHJ1Y3R1cmUkLnBpcGUoXG4gICAgICBtYXAoKG1lbnVEZXNjcmlwdGlvbikgPT5cbiAgICAgICAgbWVudURlc2NyaXB0aW9uXG4gICAgICAgICAgLm1hcCgobWVudSkgPT5cbiAgICAgICAgICAgIG1lbnUuc3ViLm1hcCgoc3ViTWVudSkgPT4gKHtcbiAgICAgICAgICAgICAgLi4uc3ViTWVudSxcbiAgICAgICAgICAgICAgY2F0ZWdvcnk6IG1lbnUubGFiZWxcbiAgICAgICAgICAgIH0pKVxuICAgICAgICAgIClcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgICAgKVxuICAgICk7XG5cbiAgICB0aGlzLnR5cGVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmluaXRpYWxNYW5pZmVzdHMkLFxuICAgICAgdGhpcy5tZW51U3RydWN0dXJlJCxcbiAgICAgIHRoaXMud2lkZ2V0RmFjdG9yeVNlcnZpY2UucmVmZXJlbmNlJFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFttYW5pZmVzdHMsIG1lbnVTdHJ1Y3R1cmUsIHJlZmVyZW5jZV0pID0+IHtcbiAgICAgICAgY29uc3QgdHlwZXMgPSBbXG4gICAgICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMobWFuaWZlc3RzKVxuICAgICAgICAgICAgICAuZmlsdGVyKChtYW5pZmVzdCkgPT4gcmVmZXJlbmNlW21hbmlmZXN0LnR5cGVdKVxuICAgICAgICAgICAgICAubWFwKChtYW5pZmVzdCkgPT4gbWFuaWZlc3QudHlwZSlcbiAgICAgICAgICApXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiB0eXBlcy5tYXAoKHR5cGUpID0+IHtcbiAgICAgICAgICBjb25zdCBtYXRjaGluZ01lbnUgPSBtZW51U3RydWN0dXJlLmZpbmQoXG4gICAgICAgICAgICAobWVudSkgPT4gbWVudS5sYWJlbC5yZXBsYWNlKCdAcHJ5LnRvb2xib3guc3ViLicsICcnKS5pbmRleE9mKHR5cGUpID49IDBcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmICghIW1hdGNoaW5nTWVudSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgbGFiZWw6IG1hdGNoaW5nTWVudS5sYWJlbCxcbiAgICAgICAgICAgICAgaWNvbjogbWF0Y2hpbmdNZW51Lmljb24sXG4gICAgICAgICAgICAgIG1hbmlmZXN0OiBPYmplY3QudmFsdWVzKG1hbmlmZXN0cykuZmluZCgobWFuaWZlc3QpID0+IG1hbmlmZXN0LnR5cGUgPT09IHR5cGUpIGFzIFdpZGdldE1hbmlmZXN0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBtYXRjaGluZ1N1Yk1lbnUgPSBtZW51U3RydWN0dXJlXG4gICAgICAgICAgICAubWFwKChtZW51KSA9PiBtZW51LnN1Yi5maW5kKChzdWIpID0+IHN1Yi5sYWJlbC5yZXBsYWNlKCdAcHJ5LnRvb2xib3guJywgJycpLmluZGV4T2YodHlwZSkgPj0gMCkpXG4gICAgICAgICAgICAuZmlsdGVyKChtYXRjaGluZykgPT4gISFtYXRjaGluZylbMF07XG4gICAgICAgICAgaWYgKCEhbWF0Y2hpbmdTdWJNZW51KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICBsYWJlbDogbWF0Y2hpbmdTdWJNZW51LmxhYmVsLFxuICAgICAgICAgICAgICBpY29uOiBtYXRjaGluZ1N1Yk1lbnUuaWNvbi5yZXBsYWNlKCdhc3NldHMvc3Zncy8nLCAnJykucmVwbGFjZSgvLnN2ZyQvLCAnJyksXG4gICAgICAgICAgICAgIG1hbmlmZXN0OiBPYmplY3QudmFsdWVzKG1hbmlmZXN0cykuZmluZCgobWFuaWZlc3QpID0+IG1hbmlmZXN0LnR5cGUgPT09IHR5cGUpIGFzIFdpZGdldE1hbmlmZXN0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4geyB0eXBlLCBsYWJlbDogdHlwZSwgaWNvbjogREVGQVVMVF9JQ09OX1VSTCwgbWFuaWZlc3Q6IHt9IGFzIFdpZGdldE1hbmlmZXN0IH07XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgYWRkTWVudShpY29uOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuX21lbnVTdHJ1Y3R1cmUkLmdldFZhbHVlKCkuZmluZCgobWVudSkgPT4gbWVudS5sYWJlbCA9PT0gbGFiZWwpKSB7XG4gICAgICB0aGlzLl9tZW51U3RydWN0dXJlJC5uZXh0KHRoaXMuX21lbnVTdHJ1Y3R1cmUkLmdldFZhbHVlKCkuY29uY2F0KHsgaWNvbiwgbGFiZWwsIG9wZW5lZDogZmFsc2UsIHN1YjogW10gfSkpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFdpZGdldChtZW51TGFiZWw6IHN0cmluZywgaWNvbjogc3RyaW5nLCBsYWJlbDogc3RyaW5nLCB0eXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtZW51ID0gdGhpcy5fbWVudVN0cnVjdHVyZSQuZ2V0VmFsdWUoKS5maW5kKChtZW51KSA9PiBtZW51LmxhYmVsID09PSBtZW51TGFiZWwpO1xuICAgIGlmICghbWVudSkge1xuICAgICAgY29uc29sZS5lcnJvcihgTWVudSB3aXRoIGxhYmVsICR7bWVudUxhYmVsfSBoYXMgbm90IGJlZW4gZm91bmRgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVudS5zdWIucHVzaCh7IGljb24sIGxhYmVsLCB0eXBlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldE1lbnVTdHJ1Y3R1cmUoc3RydWN0dXJlOiBXaWRnZXREZXNjcmlwdGlvbk1lbnVbXSkge1xuICAgIHRoaXMuX21lbnVTdHJ1Y3R1cmUkLm5leHQoc3RydWN0dXJlKTtcbiAgfVxuXG4gIGFkZFRvQ2F0YWxvZyh3aWRnZXQ6IFdpZGdldCwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLmlzVmFsaWRGb3JDYXRhbG9nKHdpZGdldC5uYW1lKSkge1xuICAgICAgY29uc3QgbWFuaWZlc3QgPSBKU09OLnBhcnNlKHdpZGdldC5jb250ZW50KTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy51cGRhdGVXaWRnZXRNYW5pZmVzdCh7IG1hbmlmZXN0LCBpbmRleCB9KSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuc2F2ZVdpZGdldCh7IHdpZGdldCB9KSk7XG4gICAgICB0aGlzLnRvb2xib3hNYW5pZmVzdFNlcnZpY2Uuc2V0KHdpZGdldC5pZCwgbWFuaWZlc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBUcnlpbmcgdG8gYWRkIGV4aXN0aW5nIHR5cGUgXCIke25hbWV9XCJgKTtcbiAgICB9XG4gIH1cblxuICBpc1ZhbGlkRm9yQ2F0YWxvZyhuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gISFuYW1lICYmIG5hbWUubGVuZ3RoID4gMyAmJiAhdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmdldChuYW1lKTtcbiAgfVxufVxuIl19
@@ -8488,94 +8488,6 @@ class ToolboxManifestService extends SubscriptionnerDirective {
8488
8488
  options: { graph: { type: GraphType.CIRCULAR } },
8489
8489
  datasource: USE_CURRENT_RESULTSET
8490
8490
  },
8491
- barchartLegacy: {
8492
- type: 'chart-legacy',
8493
- layout: {
8494
- x: 1,
8495
- y: 1,
8496
- height: 2,
8497
- width: 3
8498
- },
8499
- options: { type: MarkType.BAR, subType: MarkSubType.DEFAULT },
8500
- datasource: USE_CURRENT_RESULTSET
8501
- },
8502
- histogramLegacy: {
8503
- type: 'chart-legacy',
8504
- layout: {
8505
- x: 1,
8506
- y: 1,
8507
- height: 2,
8508
- width: 3
8509
- },
8510
- options: { type: MarkType.BAR, subType: MarkSubType.HISTOGRAM },
8511
- datasource: USE_CURRENT_RESULTSET
8512
- },
8513
- linechartLegacy: {
8514
- type: 'chart-legacy',
8515
- layout: {
8516
- x: 1,
8517
- y: 1,
8518
- height: 2,
8519
- width: 3
8520
- },
8521
- options: { type: MarkType.LINE, subType: MarkSubType.DEFAULT },
8522
- datasource: USE_CURRENT_RESULTSET
8523
- },
8524
- pointchartLegacy: {
8525
- type: 'chart-legacy',
8526
- layout: {
8527
- x: 1,
8528
- y: 1,
8529
- height: 2,
8530
- width: 3
8531
- },
8532
- options: { type: MarkType.POINT, subType: MarkSubType.DEFAULT },
8533
- datasource: USE_CURRENT_RESULTSET
8534
- },
8535
- areachartLegacy: {
8536
- type: 'chart-legacy',
8537
- layout: {
8538
- x: 1,
8539
- y: 1,
8540
- height: 2,
8541
- width: 3
8542
- },
8543
- options: { type: MarkType.AREA, subType: MarkSubType.DEFAULT },
8544
- datasource: USE_CURRENT_RESULTSET
8545
- },
8546
- arcchartLegacy: {
8547
- type: 'chart-legacy',
8548
- layout: {
8549
- x: 1,
8550
- y: 1,
8551
- height: 2,
8552
- width: 3
8553
- },
8554
- options: { type: MarkType.ARC, subType: MarkSubType.DEFAULT },
8555
- datasource: USE_CURRENT_RESULTSET
8556
- },
8557
- radarchartLegacy: {
8558
- type: 'chart-legacy',
8559
- layout: {
8560
- x: 1,
8561
- y: 1,
8562
- height: 2,
8563
- width: 3
8564
- },
8565
- options: { type: MarkType.RADAR, subType: MarkSubType.DEFAULT },
8566
- datasource: USE_CURRENT_RESULTSET
8567
- },
8568
- circlechartLegacy: {
8569
- type: 'chart-legacy',
8570
- layout: {
8571
- x: 1,
8572
- y: 1,
8573
- height: 2,
8574
- width: 3
8575
- },
8576
- options: { type: MarkType.CIRCLE_PACK, subType: MarkSubType.DEFAULT },
8577
- datasource: USE_CURRENT_RESULTSET
8578
- },
8579
8491
  detail: {
8580
8492
  type: 'detail',
8581
8493
  layout: {
@@ -8708,7 +8620,8 @@ const defaultMenuStructure = [
8708
8620
  { icon: 'show_chart', label: '@pry.toolbox.linechart', type: 'linechart' },
8709
8621
  { icon: 'auto_graph', label: '@pry.toolbox.pointchart', type: 'pointchart' },
8710
8622
  { icon: 'area_chart', label: '@pry.toolbox.areachart', type: 'areachart' },
8711
- { icon: 'donut_large', label: '@pry.toolbox.arcchart', type: 'arcchart' }
8623
+ { icon: 'donut_large', label: '@pry.toolbox.arcchart', type: 'arcchart' },
8624
+ { icon: 'bar_chart', label: '@pry.toolbox.vega', type: 'vega' }
8712
8625
  ]
8713
8626
  },
8714
8627
  {
@@ -8720,8 +8633,7 @@ const defaultMenuStructure = [
8720
8633
  { icon: 'toc', label: '@pry.toolbox.detail', type: 'detail' },
8721
8634
  { icon: 'graph', label: '@pry.toolbox.graph', type: 'graph' },
8722
8635
  { icon: 'settings_applications', label: '@pry.toolbox.iframe', type: 'iframe' },
8723
- { icon: 'tile', label: '@pry.toolbox.tile', type: 'tile' },
8724
- { icon: 'bar_chart', label: '@pry.toolbox.vega', type: 'vega' }
8636
+ { icon: 'tile', label: '@pry.toolbox.tile', type: 'tile' }
8725
8637
  ]
8726
8638
  }
8727
8639
  ];
@@ -8768,8 +8680,16 @@ class ToolboxMenuService {
8768
8680
  category: menu.label
8769
8681
  })))
8770
8682
  .reduce((p, c) => [...p, ...c], [])));
8771
- this.types$ = combineLatest([this.toolboxManifestService.initialManifests$, this.menuStructure$]).pipe(map(([manifests, menuStructure]) => {
8772
- const types = [...new Set(Object.values(manifests).map((manifest) => manifest.type))];
8683
+ this.types$ = combineLatest([
8684
+ this.toolboxManifestService.initialManifests$,
8685
+ this.menuStructure$,
8686
+ this.widgetFactoryService.reference$
8687
+ ]).pipe(map(([manifests, menuStructure, reference]) => {
8688
+ const types = [
8689
+ ...new Set(Object.values(manifests)
8690
+ .filter((manifest) => reference[manifest.type])
8691
+ .map((manifest) => manifest.type))
8692
+ ];
8773
8693
  return types.map((type) => {
8774
8694
  const matchingMenu = menuStructure.find((menu) => menu.label.replace('@pry.toolbox.sub.', '').indexOf(type) >= 0);
8775
8695
  if (!!matchingMenu) {