@kepler.gl/constants 3.3.0-alpha.0 → 3.3.0-alpha.10

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 (46) hide show
  1. package/dist/annotation.d.ts +23 -0
  2. package/dist/cjs/annotation.js +45 -0
  3. package/dist/cjs/color-palettes.js +461 -0
  4. package/dist/cjs/colors-by-theme.js +519 -0
  5. package/dist/cjs/dataset.js +176 -0
  6. package/dist/cjs/default-settings.js +1740 -0
  7. package/dist/cjs/gpu-parameters.js +125 -0
  8. package/dist/{index.js → cjs/index.js} +13 -1
  9. package/dist/cjs/keyevent.js +26 -0
  10. package/dist/cjs/layers.js +609 -0
  11. package/dist/{plot.js → cjs/plot.js} +1 -1
  12. package/dist/cjs/time.js +194 -0
  13. package/dist/cjs/tooltip.js +221 -0
  14. package/dist/cjs/user-feedbacks.js +15 -0
  15. package/dist/cjs/user-guides.js +19 -0
  16. package/dist/dataset.d.ts +70 -1
  17. package/dist/default-settings.d.ts +106 -2
  18. package/dist/esm/annotation.js +38 -0
  19. package/dist/esm/color-palettes.js +453 -0
  20. package/dist/esm/colors-by-theme.js +513 -0
  21. package/dist/esm/dataset.js +169 -0
  22. package/dist/esm/default-settings.js +1734 -0
  23. package/dist/esm/gpu-parameters.js +119 -0
  24. package/dist/esm/index.js +18 -0
  25. package/dist/esm/keyevent.js +19 -0
  26. package/dist/esm/layers.js +602 -0
  27. package/dist/esm/plot.js +9 -0
  28. package/dist/esm/time.js +190 -0
  29. package/dist/esm/tooltip.js +215 -0
  30. package/dist/esm/user-feedbacks.js +9 -0
  31. package/dist/esm/user-guides.js +13 -0
  32. package/dist/index.d.ts +1 -0
  33. package/dist/layers.d.ts +7 -0
  34. package/package.json +25 -16
  35. package/dist/color-palettes.js +0 -462
  36. package/dist/colors-by-theme.js +0 -519
  37. package/dist/dataset.js +0 -63
  38. package/dist/default-settings.js +0 -1495
  39. package/dist/gpu-parameters.js +0 -125
  40. package/dist/keyevent.js +0 -26
  41. package/dist/layers.js +0 -549
  42. package/dist/time.js +0 -194
  43. package/dist/tooltip.js +0 -221
  44. package/dist/user-feedbacks.js +0 -15
  45. package/dist/user-guides.js +0 -19
  46. package/umd/keplergl.min.js +0 -58
@@ -0,0 +1,602 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Copyright contributors to the kepler.gl project
3
+
4
+ import keyMirror from 'keymirror';
5
+ import { AGGREGATION_TYPES, DEFAULT_LAYER_COLOR_PALETTE, DEFAULT_LAYER_COLOR_PALETTE_STEPS } from './default-settings';
6
+ import { KEPLER_COLOR_PALETTES, colorPaletteToColorRange } from './color-palettes';
7
+ export var PROPERTY_GROUPS = keyMirror({
8
+ color: null,
9
+ stroke: null,
10
+ radius: null,
11
+ height: null,
12
+ angle: null,
13
+ scenegraph: null,
14
+ // for heatmap aggregation
15
+ cell: null,
16
+ precision: null,
17
+ display: null,
18
+ interaction: null
19
+ });
20
+ export var DEFAULT_LAYER_OPACITY = 0.8;
21
+ /** Minimum grid / hexagon cell size in kilometers. Zero is invalid for aggregation. */
22
+ export var MIN_WORLD_UNIT_SIZE = 0.001;
23
+ export var DEFAULT_HIGHLIGHT_COLOR = [252, 242, 26, 255];
24
+ export var DEFAULT_LAYER_LABEL = 'new layer';
25
+ export var DEFAULT_TEXT_LABEL = {
26
+ field: null,
27
+ color: [255, 255, 255],
28
+ size: 18,
29
+ weight: 400,
30
+ offset: [0, 0],
31
+ anchor: 'start',
32
+ alignment: 'center',
33
+ outlineWidth: 0,
34
+ outlineColor: [255, 0, 0, 255],
35
+ background: false,
36
+ backgroundColor: [0, 0, 200, 255]
37
+ };
38
+ var DEFAULT_COLOR_PALETTE = KEPLER_COLOR_PALETTES.find(function (_ref) {
39
+ var name = _ref.name;
40
+ return name === DEFAULT_LAYER_COLOR_PALETTE;
41
+ });
42
+ export var DEFAULT_COLOR_RANGE = colorPaletteToColorRange(DEFAULT_COLOR_PALETTE, {
43
+ reversed: false,
44
+ steps: DEFAULT_LAYER_COLOR_PALETTE_STEPS
45
+ });
46
+ export var DEFAULT_CUSTOM_PALETTE = {
47
+ name: 'color.customPalette',
48
+ type: 'custom',
49
+ category: 'Custom',
50
+ colors: []
51
+ };
52
+ export var UNKNOWN_COLOR_KEY = '__unknownColor__';
53
+ export var DEFAULT_COLOR_UI = {
54
+ // customPalette in edit
55
+ customPalette: DEFAULT_CUSTOM_PALETTE,
56
+ // show color sketcher modal
57
+ showSketcher: false,
58
+ // show color range selection panel
59
+ showDropdown: false,
60
+ // show color chart
61
+ showColorChart: false,
62
+ // color range selector config
63
+ colorRangeConfig: {
64
+ type: 'all',
65
+ steps: 6,
66
+ reversed: false,
67
+ colorBlindSafe: false,
68
+ custom: false,
69
+ customBreaks: false
70
+ }
71
+ };
72
+ export var LAYER_VIS_CONFIGS = {
73
+ thickness: {
74
+ type: 'number',
75
+ defaultValue: 2,
76
+ label: 'layerVisConfigs.strokeWidth',
77
+ isRanged: false,
78
+ range: [0, 100],
79
+ step: 0.1,
80
+ group: PROPERTY_GROUPS.stroke,
81
+ property: 'thickness',
82
+ allowCustomValue: true
83
+ },
84
+ strokeWidthRange: {
85
+ type: 'number',
86
+ defaultValue: [0, 10],
87
+ label: 'layerVisConfigs.strokeWidthRange',
88
+ isRanged: true,
89
+ range: [0, 200],
90
+ step: 0.1,
91
+ group: PROPERTY_GROUPS.stroke,
92
+ property: 'sizeRange',
93
+ allowCustomValue: true
94
+ },
95
+ trailLength: {
96
+ type: 'number',
97
+ defaultValue: 180,
98
+ label: 'layerVisConfigs.strokeWidth',
99
+ isRanged: false,
100
+ range: [1, 1000],
101
+ step: 1,
102
+ group: PROPERTY_GROUPS.stroke,
103
+ property: 'trailLength',
104
+ allowCustomValue: true
105
+ },
106
+ fadeTrail: {
107
+ defaultValue: true,
108
+ type: 'boolean',
109
+ label: 'layerVisConfigs.fadeTrail',
110
+ group: PROPERTY_GROUPS.stroke,
111
+ property: 'fadeTrail'
112
+ },
113
+ billboard: {
114
+ defaultValue: false,
115
+ type: 'boolean',
116
+ label: 'layerVisConfigs.billboard',
117
+ description: 'layerVisConfigs.billboardDescription',
118
+ group: PROPERTY_GROUPS.display,
119
+ property: 'billboard'
120
+ },
121
+ // radius is actually radiusScale in deck.gl
122
+ radius: {
123
+ type: 'number',
124
+ defaultValue: 10,
125
+ label: 'layerVisConfigs.radius',
126
+ isRanged: false,
127
+ range: [0, 100],
128
+ step: 0.1,
129
+ group: PROPERTY_GROUPS.radius,
130
+ property: 'radius',
131
+ allowCustomValue: true
132
+ },
133
+ fixedRadius: {
134
+ defaultValue: false,
135
+ type: 'boolean',
136
+ label: 'layerVisConfigs.fixedRadius',
137
+ description: 'layerVisConfigs.fixedRadiusDescription',
138
+ group: PROPERTY_GROUPS.radius,
139
+ property: 'fixedRadius'
140
+ },
141
+ fixedHeight: {
142
+ defaultValue: false,
143
+ type: 'boolean',
144
+ label: 'layerVisConfigs.fixedHeight',
145
+ description: 'layerVisConfigs.fixedHeightDescription',
146
+ group: PROPERTY_GROUPS.height,
147
+ property: 'fixedHeight'
148
+ },
149
+ radiusRange: {
150
+ type: 'number',
151
+ defaultValue: [0, 50],
152
+ isRanged: true,
153
+ range: [0, 500],
154
+ step: 0.1,
155
+ label: 'layerVisConfigs.radiusRange',
156
+ group: PROPERTY_GROUPS.radius,
157
+ property: 'radiusRange',
158
+ allowCustomValue: true
159
+ },
160
+ clusterRadius: {
161
+ type: 'number',
162
+ label: 'layerVisConfigs.clusterRadius',
163
+ defaultValue: 40,
164
+ isRanged: false,
165
+ range: [1, 500],
166
+ step: 0.1,
167
+ group: PROPERTY_GROUPS.radius,
168
+ property: 'clusterRadius',
169
+ allowCustomValue: true
170
+ },
171
+ clusterRadiusRange: {
172
+ type: 'number',
173
+ label: 'layerVisConfigs.radiusRangePixels',
174
+ defaultValue: [1, 40],
175
+ isRanged: true,
176
+ range: [1, 150],
177
+ step: 0.1,
178
+ group: PROPERTY_GROUPS.radius,
179
+ property: 'radiusRange',
180
+ allowCustomValue: true
181
+ },
182
+ opacity: {
183
+ type: 'number',
184
+ defaultValue: DEFAULT_LAYER_OPACITY,
185
+ label: 'layerVisConfigs.opacity',
186
+ isRanged: false,
187
+ range: [0, 1],
188
+ step: 0.01,
189
+ group: PROPERTY_GROUPS.color,
190
+ property: 'opacity',
191
+ allowCustomValue: false
192
+ },
193
+ coverage: {
194
+ type: 'number',
195
+ defaultValue: 1,
196
+ label: 'layerVisConfigs.coverage',
197
+ isRanged: false,
198
+ range: [0, 1],
199
+ step: 0.01,
200
+ group: PROPERTY_GROUPS.cell,
201
+ property: 'coverage',
202
+ allowCustomValue: false
203
+ },
204
+ // used in point layer
205
+ outline: {
206
+ type: 'boolean',
207
+ defaultValue: false,
208
+ label: 'layer.outline',
209
+ group: PROPERTY_GROUPS.display,
210
+ property: 'outline'
211
+ },
212
+ colorRange: {
213
+ type: 'color-range-select',
214
+ defaultValue: DEFAULT_COLOR_RANGE,
215
+ label: 'layerVisConfigs.colorRange',
216
+ group: PROPERTY_GROUPS.color,
217
+ property: 'colorRange'
218
+ },
219
+ strokeColorRange: {
220
+ type: 'color-range-select',
221
+ defaultValue: DEFAULT_COLOR_RANGE,
222
+ label: 'layerVisConfigs.strokeColorRange',
223
+ group: PROPERTY_GROUPS.color,
224
+ property: 'strokeColorRange'
225
+ },
226
+ targetColor: {
227
+ type: 'color-select',
228
+ label: 'layerVisConfigs.targetColor',
229
+ defaultValue: null,
230
+ group: PROPERTY_GROUPS.color,
231
+ property: 'targetColor'
232
+ },
233
+ strokeColor: {
234
+ type: 'color-select',
235
+ label: 'layerVisConfigs.strokeColor',
236
+ defaultValue: null,
237
+ group: PROPERTY_GROUPS.color,
238
+ property: 'strokeColor'
239
+ },
240
+ colorAggregation: {
241
+ type: 'select',
242
+ defaultValue: AGGREGATION_TYPES.average,
243
+ label: 'layerVisConfigs.colorAggregation',
244
+ // aggregation options are based on color field types
245
+ options: Object.keys(AGGREGATION_TYPES),
246
+ group: PROPERTY_GROUPS.color,
247
+ property: 'colorAggregation',
248
+ condition: function condition(config) {
249
+ return Boolean(config.colorField);
250
+ }
251
+ },
252
+ sizeAggregation: {
253
+ type: 'select',
254
+ defaultValue: AGGREGATION_TYPES.average,
255
+ label: 'layerVisConfigs.heightAggregation',
256
+ // aggregation options are based on color field types
257
+ options: Object.keys(AGGREGATION_TYPES),
258
+ group: PROPERTY_GROUPS.height,
259
+ property: 'sizeAggregation',
260
+ condition: function condition(config) {
261
+ return Boolean(config.sizeField);
262
+ }
263
+ },
264
+ percentile: {
265
+ type: 'number',
266
+ defaultValue: [0, 100],
267
+ label: function label(config) {
268
+ return "Filter by ".concat(config.colorField ? "".concat(config.visConfig.colorAggregation, " ").concat(config.colorField.name) : 'count', " percentile");
269
+ },
270
+ isRanged: true,
271
+ range: [0, 100],
272
+ step: 0.01,
273
+ group: PROPERTY_GROUPS.color,
274
+ property: 'percentile',
275
+ // percentile filter only makes sense with linear aggregation
276
+ condition: function condition(config) {
277
+ return config.colorScale !== 'ordinal';
278
+ },
279
+ allowCustomValue: false
280
+ },
281
+ elevationPercentile: {
282
+ type: 'number',
283
+ defaultValue: [0, 100],
284
+ label: function label(config) {
285
+ return "Filter by ".concat(config.sizeField ? "".concat(config.visConfig.sizeAggregation, " ").concat(config.sizeField.name) : 'count', " percentile");
286
+ },
287
+ isRanged: true,
288
+ range: [0, 100],
289
+ step: 0.01,
290
+ group: PROPERTY_GROUPS.height,
291
+ property: 'elevationPercentile',
292
+ // percentile filter only makes sense with linear aggregation
293
+ condition: function condition(config) {
294
+ return Boolean(config.visConfig.enable3d && (config.colorField || config.sizeField));
295
+ },
296
+ allowCustomValue: false
297
+ },
298
+ resolution: {
299
+ type: 'number',
300
+ defaultValue: 8,
301
+ label: 'layerVisConfigs.resolution',
302
+ isRanged: false,
303
+ range: [0, 13],
304
+ step: 1,
305
+ group: PROPERTY_GROUPS.cell,
306
+ property: 'resolution',
307
+ allowCustomValue: true
308
+ },
309
+ sizeScale: {
310
+ type: 'number',
311
+ defaultValue: 10,
312
+ label: 'layerVisConfigs.sizeScale',
313
+ isRanged: false,
314
+ range: [1, 1000],
315
+ step: 1,
316
+ group: PROPERTY_GROUPS.stroke,
317
+ property: 'sizeScale',
318
+ allowCustomValue: true
319
+ },
320
+ angle: {
321
+ type: 'number',
322
+ label: 'layerVisConfigs.angle',
323
+ defaultValue: 0,
324
+ isRanged: false,
325
+ range: [0, 360],
326
+ group: PROPERTY_GROUPS.angle,
327
+ step: 1,
328
+ property: 'angle',
329
+ allowCustomValue: true
330
+ },
331
+ worldUnitSize: {
332
+ type: 'number',
333
+ defaultValue: 1,
334
+ label: 'layerVisConfigs.worldUnitSize',
335
+ isRanged: false,
336
+ range: [MIN_WORLD_UNIT_SIZE, 500],
337
+ step: 0.0001,
338
+ group: PROPERTY_GROUPS.cell,
339
+ property: 'worldUnitSize',
340
+ allowCustomValue: true
341
+ },
342
+ elevationScale: {
343
+ type: 'number',
344
+ defaultValue: 5,
345
+ label: 'layerVisConfigs.elevationScale',
346
+ isRanged: false,
347
+ range: [0, 1000],
348
+ step: 0.1,
349
+ group: PROPERTY_GROUPS.height,
350
+ property: 'elevationScale',
351
+ allowCustomValue: true
352
+ },
353
+ enableElevationZoomFactor: {
354
+ type: 'boolean',
355
+ defaultValue: true,
356
+ label: 'layerVisConfigs.enableElevationZoomFactor',
357
+ group: PROPERTY_GROUPS.height,
358
+ property: 'enableElevationZoomFactor',
359
+ description: 'layerVisConfigs.enableElevationZoomFactorDescription'
360
+ },
361
+ elevationRange: {
362
+ type: 'number',
363
+ defaultValue: [0, 500],
364
+ label: 'layerVisConfigs.heightScale',
365
+ isRanged: true,
366
+ range: [0, 1000],
367
+ step: 0.01,
368
+ group: PROPERTY_GROUPS.height,
369
+ property: 'sizeRange',
370
+ allowCustomValue: true
371
+ },
372
+ heightRange: {
373
+ type: 'number',
374
+ defaultValue: [0, 500],
375
+ label: 'Height Scale',
376
+ isRanged: true,
377
+ range: [0, 1000],
378
+ step: 0.01,
379
+ group: PROPERTY_GROUPS.height,
380
+ property: 'heightRange',
381
+ allowCustomValue: true
382
+ },
383
+ coverageRange: {
384
+ type: 'number',
385
+ defaultValue: [0, 1],
386
+ label: 'layerVisConfigs.coverageRange',
387
+ isRanged: true,
388
+ range: [0, 1],
389
+ step: 0.01,
390
+ group: PROPERTY_GROUPS.radius,
391
+ property: 'coverageRange',
392
+ allowCustomValue: false
393
+ },
394
+ // hi precision is deprecated by deck.gl
395
+ 'hi-precision': {
396
+ type: 'boolean',
397
+ defaultValue: false,
398
+ label: 'layerVisConfigs.highPrecisionRendering',
399
+ group: PROPERTY_GROUPS.precision,
400
+ property: 'hi-precision',
401
+ description: 'layerVisConfigs.highPrecisionRenderingDescription'
402
+ },
403
+ enable3d: {
404
+ type: 'boolean',
405
+ defaultValue: false,
406
+ label: 'layerVisConfigs.height',
407
+ group: PROPERTY_GROUPS.height,
408
+ property: 'enable3d',
409
+ description: 'layerVisConfigs.heightDescription'
410
+ },
411
+ stroked: {
412
+ type: 'boolean',
413
+ label: 'layerVisConfigs.stroke',
414
+ defaultValue: true,
415
+ group: PROPERTY_GROUPS.display,
416
+ property: 'stroked'
417
+ },
418
+ filled: {
419
+ type: 'boolean',
420
+ label: 'layerVisConfigs.fill',
421
+ defaultValue: false,
422
+ group: PROPERTY_GROUPS.display,
423
+ property: 'filled'
424
+ },
425
+ extruded: {
426
+ type: 'boolean',
427
+ defaultValue: false,
428
+ label: 'layerVisConfigs.enablePolygonHeight',
429
+ group: PROPERTY_GROUPS.display,
430
+ property: 'extruded'
431
+ },
432
+ wireframe: {
433
+ type: 'boolean',
434
+ defaultValue: false,
435
+ label: 'layerVisConfigs.showWireframe',
436
+ group: PROPERTY_GROUPS.display,
437
+ property: 'wireframe'
438
+ },
439
+ // used for heatmap
440
+ weight: {
441
+ type: 'number',
442
+ defaultValue: 1,
443
+ label: 'layerVisConfigs.weightIntensity',
444
+ isRanged: false,
445
+ range: [0.01, 500],
446
+ step: 0.01,
447
+ group: PROPERTY_GROUPS.cell,
448
+ property: 'weight',
449
+ condition: function condition(config) {
450
+ return Boolean(config.weightField);
451
+ },
452
+ allowCustomValue: true
453
+ },
454
+ heatmapRadius: {
455
+ type: 'number',
456
+ defaultValue: 20,
457
+ label: 'layerVisConfigs.radius',
458
+ isRanged: false,
459
+ range: [0.1, 100],
460
+ step: 0.1,
461
+ group: PROPERTY_GROUPS.cell,
462
+ property: 'radius',
463
+ allowCustomValue: true
464
+ },
465
+ darkBaseMapEnabled: {
466
+ type: 'boolean',
467
+ defaultValue: true,
468
+ label: 'layerVisConfigs.darkModeEnabled',
469
+ property: 'darkBaseMapEnabled',
470
+ group: PROPERTY_GROUPS.display
471
+ },
472
+ allowHover: {
473
+ type: 'boolean',
474
+ defaultValue: true,
475
+ label: 'layerVisConfigs.allowHover',
476
+ description: 'layerVisConfigs.allowHoverDescription',
477
+ group: PROPERTY_GROUPS.interaction,
478
+ property: 'allowHover'
479
+ },
480
+ showNeighborOnHover: {
481
+ type: 'boolean',
482
+ defaultValue: false,
483
+ label: 'layerVisConfigs.showNeighborOnHover',
484
+ group: PROPERTY_GROUPS.interaction,
485
+ property: 'showNeighborOnHover'
486
+ },
487
+ showHighlightColor: {
488
+ type: 'boolean',
489
+ defaultValue: true,
490
+ label: 'layerVisConfigs.showHighlightColor',
491
+ group: PROPERTY_GROUPS.interaction,
492
+ property: 'showHighlightColor'
493
+ },
494
+ scenegraph: {
495
+ defaultValue: null,
496
+ type: 'input',
497
+ label: 'layerVisConfigs.scenegraph',
498
+ group: PROPERTY_GROUPS.scenegraph,
499
+ property: 'scenegraph'
500
+ },
501
+ scenegraphEnabled: {
502
+ defaultValue: false,
503
+ type: 'boolean',
504
+ label: 'layerVisConfigs.scenegraphEnabled',
505
+ group: PROPERTY_GROUPS.scenegraph,
506
+ property: 'scenegraphEnabled'
507
+ },
508
+ scenegraphCustomModelUrl: {
509
+ defaultValue: '',
510
+ type: 'input',
511
+ label: 'layerVisConfigs.scenegraphCustomModelUrl',
512
+ group: PROPERTY_GROUPS.scenegraph,
513
+ property: 'scenegraphCustomModelUrl'
514
+ },
515
+ scenegraphColorEnabled: {
516
+ defaultValue: false,
517
+ type: 'boolean',
518
+ label: 'layerVisConfigs.scenegraphColorEnabled',
519
+ group: PROPERTY_GROUPS.scenegraph,
520
+ property: 'scenegraphColorEnabled'
521
+ },
522
+ scenegraphUseTrailColor: {
523
+ defaultValue: false,
524
+ type: 'boolean',
525
+ label: 'layerVisConfigs.scenegraphUseTrailColor',
526
+ group: PROPERTY_GROUPS.scenegraph,
527
+ property: 'scenegraphUseTrailColor'
528
+ },
529
+ scenegraphColor: {
530
+ defaultValue: null,
531
+ type: 'color-select',
532
+ label: 'layerVisConfigs.scenegraphColor',
533
+ group: PROPERTY_GROUPS.scenegraph,
534
+ property: 'scenegraphColor'
535
+ }
536
+ };
537
+ export var LAYER_TEXT_CONFIGS = {
538
+ fontSize: {
539
+ type: 'number',
540
+ range: [1, 100],
541
+ value0: 1,
542
+ step: 1,
543
+ isRanged: false,
544
+ label: 'Font size',
545
+ showInput: true
546
+ },
547
+ fontWeight: {
548
+ type: 'number',
549
+ range: [100, 900],
550
+ value0: 100,
551
+ step: 100,
552
+ isRanged: false,
553
+ label: 'Font weight',
554
+ showInput: true
555
+ },
556
+ outlineWidth: {
557
+ type: 'number',
558
+ range: [0, 1],
559
+ value0: 0,
560
+ step: 0.01,
561
+ isRanged: false,
562
+ label: 'Outline width',
563
+ showInput: true
564
+ },
565
+ textAnchor: {
566
+ type: 'select',
567
+ options: ['start', 'middle', 'end'],
568
+ multiSelect: false,
569
+ searchable: false
570
+ },
571
+ textAlignment: {
572
+ type: 'select',
573
+ options: ['top', 'center', 'bottom'],
574
+ multiSelect: false,
575
+ searchable: false
576
+ }
577
+ };
578
+ export var LAYER_TYPES = keyMirror({
579
+ point: null,
580
+ arc: null,
581
+ line: null,
582
+ grid: null,
583
+ hexagon: null,
584
+ geojson: null,
585
+ cluster: null,
586
+ icon: null,
587
+ heatmap: null,
588
+ hexagonId: null,
589
+ '3D': null,
590
+ trip: null,
591
+ s2: null,
592
+ a5: null,
593
+ geohash: null,
594
+ flow: null,
595
+ vectorTile: null,
596
+ rasterTile: null,
597
+ wms: null,
598
+ tile3d: null,
599
+ bitmap: null
600
+ });
601
+ export var EDITOR_AVAILABLE_LAYERS = [LAYER_TYPES.point, LAYER_TYPES.icon, LAYER_TYPES.grid, LAYER_TYPES.hexagon, LAYER_TYPES.cluster, LAYER_TYPES.arc, LAYER_TYPES.line, LAYER_TYPES.hexagonId, LAYER_TYPES.geojson, LAYER_TYPES.heatmap];
602
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJrZXlNaXJyb3IiLCJBR0dSRUdBVElPTl9UWVBFUyIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURSIsIkRFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURV9TVEVQUyIsIktFUExFUl9DT0xPUl9QQUxFVFRFUyIsImNvbG9yUGFsZXR0ZVRvQ29sb3JSYW5nZSIsIlBST1BFUlRZX0dST1VQUyIsImNvbG9yIiwic3Ryb2tlIiwicmFkaXVzIiwiaGVpZ2h0IiwiYW5nbGUiLCJzY2VuZWdyYXBoIiwiY2VsbCIsInByZWNpc2lvbiIsImRpc3BsYXkiLCJpbnRlcmFjdGlvbiIsIkRFRkFVTFRfTEFZRVJfT1BBQ0lUWSIsIk1JTl9XT1JMRF9VTklUX1NJWkUiLCJERUZBVUxUX0hJR0hMSUdIVF9DT0xPUiIsIkRFRkFVTFRfTEFZRVJfTEFCRUwiLCJERUZBVUxUX1RFWFRfTEFCRUwiLCJmaWVsZCIsInNpemUiLCJ3ZWlnaHQiLCJvZmZzZXQiLCJhbmNob3IiLCJhbGlnbm1lbnQiLCJvdXRsaW5lV2lkdGgiLCJvdXRsaW5lQ29sb3IiLCJiYWNrZ3JvdW5kIiwiYmFja2dyb3VuZENvbG9yIiwiREVGQVVMVF9DT0xPUl9QQUxFVFRFIiwiZmluZCIsIl9yZWYiLCJuYW1lIiwiREVGQVVMVF9DT0xPUl9SQU5HRSIsInJldmVyc2VkIiwic3RlcHMiLCJERUZBVUxUX0NVU1RPTV9QQUxFVFRFIiwidHlwZSIsImNhdGVnb3J5IiwiY29sb3JzIiwiVU5LTk9XTl9DT0xPUl9LRVkiLCJERUZBVUxUX0NPTE9SX1VJIiwiY3VzdG9tUGFsZXR0ZSIsInNob3dTa2V0Y2hlciIsInNob3dEcm9wZG93biIsInNob3dDb2xvckNoYXJ0IiwiY29sb3JSYW5nZUNvbmZpZyIsImNvbG9yQmxpbmRTYWZlIiwiY3VzdG9tIiwiY3VzdG9tQnJlYWtzIiwiTEFZRVJfVklTX0NPTkZJR1MiLCJ0aGlja25lc3MiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbCIsImlzUmFuZ2VkIiwicmFuZ2UiLCJzdGVwIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsImFsbG93Q3VzdG9tVmFsdWUiLCJzdHJva2VXaWR0aFJhbmdlIiwidHJhaWxMZW5ndGgiLCJmYWRlVHJhaWwiLCJiaWxsYm9hcmQiLCJkZXNjcmlwdGlvbiIsImZpeGVkUmFkaXVzIiwiZml4ZWRIZWlnaHQiLCJyYWRpdXNSYW5nZSIsImNsdXN0ZXJSYWRpdXMiLCJjbHVzdGVyUmFkaXVzUmFuZ2UiLCJvcGFjaXR5IiwiY292ZXJhZ2UiLCJvdXRsaW5lIiwiY29sb3JSYW5nZSIsInN0cm9rZUNvbG9yUmFuZ2UiLCJ0YXJnZXRDb2xvciIsInN0cm9rZUNvbG9yIiwiY29sb3JBZ2dyZWdhdGlvbiIsImF2ZXJhZ2UiLCJvcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsImNvbmRpdGlvbiIsImNvbmZpZyIsIkJvb2xlYW4iLCJjb2xvckZpZWxkIiwic2l6ZUFnZ3JlZ2F0aW9uIiwic2l6ZUZpZWxkIiwicGVyY2VudGlsZSIsImNvbmNhdCIsInZpc0NvbmZpZyIsImNvbG9yU2NhbGUiLCJlbGV2YXRpb25QZXJjZW50aWxlIiwiZW5hYmxlM2QiLCJyZXNvbHV0aW9uIiwic2l6ZVNjYWxlIiwid29ybGRVbml0U2l6ZSIsImVsZXZhdGlvblNjYWxlIiwiZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvciIsImVsZXZhdGlvblJhbmdlIiwiaGVpZ2h0UmFuZ2UiLCJjb3ZlcmFnZVJhbmdlIiwic3Ryb2tlZCIsImZpbGxlZCIsImV4dHJ1ZGVkIiwid2lyZWZyYW1lIiwid2VpZ2h0RmllbGQiLCJoZWF0bWFwUmFkaXVzIiwiZGFya0Jhc2VNYXBFbmFibGVkIiwiYWxsb3dIb3ZlciIsInNob3dOZWlnaGJvck9uSG92ZXIiLCJzaG93SGlnaGxpZ2h0Q29sb3IiLCJzY2VuZWdyYXBoRW5hYmxlZCIsInNjZW5lZ3JhcGhDdXN0b21Nb2RlbFVybCIsInNjZW5lZ3JhcGhDb2xvckVuYWJsZWQiLCJzY2VuZWdyYXBoVXNlVHJhaWxDb2xvciIsInNjZW5lZ3JhcGhDb2xvciIsIkxBWUVSX1RFWFRfQ09ORklHUyIsImZvbnRTaXplIiwidmFsdWUwIiwic2hvd0lucHV0IiwiZm9udFdlaWdodCIsInRleHRBbmNob3IiLCJtdWx0aVNlbGVjdCIsInNlYXJjaGFibGUiLCJ0ZXh0QWxpZ25tZW50IiwiTEFZRVJfVFlQRVMiLCJwb2ludCIsImFyYyIsImxpbmUiLCJncmlkIiwiaGV4YWdvbiIsImdlb2pzb24iLCJjbHVzdGVyIiwiaWNvbiIsImhlYXRtYXAiLCJoZXhhZ29uSWQiLCJ0cmlwIiwiczIiLCJhNSIsImdlb2hhc2giLCJmbG93IiwidmVjdG9yVGlsZSIsInJhc3RlclRpbGUiLCJ3bXMiLCJ0aWxlM2QiLCJiaXRtYXAiLCJFRElUT1JfQVZBSUxBQkxFX0xBWUVSUyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGtleU1pcnJvciBmcm9tICdrZXltaXJyb3InO1xuXG5pbXBvcnQge1xuICBBR0dSRUdBVElPTl9UWVBFUyxcbiAgREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFLFxuICBERUZBVUxUX0xBWUVSX0NPTE9SX1BBTEVUVEVfU1RFUFNcbn0gZnJvbSAnLi9kZWZhdWx0LXNldHRpbmdzJztcbmltcG9ydCB7XG4gIENvbG9yUmFuZ2UsXG4gIENvbG9yVUksXG4gIExheWVyVGV4dENvbmZpZyxcbiAgTGF5ZXJUZXh0TGFiZWwsXG4gIExheWVyVmlzQ29uZmlnU2V0dGluZ3MsXG4gIFJHQkFDb2xvclxufSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Q29sb3JQYWxldHRlLCBLRVBMRVJfQ09MT1JfUEFMRVRURVMsIGNvbG9yUGFsZXR0ZVRvQ29sb3JSYW5nZX0gZnJvbSAnLi9jb2xvci1wYWxldHRlcyc7XG5cbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uVHlwZXMgPSBrZXlvZiB0eXBlb2YgQUdHUkVHQVRJT05fVFlQRVM7XG5cbmV4cG9ydCBjb25zdCBQUk9QRVJUWV9HUk9VUFMgPSBrZXlNaXJyb3Ioe1xuICBjb2xvcjogbnVsbCxcbiAgc3Ryb2tlOiBudWxsLFxuICByYWRpdXM6IG51bGwsXG4gIGhlaWdodDogbnVsbCxcbiAgYW5nbGU6IG51bGwsXG4gIHNjZW5lZ3JhcGg6IG51bGwsXG4gIC8vIGZvciBoZWF0bWFwIGFnZ3JlZ2F0aW9uXG4gIGNlbGw6IG51bGwsXG4gIHByZWNpc2lvbjogbnVsbCxcbiAgZGlzcGxheTogbnVsbCxcbiAgaW50ZXJhY3Rpb246IG51bGxcbn0pO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9MQVlFUl9PUEFDSVRZID0gMC44O1xuLyoqIE1pbmltdW0gZ3JpZCAvIGhleGFnb24gY2VsbCBzaXplIGluIGtpbG9tZXRlcnMuIFplcm8gaXMgaW52YWxpZCBmb3IgYWdncmVnYXRpb24uICovXG5leHBvcnQgY29uc3QgTUlOX1dPUkxEX1VOSVRfU0laRSA9IDAuMDAxO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSElHSExJR0hUX0NPTE9SOiBSR0JBQ29sb3IgPSBbMjUyLCAyNDIsIDI2LCAyNTVdO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZRVJfTEFCRUwgPSAnbmV3IGxheWVyJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEVYVF9MQUJFTDogTGF5ZXJUZXh0TGFiZWwgPSB7XG4gIGZpZWxkOiBudWxsLFxuICBjb2xvcjogWzI1NSwgMjU1LCAyNTVdLFxuICBzaXplOiAxOCxcbiAgd2VpZ2h0OiA0MDAsXG4gIG9mZnNldDogWzAsIDBdLFxuICBhbmNob3I6ICdzdGFydCcsXG4gIGFsaWdubWVudDogJ2NlbnRlcicsXG4gIG91dGxpbmVXaWR0aDogMCxcbiAgb3V0bGluZUNvbG9yOiBbMjU1LCAwLCAwLCAyNTVdLFxuICBiYWNrZ3JvdW5kOiBmYWxzZSxcbiAgYmFja2dyb3VuZENvbG9yOiBbMCwgMCwgMjAwLCAyNTVdXG59O1xuXG5jb25zdCBERUZBVUxUX0NPTE9SX1BBTEVUVEUgPSBLRVBMRVJfQ09MT1JfUEFMRVRURVMuZmluZChcbiAgKHtuYW1lfSkgPT4gbmFtZSA9PT0gREVGQVVMVF9MQVlFUl9DT0xPUl9QQUxFVFRFXG4pIGFzIENvbG9yUGFsZXR0ZTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09MT1JfUkFOR0UgPSBjb2xvclBhbGV0dGVUb0NvbG9yUmFuZ2UoREVGQVVMVF9DT0xPUl9QQUxFVFRFLCB7XG4gIHJldmVyc2VkOiBmYWxzZSxcbiAgc3RlcHM6IERFRkFVTFRfTEFZRVJfQ09MT1JfUEFMRVRURV9TVEVQU1xufSk7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVU1RPTV9QQUxFVFRFOiBDb2xvclJhbmdlID0ge1xuICBuYW1lOiAnY29sb3IuY3VzdG9tUGFsZXR0ZScsXG4gIHR5cGU6ICdjdXN0b20nLFxuICBjYXRlZ29yeTogJ0N1c3RvbScsXG4gIGNvbG9yczogW11cbn07XG5cbmV4cG9ydCBjb25zdCBVTktOT1dOX0NPTE9SX0tFWSA9ICdfX3Vua25vd25Db2xvcl9fJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09MT1JfVUk6IENvbG9yVUkgPSB7XG4gIC8vIGN1c3RvbVBhbGV0dGUgaW4gZWRpdFxuICBjdXN0b21QYWxldHRlOiBERUZBVUxUX0NVU1RPTV9QQUxFVFRFLFxuICAvLyBzaG93IGNvbG9yIHNrZXRjaGVyIG1vZGFsXG4gIHNob3dTa2V0Y2hlcjogZmFsc2UsXG4gIC8vIHNob3cgY29sb3IgcmFuZ2Ugc2VsZWN0aW9uIHBhbmVsXG4gIHNob3dEcm9wZG93bjogZmFsc2UsXG4gIC8vIHNob3cgY29sb3IgY2hhcnRcbiAgc2hvd0NvbG9yQ2hhcnQ6IGZhbHNlLFxuICAvLyBjb2xvciByYW5nZSBzZWxlY3RvciBjb25maWdcbiAgY29sb3JSYW5nZUNvbmZpZzoge1xuICAgIHR5cGU6ICdhbGwnLFxuICAgIHN0ZXBzOiA2LFxuICAgIHJldmVyc2VkOiBmYWxzZSxcbiAgICBjb2xvckJsaW5kU2FmZTogZmFsc2UsXG4gICAgY3VzdG9tOiBmYWxzZSxcbiAgICBjdXN0b21CcmVha3M6IGZhbHNlXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMQVlFUl9WSVNfQ09ORklHUzogTGF5ZXJWaXNDb25maWdTZXR0aW5ncyA9IHtcbiAgdGhpY2tuZXNzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAyLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZVdpZHRoJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxMDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3RoaWNrbmVzcycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBzdHJva2VXaWR0aFJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMTBdLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnN0cm9rZVdpZHRoUmFuZ2UnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMjAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zdHJva2UsXG4gICAgcHJvcGVydHk6ICdzaXplUmFuZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgdHJhaWxMZW5ndGg6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDE4MCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zdHJva2VXaWR0aCcsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMSwgMTAwMF0sXG4gICAgc3RlcDogMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ3RyYWlsTGVuZ3RoJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGZhZGVUcmFpbDoge1xuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZmFkZVRyYWlsJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnN0cm9rZSxcbiAgICBwcm9wZXJ0eTogJ2ZhZGVUcmFpbCdcbiAgfSxcbiAgYmlsbGJvYXJkOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuYmlsbGJvYXJkJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5iaWxsYm9hcmREZXNjcmlwdGlvbicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnYmlsbGJvYXJkJ1xuICB9LFxuICAvLyByYWRpdXMgaXMgYWN0dWFsbHkgcmFkaXVzU2NhbGUgaW4gZGVjay5nbFxuICByYWRpdXM6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEwLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnJhZGl1cycsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXMnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgZml4ZWRSYWRpdXM6IHtcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5maXhlZFJhZGl1cycsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuZml4ZWRSYWRpdXNEZXNjcmlwdGlvbicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdmaXhlZFJhZGl1cydcbiAgfSxcbiAgZml4ZWRIZWlnaHQ6IHtcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5maXhlZEhlaWdodCcsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuZml4ZWRIZWlnaHREZXNjcmlwdGlvbicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdmaXhlZEhlaWdodCdcbiAgfSxcbiAgcmFkaXVzUmFuZ2U6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCA1MF0sXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCA1MDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yYWRpdXNSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5yYWRpdXMsXG4gICAgcHJvcGVydHk6ICdyYWRpdXNSYW5nZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBjbHVzdGVyUmFkaXVzOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY2x1c3RlclJhZGl1cycsXG4gICAgZGVmYXVsdFZhbHVlOiA0MCxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFsxLCA1MDBdLFxuICAgIHN0ZXA6IDAuMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ2NsdXN0ZXJSYWRpdXMnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgY2x1c3RlclJhZGl1c1JhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzUmFuZ2VQaXhlbHMnLFxuICAgIGRlZmF1bHRWYWx1ZTogWzEsIDQwXSxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzEsIDE1MF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMucmFkaXVzLFxuICAgIHByb3BlcnR5OiAncmFkaXVzUmFuZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgb3BhY2l0eToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogREVGQVVMVF9MQVlFUl9PUEFDSVRZLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLm9wYWNpdHknLFxuICAgIGlzUmFuZ2VkOiBmYWxzZSxcbiAgICByYW5nZTogWzAsIDFdLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ29wYWNpdHknLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IGZhbHNlXG4gIH0sXG4gIGNvdmVyYWdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvdmVyYWdlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ2NvdmVyYWdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiBmYWxzZVxuICB9LFxuICAvLyB1c2VkIGluIHBvaW50IGxheWVyXG4gIG91dGxpbmU6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyLm91dGxpbmUnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ291dGxpbmUnXG4gIH0sXG4gIGNvbG9yUmFuZ2U6IHtcbiAgICB0eXBlOiAnY29sb3ItcmFuZ2Utc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfQ09MT1JfUkFOR0UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ2NvbG9yUmFuZ2UnXG4gIH0sXG4gIHN0cm9rZUNvbG9yUmFuZ2U6IHtcbiAgICB0eXBlOiAnY29sb3ItcmFuZ2Utc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IERFRkFVTFRfQ09MT1JfUkFOR0UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlQ29sb3JSYW5nZScsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jb2xvcixcbiAgICBwcm9wZXJ0eTogJ3N0cm9rZUNvbG9yUmFuZ2UnXG4gIH0sXG4gIHRhcmdldENvbG9yOiB7XG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MudGFyZ2V0Q29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAndGFyZ2V0Q29sb3InXG4gIH0sXG4gIHN0cm9rZUNvbG9yOiB7XG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlQ29sb3InLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNvbG9yLFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlQ29sb3InXG4gIH0sXG4gIGNvbG9yQWdncmVnYXRpb246IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuY29sb3JBZ2dyZWdhdGlvbicsXG4gICAgLy8gYWdncmVnYXRpb24gb3B0aW9ucyBhcmUgYmFzZWQgb24gY29sb3IgZmllbGQgdHlwZXNcbiAgICBvcHRpb25zOiBPYmplY3Qua2V5cyhBR0dSRUdBVElPTl9UWVBFUykgYXMgQWdncmVnYXRpb25UeXBlc1tdLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdjb2xvckFnZ3JlZ2F0aW9uJyxcbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBCb29sZWFuKGNvbmZpZy5jb2xvckZpZWxkKVxuICB9LFxuICBzaXplQWdncmVnYXRpb246IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBkZWZhdWx0VmFsdWU6IEFHR1JFR0FUSU9OX1RZUEVTLmF2ZXJhZ2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0QWdncmVnYXRpb24nLFxuICAgIC8vIGFnZ3JlZ2F0aW9uIG9wdGlvbnMgYXJlIGJhc2VkIG9uIGNvbG9yIGZpZWxkIHR5cGVzXG4gICAgb3B0aW9uczogT2JqZWN0LmtleXMoQUdHUkVHQVRJT05fVFlQRVMpIGFzIEFnZ3JlZ2F0aW9uVHlwZXNbXSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ3NpemVBZ2dyZWdhdGlvbicsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gQm9vbGVhbihjb25maWcuc2l6ZUZpZWxkKVxuICB9LFxuICBwZXJjZW50aWxlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgMTAwXSxcbiAgICBsYWJlbDogY29uZmlnID0+XG4gICAgICBgRmlsdGVyIGJ5ICR7XG4gICAgICAgIGNvbmZpZy5jb2xvckZpZWxkXG4gICAgICAgICAgPyBgJHtjb25maWcudmlzQ29uZmlnLmNvbG9yQWdncmVnYXRpb259ICR7Y29uZmlnLmNvbG9yRmllbGQubmFtZX1gXG4gICAgICAgICAgOiAnY291bnQnXG4gICAgICB9IHBlcmNlbnRpbGVgLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY29sb3IsXG4gICAgcHJvcGVydHk6ICdwZXJjZW50aWxlJyxcblxuICAgIC8vIHBlcmNlbnRpbGUgZmlsdGVyIG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCBsaW5lYXIgYWdncmVnYXRpb25cbiAgICBjb25kaXRpb246IGNvbmZpZyA9PiBjb25maWcuY29sb3JTY2FsZSAhPT0gJ29yZGluYWwnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IGZhbHNlXG4gIH0sXG4gIGVsZXZhdGlvblBlcmNlbnRpbGU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IFswLCAxMDBdLFxuICAgIGxhYmVsOiBjb25maWcgPT5cbiAgICAgIGBGaWx0ZXIgYnkgJHtcbiAgICAgICAgY29uZmlnLnNpemVGaWVsZCA/IGAke2NvbmZpZy52aXNDb25maWcuc2l6ZUFnZ3JlZ2F0aW9ufSAke2NvbmZpZy5zaXplRmllbGQubmFtZX1gIDogJ2NvdW50J1xuICAgICAgfSBwZXJjZW50aWxlYCxcbiAgICBpc1JhbmdlZDogdHJ1ZSxcbiAgICByYW5nZTogWzAsIDEwMF0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmhlaWdodCxcbiAgICBwcm9wZXJ0eTogJ2VsZXZhdGlvblBlcmNlbnRpbGUnLFxuICAgIC8vIHBlcmNlbnRpbGUgZmlsdGVyIG9ubHkgbWFrZXMgc2Vuc2Ugd2l0aCBsaW5lYXIgYWdncmVnYXRpb25cbiAgICBjb25kaXRpb246IGNvbmZpZyA9PlxuICAgICAgQm9vbGVhbihjb25maWcudmlzQ29uZmlnLmVuYWJsZTNkICYmIChjb25maWcuY29sb3JGaWVsZCB8fCBjb25maWcuc2l6ZUZpZWxkKSksXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogZmFsc2VcbiAgfSxcbiAgcmVzb2x1dGlvbjoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogOCxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5yZXNvbHV0aW9uJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAxM10sXG4gICAgc3RlcDogMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmNlbGwsXG4gICAgcHJvcGVydHk6ICdyZXNvbHV0aW9uJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIHNpemVTY2FsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMTAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2l6ZVNjYWxlJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFsxLCAxMDAwXSxcbiAgICBzdGVwOiAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc3Ryb2tlLFxuICAgIHByb3BlcnR5OiAnc2l6ZVNjYWxlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGFuZ2xlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuYW5nbGUnLFxuICAgIGRlZmF1bHRWYWx1ZTogMCxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLCAzNjBdLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuYW5nbGUsXG4gICAgc3RlcDogMSxcbiAgICBwcm9wZXJ0eTogJ2FuZ2xlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIHdvcmxkVW5pdFNpemU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZWZhdWx0VmFsdWU6IDEsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Mud29ybGRVbml0U2l6ZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbTUlOX1dPUkxEX1VOSVRfU0laRSwgNTAwXSxcbiAgICBzdGVwOiAwLjAwMDEsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5jZWxsLFxuICAgIHByb3BlcnR5OiAnd29ybGRVbml0U2l6ZScsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBlbGV2YXRpb25TY2FsZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogNSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5lbGV2YXRpb25TY2FsZScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnZWxldmF0aW9uU2NhbGUnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgZW5hYmxlRWxldmF0aW9uWm9vbUZhY3Rvcjoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MuZW5hYmxlRWxldmF0aW9uWm9vbUZhY3RvcicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbmFibGVFbGV2YXRpb25ab29tRmFjdG9yJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5lbmFibGVFbGV2YXRpb25ab29tRmFjdG9yRGVzY3JpcHRpb24nXG4gIH0sXG4gIGVsZXZhdGlvblJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgNTAwXSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oZWlnaHRTY2FsZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnc2l6ZVJhbmdlJyxcbiAgICBhbGxvd0N1c3RvbVZhbHVlOiB0cnVlXG4gIH0sXG4gIGhlaWdodFJhbmdlOiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiBbMCwgNTAwXSxcbiAgICBsYWJlbDogJ0hlaWdodCBTY2FsZScsXG4gICAgaXNSYW5nZWQ6IHRydWUsXG4gICAgcmFuZ2U6IFswLCAxMDAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaGVpZ2h0LFxuICAgIHByb3BlcnR5OiAnaGVpZ2h0UmFuZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgY292ZXJhZ2VSYW5nZToge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogWzAsIDFdLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmNvdmVyYWdlUmFuZ2UnLFxuICAgIGlzUmFuZ2VkOiB0cnVlLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgc3RlcDogMC4wMSxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnJhZGl1cyxcbiAgICBwcm9wZXJ0eTogJ2NvdmVyYWdlUmFuZ2UnLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IGZhbHNlXG4gIH0sXG4gIC8vIGhpIHByZWNpc2lvbiBpcyBkZXByZWNhdGVkIGJ5IGRlY2suZ2xcbiAgJ2hpLXByZWNpc2lvbic6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5oaWdoUHJlY2lzaW9uUmVuZGVyaW5nJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnByZWNpc2lvbixcbiAgICBwcm9wZXJ0eTogJ2hpLXByZWNpc2lvbicsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuaGlnaFByZWNpc2lvblJlbmRlcmluZ0Rlc2NyaXB0aW9uJ1xuICB9LFxuICBlbmFibGUzZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmhlaWdodCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5oZWlnaHQsXG4gICAgcHJvcGVydHk6ICdlbmFibGUzZCcsXG4gICAgZGVzY3JpcHRpb246ICdsYXllclZpc0NvbmZpZ3MuaGVpZ2h0RGVzY3JpcHRpb24nXG4gIH0sXG4gIHN0cm9rZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc3Ryb2tlJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnc3Ryb2tlZCdcbiAgfSxcbiAgZmlsbGVkOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmZpbGwnLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5kaXNwbGF5LFxuICAgIHByb3BlcnR5OiAnZmlsbGVkJ1xuICB9LFxuICBleHRydWRlZDoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmVuYWJsZVBvbHlnb25IZWlnaHQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheSxcbiAgICBwcm9wZXJ0eTogJ2V4dHJ1ZGVkJ1xuICB9LFxuICB3aXJlZnJhbWU6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zaG93V2lyZWZyYW1lJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmRpc3BsYXksXG4gICAgcHJvcGVydHk6ICd3aXJlZnJhbWUnXG4gIH0sXG4gIC8vIHVzZWQgZm9yIGhlYXRtYXBcbiAgd2VpZ2h0OiB7XG4gICAgdHlwZTogJ251bWJlcicsXG4gICAgZGVmYXVsdFZhbHVlOiAxLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLndlaWdodEludGVuc2l0eScsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIHJhbmdlOiBbMC4wMSwgNTAwXSxcbiAgICBzdGVwOiAwLjAxLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3dlaWdodCcsXG4gICAgY29uZGl0aW9uOiBjb25maWcgPT4gQm9vbGVhbihjb25maWcud2VpZ2h0RmllbGQpLFxuICAgIGFsbG93Q3VzdG9tVmFsdWU6IHRydWVcbiAgfSxcbiAgaGVhdG1hcFJhZGl1czoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlZmF1bHRWYWx1ZTogMjAsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3MucmFkaXVzJyxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgcmFuZ2U6IFswLjEsIDEwMF0sXG4gICAgc3RlcDogMC4xLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuY2VsbCxcbiAgICBwcm9wZXJ0eTogJ3JhZGl1cycsXG4gICAgYWxsb3dDdXN0b21WYWx1ZTogdHJ1ZVxuICB9LFxuICBkYXJrQmFzZU1hcEVuYWJsZWQ6IHtcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgZGVmYXVsdFZhbHVlOiB0cnVlLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLmRhcmtNb2RlRW5hYmxlZCcsXG4gICAgcHJvcGVydHk6ICdkYXJrQmFzZU1hcEVuYWJsZWQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuZGlzcGxheVxuICB9LFxuICBhbGxvd0hvdmVyOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5hbGxvd0hvdmVyJyxcbiAgICBkZXNjcmlwdGlvbjogJ2xheWVyVmlzQ29uZmlncy5hbGxvd0hvdmVyRGVzY3JpcHRpb24nLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuaW50ZXJhY3Rpb24sXG4gICAgcHJvcGVydHk6ICdhbGxvd0hvdmVyJ1xuICB9LFxuICBzaG93TmVpZ2hib3JPbkhvdmVyOiB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2hvd05laWdoYm9yT25Ib3ZlcicsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5pbnRlcmFjdGlvbixcbiAgICBwcm9wZXJ0eTogJ3Nob3dOZWlnaGJvck9uSG92ZXInXG4gIH0sXG4gIHNob3dIaWdobGlnaHRDb2xvcjoge1xuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBkZWZhdWx0VmFsdWU6IHRydWUsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2hvd0hpZ2hsaWdodENvbG9yJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLmludGVyYWN0aW9uLFxuICAgIHByb3BlcnR5OiAnc2hvd0hpZ2hsaWdodENvbG9yJ1xuICB9LFxuICBzY2VuZWdyYXBoOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBudWxsLFxuICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2NlbmVncmFwaCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zY2VuZWdyYXBoLFxuICAgIHByb3BlcnR5OiAnc2NlbmVncmFwaCdcbiAgfSxcbiAgc2NlbmVncmFwaEVuYWJsZWQ6IHtcbiAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zY2VuZWdyYXBoRW5hYmxlZCcsXG4gICAgZ3JvdXA6IFBST1BFUlRZX0dST1VQUy5zY2VuZWdyYXBoLFxuICAgIHByb3BlcnR5OiAnc2NlbmVncmFwaEVuYWJsZWQnXG4gIH0sXG4gIHNjZW5lZ3JhcGhDdXN0b21Nb2RlbFVybDoge1xuICAgIGRlZmF1bHRWYWx1ZTogJycsXG4gICAgdHlwZTogJ2lucHV0JyxcbiAgICBsYWJlbDogJ2xheWVyVmlzQ29uZmlncy5zY2VuZWdyYXBoQ3VzdG9tTW9kZWxVcmwnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc2NlbmVncmFwaCxcbiAgICBwcm9wZXJ0eTogJ3NjZW5lZ3JhcGhDdXN0b21Nb2RlbFVybCdcbiAgfSxcbiAgc2NlbmVncmFwaENvbG9yRW5hYmxlZDoge1xuICAgIGRlZmF1bHRWYWx1ZTogZmFsc2UsXG4gICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgIGxhYmVsOiAnbGF5ZXJWaXNDb25maWdzLnNjZW5lZ3JhcGhDb2xvckVuYWJsZWQnLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc2NlbmVncmFwaCxcbiAgICBwcm9wZXJ0eTogJ3NjZW5lZ3JhcGhDb2xvckVuYWJsZWQnXG4gIH0sXG4gIHNjZW5lZ3JhcGhVc2VUcmFpbENvbG9yOiB7XG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2NlbmVncmFwaFVzZVRyYWlsQ29sb3InLFxuICAgIGdyb3VwOiBQUk9QRVJUWV9HUk9VUFMuc2NlbmVncmFwaCxcbiAgICBwcm9wZXJ0eTogJ3NjZW5lZ3JhcGhVc2VUcmFpbENvbG9yJ1xuICB9LFxuICBzY2VuZWdyYXBoQ29sb3I6IHtcbiAgICBkZWZhdWx0VmFsdWU6IG51bGwsXG4gICAgdHlwZTogJ2NvbG9yLXNlbGVjdCcsXG4gICAgbGFiZWw6ICdsYXllclZpc0NvbmZpZ3Muc2NlbmVncmFwaENvbG9yJyxcbiAgICBncm91cDogUFJPUEVSVFlfR1JPVVBTLnNjZW5lZ3JhcGgsXG4gICAgcHJvcGVydHk6ICdzY2VuZWdyYXBoQ29sb3InXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMQVlFUl9URVhUX0NPTkZJR1M6IExheWVyVGV4dENvbmZpZyA9IHtcbiAgZm9udFNpemU6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICByYW5nZTogWzEsIDEwMF0sXG4gICAgdmFsdWUwOiAxLFxuICAgIHN0ZXA6IDEsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIGxhYmVsOiAnRm9udCBzaXplJyxcbiAgICBzaG93SW5wdXQ6IHRydWVcbiAgfSxcbiAgZm9udFdlaWdodDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHJhbmdlOiBbMTAwLCA5MDBdLFxuICAgIHZhbHVlMDogMTAwLFxuICAgIHN0ZXA6IDEwMCxcbiAgICBpc1JhbmdlZDogZmFsc2UsXG4gICAgbGFiZWw6ICdGb250IHdlaWdodCcsXG4gICAgc2hvd0lucHV0OiB0cnVlXG4gIH0sXG4gIG91dGxpbmVXaWR0aDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIHJhbmdlOiBbMCwgMV0sXG4gICAgdmFsdWUwOiAwLFxuICAgIHN0ZXA6IDAuMDEsXG4gICAgaXNSYW5nZWQ6IGZhbHNlLFxuICAgIGxhYmVsOiAnT3V0bGluZSB3aWR0aCcsXG4gICAgc2hvd0lucHV0OiB0cnVlXG4gIH0sXG4gIHRleHRBbmNob3I6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBbJ3N0YXJ0JywgJ21pZGRsZScsICdlbmQnXSxcbiAgICBtdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgc2VhcmNoYWJsZTogZmFsc2VcbiAgfSxcbiAgdGV4dEFsaWdubWVudDoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IFsndG9wJywgJ2NlbnRlcicsICdib3R0b20nXSxcbiAgICBtdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgc2VhcmNoYWJsZTogZmFsc2VcbiAgfVxufTtcbmV4cG9ydCBjb25zdCBMQVlFUl9UWVBFUyA9IGtleU1pcnJvcih7XG4gIHBvaW50OiBudWxsLFxuICBhcmM6IG51bGwsXG4gIGxpbmU6IG51bGwsXG4gIGdyaWQ6IG51bGwsXG4gIGhleGFnb246IG51bGwsXG4gIGdlb2pzb246IG51bGwsXG4gIGNsdXN0ZXI6IG51bGwsXG4gIGljb246IG51bGwsXG4gIGhlYXRtYXA6IG51bGwsXG4gIGhleGFnb25JZDogbnVsbCxcbiAgJzNEJzogbnVsbCxcbiAgdHJpcDogbnVsbCxcbiAgczI6IG51bGwsXG4gIGE1OiBudWxsLFxuICBnZW9oYXNoOiBudWxsLFxuICBmbG93OiBudWxsLFxuICB2ZWN0b3JUaWxlOiBudWxsLFxuICByYXN0ZXJUaWxlOiBudWxsLFxuICB3bXM6IG51bGwsXG4gIHRpbGUzZDogbnVsbCxcbiAgYml0bWFwOiBudWxsXG59KTtcblxuZXhwb3J0IGNvbnN0IEVESVRPUl9BVkFJTEFCTEVfTEFZRVJTOiBzdHJpbmdbXSA9IFtcbiAgTEFZRVJfVFlQRVMucG9pbnQsXG4gIExBWUVSX1RZUEVTLmljb24sXG4gIExBWUVSX1RZUEVTLmdyaWQsXG4gIExBWUVSX1RZUEVTLmhleGFnb24sXG4gIExBWUVSX1RZUEVTLmNsdXN0ZXIsXG4gIExBWUVSX1RZUEVTLmFyYyxcbiAgTEFZRVJfVFlQRVMubGluZSxcbiAgTEFZRVJfVFlQRVMuaGV4YWdvbklkLFxuICBMQVlFUl9UWVBFUy5nZW9qc29uLFxuICBMQVlFUl9UWVBFUy5oZWF0bWFwXG5dO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBLE9BQU9BLFNBQVMsTUFBTSxXQUFXO0FBRWpDLFNBQ0VDLGlCQUFpQixFQUNqQkMsMkJBQTJCLEVBQzNCQyxpQ0FBaUMsUUFDNUIsb0JBQW9CO0FBUzNCLFNBQXNCQyxxQkFBcUIsRUFBRUMsd0JBQXdCLFFBQU8sa0JBQWtCO0FBSTlGLE9BQU8sSUFBTUMsZUFBZSxHQUFHTixTQUFTLENBQUM7RUFD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