@universis/ngx-tables 6.14.2 → 9.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/bundles/universis-ngx-tables.umd.js +4902 -6847
  2. package/bundles/universis-ngx-tables.umd.js.map +1 -1
  3. package/bundles/universis-ngx-tables.umd.min.js +15 -1
  4. package/bundles/universis-ngx-tables.umd.min.js.map +1 -1
  5. package/esm2015/lib/actions/table.actions.js +7 -49
  6. package/esm2015/lib/advanced-aggregator.js +0 -5
  7. package/esm2015/lib/components/add-items/add-items.component.js +36 -96
  8. package/esm2015/lib/components/advanced-aggregator/advanced-aggregator.component.js +48 -103
  9. package/esm2015/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +36 -58
  10. package/esm2015/lib/components/advanced-list/advanced-list.component.js +67 -120
  11. package/esm2015/lib/components/advanced-row-action/advanced-row-action.component.js +61 -118
  12. package/esm2015/lib/components/advanced-search-form/advanced-search-form.component.js +47 -99
  13. package/esm2015/lib/components/advanced-select/advanced-select.component.js +25 -58
  14. package/esm2015/lib/components/advanced-select/advanced-select.service.js +10 -27
  15. package/esm2015/lib/components/advanced-table/advanced-filter-value-provider.service.js +13 -36
  16. package/esm2015/lib/components/advanced-table/advanced-table-resolvers.js +22 -50
  17. package/esm2015/lib/components/advanced-table/advanced-table-search-base.js +15 -37
  18. package/esm2015/lib/components/advanced-table/advanced-table-search.component.js +55 -227
  19. package/esm2015/lib/components/advanced-table/advanced-table-settings.component.js +23 -96
  20. package/esm2015/lib/components/advanced-table/advanced-table.component.js +303 -688
  21. package/esm2015/lib/components/advanced-table/advanced-table.formatters.interface.js +1 -10
  22. package/esm2015/lib/components/advanced-table/advanced-table.formatters.js +19 -230
  23. package/esm2015/lib/components/advanced-table/advanced-table.interfaces.js +0 -5
  24. package/esm2015/lib/components/advanced-table/custom-button.formatter.js +3 -17
  25. package/esm2015/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +77 -198
  26. package/esm2015/lib/components/column-selector/column-selector.component.js +39 -109
  27. package/esm2015/lib/components/column-selector/column-selector.service.js +9 -26
  28. package/esm2015/lib/components/table-simple-header/table-simple-header.component.js +28 -51
  29. package/esm2015/lib/directives/advance-search-state.directive.js +22 -54
  30. package/esm2015/lib/directives/advance-table-state.directive.js +20 -39
  31. package/esm2015/lib/directives/advanced-search-router-state.directive.js +15 -37
  32. package/esm2015/lib/directives/advanced-table-editor.directive.js +24 -54
  33. package/esm2015/lib/directives/btnexp.directive.js +55 -97
  34. package/esm2015/lib/i18n/tables.el.js +3 -7
  35. package/esm2015/lib/i18n/tables.en.js +3 -7
  36. package/esm2015/lib/pipes/advanced-aggregator.pipe.js +15 -18
  37. package/esm2015/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +13 -25
  38. package/esm2015/lib/reducers/index.js +7 -37
  39. package/esm2015/lib/services/advanced-aggregator/advanced-aggregator.service.js +27 -48
  40. package/esm2015/lib/tables.activated-table.service.js +11 -46
  41. package/esm2015/lib/tables.module.js +90 -105
  42. package/esm2015/public_api.js +29 -34
  43. package/esm2015/universis-ngx-tables.js +2 -7
  44. package/esm5/lib/actions/table.actions.js +7 -38
  45. package/esm5/lib/advanced-aggregator.js +0 -5
  46. package/esm5/lib/components/add-items/add-items.component.js +42 -127
  47. package/esm5/lib/components/advanced-aggregator/advanced-aggregator.component.js +58 -141
  48. package/esm5/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.js +32 -71
  49. package/esm5/lib/components/advanced-list/advanced-list.component.js +67 -136
  50. package/esm5/lib/components/advanced-row-action/advanced-row-action.component.js +62 -139
  51. package/esm5/lib/components/advanced-search-form/advanced-search-form.component.js +45 -116
  52. package/esm5/lib/components/advanced-select/advanced-select.component.js +23 -57
  53. package/esm5/lib/components/advanced-select/advanced-select.service.js +8 -27
  54. package/esm5/lib/components/advanced-table/advanced-filter-value-provider.service.js +15 -50
  55. package/esm5/lib/components/advanced-table/advanced-table-resolvers.js +18 -52
  56. package/esm5/lib/components/advanced-table/advanced-table-search-base.js +17 -48
  57. package/esm5/lib/components/advanced-table/advanced-table-search.component.js +84 -329
  58. package/esm5/lib/components/advanced-table/advanced-table-settings.component.js +27 -116
  59. package/esm5/lib/components/advanced-table/advanced-table.component.js +324 -863
  60. package/esm5/lib/components/advanced-table/advanced-table.formatters.interface.js +1 -10
  61. package/esm5/lib/components/advanced-table/advanced-table.formatters.js +58 -393
  62. package/esm5/lib/components/advanced-table/advanced-table.interfaces.js +0 -5
  63. package/esm5/lib/components/advanced-table/custom-button.formatter.js +6 -27
  64. package/esm5/lib/components/advanced-table-modal/advanced-table-modal-base.component.js +90 -296
  65. package/esm5/lib/components/column-selector/column-selector.component.js +46 -143
  66. package/esm5/lib/components/column-selector/column-selector.service.js +7 -26
  67. package/esm5/lib/components/table-simple-header/table-simple-header.component.js +26 -61
  68. package/esm5/lib/directives/advance-search-state.directive.js +24 -74
  69. package/esm5/lib/directives/advance-table-state.directive.js +17 -37
  70. package/esm5/lib/directives/advanced-search-router-state.directive.js +13 -43
  71. package/esm5/lib/directives/advanced-table-editor.directive.js +31 -81
  72. package/esm5/lib/directives/btnexp.directive.js +43 -175
  73. package/esm5/lib/i18n/tables.el.js +3 -7
  74. package/esm5/lib/i18n/tables.en.js +3 -7
  75. package/esm5/lib/pipes/advanced-aggregator.pipe.js +9 -35
  76. package/esm5/lib/pipes/advansed-aggregator-list-title-parse.pipe.js +9 -36
  77. package/esm5/lib/reducers/index.js +8 -38
  78. package/esm5/lib/services/advanced-aggregator/advanced-aggregator.service.js +21 -82
  79. package/esm5/lib/tables.activated-table.service.js +10 -42
  80. package/esm5/lib/tables.module.js +89 -105
  81. package/esm5/public_api.js +29 -34
  82. package/esm5/universis-ngx-tables.js +2 -7
  83. package/fesm2015/universis-ngx-tables.js +1177 -2186
  84. package/fesm2015/universis-ngx-tables.js.map +1 -1
  85. package/fesm5/universis-ngx-tables.js +1235 -3067
  86. package/fesm5/universis-ngx-tables.js.map +1 -1
  87. package/lib/actions/table.actions.d.ts +3 -3
  88. package/lib/components/add-items/add-items.component.d.ts +1 -1
  89. package/lib/components/advanced-aggregator/advanced-aggregator.component.d.ts +7 -4
  90. package/lib/components/advanced-aggregator-list/advanced-aggregator-list.component.d.ts +1 -1
  91. package/lib/components/advanced-row-action/advanced-row-action.component.d.ts +1 -1
  92. package/lib/components/advanced-table/advanced-table-search-base.d.ts +3 -2
  93. package/lib/components/advanced-table/advanced-table-search.component.d.ts +3 -2
  94. package/lib/components/advanced-table/advanced-table.component.d.ts +13 -8
  95. package/lib/directives/advanced-table-editor.directive.d.ts +1 -1
  96. package/lib/i18n/tables.el.d.ts +108 -108
  97. package/lib/i18n/tables.en.d.ts +107 -107
  98. package/lib/reducers/index.d.ts +3 -3
  99. package/lib/tables.activated-table.service.d.ts +2 -1
  100. package/package.json +20 -31
  101. package/universis-ngx-tables.metadata.json +1 -1
@@ -1,15 +1,10 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import * as tslib_1 from "tslib";
1
+ import { __awaiter, __decorate, __generator, __values } from "tslib";
6
2
  import { Directive, HostListener } from '@angular/core';
7
3
  import { ActivatedTableService } from '../tables.activated-table.service';
8
4
  import { AngularDataContext } from '@themost/angular';
9
5
  import { ConfigurationService, ErrorService, LoadingService } from '@universis/common';
10
6
  import { TranslateService } from '@ngx-translate/core';
11
7
  import { ResponseError } from '@themost/client';
12
- /** @type {?} */
13
8
  export var MAX_EXPORT_ITEMS = 500;
14
9
  var BtnExpDirective = /** @class */ (function () {
15
10
  function BtnExpDirective(_activatedTable, _context, _config, _translate, _loadingService, _errorService) {
@@ -20,41 +15,33 @@ var BtnExpDirective = /** @class */ (function () {
20
15
  this._loadingService = _loadingService;
21
16
  this._errorService = _errorService;
22
17
  }
23
- /**
24
- * @param {?} event
25
- * @return {?}
26
- */
27
- BtnExpDirective.prototype.clickEvent = /**
28
- * @param {?} event
29
- * @return {?}
30
- */
31
- function (event) {
32
- return tslib_1.__awaiter(this, void 0, void 0, function () {
33
- return tslib_1.__generator(this, function (_a) {
18
+ BtnExpDirective.prototype.clickEvent = function (event) {
19
+ return __awaiter(this, void 0, void 0, function () {
20
+ return __generator(this, function (_a) {
34
21
  event.preventDefault();
35
22
  event.stopPropagation();
36
23
  if (this._activatedTable.activeTable) {
37
24
  return [2 /*return*/, this._activatedTable.activeTable.exportView()];
38
25
  /*
39
- const lastQuery = this._activatedTable.activeTable.lastQuery;
40
- const tableConfig = this._activatedTable.activeTable.config;
41
- const serviceHeaders = this._context.getService().getHeaders();
42
- const queryModel = lastQuery.getModel();
43
- let query = this._context.model(queryModel).asQueryable();
44
- const queryParams = lastQuery.getParams();
45
- query = this.constructQuery(query, queryParams, tableConfig, serviceHeaders);
46
- // get export settings
47
- const exportSettings = this._config.settings as ExportLimitConfiguration;
48
- // get export limit
49
- const maxExportItems = exportSettings && exportSettings.tables && exportSettings.tables.exportLimit;
50
- if (maxExportItems && typeof maxExportItems === 'number' && maxExportItems > 0) {
51
- query.skip(0).take(maxExportItems);
52
- } else {
53
- query.skip(0).take(MAX_EXPORT_ITEMS);
54
- }
55
- // This constructs the URI based on the way @themost does
56
- const url = this.constructURL(query);
57
- this.downloadFile(url, query.getService().getHeaders(), query.getModel()); */
26
+ const lastQuery = this._activatedTable.activeTable.lastQuery;
27
+ const tableConfig = this._activatedTable.activeTable.config;
28
+ const serviceHeaders = this._context.getService().getHeaders();
29
+ const queryModel = lastQuery.getModel();
30
+ let query = this._context.model(queryModel).asQueryable();
31
+ const queryParams = lastQuery.getParams();
32
+ query = this.constructQuery(query, queryParams, tableConfig, serviceHeaders);
33
+ // get export settings
34
+ const exportSettings = this._config.settings as ExportLimitConfiguration;
35
+ // get export limit
36
+ const maxExportItems = exportSettings && exportSettings.tables && exportSettings.tables.exportLimit;
37
+ if (maxExportItems && typeof maxExportItems === 'number' && maxExportItems > 0) {
38
+ query.skip(0).take(maxExportItems);
39
+ } else {
40
+ query.skip(0).take(MAX_EXPORT_ITEMS);
41
+ }
42
+ // This constructs the URI based on the way @themost does
43
+ const url = this.constructURL(query);
44
+ this.downloadFile(url, query.getService().getHeaders(), query.getModel()); */
58
45
  }
59
46
  return [2 /*return*/];
60
47
  });
@@ -67,21 +54,7 @@ var BtnExpDirective = /** @class */ (function () {
67
54
  * @param params: The filters of the last query of the activated table
68
55
  * @return ClientDataQueryable
69
56
  */
70
- /**
71
- * Sets the parameters to the query based on
72
- * the active filters of the activated table
73
- * @param {?} query
74
- * @param {?} params
75
- * @return {?} ClientDataQueryable
76
- */
77
- BtnExpDirective.prototype.setParams = /**
78
- * Sets the parameters to the query based on
79
- * the active filters of the activated table
80
- * @param {?} query
81
- * @param {?} params
82
- * @return {?} ClientDataQueryable
83
- */
84
- function (query, params) {
57
+ BtnExpDirective.prototype.setParams = function (query, params) {
85
58
  if (params && typeof params === 'object') {
86
59
  Object.keys(params).forEach(function (key) {
87
60
  query.setParam(key, params[key]);
@@ -98,25 +71,7 @@ var BtnExpDirective = /** @class */ (function () {
98
71
  * @param headers: The headers to append to the query
99
72
  * @return ClientDataQueryable
100
73
  */
101
- /**
102
- * Sets the headers to the query based on
103
- * the default headers of the DataContext
104
- * and appending the accept header to get
105
- * an xlsx file from the API
106
- * @param {?} query
107
- * @param {?} headers
108
- * @return {?} ClientDataQueryable
109
- */
110
- BtnExpDirective.prototype.setHeaders = /**
111
- * Sets the headers to the query based on
112
- * the default headers of the DataContext
113
- * and appending the accept header to get
114
- * an xlsx file from the API
115
- * @param {?} query
116
- * @param {?} headers
117
- * @return {?} ClientDataQueryable
118
- */
119
- function (query, headers) {
74
+ BtnExpDirective.prototype.setHeaders = function (query, headers) {
120
75
  Object.keys(headers).forEach(function (key) {
121
76
  if (headers.hasOwnProperty(key)) {
122
77
  query.getService().setHeader(key, headers[key]);
@@ -135,38 +90,17 @@ var BtnExpDirective = /** @class */ (function () {
135
90
  * @param tableConfig: The configuration of the activated table
136
91
  * @return ClientDataQueryable
137
92
  */
138
- /**
139
- * Constructs the select parameter of the
140
- * ClientDataQuery by replacing the target name
141
- * of the field based on the localized translation
142
- * of that property on the advanced tabled
143
- * @param {?} query
144
- * @param {?} tableConfig
145
- * @return {?} ClientDataQueryable
146
- */
147
- BtnExpDirective.prototype.constructQueryParam = /**
148
- * Constructs the select parameter of the
149
- * ClientDataQuery by replacing the target name
150
- * of the field based on the localized translation
151
- * of that property on the advanced tabled
152
- * @param {?} query
153
- * @param {?} tableConfig
154
- * @return {?} ClientDataQueryable
155
- */
156
- function (query, tableConfig) {
93
+ BtnExpDirective.prototype.constructQueryParam = function (query, tableConfig) {
157
94
  var _this = this;
158
- /** @type {?} */
159
95
  var selectQuery = query.getParams().$select;
160
- /** @type {?} */
161
96
  var selectQueryArray = selectQuery.split(',');
162
97
  selectQueryArray = selectQueryArray.map(function (select) {
163
98
  var e_1, _a, e_2, _b;
164
- /** @type {?} */
165
99
  var words = select.split(' ');
166
100
  if (words.length === 3) {
167
101
  if (tableConfig && tableConfig.columns) {
168
102
  try {
169
- for (var _c = tslib_1.__values(tableConfig.columns), _d = _c.next(); !_d.done; _d = _c.next()) {
103
+ for (var _c = __values(tableConfig.columns), _d = _c.next(); !_d.done; _d = _c.next()) {
170
104
  var column = _d.value;
171
105
  if (column.property === words[2] && column.title) {
172
106
  words[2] = "\"" + _this._translate.instant(column.title) + "\"";
@@ -188,7 +122,7 @@ var BtnExpDirective = /** @class */ (function () {
188
122
  if (words.length === 1) {
189
123
  if (tableConfig && tableConfig.columns) {
190
124
  try {
191
- for (var _e = tslib_1.__values(tableConfig.columns), _f = _e.next(); !_f.done; _f = _e.next()) {
125
+ for (var _e = __values(tableConfig.columns), _f = _e.next(); !_f.done; _f = _e.next()) {
192
126
  var column = _f.value;
193
127
  if (column.name === words[0] && column.title) {
194
128
  words[0] = words[0] + " as \"" + _this._translate.instant(column.title) + "\"";
@@ -228,20 +162,8 @@ var BtnExpDirective = /** @class */ (function () {
228
162
  * @param query
229
163
  * @return String
230
164
  */
231
- /**
232
- * Constructs the fetch URL based the query parameters
233
- * @param {?} query
234
- * @return {?} String
235
- */
236
- BtnExpDirective.prototype.constructURL = /**
237
- * Constructs the fetch URL based the query parameters
238
- * @param {?} query
239
- * @return {?} String
240
- */
241
- function (query) {
242
- /** @type {?} */
165
+ BtnExpDirective.prototype.constructURL = function (query) {
243
166
  var baseURL = query.getService().getBase();
244
- /** @type {?} */
245
167
  var url = baseURL.endsWith('/') ? (baseURL + query.getModel() + '?') : (baseURL + '/' + query.getModel() + '?');
246
168
  Object.keys(query.getParams()).forEach(function (key, index) {
247
169
  if (index === 0) {
@@ -263,28 +185,7 @@ var BtnExpDirective = /** @class */ (function () {
263
185
  * @param headers: The headers to append to the query
264
186
  * @return ClientDataQueryable
265
187
  */
266
- /**
267
- * Constructs the query by setting the parameters of the
268
- * advanced table's active filters, sets the necessary headers
269
- * and build the select parameter of the query
270
- * @param {?} query
271
- * @param {?} params
272
- * @param {?} tableConfig
273
- * @param {?} headers
274
- * @return {?} ClientDataQueryable
275
- */
276
- BtnExpDirective.prototype.constructQuery = /**
277
- * Constructs the query by setting the parameters of the
278
- * advanced table's active filters, sets the necessary headers
279
- * and build the select parameter of the query
280
- * @param {?} query
281
- * @param {?} params
282
- * @param {?} tableConfig
283
- * @param {?} headers
284
- * @return {?} ClientDataQueryable
285
- */
286
- function (query, params, tableConfig, headers) {
287
- /** @type {?} */
188
+ BtnExpDirective.prototype.constructQuery = function (query, params, tableConfig, headers) {
288
189
  var _query = this.setParams(query, params);
289
190
  _query = this.setHeaders(_query, headers);
290
191
  _query = this.constructQueryParam(_query, tableConfig);
@@ -296,21 +197,7 @@ var BtnExpDirective = /** @class */ (function () {
296
197
  * @param serviceHeaders: The headers to append to the query
297
198
  * @param modelName: The model name of the advanced table
298
199
  */
299
- /**
300
- * Fetches and saves the xlsx file
301
- * @param {?} url
302
- * @param {?} serviceHeaders
303
- * @param {?} modelName
304
- * @return {?}
305
- */
306
- BtnExpDirective.prototype.downloadFile = /**
307
- * Fetches and saves the xlsx file
308
- * @param {?} url
309
- * @param {?} serviceHeaders
310
- * @param {?} modelName
311
- * @return {?}
312
- */
313
- function (url, serviceHeaders, modelName) {
200
+ BtnExpDirective.prototype.downloadFile = function (url, serviceHeaders, modelName) {
314
201
  var _this = this;
315
202
  this._loadingService.showLoading();
316
203
  fetch(encodeURI(url), {
@@ -322,19 +209,16 @@ var BtnExpDirective = /** @class */ (function () {
322
209
  }
323
210
  return response.blob();
324
211
  }).then(function (blob) {
325
- /** @type {?} */
326
212
  var objectUrl = window.URL.createObjectURL(blob);
327
- /** @type {?} */
328
213
  var a = document.createElement('a');
329
214
  document.body.appendChild(a);
330
215
  a.setAttribute('style', 'display: none');
331
216
  a.href = objectUrl;
332
- /** @type {?} */
333
217
  var downloadName = modelName + ".xlsx";
334
218
  a.download = downloadName;
335
219
  // this adds support for IE and MS Edge (up to version 44.19041)
336
- if (window.navigator && (/** @type {?} */ (window.navigator)).msSaveOrOpenBlob) {
337
- (/** @type {?} */ (window.navigator)).msSaveOrOpenBlob(blob, downloadName);
220
+ if (window.navigator && window.navigator.msSaveOrOpenBlob) {
221
+ window.navigator.msSaveOrOpenBlob(blob, downloadName);
338
222
  }
339
223
  else {
340
224
  // for all other browsers
@@ -350,13 +234,6 @@ var BtnExpDirective = /** @class */ (function () {
350
234
  });
351
235
  });
352
236
  };
353
- BtnExpDirective.decorators = [
354
- { type: Directive, args: [{
355
- // tslint:disable-next-line:directive-selector
356
- selector: '.universis-btn-export'
357
- },] }
358
- ];
359
- /** @nocollapse */
360
237
  BtnExpDirective.ctorParameters = function () { return [
361
238
  { type: ActivatedTableService },
362
239
  { type: AngularDataContext },
@@ -365,25 +242,16 @@ var BtnExpDirective = /** @class */ (function () {
365
242
  { type: LoadingService },
366
243
  { type: ErrorService }
367
244
  ]; };
368
- BtnExpDirective.propDecorators = {
369
- clickEvent: [{ type: HostListener, args: ['click', ['$event'],] }]
370
- };
245
+ __decorate([
246
+ HostListener('click', ['$event'])
247
+ ], BtnExpDirective.prototype, "clickEvent", null);
248
+ BtnExpDirective = __decorate([
249
+ Directive({
250
+ // tslint:disable-next-line:directive-selector
251
+ selector: '.universis-btn-export'
252
+ })
253
+ ], BtnExpDirective);
371
254
  return BtnExpDirective;
372
255
  }());
373
256
  export { BtnExpDirective };
374
- if (false) {
375
- /** @type {?} */
376
- BtnExpDirective.prototype._activatedTable;
377
- /** @type {?} */
378
- BtnExpDirective.prototype._context;
379
- /** @type {?} */
380
- BtnExpDirective.prototype._config;
381
- /** @type {?} */
382
- BtnExpDirective.prototype._translate;
383
- /** @type {?} */
384
- BtnExpDirective.prototype._loadingService;
385
- /** @type {?} */
386
- BtnExpDirective.prototype._errorService;
387
- }
388
-
389
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuZXhwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2J0bmV4cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBc0IsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7O0FBR25FLFdBQWEsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDOztJQWFsQyx5QkFBb0IsZUFBc0MsRUFDdEMsVUFDQSxTQUNBLFlBQ0EsaUJBQ0E7UUFMQSxvQkFBZSxHQUFmLGVBQWUsQ0FBdUI7UUFDdEMsYUFBUSxHQUFSLFFBQVE7UUFDUixZQUFPLEdBQVAsT0FBTztRQUNQLGVBQVUsR0FBVixVQUFVO1FBQ1Ysb0JBQWUsR0FBZixlQUFlO1FBQ2Ysa0JBQWEsR0FBYixhQUFhO0tBQ2hDOzs7OztJQUdLLG9DQUFVOzs7O0lBRGhCLFVBQ2lCLEtBQUs7OztnQkFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUU7b0JBQ3BDLHNCQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxFQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUJBcUJ0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QWdCLEVBQUMsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbEUsbUJBQUMsTUFBTSxDQUFDLFNBQWdCLEVBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7YUFDaEU7aUJBQU07O2dCQUVMLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNYO1lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsS0FBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUEsR0FBRztZQUNWLEtBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNoQyxZQUFZLEVBQUUsR0FBRzthQUNsQixDQUFDLENBQUM7U0FDSixDQUFDLENBQUM7S0FDSjs7Z0JBNU1GLFNBQVMsU0FBQzs7b0JBRVQsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7Ozs7Z0JBbEJPLHFCQUFxQjtnQkFDckIsa0JBQWtCO2dCQUNsQixvQkFBb0I7Z0JBQ3BCLGdCQUFnQjtnQkFEb0IsY0FBYztnQkFBNUIsWUFBWTs7OzZCQTBCdkMsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7MEJBN0JuQzs7U0FvQmEsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRUYWJsZVNlcnZpY2V9IGZyb20gJy4uL3RhYmxlcy5hY3RpdmF0ZWQtdGFibGUuc2VydmljZSc7XG5pbXBvcnQge0FuZ3VsYXJEYXRhQ29udGV4dH0gZnJvbSAnQHRoZW1vc3QvYW5ndWxhcic7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBFcnJvclNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbic7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDbGllbnREYXRhUXVlcnlhYmxlLCBSZXNwb25zZUVycm9yfSBmcm9tICdAdGhlbW9zdC9jbGllbnQnO1xuaW1wb3J0IHsgVGFibGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IE1BWF9FWFBPUlRfSVRFTVMgPSA1MDA7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFeHBvcnRMaW1pdENvbmZpZ3VyYXRpb24ge1xuICB0YWJsZXM/OiB7XG4gICAgZXhwb3J0TGltaXQ/OiBudW1iZXJcbiAgfTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICcudW5pdmVyc2lzLWJ0bi1leHBvcnQnXG59KVxuZXhwb3J0IGNsYXNzIEJ0bkV4cERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FjdGl2YXRlZFRhYmxlOiBBY3RpdmF0ZWRUYWJsZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NvbnRleHQ6IEFuZ3VsYXJEYXRhQ29udGV4dCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Vycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIGFzeW5jIGNsaWNrRXZlbnQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLl9hY3RpdmF0ZWRUYWJsZS5hY3RpdmVUYWJsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2YXRlZFRhYmxlLmFjdGl2ZVRhYmxlLmV4cG9ydFZpZXcoKTtcbiAgICAgIC8qXG4gICAgICBjb25zdCBsYXN0UXVlcnkgPSB0aGlzLl9hY3RpdmF0ZWRUYWJsZS5hY3RpdmVUYWJsZS5sYXN0UXVlcnk7XG4gICAgICBjb25zdCB0YWJsZUNvbmZpZyA9IHRoaXMuX2FjdGl2YXRlZFRhYmxlLmFjdGl2ZVRhYmxlLmNvbmZpZztcbiAgICAgIGNvbnN0IHNlcnZpY2VIZWFkZXJzID0gdGhpcy5fY29udGV4dC5nZXRTZXJ2aWNlKCkuZ2V0SGVhZGVycygpO1xuICAgICAgY29uc3QgcXVlcnlNb2RlbCA9IGxhc3RRdWVyeS5nZXRNb2RlbCgpO1xuICAgICAgbGV0IHF1ZXJ5ID0gdGhpcy5fY29udGV4dC5tb2RlbChxdWVyeU1vZGVsKS5hc1F1ZXJ5YWJsZSgpO1xuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSBsYXN0UXVlcnkuZ2V0UGFyYW1zKCk7XG4gICAgICBxdWVyeSA9IHRoaXMuY29uc3RydWN0UXVlcnkocXVlcnksIHF1ZXJ5UGFyYW1zLCB0YWJsZUNvbmZpZywgc2VydmljZUhlYWRlcnMpO1xuICAgICAgLy8gZ2V0IGV4cG9ydCBzZXR0aW5nc1xuICAgICAgY29uc3QgZXhwb3J0U2V0dGluZ3MgPSB0aGlzLl9jb25maWcuc2V0dGluZ3MgYXMgRXhwb3J0TGltaXRDb25maWd1cmF0aW9uO1xuICAgICAgLy8gZ2V0IGV4cG9ydCBsaW1pdFxuICAgICAgY29uc3QgbWF4RXhwb3J0SXRlbXMgPSBleHBvcnRTZXR0aW5ncyAmJiBleHBvcnRTZXR0aW5ncy50YWJsZXMgJiYgZXhwb3J0U2V0dGluZ3MudGFibGVzLmV4cG9ydExpbWl0O1xuICAgICAgaWYgKG1heEV4cG9ydEl0ZW1zICYmIHR5cGVvZiBtYXhFeHBvcnRJdGVtcyA9PT0gJ251bWJlcicgJiYgbWF4RXhwb3J0SXRlbXMgPiAwKSB7XG4gICAgICAgIHF1ZXJ5LnNraXAoMCkudGFrZShtYXhFeHBvcnRJdGVtcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWVyeS5za2lwKDApLnRha2UoTUFYX0VYUE9SVF9JVEVNUyk7XG4gICAgICB9XG4gICAgICAvLyBUaGlzIGNvbnN0cnVjdHMgdGhlIFVSSSBiYXNlZCBvbiB0aGUgd2F5IEB0aGVtb3N0IGRvZXNcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uc3RydWN0VVJMKHF1ZXJ5KTtcbiAgICAgIHRoaXMuZG93bmxvYWRGaWxlKHVybCwgcXVlcnkuZ2V0U2VydmljZSgpLmdldEhlYWRlcnMoKSwgcXVlcnkuZ2V0TW9kZWwoKSk7ICovXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcmFtZXRlcnMgdG8gdGhlIHF1ZXJ5IGJhc2VkIG9uXG4gICAqIHRoZSBhY3RpdmUgZmlsdGVycyBvZiB0aGUgYWN0aXZhdGVkIHRhYmxlXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcGFyYW0gcGFyYW1zOiBUaGUgZmlsdGVycyBvZiB0aGUgbGFzdCBxdWVyeSBvZiB0aGUgYWN0aXZhdGVkIHRhYmxlXG4gICAqIEByZXR1cm4gQ2xpZW50RGF0YVF1ZXJ5YWJsZVxuICAgKi9cbiAgc2V0UGFyYW1zKHF1ZXJ5OiBDbGllbnREYXRhUXVlcnlhYmxlLCBwYXJhbXMpOiBDbGllbnREYXRhUXVlcnlhYmxlIHtcbiAgICBpZiAocGFyYW1zICYmIHR5cGVvZiBwYXJhbXMgPT09ICdvYmplY3QnKSB7XG4gICAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBxdWVyeS5zZXRQYXJhbShrZXksIHBhcmFtc1trZXldKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaGVhZGVycyB0byB0aGUgcXVlcnkgYmFzZWQgb25cbiAgICogdGhlIGRlZmF1bHQgaGVhZGVycyBvZiB0aGUgRGF0YUNvbnRleHRcbiAgICogYW5kIGFwcGVuZGluZyB0aGUgYWNjZXB0IGhlYWRlciB0byBnZXRcbiAgICogYW4geGxzeCBmaWxlIGZyb20gdGhlIEFQSVxuICAgKiBAcGFyYW0gcXVlcnlcbiAgICogQHBhcmFtIGhlYWRlcnM6IFRoZSBoZWFkZXJzIHRvIGFwcGVuZCB0byB0aGUgcXVlcnlcbiAgICogQHJldHVybiBDbGllbnREYXRhUXVlcnlhYmxlXG4gICAqL1xuICBzZXRIZWFkZXJzKHF1ZXJ5OiBDbGllbnREYXRhUXVlcnlhYmxlLCBoZWFkZXJzOiBIZWFkZXJzKTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSB7XG4gICAgT2JqZWN0LmtleXMoaGVhZGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIHF1ZXJ5LmdldFNlcnZpY2UoKS5zZXRIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIHNldHMgYSBoZWFkZXIgdG8gYWNjZXB0IHhsc3ggZmlsZXNcbiAgICBxdWVyeS5nZXRTZXJ2aWNlKCkuc2V0SGVhZGVyKCdBY2NlcHQnLCAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnKTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgc2VsZWN0IHBhcmFtZXRlciBvZiB0aGVcbiAgICogQ2xpZW50RGF0YVF1ZXJ5IGJ5IHJlcGxhY2luZyB0aGUgdGFyZ2V0IG5hbWVcbiAgICogb2YgdGhlIGZpZWxkIGJhc2VkIG9uIHRoZSBsb2NhbGl6ZWQgdHJhbnNsYXRpb25cbiAgICogb2YgdGhhdCBwcm9wZXJ0eSBvbiB0aGUgYWR2YW5jZWQgdGFibGVkXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcGFyYW0gdGFibGVDb25maWc6IFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBhY3RpdmF0ZWQgdGFibGVcbiAgICogQHJldHVybiBDbGllbnREYXRhUXVlcnlhYmxlXG4gICAqL1xuICBjb25zdHJ1Y3RRdWVyeVBhcmFtKHF1ZXJ5OiBDbGllbnREYXRhUXVlcnlhYmxlLCB0YWJsZUNvbmZpZzogVGFibGVDb25maWd1cmF0aW9uKTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSB7XG4gICAgbGV0IHNlbGVjdFF1ZXJ5ID0gcXVlcnkuZ2V0UGFyYW1zKCkuJHNlbGVjdDtcbiAgICBsZXQgc2VsZWN0UXVlcnlBcnJheSA9IHNlbGVjdFF1ZXJ5LnNwbGl0KCcsJyk7XG4gICAgc2VsZWN0UXVlcnlBcnJheSA9IHNlbGVjdFF1ZXJ5QXJyYXkubWFwKChzZWxlY3QpID0+IHtcbiAgICAgIGNvbnN0IHdvcmRzID0gc2VsZWN0LnNwbGl0KCcgJyk7XG4gICAgICBpZiAod29yZHMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIGlmICh0YWJsZUNvbmZpZyAmJiB0YWJsZUNvbmZpZy5jb2x1bW5zKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVDb25maWcuY29sdW1ucykge1xuICAgICAgICAgICAgaWYgKGNvbHVtbi5wcm9wZXJ0eSA9PT0gd29yZHNbMl0gJiYgY29sdW1uLnRpdGxlKSB7XG4gICAgICAgICAgICAgIHdvcmRzWzJdID0gYFwiJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudChjb2x1bW4udGl0bGUpfVwiYDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uLnByb3BlcnR5ID09PSB3b3Jkc1syXSkge1xuICAgICAgICAgICAgICB3b3Jkc1syXSA9IGBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQod29yZHNbMl0pfVwiYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh3b3Jkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgaWYgKHRhYmxlQ29uZmlnICYmIHRhYmxlQ29uZmlnLmNvbHVtbnMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZUNvbmZpZy5jb2x1bW5zKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uLm5hbWUgPT09IHdvcmRzWzBdICYmIGNvbHVtbi50aXRsZSkge1xuICAgICAgICAgICAgICB3b3Jkc1swXSA9IGAke3dvcmRzWzBdfSBhcyBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoY29sdW1uLnRpdGxlKX1cImA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW4ubmFtZSA9PT0gd29yZHNbMF0gJiYgY29sdW1uLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIHdvcmRzWzBdID0gYCR7d29yZHNbMF19IGFzIFwiJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudChjb2x1bW4ucHJvcGVydHkpfVwiYDtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHdvcmRzWzBdID09PSBjb2x1bW4ubmFtZSAmJiB3b3Jkc1swXSA9PT0gJ2lkJyAmJiBjb2x1bW4uaGlkZGVuKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnRyaXBsZS1lcXVhbHNcbiAgICAgICAgICAgIH0gZWxzZSBpZiAod29yZHNbMF0gPT0gY29sdW1uLm5hbWUgfHwgd29yZHNbMF0gPT09IGNvbHVtbi5wcm9wZXJ0eSkge1xuICAgICAgICAgICAgICB3b3Jkc1swXSA9IGAke3dvcmRzWzBdfSBhcyBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQod29yZHNbMF0pfVwiYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHdvcmRzWzBdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdvcmRzLmpvaW4oJyAnKTtcbiAgICB9KTtcbiAgICBzZWxlY3RRdWVyeSA9IHNlbGVjdFF1ZXJ5QXJyYXkuam9pbignLCcpO1xuICAgIHF1ZXJ5LnNldFBhcmFtKCckc2VsZWN0Jywgc2VsZWN0UXVlcnkgKTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgZmV0Y2ggVVJMIGJhc2VkIHRoZSBxdWVyeSBwYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcmV0dXJuIFN0cmluZ1xuICAgKi9cbiAgY29uc3RydWN0VVJMKHF1ZXJ5KTogU3RyaW5nIHtcbiAgICBjb25zdCBiYXNlVVJMID0gcXVlcnkuZ2V0U2VydmljZSgpLmdldEJhc2UoKTtcbiAgICBsZXQgdXJsID0gYmFzZVVSTC5lbmRzV2l0aCgnLycpID8gKGJhc2VVUkwgKyBxdWVyeS5nZXRNb2RlbCgpICsgJz8nKSA6IChiYXNlVVJMICsgJy8nICsgcXVlcnkuZ2V0TW9kZWwoKSArICc/Jyk7XG4gICAgT2JqZWN0LmtleXMocXVlcnkuZ2V0UGFyYW1zKCkpLmZvckVhY2goKGtleSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICB1cmwgKz0ga2V5ICsgJz0nICsgcXVlcnkuZ2V0UGFyYW1zKClba2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCArPSAnJicgKyBrZXkgKyAnPScgKyBxdWVyeS5nZXRQYXJhbXMoKVtrZXldO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgcXVlcnkgYnkgc2V0dGluZyB0aGUgcGFyYW1ldGVycyBvZiB0aGVcbiAgICogYWR2YW5jZWQgdGFibGUncyBhY3RpdmUgZmlsdGVycywgc2V0cyB0aGUgbmVjZXNzYXJ5IGhlYWRlcnNcbiAgICogYW5kIGJ1aWxkIHRoZSBzZWxlY3QgcGFyYW1ldGVyIG9mIHRoZSBxdWVyeVxuICAgKiBAcGFyYW0gcXVlcnlcbiAgICogQHBhcmFtIHBhcmFtczogVGhlIGZpbHRlcnMgb2YgdGhlIGxhc3QgcXVlcnkgb2YgdGhlIGFjdGl2YXRlZCB0YWJsZVxuICAgKiBAcGFyYW0gdGFibGVDb25maWc6IFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBhY3RpdmF0ZWQgdGFibGVcbiAgICogQHBhcmFtIGhlYWRlcnM6IFRoZSBoZWFkZXJzIHRvIGFwcGVuZCB0byB0aGUgcXVlcnlcbiAgICogQHJldHVybiBDbGllbnREYXRhUXVlcnlhYmxlXG4gICAqL1xuICBjb25zdHJ1Y3RRdWVyeShxdWVyeSwgcGFyYW1zLCB0YWJsZUNvbmZpZywgaGVhZGVyczogSGVhZGVycykge1xuICAgIGxldCBfcXVlcnkgPSB0aGlzLnNldFBhcmFtcyhxdWVyeSwgcGFyYW1zKTtcbiAgICBfcXVlcnkgPSB0aGlzLnNldEhlYWRlcnMoX3F1ZXJ5LCBoZWFkZXJzKTtcbiAgICBfcXVlcnkgPSB0aGlzLmNvbnN0cnVjdFF1ZXJ5UGFyYW0oX3F1ZXJ5LCB0YWJsZUNvbmZpZyk7XG4gICAgcmV0dXJuIF9xdWVyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGFuZCBzYXZlcyB0aGUgeGxzeCBmaWxlXG4gICAqIEBwYXJhbSB1cmxcbiAgICogQHBhcmFtIHNlcnZpY2VIZWFkZXJzOiBUaGUgaGVhZGVycyB0byBhcHBlbmQgdG8gdGhlIHF1ZXJ5XG4gICAqIEBwYXJhbSBtb2RlbE5hbWU6IFRoZSBtb2RlbCBuYW1lIG9mIHRoZSBhZHZhbmNlZCB0YWJsZVxuICAgKi9cbiAgZG93bmxvYWRGaWxlKHVybCwgc2VydmljZUhlYWRlcnM6IEhlYWRlcnMsIG1vZGVsTmFtZSkge1xuICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLnNob3dMb2FkaW5nKCk7XG4gICAgZmV0Y2goZW5jb2RlVVJJKHVybCksIHtcbiAgICAgIGhlYWRlcnM6IHNlcnZpY2VIZWFkZXJzLFxuICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJ1xuICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlICYmICFyZXNwb25zZS5vaykge1xuICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihyZXNwb25zZS5zdGF0dXNUZXh0LCByZXNwb25zZS5zdGF0dXMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmJsb2IoKTtcbiAgICB9KS50aGVuKGJsb2IgPT4ge1xuICAgICAgY29uc3Qgb2JqZWN0VXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgICBhLmhyZWYgPSBvYmplY3RVcmw7XG4gICAgICBjb25zdCBkb3dubG9hZE5hbWUgPSBgJHttb2RlbE5hbWV9Lnhsc3hgO1xuICAgICAgYS5kb3dubG9hZCA9IGRvd25sb2FkTmFtZTtcbiAgICAgIC8vIHRoaXMgYWRkcyBzdXBwb3J0IGZvciBJRSBhbmQgTVMgRWRnZSAodXAgdG8gdmVyc2lvbiA0NC4xOTA0MSlcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdG9yICYmICh3aW5kb3cubmF2aWdhdG9yIGFzIGFueSkubXNTYXZlT3JPcGVuQmxvYikge1xuICAgICAgICAod2luZG93Lm5hdmlnYXRvciBhcyBhbnkpLm1zU2F2ZU9yT3BlbkJsb2IoYmxvYiwgZG93bmxvYWROYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGZvciBhbGwgb3RoZXIgYnJvd3NlcnNcbiAgICAgICAgYS5jbGljaygpO1xuICAgICAgfVxuICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTtcbiAgICAgIGEucmVtb3ZlKCk7XG4gICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgIH0pLmNhdGNoKGVyciA9PiB7XG4gICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgICAgdGhpcy5fZXJyb3JTZXJ2aWNlLnNob3dFcnJvcihlcnIsIHtcbiAgICAgICAgY29udGludWVMaW5rOiAnLidcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuZXhwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvbmd4LXRhYmxlcy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2J0bmV4cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDckYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFzQixhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUduRSxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUM7QUFZcEM7SUFDRSx5QkFBb0IsZUFBc0MsRUFDdEMsUUFBNEIsRUFDNUIsT0FBNkIsRUFDN0IsVUFBNEIsRUFDNUIsZUFBK0IsRUFDL0IsYUFBMkI7UUFMM0Isb0JBQWUsR0FBZixlQUFlLENBQXVCO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQzdCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBYztJQUMvQyxDQUFDO0lBR0ssb0NBQVUsR0FBaEIsVUFBaUIsS0FBSzs7O2dCQUNwQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRTtvQkFDcEMsc0JB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QUcsWUFBWSxDQUFDO1lBQzFCLGdFQUFnRTtZQUNoRSxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUssTUFBTSxDQUFDLFNBQWlCLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ2pFLE1BQU0sQ0FBQyxTQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQzthQUNoRTtpQkFBTTtnQkFDTCx5QkFBeUI7Z0JBQ3pCLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNYO1lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsS0FBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQSxHQUFHO1lBQ1YsS0FBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQyxLQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hDLFlBQVksRUFBRSxHQUFHO2FBQ2xCLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0JBdk1vQyxxQkFBcUI7Z0JBQzVCLGtCQUFrQjtnQkFDbkIsb0JBQW9CO2dCQUNqQixnQkFBZ0I7Z0JBQ1gsY0FBYztnQkFDaEIsWUFBWTs7SUFJL0M7UUFEQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7cURBMkJqQztJQXBDVSxlQUFlO1FBSjNCLFNBQVMsQ0FBQztZQUNULDhDQUE4QztZQUM5QyxRQUFRLEVBQUUsdUJBQXVCO1NBQ2xDLENBQUM7T0FDVyxlQUFlLENBME0zQjtJQUFELHNCQUFDO0NBQUEsQUExTUQsSUEwTUM7U0ExTVksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0TGlzdGVuZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRUYWJsZVNlcnZpY2V9IGZyb20gJy4uL3RhYmxlcy5hY3RpdmF0ZWQtdGFibGUuc2VydmljZSc7XG5pbXBvcnQge0FuZ3VsYXJEYXRhQ29udGV4dH0gZnJvbSAnQHRoZW1vc3QvYW5ndWxhcic7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlLCBFcnJvclNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlfSBmcm9tICdAdW5pdmVyc2lzL2NvbW1vbic7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDbGllbnREYXRhUXVlcnlhYmxlLCBSZXNwb25zZUVycm9yfSBmcm9tICdAdGhlbW9zdC9jbGllbnQnO1xuaW1wb3J0IHsgVGFibGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hZHZhbmNlZC10YWJsZS9hZHZhbmNlZC10YWJsZS5pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IE1BWF9FWFBPUlRfSVRFTVMgPSA1MDA7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBFeHBvcnRMaW1pdENvbmZpZ3VyYXRpb24ge1xuICB0YWJsZXM/OiB7XG4gICAgZXhwb3J0TGltaXQ/OiBudW1iZXJcbiAgfTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICcudW5pdmVyc2lzLWJ0bi1leHBvcnQnXG59KVxuZXhwb3J0IGNsYXNzIEJ0bkV4cERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2FjdGl2YXRlZFRhYmxlOiBBY3RpdmF0ZWRUYWJsZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NvbnRleHQ6IEFuZ3VsYXJEYXRhQ29udGV4dCxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2FkaW5nU2VydmljZTogTG9hZGluZ1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Vycm9yU2VydmljZTogRXJyb3JTZXJ2aWNlKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIGFzeW5jIGNsaWNrRXZlbnQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLl9hY3RpdmF0ZWRUYWJsZS5hY3RpdmVUYWJsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2YXRlZFRhYmxlLmFjdGl2ZVRhYmxlLmV4cG9ydFZpZXcoKTtcbiAgICAgIC8qXG4gICAgICBjb25zdCBsYXN0UXVlcnkgPSB0aGlzLl9hY3RpdmF0ZWRUYWJsZS5hY3RpdmVUYWJsZS5sYXN0UXVlcnk7XG4gICAgICBjb25zdCB0YWJsZUNvbmZpZyA9IHRoaXMuX2FjdGl2YXRlZFRhYmxlLmFjdGl2ZVRhYmxlLmNvbmZpZztcbiAgICAgIGNvbnN0IHNlcnZpY2VIZWFkZXJzID0gdGhpcy5fY29udGV4dC5nZXRTZXJ2aWNlKCkuZ2V0SGVhZGVycygpO1xuICAgICAgY29uc3QgcXVlcnlNb2RlbCA9IGxhc3RRdWVyeS5nZXRNb2RlbCgpO1xuICAgICAgbGV0IHF1ZXJ5ID0gdGhpcy5fY29udGV4dC5tb2RlbChxdWVyeU1vZGVsKS5hc1F1ZXJ5YWJsZSgpO1xuICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSBsYXN0UXVlcnkuZ2V0UGFyYW1zKCk7XG4gICAgICBxdWVyeSA9IHRoaXMuY29uc3RydWN0UXVlcnkocXVlcnksIHF1ZXJ5UGFyYW1zLCB0YWJsZUNvbmZpZywgc2VydmljZUhlYWRlcnMpO1xuICAgICAgLy8gZ2V0IGV4cG9ydCBzZXR0aW5nc1xuICAgICAgY29uc3QgZXhwb3J0U2V0dGluZ3MgPSB0aGlzLl9jb25maWcuc2V0dGluZ3MgYXMgRXhwb3J0TGltaXRDb25maWd1cmF0aW9uO1xuICAgICAgLy8gZ2V0IGV4cG9ydCBsaW1pdFxuICAgICAgY29uc3QgbWF4RXhwb3J0SXRlbXMgPSBleHBvcnRTZXR0aW5ncyAmJiBleHBvcnRTZXR0aW5ncy50YWJsZXMgJiYgZXhwb3J0U2V0dGluZ3MudGFibGVzLmV4cG9ydExpbWl0O1xuICAgICAgaWYgKG1heEV4cG9ydEl0ZW1zICYmIHR5cGVvZiBtYXhFeHBvcnRJdGVtcyA9PT0gJ251bWJlcicgJiYgbWF4RXhwb3J0SXRlbXMgPiAwKSB7XG4gICAgICAgIHF1ZXJ5LnNraXAoMCkudGFrZShtYXhFeHBvcnRJdGVtcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWVyeS5za2lwKDApLnRha2UoTUFYX0VYUE9SVF9JVEVNUyk7XG4gICAgICB9XG4gICAgICAvLyBUaGlzIGNvbnN0cnVjdHMgdGhlIFVSSSBiYXNlZCBvbiB0aGUgd2F5IEB0aGVtb3N0IGRvZXNcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29uc3RydWN0VVJMKHF1ZXJ5KTtcbiAgICAgIHRoaXMuZG93bmxvYWRGaWxlKHVybCwgcXVlcnkuZ2V0U2VydmljZSgpLmdldEhlYWRlcnMoKSwgcXVlcnkuZ2V0TW9kZWwoKSk7ICovXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBhcmFtZXRlcnMgdG8gdGhlIHF1ZXJ5IGJhc2VkIG9uXG4gICAqIHRoZSBhY3RpdmUgZmlsdGVycyBvZiB0aGUgYWN0aXZhdGVkIHRhYmxlXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcGFyYW0gcGFyYW1zOiBUaGUgZmlsdGVycyBvZiB0aGUgbGFzdCBxdWVyeSBvZiB0aGUgYWN0aXZhdGVkIHRhYmxlXG4gICAqIEByZXR1cm4gQ2xpZW50RGF0YVF1ZXJ5YWJsZVxuICAgKi9cbiAgc2V0UGFyYW1zKHF1ZXJ5OiBDbGllbnREYXRhUXVlcnlhYmxlLCBwYXJhbXMpOiBDbGllbnREYXRhUXVlcnlhYmxlIHtcbiAgICBpZiAocGFyYW1zICYmIHR5cGVvZiBwYXJhbXMgPT09ICdvYmplY3QnKSB7XG4gICAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBxdWVyeS5zZXRQYXJhbShrZXksIHBhcmFtc1trZXldKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgaGVhZGVycyB0byB0aGUgcXVlcnkgYmFzZWQgb25cbiAgICogdGhlIGRlZmF1bHQgaGVhZGVycyBvZiB0aGUgRGF0YUNvbnRleHRcbiAgICogYW5kIGFwcGVuZGluZyB0aGUgYWNjZXB0IGhlYWRlciB0byBnZXRcbiAgICogYW4geGxzeCBmaWxlIGZyb20gdGhlIEFQSVxuICAgKiBAcGFyYW0gcXVlcnlcbiAgICogQHBhcmFtIGhlYWRlcnM6IFRoZSBoZWFkZXJzIHRvIGFwcGVuZCB0byB0aGUgcXVlcnlcbiAgICogQHJldHVybiBDbGllbnREYXRhUXVlcnlhYmxlXG4gICAqL1xuICBzZXRIZWFkZXJzKHF1ZXJ5OiBDbGllbnREYXRhUXVlcnlhYmxlLCBoZWFkZXJzOiBIZWFkZXJzKTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSB7XG4gICAgT2JqZWN0LmtleXMoaGVhZGVycykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoaGVhZGVycy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIHF1ZXJ5LmdldFNlcnZpY2UoKS5zZXRIZWFkZXIoa2V5LCBoZWFkZXJzW2tleV0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIHNldHMgYSBoZWFkZXIgdG8gYWNjZXB0IHhsc3ggZmlsZXNcbiAgICBxdWVyeS5nZXRTZXJ2aWNlKCkuc2V0SGVhZGVyKCdBY2NlcHQnLCAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnKTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgc2VsZWN0IHBhcmFtZXRlciBvZiB0aGVcbiAgICogQ2xpZW50RGF0YVF1ZXJ5IGJ5IHJlcGxhY2luZyB0aGUgdGFyZ2V0IG5hbWVcbiAgICogb2YgdGhlIGZpZWxkIGJhc2VkIG9uIHRoZSBsb2NhbGl6ZWQgdHJhbnNsYXRpb25cbiAgICogb2YgdGhhdCBwcm9wZXJ0eSBvbiB0aGUgYWR2YW5jZWQgdGFibGVkXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcGFyYW0gdGFibGVDb25maWc6IFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBhY3RpdmF0ZWQgdGFibGVcbiAgICogQHJldHVybiBDbGllbnREYXRhUXVlcnlhYmxlXG4gICAqL1xuICBjb25zdHJ1Y3RRdWVyeVBhcmFtKHF1ZXJ5OiBDbGllbnREYXRhUXVlcnlhYmxlLCB0YWJsZUNvbmZpZzogVGFibGVDb25maWd1cmF0aW9uKTogQ2xpZW50RGF0YVF1ZXJ5YWJsZSB7XG4gICAgbGV0IHNlbGVjdFF1ZXJ5ID0gcXVlcnkuZ2V0UGFyYW1zKCkuJHNlbGVjdDtcbiAgICBsZXQgc2VsZWN0UXVlcnlBcnJheSA9IHNlbGVjdFF1ZXJ5LnNwbGl0KCcsJyk7XG4gICAgc2VsZWN0UXVlcnlBcnJheSA9IHNlbGVjdFF1ZXJ5QXJyYXkubWFwKChzZWxlY3QpID0+IHtcbiAgICAgIGNvbnN0IHdvcmRzID0gc2VsZWN0LnNwbGl0KCcgJyk7XG4gICAgICBpZiAod29yZHMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIGlmICh0YWJsZUNvbmZpZyAmJiB0YWJsZUNvbmZpZy5jb2x1bW5zKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGFibGVDb25maWcuY29sdW1ucykge1xuICAgICAgICAgICAgaWYgKGNvbHVtbi5wcm9wZXJ0eSA9PT0gd29yZHNbMl0gJiYgY29sdW1uLnRpdGxlKSB7XG4gICAgICAgICAgICAgIHdvcmRzWzJdID0gYFwiJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudChjb2x1bW4udGl0bGUpfVwiYDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoY29sdW1uLnByb3BlcnR5ID09PSB3b3Jkc1syXSkge1xuICAgICAgICAgICAgICB3b3Jkc1syXSA9IGBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQod29yZHNbMl0pfVwiYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh3b3Jkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgaWYgKHRhYmxlQ29uZmlnICYmIHRhYmxlQ29uZmlnLmNvbHVtbnMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0YWJsZUNvbmZpZy5jb2x1bW5zKSB7XG4gICAgICAgICAgICBpZiAoY29sdW1uLm5hbWUgPT09IHdvcmRzWzBdICYmIGNvbHVtbi50aXRsZSkge1xuICAgICAgICAgICAgICB3b3Jkc1swXSA9IGAke3dvcmRzWzBdfSBhcyBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQoY29sdW1uLnRpdGxlKX1cImA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb2x1bW4ubmFtZSA9PT0gd29yZHNbMF0gJiYgY29sdW1uLnByb3BlcnR5KSB7XG4gICAgICAgICAgICAgIHdvcmRzWzBdID0gYCR7d29yZHNbMF19IGFzIFwiJHt0aGlzLl90cmFuc2xhdGUuaW5zdGFudChjb2x1bW4ucHJvcGVydHkpfVwiYDtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHdvcmRzWzBdID09PSBjb2x1bW4ubmFtZSAmJiB3b3Jkc1swXSA9PT0gJ2lkJyAmJiBjb2x1bW4uaGlkZGVuKSB7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnRyaXBsZS1lcXVhbHNcbiAgICAgICAgICAgIH0gZWxzZSBpZiAod29yZHNbMF0gPT0gY29sdW1uLm5hbWUgfHwgd29yZHNbMF0gPT09IGNvbHVtbi5wcm9wZXJ0eSkge1xuICAgICAgICAgICAgICB3b3Jkc1swXSA9IGAke3dvcmRzWzBdfSBhcyBcIiR7dGhpcy5fdHJhbnNsYXRlLmluc3RhbnQod29yZHNbMF0pfVwiYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHdvcmRzWzBdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdvcmRzLmpvaW4oJyAnKTtcbiAgICB9KTtcbiAgICBzZWxlY3RRdWVyeSA9IHNlbGVjdFF1ZXJ5QXJyYXkuam9pbignLCcpO1xuICAgIHF1ZXJ5LnNldFBhcmFtKCckc2VsZWN0Jywgc2VsZWN0UXVlcnkgKTtcbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgZmV0Y2ggVVJMIGJhc2VkIHRoZSBxdWVyeSBwYXJhbWV0ZXJzXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcmV0dXJuIFN0cmluZ1xuICAgKi9cbiAgY29uc3RydWN0VVJMKHF1ZXJ5KTogU3RyaW5nIHtcbiAgICBjb25zdCBiYXNlVVJMID0gcXVlcnkuZ2V0U2VydmljZSgpLmdldEJhc2UoKTtcbiAgICBsZXQgdXJsID0gYmFzZVVSTC5lbmRzV2l0aCgnLycpID8gKGJhc2VVUkwgKyBxdWVyeS5nZXRNb2RlbCgpICsgJz8nKSA6IChiYXNlVVJMICsgJy8nICsgcXVlcnkuZ2V0TW9kZWwoKSArICc/Jyk7XG4gICAgT2JqZWN0LmtleXMocXVlcnkuZ2V0UGFyYW1zKCkpLmZvckVhY2goKGtleSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICB1cmwgKz0ga2V5ICsgJz0nICsgcXVlcnkuZ2V0UGFyYW1zKClba2V5XTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybCArPSAnJicgKyBrZXkgKyAnPScgKyBxdWVyeS5nZXRQYXJhbXMoKVtrZXldO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB1cmw7XG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgcXVlcnkgYnkgc2V0dGluZyB0aGUgcGFyYW1ldGVycyBvZiB0aGVcbiAgICogYWR2YW5jZWQgdGFibGUncyBhY3RpdmUgZmlsdGVycywgc2V0cyB0aGUgbmVjZXNzYXJ5IGhlYWRlcnNcbiAgICogYW5kIGJ1aWxkIHRoZSBzZWxlY3QgcGFyYW1ldGVyIG9mIHRoZSBxdWVyeVxuICAgKiBAcGFyYW0gcXVlcnlcbiAgICogQHBhcmFtIHBhcmFtczogVGhlIGZpbHRlcnMgb2YgdGhlIGxhc3QgcXVlcnkgb2YgdGhlIGFjdGl2YXRlZCB0YWJsZVxuICAgKiBAcGFyYW0gdGFibGVDb25maWc6IFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBhY3RpdmF0ZWQgdGFibGVcbiAgICogQHBhcmFtIGhlYWRlcnM6IFRoZSBoZWFkZXJzIHRvIGFwcGVuZCB0byB0aGUgcXVlcnlcbiAgICogQHJldHVybiBDbGllbnREYXRhUXVlcnlhYmxlXG4gICAqL1xuICBjb25zdHJ1Y3RRdWVyeShxdWVyeSwgcGFyYW1zLCB0YWJsZUNvbmZpZywgaGVhZGVyczogSGVhZGVycykge1xuICAgIGxldCBfcXVlcnkgPSB0aGlzLnNldFBhcmFtcyhxdWVyeSwgcGFyYW1zKTtcbiAgICBfcXVlcnkgPSB0aGlzLnNldEhlYWRlcnMoX3F1ZXJ5LCBoZWFkZXJzKTtcbiAgICBfcXVlcnkgPSB0aGlzLmNvbnN0cnVjdFF1ZXJ5UGFyYW0oX3F1ZXJ5LCB0YWJsZUNvbmZpZyk7XG4gICAgcmV0dXJuIF9xdWVyeTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaGVzIGFuZCBzYXZlcyB0aGUgeGxzeCBmaWxlXG4gICAqIEBwYXJhbSB1cmxcbiAgICogQHBhcmFtIHNlcnZpY2VIZWFkZXJzOiBUaGUgaGVhZGVycyB0byBhcHBlbmQgdG8gdGhlIHF1ZXJ5XG4gICAqIEBwYXJhbSBtb2RlbE5hbWU6IFRoZSBtb2RlbCBuYW1lIG9mIHRoZSBhZHZhbmNlZCB0YWJsZVxuICAgKi9cbiAgZG93bmxvYWRGaWxlKHVybCwgc2VydmljZUhlYWRlcnM6IEhlYWRlcnMsIG1vZGVsTmFtZSkge1xuICAgIHRoaXMuX2xvYWRpbmdTZXJ2aWNlLnNob3dMb2FkaW5nKCk7XG4gICAgZmV0Y2goZW5jb2RlVVJJKHVybCksIHtcbiAgICAgIGhlYWRlcnM6IHNlcnZpY2VIZWFkZXJzLFxuICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJ1xuICAgIH0pLnRoZW4ocmVzcG9uc2UgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlICYmICFyZXNwb25zZS5vaykge1xuICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihyZXNwb25zZS5zdGF0dXNUZXh0LCByZXNwb25zZS5zdGF0dXMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3BvbnNlLmJsb2IoKTtcbiAgICB9KS50aGVuKGJsb2IgPT4ge1xuICAgICAgY29uc3Qgb2JqZWN0VXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKTtcbiAgICAgIGEuc2V0QXR0cmlidXRlKCdzdHlsZScsICdkaXNwbGF5OiBub25lJyk7XG4gICAgICBhLmhyZWYgPSBvYmplY3RVcmw7XG4gICAgICBjb25zdCBkb3dubG9hZE5hbWUgPSBgJHttb2RlbE5hbWV9Lnhsc3hgO1xuICAgICAgYS5kb3dubG9hZCA9IGRvd25sb2FkTmFtZTtcbiAgICAgIC8vIHRoaXMgYWRkcyBzdXBwb3J0IGZvciBJRSBhbmQgTVMgRWRnZSAodXAgdG8gdmVyc2lvbiA0NC4xOTA0MSlcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdG9yICYmICh3aW5kb3cubmF2aWdhdG9yIGFzIGFueSkubXNTYXZlT3JPcGVuQmxvYikge1xuICAgICAgICAod2luZG93Lm5hdmlnYXRvciBhcyBhbnkpLm1zU2F2ZU9yT3BlbkJsb2IoYmxvYiwgZG93bmxvYWROYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGZvciBhbGwgb3RoZXIgYnJvd3NlcnNcbiAgICAgICAgYS5jbGljaygpO1xuICAgICAgfVxuICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTtcbiAgICAgIGEucmVtb3ZlKCk7XG4gICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgIH0pLmNhdGNoKGVyciA9PiB7XG4gICAgICB0aGlzLl9sb2FkaW5nU2VydmljZS5oaWRlTG9hZGluZygpO1xuICAgICAgdGhpcy5fZXJyb3JTZXJ2aWNlLnNob3dFcnJvcihlcnIsIHtcbiAgICAgICAgY29udGludWVMaW5rOiAnLidcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,8 +1,5 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- /** @type {?} */
1
+ // tslint:disable: quotemark
2
+ // tslint:disable: max-line-length
6
3
  export var TABLES_EL = {
7
4
  "Tables": {
8
5
  "Export": "Εξαγωγή",
@@ -130,5 +127,4 @@ export var TABLES_EL = {
130
127
  "SelectItems": "Επιλέξτε στοιχεία",
131
128
  }
132
129
  };
133
-
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2kxOG4vdGFibGVzLmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsV0FBYSxTQUFTLEdBQUc7SUFDckIsUUFBUSxFQUFFO1FBQ04sUUFBUSxFQUFFLFNBQVM7UUFDbkIsTUFBTSxFQUFFLGFBQWE7UUFDckIsUUFBUSxFQUFFLFdBQVc7UUFDckIsbUJBQW1CLEVBQUUsY0FBYztRQUNuQyxTQUFTLEVBQUUsaUJBQWlCO1FBQzVCLFlBQVksRUFBRSxtQkFBbUI7UUFDakMsV0FBVyxFQUFFO1lBQ1QsVUFBVSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxjQUFjO2dCQUN2QixNQUFNLEVBQUUsaUJBQWlCO2dCQUN6QixNQUFNLEVBQUUsU0FBUztnQkFDakIsVUFBVSxFQUFFLGFBQWE7YUFDNUI7WUFDRCxNQUFNLEVBQUUsaURBQWlEO1lBQ3pELFdBQVcsRUFBRSx1QkFBdUI7WUFDcEMsU0FBUyxFQUFFLHVCQUF1QjtZQUNsQyxZQUFZLEVBQUUsdUJBQXVCO1lBQ3JDLFlBQVksRUFBRSw0QkFBNEI7U0FDN0M7UUFDSCxlQUFlLEVBQUUsMEJBQTBCO1FBQzNDLG1CQUFtQixFQUFFLGlEQUFpRDtRQUN0RSxNQUFNLEVBQUUsVUFBVTtRQUNsQixPQUFPLEVBQUUsVUFBVTtRQUNuQixRQUFRLEVBQUUsU0FBUztRQUNuQixnQkFBZ0IsRUFBRSxxQkFBcUI7UUFDdkMsVUFBVSxFQUFFLHdDQUF3QztRQUNwRCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsU0FBUyxFQUFFLFFBQVE7UUFDbkIsS0FBSyxFQUFFLEtBQUs7UUFDVixTQUFTLEVBQUUsb0JBQW9CO1FBQy9CLGlCQUFpQixFQUFFLDRCQUE0QjtRQUMvQyxtQkFBbUIsRUFBRSxzREFBc0Q7UUFDM0UsWUFBWSxFQUFFLG9CQUFvQjtRQUNsQyxPQUFPLEVBQUUsVUFBVTtRQUNuQixNQUFNLEVBQUUsVUFBVTtRQUNsQixnQkFBZ0IsRUFBRTtZQUNkLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsS0FBSyxFQUFFLDBDQUEwQztZQUNqRCxNQUFNLEVBQUUsaURBQWlEO1NBQzFEO1FBQ0gsbUJBQW1CLEVBQUU7WUFDakIsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixLQUFLLEVBQUUsc0NBQXNDO1lBQzdDLE1BQU0sRUFBRSw2Q0FBNkM7U0FDeEQ7UUFDRCxrQkFBa0IsRUFBRSxvQkFBb0I7UUFDeEMsb0JBQW9CLEVBQUUsNEVBQTRFO1FBQ2xHLFdBQVcsRUFBRSxjQUFjO1FBQzNCLGdCQUFnQixFQUFFLG1CQUFtQjtRQUN2QyxTQUFTLEVBQUU7WUFDVCxPQUFPLEVBQUUsYUFBYTtZQUN0QixPQUFPLEVBQUUsUUFBUTtZQUNqQixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLHFGQUFxRjtnQkFDN0YsS0FBSyxFQUFFLG9JQUFvSTtnQkFDM0ksTUFBTSxFQUFFLDRJQUE0STthQUNySjtZQUNELHFCQUFxQixFQUFFO2dCQUNyQixPQUFPLEVBQUUsd0NBQXdDO2dCQUNqRCxhQUFhLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLCtGQUErRjtvQkFDdEcsTUFBTSxFQUFFLHVHQUF1RztpQkFDaEg7YUFDRjtZQUNELHNCQUFzQixFQUFFO2dCQUN0QixPQUFPLEVBQUUsd0NBQXdDO2FBQ2xEO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGtCQUFrQixFQUFFLDhMQUE4TDtRQUNsTixnQkFBZ0IsRUFBRSx5R0FBeUc7UUFDM0gsZUFBZSxFQUFFLFNBQVM7UUFDMUIsY0FBYyxFQUFFLFNBQVM7UUFDekIsa0JBQWtCLEVBQUUsV0FBVztRQUMvQixXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsd0NBQXdDO1lBQ2pELFNBQVMsRUFBRSx3R0FBd0c7U0FDcEg7UUFDRCxZQUFZLEVBQUUsZ0JBQWdCO1FBQzlCLHFCQUFxQixFQUFFLGdMQUFnTDtRQUN2TSxlQUFlLEVBQUUsaUJBQWlCO1FBQ2xDLFlBQVksRUFBRSxjQUFjO0tBQzdCO0lBQ0QsV0FBVyxFQUFFO1FBQ1QsTUFBTSxFQUFFO1lBQ0osS0FBSyxFQUFFLEtBQUs7WUFDWixJQUFJLEVBQUUsS0FBSztTQUNkO0tBQ0o7SUFDRCxVQUFVLEVBQUU7UUFDVixvQkFBb0IsRUFBRSx3Q0FBd0M7S0FDL0Q7SUFDRCxnQkFBZ0IsRUFBRTtRQUNkLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsWUFBWSxFQUFFLHFCQUFxQjtRQUNuQyxlQUFlLEVBQUUsMkJBQTJCO1FBQzVDLGdCQUFnQixFQUFHLGlCQUFpQjtRQUNwQyxtQkFBbUIsRUFBRSx1QkFBdUI7UUFDNUMsUUFBUSxFQUFHLGVBQWU7UUFDMUIsTUFBTSxFQUFHLFlBQVk7UUFDckIsUUFBUSxFQUFHLFVBQVU7UUFDckIsTUFBTSxFQUFFLGFBQWE7UUFDckIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsT0FBTyxFQUFHO1lBQ04sT0FBTyxFQUFHLGlDQUFpQztZQUMzQyxNQUFNLEVBQUcsZ0lBQWdJO1lBQ3pJLGtCQUFrQixFQUFHLDhCQUE4QjtZQUNuRCwyQkFBMkIsRUFBRyw4REFBOEQ7WUFDNUYsZUFBZSxFQUFHLG1EQUFtRDtZQUNyRSxtQkFBbUIsRUFBRyxvREFBb0Q7WUFDMUUsZUFBZSxFQUFHLGlCQUFpQjtZQUNuQyxxQkFBcUIsRUFBRyxxQkFBcUI7WUFDN0MsUUFBUSxFQUFHLFlBQVk7WUFDdkIsU0FBUyxFQUFHLFVBQVU7WUFDdEIsT0FBTyxFQUFHLFVBQVU7U0FDdkI7S0FDSjtJQUNELFVBQVUsRUFBRztRQUNYLGFBQWEsRUFBRSxtQkFBbUI7S0FDbkM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IHF1b3RlbWFya1xuLy8gdHNsaW50OmRpc2FibGU6IG1heC1saW5lLWxlbmd0aFxuZXhwb3J0IGNvbnN0IFRBQkxFU19FTCA9IHtcbiAgICBcIlRhYmxlc1wiOiB7XG4gICAgICAgIFwiRXhwb3J0XCI6IFwizpXOvs6xzrPPic6zzq5cIixcbiAgICAgICAgXCJNb3JlXCI6IFwizqDOtc+BzrnPg8+Dz4zPhM61z4HOsVwiLFxuICAgICAgICBcIlNlYXJjaFwiOiBcIs6Rzr3Osc62zq7PhM63z4POt1wiLFxuICAgICAgICBcIlNlYXJjaFBsYWNlaG9sZGVyXCI6IFwizpHOvc6xzrbOrs+EzrfPg863Li4uXCIsXG4gICAgICAgIFwiR3JvdXBCeVwiOiBcIs6fzrzOsc60zr/PgM6/zq/Ot8+DzrcgzrHOvc6sXCIsXG4gICAgICAgIFwiTm90RGVmaW5lZFwiOiBcIs6czrcgz4DPgc6/z4POtM65zr/Pgc65z4POvM6tzr3Ov1wiLFxuICAgICAgICBcIkRhdGFUYWJsZVwiOiB7XG4gICAgICAgICAgICBcInBhZ2luYXRlXCI6IHtcbiAgICAgICAgICAgICAgICBcImZpcnN0XCI6IFwizqDPgc+Oz4TOtyDPg861zrvOr860zrFcIixcbiAgICAgICAgICAgICAgICBcImxhc3RcIjogXCLOpM61zrvOtc+EzrHOr86xIM+DzrXOu86vzrTOsVwiLFxuICAgICAgICAgICAgICAgIFwibmV4dFwiOiBcIs6Vz4DPjM68zrXOvc63XCIsXG4gICAgICAgICAgICAgICAgXCJwcmV2aW91c1wiOiBcIs6gz4HOv863zrPOv8+NzrzOtc69zrdcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiaW5mb1wiOiBcIs6VzrzPhs6szr3Ouc+DzrcgX1NUQVJUXyDOrc+Jz4IgX0VORF8gzrHPgM+MIF9UT1RBTF8gzrXOs86zz4HOsc+Gzq3PglwiLFxuICAgICAgICAgICAgXCJpbmZvRW1wdHlcIjogXCLOlM61zr0gzrLPgc6tzrjOt866zrHOvSDOtc6zzrPPgc6xz4bOrc+CXCIsXG4gICAgICAgICAgICBcImxvYWRpbmdcIjogXCLOlc68z4bOrM69zrnPg863IM60zrXOtM6/zrzOrc69z4nOvS4uLlwiLFxuICAgICAgICAgICAgXCJwcm9jZXNzaW5nXCI6IFwizqDOsc+BzrHOu86xzrLOriDOtM61zrTOv868zq3Ovc+Jzr0uLi5cIixcbiAgICAgICAgICAgIFwiZW1wdHlUYWJsZVwiOiBcIs6UzrXOvSDOss+Bzq3OuM63zrrOsc69IM6xz4DOv8+EzrXOu86tz4POvM6xz4TOsS5cIlxuICAgICAgICB9LFxuICAgICAgXCJDb2x1bW5EaXNwbGF5XCI6IFwizpXPgM65zrvOv86zzq4gzpXOvM+GzqzOvc65z4POt8+CIM+Dz4TOt867z47OvVwiLFxuICAgICAgXCJDb2x1bW5EaXNwbGF5SW5mb1wiOiBcIs6Vz4DOuc67zq3Ovs+EzrUgz4TOuc+CIM+Dz4TOrs67zrXPgiDPgM6/z4UgzrjOrc67zrXPhM61IM69zrEgzrXOvM+GzrHOvc6vzrbOv869z4TOsc65LlwiLFxuICAgICAgXCJTYXZlXCI6IFwizpXPhs6xz4HOvM6/zrPOrlwiLFxuICAgICAgXCJBcHBseVwiOiBcIs6Vz4bOsc+BzrzOv86zzq5cIixcbiAgICAgIFwiQ2FuY2VsXCI6IFwizpHOus+Nz4HPic+DzrdcIixcbiAgICAgIFwiUmVjb3Jkc1BlclBhZ2VcIjogXCLOlc6zzrPPgc6xz4bOrc+CIM6xzr3OrCDPg861zrvOr860zrFcIixcbiAgICAgIFwiUGFnZUluZm9cIjogXCJ7e3N0YXJ0fX0te3tlbmR9fSDOsc+Az4wge3tyZWNvcmRzVG90YWx9fVwiLFxuICAgICAgXCJTZWFyY2hMaXN0UGxhY2Vob2xkZXJcIjogXCLOkc69zrHOts63z4TOrs+Dz4TOtSDPg8+EzrcgzrvOr8+Dz4TOsS4uLlwiLFxuICAgICAgXCJGaWx0ZXJzXCI6IFwizqbOr867z4TPgc6xXCIsXG4gICAgICBcIkFsbFwiOiBcIs6MzrvOsVwiLFxuICAgICAgICBcIkFkZEl0ZW1cIjogXCLOoM+Bzr/Pg864zq7Ous63IM+Dz4TOv865z4fOtc6vzr/PhVwiLFxuICAgICAgICBcIkVtcHR5VGFibGVUaXRsZVwiOiBcIs6UzrXOvSDOss+Bzq3OuM63zrrOsc69IM6xz4DOv8+EzrXOu86tz4POvM6xz4TOsS5cIixcbiAgICAgICAgXCJFbXB0eVRhYmxlTWVzc2FnZVwiOiBcIs6gz4HOv8+Dz4DOsc64zq7Pg8+EzrUgzr3OsSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4POtc+EzrUgzqzOu867zrXPgiDOu86tzr7Otc65z4IgzrrOu861zrnOtM65zqwuXCIsXG4gICAgICAgIFwiUmVtb3ZlSXRlbVwiOiBcIs6UzrnOsc6zz4HOsc+Gzq4gz4PPhM6/zrnPh861zq/Ov8+FXCIsXG4gICAgICAgIFwiSXRlbXNcIjogXCLPg8+Ezr/Ouc+HzrXOr86xXCIsXG4gICAgICAgIFwiSXRlbVwiOiBcIs+Dz4TOv865z4fOtc6vzr9cIixcbiAgICAgICAgXCJBZGRJdGVtTWVzc2FnZVwiOiB7XG4gICAgICAgICAgICBcInRpdGxlXCI6IFwizqDPgc6/z4POuM6uzrrOtyDPg8+Ezr/Ouc+HzrXOr8+Jzr1cIixcbiAgICAgICAgICAgIFwib25lXCI6IFwizojOvc6xIM69zq3OvyDPg8+Ezr/Ouc+HzrXOr86/IM+Az4HOv8+Dz4TOrc64zrfOus61IM68zrUgzrXPgM65z4TPhc+Hzq/OsS5cIixcbiAgICAgICAgICAgIFwibWFueVwiOiBcInt7dmFsdWV9fSDOvc6tzrEgz4PPhM6/zrnPh861zq/OsSDPgM+Bzr/Pg8+Ezq3OuM63zrrOsc69IM68zrUgzrXPgM65z4TPhc+Hzq/OsS5cIlxuICAgICAgICAgIH0sXG4gICAgICAgIFwiUmVtb3ZlSXRlbU1lc3NhZ2VcIjoge1xuICAgICAgICAgICAgXCJ0aXRsZVwiOiBcIs6Rz4bOsc6vz4HOtc+Dzrcgz4PPhM6/zrnPh861zq/Pic69XCIsXG4gICAgICAgICAgICBcIm9uZVwiOiBcIs6Izr3OsSDPg8+Ezr/Ouc+HzrXOr86/IM6xz4bOsc65z4HOrc64zrfOus61IM68zrUgzrXPgM65z4TPhc+Hzq/OsS5cIixcbiAgICAgICAgICAgIFwibWFueVwiOiBcInt7dmFsdWV9fSDPg8+Ezr/Ouc+HzrXOr86xIM6xz4bOsc65z4HOrc64zrfOus6xzr0gzrzOtSDOtc+AzrnPhM+Fz4fOr86xLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiUmVtb3ZlSXRlbXNUaXRsZVwiOiBcIs6UzrnOsc6zz4HOsc+Gzq4gz4PPhM6/zrnPh861zq/Ov8+FXCIsXG4gICAgICAgIFwiUmVtb3ZlSXRlbXNNZXNzYWdlXCI6IFwizqDPgc+MzrrOtc65z4TOsc65IM69zrEgzrTOuc6xzrPPgc6sz4jOtc+EzrUgzq3Ovc6xIM6uIM+AzrXPgc65z4PPg8+Mz4TOtc+BzrEgz4PPhM6/zrnPh861zq/OsS4gzpjOrc67zrXPhM61IM69zrEgz4DPgc6/z4fPic+Bzq7Pg861z4TOtT9cIixcbiAgICAgICAgXCJTZWxlY3RBbGxcIjogXCLOlc+AzrnOu86/zrPOriDPjM67z4nOvVwiLFxuICAgICAgICBcIkNsZWFyU2VsZWN0aW9uXCI6IFwizpHOvc6xzq/Pgc61z4POtyDOtc+AzrnOu86/zrPOrs+CXCIsXG4gICAgICBcIkFjdGlvbnNcIjoge1xuICAgICAgICBcIkxhYmVsXCI6IFwizpXPgM61zr7Otc+BzrPOsc+Dzq/OsVwiLFxuICAgICAgICBcIlN0YXJ0XCI6IFwizojOvc6xz4HOvs63XCIsXG4gICAgICAgIFwiQWN0aW9uTWVzc2FnZVwiOiB7XG4gICAgICAgICAgXCJOb25lXCI6IFwizpTOtc69IM6tz4fOtc+EzrUgzrXPgM65zrvOrc6+zrXOuSDOus6xzr3Orc69zrEgz4PPhM6/zrnPh861zq/OvyDPgM6/z4Ugzr3OsSDOsc66zr/Ou86/z4XOuM61zq8gz4TOuc+CIM+Az4HOv8+Lz4DOv864zq3Pg861zrnPgiDPhM63z4IgzrXOvc6tz4HOs861zrnOsc+CLlwiLFxuICAgICAgICAgIFwiT25lXCI6IFwizojPh861z4TOtSDOtc+AzrnOu86tzr7Otc65IM6tzr3OsSDPg8+Ezr/Ouc+HzrXOr86/IM+Azr/PhSDOsc66zr/Ou86/z4XOuM61zq8gz4TOuc+CIM+Az4HOv8+Lz4DOv864zq3Pg861zrnPgiDPhM63z4IgzrXOvc6tz4HOs861zrnOsc+CLiDOoM6xz4TOrs+Dz4TOtSDPhM6/IM+AzrvOrs66z4TPgc6/IM6Izr3Osc+Bzr7OtyDOs865zrEgzr3OsSDOvs61zrrOuc69zq7Pg861zrkgzrcgzrTOuc6xzrTOuc66zrHPg86vzrEuXCIsXG4gICAgICAgICAgXCJNYW55XCI6IFwizojPh861z4TOtSDOtc+AzrnOu86tzr7Otc65IHt7bGVuZ3RofX0gz4PPhM6/zrnPh861zq/OsSDPgM6/z4UgzrHOus6/zrvOv8+FzrjOv8+Nzr0gz4TOuc+CIM+Az4HOv8+Lz4DOv864zq3Pg861zrnPgiDPhM63z4IgzrXOvc6tz4HOs861zrnOsc+CLiDOoM6xz4TOrs+Dz4TOtSDPhM6/IM+AzrvOrs66z4TPgc6/IM6Izr3Osc+Bzr7OtyDOs865zrEgzr3OsSDOvs61zrrOuc69zq7Pg861zrkgzrcgzrTOuc6xzrTOuc66zrHPg86vzrEuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJDb21wbGV0ZWRXaXRoRXJyb3JzXCI6IHtcbiAgICAgICAgICBcIlRpdGxlXCI6IFwizpcgzrTOuc6xzrTOuc66zrHPg86vzrEgzr/Ou86/zrrOu863z4HPjs64zrfOus61IM68zrUgz4PPhs6szrvOvM6xz4TOsS5cIixcbiAgICAgICAgICBcIkRlc2NyaXB0aW9uXCI6IHtcbiAgICAgICAgICAgIFwiT25lXCI6IFwizojOvc6xIM+Dz4TOv865z4fOtc6vzr8gzrTOtc69IM6xzr3Osc69zrXPjs64zrfOus61IM67z4zOs8+JIM61zr3PjM+CIM+Dz4bOrM67zrzOsc+Ezr/PgiDPgM6/z4Ugz4PPhc69zq3Oss63IM66zrHPhM6sIM+EzrfOvSDOtc66z4TOrc67zrXPg863IM+EzrfPgiDOtM65zrHOtM65zrrOsc+Dzq/Osc+CLlwiLFxuICAgICAgICAgICAgXCJNYW55XCI6IFwie3tlcnJvcnN9fSDPg8+Ezr/Ouc+HzrXOr86xIM60zrXOvSDOsc69zrHOvc61z47OuM63zrrOsc69IM67z4zOs8+JIM61zr3PjM+CIM+Dz4bOrM67zrzOsc+Ezr/PgiDPgM6/z4Ugz4PPhc69zq3Oss63IM66zrHPhM6sIM+EzrfOvSDOtc66z4TOrc67zrXPg863IM+EzrfPgiDOtM65zrHOtM65zrrOsc+Dzq/Osc+CLlwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIkNvbXBsZXRlZFdpdGhTdWNjZXNzXCI6IHtcbiAgICAgICAgICBcIlRpdGxlXCI6IFwizpcgzrTOuc6xzrTOuc66zrHPg86vzrEgzr/Ou86/zrrOu863z4HPjs64zrfOus61IM68zrUgzrXPgM65z4TPhc+Hzq/OsS5cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJTZWxlY3RDb2x1bW5zXCI6IFwizpXPgM65zrvOv86zzq4gz4PPhM63zrvPjs69XCIsXG4gICAgICBcIk1vdmVVcFwiOiBcIs6Vz4DOrM69z4lcIixcbiAgICAgIFwiTW92ZURvd25cIjogXCLOms6sz4TPiVwiLFxuICAgICAgXCJBZGRDb2x1bW5cIjogXCLOlc+AzrnOu86/zrPOrlwiLFxuICAgICAgXCJSZW1vdmVDb2x1bW5cIjogXCLOkc+GzrHOr8+BzrXPg863XCIsXG4gICAgICBcIlNlbGVjdENvbHVtbkhlbHBcIjogXCLOlc+AzrnOu86tzr7PhM61IM68zq/OsSDOriDPgM61z4HOuc+Dz4PPjM+EzrXPgc61z4IgzrHPgM+MIM+EzrnPgiDOtM65zrHOuM6tz4POuc68zrXPgiDPg8+Ezq7Ou861z4IgzrrOsc65IM+AzrHPhM6uz4PPhM61IM+Ezr8gz4DOu86uzrrPhM+Bzr8gJ86Vz4DOuc67zr/Os86uJyDOs865zrEgzr3OsSDPhM65z4IgzrXOvM+GzrHOvc6vz4POtc+EzrUuIM6nz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgz4TOvyDPgM67zq7Ous+Ez4HOvyAnzpHPhs6xzq/Pgc61z4POtycgzrPOuc6xIM69zrEgzrHPhs6xzrnPgc6tz4POtc+EzrUgz4TOuc+CIM61z4DOuc67zrXOs868zq3Ovc61z4Igz4PPhM6uzrvOtc+CLlwiLFxuICAgICAgXCJNb3ZlQ29sdW1uSGVscFwiOiBcIs6nz4HOt8+DzrnOvM6/z4DOv865zq7Pg8+EzrUgz4TOsSDPgM67zq7Ous+Ez4HOsSAnzpXPgM6szr3PiScgzrrOsc65ICfOms6sz4TPiScgzrPOuc6xIM69zrEgzrHOu867zqzOvs61z4TOtSDPhM63zr0gz4POtc65z4HOrCDOtc68z4bOrM69zrnPg863z4Igz4TPic69IM+Dz4TOt867z47OvSDPhM6/z4Ugz4DOr869zrHOus6xLlwiLFxuICAgICAgXCJVbmtub3duQ29sdW1uXCI6IFwizobOs869z4nPg8+Ezr9cIixcbiAgICAgIFwiU2VsZWN0Q29sdW1uXCI6IFwizpXPgM65zrvOv86zzq5cIixcbiAgICAgIFwiQWN0aW9uTGlua0NvbHVtblwiOiBcIs6Vzr3Orc+BzrPOtc65zrXPglwiLFxuICAgICAgXCJEYXRhRXJyb3JcIjoge1xuICAgICAgICBcIlRpdGxlXCI6IFwizqPPhs6szrvOvM6xIM66zrHPhM6sIM+EzrfOvSDPgM6xz4HOsc67zrHOss6uIM+Ez4nOvSDOtM61zrTOv868zq3Ovc+Jzr1cIixcbiAgICAgICAgXCJNZXNzYWdlXCI6IFwizqPPhc69zq3Oss63IM+Dz4bOrM67zrzOsSDOus6xz4TOrCDPhM63zr0gz4DOsc+BzrHOu86xzrLOriDPhM+Jzr0gzrTOtc60zr/OvM6tzr3Pic69LiDOoM+Bzr/Pg8+AzrHOuM6uz4PPhM61IM6+zrHOvc6sIM6uIM+Ez4HOv8+Azr/PgM6/zrnOrs+Dz4TOtSDPhM6xIM+Dz4TOv865z4fOtc6vzrEgzrHOvc6xzrbOrs+EzrfPg863z4IuXCJcbiAgICAgIH0sXG4gICAgICBcIkV4cG9ydExpc3RcIjogXCLOlc6+zrHOs8+JzrPOriDOu86vz4PPhM6xz4JcIixcbiAgICAgIFwiRXhwb3J0TGltaXRFeGNlZWRlZFwiOiBcIs6kzr8gz4DOu86uzrjOv8+CIM+Ez4nOvSDPg8+Ezr/Ouc+HzrXOr8+Jzr0gz4DPgc6/z4IgzrXOvs6xzrPPic6zzq4gKHt7ZGF0YUxlbmd0aH19KSDOvs61z4DOtc+Bzr3OrM61zrkgz4TOvyDOvM6tzrPOuc+Dz4TOvyDOtc+AzrnPhM+BzrXPgM+Ez4wgKHt7ZXhwb3J0TGltaXR9fSkuIM6gzrHPgc6xzrrOsc67zr/Pjc68zrUgz4DPgc6/z4POsc+BzrzPjM+Dz4TOtSDPhM6xIM+Gzq/Ou8+Ez4HOsSDPhM63z4IgzrHOvc6xzrbOrs+EzrfPg863z4IgzrrOsc65IM+Az4HOv8+Dz4DOsc64zq7Pg8+EzrUgzr7Osc69zqwuXCIsXG4gICAgICBcIkV4cG9ydFJlc3VsdHNcIjogXCLOlM61zrTOv868zq3Ovc6xIM67zq/Pg8+EzrHPglwiLFxuICAgICAgXCJSb3dEZXRhaWxzXCI6IFwizpvOtc+Az4TOv868zq3Pgc61zrnOtc+CXCJcbiAgICB9LFxuICAgIFwiVHJ1ZUZhbHNlXCI6IHtcbiAgICAgICAgXCJsb25nXCI6IHtcbiAgICAgICAgICAgIFwiWWVzXCI6IFwizp3Osc65XCIsXG4gICAgICAgICAgICBcIk5vXCI6IFwizozPh865XCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgXCJTZXR0aW5nc1wiOiB7XG4gICAgICBcIk9wZXJhdGlvbkNvbXBsZXRlZFwiOiBcIs6XIM60zrnOsc60zrnOus6xz4POr86xIM6/zrvOv866zrvOt8+Bz47OuM63zrrOtSDOvM61IM61z4DOuc+Ez4XPh86vzrEuXCJcbiAgICB9LFxuICAgIFwiQWR2YW5jZWRTZWFyY2hcIjoge1xuICAgICAgICBcIkNob29zZVwiOiBcIjzOlc+AzrnOu86tzr7PhM61IM68zrnOsSDOsc69zrHOts6uz4TOt8+Dzrc+XCIsXG4gICAgICAgIFwiQ2hvb3NlRGF0ZVwiOiBcIs6Vz4DOuc67zr/Os86uIM63zrzOtc+Bzr/OvM63zr3Or86xz4JcIixcbiAgICAgICAgXCJTYXZlZFNlYXJjaGVzXCI6IFwizpHPgM6/zrjOt866zrXPhc68zq3Ovc61z4IgzrHOvc6xzrbOt8+Ezq7Pg861zrnPglwiLFxuICAgICAgICBcIlRvZ2dsZURyb3Bkb3duXCIgOiBcIs6VzrzPhs6szr3Ouc+DzrcgzrvOr8+Dz4TOsc+CXCIsXG4gICAgICAgIFwiU2F2ZUN1cnJlbnRTZWFyY2hcIjogXCLOkc+Azr/OuM6uzrrOtc+Fz4POtyDOsc69zrHOts6uz4TOt8+DzrfPglwiLFxuICAgICAgICBcIlNhdmVBc1wiIDogXCLOkc+Azr/OuM6uzrrOtc+Fz4POtyDPic+CXCIsXG4gICAgICAgIFwiU2F2ZVwiIDogXCLOkc+Azr/OuM6uzrrOtc+Fz4POt1wiLFxuICAgICAgICBcIkRlbGV0ZVwiIDogXCLOlM65zrHOs8+BzrHPhs6uXCIsXG4gICAgICAgIFwiTW9yZVwiOiBcIs6gzrXPgc65z4PPg8+Mz4TOtc+BzrFcIixcbiAgICAgICAgXCJMZXNzXCI6IFwizpvOuc6zz4zPhM61z4HOsVwiLFxuICAgICAgICBcIk1vZGFsXCIgOiB7XG4gICAgICAgICAgICBcIlRpdGxlXCIgOiBcIs6Rz4DOv864zq7Ous61z4XPg863IM66z4HOuc+EzrfPgc6vz4nOvSDOsc69zrHOts6uz4TOt8+DzrfPglwiLFxuICAgICAgICAgICAgXCJIZWxwXCIgOiBcIs6fz4HOr8+Dz4TOtSDOrc69zrHOvSDPhM6vz4TOu86/IM6zzrnOsSDPhM6xIM61z4DOuc67zrXOs868zq3Ovc6xIM66z4HOuc+Ezq7Pgc65zrEgzrHOvc6xzrbOrs+EzrfPg863z4IuIM6Rz4XPhM+Mz4Igzr8gz4TOr8+EzrvOv8+CIM64zrEgz4POsc+CIM6yzr/Ot864zq7Pg861zrkgzr3OsSDPhM6xIM+Hz4HOt8+DzrnOvM6/z4DOv865zq7Pg861z4TOtSDOvs6xzr3OrCDPg8+Ezr8gzrzOrc67zrvOv869LlwiLFxuICAgICAgICAgICAgXCJUaXRsZU9uVXNlckVycm9yXCIgOiBcIs6gzrHPgc6xzrrOsc67z44gzrXOuc+DzqzOs861z4TOtSDOrc69zrHOvSDPhM6vz4TOu86/XCIsXG4gICAgICAgICAgICBcIlRpdGxlT25MaXN0QWxyZWFkeUNyZWF0ZWRcIiA6IFwizqTOvyDPjM69zr/OvM6xIM6xz4XPhM+MIM+Hz4HOt8+DzrnOvM6/z4DOv865zrXOr8+EzrHOuSDOrs60zrcuIM6UzrnOsc67zq3Ovs+EzrUgzq3Ovc6xIM60zrnOsc+Gzr/Pgc61z4TOuc66z4wuXCIsXG4gICAgICAgICAgICBcIk5vTGlzdERlZmluZWRcIiA6IFwizpTOtc69IM6tz4fOtc65IM6/z4HOuc+Dz4TOtc6vIM+Ezr8gz4POt868zrXOr86/IM6xz4DOv864zq7Ous61z4XPg863z4Igz4TOt8+CIM67zq/Pg8+EzrHPglwiLFxuICAgICAgICAgICAgXCJFbXB0eUNyaXRlcmlhTGlzdFwiIDogXCLOlM61zr0gzq3Ph861z4TOtSDOus6xzrjOv8+Bzq/Pg861zrkgzrrOsc69zq3Ovc6xIM66z4HOuc+Ezq7Pgc65zr8gzrPOuc6xIM6xz4DOv864zq7Ous61z4XPg863XCIsXG4gICAgICAgICAgICBcIlNhdmVOYW1lTGFiZWxcIiA6IFwizp/Ovc6/zrzOsc+Dzq/OsSDOu86vz4PPhM6xz4JcIixcbiAgICAgICAgICAgIFwiU2F2ZU5hbWVQbGFjZWhvbGRlclwiIDogXCLOlc65z4POrM6zzrXPhM61IM6tzr3Osc69IM+Ezq/PhM67zr9cIixcbiAgICAgICAgICAgIFwiQWNjZXB0XCIgOiBcIs6Rz4DOv864zq7Ous61z4XPg863XCIsXG4gICAgICAgICAgICBcIkRlY2xpbmVcIiA6IFwizpHPgM+Mz4HPgc65z4jOt1wiLFxuICAgICAgICAgICAgXCJDbG9zZVwiIDogXCLOms67zrXOr8+DzrnOvM6/XCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgXCJBZGRJdGVtc1wiIDoge1xuICAgICAgXCJTZWxlY3RJdGVtc1wiOiBcIs6Vz4DOuc67zq3Ovs+EzrUgz4PPhM6/zrnPh861zq/OsVwiLFxuICAgIH1cbn07XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2kxOG4vdGFibGVzLmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1QixrQ0FBa0M7QUFDbEMsTUFBTSxDQUFDLElBQU0sU0FBUyxHQUFHO0lBQ3JCLFFBQVEsRUFBRTtRQUNOLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLG1CQUFtQixFQUFFLGNBQWM7UUFDbkMsU0FBUyxFQUFFLGlCQUFpQjtRQUM1QixZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLFdBQVcsRUFBRTtZQUNULFVBQVUsRUFBRTtnQkFDUixPQUFPLEVBQUUsY0FBYztnQkFDdkIsTUFBTSxFQUFFLGlCQUFpQjtnQkFDekIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFVBQVUsRUFBRSxhQUFhO2FBQzVCO1lBQ0QsTUFBTSxFQUFFLGlEQUFpRDtZQUN6RCxXQUFXLEVBQUUsdUJBQXVCO1lBQ3BDLFNBQVMsRUFBRSx1QkFBdUI7WUFDbEMsWUFBWSxFQUFFLHVCQUF1QjtZQUNyQyxZQUFZLEVBQUUsNEJBQTRCO1NBQzdDO1FBQ0gsZUFBZSxFQUFFLDBCQUEwQjtRQUMzQyxtQkFBbUIsRUFBRSxpREFBaUQ7UUFDdEUsTUFBTSxFQUFFLFVBQVU7UUFDbEIsT0FBTyxFQUFFLFVBQVU7UUFDbkIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsZ0JBQWdCLEVBQUUscUJBQXFCO1FBQ3ZDLFVBQVUsRUFBRSx3Q0FBd0M7UUFDcEQsdUJBQXVCLEVBQUUseUJBQXlCO1FBQ2xELFNBQVMsRUFBRSxRQUFRO1FBQ25CLEtBQUssRUFBRSxLQUFLO1FBQ1YsU0FBUyxFQUFFLG9CQUFvQjtRQUMvQixpQkFBaUIsRUFBRSw0QkFBNEI7UUFDL0MsbUJBQW1CLEVBQUUsc0RBQXNEO1FBQzNFLFlBQVksRUFBRSxvQkFBb0I7UUFDbEMsT0FBTyxFQUFFLFVBQVU7UUFDbkIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsZ0JBQWdCLEVBQUU7WUFDZCxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLEtBQUssRUFBRSwwQ0FBMEM7WUFDakQsTUFBTSxFQUFFLGlEQUFpRDtTQUMxRDtRQUNILG1CQUFtQixFQUFFO1lBQ2pCLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsS0FBSyxFQUFFLHNDQUFzQztZQUM3QyxNQUFNLEVBQUUsNkNBQTZDO1NBQ3hEO1FBQ0Qsa0JBQWtCLEVBQUUsb0JBQW9CO1FBQ3hDLG9CQUFvQixFQUFFLDRFQUE0RTtRQUNsRyxXQUFXLEVBQUUsY0FBYztRQUMzQixnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDdkMsU0FBUyxFQUFFO1lBQ1QsT0FBTyxFQUFFLGFBQWE7WUFDdEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsZUFBZSxFQUFFO2dCQUNmLE1BQU0sRUFBRSxxRkFBcUY7Z0JBQzdGLEtBQUssRUFBRSxvSUFBb0k7Z0JBQzNJLE1BQU0sRUFBRSw0SUFBNEk7YUFDcko7WUFDRCxxQkFBcUIsRUFBRTtnQkFDckIsT0FBTyxFQUFFLHdDQUF3QztnQkFDakQsYUFBYSxFQUFFO29CQUNiLEtBQUssRUFBRSwrRkFBK0Y7b0JBQ3RHLE1BQU0sRUFBRSx1R0FBdUc7aUJBQ2hIO2FBQ0Y7WUFDRCxzQkFBc0IsRUFBRTtnQkFDdEIsT0FBTyxFQUFFLHdDQUF3QzthQUNsRDtTQUNGO1FBQ0QsZUFBZSxFQUFFLGdCQUFnQjtRQUNqQyxRQUFRLEVBQUUsT0FBTztRQUNqQixVQUFVLEVBQUUsTUFBTTtRQUNsQixXQUFXLEVBQUUsU0FBUztRQUN0QixjQUFjLEVBQUUsVUFBVTtRQUMxQixrQkFBa0IsRUFBRSw4TEFBOEw7UUFDbE4sZ0JBQWdCLEVBQUUseUdBQXlHO1FBQzNILGVBQWUsRUFBRSxTQUFTO1FBQzFCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLGtCQUFrQixFQUFFLFdBQVc7UUFDL0IsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLHdDQUF3QztZQUNqRCxTQUFTLEVBQUUsd0dBQXdHO1NBQ3BIO1FBQ0QsWUFBWSxFQUFFLGdCQUFnQjtRQUM5QixxQkFBcUIsRUFBRSxnTEFBZ0w7UUFDdk0sZUFBZSxFQUFFLGlCQUFpQjtRQUNsQyxZQUFZLEVBQUUsY0FBYztLQUM3QjtJQUNELFdBQVcsRUFBRTtRQUNULE1BQU0sRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLEtBQUs7U0FDZDtLQUNKO0lBQ0QsVUFBVSxFQUFFO1FBQ1Ysb0JBQW9CLEVBQUUsd0NBQXdDO0tBQy9EO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDZCxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLFlBQVksRUFBRSxxQkFBcUI7UUFDbkMsZUFBZSxFQUFFLDJCQUEyQjtRQUM1QyxnQkFBZ0IsRUFBRyxpQkFBaUI7UUFDcEMsbUJBQW1CLEVBQUUsdUJBQXVCO1FBQzVDLFFBQVEsRUFBRyxlQUFlO1FBQzFCLE1BQU0sRUFBRyxZQUFZO1FBQ3JCLFFBQVEsRUFBRyxVQUFVO1FBQ3JCLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE9BQU8sRUFBRztZQUNOLE9BQU8sRUFBRyxpQ0FBaUM7WUFDM0MsTUFBTSxFQUFHLGdJQUFnSTtZQUN6SSxrQkFBa0IsRUFBRyw4QkFBOEI7WUFDbkQsMkJBQTJCLEVBQUcsOERBQThEO1lBQzVGLGVBQWUsRUFBRyxtREFBbUQ7WUFDckUsbUJBQW1CLEVBQUcsb0RBQW9EO1lBQzFFLGVBQWUsRUFBRyxpQkFBaUI7WUFDbkMscUJBQXFCLEVBQUcscUJBQXFCO1lBQzdDLFFBQVEsRUFBRyxZQUFZO1lBQ3ZCLFNBQVMsRUFBRyxVQUFVO1lBQ3RCLE9BQU8sRUFBRyxVQUFVO1NBQ3ZCO0tBQ0o7SUFDRCxVQUFVLEVBQUc7UUFDWCxhQUFhLEVBQUUsbUJBQW1CO0tBQ25DO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlOiBxdW90ZW1hcmtcbi8vIHRzbGludDpkaXNhYmxlOiBtYXgtbGluZS1sZW5ndGhcbmV4cG9ydCBjb25zdCBUQUJMRVNfRUwgPSB7XG4gICAgXCJUYWJsZXNcIjoge1xuICAgICAgICBcIkV4cG9ydFwiOiBcIs6Vzr7Osc6zz4nOs86uXCIsXG4gICAgICAgIFwiTW9yZVwiOiBcIs6gzrXPgc65z4PPg8+Mz4TOtc+BzrFcIixcbiAgICAgICAgXCJTZWFyY2hcIjogXCLOkc69zrHOts6uz4TOt8+DzrdcIixcbiAgICAgICAgXCJTZWFyY2hQbGFjZWhvbGRlclwiOiBcIs6Rzr3Osc62zq7PhM63z4POty4uLlwiLFxuICAgICAgICBcIkdyb3VwQnlcIjogXCLOn868zrHOtM6/z4DOv86vzrfPg863IM6xzr3OrFwiLFxuICAgICAgICBcIk5vdERlZmluZWRcIjogXCLOnM63IM+Az4HOv8+DzrTOuc6/z4HOuc+DzrzOrc69zr9cIixcbiAgICAgICAgXCJEYXRhVGFibGVcIjoge1xuICAgICAgICAgICAgXCJwYWdpbmF0ZVwiOiB7XG4gICAgICAgICAgICAgICAgXCJmaXJzdFwiOiBcIs6gz4HPjs+Ezrcgz4POtc67zq/OtM6xXCIsXG4gICAgICAgICAgICAgICAgXCJsYXN0XCI6IFwizqTOtc67zrXPhM6xzq/OsSDPg861zrvOr860zrFcIixcbiAgICAgICAgICAgICAgICBcIm5leHRcIjogXCLOlc+Az4zOvM61zr3Ot1wiLFxuICAgICAgICAgICAgICAgIFwicHJldmlvdXNcIjogXCLOoM+Bzr/Ot86zzr/Pjc68zrXOvc63XCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImluZm9cIjogXCLOlc68z4bOrM69zrnPg863IF9TVEFSVF8gzq3Pic+CIF9FTkRfIM6xz4DPjCBfVE9UQUxfIM61zrPOs8+BzrHPhs6tz4JcIixcbiAgICAgICAgICAgIFwiaW5mb0VtcHR5XCI6IFwizpTOtc69IM6yz4HOrc64zrfOus6xzr0gzrXOs86zz4HOsc+Gzq3PglwiLFxuICAgICAgICAgICAgXCJsb2FkaW5nXCI6IFwizpXOvM+GzqzOvc65z4POtyDOtM61zrTOv868zq3Ovc+Jzr0uLi5cIixcbiAgICAgICAgICAgIFwicHJvY2Vzc2luZ1wiOiBcIs6gzrHPgc6xzrvOsc6yzq4gzrTOtc60zr/OvM6tzr3Pic69Li4uXCIsXG4gICAgICAgICAgICBcImVtcHR5VGFibGVcIjogXCLOlM61zr0gzrLPgc6tzrjOt866zrHOvSDOsc+Azr/PhM61zrvOrc+DzrzOsc+EzrEuXCJcbiAgICAgICAgfSxcbiAgICAgIFwiQ29sdW1uRGlzcGxheVwiOiBcIs6Vz4DOuc67zr/Os86uIM6VzrzPhs6szr3Ouc+DzrfPgiDPg8+EzrfOu8+Ozr1cIixcbiAgICAgIFwiQ29sdW1uRGlzcGxheUluZm9cIjogXCLOlc+AzrnOu86tzr7PhM61IM+EzrnPgiDPg8+Ezq7Ou861z4Igz4DOv8+FIM64zq3Ou861z4TOtSDOvc6xIM61zrzPhs6xzr3Or862zr/Ovc+EzrHOuS5cIixcbiAgICAgIFwiU2F2ZVwiOiBcIs6Vz4bOsc+BzrzOv86zzq5cIixcbiAgICAgIFwiQXBwbHlcIjogXCLOlc+GzrHPgc68zr/Os86uXCIsXG4gICAgICBcIkNhbmNlbFwiOiBcIs6RzrrPjc+Bz4nPg863XCIsXG4gICAgICBcIlJlY29yZHNQZXJQYWdlXCI6IFwizpXOs86zz4HOsc+Gzq3PgiDOsc69zqwgz4POtc67zq/OtM6xXCIsXG4gICAgICBcIlBhZ2VJbmZvXCI6IFwie3tzdGFydH19LXt7ZW5kfX0gzrHPgM+MIHt7cmVjb3Jkc1RvdGFsfX1cIixcbiAgICAgIFwiU2VhcmNoTGlzdFBsYWNlaG9sZGVyXCI6IFwizpHOvc6xzrbOt8+Ezq7Pg8+EzrUgz4PPhM63IM67zq/Pg8+EzrEuLi5cIixcbiAgICAgIFwiRmlsdGVyc1wiOiBcIs6mzq/Ou8+Ez4HOsVwiLFxuICAgICAgXCJBbGxcIjogXCLOjM67zrFcIixcbiAgICAgICAgXCJBZGRJdGVtXCI6IFwizqDPgc6/z4POuM6uzrrOtyDPg8+Ezr/Ouc+HzrXOr86/z4VcIixcbiAgICAgICAgXCJFbXB0eVRhYmxlVGl0bGVcIjogXCLOlM61zr0gzrLPgc6tzrjOt866zrHOvSDOsc+Azr/PhM61zrvOrc+DzrzOsc+EzrEuXCIsXG4gICAgICAgIFwiRW1wdHlUYWJsZU1lc3NhZ2VcIjogXCLOoM+Bzr/Pg8+AzrHOuM6uz4PPhM61IM69zrEgz4fPgc63z4POuc68zr/PgM6/zrnOrs+DzrXPhM61IM6szrvOu861z4IgzrvOrc6+zrXOuc+CIM66zrvOtc65zrTOuc6sLlwiLFxuICAgICAgICBcIlJlbW92ZUl0ZW1cIjogXCLOlM65zrHOs8+BzrHPhs6uIM+Dz4TOv865z4fOtc6vzr/PhVwiLFxuICAgICAgICBcIkl0ZW1zXCI6IFwiz4PPhM6/zrnPh861zq/OsVwiLFxuICAgICAgICBcIkl0ZW1cIjogXCLPg8+Ezr/Ouc+HzrXOr86/XCIsXG4gICAgICAgIFwiQWRkSXRlbU1lc3NhZ2VcIjoge1xuICAgICAgICAgICAgXCJ0aXRsZVwiOiBcIs6gz4HOv8+DzrjOrs66zrcgz4PPhM6/zrnPh861zq/Pic69XCIsXG4gICAgICAgICAgICBcIm9uZVwiOiBcIs6Izr3OsSDOvc6tzr8gz4PPhM6/zrnPh861zq/OvyDPgM+Bzr/Pg8+Ezq3OuM63zrrOtSDOvM61IM61z4DOuc+Ez4XPh86vzrEuXCIsXG4gICAgICAgICAgICBcIm1hbnlcIjogXCJ7e3ZhbHVlfX0gzr3Orc6xIM+Dz4TOv865z4fOtc6vzrEgz4DPgc6/z4PPhM6tzrjOt866zrHOvSDOvM61IM61z4DOuc+Ez4XPh86vzrEuXCJcbiAgICAgICAgICB9LFxuICAgICAgICBcIlJlbW92ZUl0ZW1NZXNzYWdlXCI6IHtcbiAgICAgICAgICAgIFwidGl0bGVcIjogXCLOkc+GzrHOr8+BzrXPg863IM+Dz4TOv865z4fOtc6vz4nOvVwiLFxuICAgICAgICAgICAgXCJvbmVcIjogXCLOiM69zrEgz4PPhM6/zrnPh861zq/OvyDOsc+GzrHOuc+Bzq3OuM63zrrOtSDOvM61IM61z4DOuc+Ez4XPh86vzrEuXCIsXG4gICAgICAgICAgICBcIm1hbnlcIjogXCJ7e3ZhbHVlfX0gz4PPhM6/zrnPh861zq/OsSDOsc+GzrHOuc+Bzq3OuM63zrrOsc69IM68zrUgzrXPgM65z4TPhc+Hzq/OsS5cIlxuICAgICAgICB9LFxuICAgICAgICBcIlJlbW92ZUl0ZW1zVGl0bGVcIjogXCLOlM65zrHOs8+BzrHPhs6uIM+Dz4TOv865z4fOtc6vzr/PhVwiLFxuICAgICAgICBcIlJlbW92ZUl0ZW1zTWVzc2FnZVwiOiBcIs6gz4HPjM66zrXOuc+EzrHOuSDOvc6xIM60zrnOsc6zz4HOrM+IzrXPhM61IM6tzr3OsSDOriDPgM61z4HOuc+Dz4PPjM+EzrXPgc6xIM+Dz4TOv865z4fOtc6vzrEuIM6Yzq3Ou861z4TOtSDOvc6xIM+Az4HOv8+Hz4nPgc6uz4POtc+EzrU/XCIsXG4gICAgICAgIFwiU2VsZWN0QWxsXCI6IFwizpXPgM65zrvOv86zzq4gz4zOu8+Jzr1cIixcbiAgICAgICAgXCJDbGVhclNlbGVjdGlvblwiOiBcIs6Rzr3Osc6vz4HOtc+DzrcgzrXPgM65zrvOv86zzq7PglwiLFxuICAgICAgXCJBY3Rpb25zXCI6IHtcbiAgICAgICAgXCJMYWJlbFwiOiBcIs6Vz4DOtc6+zrXPgc6zzrHPg86vzrFcIixcbiAgICAgICAgXCJTdGFydFwiOiBcIs6Izr3Osc+Bzr7Ot1wiLFxuICAgICAgICBcIkFjdGlvbk1lc3NhZ2VcIjoge1xuICAgICAgICAgIFwiTm9uZVwiOiBcIs6UzrXOvSDOrc+HzrXPhM61IM61z4DOuc67zq3Ovs61zrkgzrrOsc69zq3Ovc6xIM+Dz4TOv865z4fOtc6vzr8gz4DOv8+FIM69zrEgzrHOus6/zrvOv8+FzrjOtc6vIM+EzrnPgiDPgM+Bzr/Pi8+Azr/OuM6tz4POtc65z4Igz4TOt8+CIM61zr3Orc+BzrPOtc65zrHPgi5cIixcbiAgICAgICAgICBcIk9uZVwiOiBcIs6Iz4fOtc+EzrUgzrXPgM65zrvOrc6+zrXOuSDOrc69zrEgz4PPhM6/zrnPh861zq/OvyDPgM6/z4UgzrHOus6/zrvOv8+FzrjOtc6vIM+EzrnPgiDPgM+Bzr/Pi8+Azr/OuM6tz4POtc65z4Igz4TOt8+CIM61zr3Orc+BzrPOtc65zrHPgi4gzqDOsc+Ezq7Pg8+EzrUgz4TOvyDPgM67zq7Ous+Ez4HOvyDOiM69zrHPgc6+zrcgzrPOuc6xIM69zrEgzr7Otc66zrnOvc6uz4POtc65IM63IM60zrnOsc60zrnOus6xz4POr86xLlwiLFxuICAgICAgICAgIFwiTWFueVwiOiBcIs6Iz4fOtc+EzrUgzrXPgM65zrvOrc6+zrXOuSB7e2xlbmd0aH19IM+Dz4TOv865z4fOtc6vzrEgz4DOv8+FIM6xzrrOv867zr/Phc64zr/Pjc69IM+EzrnPgiDPgM+Bzr/Pi8+Azr/OuM6tz4POtc65z4Igz4TOt8+CIM61zr3Orc+BzrPOtc65zrHPgi4gzqDOsc+Ezq7Pg8+EzrUgz4TOvyDPgM67zq7Ous+Ez4HOvyDOiM69zrHPgc6+zrcgzrPOuc6xIM69zrEgzr7Otc66zrnOvc6uz4POtc65IM63IM60zrnOsc60zrnOus6xz4POr86xLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiQ29tcGxldGVkV2l0aEVycm9yc1wiOiB7XG4gICAgICAgICAgXCJUaXRsZVwiOiBcIs6XIM60zrnOsc60zrnOus6xz4POr86xIM6/zrvOv866zrvOt8+Bz47OuM63zrrOtSDOvM61IM+Dz4bOrM67zrzOsc+EzrEuXCIsXG4gICAgICAgICAgXCJEZXNjcmlwdGlvblwiOiB7XG4gICAgICAgICAgICBcIk9uZVwiOiBcIs6Izr3OsSDPg8+Ezr/Ouc+HzrXOr86/IM60zrXOvSDOsc69zrHOvc61z47OuM63zrrOtSDOu8+MzrPPiSDOtc69z4zPgiDPg8+GzqzOu868zrHPhM6/z4Igz4DOv8+FIM+Dz4XOvc6tzrLOtyDOus6xz4TOrCDPhM63zr0gzrXOus+Ezq3Ou861z4POtyDPhM63z4IgzrTOuc6xzrTOuc66zrHPg86vzrHPgi5cIixcbiAgICAgICAgICAgIFwiTWFueVwiOiBcInt7ZXJyb3JzfX0gz4PPhM6/zrnPh861zq/OsSDOtM61zr0gzrHOvc6xzr3Otc+OzrjOt866zrHOvSDOu8+MzrPPiSDOtc69z4zPgiDPg8+GzqzOu868zrHPhM6/z4Igz4DOv8+FIM+Dz4XOvc6tzrLOtyDOus6xz4TOrCDPhM63zr0gzrXOus+Ezq3Ou861z4POtyDPhM63z4IgzrTOuc6xzrTOuc66zrHPg86vzrHPgi5cIlxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgXCJDb21wbGV0ZWRXaXRoU3VjY2Vzc1wiOiB7XG4gICAgICAgICAgXCJUaXRsZVwiOiBcIs6XIM60zrnOsc60zrnOus6xz4POr86xIM6/zrvOv866zrvOt8+Bz47OuM63zrrOtSDOvM61IM61z4DOuc+Ez4XPh86vzrEuXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFwiU2VsZWN0Q29sdW1uc1wiOiBcIs6Vz4DOuc67zr/Os86uIM+Dz4TOt867z47OvVwiLFxuICAgICAgXCJNb3ZlVXBcIjogXCLOlc+AzqzOvc+JXCIsXG4gICAgICBcIk1vdmVEb3duXCI6IFwizprOrM+Ez4lcIixcbiAgICAgIFwiQWRkQ29sdW1uXCI6IFwizpXPgM65zrvOv86zzq5cIixcbiAgICAgIFwiUmVtb3ZlQ29sdW1uXCI6IFwizpHPhs6xzq/Pgc61z4POt1wiLFxuICAgICAgXCJTZWxlY3RDb2x1bW5IZWxwXCI6IFwizpXPgM65zrvOrc6+z4TOtSDOvM6vzrEgzq4gz4DOtc+BzrnPg8+Dz4zPhM61z4HOtc+CIM6xz4DPjCDPhM65z4IgzrTOuc6xzrjOrc+DzrnOvM61z4Igz4PPhM6uzrvOtc+CIM66zrHOuSDPgM6xz4TOrs+Dz4TOtSDPhM6/IM+AzrvOrs66z4TPgc6/ICfOlc+AzrnOu86/zrPOricgzrPOuc6xIM69zrEgz4TOuc+CIM61zrzPhs6xzr3Or8+DzrXPhM61LiDOp8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IM+Ezr8gz4DOu86uzrrPhM+Bzr8gJ86Rz4bOsc6vz4HOtc+DzrcnIM6zzrnOsSDOvc6xIM6xz4bOsc65z4HOrc+DzrXPhM61IM+EzrnPgiDOtc+AzrnOu861zrPOvM6tzr3Otc+CIM+Dz4TOrs67zrXPgi5cIixcbiAgICAgIFwiTW92ZUNvbHVtbkhlbHBcIjogXCLOp8+BzrfPg865zrzOv8+Azr/Ouc6uz4PPhM61IM+EzrEgz4DOu86uzrrPhM+BzrEgJ86Vz4DOrM69z4knIM66zrHOuSAnzprOrM+Ez4knIM6zzrnOsSDOvc6xIM6xzrvOu86szr7Otc+EzrUgz4TOt869IM+DzrXOuc+BzqwgzrXOvM+GzqzOvc65z4POt8+CIM+Ez4nOvSDPg8+EzrfOu8+Ozr0gz4TOv8+FIM+Azq/Ovc6xzrrOsS5cIixcbiAgICAgIFwiVW5rbm93bkNvbHVtblwiOiBcIs6GzrPOvc+Jz4PPhM6/XCIsXG4gICAgICBcIlNlbGVjdENvbHVtblwiOiBcIs6Vz4DOuc67zr/Os86uXCIsXG4gICAgICBcIkFjdGlvbkxpbmtDb2x1bW5cIjogXCLOlc69zq3Pgc6zzrXOuc61z4JcIixcbiAgICAgIFwiRGF0YUVycm9yXCI6IHtcbiAgICAgICAgXCJUaXRsZVwiOiBcIs6jz4bOrM67zrzOsSDOus6xz4TOrCDPhM63zr0gz4DOsc+BzrHOu86xzrLOriDPhM+Jzr0gzrTOtc60zr/OvM6tzr3Pic69XCIsXG4gICAgICAgIFwiTWVzc2FnZVwiOiBcIs6jz4XOvc6tzrLOtyDPg8+GzqzOu868zrEgzrrOsc+Ezqwgz4TOt869IM+AzrHPgc6xzrvOsc6yzq4gz4TPic69IM60zrXOtM6/zrzOrc69z4nOvS4gzqDPgc6/z4PPgM6xzrjOrs+Dz4TOtSDOvs6xzr3OrCDOriDPhM+Bzr/PgM6/z4DOv865zq7Pg8+EzrUgz4TOsSDPg8+Ezr/Ouc+HzrXOr86xIM6xzr3Osc62zq7PhM63z4POt8+CLlwiXG4gICAgICB9LFxuICAgICAgXCJFeHBvcnRMaXN0XCI6IFwizpXOvs6xzrPPic6zzq4gzrvOr8+Dz4TOsc+CXCIsXG4gICAgICBcIkV4cG9ydExpbWl0RXhjZWVkZWRcIjogXCLOpM6/IM+AzrvOrs64zr/PgiDPhM+Jzr0gz4PPhM6/zrnPh861zq/Pic69IM+Az4HOv8+CIM61zr7Osc6zz4nOs86uICh7e2RhdGFMZW5ndGh9fSkgzr7Otc+AzrXPgc69zqzOtc65IM+Ezr8gzrzOrc6zzrnPg8+Ezr8gzrXPgM65z4TPgc61z4DPhM+MICh7e2V4cG9ydExpbWl0fX0pLiDOoM6xz4HOsc66zrHOu86/z43OvM61IM+Az4HOv8+DzrHPgc68z4zPg8+EzrUgz4TOsSDPhs6vzrvPhM+BzrEgz4TOt8+CIM6xzr3Osc62zq7PhM63z4POt8+CIM66zrHOuSDPgM+Bzr/Pg8+AzrHOuM6uz4PPhM61IM6+zrHOvc6sLlwiLFxuICAgICAgXCJFeHBvcnRSZXN1bHRzXCI6IFwizpTOtc60zr/OvM6tzr3OsSDOu86vz4PPhM6xz4JcIixcbiAgICAgIFwiUm93RGV0YWlsc1wiOiBcIs6bzrXPgM+Ezr/OvM6tz4HOtc65zrXPglwiXG4gICAgfSxcbiAgICBcIlRydWVGYWxzZVwiOiB7XG4gICAgICAgIFwibG9uZ1wiOiB7XG4gICAgICAgICAgICBcIlllc1wiOiBcIs6dzrHOuVwiLFxuICAgICAgICAgICAgXCJOb1wiOiBcIs6Mz4fOuVwiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFwiU2V0dGluZ3NcIjoge1xuICAgICAgXCJPcGVyYXRpb25Db21wbGV0ZWRcIjogXCLOlyDOtM65zrHOtM65zrrOsc+Dzq/OsSDOv867zr/Ous67zrfPgc+OzrjOt866zrUgzrzOtSDOtc+AzrnPhM+Fz4fOr86xLlwiXG4gICAgfSxcbiAgICBcIkFkdmFuY2VkU2VhcmNoXCI6IHtcbiAgICAgICAgXCJDaG9vc2VcIjogXCI8zpXPgM65zrvOrc6+z4TOtSDOvM65zrEgzrHOvc6xzrbOrs+EzrfPg863PlwiLFxuICAgICAgICBcIkNob29zZURhdGVcIjogXCLOlc+AzrnOu86/zrPOriDOt868zrXPgc6/zrzOt869zq/Osc+CXCIsXG4gICAgICAgIFwiU2F2ZWRTZWFyY2hlc1wiOiBcIs6Rz4DOv864zrfOus61z4XOvM6tzr3Otc+CIM6xzr3Osc62zrfPhM6uz4POtc65z4JcIixcbiAgICAgICAgXCJUb2dnbGVEcm9wZG93blwiIDogXCLOlc68z4bOrM69zrnPg863IM67zq/Pg8+EzrHPglwiLFxuICAgICAgICBcIlNhdmVDdXJyZW50U2VhcmNoXCI6IFwizpHPgM6/zrjOrs66zrXPhc+DzrcgzrHOvc6xzrbOrs+EzrfPg863z4JcIixcbiAgICAgICAgXCJTYXZlQXNcIiA6IFwizpHPgM6/zrjOrs66zrXPhc+Dzrcgz4nPglwiLFxuICAgICAgICBcIlNhdmVcIiA6IFwizpHPgM6/zrjOrs66zrXPhc+DzrdcIixcbiAgICAgICAgXCJEZWxldGVcIiA6IFwizpTOuc6xzrPPgc6xz4bOrlwiLFxuICAgICAgICBcIk1vcmVcIjogXCLOoM61z4HOuc+Dz4PPjM+EzrXPgc6xXCIsXG4gICAgICAgIFwiTGVzc1wiOiBcIs6bzrnOs8+Mz4TOtc+BzrFcIixcbiAgICAgICAgXCJNb2RhbFwiIDoge1xuICAgICAgICAgICAgXCJUaXRsZVwiIDogXCLOkc+Azr/OuM6uzrrOtc+Fz4POtyDOus+BzrnPhM63z4HOr8+Jzr0gzrHOvc6xzrbOrs+EzrfPg863z4JcIixcbiAgICAgICAgICAgIFwiSGVscFwiIDogXCLOn8+Bzq/Pg8+EzrUgzq3Ovc6xzr0gz4TOr8+EzrvOvyDOs865zrEgz4TOsSDOtc+AzrnOu861zrPOvM6tzr3OsSDOus+BzrnPhM6uz4HOuc6xIM6xzr3Osc62zq7PhM63z4POt8+CLiDOkc+Fz4TPjM+CIM6/IM+Ezq/PhM67zr/PgiDOuM6xIM+DzrHPgiDOss6/zrfOuM6uz4POtc65IM69zrEgz4TOsSDPh8+BzrfPg865zrzOv8+Azr/Ouc6uz4POtc+EzrUgzr7Osc69zqwgz4PPhM6/IM68zq3Ou867zr/OvS5cIixcbiAgICAgICAgICAgIFwiVGl0bGVPblVzZXJFcnJvclwiIDogXCLOoM6xz4HOsc66zrHOu8+OIM61zrnPg86szrPOtc+EzrUgzq3Ovc6xzr0gz4TOr8+EzrvOv1wiLFxuICAgICAgICAgICAgXCJUaXRsZU9uTGlzdEFscmVhZHlDcmVhdGVkXCIgOiBcIs6kzr8gz4zOvc6/zrzOsSDOsc+Fz4TPjCDPh8+BzrfPg865zrzOv8+Azr/Ouc61zq/PhM6xzrkgzq7OtM63LiDOlM65zrHOu86tzr7PhM61IM6tzr3OsSDOtM65zrHPhs6/z4HOtc+EzrnOus+MLlwiLFxuICAgICAgICAgICAgXCJOb0xpc3REZWZpbmVkXCIgOiBcIs6UzrXOvSDOrc+HzrXOuSDOv8+BzrnPg8+EzrXOryDPhM6/IM+DzrfOvM61zq/OvyDOsc+Azr/OuM6uzrrOtc+Fz4POt8+CIM+EzrfPgiDOu86vz4PPhM6xz4JcIixcbiAgICAgICAgICAgIFwiRW1wdHlDcml0ZXJpYUxpc3RcIiA6IFwizpTOtc69IM6tz4fOtc+EzrUgzrrOsc64zr/Pgc6vz4POtc65IM66zrHOvc6tzr3OsSDOus+BzrnPhM6uz4HOuc6/IM6zzrnOsSDOsc+Azr/OuM6uzrrOtc+Fz4POt1wiLFxuICAgICAgICAgICAgXCJTYXZlTmFtZUxhYmVsXCIgOiBcIs6fzr3Ov868zrHPg86vzrEgzrvOr8+Dz4TOsc+CXCIsXG4gICAgICAgICAgICBcIlNhdmVOYW1lUGxhY2Vob2xkZXJcIiA6IFwizpXOuc+DzqzOs861z4TOtSDOrc69zrHOvSDPhM6vz4TOu86/XCIsXG4gICAgICAgICAgICBcIkFjY2VwdFwiIDogXCLOkc+Azr/OuM6uzrrOtc+Fz4POt1wiLFxuICAgICAgICAgICAgXCJEZWNsaW5lXCIgOiBcIs6Rz4DPjM+Bz4HOuc+IzrdcIixcbiAgICAgICAgICAgIFwiQ2xvc2VcIiA6IFwizprOu861zq/Pg865zrzOv1wiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFwiQWRkSXRlbXNcIiA6IHtcbiAgICAgIFwiU2VsZWN0SXRlbXNcIjogXCLOlc+AzrnOu86tzr7PhM61IM+Dz4TOv865z4fOtc6vzrFcIixcbiAgICB9XG59O1xuIl19
@@ -1,8 +1,5 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- /** @type {?} */
1
+ // tslint:disable: quotemark
2
+ // tslint:disable: max-line-length
6
3
  export var TABLES_EN = {
7
4
  "Tables": {
8
5
  "Export": "Export",
@@ -129,5 +126,4 @@ export var TABLES_EN = {
129
126
  "SelectItems": "Select items",
130
127
  }
131
128
  };
132
-
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmVuLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2kxOG4vdGFibGVzLmVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsV0FBYSxTQUFTLEdBQUc7SUFDckIsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLE1BQU07UUFDZCxRQUFRLEVBQUUsUUFBUTtRQUNsQixtQkFBbUIsRUFBRSxXQUFXO1FBQ2hDLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLFlBQVksRUFBRSxhQUFhO1FBQzNCLFdBQVcsRUFBRTtZQUNULFVBQVUsRUFBRTtnQkFDUixPQUFPLEVBQUUsT0FBTztnQkFDaEIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsVUFBVSxFQUFFLFVBQVU7YUFDekI7WUFDRCxNQUFNLEVBQUUsNkNBQTZDO1lBQ3JELFdBQVcsRUFBRSw2QkFBNkI7WUFDMUMsWUFBWSxFQUFFLG9CQUFvQjtZQUNsQyxZQUFZLEVBQUUsZ0NBQWdDO1NBQ2pEO1FBQ0gsZUFBZSxFQUFFLGdCQUFnQjtRQUNqQyxtQkFBbUIsRUFBRSxpREFBaUQ7UUFDdEUsTUFBTSxFQUFFLE1BQU07UUFDZCxPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixnQkFBZ0IsRUFBRSxnQkFBZ0I7UUFDbEMsVUFBVSxFQUFFLHVDQUF1QztRQUNuRCx1QkFBdUIsRUFBRSxtQkFBbUI7UUFDNUMsU0FBUyxFQUFFLFNBQVM7UUFDcEIsS0FBSyxFQUFFLEtBQUs7UUFDWixTQUFTLEVBQUUsVUFBVTtRQUNyQixpQkFBaUIsRUFBRSxnQ0FBZ0M7UUFDbkQsbUJBQW1CLEVBQUUsd0RBQXdEO1FBQzdFLFlBQVksRUFBRSxhQUFhO1FBQzNCLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLE1BQU0sRUFBRSxNQUFNO1FBQ2hCLGdCQUFnQixFQUFFO1lBQ2hCLE9BQU8sRUFBRSxVQUFVO1lBQ25CLEtBQUssRUFBRSx5Q0FBeUM7WUFDaEQsTUFBTSxFQUFFLG1EQUFtRDtTQUM1RDtRQUNELG1CQUFtQixFQUFFO1lBQ25CLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLEtBQUssRUFBRSx3Q0FBd0M7WUFDL0MsTUFBTSxFQUFFLGlEQUFpRDtTQUMxRDtRQUNELGtCQUFrQixFQUFFLGNBQWM7UUFDbEMsb0JBQW9CLEVBQUUsaUZBQWlGO1FBQ3JHLFdBQVcsRUFBRSxZQUFZO1FBQ3pCLGdCQUFnQixFQUFFLGlCQUFpQjtRQUNuQyxTQUFTLEVBQUU7WUFDVCxPQUFPLEVBQUUsTUFBTTtZQUNmLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGVBQWUsRUFBRTtnQkFDZixNQUFNLEVBQUUsMkRBQTJEO2dCQUNuRSxLQUFLLEVBQUUsNERBQTREO2dCQUNuRSxNQUFNLEVBQUUsbUVBQW1FO2FBQzVFO1lBQ0QscUJBQXFCLEVBQUU7Z0JBQ3JCLE9BQU8sRUFBRSwwQ0FBMEM7Z0JBQ25ELGFBQWEsRUFBRTtvQkFDYixLQUFLLEVBQUUsaUZBQWlGO29CQUN4RixNQUFNLEVBQUUsMEZBQTBGO2lCQUNuRzthQUNGO1lBQ0Qsc0JBQXNCLEVBQUU7Z0JBQ3RCLE9BQU8sRUFBRSwyQ0FBMkM7YUFDckQ7U0FDRjtRQUNELGVBQWUsRUFBRSxnQkFBZ0I7UUFDakMsUUFBUSxFQUFFLFNBQVM7UUFDbkIsVUFBVSxFQUFFLFdBQVc7UUFDdkIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsY0FBYyxFQUFFLFFBQVE7UUFDeEIsa0JBQWtCLEVBQUUsMklBQTJJO1FBQy9KLGdCQUFnQixFQUFFLCtEQUErRDtRQUNqRixlQUFlLEVBQUUsU0FBUztRQUMxQixjQUFjLEVBQUUsUUFBUTtRQUN4QixrQkFBa0IsRUFBRSxTQUFTO1FBQzdCLFdBQVcsRUFBRTtZQUNYLE9BQU8sRUFBRSwwQkFBMEI7WUFDbkMsU0FBUyxFQUFFLGlGQUFpRjtTQUM3RjtRQUNELFlBQVksRUFBRSxhQUFhO1FBQzNCLHFCQUFxQixFQUFFLDRKQUE0SjtRQUNuTCxlQUFlLEVBQUUsZUFBZTtRQUNoQyxZQUFZLEVBQUUsU0FBUztLQUN4QjtJQUNELFdBQVcsRUFBRTtRQUNULE1BQU0sRUFBRTtZQUNKLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLElBQUk7U0FDYjtLQUNKO0lBQ0QsVUFBVSxFQUFFO1FBQ1Ysb0JBQW9CLEVBQUUsMkNBQTJDO0tBQ2xFO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDZCxRQUFRLEVBQUUseUJBQXlCO1FBQ25DLFlBQVksRUFBRSxhQUFhO1FBQzNCLGVBQWUsRUFBRSxnQkFBZ0I7UUFDakMsZ0JBQWdCLEVBQUcsaUJBQWlCO1FBQ3BDLG1CQUFtQixFQUFFLGFBQWE7UUFDbEMsUUFBUSxFQUFHLFlBQVk7UUFDdkIsTUFBTSxFQUFHLE1BQU07UUFDZixRQUFRLEVBQUcsUUFBUTtRQUNuQixNQUFNLEVBQUUsTUFBTTtRQUNkLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFHO1lBQ04sT0FBTyxFQUFHLDhCQUE4QjtZQUN4QyxNQUFNLEVBQUcsdUhBQXVIO1lBQ2hJLGtCQUFrQixFQUFHLHVDQUF1QztZQUM1RCwyQkFBMkIsRUFBRyxvREFBb0Q7WUFDbEYsZUFBZSxFQUFHLGlDQUFpQztZQUNuRCxtQkFBbUIsRUFBRyw0Q0FBNEM7WUFDbEUsZUFBZSxFQUFHLFdBQVc7WUFDN0IscUJBQXFCLEVBQUcsc0JBQXNCO1lBQzlDLFFBQVEsRUFBRyxNQUFNO1lBQ2pCLFNBQVMsRUFBRyxTQUFTO1lBQ3JCLE9BQU8sRUFBRyxPQUFPO1NBQ3BCO0tBQ0o7SUFDSCxVQUFVLEVBQUc7UUFDWCxhQUFhLEVBQUUsY0FBYztLQUM5QjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTogcXVvdGVtYXJrXG4vLyB0c2xpbnQ6ZGlzYWJsZTogbWF4LWxpbmUtbGVuZ3RoXG5leHBvcnQgY29uc3QgVEFCTEVTX0VOID0ge1xuICAgIFwiVGFibGVzXCI6IHtcbiAgICAgIFwiRXhwb3J0XCI6IFwiRXhwb3J0XCIsXG4gICAgICAgIFwiTW9yZVwiOiBcIk1vcmVcIixcbiAgICAgICAgXCJTZWFyY2hcIjogXCJTZWFyY2hcIixcbiAgICAgICAgXCJTZWFyY2hQbGFjZWhvbGRlclwiOiBcIlNlYXJjaC4uLlwiLFxuICAgICAgICBcIkdyb3VwQnlcIjogXCJHcm91cCBieVwiLFxuICAgICAgICBcIk5vdERlZmluZWRcIjogXCJOb3QgZGVmaW5lZFwiLFxuICAgICAgICBcIkRhdGFUYWJsZVwiOiB7XG4gICAgICAgICAgICBcInBhZ2luYXRlXCI6IHtcbiAgICAgICAgICAgICAgICBcImZpcnN0XCI6IFwiRmlyc3RcIixcbiAgICAgICAgICAgICAgICBcImxhc3RcIjogXCJMYXN0XCIsXG4gICAgICAgICAgICAgICAgXCJuZXh0XCI6IFwiTmV4dFwiLFxuICAgICAgICAgICAgICAgIFwicHJldmlvdXNcIjogXCJQcmV2aW91c1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJpbmZvXCI6IFwiU2hvd2luZyBfU1RBUlRfIHRvIF9FTkRfIG9mIF9UT1RBTF8gZW50cmllc1wiLFxuICAgICAgICAgICAgXCJpbmZvRW1wdHlcIjogXCJTaG93aW5nIDAgdG8gMCBvZiAwIGVudHJpZXNcIixcbiAgICAgICAgICAgIFwicHJvY2Vzc2luZ1wiOiBcIlByb2Nlc3NpbmcgZGF0YS4uLlwiLFxuICAgICAgICAgICAgXCJlbXB0eVRhYmxlXCI6IFwiVGhlcmUgYXJlIG5vIG1hdGNoaW5nIHJlY29yZHMuXCJcbiAgICAgICAgfSxcbiAgICAgIFwiQ29sdW1uRGlzcGxheVwiOiBcIkNvbHVtbiBEaXNwbGF5XCIsXG4gICAgICBcIkNvbHVtbkRpc3BsYXlJbmZvXCI6IFwizpXPgM65zrvOrc6+z4TOtSDPhM65z4Igz4PPhM6uzrvOtc+CIM+Azr/PhSDOuM6tzrvOtc+EzrUgzr3OsSDOtc68z4bOsc69zq/Ots6/zr3PhM6xzrkuXCIsXG4gICAgICBcIlNhdmVcIjogXCJTYXZlXCIsXG4gICAgICBcIkFwcGx5XCI6IFwiQXBwbHlcIixcbiAgICAgIFwiQ2FuY2VsXCI6IFwiQ2FuY2VsXCIsXG4gICAgICBcIlJlY29yZHNQZXJQYWdlXCI6IFwiSXRlbXMgcGVyIHBhZ2VcIixcbiAgICAgIFwiUGFnZUluZm9cIjogXCJ7e3N0YXJ0fX0te3tlbmR9fSBvZiB7e3JlY29yZHNUb3RhbH19XCIsXG4gICAgICBcIlNlYXJjaExpc3RQbGFjZUhvbGRlclwiOiBcIlNlYXJjaCBpbiBsaXN0Li4uXCIsXG4gICAgICBcIkZpbHRlcnNcIjogXCJGaWx0ZXJzXCIsXG4gICAgICBcIkFsbFwiOiBcIkFsbFwiLFxuICAgICAgXCJBZGRJdGVtXCI6IFwiQWRkIGl0ZW1cIixcbiAgICAgIFwiRW1wdHlUYWJsZVRpdGxlXCI6IFwiVGhlcmUgYXJlIG5vIG1hdGNoaW5nIHJlY29yZHMuXCIsXG4gICAgICBcIkVtcHR5VGFibGVNZXNzYWdlXCI6IFwiUGxlYXNlIHRyeSB0byB1c2Ugb3RoZXIga2V5d29yZHMgb3Igc2VhcmNoIHBhcmFtZXRlcnMuXCIsXG4gICAgICBcIlJlbW92ZUl0ZW1cIjogXCJSZW1vdmUgaXRlbVwiLFxuICAgICAgXCJJdGVtc1wiOiBcIml0ZW1zXCIsXG4gICAgICBcIkl0ZW1cIjogXCJpdGVtXCIsXG4gICAgXCJBZGRJdGVtTWVzc2FnZVwiOiB7XG4gICAgICBcInRpdGxlXCI6IFwiQWRkIGl0ZW1cIixcbiAgICAgIFwib25lXCI6IFwiQSBuZXcgaXRlbSBoYXMgYmVlbiBhZGRlZCBzdWNjZXNzZnVsbHkuXCIsXG4gICAgICBcIm1hbnlcIjogXCJ7e3ZhbHVlfX0gbmV3IGl0ZW1zIGhhdmUgYmVlbiBhZGRlZCBzdWNjZXNzZnVsbHkuXCJcbiAgICB9LFxuICAgIFwiUmVtb3ZlSXRlbU1lc3NhZ2VcIjoge1xuICAgICAgXCJ0aXRsZVwiOiBcIlJlbW92ZSBpdGVtc1wiLFxuICAgICAgXCJvbmVcIjogXCJBbiBpdGVtIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZW1vdmVkLlwiLFxuICAgICAgXCJtYW55XCI6IFwie3t2YWx1ZX19IGl0ZW1zIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgcmVtb3ZlZC5cIlxuICAgIH0sXG4gICAgXCJSZW1vdmVJdGVtc1RpdGxlXCI6IFwiUmVtb3ZlIGl0ZW1zXCIsXG4gICAgXCJSZW1vdmVJdGVtc01lc3NhZ2VcIjogXCJZb3UgYXJlIGdvaW5nIHRvIHJlbW92ZSBvbmUgb3IgbW9yZSBpbnN0cnVjdG9yIGNvdXJzZXMuIERvIHlvdSB3YW50IHRvIHByb2NlZWQ/XCIsXG4gICAgICBcIlNlbGVjdEFsbFwiOiBcIlNlbGVjdCBhbGxcIixcbiAgICAgIFwiQ2xlYXJTZWxlY3Rpb25cIjogXCJDbGVhciBzZWxlY3Rpb25cIixcbiAgICAgIFwiQWN0aW9uc1wiOiB7XG4gICAgICAgIFwiTGFiZWxcIjogXCJFZGl0XCIsXG4gICAgICAgIFwiU3RhcnRcIjogXCJTdGFydFwiLFxuICAgICAgICBcIkFjdGlvbk1lc3NhZ2VcIjoge1xuICAgICAgICAgIFwiTm9uZVwiOiBcIlRoZXJlIGlzIG5vIHNlbGVjdGVkIGl0ZW0gdGhhdCBtZWV0cyBhY3Rpb24gcmVxdWlyZW1lbnRzLlwiLFxuICAgICAgICAgIFwiT25lXCI6IFwiWW91IGhhdmUgc2VsZWN0ZWQgb25lIGl0ZW0gdGhhdCBtZWV0cyBhY3Rpb24gcmVxdWlyZW1lbnRzLlwiLFxuICAgICAgICAgIFwiTWFueVwiOiBcIllvdSBoYXZlIHNlbGVjdGVkIHt7bGVuZ3RofX0gaXRlbXMgdGhhdCBtZWV0IGFjdGlvbiByZXF1aXJlbWVudHMuXCJcbiAgICAgICAgfSxcbiAgICAgICAgXCJDb21wbGV0ZWRXaXRoRXJyb3JzXCI6IHtcbiAgICAgICAgICBcIlRpdGxlXCI6IFwiVGhlIG9wZXJhdGlvbiB3YXMgY29tcGxldGVkIHdpdGggZXJyb3JzLlwiLFxuICAgICAgICAgIFwiRGVzY3JpcHRpb25cIjoge1xuICAgICAgICAgICAgXCJPbmVcIjogXCJPbmUgaXRlbSBoYXMgbm90IGJlZW4gdXBkYXRlZCBkdWUgdG8gYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHByb2Nlc3MuXCIsXG4gICAgICAgICAgICBcIk1hbnlcIjogXCJ7e2Vycm9yc319IGl0ZW1zIGhhdmUgbm90IGJlZW4gdXBkYXRlZCBkdWUgdG8gYW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHByb2Nlc3MuXCJcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIFwiQ29tcGxldGVkV2l0aFN1Y2Nlc3NcIjoge1xuICAgICAgICAgIFwiVGl0bGVcIjogXCJUaGUgb3BlcmF0aW9uIHdhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LlwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBcIlNlbGVjdENvbHVtbnNcIjogXCJTZWxlY3QgY29sdW1uc1wiLFxuICAgICAgXCJNb3ZlVXBcIjogXCJNb3ZlIHVwXCIsXG4gICAgICBcIk1vdmVEb3duXCI6IFwiTW92ZSBkb3duXCIsXG4gICAgICBcIkFkZENvbHVtblwiOiBcIkFkZFwiLFxuICAgICAgXCJSZW1vdmVDb2x1bW5cIjogXCJSZW1vdmVcIixcbiAgICAgIFwiU2VsZWN0Q29sdW1uSGVscFwiOiBcIlNlbGVjdCBvbmUgb3IgbW9yZSBjb2x1bW5zIGFuZCBwcmVzcyAnQWRkJyBidXR0b24gdG8gaW5jbHVkZSB0aGVtIGluIHRhYmxlLiBVc2UgJ1JlbW92ZScgYnV0dG9uIHRvIGV4Y2x1ZGUgb25lIG9yIG1vcmUgY29sdW1ucyBmcm9tIHZpZXcuXCIsXG4gICAgICBcIk1vdmVDb2x1bW5IZWxwXCI6IFwiVXNlICdNb3ZlIHVwJyBhbmQgJ01vdmUgZG93bicgYnV0dG9ucyB0byBjaGFuZ2UgY29sdW1uIG9yZGVyLlwiLFxuICAgICAgXCJVbmtub3duQ29sdW1uXCI6IFwiVW5rbm93blwiLFxuICAgICAgXCJTZWxlY3RDb2x1bW5cIjogXCJTZWxlY3RcIixcbiAgICAgIFwiQWN0aW9uTGlua0NvbHVtblwiOiBcIkFjdGlvbnNcIixcbiAgICAgIFwiRGF0YUVycm9yXCI6IHtcbiAgICAgICAgXCJUaXRsZVwiOiBcIkVycm9yIHdoaWxlIGdldHRpbmcgZGF0YVwiLFxuICAgICAgICBcIk1lc3NhZ2VcIjogXCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZXR0aW5nIGRhdGEuIFBsZWFzZSB0cnkgYWdhaW4gb3IgY2hhbmdlIHlvdXIgY3JpdGVyaWEuXCJcbiAgICAgIH0sXG4gICAgICBcIkV4cG9ydExpc3RcIjogXCJFeHBvcnQgbGlzdFwiLFxuICAgICAgXCJFeHBvcnRMaW1pdEV4Y2VlZGVkXCI6IFwiVGhlIG51bWJlciBvZiBpdGVtcyB0aGF0IGFyZSB0byBiZSBleHBvcnRlZCAoe3tkYXRhTGVuZ3RofX0pIGV4Y2VlZHMgdGhlIGV4cG9ydCBsaW1pdCAoe3tleHBvcnRMaW1pdH19KS4gUGxlYXNlIGFwcGx5IG1vcmUgc3BlY2lmaWMgZmlsdGVycyB0byB0aGUgc2VhcmNoLlwiLFxuICAgICAgXCJFeHBvcnRSZXN1bHRzXCI6IFwiRXhwb3J0ZWQgbGlzdFwiLFxuICAgICAgXCJSb3dEZXRhaWxzXCI6IFwiRGV0YWlsc1wiXG4gICAgfSxcbiAgICBcIlRydWVGYWxzZVwiOiB7XG4gICAgICAgIFwibG9uZ1wiOiB7XG4gICAgICAgICAgICBcIlllc1wiOiBcIlllc1wiLFxuICAgICAgICAgICAgXCJOb1wiOiBcIk5vXCJcbiAgICAgICAgfVxuICAgIH0sXG4gICAgXCJTZXR0aW5nc1wiOiB7XG4gICAgICBcIk9wZXJhdGlvbkNvbXBsZXRlZFwiOiBcIlRoZSBvcGVyYXRpb24gd2FzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuXCJcbiAgICB9LFxuICAgIFwiQWR2YW5jZWRTZWFyY2hcIjoge1xuICAgICAgICBcIkNob29zZVwiOiBcIjxTZWxlY3QgYSBzYXZlZCBzZWFyY2g+XCIsXG4gICAgICAgIFwiQ2hvb3NlRGF0ZVwiOiBcIkNob29zZSBkYXRlXCIsXG4gICAgICAgIFwiU2F2ZWRTZWFyY2hlc1wiOiBcIlNhdmVkIHNlYXJjaGVzXCIsXG4gICAgICAgIFwiVG9nZ2xlRHJvcGRvd25cIiA6IFwiVG9nZ2xlIERyb3Bkb3duXCIsXG4gICAgICAgIFwiU2F2ZUN1cnJlbnRTZWFyY2hcIjogXCJTYXZlIHNlYXJjaFwiLFxuICAgICAgICBcIlNhdmVBc1wiIDogXCJTYXZlIGFzLi4uXCIsXG4gICAgICAgIFwiU2F2ZVwiIDogXCJTYXZlXCIsXG4gICAgICAgIFwiRGVsZXRlXCIgOiBcIlJlbW92ZVwiLFxuICAgICAgICBcIk1vcmVcIjogXCJNb3JlXCIsXG4gICAgICAgIFwiTGVzc1wiOiBcIkxlc3NcIixcbiAgICAgICAgXCJNb2RhbFwiIDoge1xuICAgICAgICAgICAgXCJUaXRsZVwiIDogXCJTYXZlIGN1cnJlbnQgc2VhcmNoIGNyaXRlcmlhXCIsXG4gICAgICAgICAgICBcIkhlbHBcIiA6IFwiUGxlYXNlIGFkZCBhIHRpdGxlIGZvciB0aGUgZ2l2ZW4gc2VhcmNoIGNyaXRlcmlhLiBUaGlzIHRpdGxlIHdpbGwgaGVscCB5b3UgdG8gdXNlIHRob3NlIGNyaXRlcmlhIGFnYWluIGluIHRoZSBmdXR1cmUuXCIsXG4gICAgICAgICAgICBcIlRpdGxlT25Vc2VyRXJyb3JcIiA6IFwiUGxlYXNlIHVzZSBhIHZhbGlkIG5hbWUgZm9yIHlvdXIgbGlzdFwiLFxuICAgICAgICAgICAgXCJUaXRsZU9uTGlzdEFscmVhZHlDcmVhdGVkXCIgOiBcIk5hbWUgYWxyZWFkeSBpbiB1c2UuIFBsZWFzZSBjaG9vc2UgYSBkaWZmZXJlbnQgb25lXCIsXG4gICAgICAgICAgICBcIk5vTGlzdERlZmluZWRcIiA6IFwiQ2Fubm90IGRlZmluZSB1c2VyIHN0b3JhZ2Uga2V5LlwiLFxuICAgICAgICAgICAgXCJFbXB0eUNyaXRlcmlhTGlzdFwiIDogXCJQbGVhc2UgZGVmaW5lIHNlYXJjaCBjcml0ZXJpYSBiZWZvcmUgc2F2ZS5cIixcbiAgICAgICAgICAgIFwiU2F2ZU5hbWVMYWJlbFwiIDogXCJMaXN0IG5hbWVcIixcbiAgICAgICAgICAgIFwiU2F2ZU5hbWVQbGFjZWhvbGRlclwiIDogXCJUeXBlIGEgdGl0bGUgaGVyZS4uLlwiLFxuICAgICAgICAgICAgXCJBY2NlcHRcIiA6IFwiU2F2ZVwiLFxuICAgICAgICAgICAgXCJEZWNsaW5lXCIgOiBcIkRlY2xpbmVcIixcbiAgICAgICAgICAgIFwiQ2xvc2VcIiA6IFwiQ2xvc2VcIlxuICAgICAgICB9XG4gICAgfSxcbiAgXCJBZGRJdGVtc1wiIDoge1xuICAgIFwiU2VsZWN0SXRlbXNcIjogXCJTZWxlY3QgaXRlbXNcIixcbiAgfVxufTtcbiJdfQ==
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVzLmVuLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL2kxOG4vdGFibGVzLmVuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRCQUE0QjtBQUM1QixrQ0FBa0M7QUFDbEMsTUFBTSxDQUFDLElBQU0sU0FBUyxHQUFHO0lBQ3JCLFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsbUJBQW1CLEVBQUUsV0FBVztRQUNoQyxTQUFTLEVBQUUsVUFBVTtRQUNyQixZQUFZLEVBQUUsYUFBYTtRQUMzQixXQUFXLEVBQUU7WUFDVCxVQUFVLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxVQUFVO2FBQ3pCO1lBQ0QsTUFBTSxFQUFFLDZDQUE2QztZQUNyRCxXQUFXLEVBQUUsNkJBQTZCO1lBQzFDLFlBQVksRUFBRSxvQkFBb0I7WUFDbEMsWUFBWSxFQUFFLGdDQUFnQztTQUNqRDtRQUNILGVBQWUsRUFBRSxnQkFBZ0I7UUFDakMsbUJBQW1CLEVBQUUsaURBQWlEO1FBQ3RFLE1BQU0sRUFBRSxNQUFNO1FBQ2QsT0FBTyxFQUFFLE9BQU87UUFDaEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsZ0JBQWdCLEVBQUUsZ0JBQWdCO1FBQ2xDLFVBQVUsRUFBRSx1Q0FBdUM7UUFDbkQsdUJBQXVCLEVBQUUsbUJBQW1CO1FBQzVDLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLEtBQUssRUFBRSxLQUFLO1FBQ1osU0FBUyxFQUFFLFVBQVU7UUFDckIsaUJBQWlCLEVBQUUsZ0NBQWdDO1FBQ25ELG1CQUFtQixFQUFFLHdEQUF3RDtRQUM3RSxZQUFZLEVBQUUsYUFBYTtRQUMzQixPQUFPLEVBQUUsT0FBTztRQUNoQixNQUFNLEVBQUUsTUFBTTtRQUNoQixnQkFBZ0IsRUFBRTtZQUNoQixPQUFPLEVBQUUsVUFBVTtZQUNuQixLQUFLLEVBQUUseUNBQXlDO1lBQ2hELE1BQU0sRUFBRSxtREFBbUQ7U0FDNUQ7UUFDRCxtQkFBbUIsRUFBRTtZQUNuQixPQUFPLEVBQUUsY0FBYztZQUN2QixLQUFLLEVBQUUsd0NBQXdDO1lBQy9DLE1BQU0sRUFBRSxpREFBaUQ7U0FDMUQ7UUFDRCxrQkFBa0IsRUFBRSxjQUFjO1FBQ2xDLG9CQUFvQixFQUFFLGlGQUFpRjtRQUNyRyxXQUFXLEVBQUUsWUFBWTtRQUN6QixnQkFBZ0IsRUFBRSxpQkFBaUI7UUFDbkMsU0FBUyxFQUFFO1lBQ1QsT0FBTyxFQUFFLE1BQU07WUFDZixPQUFPLEVBQUUsT0FBTztZQUNoQixlQUFlLEVBQUU7Z0JBQ2YsTUFBTSxFQUFFLDJEQUEyRDtnQkFDbkUsS0FBSyxFQUFFLDREQUE0RDtnQkFDbkUsTUFBTSxFQUFFLG1FQUFtRTthQUM1RTtZQUNELHFCQUFxQixFQUFFO2dCQUNyQixPQUFPLEVBQUUsMENBQTBDO2dCQUNuRCxhQUFhLEVBQUU7b0JBQ2IsS0FBSyxFQUFFLGlGQUFpRjtvQkFDeEYsTUFBTSxFQUFFLDBGQUEwRjtpQkFDbkc7YUFDRjtZQUNELHNCQUFzQixFQUFFO2dCQUN0QixPQUFPLEVBQUUsMkNBQTJDO2FBQ3JEO1NBQ0Y7UUFDRCxlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLFFBQVEsRUFBRSxTQUFTO1FBQ25CLFVBQVUsRUFBRSxXQUFXO1FBQ3ZCLFdBQVcsRUFBRSxLQUFLO1FBQ2xCLGNBQWMsRUFBRSxRQUFRO1FBQ3hCLGtCQUFrQixFQUFFLDJJQUEySTtRQUMvSixnQkFBZ0IsRUFBRSwrREFBK0Q7UUFDakYsZUFBZSxFQUFFLFNBQVM7UUFDMUIsY0FBYyxFQUFFLFFBQVE7UUFDeEIsa0JBQWtCLEVBQUUsU0FBUztRQUM3QixXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLFNBQVMsRUFBRSxpRkFBaUY7U0FDN0Y7UUFDRCxZQUFZLEVBQUUsYUFBYTtRQUMzQixxQkFBcUIsRUFBRSw0SkFBNEo7UUFDbkwsZUFBZSxFQUFFLGVBQWU7UUFDaEMsWUFBWSxFQUFFLFNBQVM7S0FDeEI7SUFDRCxXQUFXLEVBQUU7UUFDVCxNQUFNLEVBQUU7WUFDSixLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxJQUFJO1NBQ2I7S0FDSjtJQUNELFVBQVUsRUFBRTtRQUNWLG9CQUFvQixFQUFFLDJDQUEyQztLQUNsRTtJQUNELGdCQUFnQixFQUFFO1FBQ2QsUUFBUSxFQUFFLHlCQUF5QjtRQUNuQyxZQUFZLEVBQUUsYUFBYTtRQUMzQixlQUFlLEVBQUUsZ0JBQWdCO1FBQ2pDLGdCQUFnQixFQUFHLGlCQUFpQjtRQUNwQyxtQkFBbUIsRUFBRSxhQUFhO1FBQ2xDLFFBQVEsRUFBRyxZQUFZO1FBQ3ZCLE1BQU0sRUFBRyxNQUFNO1FBQ2YsUUFBUSxFQUFHLFFBQVE7UUFDbkIsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsTUFBTTtRQUNkLE9BQU8sRUFBRztZQUNOLE9BQU8sRUFBRyw4QkFBOEI7WUFDeEMsTUFBTSxFQUFHLHVIQUF1SDtZQUNoSSxrQkFBa0IsRUFBRyx1Q0FBdUM7WUFDNUQsMkJBQTJCLEVBQUcsb0RBQW9EO1lBQ2xGLGVBQWUsRUFBRyxpQ0FBaUM7WUFDbkQsbUJBQW1CLEVBQUcsNENBQTRDO1lBQ2xFLGVBQWUsRUFBRyxXQUFXO1lBQzdCLHFCQUFxQixFQUFHLHNCQUFzQjtZQUM5QyxRQUFRLEVBQUcsTUFBTTtZQUNqQixTQUFTLEVBQUcsU0FBUztZQUNyQixPQUFPLEVBQUcsT0FBTztTQUNwQjtLQUNKO0lBQ0gsVUFBVSxFQUFHO1FBQ1gsYUFBYSxFQUFFLGNBQWM7S0FDOUI7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IHF1b3RlbWFya1xuLy8gdHNsaW50OmRpc2FibGU6IG1heC1saW5lLWxlbmd0aFxuZXhwb3J0IGNvbnN0IFRBQkxFU19FTiA9IHtcbiAgICBcIlRhYmxlc1wiOiB7XG4gICAgICBcIkV4cG9ydFwiOiBcIkV4cG9ydFwiLFxuICAgICAgICBcIk1vcmVcIjogXCJNb3JlXCIsXG4gICAgICAgIFwiU2VhcmNoXCI6IFwiU2VhcmNoXCIsXG4gICAgICAgIFwiU2VhcmNoUGxhY2Vob2xkZXJcIjogXCJTZWFyY2guLi5cIixcbiAgICAgICAgXCJHcm91cEJ5XCI6IFwiR3JvdXAgYnlcIixcbiAgICAgICAgXCJOb3REZWZpbmVkXCI6IFwiTm90IGRlZmluZWRcIixcbiAgICAgICAgXCJEYXRhVGFibGVcIjoge1xuICAgICAgICAgICAgXCJwYWdpbmF0ZVwiOiB7XG4gICAgICAgICAgICAgICAgXCJmaXJzdFwiOiBcIkZpcnN0XCIsXG4gICAgICAgICAgICAgICAgXCJsYXN0XCI6IFwiTGFzdFwiLFxuICAgICAgICAgICAgICAgIFwibmV4dFwiOiBcIk5leHRcIixcbiAgICAgICAgICAgICAgICBcInByZXZpb3VzXCI6IFwiUHJldmlvdXNcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiaW5mb1wiOiBcIlNob3dpbmcgX1NUQVJUXyB0byBfRU5EXyBvZiBfVE9UQUxfIGVudHJpZXNcIixcbiAgICAgICAgICAgIFwiaW5mb0VtcHR5XCI6IFwiU2hvd2luZyAwIHRvIDAgb2YgMCBlbnRyaWVzXCIsXG4gICAgICAgICAgICBcInByb2Nlc3NpbmdcIjogXCJQcm9jZXNzaW5nIGRhdGEuLi5cIixcbiAgICAgICAgICAgIFwiZW1wdHlUYWJsZVwiOiBcIlRoZXJlIGFyZSBubyBtYXRjaGluZyByZWNvcmRzLlwiXG4gICAgICAgIH0sXG4gICAgICBcIkNvbHVtbkRpc3BsYXlcIjogXCJDb2x1bW4gRGlzcGxheVwiLFxuICAgICAgXCJDb2x1bW5EaXNwbGF5SW5mb1wiOiBcIs6Vz4DOuc67zq3Ovs+EzrUgz4TOuc+CIM+Dz4TOrs67zrXPgiDPgM6/z4UgzrjOrc67zrXPhM61IM69zrEgzrXOvM+GzrHOvc6vzrbOv869z4TOsc65LlwiLFxuICAgICAgXCJTYXZlXCI6IFwiU2F2ZVwiLFxuICAgICAgXCJBcHBseVwiOiBcIkFwcGx5XCIsXG4gICAgICBcIkNhbmNlbFwiOiBcIkNhbmNlbFwiLFxuICAgICAgXCJSZWNvcmRzUGVyUGFnZVwiOiBcIkl0ZW1zIHBlciBwYWdlXCIsXG4gICAgICBcIlBhZ2VJbmZvXCI6IFwie3tzdGFydH19LXt7ZW5kfX0gb2Yge3tyZWNvcmRzVG90YWx9fVwiLFxuICAgICAgXCJTZWFyY2hMaXN0UGxhY2VIb2xkZXJcIjogXCJTZWFyY2ggaW4gbGlzdC4uLlwiLFxuICAgICAgXCJGaWx0ZXJzXCI6IFwiRmlsdGVyc1wiLFxuICAgICAgXCJBbGxcIjogXCJBbGxcIixcbiAgICAgIFwiQWRkSXRlbVwiOiBcIkFkZCBpdGVtXCIsXG4gICAgICBcIkVtcHR5VGFibGVUaXRsZVwiOiBcIlRoZXJlIGFyZSBubyBtYXRjaGluZyByZWNvcmRzLlwiLFxuICAgICAgXCJFbXB0eVRhYmxlTWVzc2FnZVwiOiBcIlBsZWFzZSB0cnkgdG8gdXNlIG90aGVyIGtleXdvcmRzIG9yIHNlYXJjaCBwYXJhbWV0ZXJzLlwiLFxuICAgICAgXCJSZW1vdmVJdGVtXCI6IFwiUmVtb3ZlIGl0ZW1cIixcbiAgICAgIFwiSXRlbXNcIjogXCJpdGVtc1wiLFxuICAgICAgXCJJdGVtXCI6IFwiaXRlbVwiLFxuICAgIFwiQWRkSXRlbU1lc3NhZ2VcIjoge1xuICAgICAgXCJ0aXRsZVwiOiBcIkFkZCBpdGVtXCIsXG4gICAgICBcIm9uZVwiOiBcIkEgbmV3IGl0ZW0gaGFzIGJlZW4gYWRkZWQgc3VjY2Vzc2Z1bGx5LlwiLFxuICAgICAgXCJtYW55XCI6IFwie3t2YWx1ZX19IG5ldyBpdGVtcyBoYXZlIGJlZW4gYWRkZWQgc3VjY2Vzc2Z1bGx5LlwiXG4gICAgfSxcbiAgICBcIlJlbW92ZUl0ZW1NZXNzYWdlXCI6IHtcbiAgICAgIFwidGl0bGVcIjogXCJSZW1vdmUgaXRlbXNcIixcbiAgICAgIFwib25lXCI6IFwiQW4gaXRlbSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcmVtb3ZlZC5cIixcbiAgICAgIFwibWFueVwiOiBcInt7dmFsdWV9fSBpdGVtcyBoYXZlIGJlZW4gc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuXCJcbiAgICB9LFxuICAgIFwiUmVtb3ZlSXRlbXNUaXRsZVwiOiBcIlJlbW92ZSBpdGVtc1wiLFxuICAgIFwiUmVtb3ZlSXRlbXNNZXNzYWdlXCI6IFwiWW91IGFyZSBnb2luZyB0byByZW1vdmUgb25lIG9yIG1vcmUgaW5zdHJ1Y3RvciBjb3Vyc2VzLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkP1wiLFxuICAgICAgXCJTZWxlY3RBbGxcIjogXCJTZWxlY3QgYWxsXCIsXG4gICAgICBcIkNsZWFyU2VsZWN0aW9uXCI6IFwiQ2xlYXIgc2VsZWN0aW9uXCIsXG4gICAgICBcIkFjdGlvbnNcIjoge1xuICAgICAgICBcIkxhYmVsXCI6IFwiRWRpdFwiLFxuICAgICAgICBcIlN0YXJ0XCI6IFwiU3RhcnRcIixcbiAgICAgICAgXCJBY3Rpb25NZXNzYWdlXCI6IHtcbiAgICAgICAgICBcIk5vbmVcIjogXCJUaGVyZSBpcyBubyBzZWxlY3RlZCBpdGVtIHRoYXQgbWVldHMgYWN0aW9uIHJlcXVpcmVtZW50cy5cIixcbiAgICAgICAgICBcIk9uZVwiOiBcIllvdSBoYXZlIHNlbGVjdGVkIG9uZSBpdGVtIHRoYXQgbWVldHMgYWN0aW9uIHJlcXVpcmVtZW50cy5cIixcbiAgICAgICAgICBcIk1hbnlcIjogXCJZb3UgaGF2ZSBzZWxlY3RlZCB7e2xlbmd0aH19IGl0ZW1zIHRoYXQgbWVldCBhY3Rpb24gcmVxdWlyZW1lbnRzLlwiXG4gICAgICAgIH0sXG4gICAgICAgIFwiQ29tcGxldGVkV2l0aEVycm9yc1wiOiB7XG4gICAgICAgICAgXCJUaXRsZVwiOiBcIlRoZSBvcGVyYXRpb24gd2FzIGNvbXBsZXRlZCB3aXRoIGVycm9ycy5cIixcbiAgICAgICAgICBcIkRlc2NyaXB0aW9uXCI6IHtcbiAgICAgICAgICAgIFwiT25lXCI6IFwiT25lIGl0ZW0gaGFzIG5vdCBiZWVuIHVwZGF0ZWQgZHVlIHRvIGFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyBwcm9jZXNzLlwiLFxuICAgICAgICAgICAgXCJNYW55XCI6IFwie3tlcnJvcnN9fSBpdGVtcyBoYXZlIG5vdCBiZWVuIHVwZGF0ZWQgZHVlIHRvIGFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyBwcm9jZXNzLlwiXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBcIkNvbXBsZXRlZFdpdGhTdWNjZXNzXCI6IHtcbiAgICAgICAgICBcIlRpdGxlXCI6IFwiVGhlIG9wZXJhdGlvbiB3YXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS5cIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgXCJTZWxlY3RDb2x1bW5zXCI6IFwiU2VsZWN0IGNvbHVtbnNcIixcbiAgICAgIFwiTW92ZVVwXCI6IFwiTW92ZSB1cFwiLFxuICAgICAgXCJNb3ZlRG93blwiOiBcIk1vdmUgZG93blwiLFxuICAgICAgXCJBZGRDb2x1bW5cIjogXCJBZGRcIixcbiAgICAgIFwiUmVtb3ZlQ29sdW1uXCI6IFwiUmVtb3ZlXCIsXG4gICAgICBcIlNlbGVjdENvbHVtbkhlbHBcIjogXCJTZWxlY3Qgb25lIG9yIG1vcmUgY29sdW1ucyBhbmQgcHJlc3MgJ0FkZCcgYnV0dG9uIHRvIGluY2x1ZGUgdGhlbSBpbiB0YWJsZS4gVXNlICdSZW1vdmUnIGJ1dHRvbiB0byBleGNsdWRlIG9uZSBvciBtb3JlIGNvbHVtbnMgZnJvbSB2aWV3LlwiLFxuICAgICAgXCJNb3ZlQ29sdW1uSGVscFwiOiBcIlVzZSAnTW92ZSB1cCcgYW5kICdNb3ZlIGRvd24nIGJ1dHRvbnMgdG8gY2hhbmdlIGNvbHVtbiBvcmRlci5cIixcbiAgICAgIFwiVW5rbm93bkNvbHVtblwiOiBcIlVua25vd25cIixcbiAgICAgIFwiU2VsZWN0Q29sdW1uXCI6IFwiU2VsZWN0XCIsXG4gICAgICBcIkFjdGlvbkxpbmtDb2x1bW5cIjogXCJBY3Rpb25zXCIsXG4gICAgICBcIkRhdGFFcnJvclwiOiB7XG4gICAgICAgIFwiVGl0bGVcIjogXCJFcnJvciB3aGlsZSBnZXR0aW5nIGRhdGFcIixcbiAgICAgICAgXCJNZXNzYWdlXCI6IFwiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgZ2V0dGluZyBkYXRhLiBQbGVhc2UgdHJ5IGFnYWluIG9yIGNoYW5nZSB5b3VyIGNyaXRlcmlhLlwiXG4gICAgICB9LFxuICAgICAgXCJFeHBvcnRMaXN0XCI6IFwiRXhwb3J0IGxpc3RcIixcbiAgICAgIFwiRXhwb3J0TGltaXRFeGNlZWRlZFwiOiBcIlRoZSBudW1iZXIgb2YgaXRlbXMgdGhhdCBhcmUgdG8gYmUgZXhwb3J0ZWQgKHt7ZGF0YUxlbmd0aH19KSBleGNlZWRzIHRoZSBleHBvcnQgbGltaXQgKHt7ZXhwb3J0TGltaXR9fSkuIFBsZWFzZSBhcHBseSBtb3JlIHNwZWNpZmljIGZpbHRlcnMgdG8gdGhlIHNlYXJjaC5cIixcbiAgICAgIFwiRXhwb3J0UmVzdWx0c1wiOiBcIkV4cG9ydGVkIGxpc3RcIixcbiAgICAgIFwiUm93RGV0YWlsc1wiOiBcIkRldGFpbHNcIlxuICAgIH0sXG4gICAgXCJUcnVlRmFsc2VcIjoge1xuICAgICAgICBcImxvbmdcIjoge1xuICAgICAgICAgICAgXCJZZXNcIjogXCJZZXNcIixcbiAgICAgICAgICAgIFwiTm9cIjogXCJOb1wiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFwiU2V0dGluZ3NcIjoge1xuICAgICAgXCJPcGVyYXRpb25Db21wbGV0ZWRcIjogXCJUaGUgb3BlcmF0aW9uIHdhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LlwiXG4gICAgfSxcbiAgICBcIkFkdmFuY2VkU2VhcmNoXCI6IHtcbiAgICAgICAgXCJDaG9vc2VcIjogXCI8U2VsZWN0IGEgc2F2ZWQgc2VhcmNoPlwiLFxuICAgICAgICBcIkNob29zZURhdGVcIjogXCJDaG9vc2UgZGF0ZVwiLFxuICAgICAgICBcIlNhdmVkU2VhcmNoZXNcIjogXCJTYXZlZCBzZWFyY2hlc1wiLFxuICAgICAgICBcIlRvZ2dsZURyb3Bkb3duXCIgOiBcIlRvZ2dsZSBEcm9wZG93blwiLFxuICAgICAgICBcIlNhdmVDdXJyZW50U2VhcmNoXCI6IFwiU2F2ZSBzZWFyY2hcIixcbiAgICAgICAgXCJTYXZlQXNcIiA6IFwiU2F2ZSBhcy4uLlwiLFxuICAgICAgICBcIlNhdmVcIiA6IFwiU2F2ZVwiLFxuICAgICAgICBcIkRlbGV0ZVwiIDogXCJSZW1vdmVcIixcbiAgICAgICAgXCJNb3JlXCI6IFwiTW9yZVwiLFxuICAgICAgICBcIkxlc3NcIjogXCJMZXNzXCIsXG4gICAgICAgIFwiTW9kYWxcIiA6IHtcbiAgICAgICAgICAgIFwiVGl0bGVcIiA6IFwiU2F2ZSBjdXJyZW50IHNlYXJjaCBjcml0ZXJpYVwiLFxuICAgICAgICAgICAgXCJIZWxwXCIgOiBcIlBsZWFzZSBhZGQgYSB0aXRsZSBmb3IgdGhlIGdpdmVuIHNlYXJjaCBjcml0ZXJpYS4gVGhpcyB0aXRsZSB3aWxsIGhlbHAgeW91IHRvIHVzZSB0aG9zZSBjcml0ZXJpYSBhZ2FpbiBpbiB0aGUgZnV0dXJlLlwiLFxuICAgICAgICAgICAgXCJUaXRsZU9uVXNlckVycm9yXCIgOiBcIlBsZWFzZSB1c2UgYSB2YWxpZCBuYW1lIGZvciB5b3VyIGxpc3RcIixcbiAgICAgICAgICAgIFwiVGl0bGVPbkxpc3RBbHJlYWR5Q3JlYXRlZFwiIDogXCJOYW1lIGFscmVhZHkgaW4gdXNlLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IG9uZVwiLFxuICAgICAgICAgICAgXCJOb0xpc3REZWZpbmVkXCIgOiBcIkNhbm5vdCBkZWZpbmUgdXNlciBzdG9yYWdlIGtleS5cIixcbiAgICAgICAgICAgIFwiRW1wdHlDcml0ZXJpYUxpc3RcIiA6IFwiUGxlYXNlIGRlZmluZSBzZWFyY2ggY3JpdGVyaWEgYmVmb3JlIHNhdmUuXCIsXG4gICAgICAgICAgICBcIlNhdmVOYW1lTGFiZWxcIiA6IFwiTGlzdCBuYW1lXCIsXG4gICAgICAgICAgICBcIlNhdmVOYW1lUGxhY2Vob2xkZXJcIiA6IFwiVHlwZSBhIHRpdGxlIGhlcmUuLi5cIixcbiAgICAgICAgICAgIFwiQWNjZXB0XCIgOiBcIlNhdmVcIixcbiAgICAgICAgICAgIFwiRGVjbGluZVwiIDogXCJEZWNsaW5lXCIsXG4gICAgICAgICAgICBcIkNsb3NlXCIgOiBcIkNsb3NlXCJcbiAgICAgICAgfVxuICAgIH0sXG4gIFwiQWRkSXRlbXNcIiA6IHtcbiAgICBcIlNlbGVjdEl0ZW1zXCI6IFwiU2VsZWN0IGl0ZW1zXCIsXG4gIH1cbn07XG4iXX0=
@@ -1,12 +1,9 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
1
+ import { __decorate } from "tslib";
5
2
  import { Pipe } from '@angular/core';
6
3
  /**
7
4
  *
8
5
  *
9
- * \@classdesc Given a list of items runs a user defined function against that list
6
+ * @classdesc Given a list of items runs a user defined function against that list
10
7
  *
11
8
  */
12
9
  var AdvancedAggregatorPipe = /** @class */ (function () {
@@ -23,29 +20,7 @@ var AdvancedAggregatorPipe = /** @class */ (function () {
23
20
  * @returns The value to show at the UI
24
21
  *
25
22
  */
26
- /**
27
- *
28
- * @override
29
- *
30
- * @param {?} items The list of items to run the aggregator against
31
- * @param {?} functionPool The functions that are available from the list caller
32
- * @param {?} functionName The name of the function to be called
33
- *
34
- * @return {?} The value to show at the UI
35
- *
36
- */
37
- AdvancedAggregatorPipe.prototype.transform = /**
38
- *
39
- * @override
40
- *
41
- * @param {?} items The list of items to run the aggregator against
42
- * @param {?} functionPool The functions that are available from the list caller
43
- * @param {?} functionName The name of the function to be called
44
- *
45
- * @return {?} The value to show at the UI
46
- *
47
- */
48
- function (items, functionPool, functionName) {
23
+ AdvancedAggregatorPipe.prototype.transform = function (items, functionPool, functionName) {
49
24
  if (Array.isArray(items) && functionName && functionName in functionPool) {
50
25
  return functionPool[functionName](items);
51
26
  }
@@ -53,13 +28,12 @@ var AdvancedAggregatorPipe = /** @class */ (function () {
53
28
  return '-';
54
29
  }
55
30
  };
56
- AdvancedAggregatorPipe.decorators = [
57
- { type: Pipe, args: [{
58
- name: 'callAggregator'
59
- },] }
60
- ];
31
+ AdvancedAggregatorPipe = __decorate([
32
+ Pipe({
33
+ name: 'callAggregator'
34
+ })
35
+ ], AdvancedAggregatorPipe);
61
36
  return AdvancedAggregatorPipe;
62
37
  }());
63
38
  export { AdvancedAggregatorPipe };
64
-
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7SUFjbEQ7Ozs7Ozs7Ozs7T0FVRzs7Ozs7Ozs7Ozs7O0lBQ0gsMENBQVM7Ozs7Ozs7Ozs7O0lBQVQsVUFBVSxLQUFZLEVBQUUsWUFBaUIsRUFBRSxZQUFvQjtRQUM3RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxJQUFJLFlBQVksSUFBSSxZQUFZLEVBQUU7WUFDeEUsT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDO1NBQ1o7S0FDRjs7Z0JBdEJGLElBQUksU0FBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO2lCQUN2Qjs7aUNBWEQ7O1NBWWEsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqXG4gKlxuICogQGNsYXNzZGVzYyBHaXZlbiBhIGxpc3Qgb2YgaXRlbXMgcnVucyBhIHVzZXIgZGVmaW5lZCBmdW5jdGlvbiBhZ2FpbnN0IHRoYXQgbGlzdFxuICpcbiAqL1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYWxsQWdncmVnYXRvcidcbn0pXG5leHBvcnQgY2xhc3MgQWR2YW5jZWRBZ2dyZWdhdG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIC8qKlxuICAgKlxuICAgKiBAb3ZlcnJpZGVcbiAgICpcbiAgICogQHBhcmFtIGl0ZW1zIFRoZSBsaXN0IG9mIGl0ZW1zIHRvIHJ1biB0aGUgYWdncmVnYXRvciBhZ2FpbnN0XG4gICAqIEBwYXJhbSBmdW5jdGlvblBvb2wgVGhlIGZ1bmN0aW9ucyB0aGF0IGFyZSBhdmFpbGFibGUgZnJvbSB0aGUgbGlzdCBjYWxsZXJcbiAgICogQHBhcmFtIGZ1bmN0aW9uTmFtZSBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzaG93IGF0IHRoZSBVSVxuICAgKlxuICAgKi9cbiAgdHJhbnNmb3JtKGl0ZW1zOiBhbnlbXSwgZnVuY3Rpb25Qb29sOiBhbnksIGZ1bmN0aW9uTmFtZTogc3RyaW5nKTogYW55IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtcykgJiYgZnVuY3Rpb25OYW1lICYmIGZ1bmN0aW9uTmFtZSBpbiBmdW5jdGlvblBvb2wpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvblBvb2xbZnVuY3Rpb25OYW1lXShpdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnLSc7XG4gICAgfVxuICB9XG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtYWdncmVnYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9uZ3gtdGFibGVzLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL2FkdmFuY2VkLWFnZ3JlZ2F0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQ7Ozs7O0dBS0c7QUFLSDtJQUFBO0lBb0JBLENBQUM7SUFsQkM7Ozs7Ozs7Ozs7T0FVRztJQUNILDBDQUFTLEdBQVQsVUFBVSxLQUFZLEVBQUUsWUFBaUIsRUFBRSxZQUFvQjtRQUM3RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksWUFBWSxJQUFJLFlBQVksSUFBSSxZQUFZLEVBQUU7WUFDeEUsT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDO1NBQ1o7SUFDSCxDQUFDO0lBbkJVLHNCQUFzQjtRQUhsQyxJQUFJLENBQUM7WUFDSixJQUFJLEVBQUUsZ0JBQWdCO1NBQ3ZCLENBQUM7T0FDVyxzQkFBc0IsQ0FvQmxDO0lBQUQsNkJBQUM7Q0FBQSxBQXBCRCxJQW9CQztTQXBCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICpcbiAqXG4gKiBAY2xhc3NkZXNjIEdpdmVuIGEgbGlzdCBvZiBpdGVtcyBydW5zIGEgdXNlciBkZWZpbmVkIGZ1bmN0aW9uIGFnYWluc3QgdGhhdCBsaXN0XG4gKlxuICovXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NhbGxBZ2dyZWdhdG9yJ1xufSlcbmV4cG9ydCBjbGFzcyBBZHZhbmNlZEFnZ3JlZ2F0b3JQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBvdmVycmlkZVxuICAgKlxuICAgKiBAcGFyYW0gaXRlbXMgVGhlIGxpc3Qgb2YgaXRlbXMgdG8gcnVuIHRoZSBhZ2dyZWdhdG9yIGFnYWluc3RcbiAgICogQHBhcmFtIGZ1bmN0aW9uUG9vbCBUaGUgZnVuY3Rpb25zIHRoYXQgYXJlIGF2YWlsYWJsZSBmcm9tIHRoZSBsaXN0IGNhbGxlclxuICAgKiBAcGFyYW0gZnVuY3Rpb25OYW1lIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWRcbiAgICpcbiAgICogQHJldHVybnMgVGhlIHZhbHVlIHRvIHNob3cgYXQgdGhlIFVJXG4gICAqXG4gICAqL1xuICB0cmFuc2Zvcm0oaXRlbXM6IGFueVtdLCBmdW5jdGlvblBvb2w6IGFueSwgZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1zKSAmJiBmdW5jdGlvbk5hbWUgJiYgZnVuY3Rpb25OYW1lIGluIGZ1bmN0aW9uUG9vbCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uUG9vbFtmdW5jdGlvbk5hbWVdKGl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICctJztcbiAgICB9XG4gIH1cbn1cbiJdfQ==