bbj-screen-widget 2.4.54 → 2.4.55

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.
@@ -3,7 +3,14 @@ import { Component } from '@angular/core';
3
3
  import { Property, Widget, Data } from 'bbj-widget-base';
4
4
  let GaugeProgressComponent = class GaugeProgressComponent {
5
5
  constructor() {
6
- this.numfont = { family: 'Microsoft YaHei', color: '#ffffff', weight: 'normal', size: 21, space: 0, lineHeight: '20' };
6
+ this.numfont = {
7
+ family: 'Microsoft YaHei',
8
+ color: '#ffffff',
9
+ weight: 'normal',
10
+ size: 21,
11
+ space: 0,
12
+ lineHeight: '20',
13
+ };
7
14
  this.slidesPerView = 1;
8
15
  this.spaceBetween = 0;
9
16
  this.navigation = true;
@@ -14,7 +21,7 @@ let GaugeProgressComponent = class GaugeProgressComponent {
14
21
  this.cardBgImg = null;
15
22
  this.navigationBtnConfig = {
16
23
  prevEl: '.swiper-navigation-prev',
17
- nextEl: '.swiper-navigation-next'
24
+ nextEl: '.swiper-navigation-next',
18
25
  };
19
26
  //========================================
20
27
  this.seriesColor = { gradient: false, value: [['#6D7597', '#6D7597']] };
@@ -53,79 +60,82 @@ let GaugeProgressComponent = class GaugeProgressComponent {
53
60
  }
54
61
  ngOnChanges(changes) {
55
62
  if (changes._data) {
56
- if (this._data.length <= this.slidesPerView) {
57
- this.navigation = false;
58
- }
59
- this._data.forEach((e) => {
60
- let sourceData = [];
61
- sourceData.push(e);
62
- let chartOption = {
63
- series: [
64
- {
65
- // name: this.title,
66
- type: 'gauge',
67
- startAngle: this.startAngle,
68
- endAngle: this.endAngle,
69
- progress: {
70
- show: e.value && Number(e.value) > 0 ? true : false,
71
- overlap: false,
72
- roundCap: true,
73
- clip: false,
74
- itemStyle: {
75
- borderWidth: 1,
76
- color: this.getColor(this.progressColor, 'progress'),
77
- shadowColor: this.progressShadow,
78
- shadowBlur: 5
79
- }
80
- },
81
- detail: {
82
- show: this.labelVal,
83
- formatter: this.percent ? '' + ((e.value / this.max) * 100).toFixed(2) + '%' : '{value}',
84
- color: this.numFont.color,
85
- fontFamily: this.numFont.family,
86
- fontWeight: this.numFont.weight,
87
- fontSize: this.numFont.size,
88
- lineHeight: this.numFont.lineHeight,
89
- offsetCenter: [0, `${this.labelValOffset}%`],
90
- },
91
- data: sourceData,
92
- title: {
93
- show: this.label,
94
- color: this.font.color,
95
- fontFamily: this.font.family,
96
- fontWeight: this.font.weight,
97
- fontSize: this.font.size,
98
- lineHeight: this.font.lineHeight,
99
- offsetCenter: [0, `${this.labelOffset}%`],
100
- overflow: 'breakAll',
101
- width: this.labelWidth
102
- },
103
- axisLine: {
104
- roundCap: true,
105
- lineStyle: {
106
- width: this.width,
107
- color: this.getColor(this.seriesColor)
63
+ this.data = [];
64
+ if (this._data) {
65
+ if (this._data.length <= this.slidesPerView) {
66
+ this.navigation = false;
67
+ }
68
+ this._data.forEach((e) => {
69
+ let sourceData = [];
70
+ sourceData.push(e);
71
+ let chartOption = {
72
+ series: [
73
+ {
74
+ // name: this.title,
75
+ type: 'gauge',
76
+ startAngle: this.startAngle,
77
+ endAngle: this.endAngle,
78
+ progress: {
79
+ show: e.value && Number(e.value) > 0 ? true : false,
80
+ overlap: false,
81
+ roundCap: true,
82
+ clip: false,
83
+ itemStyle: {
84
+ borderWidth: 1,
85
+ color: this.getColor(this.progressColor, 'progress'),
86
+ shadowColor: this.progressShadow,
87
+ shadowBlur: 5,
88
+ },
89
+ },
90
+ detail: {
91
+ show: this.labelVal,
92
+ formatter: this.percent ? '' + ((e.value / this.max) * 100).toFixed(2) + '%' : '{value}',
93
+ color: this.numFont.color,
94
+ fontFamily: this.numFont.family,
95
+ fontWeight: this.numFont.weight,
96
+ fontSize: this.numFont.size,
97
+ lineHeight: this.numFont.lineHeight,
98
+ offsetCenter: [0, `${this.labelValOffset}%`],
99
+ },
100
+ data: sourceData,
101
+ title: {
102
+ show: this.label,
103
+ color: this.font.color,
104
+ fontFamily: this.font.family,
105
+ fontWeight: this.font.weight,
106
+ fontSize: this.font.size,
107
+ lineHeight: this.font.lineHeight,
108
+ offsetCenter: [0, `${this.labelOffset}%`],
109
+ overflow: 'breakAll',
110
+ width: this.labelWidth,
111
+ },
112
+ axisLine: {
113
+ roundCap: true,
114
+ lineStyle: {
115
+ width: this.width,
116
+ color: this.getColor(this.seriesColor),
117
+ },
118
+ },
119
+ max: this.max,
120
+ min: this.min,
121
+ axisLabel: {
122
+ show: false,
123
+ },
124
+ splitLine: {
125
+ show: false,
126
+ },
127
+ axisTick: {
128
+ show: false,
129
+ },
130
+ pointer: {
131
+ show: false,
108
132
  },
109
133
  },
110
- max: this.max,
111
- min: this.min,
112
- axisLabel: {
113
- show: false
114
- },
115
- splitLine: {
116
- show: false
117
- },
118
- axisTick: {
119
- show: false
120
- },
121
- pointer: {
122
- show: false
123
- },
124
- },
125
- ],
126
- };
127
- this.data.push(chartOption);
128
- });
134
+ ],
135
+ };
136
+ this.data.push(chartOption);
137
+ });
138
+ }
129
139
  // console.log(this._data[0].value,this._data[0].value && Number(this._data[0].value) !== 0 ? true : false)
130
140
  // console.log(JSON.stringify(this.chartOption));
131
141
  }
@@ -135,7 +145,7 @@ let GaugeProgressComponent = class GaugeProgressComponent {
135
145
  const color = [];
136
146
  const color1 = [];
137
147
  const colorInfo = colorBox && colorBox.value ? colorBox.value : colorBox;
138
- colorInfo.forEach(item => {
148
+ colorInfo.forEach((item) => {
139
149
  color.push({
140
150
  type: 'linear',
141
151
  x: 0,
@@ -194,7 +204,7 @@ __decorate([
194
204
  type: 'string',
195
205
  ui: {
196
206
  widget: 'myUpload',
197
- }
207
+ },
198
208
  }),
199
209
  __metadata("design:type", Object)
200
210
  ], GaugeProgressComponent.prototype, "navigationLeftIcon", void 0);
@@ -203,16 +213,14 @@ __decorate([
203
213
  type: 'string',
204
214
  ui: {
205
215
  widget: 'myUpload',
206
- }
216
+ },
207
217
  }),
208
218
  __metadata("design:type", Object)
209
219
  ], GaugeProgressComponent.prototype, "navigationRightIcon", void 0);
210
220
  __decorate([
211
221
  Property('显示模式', {
212
222
  ui: { widget: 'select' },
213
- enum: [
214
- { label: '图标卡片', value: 'card' },
215
- ],
223
+ enum: [{ label: '图标卡片', value: 'card' }],
216
224
  }),
217
225
  __metadata("design:type", Object)
218
226
  ], GaugeProgressComponent.prototype, "showType", void 0);
@@ -313,7 +321,7 @@ __decorate([
313
321
  Property('进度颜色', {
314
322
  ui: {
315
323
  widget: 'seriesColor',
316
- type: 'gradual'
324
+ type: 'gradual',
317
325
  },
318
326
  }),
319
327
  __metadata("design:type", Object)
@@ -322,7 +330,7 @@ __decorate([
322
330
  Property('进度阴影', {
323
331
  ui: {
324
332
  widget: 'myColor',
325
- example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null]
333
+ example: ['#ffffff', '#F5A623', '#F8E71C', '#50E3C2', '#3285FF', '#B45FFF', '#9B9B9B', null],
326
334
  },
327
335
  }),
328
336
  __metadata("design:type", Object)
@@ -345,4 +353,4 @@ GaugeProgressComponent = __decorate([
345
353
  __metadata("design:paramtypes", [])
346
354
  ], GaugeProgressComponent);
347
355
  export { GaugeProgressComponent };
348
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F1Z2UtcHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL2dhdWdlLXByb2dyZXNzL2dhdWdlLXByb2dyZXNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7SUFZNUMsc0JBQXNCLFNBQXRCLHNCQUFzQjtJQTBKakM7UUF4SkEsWUFBTyxHQUFRLEVBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDO1FBSXJILGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBR2xCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBS2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsc0JBQWlCLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFReEIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBUTFCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQVEzQixhQUFRLEdBQUcsTUFBTSxDQUFDO1FBUWxCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsd0JBQW1CLEdBQUc7WUFDcEIsTUFBTSxFQUFFLHlCQUF5QjtZQUNqQyxNQUFNLEVBQUUseUJBQXlCO1NBQ2xDLENBQUE7UUFDRCwwQ0FBMEM7UUFRMUMsZ0JBQVcsR0FBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBS3hFLFVBQUssR0FBRyxF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LEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDckMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1NBQ3RDO0tBQ0YsQ0FBQzs7cURBQ2tDO0FBbEt6QixzQkFBc0I7SUFMbEMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNoQixLQUFLLEVBQUUsWUFBWTtRQUNuQixLQUFLLEVBQUUsc0NBQXNDO1FBQzdDLElBQUksRUFBRSxZQUFZO0tBQ25CLENBQUM7O0dBQ1csc0JBQXNCLENBa1JsQztTQWxSWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSwgV2lkZ2V0LCBEYXRhIH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2MtZ2F1Z2UtcHJvZ3Jlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2F1Z2UtcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nYXVnZS1wcm9ncmVzcy5jb21wb25lbnQubGVzcyddLFxufSlcbkBXaWRnZXQoJ+i/m+W6puadoeS7quihqOebmCcsIHtcbiAgZ3JvdXA6ICdvdGhlckNoYXJ0JyxcbiAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9nYXVnZS1wcm9ncmVzcy5wbmcnLFxuICBpY29uOiAnaWNvbnR1YmlhbycsXG59KVxuZXhwb3J0IGNsYXNzIEdhdWdlUHJvZ3Jlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBQcm9wZXJ0eSgn5pWw5YC85a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUZvbnQnIH0gfSlcbiAgbnVtZm9udDogYW55ID0ge2ZhbWlseTogJ01pY3Jvc29mdCBZYUhlaScsIGNvbG9yOiAnI2ZmZmZmZicsIHdlaWdodDogJ25vcm1hbCcsIHNpemU6IDIxLCBzcGFjZTogMCwgbGluZUhlaWdodDogJzIwJ307XG5cblxuICBAUHJvcGVydHkoJ+WPr+inhuS4quaVsCcsIHsgdHlwZTogJ251bWJlcicgfSlcbiAgc2xpZGVzUGVyVmlldyA9IDE7XG5cbiAgQFByb3BlcnR5KCfpl7Tot50nLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gIHNwYWNlQmV0d2VlbiA9IDA7XG5cbiAgQFByb3BlcnR5KCflt6blj7PmjInpkq4nLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnYm9vbGVhbicsIGNoZWNrZWRDaGlsZHJlbjogJ+W8gCcsIHVuQ2hlY2tlZENoaWxkcmVuOiAn5YWzJyB9LFxuICB9KVxuICBuYXZpZ2F0aW9uID0gdHJ1ZTtcblxuICBAUHJvcGVydHkoJ+aMiemSruWBj+enuycsIHsgdHlwZTogJ251bWJlcicgfSlcbiAgbmF2aWdhdGlvbk1vdmVWYWwgPSAtNjA7XG5cbiAgQFByb3BlcnR5KCflt6blm77moIcnLCB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgdWk6IHtcbiAgICAgIHdpZGdldDogJ215VXBsb2FkJyxcbiAgICB9XG4gIH0pXG4gIG5hdmlnYXRpb25MZWZ0SWNvbiA9IG51bGw7XG5cbiAgQFByb3BlcnR5KCflj7Plm77moIcnLCB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgdWk6IHtcbiAgICAgIHdpZGdldDogJ215VXBsb2FkJyxcbiAgICB9XG4gIH0pXG4gIG5hdmlnYXRpb25SaWdodEljb24gPSBudWxsO1xuXG4gIEBQcm9wZXJ0eSgn5pi+56S65qih5byPJywge1xuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcbiAgICBlbnVtOiBbXG4gICAgICB7IGxhYmVsOiAn5Zu+5qCH5Y2h54mHJywgdmFsdWU6ICdjYXJkJyB9LFxuICAgIF0sXG4gIH0pXG4gIHNob3dUeXBlID0gJ2NhcmQnO1xuXG4gIEBQcm9wZXJ0eSgn5Y2h54mH6IOM5pmvJywge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdteVVwbG9hZCcsXG4gICAgfSxcbiAgfSlcbiAgY2FyZEJnSW1nID0gbnVsbDtcbiAgbmF2aWdhdGlvbkJ0bkNvbmZpZyA9IHtcbiAgICBwcmV2RWw6ICcuc3dpcGVyLW5hdmlnYXRpb24tcHJldicsXG4gICAgbmV4dEVsOiAnLnN3aXBlci1uYXZpZ2F0aW9uLW5leHQnXG4gIH1cbiAgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEBQcm9wZXJ0eSgn6KGo55uY6aKc6ImyJywge1xuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdzZXJpZXNDb2xvcicsXG4gICAgICB0eXBlOiAnZ3JhZHVhbCcsXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxuICAgIH0sXG4gIH0pXG4gIHNlcmllc0NvbG9yOiBhbnkgPSB7IGdyYWRpZW50OiBmYWxzZSwgdmFsdWU6IFtbJyM2RDc1OTcnLCAnIzZENzU5NyddXSB9O1xuXG4gIEBQcm9wZXJ0eSgn6KGo55uY5a695bqmJywge1xuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IDAsIG1heDogMTAwLCBzdGVwOiAxIH0sXG4gIH0pXG4gIHdpZHRoID0gMTA7XG4gIEBQcm9wZXJ0eSgn6LW35aeL6KeS5bqmJywge1xuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IDkwLCBtYXg6IDM2MCwgc3RlcDogMSB9LFxuICB9KVxuICBzdGFydEFuZ2xlID0gMjEwO1xuICBAUHJvcGVydHkoJ+e7k+adn+inkuW6picsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdteVJhbmdlJywgbWluOiAtOTAsIG1heDogOTAsIHN0ZXA6IDEgfSxcbiAgfSlcbiAgZW5kQW5nbGUgPSAtMzA7XG5cbiAgQFByb3BlcnR5KCfmmL7npLrmoIfpopgnLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnYm9vbGVhbicsIGNoZWNrZWRDaGlsZHJlbjogJ+W8gCcsIHVuQ2hlY2tlZENoaWxkcmVuOiAn5YWzJyB9LFxuICB9KVxuICBsYWJlbCA9IHRydWU7XG5cbiAgQFByb3BlcnR5KCfmoIfpopjlrZfkvZMnLCB7IHVpOiB7IHdpZGdldDogJ215Rm9udCcgfSB9KVxuICBmb250OiBhbnkgPSB7XG4gICAgZmFtaWx5OiAnJyxcbiAgICBjb2xvcjogJyNGRkZGRkYnLFxuICAgIHdlaWdodDogJ25vcm1hbCcsXG4gICAgc2l6ZTogMTgsXG4gICAgc3BhY2U6IDAsXG4gICAgbGluZUhlaWdodDogMTgsXG4gIH07XG4gIEBQcm9wZXJ0eSgn5qCH6aKY5L2N56e7Jywge1xuICAgIHVpOiB7IHdpZGdldDogJ251bWJlcicgfSxcbiAgfSlcbiAgbGFiZWxPZmZzZXQgPSA1MDtcbiAgQFByb3BlcnR5KCfmoIfpopjlrr3luqYnLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnbnVtYmVyJyB9LFxuICB9KVxuICBsYWJlbFdpZHRoID0gbnVsbDtcblxuICBAUHJvcGVydHkoJ+aYvuekuuaVsOWAvCcsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdib29sZWFuJywgY2hlY2tlZENoaWxkcmVuOiAn5byAJywgdW5DaGVja2VkQ2hpbGRyZW46ICflhbMnIH0sXG4gIH0pXG4gIGxhYmVsVmFsID0gdHJ1ZTtcblxuICBAUHJvcGVydHkoJ+aVsOWAvOWtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlGb250JyB9IH0pXG4gIG51bUZvbnQ6IGFueSA9IHtcbiAgICBmYW1pbHk6ICcnLFxuICAgIGNvbG9yOiAnI0ZGRkZGRicsXG4gICAgd2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBzaXplOiAzOCxcbiAgICBzcGFjZTogMCxcbiAgICBsaW5lSGVpZ2h0OiAzOCxcbiAgfTtcblxuICBAUHJvcGVydHkoJ+eZvuWIhuWPtycsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdib29sZWFuJywgY2hlY2tlZENoaWxkcmVuOiAn5byAJywgdW5DaGVja2VkQ2hpbGRyZW46ICflhbMnIH0sXG4gIH0pXG4gIHBlcmNlbnQgPSBmYWxzZTtcblxuICBAUHJvcGVydHkoJ+aVsOWAvOS9jeenuycsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdudW1iZXInIH0sXG4gIH0pXG4gIGxhYmVsVmFsT2Zmc2V0ID0gLTEwO1xuXG4gIEBQcm9wZXJ0eSgn5pyA5aSn5YC8Jywge1xuICAgIHVpOiB7IHdpZGdldDogJ251bWJlcicgfSxcbiAgfSlcbiAgbWF4ID0gMTAwO1xuICBAUHJvcGVydHkoJ+acgOWwj+WAvCcsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdudW1iZXInIH0sXG4gIH0pXG4gIG1pbiA9IDA7XG5cblxuICBAUHJvcGVydHkoJ+i/m+W6puminOiJsicsIHtcbiAgICB1aToge1xuICAgICAgd2lkZ2V0OiAnc2VyaWVzQ29sb3InLFxuICAgICAgdHlwZTogJ2dyYWR1YWwnXG4gICAgfSxcbiAgfSlcbiAgcHJvZ3Jlc3NDb2xvciA9IHsgZ3JhZGllbnQ6IHRydWUsIHZhbHVlOiBbWycjMjUwNUYwJywgJyNmMDAnXV0gfTtcblxuICBAUHJvcGVydHkoJ+i/m+W6pumYtOW9sScsIHtcbiAgICB1aToge1xuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXG4gICAgICBleGFtcGxlOiBbJyNmZmZmZmYnLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCBudWxsXVxuICAgIH0sXG4gIH0pXG4gIHByb2dyZXNzU2hhZG93ID0gbnVsbDtcblxuXG5cbiAgaW1hZ2U6IHN0cmluZztcbiAgY29uc3RydWN0b3IoKSB7IH1cbiAgY2hhcnRPcHRpb246IGFueSA9IHt9O1xuICBARGF0YSh7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfmloflrZcnIH0sXG4gICAgICB2YWx1ZTogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICflgLwnIH0sXG4gICAgfSxcbiAgfSlcbiAgX2RhdGEgPSBbeyBuYW1lOiAn5qCH6aKYJywgdmFsdWU6IDUwIH1dO1xuXG4gIGRhdGE9W107XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLl9kYXRhKSB7XG4gICAgICBpZih0aGlzLl9kYXRhLmxlbmd0aDw9dGhpcy5zbGlkZXNQZXJWaWV3KXtcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uPWZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5fZGF0YS5mb3JFYWNoKChlOmFueSk9PntcbiAgICAgICAgbGV0IHNvdXJjZURhdGE9W107XG4gICAgICAgIHNvdXJjZURhdGEucHVzaChlKTtcbiAgICAgICAgbGV0IGNoYXJ0T3B0aW9uID0ge1xuICAgICAgICAgIHNlcmllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAvLyBuYW1lOiB0aGlzLnRpdGxlLFxuICAgICAgICAgICAgICB0eXBlOiAnZ2F1Z2UnLFxuICAgICAgICAgICAgICBzdGFydEFuZ2xlOiB0aGlzLnN0YXJ0QW5nbGUsXG4gICAgICAgICAgICAgIGVuZEFuZ2xlOiB0aGlzLmVuZEFuZ2xlLFxuICAgICAgICAgICAgICBwcm9ncmVzczoge1xuICAgICAgICAgICAgICAgIHNob3c6IGUudmFsdWUgJiYgTnVtYmVyKGUudmFsdWUpID4gMCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBvdmVybGFwOiBmYWxzZSxcbiAgICAgICAgICAgICAgICByb3VuZENhcDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjbGlwOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuZ2V0Q29sb3IodGhpcy5wcm9ncmVzc0NvbG9yLCAncHJvZ3Jlc3MnKSxcbiAgICAgICAgICAgICAgICAgIHNoYWRvd0NvbG9yOiB0aGlzLnByb2dyZXNzU2hhZG93LFxuICAgICAgICAgICAgICAgICAgc2hhZG93Qmx1cjogNVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICAgICAgc2hvdzogdGhpcy5sYWJlbFZhbCxcbiAgICAgICAgICAgICAgICBmb3JtYXR0ZXI6IHRoaXMucGVyY2VudCA/ICcnICsgKChlLnZhbHVlIC8gdGhpcy5tYXgpICogMTAwKS50b0ZpeGVkKDIpICsgJyUnIDogJ3t2YWx1ZX0nLFxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLm51bUZvbnQuY29sb3IsXG4gICAgICAgICAgICAgICAgZm9udEZhbWlseTogdGhpcy5udW1Gb250LmZhbWlseSxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiB0aGlzLm51bUZvbnQud2VpZ2h0LFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiB0aGlzLm51bUZvbnQuc2l6ZSxcbiAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiB0aGlzLm51bUZvbnQubGluZUhlaWdodCxcbiAgICAgICAgICAgICAgICBvZmZzZXRDZW50ZXI6IFswLCBgJHt0aGlzLmxhYmVsVmFsT2Zmc2V0fSVgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZGF0YTogc291cmNlRGF0YSxcbiAgICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgICBzaG93OiB0aGlzLmxhYmVsLFxuICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLmZvbnQuY29sb3IsXG4gICAgICAgICAgICAgICAgZm9udEZhbWlseTogdGhpcy5mb250LmZhbWlseSxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiB0aGlzLmZvbnQud2VpZ2h0LFxuICAgICAgICAgICAgICAgIGZvbnRTaXplOiB0aGlzLmZvbnQuc2l6ZSxcbiAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiB0aGlzLmZvbnQubGluZUhlaWdodCxcbiAgICAgICAgICAgICAgICBvZmZzZXRDZW50ZXI6IFswLCBgJHt0aGlzLmxhYmVsT2Zmc2V0fSVgXSxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2JyZWFrQWxsJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy5sYWJlbFdpZHRoXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGF4aXNMaW5lOiB7XG4gICAgICAgICAgICAgICAgcm91bmRDYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgbGluZVN0eWxlOiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy53aWR0aCxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLmdldENvbG9yKHRoaXMuc2VyaWVzQ29sb3IpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbWF4OiB0aGlzLm1heCxcbiAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbixcbiAgICAgICAgICAgICAgYXhpc0xhYmVsOiB7XG4gICAgICAgICAgICAgICAgc2hvdzogZmFsc2VcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc3BsaXRMaW5lOiB7XG4gICAgICAgICAgICAgICAgc2hvdzogZmFsc2VcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgYXhpc1RpY2s6IHtcbiAgICAgICAgICAgICAgICBzaG93OiBmYWxzZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBwb2ludGVyOiB7XG4gICAgICAgICAgICAgICAgc2hvdzogZmFsc2VcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5kYXRhLnB1c2goY2hhcnRPcHRpb24pO1xuICAgICAgfSlcbiAgICAgLy8gY29uc29sZS5sb2codGhpcy5fZGF0YVswXS52YWx1ZSx0aGlzLl9kYXRhWzBdLnZhbHVlICYmIE51bWJlcih0aGlzLl9kYXRhWzBdLnZhbHVlKSAhPT0gMCA/IHRydWUgOiBmYWxzZSlcbiAgICAgXG4gICAgICAvLyBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0aGlzLmNoYXJ0T3B0aW9uKSk7XG4gICAgfVxuICB9XG4gIG5nT25Jbml0KCkgeyB9XG4gIGdldENvbG9yKGNvbG9yQm94LCB0eXBlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgY29sb3IgPSBbXTtcbiAgICBjb25zdCBjb2xvcjEgPSBbXTtcbiAgICBjb25zdCBjb2xvckluZm8gPSBjb2xvckJveCAmJiBjb2xvckJveC52YWx1ZSA/IGNvbG9yQm94LnZhbHVlIDogY29sb3JCb3g7XG4gICAgY29sb3JJbmZvLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb2xvci5wdXNoKHtcbiAgICAgICAgdHlwZTogJ2xpbmVhcicsXG4gICAgICAgIHg6IDAsXG4gICAgICAgIHk6IDAsXG4gICAgICAgIHgyOiAxLFxuICAgICAgICB5MjogMCxcbiAgICAgICAgZ2xvYmFsOiBmYWxzZSxcbiAgICAgICAgY29sb3JTdG9wczogW1xuICAgICAgICAgIHsgb2Zmc2V0OiAwLCBjb2xvcjogaXRlbVswXSB9LFxuICAgICAgICAgIHsgb2Zmc2V0OiAxLCBjb2xvcjogaXRlbVsxXSB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfSk7XG4gICAgbGV0IGNvdW50ID0gMTtcbiAgICBpZiAoY29sb3JJbmZvLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvdW50ID0gMSAvIGNvbG9ySW5mby5sZW5ndGg7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbG9ySW5mby5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb2xvcjEucHVzaChbY291bnQgKiAoaSArIDEpLCBjb2xvcltpXV0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHlwZSA9PT0gJ3Byb2dyZXNzJyA/IGNvbG9yWzBdIDogY291bnQgPCAxID8gY29sb3IxIDogW1sxLCBjb2xvclswXV1dO1xuICB9XG59XG4iXX0=
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F1Z2UtcHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL2dhdWdlLXByb2dyZXNzL2dhdWdlLXByb2dyZXNzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7SUFZNUMsc0JBQXNCLFNBQXRCLHNCQUFzQjtJQTJKakM7UUF6SkEsWUFBTyxHQUFRO1lBQ2IsTUFBTSxFQUFFLGlCQUFpQjtZQUN6QixLQUFLLEVBQUUsU0FBUztZQUNoQixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNSLEtBQUssRUFBRSxDQUFDO1lBQ1IsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUdGLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBR2xCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBS2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHbEIsc0JBQWlCLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFReEIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBUTFCLHdCQUFtQixHQUFHLElBQUksQ0FBQztRQU0zQixhQUFRLEdBQUcsTUFBTSxDQUFDO1FBUWxCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsd0JBQW1CLEdBQUc7WUFDcEIsTUFBTSxFQUFFLHlCQUF5QjtZQUNqQyxNQUFNLEVBQUUseUJBQXlCO1NBQ2xDLENBQUM7UUFDRiwwQ0FBMEM7UUFRMUMsZ0JBQVcsR0FBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBS3hFLFVBQUssR0FB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N0Y7S0FDRixDQUFDOzs4REFDb0I7QUFXdEI7SUFOQyxJQUFJLENBQUM7UUFDSixVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDckMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1NBQ3RDO0tBQ0YsQ0FBQzs7cURBQ2tDO0FBbkt6QixzQkFBc0I7SUFMbEMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUNoQixLQUFLLEVBQUUsWUFBWTtRQUNuQixLQUFLLEVBQUUsc0NBQXNDO1FBQzdDLElBQUksRUFBRSxZQUFZO0tBQ25CLENBQUM7O0dBQ1csc0JBQXNCLENBdVJsQztTQXZSWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSwgV2lkZ2V0LCBEYXRhIH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2MtZ2F1Z2UtcHJvZ3Jlc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZ2F1Z2UtcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nYXVnZS1wcm9ncmVzcy5jb21wb25lbnQubGVzcyddLFxufSlcbkBXaWRnZXQoJ+i/m+W6puadoeS7quihqOebmCcsIHtcbiAgZ3JvdXA6ICdvdGhlckNoYXJ0JyxcbiAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9nYXVnZS1wcm9ncmVzcy5wbmcnLFxuICBpY29uOiAnaWNvbnR1YmlhbycsXG59KVxuZXhwb3J0IGNsYXNzIEdhdWdlUHJvZ3Jlc3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBQcm9wZXJ0eSgn5pWw5YC85a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUZvbnQnIH0gfSlcbiAgbnVtZm9udDogYW55ID0ge1xuICAgIGZhbWlseTogJ01pY3Jvc29mdCBZYUhlaScsXG4gICAgY29sb3I6ICcjZmZmZmZmJyxcbiAgICB3ZWlnaHQ6ICdub3JtYWwnLFxuICAgIHNpemU6IDIxLFxuICAgIHNwYWNlOiAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyMCcsXG4gIH07XG5cbiAgQFByb3BlcnR5KCflj6/op4bkuKrmlbAnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gIHNsaWRlc1BlclZpZXcgPSAxO1xuXG4gIEBQcm9wZXJ0eSgn6Ze06LedJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICBzcGFjZUJldHdlZW4gPSAwO1xuXG4gIEBQcm9wZXJ0eSgn5bem5Y+z5oyJ6ZKuJywge1xuICAgIHVpOiB7IHdpZGdldDogJ2Jvb2xlYW4nLCBjaGVja2VkQ2hpbGRyZW46ICflvIAnLCB1bkNoZWNrZWRDaGlsZHJlbjogJ+WFsycgfSxcbiAgfSlcbiAgbmF2aWdhdGlvbiA9IHRydWU7XG5cbiAgQFByb3BlcnR5KCfmjInpkq7lgY/np7snLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gIG5hdmlnYXRpb25Nb3ZlVmFsID0gLTYwO1xuXG4gIEBQcm9wZXJ0eSgn5bem5Zu+5qCHJywge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdteVVwbG9hZCcsXG4gICAgfSxcbiAgfSlcbiAgbmF2aWdhdGlvbkxlZnRJY29uID0gbnVsbDtcblxuICBAUHJvcGVydHkoJ+WPs+WbvuaghycsIHtcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB1aToge1xuICAgICAgd2lkZ2V0OiAnbXlVcGxvYWQnLFxuICAgIH0sXG4gIH0pXG4gIG5hdmlnYXRpb25SaWdodEljb24gPSBudWxsO1xuXG4gIEBQcm9wZXJ0eSgn5pi+56S65qih5byPJywge1xuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcbiAgICBlbnVtOiBbeyBsYWJlbDogJ+Wbvuagh+WNoeeJhycsIHZhbHVlOiAnY2FyZCcgfV0sXG4gIH0pXG4gIHNob3dUeXBlID0gJ2NhcmQnO1xuXG4gIEBQcm9wZXJ0eSgn5Y2h54mH6IOM5pmvJywge1xuICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgIHVpOiB7XG4gICAgICB3aWRnZXQ6ICdteVVwbG9hZCcsXG4gICAgfSxcbiAgfSlcbiAgY2FyZEJnSW1nID0gbnVsbDtcbiAgbmF2aWdhdGlvbkJ0bkNvbmZpZyA9IHtcbiAgICBwcmV2RWw6ICcuc3dpcGVyLW5hdmlnYXRpb24tcHJldicsXG4gICAgbmV4dEVsOiAnLnN3aXBlci1uYXZpZ2F0aW9uLW5leHQnLFxuICB9O1xuICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgQFByb3BlcnR5KCfooajnm5jpopzoibInLCB7XG4gICAgdWk6IHtcbiAgICAgIHdpZGdldDogJ3Nlcmllc0NvbG9yJyxcbiAgICAgIHR5cGU6ICdncmFkdWFsJyxcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXG4gICAgfSxcbiAgfSlcbiAgc2VyaWVzQ29sb3I6IGFueSA9IHsgZ3JhZGllbnQ6IGZhbHNlLCB2YWx1ZTogW1snIzZENzU5NycsICcjNkQ3NTk3J11dIH07XG5cbiAgQFByb3BlcnR5KCfooajnm5jlrr3luqYnLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogMCwgbWF4OiAxMDAsIHN0ZXA6IDEgfSxcbiAgfSlcbiAgd2lkdGggPSAxMDtcbiAgQFByb3BlcnR5KCfotbflp4vop5LluqYnLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogOTAsIG1heDogMzYwLCBzdGVwOiAxIH0sXG4gIH0pXG4gIHN0YXJ0QW5nbGUgPSAyMTA7XG4gIEBQcm9wZXJ0eSgn57uT5p2f6KeS5bqmJywge1xuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IC05MCwgbWF4OiA5MCwgc3RlcDogMSB9LFxuICB9KVxuICBlbmRBbmdsZSA9IC0zMDtcblxuICBAUHJvcGVydHkoJ+aYvuekuuagh+mimCcsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdib29sZWFuJywgY2hlY2tlZENoaWxkcmVuOiAn5byAJywgdW5DaGVja2VkQ2hpbGRyZW46ICflhbMnIH0sXG4gIH0pXG4gIGxhYmVsID0gdHJ1ZTtcblxuICBAUHJvcGVydHkoJ+agh+mimOWtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlGb250JyB9IH0pXG4gIGZvbnQ6IGFueSA9IHtcbiAgICBmYW1pbHk6ICcnLFxuICAgIGNvbG9yOiAnI0ZGRkZGRicsXG4gICAgd2VpZ2h0OiAnbm9ybWFsJyxcbiAgICBzaXplOiAxOCxcbiAgICBzcGFjZTogMCxcbiAgICBsaW5lSGVpZ2h0OiAxOCxcbiAgfTtcbiAgQFByb3BlcnR5KCfmoIfpopjkvY3np7snLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnbnVtYmVyJyB9LFxuICB9KVxuICBsYWJlbE9mZnNldCA9IDUwO1xuICBAUHJvcGVydHkoJ+agh+mimOWuveW6picsIHtcbiAgICB1aTogeyB3aWRnZXQ6ICdudW1iZXInIH0sXG4gIH0pXG4gIGxhYmVsV2lkdGggPSBudWxsO1xuXG4gIEBQcm9wZXJ0eSgn5pi+56S65pWw5YC8Jywge1xuICAgIHVpOiB7IHdpZGdldDogJ2Jvb2xlYW4nLCBjaGVja2VkQ2hpbGRyZW46ICflvIAnLCB1bkNoZWNrZWRDaGlsZHJlbjogJ+WFsycgfSxcbiAgfSlcbiAgbGFiZWxWYWwgPSB0cnVlO1xuXG4gIEBQcm9wZXJ0eSgn5pWw5YC85a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUZvbnQnIH0gfSlcbiAgbnVtRm9udDogYW55ID0ge1xuICAgIGZhbWlseTogJycsXG4gICAgY29sb3I6ICcjRkZGRkZGJyxcbiAgICB3ZWlnaHQ6ICdub3JtYWwnLFxuICAgIHNpemU6IDM4LFxuICAgIHNwYWNlOiAwLFxuICAgIGxpbmVIZWlnaHQ6IDM4LFxuICB9O1xuXG4gIEBQcm9wZXJ0eSgn55m+5YiG5Y+3Jywge1xuICAgIHVpOiB7IHdpZGdldDogJ2Jvb2xlYW4nLCBjaGVja2VkQ2hpbGRyZW46ICflvIAnLCB1bkNoZWNrZWRDaGlsZHJlbjogJ+WFsycgfSxcbiAgfSlcbiAgcGVyY2VudCA9IGZhbHNlO1xuXG4gIEBQcm9wZXJ0eSgn5pWw5YC85L2N56e7Jywge1xuICAgIHVpOiB7IHdpZGdldDogJ251bWJlcicgfSxcbiAgfSlcbiAgbGFiZWxWYWxPZmZzZXQgPSAtMTA7XG5cbiAgQFByb3BlcnR5KCfmnIDlpKflgLwnLCB7XG4gICAgdWk6IHsgd2lkZ2V0OiAnbnVtYmVyJyB9LFxuICB9KVxuICBtYXggPSAxMDA7XG4gIEBQcm9wZXJ0eSgn5pyA5bCP5YC8Jywge1xuICAgIHVpOiB7IHdpZGdldDogJ251bWJlcicgfSxcbiAgfSlcbiAgbWluID0gMDtcblxuICBAUHJvcGVydHkoJ+i/m+W6puminOiJsicsIHtcbiAgICB1aToge1xuICAgICAgd2lkZ2V0OiAnc2VyaWVzQ29sb3InLFxuICAgICAgdHlwZTogJ2dyYWR1YWwnLFxuICAgIH0sXG4gIH0pXG4gIHByb2dyZXNzQ29sb3IgPSB7IGdyYWRpZW50OiB0cnVlLCB2YWx1ZTogW1snIzI1MDVGMCcsICcjZjAwJ11dIH07XG5cbiAgQFByb3BlcnR5KCfov5vluqbpmLTlvbEnLCB7XG4gICAgdWk6IHtcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxuICAgICAgZXhhbXBsZTogWycjZmZmZmZmJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgbnVsbF0sXG4gICAgfSxcbiAgfSlcbiAgcHJvZ3Jlc3NTaGFkb3cgPSBudWxsO1xuXG4gIGltYWdlOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKCkge31cbiAgY2hhcnRPcHRpb246IGFueSA9IHt9O1xuICBARGF0YSh7XG4gICAgcHJvcGVydGllczoge1xuICAgICAgbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfmloflrZcnIH0sXG4gICAgICB2YWx1ZTogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICflgLwnIH0sXG4gICAgfSxcbiAgfSlcbiAgX2RhdGEgPSBbeyBuYW1lOiAn5qCH6aKYJywgdmFsdWU6IDUwIH1dO1xuXG4gIGRhdGEgPSBbXTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuX2RhdGEpIHtcbiAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgaWYgKHRoaXMuX2RhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RhdGEubGVuZ3RoIDw9IHRoaXMuc2xpZGVzUGVyVmlldykge1xuICAgICAgICAgIHRoaXMubmF2aWdhdGlvbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2RhdGEuZm9yRWFjaCgoZTogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IHNvdXJjZURhdGEgPSBbXTtcbiAgICAgICAgICBzb3VyY2VEYXRhLnB1c2goZSk7XG4gICAgICAgICAgbGV0IGNoYXJ0T3B0aW9uID0ge1xuICAgICAgICAgICAgc2VyaWVzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAvLyBuYW1lOiB0aGlzLnRpdGxlLFxuICAgICAgICAgICAgICAgIHR5cGU6ICdnYXVnZScsXG4gICAgICAgICAgICAgICAgc3RhcnRBbmdsZTogdGhpcy5zdGFydEFuZ2xlLFxuICAgICAgICAgICAgICAgIGVuZEFuZ2xlOiB0aGlzLmVuZEFuZ2xlLFxuICAgICAgICAgICAgICAgIHByb2dyZXNzOiB7XG4gICAgICAgICAgICAgICAgICBzaG93OiBlLnZhbHVlICYmIE51bWJlcihlLnZhbHVlKSA+IDAgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBvdmVybGFwOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIHJvdW5kQ2FwOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgY2xpcDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICBpdGVtU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLmdldENvbG9yKHRoaXMucHJvZ3Jlc3NDb2xvciwgJ3Byb2dyZXNzJyksXG4gICAgICAgICAgICAgICAgICAgIHNoYWRvd0NvbG9yOiB0aGlzLnByb2dyZXNzU2hhZG93LFxuICAgICAgICAgICAgICAgICAgICBzaGFkb3dCbHVyOiA1LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgICAgICAgc2hvdzogdGhpcy5sYWJlbFZhbCxcbiAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcjogdGhpcy5wZXJjZW50ID8gJycgKyAoKGUudmFsdWUgLyB0aGlzLm1heCkgKiAxMDApLnRvRml4ZWQoMikgKyAnJScgOiAne3ZhbHVlfScsXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5udW1Gb250LmNvbG9yLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogdGhpcy5udW1Gb250LmZhbWlseSxcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IHRoaXMubnVtRm9udC53ZWlnaHQsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogdGhpcy5udW1Gb250LnNpemUsXG4gICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiB0aGlzLm51bUZvbnQubGluZUhlaWdodCxcbiAgICAgICAgICAgICAgICAgIG9mZnNldENlbnRlcjogWzAsIGAke3RoaXMubGFiZWxWYWxPZmZzZXR9JWBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZGF0YTogc291cmNlRGF0YSxcbiAgICAgICAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgICAgICAgc2hvdzogdGhpcy5sYWJlbCxcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLmZvbnQuY29sb3IsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiB0aGlzLmZvbnQuZmFtaWx5LFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogdGhpcy5mb250LndlaWdodCxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiB0aGlzLmZvbnQuc2l6ZSxcbiAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IHRoaXMuZm9udC5saW5lSGVpZ2h0LFxuICAgICAgICAgICAgICAgICAgb2Zmc2V0Q2VudGVyOiBbMCwgYCR7dGhpcy5sYWJlbE9mZnNldH0lYF0sXG4gICAgICAgICAgICAgICAgICBvdmVyZmxvdzogJ2JyZWFrQWxsJyxcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLmxhYmVsV2lkdGgsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBheGlzTGluZToge1xuICAgICAgICAgICAgICAgICAgcm91bmRDYXA6IHRydWUsXG4gICAgICAgICAgICAgICAgICBsaW5lU3R5bGU6IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLmdldENvbG9yKHRoaXMuc2VyaWVzQ29sb3IpLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1heDogdGhpcy5tYXgsXG4gICAgICAgICAgICAgICAgbWluOiB0aGlzLm1pbixcbiAgICAgICAgICAgICAgICBheGlzTGFiZWw6IHtcbiAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc3BsaXRMaW5lOiB7XG4gICAgICAgICAgICAgICAgICBzaG93OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGF4aXNUaWNrOiB7XG4gICAgICAgICAgICAgICAgICBzaG93OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHBvaW50ZXI6IHtcbiAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5kYXRhLnB1c2goY2hhcnRPcHRpb24pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gY29uc29sZS5sb2codGhpcy5fZGF0YVswXS52YWx1ZSx0aGlzLl9kYXRhWzBdLnZhbHVlICYmIE51bWJlcih0aGlzLl9kYXRhWzBdLnZhbHVlKSAhPT0gMCA/IHRydWUgOiBmYWxzZSlcblxuICAgICAgLy8gY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkodGhpcy5jaGFydE9wdGlvbikpO1xuICAgIH1cbiAgfVxuICBuZ09uSW5pdCgpIHt9XG4gIGdldENvbG9yKGNvbG9yQm94LCB0eXBlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgY29sb3IgPSBbXTtcbiAgICBjb25zdCBjb2xvcjEgPSBbXTtcbiAgICBjb25zdCBjb2xvckluZm8gPSBjb2xvckJveCAmJiBjb2xvckJveC52YWx1ZSA/IGNvbG9yQm94LnZhbHVlIDogY29sb3JCb3g7XG4gICAgY29sb3JJbmZvLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGNvbG9yLnB1c2goe1xuICAgICAgICB0eXBlOiAnbGluZWFyJyxcbiAgICAgICAgeDogMCxcbiAgICAgICAgeTogMCxcbiAgICAgICAgeDI6IDEsXG4gICAgICAgIHkyOiAwLFxuICAgICAgICBnbG9iYWw6IGZhbHNlLFxuICAgICAgICBjb2xvclN0b3BzOiBbXG4gICAgICAgICAgeyBvZmZzZXQ6IDAsIGNvbG9yOiBpdGVtWzBdIH0sXG4gICAgICAgICAgeyBvZmZzZXQ6IDEsIGNvbG9yOiBpdGVtWzFdIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBsZXQgY291bnQgPSAxO1xuICAgIGlmIChjb2xvckluZm8ubGVuZ3RoID4gMSkge1xuICAgICAgY291bnQgPSAxIC8gY29sb3JJbmZvLmxlbmd0aDtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sb3JJbmZvLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbG9yMS5wdXNoKFtjb3VudCAqIChpICsgMSksIGNvbG9yW2ldXSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0eXBlID09PSAncHJvZ3Jlc3MnID8gY29sb3JbMF0gOiBjb3VudCA8IDEgPyBjb2xvcjEgOiBbWzEsIGNvbG9yWzBdXV07XG4gIH1cbn1cbiJdfQ==
@@ -221,6 +221,7 @@ let PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = class PlanimetricM
221
221
  this._children = [];
222
222
  this.loadedMap = {};
223
223
  this.stack = [];
224
+ this.renderer = 'svg';
224
225
  }
225
226
  ngOnChanges(changes) {
226
227
  if (changes.data) {
@@ -255,6 +256,7 @@ let PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = class PlanimetricM
255
256
  // this.loadMap(this.mapStyle).then((data) => {
256
257
  let series = [];
257
258
  this.visualMap = [];
259
+ this.renderer = 'svg';
258
260
  this._children.forEach((child) => {
259
261
  if (child.type === 'visual') {
260
262
  // series = child.series;
@@ -277,6 +279,8 @@ let PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = class PlanimetricM
277
279
  series.forEach((layer, index) => {
278
280
  if (layer.type === 'lines') {
279
281
  delete layer.coordinateSystem;
282
+ // 飞线层不支持svg渲染
283
+ this.renderer = 'canvas';
280
284
  }
281
285
  if (layer.type === 'scatter') {
282
286
  layer.coordinateSystem = 'geo';
@@ -510,7 +514,7 @@ let PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = class PlanimetricM
510
514
  PlanimetricMap2dComponent.decorators = [
511
515
  { type: Component, args: [{
512
516
  selector: 'sc-planimetric-map2d',
513
- template: "<ng-template *ngFor=\"let child of children\" widget-host [widget]=\"child\"></ng-template>\n<div echarts *ngIf=\"hasMap\" [options]=\"chartOption\" class=\"demo-chart\" (chartClick)='markClick($event)' (contextmenu)='rollback($event)'></div> \n<!-- -->",
517
+ template: "<ng-template *ngFor=\"let child of children\" widget-host [widget]=\"child\"></ng-template>\n<div\n echarts\n *ngIf=\"hasMap\"\n [options]=\"chartOption\"\n class=\"demo-chart\"\n (chartClick)=\"markClick($event)\"\n (contextmenu)=\"rollback($event)\"\n [initOpts]=\"{ renderer: renderer}\"\n></div>\n<!-- -->\n",
514
518
  providers: [{ provide: ParentContainerComponent, useExisting: forwardRef(() => PlanimetricMap2dComponent_1) }],
515
519
  styles: [".demo-chart,:host{height:100%}:host{display:block;width:100%}"]
516
520
  },] }
@@ -709,4 +713,4 @@ PlanimetricMap2dComponent = PlanimetricMap2dComponent_1 = __decorate([
709
713
  __metadata("design:paramtypes", [HttpClient])
710
714
  ], PlanimetricMap2dComponent);
711
715
  export { PlanimetricMap2dComponent };
712
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL3BsYW5pbWV0cmljLW1hcDJkL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFNBQVMsRUFLVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0lBOEJyRCx5QkFBeUIsdUNBQXpCLHlCQUEwQixTQUFRLHdCQUF3QjtJQW9VckUsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEWSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBN1R0QyxhQUFRLEdBQUcsT0FBTyxDQUFDO1FBSW5CLFNBQUksR0FBRyxDQUFDLENBQUM7UUFPVCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBT3RCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBT3hCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFFdkIsaUJBQVksR0FBUTtZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxF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Q2pDLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxJQUFJO2dCQUNaLFNBQVMsRUFBRSxJQUFJO2FBQ2hCO1NBQ0Y7UUFDRCxVQUFVLEVBQUU7WUFDVixtQkFBbUI7WUFDbkIsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6QixxQkFBcUI7WUFDckIsdUJBQXVCO1NBQ3hCO1FBQ0QsV0FBVyxFQUFFLGNBQWM7S0FDNUIsQ0FBQztxQ0FxVTRCLFVBQVU7R0FwVTNCLHlCQUF5QixDQTBsQnJDO1NBMWxCWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBXaWRnZXQsIFByb3BlcnR5LCBEYXRhLCBEYXRhT3V0cHV0LCBFdmVudCB9IGZyb20gJ2Jiai13aWRnZXQtYmFzZSc7XHJcbmltcG9ydCB7IFBhcmVudENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL3BhcmVudC1jb250YWluZXIvcGFyZW50LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJ2VjaGFydHMnO1xyXG5pbXBvcnQgeyBOZ3hFY2hhcnRzRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWVjaGFydHMnO1xyXG5pbXBvcnQgeyBnZXRFY2hhcnRzVGV4dFN0eWxlIH0gZnJvbSAnLi4vc2hhcmVkL3V0aWwvZWNoYXJ0cy51dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtcGxhbmltZXRyaWMtbWFwMmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wbGFuaW1ldHJpYy1tYXAyZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50Lmxlc3MnXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFBhcmVudENvbnRhaW5lckNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGxhbmltZXRyaWNNYXAyZENvbXBvbmVudCkgfV0sXHJcbn0pXHJcbkBXaWRnZXQoJzJE5bmz6Z2i5Zyw5Zu+Jywge1xyXG4gIGdyb3VwOiAnY29tcG9uZW50JyxcclxuICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuLzJkbWFwLnBuZycsXHJcbiAgaWNvbjogJ2ljb25tb2t1YWknLFxyXG4gIGNoaWxkcmVuOiBbXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAn5ZG85ZC45rCU5rOh5bGCJyxcclxuICAgICAgdHlwZTogJ3NjLWJyZWF0aGluZy1idWJibGUtbGF5ZXInLFxyXG4gICAgICBvcHRpb246IHt9LFxyXG4gICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgIGhpZGVDaGlsZDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBjaGlsZFR5cGVzOiBbXHJcbiAgICAnc2MtZmx5LWxpbmUtbGF5ZXInLFxyXG4gICAgJ3NjLWJyZWF0aGluZy1idWJibGUtbGF5ZXInLFxyXG4gICAgJ3NjLW1hcDJkLXBvbHlsaW5lLWxheWVyJyxcclxuICAgICdzYy1tYXAyZC1tYXJrLWxheWVyJyxcclxuICAgICdzYy1tYXAyZC12aXN1YWwtbGF5ZXInLFxyXG4gIF0sXHJcbiAgZGVzY3JpcHRpb246ICdoYXNDaGlsZEl0ZW0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGxhbmltZXRyaWNNYXAyZENvbXBvbmVudCBleHRlbmRzIFBhcmVudENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5qC35byPJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlVcmxTZWxlY3QnLFxyXG4gICAgICB1cmw6ICcvYXNzZXRzL21hcExpc3RJdGVtLmpzb24nLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIG1hcFN0eWxlID0gJ2NoaW5hJztcclxuICBAUHJvcGVydHkoJ+WcsOWbvue8qeaUvicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IDEsIG1heDogNDAsIHN0ZXA6IDEgfSxcclxuICB9KVxyXG4gIHpvb20gPSAxO1xyXG4gIEBQcm9wZXJ0eSgn5Yy65Z+f6IOM5pmvJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgYXJlYUNvbG9yID0gJyMzMjNjNDgnO1xyXG4gIEBQcm9wZXJ0eSgn5Yy65Z+f5o+P6L65Jywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgYm9yZGVyQ29sb3IgPSAnIzQwNGE1OSc7XHJcbiAgQFByb3BlcnR5KCfnp7vliqjpq5jkuq4nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBfYXJlYUNvbG9yID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Yy65a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUZvbnQnIH0gfSlcclxuICBhcmVhTmFtZWZvbnQ6IGFueSA9IHtcclxuICAgIGZhbWlseTogJycsXHJcbiAgICBjb2xvcjogJyNGRkZGRkYnLFxyXG4gICAgd2VpZ2h0OiAnbm9ybWFsJyxcclxuICAgIHNpemU6IDEyLFxyXG4gICAgc3BhY2U6IDAsXHJcbiAgICBsaW5lSGVpZ2h0OiAxMixcclxuICB9O1xyXG4gIEBQcm9wZXJ0eSgn5pi+56S65Zyw5ZCNJywge1xyXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxyXG4gIH0pXHJcbiAgc2hvd0FyZWFOYW1lID0gdHJ1ZTtcclxuICBAUHJvcGVydHkoJ+inpuWPkeaWueW8jycsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcclxuICAgIGVudW06IFtcclxuICAgICAgeyBsYWJlbDogJ+eCueWHuycsIHZhbHVlOiAnY2xpY2snIH0sXHJcbiAgICAgIHsgbGFiZWw6ICfpvKDmoIfnp7vliqgnLCB2YWx1ZTogJ21vdXNlbW92ZScgfSxcclxuICAgIF0sXHJcbiAgfSlcclxuICB0cmlnZ2VyVHlwZSA9ICdtb3VzZW1vdmUnO1xyXG4gIEBQcm9wZXJ0eSgn6YCJ5Lit5pa55byPJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnc2VsZWN0JyB9LFxyXG4gICAgZW51bTogW1xyXG4gICAgICB7IGxhYmVsOiAn6buY6K6kJywgdmFsdWU6ICcnIH0sXHJcbiAgICAgIHsgbGFiZWw6ICfljZXpgIknLCB2YWx1ZTogJ3NpbmdsZScgfSxcclxuICAgICAgeyBsYWJlbDogJ+WkmumAiScsIHZhbHVlOiAnbXVsdGlwbGUnIH0sXHJcbiAgICBdLFxyXG4gIH0pXHJcbiAgc2VsZWN0ZWRNb2RlID0gJyc7XHJcblxyXG4gIEBQcm9wZXJ0eSgn57yp5pS+5byA5YWzJywge1xyXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxyXG4gIH0pXHJcbiAgem9vbVN3aXRjaCA9ICdmYWxzZSc7XHJcbiAgQFByb3BlcnR5KCfpq5jkuq7mj4/ovrknLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBfYm9yZGVyQ29sb3IgPSAnJztcclxuICBAUHJvcGVydHkoJ+mYtOW9seminOiJsicsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIHNoYWRvd0NvbG9yID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn6L655qGG57KX57uGJywge1xyXG4gICAgdHlwZTogJ251bWJlcicsXHJcbiAgfSlcclxuICBzaGFkb3dXaWR0aCA9IDIwO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5riQ5Y+Y5byA5aeLJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgbWFwQ29sb3JTdGFydCA9ICcjMmEzMzNkJztcclxuICBAUHJvcGVydHkoJ+WcsOWbvua4kOWPmOe7k+adnycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIG1hcENvbG9yRW5kID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn6YCJ5Lit5riQ5Y+Y5byA5aeLJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgc2VsZWN0Q29sb3JTdGFydCA9ICcjMmEzMzNkJztcclxuICBAUHJvcGVydHkoJ+mAieS4rea4kOWPmOe7k+adnycsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIHNlbGVjdENvbG9yRW5kID0gJyMyYTMzM2QnO1xyXG5cclxuICBjaGFydE9wdGlvbjogYW55O1xyXG4gIGhhc01hcCA9IGZhbHNlO1xyXG4gIEBEYXRhKHtcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgbmFtZTogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICflnLDlkI0nIH0sXHJcbiAgICAgIGxuZzogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICfnu4/luqYnIH0sXHJcbiAgICAgIGxhdDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfnuqzluqYnIH0sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgZGF0YTogYW55W10gPSBbXTtcclxuICBARGF0YU91dHB1dChbJ25hbWUnLCAnbG5nJywgJ2xhdCddKVxyXG4gIEBFdmVudCgn6YCJ5LitJywge1xyXG4gICAgcGFyYW1zOiB7XHJcbiAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICBuYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+WAvCcgfSxcclxuICAgICAgICBsbmc6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57uP5bqmJyB9LFxyXG4gICAgICAgIGxhdDogeyB0eXBlOiAnc3RyaW5nJywgdGl0bGU6ICfnuqzluqYnIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgYXJlYUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBuYW1lTWFwOiBhbnkgPSB7XHJcbiAgICBBZmdoYW5pc3RhbjogJ+mYv+WvjOaxlycsXHJcbiAgICBBbGJhbmlhOiAn6Zi/5bCU5be05bC85LqaJyxcclxuICAgIEFsZ2VyaWE6ICfpmL/lsJTlj4rliKnkuponLFxyXG4gICAgQW5nb2xhOiAn5a6J5ZOl5ouJJyxcclxuICAgIEFyZ2VudGluYTogJ+mYv+agueW7tycsXHJcbiAgICBBcm1lbmlhOiAn5Lqa576O5bC85LqaJyxcclxuICAgIEF1c3RyYWxpYTogJ+a+s+Wkp+WIqeS6micsXHJcbiAgICBBdXN0cmlhOiAn5aWl5Zyw5YipJyxcclxuICAgIEF6ZXJiYWlqYW46ICfpmL/loZ7mi5znloYnLFxyXG4gICAgQmFuZ2xhZGVzaDogJ+Wtn+WKoOaLieWbvScsXHJcbiAgICBCZWxhcnVzOiAn55m95L+E572X5pavJyxcclxuICAgIEJlbGdpdW06ICfmr5TliKnml7YnLFxyXG4gICAgQmVsaXplOiAn5Lyv5Yip5YW5JyxcclxuICAgIEJlbmluOiAn6LSd5a6BJyxcclxuICAgIEJlcm11ZGE6ICfnmb7mhZXlpKcnLFxyXG4gICAgQmh1dGFuOiAn5LiN5Li5JyxcclxuICAgIEJvbGl2aWE6ICfnjrvliKnnu7TkuponLFxyXG4gICAgJ0Jvc25pYSBhbmQgSGVyemVnb3ZpbmEnOiAn5rOi5pav5bC85Lqa5ZKM6buR5aGe5ZOl57u06YKjJyxcclxuICAgIEJvdHN3YW5hOiAn5Y2a6Iyo55Om57qzJyxcclxuICAgIEJyYXppbDogJ+W3tOilvycsXHJcbiAgICBCcnVuZWk6ICfmlofojrEnLFxyXG4gICAgQnVsZ2FyaWE6ICfkv53liqDliKnkuponLFxyXG4gICAgJ0J1cmtpbmEgRmFzbyc6ICfluIPln7rnurPms5XntKInLFxyXG4gICAgQnVydW5kaTogJ+W4g+mahui/qicsXHJcbiAgICBDYW1ib2RpYTogJ+afrOWflOWvqCcsXHJcbiAgICBDYW1lcm9vbjogJ+WWgOm6pumahicsXHJcbiAgICBDYW5hZGE6ICfliqDmi7/lpKcnLFxyXG4gICAgJ0NlbnRyYWwgQWZyaWNhbiBSZXB1YmxpYyc6ICfkuK3pnZ7lhbHlkozlm70nLFxyXG4gICAgQ2hhZDogJ+S5jeW+lycsXHJcbiAgICBDaGlsZTogJ+aZuuWIqScsXHJcbiAgICBDaGluYTogJ+S4reWbvScsXHJcbiAgICBDb2xvbWJpYTogJ+WTpeS8puavlOS6micsXHJcbiAgICAnQ29zdGEgUmljYSc6ICflk6Xmlq/ovr7pu47liqAnLFxyXG4gICAgQ3JvYXRpYTogJ+WFi+e9l+WcsOS6micsXHJcbiAgICBDdWJhOiAn5Y+k5be0JyxcclxuICAgIEN5cHJ1czogJ+Whnua1pui3r+aWrycsXHJcbiAgICAnQ3plY2ggUmVwdWJsaWMnOiAn5o235YWL5YWx5ZKM5Zu9JyxcclxuICAgICdEZW1vY3JhdGljIFJlcHVibGljIG9mIHRoZSBDb25nbyc6ICfliJrmnpzmsJHkuLvlhbHlkozlm70nLFxyXG4gICAgRGVubWFyazogJ+S4uem6picsXHJcbiAgICBEamlib3V0aTogJ+WQieW4g+aPkCcsXHJcbiAgICAnRG9taW5pY2FuIFJlcHVibGljJzogJ+WkmuaYjuWwvOWKoOWFseWSjOWbvScsXHJcbiAgICAnRWFzdCBUaW1vcic6ICfkuJzluJ3msbYnLFxyXG4gICAgRWN1YWRvcjogJ+WOhOeTnOWkmuWwlCcsXHJcbiAgICBFZ3lwdDogJ+Wfg+WPiicsXHJcbiAgICAnRWwgU2FsdmFkb3InOiAn6JCo5bCU55Om5aSaJyxcclxuICAgICdFcXVhdG9yaWFsIEd1aW5lYSc6ICfotaTpgZPlh6DlhoXkuponLFxyXG4gICAgRXJpdHJlYTogJ+WOhOeri+eJuemHjOS6micsXHJcbiAgICBFc3RvbmlhOiAn54ix5rKZ5bC85LqaJyxcclxuICAgIEV0aGlvcGlhOiAn5Z+D5aGe5L+E5q+U5LqaJyxcclxuICAgICdGYWxrbGFuZCBJc2xhbmRzJzogJ+emj+WFi+WFsOe+pOWymycsXHJcbiAgICBGaWppOiAn5paQJyxcclxuICAgIEZpbmxhbmQ6ICfoiqzlhbAnLFxyXG4gICAgRnJhbmNlOiAn5rOV5Zu9JyxcclxuICAgICdGcmVuY2ggR3VpYW5hJzogJ+azleWxnuWcreS6mumCoycsXHJcbiAgICAnRnJlbmNoIFNvdXRoZXJuIGFuZCBBbnRhcmN0aWMgTGFuZHMnOiAn5rOV5bGe5Y2X5Y2K55CD5ZKM5Y2X5p6B6aKG5ZywJyxcclxuICAgIEdhYm9uOiAn5Yqg6JOsJyxcclxuICAgIEdhbWJpYTogJ+WGiOavlOS6micsXHJcbiAgICBHZW9yZ2lhOiAn5qC86bKB5ZCJ5LqaJyxcclxuICAgIEdlcm1hbnk6ICflvrflm70nLFxyXG4gICAgR2hhbmE6ICfliqDnurMnLFxyXG4gICAgR3JlZWNlOiAn5biM6IWKJyxcclxuICAgIEdyZWVubGFuZDogJ+agvOmZteWFsCcsXHJcbiAgICBHdWF0ZW1hbGE6ICfljbHlnLDpqazmi4knLFxyXG4gICAgR3VpbmVhOiAn5Yeg5YaF5LqaJyxcclxuICAgICdHdWluZWEgQmlzc2F1JzogJ+WHoOWGheS6muavlOe7jScsXHJcbiAgICBHdXlhbmE6ICflnK3kuprpgqMnLFxyXG4gICAgSGFpdGk6ICfmtbflnLAnLFxyXG4gICAgSG9uZHVyYXM6ICfmtKrpg73mi4nmlq8nLFxyXG4gICAgSHVuZ2FyeTogJ+WMiOeJmeWIqScsXHJcbiAgICBJY2VsYW5kOiAn5Yaw5bKbJyxcclxuICAgIEluZGlhOiAn5Y2w5bqmJyxcclxuICAgIEluZG9uZXNpYTogJ+WNsOWwvCcsXHJcbiAgICBJcmFuOiAn5LyK5pyXJyxcclxuICAgIElyYXE6ICfkvIrmi4nlhYsnLFxyXG4gICAgSXJlbGFuZDogJ+eIseWwlOWFsCcsXHJcbiAgICBJc3JhZWw6ICfku6XoibLliJcnLFxyXG4gICAgSXRhbHk6ICfmhI/lpKfliKknLFxyXG4gICAgJ0l2b3J5IENvYXN0JzogJ+ixoeeJmea1t+WyuCcsXHJcbiAgICBKYW1haWNhOiAn54mZ5Lmw5YqgJyxcclxuICAgIEphcGFuOiAn5pel5pysJyxcclxuICAgIEpvcmRhbjogJ+e6puaXpicsXHJcbiAgICBLYXpha2hzdGFuOiAn5ZOI6JCo5YWL5pav5Z2mJyxcclxuICAgIEtlbnlhOiAn6IKv5bC85LqaJyxcclxuICAgIEtvc292bzogJ+enkee0ouaygycsXHJcbiAgICBLdXdhaXQ6ICfnp5HlqIHnibknLFxyXG4gICAgS3lyZ3l6c3RhbjogJ+WQieWwlOWQieaWr+aWr+WdpicsXHJcbiAgICBMYW9zOiAn6ICB5oydJyxcclxuICAgIExhdHZpYTogJ+aLieiEsee7tOS6micsXHJcbiAgICBMZWJhbm9uOiAn6buO5be05aupJyxcclxuICAgIExlc290aG86ICfojrHntKLmiZgnLFxyXG4gICAgTGliZXJpYTogJ+WIqeavlOmHjOS6micsXHJcbiAgICBMaWJ5YTogJ+WIqeavlOS6micsXHJcbiAgICBMaXRodWFuaWE6ICfnq4vpmbblrpsnLFxyXG4gICAgTHV4ZW1ib3VyZzogJ+WNouajruWgoScsXHJcbiAgICBNYWNlZG9uaWE6ICfpqazlhbbpob8nLFxyXG4gICAgTWFkYWdhc2NhcjogJ+mprOi+vuWKoOaWr+WKoCcsXHJcbiAgICBNYWxhd2k6ICfpqazmi4nnu7QnLFxyXG4gICAgTWFsYXlzaWE6ICfpqazmnaXopb/kuponLFxyXG4gICAgTWFsaTogJ+mprOmHjCcsXHJcbiAgICBNYXVyaXRhbmlhOiAn5q+b6YeM5aGU5bC85LqaJyxcclxuICAgIE1leGljbzogJ+WiqOilv+WTpScsXHJcbiAgICBNb2xkb3ZhOiAn5pGp5bCU5aSa55OmJyxcclxuICAgIE1vbmdvbGlhOiAn6JKZ5Y+kJyxcclxuICAgIE1vbnRlbmVncm86ICfpu5HlsbEnLFxyXG4gICAgTW9yb2NjbzogJ+aRqea0m+WTpScsXHJcbiAgICBNb3phbWJpcXVlOiAn6I6r5qGR5q+U5YWLJyxcclxuICAgIE15YW5tYXI6ICfnvIXnlLgnLFxyXG4gICAgTmFtaWJpYTogJ+e6s+exs+avlOS6micsXHJcbiAgICBOZXBhbDogJ+WwvOaziuWwlCcsXHJcbiAgICBOZXRoZXJsYW5kczogJ+iNt+WFsCcsXHJcbiAgICAnTmV3IENhbGVkb25pYSc6ICfmlrDlloDph4zlpJrlsLzkuponLFxyXG4gICAgJ05ldyBaZWFsYW5kJzogJ+aWsOilv+WFsCcsXHJcbiAgICBOaWNhcmFndWE6ICflsLzliqDmi4nnk5wnLFxyXG4gICAgTmlnZXI6ICflsLzml6XlsJQnLFxyXG4gICAgTmlnZXJpYTogJ+WwvOaXpeWIqeS6micsXHJcbiAgICAnTm9ydGggS29yZWEnOiAn5YyX5pyd6bKcJyxcclxuICAgICdOb3J0aGVybiBDeXBydXMnOiAn5YyX5aGe5rWm6Lev5pavJyxcclxuICAgIE5vcndheTogJ+aMquWogScsXHJcbiAgICBPbWFuOiAn6Zi/5pu8JyxcclxuICAgIFBha2lzdGFuOiAn5be05Z+65pav5Z2mJyxcclxuICAgIFBhbmFtYTogJ+W3tOaLv+mprCcsXHJcbiAgICAnUGFwdWEgTmV3IEd1aW5lYSc6ICflt7TluIPkuprmlrDlh6DlhoXkuponLFxyXG4gICAgUGFyYWd1YXk6ICflt7Tmi4nlnK0nLFxyXG4gICAgUGVydTogJ+enmOmygScsXHJcbiAgICBQaGlsaXBwaW5lczogJ+iPsuW+i+WuvicsXHJcbiAgICBQb2xhbmQ6ICfms6LlhbAnLFxyXG4gICAgUG9ydHVnYWw6ICfokaHokITniZknLFxyXG4gICAgJ1B1ZXJ0byBSaWNvJzogJ+azouWkmum7juWQhCcsXHJcbiAgICBRYXRhcjogJ+WNoeWhlOWwlCcsXHJcbiAgICAnUmVwdWJsaWMgb2YgU2VyYmlhJzogJ+WhnuWwlOe7tOS6micsXHJcbiAgICAnUmVwdWJsaWMgb2YgdGhlIENvbmdvJzogJ+WImuaenOWFseWSjOWbvScsXHJcbiAgICBSb21hbmlhOiAn572X6ams5bC85LqaJyxcclxuICAgIFJ1c3NpYTogJ+S/hOe9l+aWrycsXHJcbiAgICBSd2FuZGE6ICfljaLml7rovr4nLFxyXG4gICAgJ1NhdWRpIEFyYWJpYSc6ICfmspnnibnpmL/mi4nkvK8nLFxyXG4gICAgU2VuZWdhbDogJ+WhnuWGheWKoOWwlCcsXHJcbiAgICAnU2llcnJhIExlb25lJzogJ+WhnuaLieWIqeaYgicsXHJcbiAgICBTaW5nYXBvcmU6ICfmlrDliqDlnaEnLFxyXG4gICAgU2xvdmFraWE6ICfmlq/mtJvkvJDlhYsnLFxyXG4gICAgU2xvdmVuaWE6ICfmlq/mtJvmloflsLzkuponLFxyXG4gICAgJ1NvbG9tb24gSXNsYW5kcyc6ICfmiYDnvZfpl6jnvqTlspsnLFxyXG4gICAgU29tYWxpYTogJ+e0oumprOmHjCcsXHJcbiAgICBTb21hbGlsYW5kOiAn57Si6ams6YeM5YWwJyxcclxuICAgICdTb3V0aCBBZnJpY2EnOiAn5Y2X6Z2eJyxcclxuICAgICdTb3V0aCBLb3JlYSc6ICfpn6nlm70nLFxyXG4gICAgJ1NvdXRoIFN1ZGFuJzogJ+WNl+iLj+S4uScsXHJcbiAgICBTcGFpbjogJ+ilv+ePreeJmScsXHJcbiAgICAnU3JpIExhbmthJzogJ+aWr+mHjOWFsOWNoScsXHJcbiAgICBTdWRhbjogJ+iLj+S4uScsXHJcbiAgICBTdXJpbmFtZTogJ+iLj+mHjOWNlycsXHJcbiAgICBTd2F6aWxhbmQ6ICfmlq/lqIHlo6vlhbAnLFxyXG4gICAgU3dlZGVuOiAn55Ge5YW4JyxcclxuICAgIFN3aXR6ZXJsYW5kOiAn55Ge5aOrJyxcclxuICAgIFN5cmlhOiAn5Y+Z5Yip5LqaJyxcclxuICAgIFRhamlraXN0YW46ICfloZTlkInlhYvmlq/lnaYnLFxyXG4gICAgVGhhaWxhbmQ6ICfms7Dlm70nLFxyXG4gICAgJ1RoZSBCYWhhbWFzJzogJ+W3tOWTiOmprCcsXHJcbiAgICBUb2dvOiAn5aSa5ZOlJyxcclxuICAgICdUcmluaWRhZCBhbmQgVG9iYWdvJzogJ+eJuemHjOWwvOi+vuWSjOWkmuW3tOWTpScsXHJcbiAgICBUdW5pc2lhOiAn56qB5bC85pavJyxcclxuICAgIFR1cmtleTogJ+Wcn+iAs+WFticsXHJcbiAgICBUdXJrbWVuaXN0YW46ICflnJ/lupPmm7zmlq/lnaYnLFxyXG4gICAgVWdhbmRhOiAn5LmM5bmy6L6+JyxcclxuICAgIFVrcmFpbmU6ICfkuYzlhYvlhbAnLFxyXG4gICAgJ1VuaXRlZCBBcmFiIEVtaXJhdGVzJzogJ+mYv+iBlOmFiycsXHJcbiAgICAnVW5pdGVkIEtpbmdkb20nOiAn6Iux5Zu9JyxcclxuICAgICdVbml0ZWQgUmVwdWJsaWMgb2YgVGFuemFuaWEnOiAn5Z2m5qGR5bC85LqaJyxcclxuICAgICdVbml0ZWQgU3RhdGVzJzogJ+e+juWbvScsXHJcbiAgICBVcnVndWF5OiAn5LmM5ouJ5ZytJyxcclxuICAgIFV6YmVraXN0YW46ICfkuYzlhbnliKvlhYvmlq/lnaYnLFxyXG4gICAgVmFudWF0dTogJ+eTpuWKqumYv+WbvicsXHJcbiAgICBWZW5lenVlbGE6ICflp5TlhoXnkZ7mi4knLFxyXG4gICAgVmlldG5hbTogJ+i2iuWNlycsXHJcbiAgICAnV2VzdCBCYW5rJzogJ+ilv+WyuCcsXHJcbiAgICAnV2VzdGVybiBTYWhhcmEnOiAn6KW/5pKS5ZOI5ouJJyxcclxuICAgIFllbWVuOiAn5Lmf6ZeoJyxcclxuICAgIFphbWJpYTogJ+i1nuavlOS6micsXHJcbiAgICBaaW1iYWJ3ZTogJ+a0peW3tOW4g+mfpicsXHJcbiAgfTtcclxuICBfY2hpbGRyZW46IGFueSA9IFtdO1xyXG4gIGxvYWRlZE1hcDogeyBbbmFtZTogc3RyaW5nXTogUHJvbWlzZTxhbnk+IH0gPSB7fTtcclxuICBwcm92aW5jZXM6IGFueTtcclxuICBzdGFjayA9IFtdO1xyXG4gIHZpc3VhbE1hcDogYW55W107XHJcbiAgQFZpZXdDaGlsZChOZ3hFY2hhcnRzRGlyZWN0aXZlKVxyXG4gIG5neEVjaGFydHM6IE5neEVjaGFydHNEaXJlY3RpdmU7XHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcclxuICAgICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFbMF0pIHtcclxuICAgICAgICB0aGlzLm1hcFN0eWxlID0gdGhpcy5kYXRhWzBdLm5hbWU7XHJcbiAgICAgICAgdGhpcy5zdGFjay5wdXNoKHRoaXMubWFwU3R5bGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVsb2FkTWFwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgLy8gYXdhaXQgdGhpcy5jb21tb25TZXJ2aWNlLmdldE1hcCgpO1xyXG4gICAgLy8gYXdhaXQgaW1wb3J0KCdlY2hhcnRzL2Rpc3QvZXh0ZW5zaW9uL2JtYXAuanMnKTtcclxuICAgIHRoaXMucHJvdmluY2VzID0gKGF3YWl0IHRoaXMuaHR0cC5nZXQoJy9hc3NldHMvbWFwTGlzdEl0ZW0uanNvbicpLnRvUHJvbWlzZSgpKSBhcyBhbnk7XHJcbiAgICAvLyBjb25zdCBtYXAgPSBlY2hhcnRzLmdldE1hcCh0aGlzLm1hcFN0eWxlKTtcclxuICAgIC8vIGlmIChtYXAgPT0gbnVsbCkge1xyXG4gICAgLy8gICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vJyArIHRoaXMubWFwU3R5bGUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAgIC8vICAgZWNoYXJ0cy5yZWdpc3Rlck1hcCh0aGlzLm1hcFN0eWxlLCBkYXRhKTtcclxuICAgIC8vIH1cclxuICAgIC8vIHRoaXMuaGFzTWFwID0gdHJ1ZTtcclxuICAgIC8vIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubmd4RWNoYXJ0cykge1xyXG4gICAgICAodGhpcy5uZ3hFY2hhcnRzIGFzIGFueSkuaW5pdENoYXJ0ID0gKCkgPT4ge307XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNoYXJ0SW5pdCgpIHtcclxuICAgIC8vIHRoaXMubG9hZE1hcCh0aGlzLm1hcFN0eWxlKS50aGVuKChkYXRhKSA9PiB7XHJcbiAgICBsZXQgc2VyaWVzID0gW107XHJcbiAgICB0aGlzLnZpc3VhbE1hcCA9IFtdO1xyXG4gICAgdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcclxuICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICd2aXN1YWwnKSB7XHJcbiAgICAgICAgLy8gc2VyaWVzID0gY2hpbGQuc2VyaWVzO1xyXG4gICAgICAgIC8vIHNlcmllc1swXS5tYXBUeXBlID0gdGhpcy5tYXBTdHlsZTtcclxuICAgICAgICBpZiAoY2hpbGQudmlzdWFsTWFwICYmIGNoaWxkLml0ZW0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBpZiAoY2hpbGQudmlzdWFsTWFwMikge1xyXG4gICAgICAgICAgICB0aGlzLnZpc3VhbE1hcC5wdXNoKGNoaWxkLnZpc3VhbE1hcDIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy52aXN1YWxNYXAucHVzaChjaGlsZC52aXN1YWxNYXApO1xyXG4gICAgICAgICAgY2hpbGQudmlzdWFsTWFwLnNlcmllc0luZGV4ID0gc2VyaWVzLmxlbmd0aDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGQuaXRlbSkpIHtcclxuICAgICAgICBzZXJpZXMgPSBbLi4uc2VyaWVzLCAuLi5jaGlsZC5pdGVtXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZXJpZXMgPSBbLi4uc2VyaWVzLCBjaGlsZC5pdGVtXTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBzZXJpZXMuZm9yRWFjaCgobGF5ZXIsIGluZGV4KSA9PiB7XHJcbiAgICAgIGlmIChsYXllci50eXBlID09PSAnbGluZXMnKSB7XHJcbiAgICAgICAgZGVsZXRlIGxheWVyLmNvb3JkaW5hdGVTeXN0ZW07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGxheWVyLnR5cGUgPT09ICdzY2F0dGVyJykge1xyXG4gICAgICAgIGxheWVyLmNvb3JkaW5hdGVTeXN0ZW0gPSAnZ2VvJztcclxuICAgICAgICAvLyBsYXllci5zeW1ib2xTaXplID0gJzEwJztcclxuICAgICAgfVxyXG4gICAgICAvLyBpZiAobGF5ZXIudHlwZSA9PT0gJ21hcCcpIHtcclxuICAgICAgLy8gICB0aGlzLnZpc3VhbE1hcC5mb3JFYWNoKCh2aXN1YWxNYXApID0+IHtcclxuICAgICAgLy8gICAgIHZpc3VhbE1hcFsnc2VyaWVzSW5kZXgnXSA9IGluZGV4O1xyXG4gICAgICAvLyAgIH0pO1xyXG4gICAgICAvLyB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHRleHRTdHlsZSA9IGdldEVjaGFydHNUZXh0U3R5bGUodGhpcy5hcmVhTmFtZWZvbnQpO1xyXG4gICAgdGhpcy5jaGFydE9wdGlvbiA9IHtcclxuICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgIHRyaWdnZXI6ICdpdGVtJyxcclxuICAgICAgICB0cmlnZ2VyT246IHRoaXMudHJpZ2dlclR5cGUgPyB0aGlzLnRyaWdnZXJUeXBlIDogJ21vdXNlbW92ZScsXHJcbiAgICAgIH0sXHJcbiAgICAgIGdlbzoge1xyXG4gICAgICAgIGxhYmVsOiB7XHJcbiAgICAgICAgICBub3JtYWw6IHtcclxuICAgICAgICAgICAgLy/pnZnmgIHnmoTml7blgJnlsZXnpLrmoLflvI9cclxuICAgICAgICAgICAgc2hvdzogdGhpcy5zaG93QXJlYU5hbWUsIC8v5piv5ZCm5pi+56S65Zyw5Zu+55yB5Lu95b6X5ZCN56ewXHJcbiAgICAgICAgICAgIHRleHRTdHlsZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlbXBoYXNpczoge1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSxcclxuICAgICAgICAgICAgdGV4dFN0eWxlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNlbGVjdGVkTW9kZTogdGhpcy5zZWxlY3RlZE1vZGUsXHJcbiAgICAgICAgc2VsZWN0OiB7XHJcbiAgICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSwgLy/mmK/lkKbmmL7npLrlnLDlm77nnIHku73lvpflkI3np7BcclxuICAgICAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IHRoaXMuYXJlYU5hbWVmb250Py5jb2xvciB8fCAnI2ZmZicsXHJcbiAgICAgICAgICAgICAgZm9udFNpemU6IHRoaXMuYXJlYU5hbWVmb250Py5zaXplIHx8IDEyLFxyXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6IHRoaXMuYXJlYU5hbWVmb250Py5mYW1pbHkgfHwgJycsXHJcbiAgICAgICAgICAgICAgbGluZUhlaWdodDogdGhpcy5hcmVhTmFtZWZvbnQ/LmxpbmVIZWlnaHQgfHwgMTIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaXRlbVN0eWxlOiB7XHJcbiAgICAgICAgICAgIGFyZWFDb2xvcjoge1xyXG4gICAgICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxyXG4gICAgICAgICAgICAgIHg6IDAuNSxcclxuICAgICAgICAgICAgICB5OiAwLjUsXHJcbiAgICAgICAgICAgICAgcjogMC44LFxyXG4gICAgICAgICAgICAgIGNvbG9yU3RvcHM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZWxlY3RDb2xvclN0YXJ0ID8gdGhpcy5zZWxlY3RDb2xvclN0YXJ0IDogdGhpcy5fYXJlYUNvbG9yLCAvLyAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JFbmQgPyB0aGlzLnNlbGVjdENvbG9yRW5kIDogdGhpcy5fYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0aGlzLl9ib3JkZXJDb2xvcixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpdGVtU3R5bGU6IHtcclxuICAgICAgICAgIG5vcm1hbDoge1xyXG4gICAgICAgICAgICAvLyBhcmVhQ29sb3I6IHRoaXMuYXJlYUNvbG9yLFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogdGhpcy5ib3JkZXJDb2xvcixcclxuICAgICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICAgICAgYXJlYUNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXHJcbiAgICAgICAgICAgICAgeDogMC41LFxyXG4gICAgICAgICAgICAgIHk6IDAuNSxcclxuICAgICAgICAgICAgICByOiAwLjgsXHJcbiAgICAgICAgICAgICAgY29sb3JTdG9wczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLm1hcENvbG9yU3RhcnQgPyB0aGlzLm1hcENvbG9yU3RhcnQgOiB0aGlzLmFyZWFDb2xvciwgLy8gMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLm1hcENvbG9yRW5kID8gdGhpcy5tYXBDb2xvckVuZCA6IHRoaXMuYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHNoYWRvd0NvbG9yOiB0aGlzLnNoYWRvd0NvbG9yLFxyXG4gICAgICAgICAgICBzaGFkb3dCbHVyOiB0aGlzLnNoYWRvd1dpZHRoLFxyXG4gICAgICAgICAgICBzaGFkb3dPZmZzZXRYOiAtMixcclxuICAgICAgICAgICAgc2hhZG93T2Zmc2V0WTogMixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlbXBoYXNpczoge1xyXG4gICAgICAgICAgICBhcmVhQ29sb3I6IHtcclxuICAgICAgICAgICAgICB0eXBlOiAncmFkaWFsJyxcclxuICAgICAgICAgICAgICB4OiAwLjUsXHJcbiAgICAgICAgICAgICAgeTogMC41LFxyXG4gICAgICAgICAgICAgIHI6IDAuOCxcclxuICAgICAgICAgICAgICBjb2xvclN0b3BzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JTdGFydCA/IHRoaXMuc2VsZWN0Q29sb3JTdGFydCA6IHRoaXMuX2FyZWFDb2xvciwgLy8gMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDEsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLnNlbGVjdENvbG9yRW5kID8gdGhpcy5zZWxlY3RDb2xvckVuZCA6IHRoaXMuX2FyZWFDb2xvciwgLy8gMTAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBnbG9iYWxDb29yZDogZmFsc2UsIC8vIOe8uuecgeS4uiBmYWxzZVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogdGhpcy5fYm9yZGVyQ29sb3IsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcblxyXG4gICAgICAgIG1hcDogdGhpcy5tYXBTdHlsZSxcclxuICAgICAgICByb2FtOiB0aGlzLnpvb21Td2l0Y2gsXHJcbiAgICAgICAgbmFtZU1hcDogdGhpcy5uYW1lTWFwLFxyXG4gICAgICAgIHpvb206IHRoaXMuem9vbSxcclxuICAgICAgfSxcclxuICAgICAgc2VyaWVzLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnZpc3VhbE1hcD8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuY2hhcnRPcHRpb24udmlzdWFsTWFwID0gdGhpcy52aXN1YWxNYXA7XHJcbiAgICB9XHJcbiAgICAvLyB9KTtcclxuICB9XHJcbiAgY2hpbGRJbml0KGNoaWxkOiBhbnkpIHtcclxuICAgIGlmIChjaGlsZC5pZCkge1xyXG4gICAgICBjb25zdCBjaGlsZEluZGV4ID0gdGhpcy5fY2hpbGRyZW4uZmluZEluZGV4KChzKSA9PiBzLmlkID09PSBjaGlsZC5pZCk7XHJcbiAgICAgIGlmIChjaGlsZEluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLl9jaGlsZHJlbltjaGlsZEluZGV4XSA9IGNoaWxkO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goY2hpbGQpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGRlbGV0ZUNoaWxkKGNoaWxkSWQ6IHN0cmluZykge1xyXG4gICAgaWYgKGNoaWxkSWQpIHtcclxuICAgICAgY29uc3QgY2hpbGRJbmRleCA9IHRoaXMuX2NoaWxkcmVuLmZpbmRJbmRleCgocykgPT4gcy5pZCA9PT0gY2hpbGRJZCk7XHJcbiAgICAgIC8vIHRoaXMuX2NoaWxkcmVuLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgLy8gICBpZiAoY2hpbGRJZCA9PT0gZWxlbWVudC5pZCkge1xyXG4gICAgICAvLyAgICAgdGhpcy52aXN1YWxNYXAgPSBudWxsO1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfSk7XHJcbiAgICAgIGlmIChjaGlsZEluZGV4ID4gLTEpIHtcclxuICAgICAgICB0aGlzLl9jaGlsZHJlbi5zcGxpY2UoY2hpbGRJbmRleCwgMSk7XHJcbiAgICAgICAgdGhpcy5jaGFydEluaXQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gbG9hZE1hcChuYW1lOiBzdHJpbmcpIHtcclxuICAvLyAgIGxldCBsb2FkTWFwUHJvbWlzZSA9IHRoaXMubG9hZGVkTWFwW25hbWVdO1xyXG4gIC8vICAgaWYgKCFsb2FkTWFwUHJvbWlzZSkge1xyXG4gIC8vICAgICBsb2FkTWFwUHJvbWlzZSA9IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyBuYW1lICsgJy5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgLy8gICAgIHRoaXMubG9hZGVkTWFwW25hbWVdID0gbG9hZE1hcFByb21pc2U7XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbG9hZE1hcFByb21pc2U7XHJcbiAgLy8gfVxyXG4gIGFzeW5jIHJlbG9hZE1hcCgpIHtcclxuICAgIGNvbnN0IG1hcFN0eWxlID0gdGhpcy5tYXBTdHlsZTtcclxuICAgIGNvbnN0IG1hcCA9IGVjaGFydHMuZ2V0TWFwKG1hcFN0eWxlKTtcclxuICAgIGlmIChtYXAgPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBkYXRhOmFueSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyBtYXBTdHlsZSArICcuanNvbicpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKG1hcFN0eWxlLCBkYXRhKTtcclxuICAgIH1cclxuICAgIHRoaXMuaGFzTWFwID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgfVxyXG4gIGFzeW5jIG1hcmtDbGljayhldmVudCkge1xyXG4gICAgbGV0IGxuZzogbnVtYmVyO1xyXG4gICAgbGV0IGxhdDogbnVtYmVyO1xyXG4gICAgaWYgKGV2ZW50LnNlcmllc0lkKSB7XHJcbiAgICAgIGxuZyA9IGV2ZW50LnZhbHVlWzBdO1xyXG4gICAgICBsYXQgPSBldmVudC52YWx1ZVsxXTtcclxuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLl9jaGlsZHJlbi5maW5kKChzKSA9PiBldmVudC5zZXJpZXNJZC5zdGFydHNXaXRoKHMuaWQpKTtcclxuICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLm9uQ2xpY2spIHtcclxuICAgICAgICBjaGlsZC5vbkNsaWNrKGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAodGhpcy5tYXBTdHlsZSk7XHJcbiAgICAgIGlmIChtYXApIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgbWFwLmdlb0pzb24uZmVhdHVyZXMpIHtcclxuICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBmZWF0dXJlLnByb3BlcnRpZXM7XHJcbiAgICAgICAgICBpZiAocHJvcGVydGllcy5uYW1lID09PSBldmVudC5uYW1lKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNwKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jcFswXTtcclxuICAgICAgICAgICAgICBsYXQgPSBwcm9wZXJ0aWVzLmNwWzFdO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnRpZXMuY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jZW50ZXJbMF07XHJcbiAgICAgICAgICAgICAgbGF0ID0gcHJvcGVydGllcy5jZW50ZXJbMV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2cocHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHByb3ZpbmNlID0gdGhpcy5wcm92aW5jZXMuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5sYWJlbCA9PT0gZXZlbnQubmFtZSk7XHJcbiAgICAgIGlmIChwcm92aW5jZSkge1xyXG4gICAgICAgIHRoaXMuc3RhY2sucHVzaCh0aGlzLm1hcFN0eWxlKTtcclxuICAgICAgICB0aGlzLm1hcFN0eWxlID0gcHJvdmluY2UudmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZWxvYWRNYXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hcmVhQ2xpY2suZW1pdCh7IG5hbWU6IGV2ZW50Lm5hbWUsIGxuZywgbGF0IH0pO1xyXG4gICAgLy8gaWYoZXZlbnQuY29tcG9uZW50U3ViVHlwZSE9bnVsbCAmJiBldmVudC5jb21wb25lbnRTdWJUeXBlPT09J3NjYXR0ZXInKXtcclxuICAgIC8vICAgY29uc3Qgb2JqPWV2ZW50LmRhdGE7XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKGV2ZW50KTtcclxuICAgIC8vICAgdGhpcy5tYXJrZXJUaWVyQ2xpY2suZW1pdCh7XHJcbiAgICAvLyAgICAgYWRkcmVzczogb2JqLm5hbWUsXHJcbiAgICAvLyAgICAgaW5mb3JtYXRpb246ICcnLFxyXG4gICAgLy8gICAgIGdyb3VwOiAnJyxcclxuICAgIC8vICAgICBsbmc6IG9iai52YWx1ZVswXSxcclxuICAgIC8vICAgICBsYXQ6IG9iai52YWx1ZVsxXSxcclxuICAgIC8vICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIHJvbGxiYWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuc3RhY2sgIT0gbnVsbCAmJiB0aGlzLnN0YWNrLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHRoaXMubWFwU3R5bGUgPSB0aGlzLnN0YWNrLnBvcCgpO1xyXG4gICAgICB0aGlzLnJlbG9hZE1hcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dFN0eWxlKCkge31cclxufVxyXG4iXX0=
716
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmltZXRyaWMtbWFwMmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NyZWVuLXdpZGdldC9zcmMvbGliL3BsYW5pbWV0cmljLW1hcDJkL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFNBQVMsRUFLVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFDbkMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0lBOEJyRCx5QkFBeUIsdUNBQXpCLHlCQUEwQixTQUFRLHdCQUF3QjtJQXFVckUsWUFBc0IsSUFBZ0I7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFEWSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBOVR0QyxhQUFRLEdBQUcsT0FBTyxDQUFDO1FBSW5CLFNBQUksR0FBRyxDQUFDLENBQUM7UUFPVCxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBT3RCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBT3hCLGVBQVUsR0FBRyxTQUFTLENBQUM7UUFFdkIsaUJBQVksR0FBUTtZQUNsQixNQUFNLEVBQUUsRUFBRTtZQUNWLEtBQUssRUFBRSxTQUFTO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSxF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Q2xCLEtBQUssRUFBRSw2QkFBNkI7UUFDcEMsSUFBSSxFQUFFLFlBQVk7UUFDbEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsSUFBSSxFQUFFLDJCQUEyQjtnQkFDakMsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUk7Z0JBQ1osU0FBUyxFQUFFLElBQUk7YUFDaEI7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLG1CQUFtQjtZQUNuQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLHFCQUFxQjtZQUNyQix1QkFBdUI7U0FDeEI7UUFDRCxXQUFXLEVBQUUsY0FBYztLQUM1QixDQUFDO3FDQXNVNEIsVUFBVTtHQXJVM0IseUJBQXlCLENBOGxCckM7U0E5bEJZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBFdmVudEVtaXR0ZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFdpZGdldCwgUHJvcGVydHksIERhdGEsIERhdGFPdXRwdXQsIEV2ZW50IH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcclxuaW1wb3J0IHsgUGFyZW50Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFyZW50LWNvbnRhaW5lci9wYXJlbnQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCAqIGFzIGVjaGFydHMgZnJvbSAnZWNoYXJ0cyc7XHJcbmltcG9ydCB7IE5neEVjaGFydHNEaXJlY3RpdmUgfSBmcm9tICduZ3gtZWNoYXJ0cyc7XHJcbmltcG9ydCB7IGdldEVjaGFydHNUZXh0U3R5bGUgfSBmcm9tICcuLi9zaGFyZWQvdXRpbC9lY2hhcnRzLnV0aWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYy1wbGFuaW1ldHJpYy1tYXAyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BsYW5pbWV0cmljLW1hcDJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wbGFuaW1ldHJpYy1tYXAyZC5jb21wb25lbnQubGVzcyddLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogUGFyZW50Q29udGFpbmVyQ29tcG9uZW50LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQbGFuaW1ldHJpY01hcDJkQ29tcG9uZW50KSB9XSxcclxufSlcclxuQFdpZGdldCgnMkTlubPpnaLlnLDlm74nLCB7XHJcbiAgZ3JvdXA6ICdjb21wb25lbnQnLFxyXG4gIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vMmRtYXAucG5nJyxcclxuICBpY29uOiAnaWNvbm1va3VhaScsXHJcbiAgY2hpbGRyZW46IFtcclxuICAgIHtcclxuICAgICAgdGl0bGU6ICflkbzlkLjmsJTms6HlsYInLFxyXG4gICAgICB0eXBlOiAnc2MtYnJlYXRoaW5nLWJ1YmJsZS1sYXllcicsXHJcbiAgICAgIG9wdGlvbjoge30sXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgaGlkZUNoaWxkOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoaWxkVHlwZXM6IFtcclxuICAgICdzYy1mbHktbGluZS1sYXllcicsXHJcbiAgICAnc2MtYnJlYXRoaW5nLWJ1YmJsZS1sYXllcicsXHJcbiAgICAnc2MtbWFwMmQtcG9seWxpbmUtbGF5ZXInLFxyXG4gICAgJ3NjLW1hcDJkLW1hcmstbGF5ZXInLFxyXG4gICAgJ3NjLW1hcDJkLXZpc3VhbC1sYXllcicsXHJcbiAgXSxcclxuICBkZXNjcmlwdGlvbjogJ2hhc0NoaWxkSXRlbScsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQbGFuaW1ldHJpY01hcDJkQ29tcG9uZW50IGV4dGVuZHMgUGFyZW50Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgQFByb3BlcnR5KCflnLDlm77moLflvI8nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteVVybFNlbGVjdCcsXHJcbiAgICAgIHVybDogJy9hc3NldHMvbWFwTGlzdEl0ZW0uanNvbicsXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgbWFwU3R5bGUgPSAnY2hpbmEnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+57yp5pS+Jywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogMSwgbWF4OiA0MCwgc3RlcDogMSB9LFxyXG4gIH0pXHJcbiAgem9vbSA9IDE7XHJcbiAgQFByb3BlcnR5KCfljLrln5/og4zmma8nLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBhcmVhQ29sb3IgPSAnIzMyM2M0OCc7XHJcbiAgQFByb3BlcnR5KCfljLrln5/mj4/ovrknLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBib3JkZXJDb2xvciA9ICcjNDA0YTU5JztcclxuICBAUHJvcGVydHkoJ+enu+WKqOmrmOS6ricsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIF9hcmVhQ29sb3IgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCflnLDljLrlrZfkvZMnLCB7IHVpOiB7IHdpZGdldDogJ215Rm9udCcgfSB9KVxyXG4gIGFyZWFOYW1lZm9udDogYW55ID0ge1xyXG4gICAgZmFtaWx5OiAnJyxcclxuICAgIGNvbG9yOiAnI0ZGRkZGRicsXHJcbiAgICB3ZWlnaHQ6ICdub3JtYWwnLFxyXG4gICAgc2l6ZTogMTIsXHJcbiAgICBzcGFjZTogMCxcclxuICAgIGxpbmVIZWlnaHQ6IDEyLFxyXG4gIH07XHJcbiAgQFByb3BlcnR5KCfmmL7npLrlnLDlkI0nLCB7XHJcbiAgICB0eXBlOiAnYm9vbGVhbicsXHJcbiAgfSlcclxuICBzaG93QXJlYU5hbWUgPSB0cnVlO1xyXG4gIEBQcm9wZXJ0eSgn6Kem5Y+R5pa55byPJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnc2VsZWN0JyB9LFxyXG4gICAgZW51bTogW1xyXG4gICAgICB7IGxhYmVsOiAn54K55Ye7JywgdmFsdWU6ICdjbGljaycgfSxcclxuICAgICAgeyBsYWJlbDogJ+m8oOagh+enu+WKqCcsIHZhbHVlOiAnbW91c2Vtb3ZlJyB9LFxyXG4gICAgXSxcclxuICB9KVxyXG4gIHRyaWdnZXJUeXBlID0gJ21vdXNlbW92ZSc7XHJcbiAgQFByb3BlcnR5KCfpgInkuK3mlrnlvI8nLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnIH0sXHJcbiAgICBlbnVtOiBbXHJcbiAgICAgIHsgbGFiZWw6ICfpu5jorqQnLCB2YWx1ZTogJycgfSxcclxuICAgICAgeyBsYWJlbDogJ+WNlemAiScsIHZhbHVlOiAnc2luZ2xlJyB9LFxyXG4gICAgICB7IGxhYmVsOiAn5aSa6YCJJywgdmFsdWU6ICdtdWx0aXBsZScgfSxcclxuICAgIF0sXHJcbiAgfSlcclxuICBzZWxlY3RlZE1vZGUgPSAnJztcclxuXHJcbiAgQFByb3BlcnR5KCfnvKnmlL7lvIDlhbMnLCB7XHJcbiAgICB0eXBlOiAnYm9vbGVhbicsXHJcbiAgfSlcclxuICB6b29tU3dpdGNoID0gJ2ZhbHNlJztcclxuICBAUHJvcGVydHkoJ+mrmOS6ruaPj+i+uScsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215Q29sb3InLFxyXG4gICAgICBleGFtcGxlOiBbJyNEMDAyMUInLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCAnIzMzMzMzMyddLFxyXG4gICAgfSxcclxuICB9KVxyXG4gIF9ib3JkZXJDb2xvciA9ICcnO1xyXG4gIEBQcm9wZXJ0eSgn6Zi05b2x6aKc6ImyJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgc2hhZG93Q29sb3IgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCfovrnmoYbnspfnu4YnLCB7XHJcbiAgICB0eXBlOiAnbnVtYmVyJyxcclxuICB9KVxyXG4gIHNoYWRvd1dpZHRoID0gMjA7XHJcbiAgQFByb3BlcnR5KCflnLDlm77muJDlj5jlvIDlp4snLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBtYXBDb2xvclN0YXJ0ID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5riQ5Y+Y57uT5p2fJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgbWFwQ29sb3JFbmQgPSAnIzJhMzMzZCc7XHJcbiAgQFByb3BlcnR5KCfpgInkuK3muJDlj5jlvIDlp4snLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteUNvbG9yJyxcclxuICAgICAgZXhhbXBsZTogWycjRDAwMjFCJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgJyMzMzMzMzMnXSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBzZWxlY3RDb2xvclN0YXJ0ID0gJyMyYTMzM2QnO1xyXG4gIEBQcm9wZXJ0eSgn6YCJ5Lit5riQ5Y+Y57uT5p2fJywge1xyXG4gICAgdWk6IHtcclxuICAgICAgd2lkZ2V0OiAnbXlDb2xvcicsXHJcbiAgICAgIGV4YW1wbGU6IFsnI0QwMDIxQicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsICcjMzMzMzMzJ10sXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgc2VsZWN0Q29sb3JFbmQgPSAnIzJhMzMzZCc7XHJcblxyXG4gIGNoYXJ0T3B0aW9uOiBhbnk7XHJcbiAgaGFzTWFwID0gZmFsc2U7XHJcbiAgQERhdGEoe1xyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICBuYW1lOiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+WcsOWQjScgfSxcclxuICAgICAgbG5nOiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+e7j+W6picgfSxcclxuICAgICAgbGF0OiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+e6rOW6picgfSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBkYXRhOiBhbnlbXSA9IFtdO1xyXG4gIEBEYXRhT3V0cHV0KFsnbmFtZScsICdsbmcnLCAnbGF0J10pXHJcbiAgQEV2ZW50KCfpgInkuK0nLCB7XHJcbiAgICBwYXJhbXM6IHtcclxuICAgICAgcHJvcGVydGllczoge1xyXG4gICAgICAgIG5hbWU6IHsgdHlwZTogJ3N0cmluZycsIHRpdGxlOiAn5YC8JyB9LFxyXG4gICAgICAgIGxuZzogeyB0eXBlOiAnbnVtYmVyJywgdGl0bGU6ICfnu4/luqYnIH0sXHJcbiAgICAgICAgbGF0OiB7IHR5cGU6ICdzdHJpbmcnLCB0aXRsZTogJ+e6rOW6picgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBhcmVhQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG5hbWVNYXA6IGFueSA9IHtcclxuICAgIEFmZ2hhbmlzdGFuOiAn6Zi/5a+M5rGXJyxcclxuICAgIEFsYmFuaWE6ICfpmL/lsJTlt7TlsLzkuponLFxyXG4gICAgQWxnZXJpYTogJ+mYv+WwlOWPiuWIqeS6micsXHJcbiAgICBBbmdvbGE6ICflronlk6Xmi4knLFxyXG4gICAgQXJnZW50aW5hOiAn6Zi/5qC55bu3JyxcclxuICAgIEFybWVuaWE6ICfkuprnvo7lsLzkuponLFxyXG4gICAgQXVzdHJhbGlhOiAn5r6z5aSn5Yip5LqaJyxcclxuICAgIEF1c3RyaWE6ICflpaXlnLDliKknLFxyXG4gICAgQXplcmJhaWphbjogJ+mYv+WhnuaLnOeWhicsXHJcbiAgICBCYW5nbGFkZXNoOiAn5a2f5Yqg5ouJ5Zu9JyxcclxuICAgIEJlbGFydXM6ICfnmb3kv4TnvZfmlq8nLFxyXG4gICAgQmVsZ2l1bTogJ+avlOWIqeaXticsXHJcbiAgICBCZWxpemU6ICfkvK/liKnlhbknLFxyXG4gICAgQmVuaW46ICfotJ3lroEnLFxyXG4gICAgQmVybXVkYTogJ+eZvuaFleWkpycsXHJcbiAgICBCaHV0YW46ICfkuI3kuLknLFxyXG4gICAgQm9saXZpYTogJ+eOu+WIqee7tOS6micsXHJcbiAgICAnQm9zbmlhIGFuZCBIZXJ6ZWdvdmluYSc6ICfms6Lmlq/lsLzkuprlkozpu5HloZ7lk6Xnu7TpgqMnLFxyXG4gICAgQm90c3dhbmE6ICfljZrojKjnk6bnurMnLFxyXG4gICAgQnJhemlsOiAn5be06KW/JyxcclxuICAgIEJydW5laTogJ+aWh+iOsScsXHJcbiAgICBCdWxnYXJpYTogJ+S/neWKoOWIqeS6micsXHJcbiAgICAnQnVya2luYSBGYXNvJzogJ+W4g+Wfuue6s+azlee0oicsXHJcbiAgICBCdXJ1bmRpOiAn5biD6ZqG6L+qJyxcclxuICAgIENhbWJvZGlhOiAn5p+s5Z+U5a+oJyxcclxuICAgIENhbWVyb29uOiAn5ZaA6bqm6ZqGJyxcclxuICAgIENhbmFkYTogJ+WKoOaLv+WkpycsXHJcbiAgICAnQ2VudHJhbCBBZnJpY2FuIFJlcHVibGljJzogJ+S4remdnuWFseWSjOWbvScsXHJcbiAgICBDaGFkOiAn5LmN5b6XJyxcclxuICAgIENoaWxlOiAn5pm65YipJyxcclxuICAgIENoaW5hOiAn5Lit5Zu9JyxcclxuICAgIENvbG9tYmlhOiAn5ZOl5Lym5q+U5LqaJyxcclxuICAgICdDb3N0YSBSaWNhJzogJ+WTpeaWr+i+vum7juWKoCcsXHJcbiAgICBDcm9hdGlhOiAn5YWL572X5Zyw5LqaJyxcclxuICAgIEN1YmE6ICflj6Tlt7QnLFxyXG4gICAgQ3lwcnVzOiAn5aGe5rWm6Lev5pavJyxcclxuICAgICdDemVjaCBSZXB1YmxpYyc6ICfmjbflhYvlhbHlkozlm70nLFxyXG4gICAgJ0RlbW9jcmF0aWMgUmVwdWJsaWMgb2YgdGhlIENvbmdvJzogJ+WImuaenOawkeS4u+WFseWSjOWbvScsXHJcbiAgICBEZW5tYXJrOiAn5Li56bqmJyxcclxuICAgIERqaWJvdXRpOiAn5ZCJ5biD5o+QJyxcclxuICAgICdEb21pbmljYW4gUmVwdWJsaWMnOiAn5aSa5piO5bC85Yqg5YWx5ZKM5Zu9JyxcclxuICAgICdFYXN0IFRpbW9yJzogJ+S4nOW4neaxticsXHJcbiAgICBFY3VhZG9yOiAn5Y6E55Oc5aSa5bCUJyxcclxuICAgIEVneXB0OiAn5Z+D5Y+KJyxcclxuICAgICdFbCBTYWx2YWRvcic6ICfokKjlsJTnk6blpJonLFxyXG4gICAgJ0VxdWF0b3JpYWwgR3VpbmVhJzogJ+i1pOmBk+WHoOWGheS6micsXHJcbiAgICBFcml0cmVhOiAn5Y6E56uL54m56YeM5LqaJyxcclxuICAgIEVzdG9uaWE6ICfniLHmspnlsLzkuponLFxyXG4gICAgRXRoaW9waWE6ICfln4PloZ7kv4Tmr5TkuponLFxyXG4gICAgJ0ZhbGtsYW5kIElzbGFuZHMnOiAn56aP5YWL5YWw576k5bKbJyxcclxuICAgIEZpamk6ICfmlpAnLFxyXG4gICAgRmlubGFuZDogJ+iKrOWFsCcsXHJcbiAgICBGcmFuY2U6ICfms5Xlm70nLFxyXG4gICAgJ0ZyZW5jaCBHdWlhbmEnOiAn5rOV5bGe5Zyt5Lqa6YKjJyxcclxuICAgICdGcmVuY2ggU291dGhlcm4gYW5kIEFudGFyY3RpYyBMYW5kcyc6ICfms5XlsZ7ljZfljYrnkIPlkozljZfmnoHpooblnLAnLFxyXG4gICAgR2Fib246ICfliqDok6wnLFxyXG4gICAgR2FtYmlhOiAn5YaI5q+U5LqaJyxcclxuICAgIEdlb3JnaWE6ICfmoLzpsoHlkInkuponLFxyXG4gICAgR2VybWFueTogJ+W+t+WbvScsXHJcbiAgICBHaGFuYTogJ+WKoOe6sycsXHJcbiAgICBHcmVlY2U6ICfluIzohYonLFxyXG4gICAgR3JlZW5sYW5kOiAn5qC86Zm15YWwJyxcclxuICAgIEd1YXRlbWFsYTogJ+WNseWcsOmprOaLiScsXHJcbiAgICBHdWluZWE6ICflh6DlhoXkuponLFxyXG4gICAgJ0d1aW5lYSBCaXNzYXUnOiAn5Yeg5YaF5Lqa5q+U57uNJyxcclxuICAgIEd1eWFuYTogJ+WcreS6mumCoycsXHJcbiAgICBIYWl0aTogJ+a1t+WcsCcsXHJcbiAgICBIb25kdXJhczogJ+a0qumDveaLieaWrycsXHJcbiAgICBIdW5nYXJ5OiAn5YyI54mZ5YipJyxcclxuICAgIEljZWxhbmQ6ICflhrDlspsnLFxyXG4gICAgSW5kaWE6ICfljbDluqYnLFxyXG4gICAgSW5kb25lc2lhOiAn5Y2w5bC8JyxcclxuICAgIElyYW46ICfkvIrmnJcnLFxyXG4gICAgSXJhcTogJ+S8iuaLieWFiycsXHJcbiAgICBJcmVsYW5kOiAn54ix5bCU5YWwJyxcclxuICAgIElzcmFlbDogJ+S7peiJsuWIlycsXHJcbiAgICBJdGFseTogJ+aEj+Wkp+WIqScsXHJcbiAgICAnSXZvcnkgQ29hc3QnOiAn6LGh54mZ5rW35bK4JyxcclxuICAgIEphbWFpY2E6ICfniZnkubDliqAnLFxyXG4gICAgSmFwYW46ICfml6XmnKwnLFxyXG4gICAgSm9yZGFuOiAn57qm5pemJyxcclxuICAgIEthemFraHN0YW46ICflk4jokKjlhYvmlq/lnaYnLFxyXG4gICAgS2VueWE6ICfogq/lsLzkuponLFxyXG4gICAgS29zb3ZvOiAn56eR57Si5rKDJyxcclxuICAgIEt1d2FpdDogJ+enkeWogeeJuScsXHJcbiAgICBLeXJneXpzdGFuOiAn5ZCJ5bCU5ZCJ5pav5pav5Z2mJyxcclxuICAgIExhb3M6ICfogIHmjJ0nLFxyXG4gICAgTGF0dmlhOiAn5ouJ6ISx57u05LqaJyxcclxuICAgIExlYmFub246ICfpu47lt7Tlq6knLFxyXG4gICAgTGVzb3RobzogJ+iOsee0ouaJmCcsXHJcbiAgICBMaWJlcmlhOiAn5Yip5q+U6YeM5LqaJyxcclxuICAgIExpYnlhOiAn5Yip5q+U5LqaJyxcclxuICAgIExpdGh1YW5pYTogJ+eri+mZtuWumycsXHJcbiAgICBMdXhlbWJvdXJnOiAn5Y2i5qOu5aChJyxcclxuICAgIE1hY2Vkb25pYTogJ+mprOWFtumhvycsXHJcbiAgICBNYWRhZ2FzY2FyOiAn6ams6L6+5Yqg5pav5YqgJyxcclxuICAgIE1hbGF3aTogJ+mprOaLiee7tCcsXHJcbiAgICBNYWxheXNpYTogJ+mprOadpeilv+S6micsXHJcbiAgICBNYWxpOiAn6ams6YeMJyxcclxuICAgIE1hdXJpdGFuaWE6ICfmr5vph4zloZTlsLzkuponLFxyXG4gICAgTWV4aWNvOiAn5aKo6KW/5ZOlJyxcclxuICAgIE1vbGRvdmE6ICfmkanlsJTlpJrnk6YnLFxyXG4gICAgTW9uZ29saWE6ICfokpnlj6QnLFxyXG4gICAgTW9udGVuZWdybzogJ+m7keWxsScsXHJcbiAgICBNb3JvY2NvOiAn5pGp5rSb5ZOlJyxcclxuICAgIE1vemFtYmlxdWU6ICfojqvmoZHmr5TlhYsnLFxyXG4gICAgTXlhbm1hcjogJ+e8heeUuCcsXHJcbiAgICBOYW1pYmlhOiAn57qz57Gz5q+U5LqaJyxcclxuICAgIE5lcGFsOiAn5bC85rOK5bCUJyxcclxuICAgIE5ldGhlcmxhbmRzOiAn6I235YWwJyxcclxuICAgICdOZXcgQ2FsZWRvbmlhJzogJ+aWsOWWgOmHjOWkmuWwvOS6micsXHJcbiAgICAnTmV3IFplYWxhbmQnOiAn5paw6KW/5YWwJyxcclxuICAgIE5pY2FyYWd1YTogJ+WwvOWKoOaLieeTnCcsXHJcbiAgICBOaWdlcjogJ+WwvOaXpeWwlCcsXHJcbiAgICBOaWdlcmlhOiAn5bC85pel5Yip5LqaJyxcclxuICAgICdOb3J0aCBLb3JlYSc6ICfljJfmnJ3pspwnLFxyXG4gICAgJ05vcnRoZXJuIEN5cHJ1cyc6ICfljJfloZ7mtabot6/mlq8nLFxyXG4gICAgTm9yd2F5OiAn5oyq5aiBJyxcclxuICAgIE9tYW46ICfpmL/mm7wnLFxyXG4gICAgUGFraXN0YW46ICflt7Tln7rmlq/lnaYnLFxyXG4gICAgUGFuYW1hOiAn5be05ou/6amsJyxcclxuICAgICdQYXB1YSBOZXcgR3VpbmVhJzogJ+W3tOW4g+S6muaWsOWHoOWGheS6micsXHJcbiAgICBQYXJhZ3VheTogJ+W3tOaLieWcrScsXHJcbiAgICBQZXJ1OiAn56eY6bKBJyxcclxuICAgIFBoaWxpcHBpbmVzOiAn6I+y5b6L5a6+JyxcclxuICAgIFBvbGFuZDogJ+azouWFsCcsXHJcbiAgICBQb3J0dWdhbDogJ+iRoeiQhOeJmScsXHJcbiAgICAnUHVlcnRvIFJpY28nOiAn5rOi5aSa6buO5ZCEJyxcclxuICAgIFFhdGFyOiAn5Y2h5aGU5bCUJyxcclxuICAgICdSZXB1YmxpYyBvZiBTZXJiaWEnOiAn5aGe5bCU57u05LqaJyxcclxuICAgICdSZXB1YmxpYyBvZiB0aGUgQ29uZ28nOiAn5Yia5p6c5YWx5ZKM5Zu9JyxcclxuICAgIFJvbWFuaWE6ICfnvZfpqazlsLzkuponLFxyXG4gICAgUnVzc2lhOiAn5L+E572X5pavJyxcclxuICAgIFJ3YW5kYTogJ+WNouaXuui+vicsXHJcbiAgICAnU2F1ZGkgQXJhYmlhJzogJ+aymeeJuemYv+aLieS8rycsXHJcbiAgICBTZW5lZ2FsOiAn5aGe5YaF5Yqg5bCUJyxcclxuICAgICdTaWVycmEgTGVvbmUnOiAn5aGe5ouJ5Yip5piCJyxcclxuICAgIFNpbmdhcG9yZTogJ+aWsOWKoOWdoScsXHJcbiAgICBTbG92YWtpYTogJ+aWr+a0m+S8kOWFiycsXHJcbiAgICBTbG92ZW5pYTogJ+aWr+a0m+aWh+WwvOS6micsXHJcbiAgICAnU29sb21vbiBJc2xhbmRzJzogJ+aJgOe9l+mXqOe+pOWymycsXHJcbiAgICBTb21hbGlhOiAn57Si6ams6YeMJyxcclxuICAgIFNvbWFsaWxhbmQ6ICfntKLpqazph4zlhbAnLFxyXG4gICAgJ1NvdXRoIEFmcmljYSc6ICfljZfpnZ4nLFxyXG4gICAgJ1NvdXRoIEtvcmVhJzogJ+mfqeWbvScsXHJcbiAgICAnU291dGggU3VkYW4nOiAn5Y2X6IuP5Li5JyxcclxuICAgIFNwYWluOiAn6KW/54+t54mZJyxcclxuICAgICdTcmkgTGFua2EnOiAn5pav6YeM5YWw5Y2hJyxcclxuICAgIFN1ZGFuOiAn6IuP5Li5JyxcclxuICAgIFN1cmluYW1lOiAn6IuP6YeM5Y2XJyxcclxuICAgIFN3YXppbGFuZDogJ+aWr+WogeWjq+WFsCcsXHJcbiAgICBTd2VkZW46ICfnkZ7lhbgnLFxyXG4gICAgU3dpdHplcmxhbmQ6ICfnkZ7lo6snLFxyXG4gICAgU3lyaWE6ICflj5nliKnkuponLFxyXG4gICAgVGFqaWtpc3RhbjogJ+WhlOWQieWFi+aWr+WdpicsXHJcbiAgICBUaGFpbGFuZDogJ+azsOWbvScsXHJcbiAgICAnVGhlIEJhaGFtYXMnOiAn5be05ZOI6amsJyxcclxuICAgIFRvZ286ICflpJrlk6UnLFxyXG4gICAgJ1RyaW5pZGFkIGFuZCBUb2JhZ28nOiAn54m56YeM5bC86L6+5ZKM5aSa5be05ZOlJyxcclxuICAgIFR1bmlzaWE6ICfnqoHlsLzmlq8nLFxyXG4gICAgVHVya2V5OiAn5Zyf6ICz5YW2JyxcclxuICAgIFR1cmttZW5pc3RhbjogJ+Wcn+W6k+abvOaWr+WdpicsXHJcbiAgICBVZ2FuZGE6ICfkuYzlubLovr4nLFxyXG4gICAgVWtyYWluZTogJ+S5jOWFi+WFsCcsXHJcbiAgICAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMnOiAn6Zi/6IGU6YWLJyxcclxuICAgICdVbml0ZWQgS2luZ2RvbSc6ICfoi7Hlm70nLFxyXG4gICAgJ1VuaXRlZCBSZXB1YmxpYyBvZiBUYW56YW5pYSc6ICflnabmoZHlsLzkuponLFxyXG4gICAgJ1VuaXRlZCBTdGF0ZXMnOiAn576O5Zu9JyxcclxuICAgIFVydWd1YXk6ICfkuYzmi4nlnK0nLFxyXG4gICAgVXpiZWtpc3RhbjogJ+S5jOWFueWIq+WFi+aWr+WdpicsXHJcbiAgICBWYW51YXR1OiAn55Om5Yqq6Zi/5Zu+JyxcclxuICAgIFZlbmV6dWVsYTogJ+WnlOWGheeRnuaLiScsXHJcbiAgICBWaWV0bmFtOiAn6LaK5Y2XJyxcclxuICAgICdXZXN0IEJhbmsnOiAn6KW/5bK4JyxcclxuICAgICdXZXN0ZXJuIFNhaGFyYSc6ICfopb/mkpLlk4jmi4knLFxyXG4gICAgWWVtZW46ICfkuZ/pl6gnLFxyXG4gICAgWmFtYmlhOiAn6LWe5q+U5LqaJyxcclxuICAgIFppbWJhYndlOiAn5rSl5be05biD6Z+mJyxcclxuICB9O1xyXG4gIF9jaGlsZHJlbjogYW55ID0gW107XHJcbiAgbG9hZGVkTWFwOiB7IFtuYW1lOiBzdHJpbmddOiBQcm9taXNlPGFueT4gfSA9IHt9O1xyXG4gIHByb3ZpbmNlczogYW55O1xyXG4gIHN0YWNrID0gW107XHJcbiAgdmlzdWFsTWFwOiBhbnlbXTtcclxuICBAVmlld0NoaWxkKE5neEVjaGFydHNEaXJlY3RpdmUpXHJcbiAgbmd4RWNoYXJ0czogTmd4RWNoYXJ0c0RpcmVjdGl2ZTtcclxuICByZW5kZXJlciA9ICdzdmcnO1xyXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XHJcbiAgICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhWzBdKSB7XHJcbiAgICAgICAgdGhpcy5tYXBTdHlsZSA9IHRoaXMuZGF0YVswXS5uYW1lO1xyXG4gICAgICAgIHRoaXMuc3RhY2sucHVzaCh0aGlzLm1hcFN0eWxlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlbG9hZE1hcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIC8vIGF3YWl0IHRoaXMuY29tbW9uU2VydmljZS5nZXRNYXAoKTtcclxuICAgIC8vIGF3YWl0IGltcG9ydCgnZWNoYXJ0cy9kaXN0L2V4dGVuc2lvbi9ibWFwLmpzJyk7XHJcbiAgICB0aGlzLnByb3ZpbmNlcyA9IChhd2FpdCB0aGlzLmh0dHAuZ2V0KCcvYXNzZXRzL21hcExpc3RJdGVtLmpzb24nKS50b1Byb21pc2UoKSkgYXMgYW55O1xyXG4gICAgLy8gY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAodGhpcy5tYXBTdHlsZSk7XHJcbiAgICAvLyBpZiAobWFwID09IG51bGwpIHtcclxuICAgIC8vICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyB0aGlzLm1hcFN0eWxlICsgJy5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgICAvLyAgIGVjaGFydHMucmVnaXN0ZXJNYXAodGhpcy5tYXBTdHlsZSwgZGF0YSk7XHJcbiAgICAvLyB9XHJcbiAgICAvLyB0aGlzLmhhc01hcCA9IHRydWU7XHJcbiAgICAvLyB0aGlzLmNoYXJ0SW5pdCgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5neEVjaGFydHMpIHtcclxuICAgICAgKHRoaXMubmd4RWNoYXJ0cyBhcyBhbnkpLmluaXRDaGFydCA9ICgpID0+IHt9O1xyXG4gICAgfVxyXG4gIH1cclxuICBjaGFydEluaXQoKSB7XHJcbiAgICAvLyB0aGlzLmxvYWRNYXAodGhpcy5tYXBTdHlsZSkudGhlbigoZGF0YSkgPT4ge1xyXG4gICAgbGV0IHNlcmllcyA9IFtdO1xyXG4gICAgdGhpcy52aXN1YWxNYXAgPSBbXTtcclxuICAgIHRoaXMucmVuZGVyZXIgPSAnc3ZnJztcclxuICAgIHRoaXMuX2NoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XHJcbiAgICAgIGlmIChjaGlsZC50eXBlID09PSAndmlzdWFsJykge1xyXG4gICAgICAgIC8vIHNlcmllcyA9IGNoaWxkLnNlcmllcztcclxuICAgICAgICAvLyBzZXJpZXNbMF0ubWFwVHlwZSA9IHRoaXMubWFwU3R5bGU7XHJcbiAgICAgICAgaWYgKGNoaWxkLnZpc3VhbE1hcCAmJiBjaGlsZC5pdGVtLmxlbmd0aCkge1xyXG4gICAgICAgICAgaWYgKGNoaWxkLnZpc3VhbE1hcDIpIHtcclxuICAgICAgICAgICAgdGhpcy52aXN1YWxNYXAucHVzaChjaGlsZC52aXN1YWxNYXAyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMudmlzdWFsTWFwLnB1c2goY2hpbGQudmlzdWFsTWFwKTtcclxuICAgICAgICAgIGNoaWxkLnZpc3VhbE1hcC5zZXJpZXNJbmRleCA9IHNlcmllcy5sZW5ndGg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkLml0ZW0pKSB7XHJcbiAgICAgICAgc2VyaWVzID0gWy4uLnNlcmllcywgLi4uY2hpbGQuaXRlbV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2VyaWVzID0gWy4uLnNlcmllcywgY2hpbGQuaXRlbV07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgc2VyaWVzLmZvckVhY2goKGxheWVyLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAobGF5ZXIudHlwZSA9PT0gJ2xpbmVzJykge1xyXG4gICAgICAgIGRlbGV0ZSBsYXllci5jb29yZGluYXRlU3lzdGVtO1xyXG4gICAgICAgIC8vIOmjnue6v+WxguS4jeaUr+aMgXN2Z+a4suafk1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSAnY2FudmFzJztcclxuICAgICAgfVxyXG4gICAgICBpZiAobGF5ZXIudHlwZSA9PT0gJ3NjYXR0ZXInKSB7XHJcbiAgICAgICAgbGF5ZXIuY29vcmRpbmF0ZVN5c3RlbSA9ICdnZW8nO1xyXG4gICAgICAgIC8vIGxheWVyLnN5bWJvbFNpemUgPSAnMTAnO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIChsYXllci50eXBlID09PSAnbWFwJykge1xyXG4gICAgICAvLyAgIHRoaXMudmlzdWFsTWFwLmZvckVhY2goKHZpc3VhbE1hcCkgPT4ge1xyXG4gICAgICAvLyAgICAgdmlzdWFsTWFwWydzZXJpZXNJbmRleCddID0gaW5kZXg7XHJcbiAgICAgIC8vICAgfSk7XHJcbiAgICAgIC8vIH1cclxuICAgIH0pO1xyXG4gICAgY29uc3QgdGV4dFN0eWxlID0gZ2V0RWNoYXJ0c1RleHRTdHlsZSh0aGlzLmFyZWFOYW1lZm9udCk7XHJcbiAgICB0aGlzLmNoYXJ0T3B0aW9uID0ge1xyXG4gICAgICB0b29sdGlwOiB7XHJcbiAgICAgICAgdHJpZ2dlcjogJ2l0ZW0nLFxyXG4gICAgICAgIHRyaWdnZXJPbjogdGhpcy50cmlnZ2VyVHlwZSA/IHRoaXMudHJpZ2dlclR5cGUgOiAnbW91c2Vtb3ZlJyxcclxuICAgICAgfSxcclxuICAgICAgZ2VvOiB7XHJcbiAgICAgICAgbGFiZWw6IHtcclxuICAgICAgICAgIG5vcm1hbDoge1xyXG4gICAgICAgICAgICAvL+mdmeaAgeeahOaXtuWAmeWxleekuuagt+W8j1xyXG4gICAgICAgICAgICBzaG93OiB0aGlzLnNob3dBcmVhTmFtZSwgLy/mmK/lkKbmmL7npLrlnLDlm77nnIHku73lvpflkI3np7BcclxuICAgICAgICAgICAgdGV4dFN0eWxlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVtcGhhc2lzOiB7XHJcbiAgICAgICAgICAgIHNob3c6IHRoaXMuc2hvd0FyZWFOYW1lLFxyXG4gICAgICAgICAgICB0ZXh0U3R5bGUsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc2VsZWN0ZWRNb2RlOiB0aGlzLnNlbGVjdGVkTW9kZSxcclxuICAgICAgICBzZWxlY3Q6IHtcclxuICAgICAgICAgIGxhYmVsOiB7XHJcbiAgICAgICAgICAgIHNob3c6IHRoaXMuc2hvd0FyZWFOYW1lLCAvL+aYr+WQpuaYvuekuuWcsOWbvuecgeS7veW+l+WQjeensFxyXG4gICAgICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgICAgICBjb2xvcjogdGhpcy5hcmVhTmFtZWZvbnQ/LmNvbG9yIHx8ICcjZmZmJyxcclxuICAgICAgICAgICAgICBmb250U2l6ZTogdGhpcy5hcmVhTmFtZWZvbnQ/LnNpemUgfHwgMTIsXHJcbiAgICAgICAgICAgICAgZm9udEZhbWlseTogdGhpcy5hcmVhTmFtZWZvbnQ/LmZhbWlseSB8fCAnJyxcclxuICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiB0aGlzLmFyZWFOYW1lZm9udD8ubGluZUhlaWdodCB8fCAxMixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBpdGVtU3R5bGU6IHtcclxuICAgICAgICAgICAgYXJlYUNvbG9yOiB7XHJcbiAgICAgICAgICAgICAgdHlwZTogJ3JhZGlhbCcsXHJcbiAgICAgICAgICAgICAgeDogMC41LFxyXG4gICAgICAgICAgICAgIHk6IDAuNSxcclxuICAgICAgICAgICAgICByOiAwLjgsXHJcbiAgICAgICAgICAgICAgY29sb3JTdG9wczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiB0aGlzLnNlbGVjdENvbG9yU3RhcnQgPyB0aGlzLnNlbGVjdENvbG9yU3RhcnQgOiB0aGlzLl9hcmVhQ29sb3IsIC8vIDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAxLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZWxlY3RDb2xvckVuZCA/IHRoaXMuc2VsZWN0Q29sb3JFbmQgOiB0aGlzLl9hcmVhQ29sb3IsIC8vIDEwMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgZ2xvYmFsQ29vcmQ6IGZhbHNlLCAvLyDnvLrnnIHkuLogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IHRoaXMuX2JvcmRlckNvbG9yLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGl0ZW1TdHlsZToge1xyXG4gICAgICAgICAgbm9ybWFsOiB7XHJcbiAgICAgICAgICAgIC8vIGFyZWFDb2xvcjogdGhpcy5hcmVhQ29sb3IsXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0aGlzLmJvcmRlckNvbG9yLFxyXG4gICAgICAgICAgICBvcGFjaXR5OiAxLFxyXG4gICAgICAgICAgICBhcmVhQ29sb3I6IHtcclxuICAgICAgICAgICAgICB0eXBlOiAncmFkaWFsJyxcclxuICAgICAgICAgICAgICB4OiAwLjUsXHJcbiAgICAgICAgICAgICAgeTogMC41LFxyXG4gICAgICAgICAgICAgIHI6IDAuOCxcclxuICAgICAgICAgICAgICBjb2xvclN0b3BzOiBbXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMubWFwQ29sb3JTdGFydCA/IHRoaXMubWFwQ29sb3JTdGFydCA6IHRoaXMuYXJlYUNvbG9yLCAvLyAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMubWFwQ29sb3JFbmQgPyB0aGlzLm1hcENvbG9yRW5kIDogdGhpcy5hcmVhQ29sb3IsIC8vIDEwMCUg5aSE55qE6aKc6ImyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgZ2xvYmFsQ29vcmQ6IGZhbHNlLCAvLyDnvLrnnIHkuLogZmFsc2VcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc2hhZG93Q29sb3I6IHRoaXMuc2hhZG93Q29sb3IsXHJcbiAgICAgICAgICAgIHNoYWRvd0JsdXI6IHRoaXMuc2hhZG93V2lkdGgsXHJcbiAgICAgICAgICAgIHNoYWRvd09mZnNldFg6IC0yLFxyXG4gICAgICAgICAgICBzaGFkb3dPZmZzZXRZOiAyLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVtcGhhc2lzOiB7XHJcbiAgICAgICAgICAgIGFyZWFDb2xvcjoge1xyXG4gICAgICAgICAgICAgIHR5cGU6ICdyYWRpYWwnLFxyXG4gICAgICAgICAgICAgIHg6IDAuNSxcclxuICAgICAgICAgICAgICB5OiAwLjUsXHJcbiAgICAgICAgICAgICAgcjogMC44LFxyXG4gICAgICAgICAgICAgIGNvbG9yU3RvcHM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogdGhpcy5zZWxlY3RDb2xvclN0YXJ0ID8gdGhpcy5zZWxlY3RDb2xvclN0YXJ0IDogdGhpcy5fYXJlYUNvbG9yLCAvLyAwJSDlpITnmoTpopzoibJcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMSxcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IHRoaXMuc2VsZWN0Q29sb3JFbmQgPyB0aGlzLnNlbGVjdENvbG9yRW5kIDogdGhpcy5fYXJlYUNvbG9yLCAvLyAxMDAlIOWkhOeahOminOiJslxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIGdsb2JhbENvb3JkOiBmYWxzZSwgLy8g57y655yB5Li6IGZhbHNlXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiB0aGlzLl9ib3JkZXJDb2xvcixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuXHJcbiAgICAgICAgbWFwOiB0aGlzLm1hcFN0eWxlLFxyXG4gICAgICAgIHJvYW06IHRoaXMuem9vbVN3aXRjaCxcclxuICAgICAgICBuYW1lTWFwOiB0aGlzLm5hbWVNYXAsXHJcbiAgICAgICAgem9vbTogdGhpcy56b29tLFxyXG4gICAgICB9LFxyXG4gICAgICBzZXJpZXMsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMudmlzdWFsTWFwPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5jaGFydE9wdGlvbi52aXN1YWxNYXAgPSB0aGlzLnZpc3VhbE1hcDtcclxuICAgIH1cclxuICAgIC8vIH0pO1xyXG4gIH1cclxuICBjaGlsZEluaXQoY2hpbGQ6IGFueSkge1xyXG4gICAgaWYgKGNoaWxkLmlkKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkSW5kZXggPSB0aGlzLl9jaGlsZHJlbi5maW5kSW5kZXgoKHMpID0+IHMuaWQgPT09IGNoaWxkLmlkKTtcclxuICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkcmVuW2NoaWxkSW5kZXhdID0gY2hpbGQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fY2hpbGRyZW4ucHVzaChjaGlsZCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jaGFydEluaXQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGVsZXRlQ2hpbGQoY2hpbGRJZDogc3RyaW5nKSB7XHJcbiAgICBpZiAoY2hpbGRJZCkge1xyXG4gICAgICBjb25zdCBjaGlsZEluZGV4ID0gdGhpcy5fY2hpbGRyZW4uZmluZEluZGV4KChzKSA9PiBzLmlkID09PSBjaGlsZElkKTtcclxuICAgICAgLy8gdGhpcy5fY2hpbGRyZW4uZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAvLyAgIGlmIChjaGlsZElkID09PSBlbGVtZW50LmlkKSB7XHJcbiAgICAgIC8vICAgICB0aGlzLnZpc3VhbE1hcCA9IG51bGw7XHJcbiAgICAgIC8vICAgfVxyXG4gICAgICAvLyB9KTtcclxuICAgICAgaWYgKGNoaWxkSW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuX2NoaWxkcmVuLnNwbGljZShjaGlsZEluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLmNoYXJ0SW5pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBsb2FkTWFwKG5hbWU6IHN0cmluZykge1xyXG4gIC8vICAgbGV0IGxvYWRNYXBQcm9taXNlID0gdGhpcy5sb2FkZWRNYXBbbmFtZV07XHJcbiAgLy8gICBpZiAoIWxvYWRNYXBQcm9taXNlKSB7XHJcbiAgLy8gICAgIGxvYWRNYXBQcm9taXNlID0gdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vJyArIG5hbWUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAvLyAgICAgdGhpcy5sb2FkZWRNYXBbbmFtZV0gPSBsb2FkTWFwUHJvbWlzZTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBsb2FkTWFwUHJvbWlzZTtcclxuICAvLyB9XHJcbiAgYXN5bmMgcmVsb2FkTWFwKCkge1xyXG4gICAgY29uc3QgbWFwU3R5bGUgPSB0aGlzLm1hcFN0eWxlO1xyXG4gICAgY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAobWFwU3R5bGUpO1xyXG4gICAgaWYgKG1hcCA9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGRhdGE6IGFueSA9IGF3YWl0IHRoaXMuaHR0cC5nZXQoJ2Fzc2V0cy9lY2hhcnRzL21hcC9qc29uLycgKyBtYXBTdHlsZSArICcuanNvbicpLnRvUHJvbWlzZSgpO1xyXG4gICAgICBlY2hhcnRzLnJlZ2lzdGVyTWFwKG1hcFN0eWxlLCBkYXRhKTtcclxuICAgIH1cclxuICAgIHRoaXMuaGFzTWFwID0gdHJ1ZTtcclxuICAgIHRoaXMuY2hhcnRJbml0KCk7XHJcbiAgfVxyXG4gIGFzeW5jIG1hcmtDbGljayhldmVudCkge1xyXG4gICAgbGV0IGxuZzogbnVtYmVyO1xyXG4gICAgbGV0IGxhdDogbnVtYmVyO1xyXG4gICAgaWYgKGV2ZW50LnNlcmllc0lkKSB7XHJcbiAgICAgIGxuZyA9IGV2ZW50LnZhbHVlWzBdO1xyXG4gICAgICBsYXQgPSBldmVudC52YWx1ZVsxXTtcclxuICAgICAgY29uc3QgY2hpbGQgPSB0aGlzLl9jaGlsZHJlbi5maW5kKChzKSA9PiBldmVudC5zZXJpZXNJZC5zdGFydHNXaXRoKHMuaWQpKTtcclxuICAgICAgaWYgKGNoaWxkICYmIGNoaWxkLm9uQ2xpY2spIHtcclxuICAgICAgICBjaGlsZC5vbkNsaWNrKGV2ZW50KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgbWFwID0gZWNoYXJ0cy5nZXRNYXAodGhpcy5tYXBTdHlsZSk7XHJcbiAgICAgIGlmIChtYXApIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGZlYXR1cmUgb2YgbWFwLmdlb0pzb24uZmVhdHVyZXMpIHtcclxuICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBmZWF0dXJlLnByb3BlcnRpZXM7XHJcbiAgICAgICAgICBpZiAocHJvcGVydGllcy5uYW1lID09PSBldmVudC5uYW1lKSB7XHJcbiAgICAgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNwKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jcFswXTtcclxuICAgICAgICAgICAgICBsYXQgPSBwcm9wZXJ0aWVzLmNwWzFdO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHByb3BlcnRpZXMuY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgbG5nID0gcHJvcGVydGllcy5jZW50ZXJbMF07XHJcbiAgICAgICAgICAgICAgbGF0ID0gcHJvcGVydGllcy5jZW50ZXJbMV07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2cocHJvcGVydGllcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHByb3ZpbmNlID0gdGhpcy5wcm92aW5jZXMuZmluZCgoZWxlbWVudCkgPT4gZWxlbWVudC5sYWJlbCA9PT0gZXZlbnQubmFtZSk7XHJcbiAgICAgIGlmIChwcm92aW5jZSkge1xyXG4gICAgICAgIHRoaXMuc3RhY2sucHVzaCh0aGlzLm1hcFN0eWxlKTtcclxuICAgICAgICB0aGlzLm1hcFN0eWxlID0gcHJvdmluY2UudmFsdWU7XHJcbiAgICAgICAgdGhpcy5yZWxvYWRNYXAoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5hcmVhQ2xpY2suZW1pdCh7IG5hbWU6IGV2ZW50Lm5hbWUsIGxuZywgbGF0IH0pO1xyXG4gICAgLy8gaWYoZXZlbnQuY29tcG9uZW50U3ViVHlwZSE9bnVsbCAmJiBldmVudC5jb21wb25lbnRTdWJUeXBlPT09J3NjYXR0ZXInKXtcclxuICAgIC8vICAgY29uc3Qgb2JqPWV2ZW50LmRhdGE7XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKGV2ZW50KTtcclxuICAgIC8vICAgdGhpcy5tYXJrZXJUaWVyQ2xpY2suZW1pdCh7XHJcbiAgICAvLyAgICAgYWRkcmVzczogb2JqLm5hbWUsXHJcbiAgICAvLyAgICAgaW5mb3JtYXRpb246ICcnLFxyXG4gICAgLy8gICAgIGdyb3VwOiAnJyxcclxuICAgIC8vICAgICBsbmc6IG9iai52YWx1ZVswXSxcclxuICAgIC8vICAgICBsYXQ6IG9iai52YWx1ZVsxXSxcclxuICAgIC8vICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIHJvbGxiYWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgaWYgKHRoaXMuc3RhY2sgIT0gbnVsbCAmJiB0aGlzLnN0YWNrLmxlbmd0aCAhPSAwKSB7XHJcbiAgICAgIHRoaXMubWFwU3R5bGUgPSB0aGlzLnN0YWNrLnBvcCgpO1xyXG4gICAgICB0aGlzLnJlbG9hZE1hcCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VGV4dFN0eWxlKCkge31cclxufVxyXG4iXX0=