bbj-screen-widget 2.4.67 → 2.4.68
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.
- package/bbj-screen-widget.d.ts +16 -12
- package/bbj-screen-widget.metadata.json +1 -1
- package/bundles/bbj-screen-widget-core.umd.js +147 -4
- package/bundles/bbj-screen-widget-core.umd.js.map +1 -1
- package/bundles/bbj-screen-widget-core.umd.min.js +1 -1
- package/bundles/bbj-screen-widget-core.umd.min.js.map +1 -1
- package/bundles/bbj-screen-widget.umd.js +1309 -201
- package/bundles/bbj-screen-widget.umd.js.map +1 -1
- package/bundles/bbj-screen-widget.umd.min.js +1 -1
- package/bundles/bbj-screen-widget.umd.min.js.map +1 -1
- package/core/bbj-screen-widget-core.metadata.json +1 -1
- package/core/public_api.d.ts +2 -0
- package/core/util/map.util.d.ts +23 -0
- package/core/util/scale.util.d.ts +4 -0
- package/esm2015/bbj-screen-widget.js +17 -13
- package/esm2015/core/public_api.js +3 -1
- package/esm2015/core/util/map.util.js +104 -0
- package/esm2015/core/util/scale.util.js +33 -0
- package/esm2015/lib/custom-baidu-map/custom-baidu-map.component.js +4 -42
- package/esm2015/lib/screen-widget.module.js +7 -1
- package/esm2015/lib/tianditu/base-layer.js +80 -0
- package/esm2015/lib/tianditu/tianditu-marker/tianditu-marker.component.js +666 -0
- package/esm2015/lib/tianditu/tianditu.component.js +399 -0
- package/esm2015/lib/tianditu/tianditu.module.js +21 -0
- package/fesm2015/bbj-screen-widget-core.js +138 -1
- package/fesm2015/bbj-screen-widget-core.js.map +1 -1
- package/fesm2015/bbj-screen-widget.js +1193 -86
- package/fesm2015/bbj-screen-widget.js.map +1 -1
- package/lib/custom-baidu-map/custom-baidu-map.component.d.ts +1 -1
- package/lib/tianditu/base-layer.d.ts +20 -0
- package/lib/tianditu/tianditu-marker/tianditu-marker.component.d.ts +63 -0
- package/lib/tianditu/tianditu.component.d.ts +53 -0
- package/lib/tianditu/tianditu.module.d.ts +4 -0
- package/package.json +1 -1
|
@@ -2,10 +2,9 @@ import { __awaiter, __decorate, __metadata } from "tslib";
|
|
|
2
2
|
import { HttpClient } from '@angular/common/http';
|
|
3
3
|
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, NgZone, Optional, ViewChild, } from '@angular/core';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
|
-
import { take, takeUntil } from 'rxjs/operators';
|
|
6
5
|
import { ScaleSubject, TemplateUtil, WidgetRef } from 'bbj-widget-base';
|
|
7
6
|
import { Data, DataOutput, Property, Widget, Event } from 'bbj-widget-base';
|
|
8
|
-
import { BaiduMapService } from 'bbj-screen-widget/core';
|
|
7
|
+
import { BaiduMapService, scaleAdapter } from 'bbj-screen-widget/core';
|
|
9
8
|
const MapTypeEnum = [
|
|
10
9
|
{ label: '普通', value: 'normal' },
|
|
11
10
|
{ label: '深色', value: 'dark' },
|
|
@@ -92,44 +91,7 @@ let CustomBaiduMapComponent = class CustomBaiduMapComponent {
|
|
|
92
91
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
92
|
if (this.scale$) {
|
|
94
93
|
// 这是为了解决地图缩放中心不在鼠标所在位置的问题
|
|
95
|
-
this.scale
|
|
96
|
-
const { x: sx, y: sy, scaleContent } = scale;
|
|
97
|
-
const style = this.element.style;
|
|
98
|
-
if (scaleContent === false) {
|
|
99
|
-
this.zone.onStable.pipe(take(1)).subscribe(() => {
|
|
100
|
-
const parent = this.element.parentNode;
|
|
101
|
-
if (parent) {
|
|
102
|
-
const match = /translate\(([-\d.]+)px, ([-\d.]+)px\)/.exec(parent.style.transform);
|
|
103
|
-
if (match) {
|
|
104
|
-
const offsetX = parseFloat(match[1]);
|
|
105
|
-
const offsetY = parseFloat(match[2]);
|
|
106
|
-
style.transform = `translate(${-offsetX}px,${-offsetY}px)`;
|
|
107
|
-
style.height = parent.clientHeight + offsetY + 'px';
|
|
108
|
-
style.width = parent.clientWidth + offsetX + 'px';
|
|
109
|
-
style.padding = `${offsetY}px 0 0 ${offsetX}px`;
|
|
110
|
-
// this.containerStyle = {
|
|
111
|
-
// transformOrigin: `0 0`,
|
|
112
|
-
// transform: `translate(${-offsetX}px,${-offsetY}px)`,
|
|
113
|
-
// height: parent.clientHeight + offsetY + 'px',
|
|
114
|
-
// width: parent.clientWidth + offsetX + 'px',
|
|
115
|
-
// padding: `${offsetY}px 0 0 ${offsetX}px`,
|
|
116
|
-
// };
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
// this.cd.markForCheck();
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
const { position, size } = this.widgetRef.widget;
|
|
124
|
-
const { x, y } = position;
|
|
125
|
-
const { width, height } = size;
|
|
126
|
-
style.transform = `translate(${-x}px,${-y}px) scale(${1 / sx},${1 / sy})`;
|
|
127
|
-
style.height = (y + height) * sy + 'px';
|
|
128
|
-
style.width = (x + width) * sx + 'px';
|
|
129
|
-
style.padding = `${y * sy}px 0 0 ${x * sx}px`;
|
|
130
|
-
}
|
|
131
|
-
// this.cd.markForCheck();
|
|
132
|
-
});
|
|
94
|
+
scaleAdapter(this.scale$, this.destroy$, this.zone, this.elementRef.nativeElement, this.widgetRef);
|
|
133
95
|
}
|
|
134
96
|
yield this.initMap();
|
|
135
97
|
});
|
|
@@ -474,7 +436,7 @@ CustomBaiduMapComponent.decorators = [
|
|
|
474
436
|
{ type: Component, args: [{
|
|
475
437
|
selector: 'sc-custom-baidu-map',
|
|
476
438
|
template: "<ng-template *ngFor=\"let child of children\" widget-host [widget]=\"child\"></ng-template>\n\n<!-- {{children|json}} -->\n<!-- <div class=\"map-container\" [ngStyle]=\"containerStyle\"> -->\n<div #container class=\"map\"></div>\n<nz-radio-group\n *ngIf=\"showMapTypeRadio\"\n class=\"map-type-radio\"\n [(ngModel)]=\"mapTypeValue\"\n (ngModelChange)=\"mapTypeChange($event)\"\n nzButtonStyle=\"solid\"\n>\n <label *ngFor=\"let item of mapTypeEnum\" nz-radio-button [nzValue]=\"item.value\">{{ item.label }}</label>\n</nz-radio-group>\n<!-- </div> -->\n",
|
|
477
|
-
styles: [":host{display:block;height:100%;width:100%;overflow:hidden;transform-origin:0 0;z-index:0;pointer-events:none}:host>*{pointer-events:auto}.map{height:100%;width:100%}:host::ng-deep .BMap_bubble_pop{background-color:var(--info-window-background,#fff)!important;border-color:var(--info-window-border-color,#ddd)!important}:host::ng-deep .BMap_bubble_content{color:var(--info-window-color,\"#555555\")!important}:host::ng-deep .BMap_pop div{background-color:var(--info-window-background,#fff)!important}:host::ng-deep .BMap_pop>div:nth-child(8){background-color:transparent!important}:host.hideInfoWindowTail::ng-deep .BMap_bubble_pop>img,:host.hideInfoWindowTail::ng-deep .BMap_pop>div:nth-child(8),:host::ng-deep .BMap_noprint.anchorTR,:host::ng-deep img[src$=\"/image/api/iws3.png\"]{display:none}:host.hideInfoWindowTop::ng-deep .BMap_bubble_pop{transform:translateY(31px)}:host.hideInfoWindowTop::ng-deep .BMap_bubble_pop>img{transform:translateY(-31px)}:host.hideInfoWindowTop::ng-deep .BMap_bubble_top,:host::ng-deep .anchorBL{display:none}.map-type-radio{position:absolute;bottom:20px;right:20px;z-index:10}"]
|
|
439
|
+
styles: [":host{display:block;height:100%;width:100%;overflow:hidden;transform-origin:0 0;z-index:0;pointer-events:none;position:relative}:host>*{pointer-events:auto}.map{height:100%;width:100%}:host::ng-deep .BMap_bubble_pop{background-color:var(--info-window-background,#fff)!important;border-color:var(--info-window-border-color,#ddd)!important}:host::ng-deep .BMap_bubble_content{color:var(--info-window-color,\"#555555\")!important}:host::ng-deep .BMap_pop div{background-color:var(--info-window-background,#fff)!important}:host::ng-deep .BMap_pop>div:nth-child(8){background-color:transparent!important}:host.hideInfoWindowTail::ng-deep .BMap_bubble_pop>img,:host.hideInfoWindowTail::ng-deep .BMap_pop>div:nth-child(8),:host::ng-deep .BMap_noprint.anchorTR,:host::ng-deep img[src$=\"/image/api/iws3.png\"]{display:none}:host.hideInfoWindowTop::ng-deep .BMap_bubble_pop{transform:translateY(31px)}:host.hideInfoWindowTop::ng-deep .BMap_bubble_pop>img{transform:translateY(-31px)}:host.hideInfoWindowTop::ng-deep .BMap_bubble_top,:host::ng-deep .anchorBL{display:none}.map-type-radio{position:absolute;bottom:20px;right:20px;z-index:10}"]
|
|
478
440
|
},] }
|
|
479
441
|
];
|
|
480
442
|
CustomBaiduMapComponent.ctorParameters = () => [
|
|
@@ -680,4 +642,4 @@ CustomBaiduMapComponent = __decorate([
|
|
|
680
642
|
WidgetRef])
|
|
681
643
|
], CustomBaiduMapComponent);
|
|
682
644
|
export { CustomBaiduMapComponent };
|
|
683
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJhaWR1LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvY3VzdG9tLWJhaWR1LW1hcC9jdXN0b20tYmFpZHUtbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosV0FBVyxFQUdYLE1BQU0sRUFJTixRQUFRLEVBRVIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVd6RCxNQUFNLFdBQVcsR0FBRztJQUNsQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtJQUNoQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUM5QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtJQUNuQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtDQUNsQyxDQUFDO0lBNEJXLHVCQUF1QixTQUF2Qix1QkFBdUI7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OzsyREFDbUM7QUFJckM7SUFIQyxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2IsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtLQUN2RyxDQUFDOzt5REFDaUM7QUF6SnhCLHVCQUF1QjtJQXRCbkMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNkLEtBQUssRUFBRSxXQUFXO1FBQ2xCLEtBQUssRUFBRSxvQ0FBb0M7UUFDM0MsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osSUFBSSxFQUFFLHVCQUF1QjtnQkFDN0IsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLElBQUk7Z0JBQ1osU0FBUyxFQUFFLElBQUk7YUFDaEI7U0FDRjtRQUNELFVBQVUsRUFBRTtZQUNWLHVCQUF1QjtZQUN2Qix5QkFBeUI7WUFDekIsZUFBZTtZQUNmLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1NBQ2pCO1FBQ0QsV0FBVyxFQUFFLGNBQWM7S0FDckIsQ0FBQztxQ0FxTG9CLGVBQWU7UUFDMUIsVUFBVTtRQUNKLFVBQVU7UUFDaEIsTUFBTTtRQUNRLFlBQVk7UUFDNUIsaUJBQWlCO1FBQ1YsU0FBUztHQTFMbkIsdUJBQXVCLENBZ2xCbkM7U0FobEJZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEluamVjdCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTY2FsZVN1YmplY3QsIFRlbXBsYXRlVXRpbCwgV2lkZ2V0UmVmIH0gZnJvbSAnYmJqLXdpZGdldC1iYXNlJztcclxuaW1wb3J0IHsgRGF0YSwgRGF0YU91dHB1dCwgUHJvcGVydHksIFdpZGdldCwgRXZlbnQgfSBmcm9tICdiYmotd2lkZ2V0LWJhc2UnO1xyXG5pbXBvcnQgeyBCYWlkdU1hcFNlcnZpY2UgfSBmcm9tICdiYmotc2NyZWVuLXdpZGdldC9jb3JlJztcclxuXHJcbi8vIGRlY2xhcmUgY29uc3QgQk1hcDtcclxuZGVjbGFyZSBjb25zdCBCTWFwR0w6IGFueTtcclxuLy8gZGVjbGFyZSBjb25zdCBCTWFwR0xMaWI7XHJcbi8vIGRlY2xhcmUgY29uc3QgQk1hcExpYjtcclxuLy8gZGVjbGFyZSBjb25zdCBCTUFQX0FOQ0hPUl9CT1RUT01fTEVGVDogbnVtYmVyO1xyXG5kZWNsYXJlIGNvbnN0IEJNQVBfQU5DSE9SX1RPUF9MRUZUOiBudW1iZXI7XHJcbmRlY2xhcmUgY29uc3QgbWFwdmdsOiBhbnk7XHJcbmRlY2xhcmUgY29uc3QgQk1BUF9TQVRFTExJVEVfTUFQOiBudW1iZXI7XHJcbmRlY2xhcmUgY29uc3QgQk1BUF9OT1JNQUxfTUFQOiBudW1iZXI7XHJcbmNvbnN0IE1hcFR5cGVFbnVtID0gW1xyXG4gIHsgbGFiZWw6ICfmma7pgJonLCB2YWx1ZTogJ25vcm1hbCcgfSxcclxuICB7IGxhYmVsOiAn5rex6ImyJywgdmFsdWU6ICdkYXJrJyB9LFxyXG4gIHsgbGFiZWw6ICfljavmmJ8nLCB2YWx1ZTogJ3NhdGVsbGl0ZScgfSxcclxuICB7IGxhYmVsOiAn6Ieq5a6a5LmJJywgdmFsdWU6ICdjdXN0b20nIH0sXHJcbl07XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2MtY3VzdG9tLWJhaWR1LW1hcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1iYWlkdS1tYXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1iYWlkdS1tYXAuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuQFdpZGdldCgn55m+5bqm5Zyw5Zu+Jywge1xyXG4gIGdyb3VwOiAnY29tcG9uZW50JyxcclxuICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL215LWJhaWR1LW1hcC5wbmcnLFxyXG4gIGNoaWxkcmVuOiBbXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAn5qCH6K6w5bGCJyxcclxuICAgICAgdHlwZTogJ3NjLWJhaWR1LW1hcmtlci1sYXllcicsXHJcbiAgICAgIG9wdGlvbjoge30sXHJcbiAgICAgIGhpZGRlbjogdHJ1ZSxcclxuICAgICAgaGlkZUNoaWxkOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoaWxkVHlwZXM6IFtcclxuICAgICdzYy1iYWlkdS1tYXJrZXItbGF5ZXInLFxyXG4gICAgJ3NjLWJhaWR1LXBvbHlsaW5lLWxheWVyJyxcclxuICAgICdzYy13aW5kLWxheWVyJyxcclxuICAgICdzYy10eXBob29uLWFyZWEtbGF5ZXInLFxyXG4gICAgJ3NjLWJhaWR1LWZlbmNlJyxcclxuICAgICdzYy1iYWlkdS1sdXNodScsXHJcbiAgXSxcclxuICBkZXNjcmlwdGlvbjogJ2hhc0NoaWxkSXRlbScsXHJcbn0gYXMgYW55KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tQmFpZHVNYXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICAvLyBAUHJvcGVydHkoJ+Wtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlGb250JyB9IH0pXHJcbiAgLy8gZm9udDogYW55ID0ge1xyXG4gIC8vICAgZmFtaWx5OiAnJyxcclxuICAvLyAgIGNvbG9yOiAnIzAwMDAwMCcsXHJcbiAgLy8gICB3ZWlnaHQ6ICdub3JtYWwnLFxyXG4gIC8vICAgc2l6ZTogMTYsXHJcbiAgLy8gICBzcGFjZTogMCxcclxuICAvLyAgIGxpbmVIZWlnaHQ6IDAsXHJcbiAgLy8gfTtcclxuICBAUHJvcGVydHkoJ+WcsOWbvuexu+WeiycsIHtcclxuICAgIGVudW06IE1hcFR5cGVFbnVtLFxyXG4gIH0pXHJcbiAgbWFwVHlwZSA9ICdub3JtYWwnO1xyXG4gIG1hcFR5cGVWYWx1ZTogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5LiK5Lyg5qC35byPJywgeyB0eXBlOiAnc3RyaW5nJywgdWk6IHsgd2lkZ2V0OiAnbXlVcGxvYWRBdWRpbycsIHZpc2libGVJZjogeyBtYXBUeXBlOiBbJ2N1c3RvbSddIH0gfSB9KVxyXG4gIHVwbG9hZFN0eWxlOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfliIfmjaLmjInpkq4nKVxyXG4gIHNob3dNYXBUeXBlUmFkaW86IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCflhajmma/lnLDlm74nLCB7IHR5cGU6ICdib29sZWFuJyB9KVxyXG4gIG1pbk1hcFNob3cgPSBmYWxzZTtcclxuICBAUHJvcGVydHkoJ+aYvuekuuS/oeaBrycsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ3NlbGVjdCcgfSxcclxuICAgIGVudW06IFtcclxuICAgICAgeyBsYWJlbDogJ+eCueWHuycsIHZhbHVlOiAnY2xpY2snIH0sXHJcbiAgICAgIHsgbGFiZWw6ICfmgqzlgZwnLCB2YWx1ZTogJ21vdXNlb3ZlcicgfSxcclxuICAgIF0sXHJcbiAgfSlcclxuICBzaG93VHlwZSA9ICdjbGljayc7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpfog4zmma8nLCB7IHVpOiB7IHdpZGdldDogJ215Q29sb3InIH0gfSlcclxuICBpbmZvV2luZG93QmFja2dyb3VuZDogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX5a2X5L2TJywgeyB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9IH0pXHJcbiAgaW5mb1dpbmRvd0NvbG9yOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpflrr3luqYnKVxyXG4gIGluZm9XaW5kb3dXaWR0aDogbnVtYmVyO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX6auY5bqmJylcclxuICBpbmZvV2luZG93SGVpZ2h0OiBudW1iZXI7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpfmqKHmnb8nLCB7IHVpOiB7IHdpZGdldDogJ3RleHRhcmVhJyB9IH0pXHJcbiAgaW5mb1dpbmRvd1RlbXBsYXRlOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfkv6Hmga/nqpfovrnmoYYnLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9LFxyXG4gICAgZXhhbXBsZTogWycjZmZmZmZmJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgbnVsbF0sXHJcbiAgfSlcclxuICBpbmZvV2luZG93Qm9yZGVyQ29sb3I6IHN0cmluZztcclxuICBAUHJvcGVydHkoJ+makOiXj+WwluinkicpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlSW5mb1dpbmRvd1RhaWwnKVxyXG4gIGhpZGVJbmZvV2luZG93VGFpbDogYm9vbGVhbjtcclxuICBAUHJvcGVydHkoJ+makOiXj+WFs+mXreaMiemSricpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlSW5mb1dpbmRvd1RvcCcpXHJcbiAgaGlkZUluZm9XaW5kb3dUb3A6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCflnLDlm77mi5bliqgnLCB7IHR5cGU6ICdib29sZWFuJyB9KVxyXG4gIGRyYWdnaW5nID0gdHJ1ZTtcclxuXHJcbiAgQFByb3BlcnR5KCfpga7nvanpopzoibInLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9LFxyXG4gICAgZXhhbXBsZTogWycjZmZmZmZmJywgJyNGNUE2MjMnLCAnI0Y4RTcxQycsICcjNTBFM0MyJywgJyMzMjg1RkYnLCAnI0I0NUZGRicsICcjOUI5QjlCJywgbnVsbF0sXHJcbiAgfSlcclxuICBzaGFkZUNvbG9yID0gJyMwMDQzOTUnO1xyXG4gIEBQcm9wZXJ0eSgn6IOM5pmv6aKc6ImyJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgbWFwQmFja0NvbG9yOiBzdHJpbmc7XHJcblxyXG4gIEBQcm9wZXJ0eSgn5aSa6L6557q/6ImyJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgbWFwQ2l0eUNvbG9yID0gJyM0MWI3ZmYnO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+57yp5pS+Jywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogMSwgbWF4OiA0MCwgc3RlcDogMSB9LFxyXG4gIH0pXHJcbiAgem9vbSA9IDEyO1xyXG4gIC8vIEBQcm9wZXJ0eSgn5pS+5aSn5q+U5L6LJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxyXG4gIC8vIHNjYWxlID0gMTtcclxuICBAUHJvcGVydHkoJ+mBrue9qemAj+aYjicsIHsgdHlwZTogJ251bWJlcicgfSlcclxuICBmaWxsT3BhY2l0eSA9IDA7XHJcbiAgQFByb3BlcnR5KCflpJrovrnnur/nspcnLCB7IHR5cGU6ICdudW1iZXInIH0pXHJcbiAgc3Ryb2tlc2l6ZSA9IDI7XHJcbiAgQFByb3BlcnR5KCfpu5HlpJzmqKHlvI8nLCB7IHR5cGU6ICdib29sZWFuJywgdWk6IHsgaGlkZGVuOiB0cnVlIH0gfSlcclxuICBuaWdodE1vZGUgPSBmYWxzZTtcclxuICBAUHJvcGVydHkoJzNE6KeG6KeSJylcclxuICBlbmFibGUzRDogYm9vbGVhbjtcclxuICBAUHJvcGVydHkoJ+WumuS9jeaOp+S7ticpXHJcbiAgc2hvd0xvY2F0aW9uQ29udHJvbDogYm9vbGVhbjtcclxuICBAUHJvcGVydHkoJ+WIneWni+inkuW6picsIHsgdHlwZTogJ251bWJlcicsIHVpOiB7IHZpc2libGVJZjogeyBlbmFibGUzRDogW3RydWVdIH0gfSB9KVxyXG4gIHRpbHQgPSA3MztcclxuICAvLyBAUHJvcGVydHkoJ+S4reW/g+e7j+W6picsIHtcclxuICAvLyAgIHVpOiB7d2lkZ2V0OiAnbXlSYW5nZScsIG1pbjogLTE4MCwgbWF4OiAxODAsIHN0ZXA6IDF9LFxyXG4gIC8vIH0pXHJcbiAgY2VudGVyTG5nID0gMTIwLjc7XHJcbiAgLy8gQFByb3BlcnR5KCfkuK3lv4PnuqzluqYnLCB7XHJcbiAgLy8gICB1aToge3dpZGdldDogJ215UmFuZ2UnLCBtaW46IC05MCwgbWF4OiA5MCwgc3RlcDogMX0sXHJcbiAgLy8gfSlcclxuICBjZW50ZXJMYXQgPSAyODtcclxuICBAUHJvcGVydHkoJ+aYvuekuuecgeW4gicsIHtcclxuICAgIHVpOiB7XHJcbiAgICAgIHdpZGdldDogJ215VXJsU2VsZWN0JyxcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgICAgdXJsOiAnL2Fzc2V0cy9tYXBMaXN0SXRlbS5qc29uJyxcclxuICAgIH0sXHJcbiAgfSlcclxuICBjaXR5TmFtZSA9IG51bGw7XHJcbiAgcG9pbnQ6IGFueTtcclxuXHJcbiAgLy8gX2RhdGEgPSBbXHJcbiAgLy8gICB7XHJcbiAgLy8gICAgIG9wdGlvbnM6IHtcclxuICAvLyAgICAgICBpY29uOiB7XHJcbiAgLy8gICAgICAgICBpbWFnZVVybDogJ2Fzc2V0cy9pbWcvc2NyZWVuL251bWJlci1mbG9wLnBuZycsXHJcbiAgLy8gICAgICAgICBzaXplOiB7XHJcbiAgLy8gICAgICAgICAgIGhlaWdodDogMjYwLFxyXG4gIC8vICAgICAgICAgICB3aWR0aDogMjUwXHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9LFxyXG4gIC8vICAgICBwb2ludDoge1xyXG4gIC8vICAgICAgIGxuZzogMTIwLjcsICAgLy8g57uP5bqmXHJcbiAgLy8gICAgICAgbGF0OiAyOCwgICAgLy8g57qs5bqmXHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH0sXHJcbiAgLy8gXTtcclxuICAvLyDmloflrZfmoIfms6hcclxuXHJcbiAgcHVibGljIHRleHQ6IHN0cmluZztcclxuICAvLyBfY2hpbGRyZW4gPSBbXTtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAgbWFwOiBhbnk7XHJcbiAgZWRpdDogYm9vbGVhbjtcclxuICAvLyBtYXJrZXJUaWVyQ2xpY2s6IGFueTtcclxuICAvLyBwaW5neWFuZyA9ICcnO1xyXG4gIC8vIHJ1aWFuID0gJyc7XHJcbiAgQERhdGEoe1xyXG4gICAgcHJvcGVydGllczoge1xyXG4gICAgICBsbmc6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57uP5bqmJyB9LFxyXG4gICAgICBsYXQ6IHsgdHlwZTogJ251bWJlcicsIHRpdGxlOiAn57qs5bqmJyB9LFxyXG4gICAgfSxcclxuICB9KVxyXG4gIF9kYXRhOiBhbnlbXSA9IFt7IGxuZzogMTIwLjcsIGxhdDogMjggfV07XHJcbiAgQERhdGFPdXRwdXQoWydsbmcnLCAnbGF0J10pXHJcbiAgQEV2ZW50KCfkuK3lv4PngrnmlLnlj5gnLCB7XHJcbiAgICBwYXJhbXM6IHsgcHJvcGVydGllczogeyBsbmc6IHsgdGl0bGU6ICfnu4/luqYnLCB0eXBlOiAnbnVtYmVyJyB9LCBsYXQ6IHsgdGl0bGU6ICfnuqzluqYnLCB0eXBlOiAnbnVtYmVyJyB9IH0gfSxcclxuICB9KVxyXG4gIGRhdGFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQERhdGFPdXRwdXQoJ+e8qeaUvuetiee6pycpXHJcbiAgQEV2ZW50KCfnvKnmlL4nLCB7XHJcbiAgICBwYXJhbXM6ICfnvKnmlL7nrYnnuqcnLFxyXG4gIH0pXHJcbiAgem9vbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBFdmVudCgn5Zyw5Zu+54K55Ye7Jywge1xyXG4gICAgcGFyYW1zOiB7IHByb3BlcnRpZXM6IHsgbG5nOiB7IHRpdGxlOiAn57uP5bqmJywgdHlwZTogJ251bWJlcicgfSwgbGF0OiB7IHRpdGxlOiAn57qs5bqmJywgdHlwZTogJ251bWJlcicgfSB9IH0sXHJcbiAgfSlcclxuICBtYXBDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuICBjaGlsZHJlbjogYW55W107XHJcbiAgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIGRlc3Ryb3llZDogYm9vbGVhbjtcclxuICAvLyBjb250YWluZXJTdHlsZTogYW55ID0ge307XHJcbiAgLy8gdW5sb2FkZWRDaGlsZHJlbiA9IHt9O1xyXG4gIG92ZXJsYXlzTWFwID0ge307XHJcblxyXG4gIC8vIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZUluZm9XaW5kb3dUYWlsJylcclxuICAvLyBoaWRlSW5mb1dpbmRvd1RhaWw6IGJvb2xlYW47XHJcblxyXG4gIHByaXZhdGUgaW5pdGVkOiAobWFwOiBhbnkpID0+IHZvaWQ7XHJcbiAgaW5pdCQgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xyXG4gICAgdGhpcy5pbml0ZWQgPSByZXNvbHZlO1xyXG4gIH0pO1xyXG4gIHZpZXc6IGFueTtcclxuICBwaWNrZXJFdmVudDogYW55O1xyXG4gIHBpY2tlckl0ZW06IGFueTtcclxuICBwaWNrZXJUaW1lb3V0OiBhbnk7XHJcbiAgbWFwVHlwZUVudW0gPSBNYXBUeXBlRW51bS5zbGljZSgwLCAzKTtcclxuICBkYXJrU3R5bGU6IGFueTtcclxuICBmaXJzdE9wZW46IGJvb2xlYW47XHJcbiAgZmlyc3RPcGVuUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYmFpZHVNYXBTZXJ2aWNlOiBCYWlkdU1hcFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcclxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgc2NhbGUkOiBTY2FsZVN1YmplY3QsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgd2lkZ2V0UmVmOiBXaWRnZXRSZWYsXHJcbiAgKSB7fVxyXG5cclxuICBnZXQgZWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XHJcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBhZGRMYXllcihsYXllcjogYW55KSB7XHJcbiAgICBpZiAodGhpcy52aWV3KSB7XHJcbiAgICAgIHRoaXMudmlldy5hZGRMYXllcihsYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVMYXllcihsYXllcjogYW55KSB7XHJcbiAgICBpZiAodGhpcy52aWV3KSB7XHJcbiAgICAgIHRoaXMudmlldy5yZW1vdmVMYXllcihsYXllcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5fZGF0YSAmJiB0aGlzLl9kYXRhWzBdKSB7XHJcbiAgICAgIHRoaXMuY2VudGVyTG5nID0gK3RoaXMuX2RhdGFbMF0ubG5nO1xyXG4gICAgICB0aGlzLmNlbnRlckxhdCA9ICt0aGlzLl9kYXRhWzBdLmxhdDtcclxuICAgICAgdGhpcy5zZXRDZW50ZXIodGhpcy5jZW50ZXJMbmcsIHRoaXMuY2VudGVyTGF0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMuc2NhbGUkKSB7XHJcbiAgICAgIC8vIOi/meaYr+S4uuS6huino+WGs+WcsOWbvue8qeaUvuS4reW/g+S4jeWcqOm8oOagh+aJgOWcqOS9jee9rueahOmXrumimFxyXG4gICAgICB0aGlzLnNjYWxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzY2FsZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgeDogc3gsIHk6IHN5LCBzY2FsZUNvbnRlbnQgfSA9IHNjYWxlIGFzIGFueTtcclxuICAgICAgICBjb25zdCBzdHlsZSA9IHRoaXMuZWxlbWVudC5zdHlsZTtcclxuICAgICAgICBpZiAoc2NhbGVDb250ZW50ID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgdGhpcy56b25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcclxuICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9IC90cmFuc2xhdGVcXCgoWy1cXGQuXSspcHgsIChbLVxcZC5dKylweFxcKS8uZXhlYyhwYXJlbnQuc3R5bGUudHJhbnNmb3JtKTtcclxuICAgICAgICAgICAgICBpZiAobWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFggPSBwYXJzZUZsb2F0KG1hdGNoWzFdKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG9mZnNldFkgPSBwYXJzZUZsb2F0KG1hdGNoWzJdKTtcclxuICAgICAgICAgICAgICAgIHN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHstb2Zmc2V0WH1weCwkey1vZmZzZXRZfXB4KWA7XHJcbiAgICAgICAgICAgICAgICBzdHlsZS5oZWlnaHQgPSBwYXJlbnQuY2xpZW50SGVpZ2h0ICsgb2Zmc2V0WSArICdweCc7XHJcbiAgICAgICAgICAgICAgICBzdHlsZS53aWR0aCA9IHBhcmVudC5jbGllbnRXaWR0aCArIG9mZnNldFggKyAncHgnO1xyXG4gICAgICAgICAgICAgICAgc3R5bGUucGFkZGluZyA9IGAke29mZnNldFl9cHggMCAwICR7b2Zmc2V0WH1weGA7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmNvbnRhaW5lclN0eWxlID0ge1xyXG4gICAgICAgICAgICAgICAgLy8gICB0cmFuc2Zvcm1PcmlnaW46IGAwIDBgLFxyXG4gICAgICAgICAgICAgICAgLy8gICB0cmFuc2Zvcm06IGB0cmFuc2xhdGUoJHstb2Zmc2V0WH1weCwkey1vZmZzZXRZfXB4KWAsXHJcbiAgICAgICAgICAgICAgICAvLyAgIGhlaWdodDogcGFyZW50LmNsaWVudEhlaWdodCArIG9mZnNldFkgKyAncHgnLFxyXG4gICAgICAgICAgICAgICAgLy8gICB3aWR0aDogcGFyZW50LmNsaWVudFdpZHRoICsgb2Zmc2V0WCArICdweCcsXHJcbiAgICAgICAgICAgICAgICAvLyAgIHBhZGRpbmc6IGAke29mZnNldFl9cHggMCAwICR7b2Zmc2V0WH1weGAsXHJcbiAgICAgICAgICAgICAgICAvLyB9O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCB7IHBvc2l0aW9uLCBzaXplIH0gPSB0aGlzLndpZGdldFJlZi53aWRnZXQgYXMgYW55O1xyXG4gICAgICAgICAgY29uc3QgeyB4LCB5IH0gPSBwb3NpdGlvbjtcclxuICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gc2l6ZTtcclxuICAgICAgICAgIHN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGUoJHsteH1weCwkey15fXB4KSBzY2FsZSgkezEgLyBzeH0sJHsxIC8gc3l9KWA7XHJcbiAgICAgICAgICBzdHlsZS5oZWlnaHQgPSAoeSArIGhlaWdodCkgKiBzeSArICdweCc7XHJcbiAgICAgICAgICBzdHlsZS53aWR0aCA9ICh4ICsgd2lkdGgpICogc3ggKyAncHgnO1xyXG4gICAgICAgICAgc3R5bGUucGFkZGluZyA9IGAke3kgKiBzeX1weCAwIDAgJHt4ICogc3h9cHhgO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmluaXRNYXAoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRNYXAoKSB7XHJcbiAgICBhd2FpdCB0aGlzLmJhaWR1TWFwU2VydmljZS5sb2FkTWFwR0woKTtcclxuICAgIGF3YWl0IHRoaXMuYmFpZHVNYXBTZXJ2aWNlLmxvYWRNYXBWR0woKTtcclxuICAgIHRoaXMubWFwVHlwZVZhbHVlID0gdGhpcy5tYXBUeXBlO1xyXG4gICAgLy8g5YW85a656ICB55qE6YWN572uXHJcbiAgICBpZiAodGhpcy5tYXBUeXBlID09IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMudXBsb2FkU3R5bGUpIHtcclxuICAgICAgICB0aGlzLm1hcFR5cGVWYWx1ZSA9ICdjdXN0b20nO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubmlnaHRNb2RlKSB7XHJcbiAgICAgICAgdGhpcy5tYXBUeXBlVmFsdWUgPSAnZGFyayc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcclxuICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICB0aGlzLm1hcCA9IG5ldyBCTWFwR0wuTWFwKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHsgcmVzdHJpY3RDZW50ZXI6IGZhbHNlIH0pO1xyXG4gICAgICAgIHRoaXMubWFwLmNlbnRlckFuZFpvb20obmV3IEJNYXBHTC5Qb2ludCh0aGlzLmNlbnRlckxuZywgdGhpcy5jZW50ZXJMYXQpLCB0aGlzLnpvb20pOyAvLyDorr7nva7kuK3lv4PngrnlkoznvKnmlL7nuqfliKtcclxuICAgICAgICB0aGlzLm1hcC5lbmFibGVTY3JvbGxXaGVlbFpvb20oKTsgLy8g5ZCv55So5rua6L2u6L+b6KGM57yp5pS+5Yqf6IO9XHJcbiAgICAgICAgLy8gdmFyIGRpc3QgPSBuZXcgQk1hcEdMLkRpc3RyaWN0TGF5ZXIoe1xyXG4gICAgICAgIC8vICAgbmFtZTogJyjmuKnlt57luIIpJyxcclxuICAgICAgICAvLyAgIGtpbmQ6IDEsXHJcbiAgICAgICAgLy8gICAgZmlsbENvbG9yOiAnI2ZmZicsXHJcbiAgICAgICAgLy8gICBmaWxsT3BhY2l0eTogMC4xLFxyXG4gICAgICAgIC8vICAgc3Ryb2tlQ29sb3I6ICcjZGFlYWZhJyxcclxuICAgICAgICAvLyAgIHZpZXdwb3J0OiB0cnVlLFxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIHRoaXMubWFwLmFkZERpc3RyaWN0TGF5ZXIoZGlzdCk7XHJcbiAgICAgICAgdGhpcy5tYXBUeXBlQ2hhbmdlKHRoaXMubWFwVHlwZVZhbHVlKTtcclxuICAgICAgICBpZiAodGhpcy5lZGl0IHx8IHRoaXMuZHJhZ2dpbmcgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5kaXNhYmxlRHJhZ2dpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlM0QpIHtcclxuICAgICAgICAgIHRoaXMubWFwLnNldFRpbHQodGhpcy50aWx0ID09IG51bGwgPyA3MyA6IHRoaXMudGlsdCwgeyBub0FuaW1hdGlvbjogdHJ1ZSB9KTtcclxuICAgICAgICAgIHRoaXMubWFwLnNldERpc3BsYXlPcHRpb25zKHsgc2t5Q29sb3JzOiBbJ3JnYmEoMCwgMCwgMCwgMCknXSB9KTsgLy8g6ZqQ6JeP5aSp56m6XHJcbiAgICAgICAgICAvLyBjb25zdCBuYXZpM0RDdHJsID0gbmV3IEJNYXBHTC5OYXZpZ2F0aW9uQ29udHJvbDNEKCk7IC8vIOa3u+WKoDNE5o6n5Lu2XHJcbiAgICAgICAgICAvLyB0aGlzLm1hcC5hZGRDb250cm9sKG5hdmkzREN0cmwpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5kaXNhYmxlVGlsdCgpO1xyXG4gICAgICAgICAgdGhpcy5tYXAuZGlzYWJsZVJvdGF0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93TG9jYXRpb25Db250cm9sKSB7XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgICAvLyDmjqfku7bnmoTlgZzpnaDkvY3nva7vvIjlj6/pgInvvIzpu5jorqTlt6bkuIrop5LvvIlcclxuICAgICAgICAgICAgYW5jaG9yOiBCTUFQX0FOQ0hPUl9UT1BfTEVGVCxcclxuICAgICAgICAgICAgLy8g5o6n5Lu25Z+65LqO5YGc6Z2g5L2N572u55qE5YGP56e76YeP77yI5Y+v6YCJ77yJXHJcbiAgICAgICAgICAgIG9mZnNldDogbmV3IEJNYXBHTC5TaXplKDIwLCAyMCksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgbGV0IGxvY2F0aW9uQ29udHJvbCA9IG5ldyBCTWFwR0wuTG9jYXRpb25Db250cm9sKG9wdGlvbnMpO1xyXG4gICAgICAgICAgLy8g5bCG5o6n5Lu25re75Yqg5Yiw5Zyw5Zu+5LiKXHJcbiAgICAgICAgICB0aGlzLm1hcC5hZGRDb250cm9sKGxvY2F0aW9uQ29udHJvbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1pbk1hcFNob3cpIHtcclxuICAgICAgICAgIGNvbnN0IHN0Q3RybCA9IG5ldyBCTWFwR0wuUGFub3JhbWFDb250cm9sKCk7XHJcbiAgICAgICAgICBzdEN0cmwuc2V0T2Zmc2V0KG5ldyBCTWFwR0wuU2l6ZSgyMCwgMjApKTtcclxuICAgICAgICAgIHRoaXMubWFwLmFkZENvbnRyb2woc3RDdHJsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaW5mb1dpbmRvd0JhY2tncm91bmQpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1pbmZvLXdpbmRvdy1iYWNrZ3JvdW5kJywgdGhpcy5pbmZvV2luZG93QmFja2dyb3VuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmluZm9XaW5kb3dDb2xvcikge1xyXG4gICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWluZm8td2luZG93LWNvbG9yJywgdGhpcy5pbmZvV2luZG93Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pbmZvV2luZG93Qm9yZGVyQ29sb3IpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1pbmZvLXdpbmRvdy1ib3JkZXItY29sb3InLCB0aGlzLmluZm9XaW5kb3dCb3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdmVlbmQnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNlbnRlciA9IHRoaXMubWFwLmdldENlbnRlcigpO1xyXG4gICAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLmVtaXQoY2VudGVyKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1hcC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgICAgICAgdGhpcy5tYXBDbGljay5lbWl0KGV2ZW50LmxhdGxuZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5tYXAuYWRkRXZlbnRMaXN0ZW5lcignem9vbWVuZCcsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy56b29tQ2hhbmdlLmVtaXQodGhpcy5tYXAuZ2V0Wm9vbSgpKTtcclxuICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZS5lbWl0KHRoaXMubWFwLmdldENlbnRlcigpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZpZXcgPSBuZXcgbWFwdmdsLlZpZXcoe1xyXG4gICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1hcExvYWRlZCh0aGlzLm1hcCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmluaXRlZCh0aGlzLm1hcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDZW50ZXIobG5nOiBudW1iZXIsIGxhdDogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5tYXAgJiYgbG5nICYmIGxhdCkge1xyXG4gICAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgICAgaWYgKGNlbnRlci5sbmcgIT0gbG5nIHx8IGNlbnRlci5sYXQgIT0gbGF0KSB7XHJcbiAgICAgICAgdGhpcy5zZXRDZW50ZXJBbmRab29tKGxuZywgbGF0LCB0aGlzLm1hcC5nZXRab29tKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDZW50ZXJBbmRab29tKGxuZzogbnVtYmVyLCBsYXQ6IG51bWJlciwgem9vbTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRab29tID0gdGhpcy5tYXAuZ2V0Wm9vbSgpO1xyXG4gICAgLy8g6K+v5beu6IyD5Zu05YaF5LiN56e75YqoLOmYsuatouiDjOaZr+aKluWKqFxyXG4gICAgaWYgKHpvb20gIT0gY3VycmVudFpvb20gfHwgTWF0aC5hYnMobG5nIC0gY2VudGVyLmxuZykgPiAxZS0xMyB8fCBNYXRoLmFicyhsYXQgLSBjZW50ZXIubGF0KSA+IDFlLTcpIHtcclxuICAgICAgY29uc3QgcG9pbnQgPSBuZXcgQk1hcEdMLlBvaW50KGxuZywgbGF0KTtcclxuICAgICAgdGhpcy5tYXAuY2VudGVyQW5kWm9vbShwb2ludCwgem9vbSwgeyB0aWx0OiB0aGlzLm1hcC5nZXRUaWx0KCkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoLnmja7nu4/nuqzluqbojIPlm7Torr7nva7kuK3lv4PlkoznvKnmlL7nrYnnuqdcclxuICAgKiBAcGFyYW0gbWluTG5nXHJcbiAgICogQHBhcmFtIG1heExuZ1xyXG4gICAqIEBwYXJhbSBtaW5MYXRcclxuICAgKiBAcGFyYW0gbWF4TGF0XHJcbiAgICovXHJcbiAgc2V0UmVjdENlbnRlckFuZFpvb20obWluTG5nOiBudW1iZXIsIG1heExuZzogbnVtYmVyLCBtaW5MYXQ6IG51bWJlciwgbWF4TGF0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2V0Q2VudGVyQW5kWm9vbSgobWF4TG5nICsgbWluTG5nKSAvIDIsIChtYXhMYXQgKyBtaW5MYXQpIC8gMiwgdGhpcy5nZXRab29tKG1heExuZywgbWluTG5nLCBtYXhMYXQsIG1pbkxhdCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Wm9vbShtYXhMbmc6IG51bWJlciwgbWluTG5nOiBudW1iZXIsIG1heExhdDogbnVtYmVyLCBtaW5MYXQ6IG51bWJlcikge1xyXG4gICAgY29uc3Qgem9vbXMgPSBbXHJcbiAgICAgIDUwLCAxMDAsIDIwMCwgNTAwLCAxMDAwLCAyMDAwLCA1MDAwLCAxMDAwMCwgMjAwMDAsIDI1MDAwLCA1MDAwMCwgMTAwMDAwLCAyMDAwMDAsIDUwMDAwMCwgMTAwMDAwMCwgMjAwMDAwMCxcclxuICAgIF07IC8v57qn5YirMTjliLAz44CCXHJcbiAgICBjb25zdCBwb2ludEEgPSBuZXcgQk1hcEdMLlBvaW50KG1heExuZywgbWF4TGF0KTsgLy8g5Yib5bu654K55Z2Q5qCHQVxyXG4gICAgY29uc3QgcG9pbnRCID0gbmV3IEJNYXBHTC5Qb2ludChtaW5MbmcsIG1pbkxhdCk7IC8vIOWIm+W7uueCueWdkOagh0JcclxuICAgIGNvbnN0IGRpc3RhbmNlID0gK3RoaXMubWFwLmdldERpc3RhbmNlKHBvaW50QSwgcG9pbnRCKS50b0ZpeGVkKDEpOyAvL+iOt+WPluS4pOeCuei3neemuyzkv53nlZnlsI/mlbDngrnlkI7kuKTkvY1cclxuICAgIGNvbnN0IGkgPSB6b29tcy5maW5kSW5kZXgoKHpvb20pID0+IHpvb20gLSBkaXN0YW5jZSA+IDApO1xyXG4gICAgaWYgKGkgPT09IC0xKSB7XHJcbiAgICAgIHJldHVybiA1O1xyXG4gICAgfVxyXG4gICAgLy/kuYvmiYDku6XkvJrlpJoz77yM5piv5Zug5Li65Zyw5Zu+6IyD5Zu05bi45bi45piv5q+U5L6L5bC66Led56a755qEMTDlgI3ku6XkuIrjgILmiYDku6XnuqfliKvkvJrlop7liqAz44CCXHJcbiAgICByZXR1cm4gMTggLSBpICsgMztcclxuICB9XHJcblxyXG4gIG9wZW5JbmZvV2luZG93KGRhdGE6IGFueSwgbG5nOiBudW1iZXIsIGxhdDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZGF0YS5pbmZvcm1hdGlvbiB8fCB0aGlzLmluZm9XaW5kb3dUZW1wbGF0ZSkge1xyXG4gICAgICBjb25zdCBwb2ludCA9IG5ldyBCTWFwR0wuUG9pbnQoK2xuZywgK2xhdCk7XHJcbiAgICAgIC8vIGxldCBvZmZzZXRZID0gLTI1O1xyXG4gICAgICAvLyBpZiAodGhpcy5oaWRlSW5mb1dpbmRvd1RhaWwpIHtcclxuICAgICAgLy8gICBvZmZzZXRZID0gMDtcclxuICAgICAgLy8gfVxyXG4gICAgICBsZXQgaW5mb3JtYXRpb24gPSBkYXRhLmluZm9ybWF0aW9uO1xyXG4gICAgICBpZiAodGhpcy5pbmZvV2luZG93VGVtcGxhdGUpIHtcclxuICAgICAgICBpbmZvcm1hdGlvbiA9IFRlbXBsYXRlVXRpbC5wYXJzZSh0aGlzLmluZm9XaW5kb3dUZW1wbGF0ZSwgZGF0YSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgICBvZmZzZXQ6IG5ldyBCTWFwR0wuU2l6ZSgwLCAwKSxcclxuICAgICAgICB3aWR0aDogdGhpcy5pbmZvV2luZG93V2lkdGggfHwgMCxcclxuICAgICAgICBoZWlnaHQ6IHRoaXMuaW5mb1dpbmRvd0hlaWdodCB8fCAwLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBpbmZvV2luZG93ID0gbmV3IEJNYXBHTC5JbmZvV2luZG93KGluZm9ybWF0aW9uLCBvcHRpb25zKTtcclxuICAgICAgLy8g56ys5LiA5qyh5omT5byA5L+h5oGv56qX5Y+j5ZCO5Zyo55+t5pe26Ze05YWz6Zet5oiW6YeN5paw5omT5byA5Lya5a+86Ie0Y2xpY2vkuovku7blpLHmlYjvvIzkuLTml7bop6PlhrPmlrnmoYjmmK/nrKzkuIDmrKHmiZPlvIDlkI4wLjXnp5LlhoXkuI3lhbPpl61cclxuICAgICAgaWYgKCF0aGlzLmZpcnN0T3Blbikge1xyXG4gICAgICAgIGlmICh0aGlzLmZpcnN0T3BlblByb21pc2UpIHtcclxuICAgICAgICAgIHRoaXMuZmlyc3RPcGVuUHJvbWlzZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZmlyc3RPcGVuUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZmlyc3RPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmZpcnN0T3BlblByb21pc2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByYXdDbG9zZSA9IGluZm9XaW5kb3cuY2xvc2U7XHJcbiAgICAgICAgaW5mb1dpbmRvdy5jbG9zZSA9ICgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmZpcnN0T3BlblByb21pc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5maXJzdE9wZW5Qcm9taXNlLnRoZW4oKCkgPT4gcmF3Q2xvc2UuY2FsbChpbmZvV2luZG93KSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByYXdDbG9zZS5jYWxsKGluZm9XaW5kb3cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBpbmZvV2luZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FudmFzT3ZlcmxheShjaGlsZDogYW55KSB7XHJcbiAgICBsZXQgY2FudmFzT3ZlcmxheTtcclxuICAgIGlmICh0aGlzLmVuYWJsZTNEKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBjaGlsZC5pdGVtO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIHZhciBwU3RhcnQgPSBuZXcgQk1hcEdMLlBvaW50KGl0ZW0uc3RhcnQubG5nLCBpdGVtLnN0YXJ0LmxhdCk7XHJcbiAgICAgICAgdmFyIHBFbmQgPSBuZXcgQk1hcEdMLlBvaW50KGl0ZW0uZW5kLmxuZywgaXRlbS5lbmQubGF0KTtcclxuICAgICAgICB2YXIgYm91bmRzID0gbmV3IEJNYXBHTC5Cb3VuZHMobmV3IEJNYXBHTC5Qb2ludChwU3RhcnQubG5nLCBwRW5kLmxhdCksIG5ldyBCTWFwR0wuUG9pbnQocEVuZC5sbmcsIHBTdGFydC5sYXQpKTtcclxuICAgICAgICBjYW52YXNPdmVybGF5ID0gbmV3IEJNYXBHTC5Hcm91bmRPdmVybGF5KGJvdW5kcywge1xyXG4gICAgICAgICAgdHlwZTogJ2NhbnZhcycsXHJcbiAgICAgICAgICB1cmw6IGl0ZW0uY2FudmFzLFxyXG4gICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcG9pbnRUb1BpeGVsID0gKGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBCTWFwR0wuUG9pbnQoZGF0YS5sbmcsIGRhdGEubGF0KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXAucG9pbnRUb1BpeGVsKHBvaW50KTtcclxuICAgICAgfTtcclxuICAgICAgY2FudmFzT3ZlcmxheSA9IG5ldyBCTWFwR0wuQ2FudmFzTGF5ZXIoe1xyXG4gICAgICAgIHBhbmVOYW1lOiAnbWFya2VyU2hhZG93JyxcclxuICAgICAgICB1cGRhdGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHZhciBjdHggPSB0aGlzLmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgICAgaWYgKCFjdHgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjdHguY2FudmFzLndpZHRoLCBjdHguY2FudmFzLmhlaWdodCk7XHJcbiAgICAgICAgICBjaGlsZC51cGRhdGUoY3R4LCBwb2ludFRvUGl4ZWwpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhbnZhc092ZXJsYXk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMudmlldy5kZXN0cm95KCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tYXApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLm1hcC5kZXN0cm95KCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBtYXBMb2FkZWQobWFwOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNpdHlOYW1lKSB7XHJcbiAgICAgIGlmICh0aGlzLmNpdHlOYW1lID09PSAn5rip5beeJykge1xyXG4gICAgICAgIHRoaXMuY2l0eU5hbWUgPSAnd2VuemhvdSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QganNvbjogYW55ID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vJyArIHRoaXMuY2l0eU5hbWUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAgICAgY29uc3QgcG9seWdvbkRhdGEgPSBbXTtcclxuICAgICAgbGV0IGVuY29kZVNjYWxlID0ganNvbi5VVEY4U2NhbGUgfHwgMTAyNDtcclxuICAgICAganNvbi5mZWF0dXJlcy5mb3JFYWNoKCh7IGdlb21ldHJ5IH0pID0+IHtcclxuICAgICAgICBnZW9tZXRyeS5jb29yZGluYXRlcyA9IChnZW9tZXRyeS5jb29yZGluYXRlcyBhcyBhbnlbXSkuZm9yRWFjaCgoY29vcmRpbmF0ZSwgaSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdNdWx0aVBvbHlnb24nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gKGNvb3JkaW5hdGUgYXMgYW55W10pLm1hcCgocG9pbnRzLCBqKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGpzb24uVVRGOEVuY29kaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwb2ludHMgPSB0aGlzLmRlY29kZVBvbHlnb24ocG9pbnRzLCBnZW9tZXRyeS5lbmNvZGVPZmZzZXRzW2ldW2pdLCBlbmNvZGVTY2FsZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiBwb2ludHM7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBwb2x5Z29uRGF0YS5wdXNoKGNvb3JkaW5hdGVzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChqc29uLlVURjhFbmNvZGluZykge1xyXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGUgPSB0aGlzLmRlY29kZVBvbHlnb24oY29vcmRpbmF0ZSwgZ2VvbWV0cnkuZW5jb2RlT2Zmc2V0c1tpXSwgZW5jb2RlU2NhbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBvbHlnb25EYXRhLnB1c2goW2Nvb3JkaW5hdGVdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZ2VvbWV0cnk6IHtcclxuICAgICAgICAgICAgdHlwZTogJ011bHRpUG9seWdvbicsXHJcbiAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBwb2x5Z29uRGF0YSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgdmFyIGxheWVyID0gbmV3IG1hcHZnbC5Qb2x5Z29uTGF5ZXIoe1xyXG4gICAgICAgIGxpbmVDb2xvcjogdGhpcy5tYXBDaXR5Q29sb3IsXHJcbiAgICAgICAgbGluZVdpZHRoOiB0aGlzLnN0cm9rZXNpemUgfHwgMixcclxuICAgICAgICBmaWxsQ29sb3I6IHRoaXMuc2hhZGVDb2xvcixcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIHJlbmRlck9yZGVyOiAtMixcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudmlldy5hZGRMYXllcihsYXllcik7XHJcbiAgICAgIGlmICh0aGlzLm1hcEJhY2tDb2xvciAmJiAhdGhpcy5tYXBCYWNrQ29sb3IubWF0Y2goL3JnYmFcXChcXGQrLFxcZCssXFxkKywwXFwpLykpIHtcclxuICAgICAgICB2YXIgbWFza0xheWVyID0gbmV3IG1hcHZnbC5NYXNrTGF5ZXIoe1xyXG4gICAgICAgICAgY29sb3I6IHRoaXMubWFwQmFja0NvbG9yLFxyXG4gICAgICAgICAgZGF0YSxcclxuICAgICAgICAgIHJlbmRlck9yZGVyOiAtMyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZpZXcuYWRkTGF5ZXIobWFza0xheWVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVjb2RlUG9seWdvbihjb29yZGluYXRlOiBzdHJpbmcsIGVuY29kZU9mZnNldHM6IG51bWJlcltdLCBlbmNvZGVTY2FsZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcclxuICAgIGxldCBwcmV2WCA9IGVuY29kZU9mZnNldHNbMF07XHJcbiAgICBsZXQgcHJldlkgPSBlbmNvZGVPZmZzZXRzWzFdO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29vcmRpbmF0ZS5sZW5ndGg7IGkgKz0gMikge1xyXG4gICAgICB2YXIgeCA9IGNvb3JkaW5hdGUuY2hhckNvZGVBdChpKSAtIDY0O1xyXG4gICAgICB2YXIgeSA9IGNvb3JkaW5hdGUuY2hhckNvZGVBdChpICsgMSkgLSA2NDtcclxuICAgICAgLy8gWmlnWmFnIGRlY29kaW5nXHJcbiAgICAgIHggPSAoeCA+PiAxKSBeIC0oeCAmIDEpO1xyXG4gICAgICB5ID0gKHkgPj4gMSkgXiAtKHkgJiAxKTtcclxuICAgICAgLy8gRGVsdGEgZGVvY2RpbmdcclxuICAgICAgeCArPSBwcmV2WDtcclxuICAgICAgeSArPSBwcmV2WTtcclxuXHJcbiAgICAgIHByZXZYID0geDtcclxuICAgICAgcHJldlkgPSB5O1xyXG4gICAgICAvLyBEZXF1YW50aXplXHJcbiAgICAgIHJlc3VsdC5wdXNoKFt4IC8gZW5jb2RlU2NhbGUsIHkgLyBlbmNvZGVTY2FsZV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBhc3luYyBtYXBUeXBlQ2hhbmdlKG1hcFR5cGU6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChtYXBUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2RhcmsnOlxyXG4gICAgICAgIGlmICghdGhpcy5kYXJrU3R5bGUpIHtcclxuICAgICAgICAgIHRoaXMuZGFya1N0eWxlID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vY3VzdG9tX21hcC5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFwLnNldE1hcFR5cGUoQk1BUF9OT1JNQUxfTUFQKTtcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBTdHlsZVYyKHsgc3R5bGVKc29uOiB0aGlzLmRhcmtTdHlsZSB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc2F0ZWxsaXRlJzpcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfU0FURUxMSVRFX01BUCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XHJcbiAgICAgICAgaWYgKHRoaXMudXBsb2FkU3R5bGUpIHtcclxuICAgICAgICAgIGNvbnN0IHN0eWxlSnNvbiA9IGF3YWl0IHRoaXMuaHR0cC5nZXQodGhpcy51cGxvYWRTdHlsZSkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfTk9STUFMX01BUCk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXRNYXBTdHlsZVYyKHsgc3R5bGVKc29uIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfTk9STUFMX01BUCk7XHJcbiAgICAgICAgdGhpcy5tYXAuc2V0TWFwU3R5bGVWMih7IHN0eWxlSnNvbjogbnVsbCB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
645
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJhaWR1LW1hcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvY3VzdG9tLWJhaWR1LW1hcC9jdXN0b20tYmFpZHUtbWFwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBRVosV0FBVyxFQUdYLE1BQU0sRUFJTixRQUFRLEVBRVIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBV3ZFLE1BQU0sV0FBVyxHQUFHO0lBQ2xCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0lBQ2hDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQzlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO0lBQ25DLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0NBQ2xDLENBQUM7SUE0QlcsdUJBQXVCLFNBQXZCLHVCQUF1QjtJQW1MbEMsWUFDVSxlQUFnQyxFQUNoQyxJQUFnQixFQUNoQixVQUFzQixF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O0dBMUxuQix1QkFBdUIsQ0EwaUJuQztTQTFpQlksdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5qZWN0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNjYWxlU3ViamVjdCwgVGVtcGxhdGVVdGlsLCBXaWRnZXRSZWYgfSBmcm9tICdiYmotd2lkZ2V0LWJhc2UnO1xyXG5pbXBvcnQgeyBEYXRhLCBEYXRhT3V0cHV0LCBQcm9wZXJ0eSwgV2lkZ2V0LCBFdmVudCB9IGZyb20gJ2Jiai13aWRnZXQtYmFzZSc7XHJcbmltcG9ydCB7IEJhaWR1TWFwU2VydmljZSwgc2NhbGVBZGFwdGVyIH0gZnJvbSAnYmJqLXNjcmVlbi13aWRnZXQvY29yZSc7XHJcblxyXG4vLyBkZWNsYXJlIGNvbnN0IEJNYXA7XHJcbmRlY2xhcmUgY29uc3QgQk1hcEdMOiBhbnk7XHJcbi8vIGRlY2xhcmUgY29uc3QgQk1hcEdMTGliO1xyXG4vLyBkZWNsYXJlIGNvbnN0IEJNYXBMaWI7XHJcbi8vIGRlY2xhcmUgY29uc3QgQk1BUF9BTkNIT1JfQk9UVE9NX0xFRlQ6IG51bWJlcjtcclxuZGVjbGFyZSBjb25zdCBCTUFQX0FOQ0hPUl9UT1BfTEVGVDogbnVtYmVyO1xyXG5kZWNsYXJlIGNvbnN0IG1hcHZnbDogYW55O1xyXG5kZWNsYXJlIGNvbnN0IEJNQVBfU0FURUxMSVRFX01BUDogbnVtYmVyO1xyXG5kZWNsYXJlIGNvbnN0IEJNQVBfTk9STUFMX01BUDogbnVtYmVyO1xyXG5jb25zdCBNYXBUeXBlRW51bSA9IFtcclxuICB7IGxhYmVsOiAn5pmu6YCaJywgdmFsdWU6ICdub3JtYWwnIH0sXHJcbiAgeyBsYWJlbDogJ+a3seiJsicsIHZhbHVlOiAnZGFyaycgfSxcclxuICB7IGxhYmVsOiAn5Y2r5pifJywgdmFsdWU6ICdzYXRlbGxpdGUnIH0sXHJcbiAgeyBsYWJlbDogJ+iHquWumuS5iScsIHZhbHVlOiAnY3VzdG9tJyB9LFxyXG5dO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NjLWN1c3RvbS1iYWlkdS1tYXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tYmFpZHUtbWFwLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tYmFpZHUtbWFwLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbkBXaWRnZXQoJ+eZvuW6puWcsOWbvicsIHtcclxuICBncm91cDogJ2NvbXBvbmVudCcsXHJcbiAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9teS1iYWlkdS1tYXAucG5nJyxcclxuICBjaGlsZHJlbjogW1xyXG4gICAge1xyXG4gICAgICB0aXRsZTogJ+agh+iusOWxgicsXHJcbiAgICAgIHR5cGU6ICdzYy1iYWlkdS1tYXJrZXItbGF5ZXInLFxyXG4gICAgICBvcHRpb246IHt9LFxyXG4gICAgICBoaWRkZW46IHRydWUsXHJcbiAgICAgIGhpZGVDaGlsZDogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxuICBjaGlsZFR5cGVzOiBbXHJcbiAgICAnc2MtYmFpZHUtbWFya2VyLWxheWVyJyxcclxuICAgICdzYy1iYWlkdS1wb2x5bGluZS1sYXllcicsXHJcbiAgICAnc2Mtd2luZC1sYXllcicsXHJcbiAgICAnc2MtdHlwaG9vbi1hcmVhLWxheWVyJyxcclxuICAgICdzYy1iYWlkdS1mZW5jZScsXHJcbiAgICAnc2MtYmFpZHUtbHVzaHUnLFxyXG4gIF0sXHJcbiAgZGVzY3JpcHRpb246ICdoYXNDaGlsZEl0ZW0nLFxyXG59IGFzIGFueSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbUJhaWR1TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgLy8gQFByb3BlcnR5KCflrZfkvZMnLCB7IHVpOiB7IHdpZGdldDogJ215Rm9udCcgfSB9KVxyXG4gIC8vIGZvbnQ6IGFueSA9IHtcclxuICAvLyAgIGZhbWlseTogJycsXHJcbiAgLy8gICBjb2xvcjogJyMwMDAwMDAnLFxyXG4gIC8vICAgd2VpZ2h0OiAnbm9ybWFsJyxcclxuICAvLyAgIHNpemU6IDE2LFxyXG4gIC8vICAgc3BhY2U6IDAsXHJcbiAgLy8gICBsaW5lSGVpZ2h0OiAwLFxyXG4gIC8vIH07XHJcbiAgQFByb3BlcnR5KCflnLDlm77nsbvlnosnLCB7XHJcbiAgICBlbnVtOiBNYXBUeXBlRW51bSxcclxuICB9KVxyXG4gIG1hcFR5cGUgPSAnbm9ybWFsJztcclxuICBtYXBUeXBlVmFsdWU6IHN0cmluZztcclxuICBAUHJvcGVydHkoJ+S4iuS8oOagt+W8jycsIHsgdHlwZTogJ3N0cmluZycsIHVpOiB7IHdpZGdldDogJ215VXBsb2FkQXVkaW8nLCB2aXNpYmxlSWY6IHsgbWFwVHlwZTogWydjdXN0b20nXSB9IH0gfSlcclxuICB1cGxvYWRTdHlsZTogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5YiH5o2i5oyJ6ZKuJylcclxuICBzaG93TWFwVHlwZVJhZGlvOiBib29sZWFuO1xyXG4gIEBQcm9wZXJ0eSgn5YWo5pmv5Zyw5Zu+JywgeyB0eXBlOiAnYm9vbGVhbicgfSlcclxuICBtaW5NYXBTaG93ID0gZmFsc2U7XHJcbiAgQFByb3BlcnR5KCfmmL7npLrkv6Hmga8nLCB7XHJcbiAgICB1aTogeyB3aWRnZXQ6ICdzZWxlY3QnIH0sXHJcbiAgICBlbnVtOiBbXHJcbiAgICAgIHsgbGFiZWw6ICfngrnlh7snLCB2YWx1ZTogJ2NsaWNrJyB9LFxyXG4gICAgICB7IGxhYmVsOiAn5oKs5YGcJywgdmFsdWU6ICdtb3VzZW92ZXInIH0sXHJcbiAgICBdLFxyXG4gIH0pXHJcbiAgc2hvd1R5cGUgPSAnY2xpY2snO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX6IOM5pmvJywgeyB1aTogeyB3aWRnZXQ6ICdteUNvbG9yJyB9IH0pXHJcbiAgaW5mb1dpbmRvd0JhY2tncm91bmQ6IHN0cmluZztcclxuICBAUHJvcGVydHkoJ+S/oeaBr+eql+Wtl+S9kycsIHsgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSB9KVxyXG4gIGluZm9XaW5kb3dDb2xvcjogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX5a695bqmJylcclxuICBpbmZvV2luZG93V2lkdGg6IG51bWJlcjtcclxuICBAUHJvcGVydHkoJ+S/oeaBr+eql+mrmOW6picpXHJcbiAgaW5mb1dpbmRvd0hlaWdodDogbnVtYmVyO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX5qih5p2/JywgeyB1aTogeyB3aWRnZXQ6ICd0ZXh0YXJlYScgfSB9KVxyXG4gIGluZm9XaW5kb3dUZW1wbGF0ZTogc3RyaW5nO1xyXG4gIEBQcm9wZXJ0eSgn5L+h5oGv56qX6L655qGGJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgaW5mb1dpbmRvd0JvcmRlckNvbG9yOiBzdHJpbmc7XHJcbiAgQFByb3BlcnR5KCfpmpDol4/lsJbop5InKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZUluZm9XaW5kb3dUYWlsJylcclxuICBoaWRlSW5mb1dpbmRvd1RhaWw6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCfpmpDol4/lhbPpl63mjInpkq4nKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGlkZUluZm9XaW5kb3dUb3AnKVxyXG4gIGhpZGVJbmZvV2luZG93VG9wOiBib29sZWFuO1xyXG4gIEBQcm9wZXJ0eSgn5Zyw5Zu+5ouW5YqoJywgeyB0eXBlOiAnYm9vbGVhbicgfSlcclxuICBkcmFnZ2luZyA9IHRydWU7XHJcblxyXG4gIEBQcm9wZXJ0eSgn6YGu572p6aKc6ImyJywge1xyXG4gICAgdWk6IHsgd2lkZ2V0OiAnbXlDb2xvcicgfSxcclxuICAgIGV4YW1wbGU6IFsnI2ZmZmZmZicsICcjRjVBNjIzJywgJyNGOEU3MUMnLCAnIzUwRTNDMicsICcjMzI4NUZGJywgJyNCNDVGRkYnLCAnIzlCOUI5QicsIG51bGxdLFxyXG4gIH0pXHJcbiAgc2hhZGVDb2xvciA9ICcjMDA0Mzk1JztcclxuICBAUHJvcGVydHkoJ+iDjOaZr+minOiJsicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215Q29sb3InIH0sXHJcbiAgICBleGFtcGxlOiBbJyNmZmZmZmYnLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCBudWxsXSxcclxuICB9KVxyXG4gIG1hcEJhY2tDb2xvcjogc3RyaW5nO1xyXG5cclxuICBAUHJvcGVydHkoJ+Wkmui+uee6v+iJsicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215Q29sb3InIH0sXHJcbiAgICBleGFtcGxlOiBbJyNmZmZmZmYnLCAnI0Y1QTYyMycsICcjRjhFNzFDJywgJyM1MEUzQzInLCAnIzMyODVGRicsICcjQjQ1RkZGJywgJyM5QjlCOUInLCBudWxsXSxcclxuICB9KVxyXG4gIG1hcENpdHlDb2xvciA9ICcjNDFiN2ZmJztcclxuICBAUHJvcGVydHkoJ+WcsOWbvue8qeaUvicsIHtcclxuICAgIHVpOiB7IHdpZGdldDogJ215UmFuZ2UnLCBtaW46IDEsIG1heDogNDAsIHN0ZXA6IDEgfSxcclxuICB9KVxyXG4gIHpvb20gPSAxMjtcclxuICAvLyBAUHJvcGVydHkoJ+aUvuWkp+avlOS+iycsIHsgdHlwZTogJ251bWJlcicgfSlcclxuICAvLyBzY2FsZSA9IDE7XHJcbiAgQFByb3BlcnR5KCfpga7nvanpgI/mmI4nLCB7IHR5cGU6ICdudW1iZXInIH0pXHJcbiAgZmlsbE9wYWNpdHkgPSAwO1xyXG4gIEBQcm9wZXJ0eSgn5aSa6L6557q/57KXJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxyXG4gIHN0cm9rZXNpemUgPSAyO1xyXG4gIEBQcm9wZXJ0eSgn6buR5aSc5qih5byPJywgeyB0eXBlOiAnYm9vbGVhbicsIHVpOiB7IGhpZGRlbjogdHJ1ZSB9IH0pXHJcbiAgbmlnaHRNb2RlID0gZmFsc2U7XHJcbiAgQFByb3BlcnR5KCczROinhuinkicpXHJcbiAgZW5hYmxlM0Q6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCflrprkvY3mjqfku7YnKVxyXG4gIHNob3dMb2NhdGlvbkNvbnRyb2w6IGJvb2xlYW47XHJcbiAgQFByb3BlcnR5KCfliJ3lp4vop5LluqYnLCB7IHR5cGU6ICdudW1iZXInLCB1aTogeyB2aXNpYmxlSWY6IHsgZW5hYmxlM0Q6IFt0cnVlXSB9IH0gfSlcclxuICB0aWx0ID0gNzM7XHJcbiAgLy8gQFByb3BlcnR5KCfkuK3lv4Pnu4/luqYnLCB7XHJcbiAgLy8gICB1aToge3dpZGdldDogJ215UmFuZ2UnLCBtaW46IC0xODAsIG1heDogMTgwLCBzdGVwOiAxfSxcclxuICAvLyB9KVxyXG4gIGNlbnRlckxuZyA9IDEyMC43O1xyXG4gIC8vIEBQcm9wZXJ0eSgn5Lit5b+D57qs5bqmJywge1xyXG4gIC8vICAgdWk6IHt3aWRnZXQ6ICdteVJhbmdlJywgbWluOiAtOTAsIG1heDogOTAsIHN0ZXA6IDF9LFxyXG4gIC8vIH0pXHJcbiAgY2VudGVyTGF0ID0gMjg7XHJcbiAgQFByb3BlcnR5KCfmmL7npLrnnIHluIInLCB7XHJcbiAgICB1aToge1xyXG4gICAgICB3aWRnZXQ6ICdteVVybFNlbGVjdCcsXHJcbiAgICAgIGFsbG93Q2xlYXI6IHRydWUsXHJcbiAgICAgIHVybDogJy9hc3NldHMvbWFwTGlzdEl0ZW0uanNvbicsXHJcbiAgICB9LFxyXG4gIH0pXHJcbiAgY2l0eU5hbWUgPSBudWxsO1xyXG4gIHBvaW50OiBhbnk7XHJcblxyXG4gIC8vIF9kYXRhID0gW1xyXG4gIC8vICAge1xyXG4gIC8vICAgICBvcHRpb25zOiB7XHJcbiAgLy8gICAgICAgaWNvbjoge1xyXG4gIC8vICAgICAgICAgaW1hZ2VVcmw6ICdhc3NldHMvaW1nL3NjcmVlbi9udW1iZXItZmxvcC5wbmcnLFxyXG4gIC8vICAgICAgICAgc2l6ZToge1xyXG4gIC8vICAgICAgICAgICBoZWlnaHQ6IDI2MCxcclxuICAvLyAgICAgICAgICAgd2lkdGg6IDI1MFxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSxcclxuICAvLyAgICAgcG9pbnQ6IHtcclxuICAvLyAgICAgICBsbmc6IDEyMC43LCAgIC8vIOe7j+W6plxyXG4gIC8vICAgICAgIGxhdDogMjgsICAgIC8vIOe6rOW6plxyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9LFxyXG4gIC8vIF07XHJcbiAgLy8g5paH5a2X5qCH5rOoXHJcblxyXG4gIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XHJcbiAgLy8gX2NoaWxkcmVuID0gW107XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG1hcDogYW55O1xyXG4gIGVkaXQ6IGJvb2xlYW47XHJcbiAgLy8gbWFya2VyVGllckNsaWNrOiBhbnk7XHJcbiAgLy8gcGluZ3lhbmcgPSAnJztcclxuICAvLyBydWlhbiA9ICcnO1xyXG4gIEBEYXRhKHtcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgbG5nOiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+e7j+W6picgfSxcclxuICAgICAgbGF0OiB7IHR5cGU6ICdudW1iZXInLCB0aXRsZTogJ+e6rOW6picgfSxcclxuICAgIH0sXHJcbiAgfSlcclxuICBfZGF0YTogYW55W10gPSBbeyBsbmc6IDEyMC43LCBsYXQ6IDI4IH1dO1xyXG4gIEBEYXRhT3V0cHV0KFsnbG5nJywgJ2xhdCddKVxyXG4gIEBFdmVudCgn5Lit5b+D54K55pS55Y+YJywge1xyXG4gICAgcGFyYW1zOiB7IHByb3BlcnRpZXM6IHsgbG5nOiB7IHRpdGxlOiAn57uP5bqmJywgdHlwZTogJ251bWJlcicgfSwgbGF0OiB7IHRpdGxlOiAn57qs5bqmJywgdHlwZTogJ251bWJlcicgfSB9IH0sXHJcbiAgfSlcclxuICBkYXRhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBEYXRhT3V0cHV0KCfnvKnmlL7nrYnnuqcnKVxyXG4gIEBFdmVudCgn57yp5pS+Jywge1xyXG4gICAgcGFyYW1zOiAn57yp5pS+562J57qnJyxcclxuICB9KVxyXG4gIHpvb21DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBARXZlbnQoJ+WcsOWbvueCueWHuycsIHtcclxuICAgIHBhcmFtczogeyBwcm9wZXJ0aWVzOiB7IGxuZzogeyB0aXRsZTogJ+e7j+W6picsIHR5cGU6ICdudW1iZXInIH0sIGxhdDogeyB0aXRsZTogJ+e6rOW6picsIHR5cGU6ICdudW1iZXInIH0gfSB9LFxyXG4gIH0pXHJcbiAgbWFwQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBjb250YWluZXI6IEVsZW1lbnRSZWY7XHJcbiAgY2hpbGRyZW46IGFueVtdO1xyXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBkZXN0cm95ZWQ6IGJvb2xlYW47XHJcbiAgLy8gY29udGFpbmVyU3R5bGU6IGFueSA9IHt9O1xyXG4gIC8vIHVubG9hZGVkQ2hpbGRyZW4gPSB7fTtcclxuICBvdmVybGF5c01hcCA9IHt9O1xyXG5cclxuICAvLyBASG9zdEJpbmRpbmcoJ2NsYXNzLmhpZGVJbmZvV2luZG93VGFpbCcpXHJcbiAgLy8gaGlkZUluZm9XaW5kb3dUYWlsOiBib29sZWFuO1xyXG5cclxuICBwcml2YXRlIGluaXRlZDogKG1hcDogYW55KSA9PiB2b2lkO1xyXG4gIGluaXQkID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcclxuICAgIHRoaXMuaW5pdGVkID0gcmVzb2x2ZTtcclxuICB9KTtcclxuICB2aWV3OiBhbnk7XHJcbiAgcGlja2VyRXZlbnQ6IGFueTtcclxuICBwaWNrZXJJdGVtOiBhbnk7XHJcbiAgcGlja2VyVGltZW91dDogYW55O1xyXG4gIG1hcFR5cGVFbnVtID0gTWFwVHlwZUVudW0uc2xpY2UoMCwgMyk7XHJcbiAgZGFya1N0eWxlOiBhbnk7XHJcbiAgZmlyc3RPcGVuOiBib29sZWFuO1xyXG4gIGZpcnN0T3BlblByb21pc2U6IFByb21pc2U8dm9pZD47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGJhaWR1TWFwU2VydmljZTogQmFpZHVNYXBTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHNjYWxlJDogU2NhbGVTdWJqZWN0LFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHdpZGdldFJlZjogV2lkZ2V0UmVmLFxyXG4gICkge31cclxuXHJcbiAgZ2V0IGVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgYWRkTGF5ZXIobGF5ZXI6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICB0aGlzLnZpZXcuYWRkTGF5ZXIobGF5ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTGF5ZXIobGF5ZXI6IGFueSkge1xyXG4gICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICB0aGlzLnZpZXcucmVtb3ZlTGF5ZXIobGF5ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMuX2RhdGEgJiYgdGhpcy5fZGF0YVswXSkge1xyXG4gICAgICB0aGlzLmNlbnRlckxuZyA9ICt0aGlzLl9kYXRhWzBdLmxuZztcclxuICAgICAgdGhpcy5jZW50ZXJMYXQgPSArdGhpcy5fZGF0YVswXS5sYXQ7XHJcbiAgICAgIHRoaXMuc2V0Q2VudGVyKHRoaXMuY2VudGVyTG5nLCB0aGlzLmNlbnRlckxhdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnNjYWxlJCkge1xyXG4gICAgICAvLyDov5nmmK/kuLrkuobop6PlhrPlnLDlm77nvKnmlL7kuK3lv4PkuI3lnKjpvKDmoIfmiYDlnKjkvY3nva7nmoTpl67pophcclxuICAgICAgc2NhbGVBZGFwdGVyKHRoaXMuc2NhbGUkLCB0aGlzLmRlc3Ryb3kkLCB0aGlzLnpvbmUsIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLndpZGdldFJlZik7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmluaXRNYXAoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGluaXRNYXAoKSB7XHJcbiAgICBhd2FpdCB0aGlzLmJhaWR1TWFwU2VydmljZS5sb2FkTWFwR0woKTtcclxuICAgIGF3YWl0IHRoaXMuYmFpZHVNYXBTZXJ2aWNlLmxvYWRNYXBWR0woKTtcclxuICAgIHRoaXMubWFwVHlwZVZhbHVlID0gdGhpcy5tYXBUeXBlO1xyXG4gICAgLy8g5YW85a656ICB55qE6YWN572uXHJcbiAgICBpZiAodGhpcy5tYXBUeXBlID09IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMudXBsb2FkU3R5bGUpIHtcclxuICAgICAgICB0aGlzLm1hcFR5cGVWYWx1ZSA9ICdjdXN0b20nO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubmlnaHRNb2RlKSB7XHJcbiAgICAgICAgdGhpcy5tYXBUeXBlVmFsdWUgPSAnZGFyayc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghdGhpcy5kZXN0cm95ZWQpIHtcclxuICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICB0aGlzLm1hcCA9IG5ldyBCTWFwR0wuTWFwKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHsgcmVzdHJpY3RDZW50ZXI6IGZhbHNlIH0pO1xyXG4gICAgICAgIHRoaXMubWFwLmNlbnRlckFuZFpvb20obmV3IEJNYXBHTC5Qb2ludCh0aGlzLmNlbnRlckxuZywgdGhpcy5jZW50ZXJMYXQpLCB0aGlzLnpvb20pOyAvLyDorr7nva7kuK3lv4PngrnlkoznvKnmlL7nuqfliKtcclxuICAgICAgICB0aGlzLm1hcC5lbmFibGVTY3JvbGxXaGVlbFpvb20oKTsgLy8g5ZCv55So5rua6L2u6L+b6KGM57yp5pS+5Yqf6IO9XHJcbiAgICAgICAgLy8gdmFyIGRpc3QgPSBuZXcgQk1hcEdMLkRpc3RyaWN0TGF5ZXIoe1xyXG4gICAgICAgIC8vICAgbmFtZTogJyjmuKnlt57luIIpJyxcclxuICAgICAgICAvLyAgIGtpbmQ6IDEsXHJcbiAgICAgICAgLy8gICAgZmlsbENvbG9yOiAnI2ZmZicsXHJcbiAgICAgICAgLy8gICBmaWxsT3BhY2l0eTogMC4xLFxyXG4gICAgICAgIC8vICAgc3Ryb2tlQ29sb3I6ICcjZGFlYWZhJyxcclxuICAgICAgICAvLyAgIHZpZXdwb3J0OiB0cnVlLFxyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgICAgIC8vIHRoaXMubWFwLmFkZERpc3RyaWN0TGF5ZXIoZGlzdCk7XHJcbiAgICAgICAgdGhpcy5tYXBUeXBlQ2hhbmdlKHRoaXMubWFwVHlwZVZhbHVlKTtcclxuICAgICAgICBpZiAodGhpcy5lZGl0IHx8IHRoaXMuZHJhZ2dpbmcgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5kaXNhYmxlRHJhZ2dpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlM0QpIHtcclxuICAgICAgICAgIHRoaXMubWFwLnNldFRpbHQodGhpcy50aWx0ID09IG51bGwgPyA3MyA6IHRoaXMudGlsdCwgeyBub0FuaW1hdGlvbjogdHJ1ZSB9KTtcclxuICAgICAgICAgIHRoaXMubWFwLnNldERpc3BsYXlPcHRpb25zKHsgc2t5Q29sb3JzOiBbJ3JnYmEoMCwgMCwgMCwgMCknXSB9KTsgLy8g6ZqQ6JeP5aSp56m6XHJcbiAgICAgICAgICAvLyBjb25zdCBuYXZpM0RDdHJsID0gbmV3IEJNYXBHTC5OYXZpZ2F0aW9uQ29udHJvbDNEKCk7IC8vIOa3u+WKoDNE5o6n5Lu2XHJcbiAgICAgICAgICAvLyB0aGlzLm1hcC5hZGRDb250cm9sKG5hdmkzREN0cmwpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLm1hcC5kaXNhYmxlVGlsdCgpO1xyXG4gICAgICAgICAgdGhpcy5tYXAuZGlzYWJsZVJvdGF0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaG93TG9jYXRpb25Db250cm9sKSB7XHJcbiAgICAgICAgICBjb25zdCBvcHRpb25zID0ge1xyXG4gICAgICAgICAgICAvLyDmjqfku7bnmoTlgZzpnaDkvY3nva7vvIjlj6/pgInvvIzpu5jorqTlt6bkuIrop5LvvIlcclxuICAgICAgICAgICAgYW5jaG9yOiBCTUFQX0FOQ0hPUl9UT1BfTEVGVCxcclxuICAgICAgICAgICAgLy8g5o6n5Lu25Z+65LqO5YGc6Z2g5L2N572u55qE5YGP56e76YeP77yI5Y+v6YCJ77yJXHJcbiAgICAgICAgICAgIG9mZnNldDogbmV3IEJNYXBHTC5TaXplKDIwLCAyMCksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgbGV0IGxvY2F0aW9uQ29udHJvbCA9IG5ldyBCTWFwR0wuTG9jYXRpb25Db250cm9sKG9wdGlvbnMpO1xyXG4gICAgICAgICAgLy8g5bCG5o6n5Lu25re75Yqg5Yiw5Zyw5Zu+5LiKXHJcbiAgICAgICAgICB0aGlzLm1hcC5hZGRDb250cm9sKGxvY2F0aW9uQ29udHJvbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1pbk1hcFNob3cpIHtcclxuICAgICAgICAgIGNvbnN0IHN0Q3RybCA9IG5ldyBCTWFwR0wuUGFub3JhbWFDb250cm9sKCk7XHJcbiAgICAgICAgICBzdEN0cmwuc2V0T2Zmc2V0KG5ldyBCTWFwR0wuU2l6ZSgyMCwgMjApKTtcclxuICAgICAgICAgIHRoaXMubWFwLmFkZENvbnRyb2woc3RDdHJsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuaW5mb1dpbmRvd0JhY2tncm91bmQpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1pbmZvLXdpbmRvdy1iYWNrZ3JvdW5kJywgdGhpcy5pbmZvV2luZG93QmFja2dyb3VuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmluZm9XaW5kb3dDb2xvcikge1xyXG4gICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLWluZm8td2luZG93LWNvbG9yJywgdGhpcy5pbmZvV2luZG93Q29sb3IpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5pbmZvV2luZG93Qm9yZGVyQ29sb3IpIHtcclxuICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1pbmZvLXdpbmRvdy1ib3JkZXItY29sb3InLCB0aGlzLmluZm9XaW5kb3dCb3JkZXJDb2xvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFwLmFkZEV2ZW50TGlzdGVuZXIoJ21vdmVlbmQnLCAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNlbnRlciA9IHRoaXMubWFwLmdldENlbnRlcigpO1xyXG4gICAgICAgICAgdGhpcy5kYXRhQ2hhbmdlLmVtaXQoY2VudGVyKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1hcC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xyXG4gICAgICAgICAgdGhpcy5tYXBDbGljay5lbWl0KGV2ZW50LmxhdGxuZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5tYXAuYWRkRXZlbnRMaXN0ZW5lcignem9vbWVuZCcsIChldmVudCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy56b29tQ2hhbmdlLmVtaXQodGhpcy5tYXAuZ2V0Wm9vbSgpKTtcclxuICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZS5lbWl0KHRoaXMubWFwLmdldENlbnRlcigpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZpZXcgPSBuZXcgbWFwdmdsLlZpZXcoe1xyXG4gICAgICAgICAgbWFwOiB0aGlzLm1hcCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLm1hcExvYWRlZCh0aGlzLm1hcCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmluaXRlZCh0aGlzLm1hcCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDZW50ZXIobG5nOiBudW1iZXIsIGxhdDogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5tYXAgJiYgbG5nICYmIGxhdCkge1xyXG4gICAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgICAgaWYgKGNlbnRlci5sbmcgIT0gbG5nIHx8IGNlbnRlci5sYXQgIT0gbGF0KSB7XHJcbiAgICAgICAgdGhpcy5zZXRDZW50ZXJBbmRab29tKGxuZywgbGF0LCB0aGlzLm1hcC5nZXRab29tKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDZW50ZXJBbmRab29tKGxuZzogbnVtYmVyLCBsYXQ6IG51bWJlciwgem9vbTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCBjZW50ZXIgPSB0aGlzLm1hcC5nZXRDZW50ZXIoKTtcclxuICAgIGNvbnN0IGN1cnJlbnRab29tID0gdGhpcy5tYXAuZ2V0Wm9vbSgpO1xyXG4gICAgLy8g6K+v5beu6IyD5Zu05YaF5LiN56e75YqoLOmYsuatouiDjOaZr+aKluWKqFxyXG4gICAgaWYgKHpvb20gIT0gY3VycmVudFpvb20gfHwgTWF0aC5hYnMobG5nIC0gY2VudGVyLmxuZykgPiAxZS0xMyB8fCBNYXRoLmFicyhsYXQgLSBjZW50ZXIubGF0KSA+IDFlLTcpIHtcclxuICAgICAgY29uc3QgcG9pbnQgPSBuZXcgQk1hcEdMLlBvaW50KGxuZywgbGF0KTtcclxuICAgICAgdGhpcy5tYXAuY2VudGVyQW5kWm9vbShwb2ludCwgem9vbSwgeyB0aWx0OiB0aGlzLm1hcC5nZXRUaWx0KCkgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoLnmja7nu4/nuqzluqbojIPlm7Torr7nva7kuK3lv4PlkoznvKnmlL7nrYnnuqdcclxuICAgKiBAcGFyYW0gbWluTG5nXHJcbiAgICogQHBhcmFtIG1heExuZ1xyXG4gICAqIEBwYXJhbSBtaW5MYXRcclxuICAgKiBAcGFyYW0gbWF4TGF0XHJcbiAgICovXHJcbiAgc2V0UmVjdENlbnRlckFuZFpvb20obWluTG5nOiBudW1iZXIsIG1heExuZzogbnVtYmVyLCBtaW5MYXQ6IG51bWJlciwgbWF4TGF0OiBudW1iZXIpIHtcclxuICAgIHRoaXMuc2V0Q2VudGVyQW5kWm9vbSgobWF4TG5nICsgbWluTG5nKSAvIDIsIChtYXhMYXQgKyBtaW5MYXQpIC8gMiwgdGhpcy5nZXRab29tKG1heExuZywgbWluTG5nLCBtYXhMYXQsIG1pbkxhdCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Wm9vbShtYXhMbmc6IG51bWJlciwgbWluTG5nOiBudW1iZXIsIG1heExhdDogbnVtYmVyLCBtaW5MYXQ6IG51bWJlcikge1xyXG4gICAgY29uc3Qgem9vbXMgPSBbXHJcbiAgICAgIDUwLCAxMDAsIDIwMCwgNTAwLCAxMDAwLCAyMDAwLCA1MDAwLCAxMDAwMCwgMjAwMDAsIDI1MDAwLCA1MDAwMCwgMTAwMDAwLCAyMDAwMDAsIDUwMDAwMCwgMTAwMDAwMCwgMjAwMDAwMCxcclxuICAgIF07IC8v57qn5YirMTjliLAz44CCXHJcbiAgICBjb25zdCBwb2ludEEgPSBuZXcgQk1hcEdMLlBvaW50KG1heExuZywgbWF4TGF0KTsgLy8g5Yib5bu654K55Z2Q5qCHQVxyXG4gICAgY29uc3QgcG9pbnRCID0gbmV3IEJNYXBHTC5Qb2ludChtaW5MbmcsIG1pbkxhdCk7IC8vIOWIm+W7uueCueWdkOagh0JcclxuICAgIGNvbnN0IGRpc3RhbmNlID0gK3RoaXMubWFwLmdldERpc3RhbmNlKHBvaW50QSwgcG9pbnRCKS50b0ZpeGVkKDEpOyAvL+iOt+WPluS4pOeCuei3neemuyzkv53nlZnlsI/mlbDngrnlkI7kuKTkvY1cclxuICAgIGNvbnN0IGkgPSB6b29tcy5maW5kSW5kZXgoKHpvb20pID0+IHpvb20gLSBkaXN0YW5jZSA+IDApO1xyXG4gICAgaWYgKGkgPT09IC0xKSB7XHJcbiAgICAgIHJldHVybiA1O1xyXG4gICAgfVxyXG4gICAgLy/kuYvmiYDku6XkvJrlpJoz77yM5piv5Zug5Li65Zyw5Zu+6IyD5Zu05bi45bi45piv5q+U5L6L5bC66Led56a755qEMTDlgI3ku6XkuIrjgILmiYDku6XnuqfliKvkvJrlop7liqAz44CCXHJcbiAgICByZXR1cm4gMTggLSBpICsgMztcclxuICB9XHJcblxyXG4gIG9wZW5JbmZvV2luZG93KGRhdGE6IGFueSwgbG5nOiBudW1iZXIsIGxhdDogbnVtYmVyKSB7XHJcbiAgICBpZiAoZGF0YS5pbmZvcm1hdGlvbiB8fCB0aGlzLmluZm9XaW5kb3dUZW1wbGF0ZSkge1xyXG4gICAgICBjb25zdCBwb2ludCA9IG5ldyBCTWFwR0wuUG9pbnQoK2xuZywgK2xhdCk7XHJcbiAgICAgIC8vIGxldCBvZmZzZXRZID0gLTI1O1xyXG4gICAgICAvLyBpZiAodGhpcy5oaWRlSW5mb1dpbmRvd1RhaWwpIHtcclxuICAgICAgLy8gICBvZmZzZXRZID0gMDtcclxuICAgICAgLy8gfVxyXG4gICAgICBsZXQgaW5mb3JtYXRpb24gPSBkYXRhLmluZm9ybWF0aW9uO1xyXG4gICAgICBpZiAodGhpcy5pbmZvV2luZG93VGVtcGxhdGUpIHtcclxuICAgICAgICBpbmZvcm1hdGlvbiA9IFRlbXBsYXRlVXRpbC5wYXJzZSh0aGlzLmluZm9XaW5kb3dUZW1wbGF0ZSwgZGF0YSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgICBvZmZzZXQ6IG5ldyBCTWFwR0wuU2l6ZSgwLCAwKSxcclxuICAgICAgICB3aWR0aDogdGhpcy5pbmZvV2luZG93V2lkdGggfHwgMCxcclxuICAgICAgICBoZWlnaHQ6IHRoaXMuaW5mb1dpbmRvd0hlaWdodCB8fCAwLFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zdCBpbmZvV2luZG93ID0gbmV3IEJNYXBHTC5JbmZvV2luZG93KGluZm9ybWF0aW9uLCBvcHRpb25zKTtcclxuICAgICAgLy8g56ys5LiA5qyh5omT5byA5L+h5oGv56qX5Y+j5ZCO5Zyo55+t5pe26Ze05YWz6Zet5oiW6YeN5paw5omT5byA5Lya5a+86Ie0Y2xpY2vkuovku7blpLHmlYjvvIzkuLTml7bop6PlhrPmlrnmoYjmmK/nrKzkuIDmrKHmiZPlvIDlkI4wLjXnp5LlhoXkuI3lhbPpl61cclxuICAgICAgaWYgKCF0aGlzLmZpcnN0T3Blbikge1xyXG4gICAgICAgIGlmICh0aGlzLmZpcnN0T3BlblByb21pc2UpIHtcclxuICAgICAgICAgIHRoaXMuZmlyc3RPcGVuUHJvbWlzZS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuZmlyc3RPcGVuUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZmlyc3RPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmZpcnN0T3BlblByb21pc2UgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByYXdDbG9zZSA9IGluZm9XaW5kb3cuY2xvc2U7XHJcbiAgICAgICAgaW5mb1dpbmRvdy5jbG9zZSA9ICgpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmZpcnN0T3BlblByb21pc2UpIHtcclxuICAgICAgICAgICAgdGhpcy5maXJzdE9wZW5Qcm9taXNlLnRoZW4oKCkgPT4gcmF3Q2xvc2UuY2FsbChpbmZvV2luZG93KSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByYXdDbG9zZS5jYWxsKGluZm9XaW5kb3cpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tYXAub3BlbkluZm9XaW5kb3coaW5mb1dpbmRvdywgcG9pbnQpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBpbmZvV2luZG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2FudmFzT3ZlcmxheShjaGlsZDogYW55KSB7XHJcbiAgICBsZXQgY2FudmFzT3ZlcmxheTtcclxuICAgIGlmICh0aGlzLmVuYWJsZTNEKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBjaGlsZC5pdGVtO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIHZhciBwU3RhcnQgPSBuZXcgQk1hcEdMLlBvaW50KGl0ZW0uc3RhcnQubG5nLCBpdGVtLnN0YXJ0LmxhdCk7XHJcbiAgICAgICAgdmFyIHBFbmQgPSBuZXcgQk1hcEdMLlBvaW50KGl0ZW0uZW5kLmxuZywgaXRlbS5lbmQubGF0KTtcclxuICAgICAgICB2YXIgYm91bmRzID0gbmV3IEJNYXBHTC5Cb3VuZHMobmV3IEJNYXBHTC5Qb2ludChwU3RhcnQubG5nLCBwRW5kLmxhdCksIG5ldyBCTWFwR0wuUG9pbnQocEVuZC5sbmcsIHBTdGFydC5sYXQpKTtcclxuICAgICAgICBjYW52YXNPdmVybGF5ID0gbmV3IEJNYXBHTC5Hcm91bmRPdmVybGF5KGJvdW5kcywge1xyXG4gICAgICAgICAgdHlwZTogJ2NhbnZhcycsXHJcbiAgICAgICAgICB1cmw6IGl0ZW0uY2FudmFzLFxyXG4gICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcG9pbnRUb1BpeGVsID0gKGRhdGEpID0+IHtcclxuICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBCTWFwR0wuUG9pbnQoZGF0YS5sbmcsIGRhdGEubGF0KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5tYXAucG9pbnRUb1BpeGVsKHBvaW50KTtcclxuICAgICAgfTtcclxuICAgICAgY2FudmFzT3ZlcmxheSA9IG5ldyBCTWFwR0wuQ2FudmFzTGF5ZXIoe1xyXG4gICAgICAgIHBhbmVOYW1lOiAnbWFya2VyU2hhZG93JyxcclxuICAgICAgICB1cGRhdGU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHZhciBjdHggPSB0aGlzLmNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xyXG4gICAgICAgICAgaWYgKCFjdHgpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCBjdHguY2FudmFzLndpZHRoLCBjdHguY2FudmFzLmhlaWdodCk7XHJcbiAgICAgICAgICBjaGlsZC51cGRhdGUoY3R4LCBwb2ludFRvUGl4ZWwpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNhbnZhc092ZXJsYXk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5kZXN0cm95ZWQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMudmlldykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMudmlldy5kZXN0cm95KCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tYXApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLm1hcC5kZXN0cm95KCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBtYXBMb2FkZWQobWFwOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNpdHlOYW1lKSB7XHJcbiAgICAgIGlmICh0aGlzLmNpdHlOYW1lID09PSAn5rip5beeJykge1xyXG4gICAgICAgIHRoaXMuY2l0eU5hbWUgPSAnd2VuemhvdSc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QganNvbjogYW55ID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vJyArIHRoaXMuY2l0eU5hbWUgKyAnLmpzb24nKS50b1Byb21pc2UoKTtcclxuICAgICAgY29uc3QgcG9seWdvbkRhdGEgPSBbXTtcclxuICAgICAgbGV0IGVuY29kZVNjYWxlID0ganNvbi5VVEY4U2NhbGUgfHwgMTAyNDtcclxuICAgICAganNvbi5mZWF0dXJlcy5mb3JFYWNoKCh7IGdlb21ldHJ5IH0pID0+IHtcclxuICAgICAgICBnZW9tZXRyeS5jb29yZGluYXRlcyA9IChnZW9tZXRyeS5jb29yZGluYXRlcyBhcyBhbnlbXSkuZm9yRWFjaCgoY29vcmRpbmF0ZSwgaSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGdlb21ldHJ5LnR5cGUgPT09ICdNdWx0aVBvbHlnb24nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvb3JkaW5hdGVzID0gKGNvb3JkaW5hdGUgYXMgYW55W10pLm1hcCgocG9pbnRzLCBqKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGpzb24uVVRGOEVuY29kaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwb2ludHMgPSB0aGlzLmRlY29kZVBvbHlnb24ocG9pbnRzLCBnZW9tZXRyeS5lbmNvZGVPZmZzZXRzW2ldW2pdLCBlbmNvZGVTY2FsZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiBwb2ludHM7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICBwb2x5Z29uRGF0YS5wdXNoKGNvb3JkaW5hdGVzKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChqc29uLlVURjhFbmNvZGluZykge1xyXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGUgPSB0aGlzLmRlY29kZVBvbHlnb24oY29vcmRpbmF0ZSwgZ2VvbWV0cnkuZW5jb2RlT2Zmc2V0c1tpXSwgZW5jb2RlU2NhbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBvbHlnb25EYXRhLnB1c2goW2Nvb3JkaW5hdGVdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgZ2VvbWV0cnk6IHtcclxuICAgICAgICAgICAgdHlwZTogJ011bHRpUG9seWdvbicsXHJcbiAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBwb2x5Z29uRGF0YSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgdmFyIGxheWVyID0gbmV3IG1hcHZnbC5Qb2x5Z29uTGF5ZXIoe1xyXG4gICAgICAgIGxpbmVDb2xvcjogdGhpcy5tYXBDaXR5Q29sb3IsXHJcbiAgICAgICAgbGluZVdpZHRoOiB0aGlzLnN0cm9rZXNpemUgfHwgMixcclxuICAgICAgICBmaWxsQ29sb3I6IHRoaXMuc2hhZGVDb2xvcixcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIHJlbmRlck9yZGVyOiAtMixcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudmlldy5hZGRMYXllcihsYXllcik7XHJcbiAgICAgIGlmICh0aGlzLm1hcEJhY2tDb2xvciAmJiAhdGhpcy5tYXBCYWNrQ29sb3IubWF0Y2goL3JnYmFcXChcXGQrLFxcZCssXFxkKywwXFwpLykpIHtcclxuICAgICAgICB2YXIgbWFza0xheWVyID0gbmV3IG1hcHZnbC5NYXNrTGF5ZXIoe1xyXG4gICAgICAgICAgY29sb3I6IHRoaXMubWFwQmFja0NvbG9yLFxyXG4gICAgICAgICAgZGF0YSxcclxuICAgICAgICAgIHJlbmRlck9yZGVyOiAtMyxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZpZXcuYWRkTGF5ZXIobWFza0xheWVyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGVjb2RlUG9seWdvbihjb29yZGluYXRlOiBzdHJpbmcsIGVuY29kZU9mZnNldHM6IG51bWJlcltdLCBlbmNvZGVTY2FsZTogbnVtYmVyKSB7XHJcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcclxuICAgIGxldCBwcmV2WCA9IGVuY29kZU9mZnNldHNbMF07XHJcbiAgICBsZXQgcHJldlkgPSBlbmNvZGVPZmZzZXRzWzFdO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29vcmRpbmF0ZS5sZW5ndGg7IGkgKz0gMikge1xyXG4gICAgICB2YXIgeCA9IGNvb3JkaW5hdGUuY2hhckNvZGVBdChpKSAtIDY0O1xyXG4gICAgICB2YXIgeSA9IGNvb3JkaW5hdGUuY2hhckNvZGVBdChpICsgMSkgLSA2NDtcclxuICAgICAgLy8gWmlnWmFnIGRlY29kaW5nXHJcbiAgICAgIHggPSAoeCA+PiAxKSBeIC0oeCAmIDEpO1xyXG4gICAgICB5ID0gKHkgPj4gMSkgXiAtKHkgJiAxKTtcclxuICAgICAgLy8gRGVsdGEgZGVvY2RpbmdcclxuICAgICAgeCArPSBwcmV2WDtcclxuICAgICAgeSArPSBwcmV2WTtcclxuXHJcbiAgICAgIHByZXZYID0geDtcclxuICAgICAgcHJldlkgPSB5O1xyXG4gICAgICAvLyBEZXF1YW50aXplXHJcbiAgICAgIHJlc3VsdC5wdXNoKFt4IC8gZW5jb2RlU2NhbGUsIHkgLyBlbmNvZGVTY2FsZV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBhc3luYyBtYXBUeXBlQ2hhbmdlKG1hcFR5cGU6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChtYXBUeXBlKSB7XHJcbiAgICAgIGNhc2UgJ2RhcmsnOlxyXG4gICAgICAgIGlmICghdGhpcy5kYXJrU3R5bGUpIHtcclxuICAgICAgICAgIHRoaXMuZGFya1N0eWxlID0gYXdhaXQgdGhpcy5odHRwLmdldCgnYXNzZXRzL2VjaGFydHMvbWFwL2pzb24vY3VzdG9tX21hcC5qc29uJykudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWFwLnNldE1hcFR5cGUoQk1BUF9OT1JNQUxfTUFQKTtcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBTdHlsZVYyKHsgc3R5bGVKc29uOiB0aGlzLmRhcmtTdHlsZSB9KTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnc2F0ZWxsaXRlJzpcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfU0FURUxMSVRFX01BUCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XHJcbiAgICAgICAgaWYgKHRoaXMudXBsb2FkU3R5bGUpIHtcclxuICAgICAgICAgIGNvbnN0IHN0eWxlSnNvbiA9IGF3YWl0IHRoaXMuaHR0cC5nZXQodGhpcy51cGxvYWRTdHlsZSkudG9Qcm9taXNlKCk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfTk9STUFMX01BUCk7XHJcbiAgICAgICAgICB0aGlzLm1hcC5zZXRNYXBTdHlsZVYyKHsgc3R5bGVKc29uIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLm1hcC5zZXRNYXBUeXBlKEJNQVBfTk9STUFMX01BUCk7XHJcbiAgICAgICAgdGhpcy5tYXAuc2V0TWFwU3R5bGVWMih7IHN0eWxlSnNvbjogbnVsbCB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -78,6 +78,7 @@ import { LineLightFlowModule } from './line-light-flow/line-light-flow.module';
|
|
|
78
78
|
import { IframeModule } from './iframe/iframe.module';
|
|
79
79
|
import { VideoGridModule } from './video-grid/video-grid.module';
|
|
80
80
|
import { Scatter3dModule } from './scatter3d/scatter3d.module';
|
|
81
|
+
import { TiandituModule } from './tianditu/tianditu.module';
|
|
81
82
|
export class ScreenWidgetModule {
|
|
82
83
|
constructor(widgetService) {
|
|
83
84
|
widgetService.register(ButtonComponent, { size: { width: 60, height: 30 } });
|
|
@@ -525,6 +526,11 @@ ScreenWidgetModule.decorators = [
|
|
|
525
526
|
IframeModule,
|
|
526
527
|
VideoGridModule,
|
|
527
528
|
Scatter3dModule,
|
|
529
|
+
TiandituModule
|
|
530
|
+
// DropDownDetailListModule,
|
|
531
|
+
// DynamicListModule,
|
|
532
|
+
// MyBaiduMapModule,
|
|
533
|
+
// DataMapModule
|
|
528
534
|
],
|
|
529
535
|
exports: [],
|
|
530
536
|
declarations: [],
|
|
@@ -533,4 +539,4 @@ ScreenWidgetModule.decorators = [
|
|
|
533
539
|
ScreenWidgetModule.ctorParameters = () => [
|
|
534
540
|
{ type: WidgetService }
|
|
535
541
|
];
|
|
536
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXdpZGdldC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvc2NyZWVuLXdpZGdldC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7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b0JBQ25CLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixVQUFVO29CQUNWLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixhQUFhO29CQUNiLFdBQVc7b0JBQ1gsY0FBYztvQkFDZCxVQUFVO29CQUNWLGlCQUFpQjtvQkFDakIsYUFBYTtvQkFDYixhQUFhO29CQUNiLGNBQWM7b0JBQ2QsV0FBVztvQkFDWCxXQUFXO29CQUNYLFdBQVc7b0JBQ1gsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLHlCQUF5QjtvQkFDekIsMEJBQTBCO29CQUMxQixzQkFBc0I7b0JBQ3RCLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0QixhQUFhO29CQUNiLGlCQUFpQjtvQkFDakIsb0JBQW9CO29CQUNwQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIsb0JBQW9CO29CQUNwQixZQUFZO29CQUNaLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixxQkFBcUI7b0JBQ3JCLG1CQUFtQjtvQkFDbkIsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsZUFBZTtpQkFLaEI7Z0JBQ0QsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLEVBQUU7YUFDakI7OztZQW5HUSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW1hZ2VNb2R1bGUgfSBmcm9tICcuL2ltYWdlL2ltYWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEJhc2ljTGluZUNoYXJ0TW9kdWxlIH0gZnJvbSAnLi9iYXNpYy1saW5lLWNoYXJ0L2Jhc2ljLWxpbmUtY2hhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRpbWVyTW9kdWxlIH0gZnJvbSAnLi90aW1lci90aW1lci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOdW1iZXJGbG9wTW9kdWxlIH0gZnJvbSAnLi9udW1iZXItZmxvcC9udW1iZXItZmxvcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBWb3RlTW9kdWxlIH0gZnJvbSAnLi92b3RlL3ZvdGUubW9kdWxlJztcclxuaW1wb3J0IHsgU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hNb2R1bGUgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcclxuaW1wb3J0IHsgV2VhdGhlck1vZHVsZSB9IGZyb20gJy4vd2VhdGhlci93ZWF0aGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFJhZGlvTW9kdWxlIH0gZnJvbSAnLi9yYWRpby9yYWRpby5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDaGVja2JveE1vZHVsZSB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3gubW9kdWxlJztcclxuaW1wb3J0IHsgUmF0ZU1vZHVsZSB9IGZyb20gJy4vcmF0ZS9yYXRlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEdlbmVyYWxUZXh0TW9kdWxlIH0gZnJvbSAnLi9nZW5lcmFsLXRleHQvZ2VuZXJhbC10ZXh0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IE1hcnF1ZWVNb2R1bGUgfSBmcm9tICcuL21hcnF1ZWUvbWFycXVlZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBXb3JkYXJ0TW9kdWxlIH0gZnJvbSAnLi93b3JkYXJ0L3dvcmRhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgSWNvbmZvbnRNb2R1bGUgfSBmcm9tICcuL2ljb25mb250L2ljb25mb250Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEF1ZGlvTW9kdWxlIH0gZnJvbSAnLi9hdWRpby9hdWRpby5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCYXNpY0JhckNoYXJ0TW9kdWxlIH0gZnJvbSAnLi9iYXNpYy1iYXItY2hhcnQvYmFzaWMtYmFyLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEJhc2ljUGllQ2hhcnRNb2R1bGUgfSBmcm9tICcuL2Jhc2ljLXBpZS1jaGFydC9iYXNpYy1waWUtY2hhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgQmFyQ2hhcnRUaHJlZURNb2R1bGUgfSBmcm9tICcuL2Jhci1jaGFydC10aHJlZS1kL2Jhci1jaGFydC10aHJlZS1kLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNoYXBlTW9kdWxlIH0gZnJvbSAnLi9zaGFwZS9zaGFwZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaW5lQmFyQ2hhcnRNb2R1bGUgfSBmcm9tICcuL2xpbmUtYmFyLWNoYXJ0L2xpbmUtYmFyLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEJ1YmJsZUNoYXJ0TW9kdWxlIH0gZnJvbSAnLi9idWJibGUtY2hhcnQvYnViYmxlLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFJhZGFyQ2hhcnRNb2R1bGUgfSBmcm9tICcuL3JhZGFyLWNoYXJ0L3JhZGFyLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEZ1bm5lbENoYXJ0TW9kdWxlIH0gZnJvbSAnLi9mdW5uZWwtY2hhcnQvZnVubmVsLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEJhY2tncm91bmRNb2R1bGUgfSBmcm9tICcuL2JhY2tncm91bmQvYmFja2dyb3VuZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBHYXVnZU1vZHVsZSB9IGZyb20gJy4vZ2F1Z2UvZ2F1Z2UubW9kdWxlJztcclxuaW1wb3J0IHsgUGVyY2VudFBpZUNoYXJ0TW9kdWxlIH0gZnJvbSAnLi9wZXJjZW50LXBpZS1jaGFydC9wZXJjZW50LXBpZS1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUcmVlUmluZ0NoYXJ0TW9kdWxlIH0gZnJvbSAnLi90cmVlLXJpbmctY2hhcnQvdHJlZS1yaW5nLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IExpcXVpZEZpbGxNb2R1bGUgfSBmcm9tICcuL2xpcXVpZC1maWxsL2xpcXVpZC1maWxsLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNodWZmbGluZ0xpc3RNb2R1bGUgfSBmcm9tICcuL3NodWZmbGluZy1saXN0L3NodWZmbGluZy1saXN0Lm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7RHJvcERvd25EZXRhaWxMaXN0TW9kdWxlfSBmcm9tICcuL2Ryb3AtZG93bi1kZXRhaWwtbGlzdC9kcm9wLWRvd24tZGV0YWlsLWxpc3QubW9kdWxlJztcclxuLy8gaW1wb3J0IHtEeW5hbWljTGlzdE1vZHVsZX0gZnJvbSAnLi9keW5hbWljLWxpc3QvZHluYW1pYy1saXN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEJhc2ljUGxhbmltZXRyaWNNYXBNb2R1bGUgfSBmcm9tICcuL2Jhc2ljLXBsYW5pbWV0cmljLW1hcC9iYXNpYy1wbGFuaW1ldHJpYy1tYXAubW9kdWxlJztcclxuaW1wb3J0IHsgQnJlYXRoaW5nQnViYmxlTGF5ZXJNb2R1bGUgfSBmcm9tICcuL2JyZWF0aGluZy1idWJibGUtbGF5ZXIvYnJlYXRoaW5nLWJ1YmJsZS1sYXllci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQbGFuaW1ldHJpY01hcDJkTW9kdWxlIH0gZnJvbSAnLi9wbGFuaW1ldHJpYy1tYXAyZC9wbGFuaW1ldHJpYy1tYXAyZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYXJlbnRDb250YWluZXJNb2R1bGUgfSBmcm9tICcuL3BhcmVudC1jb250YWluZXIvcGFyZW50LWNvbnRhaW5lci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQbGFuaW1ldHJpY01hcDNkTW9kdWxlIH0gZnJvbSAnLi9wbGFuaW1ldHJpYy1tYXAzZC9wbGFuaW1ldHJpYy1tYXAzZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNaXBBbmltQ29tcG9uZW50IH0gZnJvbSAnLi9taXAtYW5pbS9taXAtYW5pbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNaXBBbmltTW9kdWxlIH0gZnJvbSAnLi9taXAtYW5pbS9taXAtYW5pbS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUcmVlQ29udHJvbE1vZHVsZSB9IGZyb20gJy4vdHJlZS1jb250cm9sL3RyZWUtY29udHJvbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBWaXN1YWxNYXBDaGFydE1vZHVsZSB9IGZyb20gJy4vdmlzdWFsLW1hcC1jaGFydC92aXN1YWwtbWFwLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICcuL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRpbWVQaWNrZXJNb2R1bGUgfSBmcm9tICcuL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEN1c3RvbUJhaWR1TWFwTW9kdWxlIH0gZnJvbSAnLi9jdXN0b20tYmFpZHUtbWFwL2N1c3RvbS1iYWlkdS1tYXAubW9kdWxlJztcclxuaW1wb3J0IHsgV2lkZ2V0U2VydmljZSB9IGZyb20gJ2Jiai13aWRnZXQtYmFzZSc7XHJcbmltcG9ydCB7IEltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpY29ucyB9IGZyb20gJy4vaWNvbmZvbnQvaWNvbic7XHJcbmltcG9ydCB7IEljb25mb250Q29tcG9uZW50IH0gZnJvbSAnLi9pY29uZm9udC9pY29uZm9udC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHZW5lcmFsVGV4dENvbXBvbmVudCB9IGZyb20gJy4vZ2VuZXJhbC10ZXh0L2dlbmVyYWwtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXb3JkYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi93b3JkYXJ0L3dvcmRhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXVkaW9Db21wb25lbnQgfSBmcm9tICcuL2F1ZGlvL2F1ZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2ljTGluZUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNpYy1saW5lLWNoYXJ0L2Jhc2ljLWxpbmUtY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFyQ2hhcnRUaHJlZURDb21wb25lbnQgfSBmcm9tICcuL2Jhci1jaGFydC10aHJlZS1kL2Jhci1jaGFydC10aHJlZS1kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoYXBlQ29tcG9uZW50IH0gZnJvbSAnLi9zaGFwZS9zaGFwZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaW5lQmFyQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2xpbmUtYmFyLWNoYXJ0L2xpbmUtYmFyLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhY2tncm91bmRDb21wb25lbnQgfSBmcm9tICcuL2JhY2tncm91bmQvYmFja2dyb3VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNpY1BpZUNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNpYy1waWUtY2hhcnQvYmFzaWMtcGllLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhc2ljQmFyQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2Jhc2ljLWJhci1jaGFydC9iYXNpYy1iYXItY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRNb2R1bGUgfSBmcm9tICcuL3VwbG9hZC91cGxvYWQubW9kdWxlJztcclxuaW1wb3J0IHsgVHJlZUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3RyZWUtY29udHJvbC90cmVlLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3Jvc3NUYWJsZU1vZHVsZSB9IGZyb20gJy4vY3Jvc3MtdGFibGUvY3Jvc3MtdGFibGUubW9kdWxlJztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICcuL3RhYmxlL3RhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBpZTNkQ2hhcnRNb2R1bGUgfSBmcm9tICcuL3BpZTNkLWNoYXJ0L3BpZTNkLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IE11bHRpVGl0bGVHYXVnZU1vZHVsZSB9IGZyb20gJy4vbXVsdGktdGl0bGUtZ2F1Z2UvbXVsdGktdGl0bGUtZ2F1Z2UubW9kdWxlJztcclxuaW1wb3J0IHsgR2F1Z2VQcm9ncmVzc01vZHVsZSB9IGZyb20gJy4vZ2F1Z2UtcHJvZ3Jlc3MvZ2F1Z2UubW9kdWxlJztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1bGxldGluQm9hcmRNb2R1bGUgfSBmcm9tICcuL2J1bGxldGluLWJvYXJkL2J1bGxldGluLWJvYXJkLm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7TXlCYWlkdU1hcE1vZHVsZX0gZnJvbSAnLi9teS1iYWlkdS1tYXAvbXktYmFpZHUtbWFwLm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7RGF0YU1hcE1vZHVsZX0gZnJvbSAnLi9kYXRhLW1hcC9kYXRhLW1hcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBJdGVtU3dpcGVyTW9kdWxlIH0gZnJvbSAnLi9pdGVtLXN3aXBlci9pdGVtLXN3aXBlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUZW1wb3JhcnlEYXRhTW9kdWxlIH0gZnJvbSAnLi90ZW1wb3JhcnktZGF0YS90ZW1wb3JhcnktZGF0YS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaW5lTGlnaHRGbG93TW9kdWxlIH0gZnJvbSAnLi9saW5lLWxpZ2h0LWZsb3cvbGluZS1saWdodC1mbG93Lm1vZHVsZSc7XHJcbmltcG9ydCB7IElmcmFtZU1vZHVsZSB9IGZyb20gJy4vaWZyYW1lL2lmcmFtZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBWaWRlb0dyaWRNb2R1bGUgfSBmcm9tICcuL3ZpZGVvLWdyaWQvdmlkZW8tZ3JpZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTY2F0dGVyM2RNb2R1bGUgfSBmcm9tICcuL3NjYXR0ZXIzZC9zY2F0dGVyM2QubW9kdWxlJztcclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEltYWdlTW9kdWxlLFxyXG4gICAgQmFzaWNMaW5lQ2hhcnRNb2R1bGUsXHJcbiAgICBCYXNpY1BpZUNoYXJ0TW9kdWxlLFxyXG4gICAgQmFzaWNCYXJDaGFydE1vZHVsZSxcclxuICAgIExpbmVCYXJDaGFydE1vZHVsZSxcclxuICAgIEJhckNoYXJ0VGhyZWVETW9kdWxlLFxyXG4gICAgQnViYmxlQ2hhcnRNb2R1bGUsXHJcbiAgICBSYWRhckNoYXJ0TW9kdWxlLFxyXG4gICAgRnVubmVsQ2hhcnRNb2R1bGUsXHJcbiAgICBQZXJjZW50UGllQ2hhcnRNb2R1bGUsXHJcbiAgICBUcmVlUmluZ0NoYXJ0TW9kdWxlLFxyXG4gICAgR2F1Z2VNb2R1bGUsXHJcbiAgICBMaXF1aWRGaWxsTW9kdWxlLFxyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgVGltZXJNb2R1bGUsXHJcbiAgICBOdW1iZXJGbG9wTW9kdWxlLFxyXG4gICAgVm90ZU1vZHVsZSxcclxuICAgIFNlbGVjdE1vZHVsZSxcclxuICAgIFNlYXJjaE1vZHVsZSxcclxuICAgIFdlYXRoZXJNb2R1bGUsXHJcbiAgICBSYWRpb01vZHVsZSxcclxuICAgIENoZWNrYm94TW9kdWxlLFxyXG4gICAgUmF0ZU1vZHVsZSxcclxuICAgIEdlbmVyYWxUZXh0TW9kdWxlLFxyXG4gICAgTWFycXVlZU1vZHVsZSxcclxuICAgIFdvcmRhcnRNb2R1bGUsXHJcbiAgICBJY29uZm9udE1vZHVsZSxcclxuICAgIFRhYmxlTW9kdWxlLFxyXG4gICAgQXVkaW9Nb2R1bGUsXHJcbiAgICBTaGFwZU1vZHVsZSxcclxuICAgIEJhY2tncm91bmRNb2R1bGUsXHJcbiAgICBTaHVmZmxpbmdMaXN0TW9kdWxlLFxyXG4gICAgQmFzaWNQbGFuaW1ldHJpY01hcE1vZHVsZSxcclxuICAgIEJyZWF0aGluZ0J1YmJsZUxheWVyTW9kdWxlLFxyXG4gICAgUGxhbmltZXRyaWNNYXAyZE1vZHVsZSxcclxuICAgIFBhcmVudENvbnRhaW5lck1vZHVsZSxcclxuICAgIFBsYW5pbWV0cmljTWFwM2RNb2R1bGUsXHJcbiAgICBNaXBBbmltTW9kdWxlLFxyXG4gICAgVHJlZUNvbnRyb2xNb2R1bGUsXHJcbiAgICBWaXN1YWxNYXBDaGFydE1vZHVsZSxcclxuICAgIERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBUaW1lUGlja2VyTW9kdWxlLFxyXG4gICAgQ3VzdG9tQmFpZHVNYXBNb2R1bGUsXHJcbiAgICBVcGxvYWRNb2R1bGUsXHJcbiAgICBDcm9zc1RhYmxlTW9kdWxlLFxyXG4gICAgUGllM2RDaGFydE1vZHVsZSxcclxuICAgIE11bHRpVGl0bGVHYXVnZU1vZHVsZSxcclxuICAgIEdhdWdlUHJvZ3Jlc3NNb2R1bGUsXHJcbiAgICBJdGVtU3dpcGVyTW9kdWxlLFxyXG4gICAgQnVsbGV0aW5Cb2FyZE1vZHVsZSxcclxuICAgIFRlbXBvcmFyeURhdGFNb2R1bGUsXHJcbiAgICBMaW5lTGlnaHRGbG93TW9kdWxlLFxyXG4gICAgSWZyYW1lTW9kdWxlLFxyXG4gICAgVmlkZW9HcmlkTW9kdWxlLFxyXG4gICAgU2NhdHRlcjNkTW9kdWxlLFxyXG4gICAgLy8gRHJvcERvd25EZXRhaWxMaXN0TW9kdWxlLFxyXG4gICAgLy8gRHluYW1pY0xpc3RNb2R1bGUsXHJcbiAgICAvLyBNeUJhaWR1TWFwTW9kdWxlLFxyXG4gICAgLy8gRGF0YU1hcE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW10sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNjcmVlbldpZGdldE1vZHVsZSB7XHJcbiAgY29uc3RydWN0b3Iod2lkZ2V0U2VydmljZTogV2lkZ2V0U2VydmljZSkge1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihCdXR0b25Db21wb25lbnQsIHsgc2l6ZTogeyB3aWR0aDogNjAsIGhlaWdodDogMzAgfSB9KTtcclxuICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoU2VsZWN0Q29tcG9uZW50LCB7XHJcbiAgICAgIHNpemU6IHsgd2lkdGg6IDIwMCwgaGVpZ2h0OiAzNiB9LFxyXG4gICAgICBvcHRpb246IHtcclxuICAgICAgICBib3JkZXJDb2xvcjogJyMzMjg1ZmYnLFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDUwLDEzMywyNTUsMC4yKScsXHJcbiAgICAgICAgZHJvcGRvd25CYWNrZ3JvdW5kQ29sb3I6ICcjMzI4NWZmJyxcclxuICAgICAgICBzZWxlY3REcm9wRG93bkNvbG9yOiAnI2ZmZicsXHJcbiAgICAgICAgc2VsZWN0SG92ZXJDb2xvcjogJyNmZmYnLFxyXG4gICAgICAgIHNlbGVjdEhvdmVyQmFja2dyb3VuZENvbG9yOiAnIzMyODVmZicsXHJcbiAgICAgICAgZm9udDogeyBjb2xvcjogJyNmZmZmZmYnIH0sXHJcbiAgICAgICAgZHJvcGRvd25CZzogJ3JnYmEoNTAsMTMzLDI1NSwwLjIpJyxcclxuICAgICAgICBkcm9wZG93bkJvcmRlckNvbG9yOiAnIzMyODVmZicsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IDgyOyBpKyspIHtcclxuICAgICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihJbWFnZUNvbXBvbmVudCwge1xyXG4gICAgICAgIG9wdGlvbjogeyBpbWFnZTogYGFzc2V0cy9pbWcvc2NyZWVuL3BpY3R1cmUke2l9LnBuZ2AgfSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpY29ucy5mb3JFYWNoKChpY29uKSA9PiB7XHJcbiAgICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoSWNvbmZvbnRDb21wb25lbnQsIHtcclxuICAgICAgICBvcHRpb246IHsgaWNvbiB9LFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihcclxuICAgICAgR2VuZXJhbFRleHRDb21wb25lbnQsXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICdiaWctdGl0bGUgdGl0bGUnLFxyXG4gICAgICAgIHRpdGxlOiAn5aSn5qCH6aKYJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHRpdGxlOiAn5aSn5qCH6aKYJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnJywgY29sb3I6ICcjZmZmZmZmJywgd2VpZ2h0OiAnbm9ybWFsJywgc2l6ZTogMzYsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiA1MCB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICdub3JtYWwtdGl0bGUgdGl0bGUnLFxyXG4gICAgICAgIHRpdGxlOiAn5qCH6aKYJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHRpdGxlOiAn5qCH6aKYJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnJywgY29sb3I6ICcjZmZmZmZmJywgd2VpZ2h0OiAnbm9ybWFsJywgc2l6ZTogMzIsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiA0NSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICdzdWJ0aXRsZSB0aXRsZScsXHJcbiAgICAgICAgdGl0bGU6ICflia/moIfpopgnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICflia/moIfpopgnLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICcnLCBjb2xvcjogJyNmZmZmZmYnLCB3ZWlnaHQ6ICdub3JtYWwnLCBzaXplOiAyNCwgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6IDMzIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsLXRpdGxlIHRpdGxlJyxcclxuICAgICAgICB0aXRsZTogJ+Wwj+agh+mimCcsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+Wwj+agh+mimCcsXHJcbiAgICAgICAgICBmb250OiB7IGZhbWlseTogJycsIGNvbG9yOiAnI2ZmZmZmZicsIHdlaWdodDogJ25vcm1hbCcsIHNpemU6IDE2LCBzcGFjZTogMCwgbGluZUhlaWdodDogMjIgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NOYW1lOiAnY29udGVudCB0aXRsZScsXHJcbiAgICAgICAgdGl0bGU6ICfmraPmloflhoXlrrknLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICfmraPmloflhoXlrrknLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICcnLCBjb2xvcjogJyNmZmZmZmYnLCB3ZWlnaHQ6ICdub3JtYWwnLCBzaXplOiAxMywgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6IDE4IH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBXb3JkYXJ0Q29tcG9uZW50LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NOYW1lOiAnd29yZGFydDEgd29yZGFydCcsXHJcbiAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICdjdXJzaXZlJywgY29sb3I6ICcjMzI4NUZGJywgd2VpZ2h0OiAnbm9ybWFsJywgc2l6ZTogMjQsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiAnJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICd3b3JkYXJ0MiB3b3JkYXJ0JyxcclxuICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgICBmb250OiB7IGZhbWlseTogJ3NhbnMtc2VyaWYnLCBjb2xvcjogJyM3ZWU1Y2UnLCB3ZWlnaHQ6ICdib2xkJywgc2l6ZTogMjQsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiAnJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICd3b3JkYXJ0MyB3b3JkYXJ0JyxcclxuICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICctd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMwOUZGREQgMTQlLCAjMDA1NUZGIDEwMCUpJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnc2Fucy1zZXJpZicsIGNvbG9yOiAnIzdlZTVjZScsIHdlaWdodDogJ2JvbGQnLCBzaXplOiAyNCwgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6ICcnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGNsYXNzTmFtZTogJ3dvcmRhcnQ0IHdvcmRhcnQnLFxyXG4gICAgICAgIHRpdGxlOiAn5Y+v6KeG5YyW5pWw5a2X5aSn5bGPJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHRpdGxlOiAn5Y+v6KeG5YyW5pWw5a2X5aSn5bGPJyxcclxuICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogJy13ZWJraXQtbGluZWFyLWdyYWRpZW50KC05MGRlZywgI0Y3NkIxQyAxNCUsICNGQUQ5NjEgMTAwJSknLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICdzYW5zLXNlcmlmJywgY29sb3I6ICcjN2VlNWNlJywgd2VpZ2h0OiAnYm9sZCcsIHNpemU6IDI0LCBzcGFjZTogMCwgbGluZUhlaWdodDogJycgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NOYW1lOiAnd29yZGFydDUgd29yZGFydCcsXHJcbiAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgICAgYmFja2dyb3VuZEltYWdlOiAnLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjQjRFQzUxIDE0JSwgIzQyOTMyMSAxMDAlKScsXHJcbiAgICAgICAgICBmb250OiB7IGZhbWlseTogJ3NhbnMtc2VyaWYnLCBjb2xvcjogJyM3ZWU1Y2UnLCB3ZWlnaHQ6ICdib2xkJywgc2l6ZTogMjQsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiAnJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICd3b3JkYXJ0NiB3b3JkYXJ0JyxcclxuICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICctd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMzMDIzQUUgMTQlLCAjRkU1NUZGIDEwMCUpJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnc2Fucy1zZXJpZicsIGNvbG9yOiAnIzdlZTVjZScsIHdlaWdodDogJ2JvbGQnLCBzaXplOiAyNCwgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6ICcnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBBdWRpb0NvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn6KeG6aKRZGVtbycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAndmlkZW8nLFxyXG4gICAgICAgICAgc3JjOiAnaHR0cHM6Ly94aWNoZS5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vdmlkZW8vMjAxODA0MTcxNTQ0MjEubXA0JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfpn7PpopFkZW1vJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdhdWRpbycsXHJcbiAgICAgICAgICBzcmM6ICdodHRwczovL3hpY2hlLm9zcy1jbi1iZWlqaW5nLmFsaXl1bmNzLmNvbS92aWRlby8yMDE4MDQxNzE1NDQyMS5tcDQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihcclxuICAgICAgQmFzaWNMaW5lQ2hhcnRDb21wb25lbnQsXHJcbiAgICAgIHtcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdiYXNpYycsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vYmFzaWMtbGluZS1jaGFydC5wbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfljLrln5/mipjnur/lm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vYXJlYS1saW5lLWNoYXJ0LnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnYXJlYScsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfln7rmnKzmm7Lnur/lm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vc21vb3RoLWxpbmUtY2hhcnQucG5nJyxcclxuICAgICAgICBncm91cDogJ3Ntb290aExpbmVDaGFydCcsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnc21vb3RoJyxcclxuICAgICAgICAgIGZvbnQ6IHsgY29sb3I6ICcjRkZGRkZGJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WMuuWfn+absue6v+WbvicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zbW9vdGgtYXJlYS1saW5lLWNoYXJ0LnBuZycsXHJcbiAgICAgICAgZ3JvdXA6ICdzbW9vdGhMaW5lQ2hhcnQnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ3Ntb290aC1hcmVhJyxcclxuICAgICAgICAgIGZvbnQ6IHsgY29sb3I6ICcjRkZGRkZGJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+mYtuair+e6v+WbvicsXHJcbiAgICAgICAgZ3JvdXA6ICdzdGVwTGluZUNoYXJ0JyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdzdGVwJyxcclxuICAgICAgICAgIHN0ZXA6ICdlbmQnLFxyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL2Jhc2ljLWxpbmUtY2hhcnQucG5nJyxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBCYXNpY1BpZUNoYXJ0Q29tcG9uZW50LFxyXG4gICAgICB7XHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnYmFzaWMnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+eOr+W9oumlvOWbvicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9waWUtby5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ3JpbmcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+eOq+eRsOmlvOWbvicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9yb3NlUGllLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncm9zZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn546r55Gw546v5b2i6aW85Zu+JyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3Jvc2VSaW5nUGllLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncm9zZVJpbmcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihcclxuICAgICAgQmFzaWNCYXJDaGFydENvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5aCG5Y+g5p+x5Zu+JyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL2RvdWJsZUJhci5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ2RvdWJsZScsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfmqKrlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vaG9yaUJhci5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ2hvcmknLFxyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5qiq5ZCR5aCG5Y+g5p+x5Zu+JyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL2RvdWJsZUhvcmlCYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdob3JpRCcsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICflj4zlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vZG91YmxlQ29sb3JCYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdkY29sb3InLFxyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBCYXJDaGFydFRocmVlRENvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0Tmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0RiYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICczRCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0TloIblj6Dmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0Rkb3VibGVCYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICczRGRvdWJsZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0TmqKrlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0Rob3JpQmFyLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnaG9yaScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0TloIblj6DmqKrlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0Rkb3VibGVIb3JpQmFyLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnaG9yaUQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihUcmVlQ29udHJvbENvbXBvbmVudCwge1xyXG4gICAgICBvcHRpb246IHtcclxuICAgICAgICBmb250OiB7XHJcbiAgICAgICAgICBjb2xvcjogJyNmZmZmZmYnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoXHJcbiAgICAgIFNoYXBlQ29tcG9uZW50LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfnur/mnaEnLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vc2hhcGUwMS5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+S4ieinkuW9oicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTA2LnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAndHJpYW5nbGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+efqeW9oicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTAzLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncmVjdCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5ZyG6KeS55+p5b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDQucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdyZWN0JyxcclxuICAgICAgICAgIGZpbGxldDogMTYsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5bmz6KGM5Zub6L655b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDkucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdwYXJhbGxlbG9ncmFtJyxcclxuICAgICAgICAgIGRldmlhdGlvbjogMzAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5qKv5b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMTAucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICd0cmFwZXpvaWQnLFxyXG4gICAgICAgICAgdXBwZXI6IDUwLFxyXG4gICAgICAgICAgYm90dG9tOiAxMDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5LqU6L655b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDgucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdwb2x5Z29ucGx1cycsXHJcbiAgICAgICAgICBzaWRlOiA1LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+S6lOinkuaYnycsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTA3LnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncG9seWhlZHJvc2lzJyxcclxuICAgICAgICAgIHNpZGU6IDUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5ZyG5b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDUucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdjaXJjbGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+eureWktCcsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTExLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncG9seWdvbicsXHJcbiAgICAgICAgICBkYXRhOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB4OiAyMCxcclxuICAgICAgICAgICAgICB5OiA4MCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDEwMCxcclxuICAgICAgICAgICAgICB5OiA4MCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDEwMCxcclxuICAgICAgICAgICAgICB5OiA0MCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDE4MCxcclxuICAgICAgICAgICAgICB5OiAxMDAsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB4OiAxMDAsXHJcbiAgICAgICAgICAgICAgeTogMTYwLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgeDogMTAwLFxyXG4gICAgICAgICAgICAgIHk6IDEyMCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDIwLFxyXG4gICAgICAgICAgICAgIHk6IDEyMCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSA3NTsgaSsrKSB7XHJcbiAgICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoQmFja2dyb3VuZENvbXBvbmVudCwge1xyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgaW1hZ2U6IGBhc3NldHMvaW1nL3NjcmVlbi9tb2R1bGVCZyR7aX0ucG5nYCxcclxuICAgICAgICAgIHR5cGU6ICdiYWNrZ3JvdW5kJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IDg7IGkrKykge1xyXG4gICAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKEJhY2tncm91bmRDb21wb25lbnQsIHtcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIGltYWdlOiBgYXNzZXRzL2ltZy9zY3JlZW4vYm9yZGVyJHtpfS5wbmdgLFxyXG4gICAgICAgICAgdHlwZTogJ2JhY2tncm91bmQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gODsgaSsrKSB7XHJcbiAgICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoQmFja2dyb3VuZENvbXBvbmVudCwge1xyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgaW1hZ2U6IGBhc3NldHMvaW1nL3NjcmVlbi9iZyR7aX0ucG5nYCxcclxuICAgICAgICAgIHR5cGU6ICdib3JkZXInLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgWydhc3NldHMvaW1nL3NjcmVlbi9taXBBbmltMS5naWYnLCAnYXNzZXRzL2ltZy9zY3JlZW4vbWlwQW5pbTIuZ2lmJ10uZm9yRWFjaCgoaW1hZ2UpID0+IHtcclxuICAgICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihNaXBBbmltQ29tcG9uZW50LCB7XHJcbiAgICAgICAgb3B0aW9uOiB7IGltYWdlIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKERhdGVQaWNrZXJDb21wb25lbnQsIHtcclxuICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgYm9yZGVyQ29sb3I6ICcjMzI4NWZmJyxcclxuICAgICAgICBmb250OiB7IGNvbG9yOiAnIzMyODVmZicgfSxcclxuICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSg1MCwxMzMsMjU1LDAuMiknLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKENoZWNrYm94Q29tcG9uZW50LCB7XHJcbiAgICAgIG9wdGlvbjogeyBmb250OiB7IGNvbG9yOiAnI2ZmZmZmZicgfSB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
542
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXdpZGdldC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zY3JlZW4td2lkZ2V0L3NyYy9saWIvc2NyZWVuLXdpZGdldC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7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O29CQUNoQixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsbUJBQW1CO29CQUNuQixXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsWUFBWTtvQkFDWixXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsVUFBVTtvQkFDVixZQUFZO29CQUNaLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixXQUFXO29CQUNYLGNBQWM7b0JBQ2QsVUFBVTtvQkFDVixpQkFBaUI7b0JBQ2pCLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixjQUFjO29CQUNkLFdBQVc7b0JBQ1gsV0FBVztvQkFDWCxXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQix5QkFBeUI7b0JBQ3pCLDBCQUEwQjtvQkFDMUIsc0JBQXNCO29CQUN0QixxQkFBcUI7b0JBQ3JCLHNCQUFzQjtvQkFDdEIsYUFBYTtvQkFDYixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtvQkFDaEIscUJBQXFCO29CQUNyQixtQkFBbUI7b0JBQ25CLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixlQUFlO29CQUNmLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCw0QkFBNEI7b0JBQzVCLHFCQUFxQjtvQkFDckIsb0JBQW9CO29CQUNwQixnQkFBZ0I7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRSxFQUFFO2dCQUNYLFlBQVksRUFBRSxFQUFFO2FBQ2pCOzs7WUFyR1EsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEltYWdlTW9kdWxlIH0gZnJvbSAnLi9pbWFnZS9pbWFnZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCYXNpY0xpbmVDaGFydE1vZHVsZSB9IGZyb20gJy4vYmFzaWMtbGluZS1jaGFydC9iYXNpYy1saW5lLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUaW1lck1vZHVsZSB9IGZyb20gJy4vdGltZXIvdGltZXIubW9kdWxlJztcclxuaW1wb3J0IHsgTnVtYmVyRmxvcE1vZHVsZSB9IGZyb20gJy4vbnVtYmVyLWZsb3AvbnVtYmVyLWZsb3AubW9kdWxlJztcclxuaW1wb3J0IHsgVm90ZU1vZHVsZSB9IGZyb20gJy4vdm90ZS92b3RlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFNlbGVjdE1vZHVsZSB9IGZyb20gJy4vc2VsZWN0L3NlbGVjdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2VhcmNoTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2gvc2VhcmNoLm1vZHVsZSc7XHJcbmltcG9ydCB7IFdlYXRoZXJNb2R1bGUgfSBmcm9tICcuL3dlYXRoZXIvd2VhdGhlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBSYWRpb01vZHVsZSB9IGZyb20gJy4vcmFkaW8vcmFkaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgQ2hlY2tib3hNb2R1bGUgfSBmcm9tICcuL2NoZWNrYm94L2NoZWNrYm94Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFJhdGVNb2R1bGUgfSBmcm9tICcuL3JhdGUvcmF0ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBHZW5lcmFsVGV4dE1vZHVsZSB9IGZyb20gJy4vZ2VuZXJhbC10ZXh0L2dlbmVyYWwtdGV4dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNYXJxdWVlTW9kdWxlIH0gZnJvbSAnLi9tYXJxdWVlL21hcnF1ZWUubW9kdWxlJztcclxuaW1wb3J0IHsgV29yZGFydE1vZHVsZSB9IGZyb20gJy4vd29yZGFydC93b3JkYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEljb25mb250TW9kdWxlIH0gZnJvbSAnLi9pY29uZm9udC9pY29uZm9udC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBdWRpb01vZHVsZSB9IGZyb20gJy4vYXVkaW8vYXVkaW8ubW9kdWxlJztcclxuaW1wb3J0IHsgQmFzaWNCYXJDaGFydE1vZHVsZSB9IGZyb20gJy4vYmFzaWMtYmFyLWNoYXJ0L2Jhc2ljLWJhci1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCYXNpY1BpZUNoYXJ0TW9kdWxlIH0gZnJvbSAnLi9iYXNpYy1waWUtY2hhcnQvYmFzaWMtcGllLWNoYXJ0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IEJhckNoYXJ0VGhyZWVETW9kdWxlIH0gZnJvbSAnLi9iYXItY2hhcnQtdGhyZWUtZC9iYXItY2hhcnQtdGhyZWUtZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaGFwZU1vZHVsZSB9IGZyb20gJy4vc2hhcGUvc2hhcGUubW9kdWxlJztcclxuaW1wb3J0IHsgTGluZUJhckNoYXJ0TW9kdWxlIH0gZnJvbSAnLi9saW5lLWJhci1jaGFydC9saW5lLWJhci1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCdWJibGVDaGFydE1vZHVsZSB9IGZyb20gJy4vYnViYmxlLWNoYXJ0L2J1YmJsZS1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBSYWRhckNoYXJ0TW9kdWxlIH0gZnJvbSAnLi9yYWRhci1jaGFydC9yYWRhci1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBGdW5uZWxDaGFydE1vZHVsZSB9IGZyb20gJy4vZnVubmVsLWNoYXJ0L2Z1bm5lbC1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kTW9kdWxlIH0gZnJvbSAnLi9iYWNrZ3JvdW5kL2JhY2tncm91bmQubW9kdWxlJztcclxuaW1wb3J0IHsgR2F1Z2VNb2R1bGUgfSBmcm9tICcuL2dhdWdlL2dhdWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBlcmNlbnRQaWVDaGFydE1vZHVsZSB9IGZyb20gJy4vcGVyY2VudC1waWUtY2hhcnQvcGVyY2VudC1waWUtY2hhcnQubW9kdWxlJztcclxuaW1wb3J0IHsgVHJlZVJpbmdDaGFydE1vZHVsZSB9IGZyb20gJy4vdHJlZS1yaW5nLWNoYXJ0L3RyZWUtcmluZy1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaXF1aWRGaWxsTW9kdWxlIH0gZnJvbSAnLi9saXF1aWQtZmlsbC9saXF1aWQtZmlsbC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTaHVmZmxpbmdMaXN0TW9kdWxlIH0gZnJvbSAnLi9zaHVmZmxpbmctbGlzdC9zaHVmZmxpbmctbGlzdC5tb2R1bGUnO1xyXG4vLyBpbXBvcnQge0Ryb3BEb3duRGV0YWlsTGlzdE1vZHVsZX0gZnJvbSAnLi9kcm9wLWRvd24tZGV0YWlsLWxpc3QvZHJvcC1kb3duLWRldGFpbC1saXN0Lm1vZHVsZSc7XHJcbi8vIGltcG9ydCB7RHluYW1pY0xpc3RNb2R1bGV9IGZyb20gJy4vZHluYW1pYy1saXN0L2R5bmFtaWMtbGlzdC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBCYXNpY1BsYW5pbWV0cmljTWFwTW9kdWxlIH0gZnJvbSAnLi9iYXNpYy1wbGFuaW1ldHJpYy1tYXAvYmFzaWMtcGxhbmltZXRyaWMtbWFwLm1vZHVsZSc7XHJcbmltcG9ydCB7IEJyZWF0aGluZ0J1YmJsZUxheWVyTW9kdWxlIH0gZnJvbSAnLi9icmVhdGhpbmctYnViYmxlLWxheWVyL2JyZWF0aGluZy1idWJibGUtbGF5ZXIubW9kdWxlJztcclxuaW1wb3J0IHsgUGxhbmltZXRyaWNNYXAyZE1vZHVsZSB9IGZyb20gJy4vcGxhbmltZXRyaWMtbWFwMmQvcGxhbmltZXRyaWMtbWFwMmQubW9kdWxlJztcclxuaW1wb3J0IHsgUGFyZW50Q29udGFpbmVyTW9kdWxlIH0gZnJvbSAnLi9wYXJlbnQtY29udGFpbmVyL3BhcmVudC1jb250YWluZXIubW9kdWxlJztcclxuaW1wb3J0IHsgUGxhbmltZXRyaWNNYXAzZE1vZHVsZSB9IGZyb20gJy4vcGxhbmltZXRyaWMtbWFwM2QvcGxhbmltZXRyaWMtbWFwM2QubW9kdWxlJztcclxuaW1wb3J0IHsgTWlwQW5pbUNvbXBvbmVudCB9IGZyb20gJy4vbWlwLWFuaW0vbWlwLWFuaW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWlwQW5pbU1vZHVsZSB9IGZyb20gJy4vbWlwLWFuaW0vbWlwLWFuaW0ubW9kdWxlJztcclxuaW1wb3J0IHsgVHJlZUNvbnRyb2xNb2R1bGUgfSBmcm9tICcuL3RyZWUtY29udHJvbC90cmVlLWNvbnRyb2wubW9kdWxlJztcclxuaW1wb3J0IHsgVmlzdWFsTWFwQ2hhcnRNb2R1bGUgfSBmcm9tICcuL3Zpc3VhbC1tYXAtY2hhcnQvdmlzdWFsLW1hcC1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyTW9kdWxlIH0gZnJvbSAnLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDdXN0b21CYWlkdU1hcE1vZHVsZSB9IGZyb20gJy4vY3VzdG9tLWJhaWR1LW1hcC9jdXN0b20tYmFpZHUtbWFwLm1vZHVsZSc7XHJcbmltcG9ydCB7IFdpZGdldFNlcnZpY2UgfSBmcm9tICdiYmotd2lkZ2V0LWJhc2UnO1xyXG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgaWNvbnMgfSBmcm9tICcuL2ljb25mb250L2ljb24nO1xyXG5pbXBvcnQgeyBJY29uZm9udENvbXBvbmVudCB9IGZyb20gJy4vaWNvbmZvbnQvaWNvbmZvbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR2VuZXJhbFRleHRDb21wb25lbnQgfSBmcm9tICcuL2dlbmVyYWwtdGV4dC9nZW5lcmFsLXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV29yZGFydENvbXBvbmVudCB9IGZyb20gJy4vd29yZGFydC93b3JkYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1ZGlvQ29tcG9uZW50IH0gZnJvbSAnLi9hdWRpby9hdWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNpY0xpbmVDaGFydENvbXBvbmVudCB9IGZyb20gJy4vYmFzaWMtbGluZS1jaGFydC9iYXNpYy1saW5lLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJhckNoYXJ0VGhyZWVEQ29tcG9uZW50IH0gZnJvbSAnLi9iYXItY2hhcnQtdGhyZWUtZC9iYXItY2hhcnQtdGhyZWUtZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGFwZUNvbXBvbmVudCB9IGZyb20gJy4vc2hhcGUvc2hhcGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGluZUJhckNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9saW5lLWJhci1jaGFydC9saW5lLWJhci1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi9iYWNrZ3JvdW5kL2JhY2tncm91bmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFzaWNQaWVDaGFydENvbXBvbmVudCB9IGZyb20gJy4vYmFzaWMtcGllLWNoYXJ0L2Jhc2ljLXBpZS1jaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNpY0JhckNoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXNpYy1iYXItY2hhcnQvYmFzaWMtYmFyLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkTW9kdWxlIH0gZnJvbSAnLi91cGxvYWQvdXBsb2FkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyZWVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi90cmVlLWNvbnRyb2wvdHJlZS1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyb3NzVGFibGVNb2R1bGUgfSBmcm9tICcuL2Nyb3NzLXRhYmxlL2Nyb3NzLXRhYmxlLm1vZHVsZSc7XHJcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAnLi90YWJsZS90YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQaWUzZENoYXJ0TW9kdWxlIH0gZnJvbSAnLi9waWUzZC1jaGFydC9waWUzZC1jaGFydC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBNdWx0aVRpdGxlR2F1Z2VNb2R1bGUgfSBmcm9tICcuL211bHRpLXRpdGxlLWdhdWdlL211bHRpLXRpdGxlLWdhdWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7IEdhdWdlUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tICcuL2dhdWdlLXByb2dyZXNzL2dhdWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWxsZXRpbkJvYXJkTW9kdWxlIH0gZnJvbSAnLi9idWxsZXRpbi1ib2FyZC9idWxsZXRpbi1ib2FyZC5tb2R1bGUnO1xyXG4vLyBpbXBvcnQge015QmFpZHVNYXBNb2R1bGV9IGZyb20gJy4vbXktYmFpZHUtbWFwL215LWJhaWR1LW1hcC5tb2R1bGUnO1xyXG4vLyBpbXBvcnQge0RhdGFNYXBNb2R1bGV9IGZyb20gJy4vZGF0YS1tYXAvZGF0YS1tYXAubW9kdWxlJztcclxuaW1wb3J0IHsgSXRlbVN3aXBlck1vZHVsZSB9IGZyb20gJy4vaXRlbS1zd2lwZXIvaXRlbS1zd2lwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgVGVtcG9yYXJ5RGF0YU1vZHVsZSB9IGZyb20gJy4vdGVtcG9yYXJ5LWRhdGEvdGVtcG9yYXJ5LWRhdGEubW9kdWxlJztcclxuaW1wb3J0IHsgTGluZUxpZ2h0Rmxvd01vZHVsZSB9IGZyb20gJy4vbGluZS1saWdodC1mbG93L2xpbmUtbGlnaHQtZmxvdy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBJZnJhbWVNb2R1bGUgfSBmcm9tICcuL2lmcmFtZS9pZnJhbWUubW9kdWxlJztcclxuaW1wb3J0IHsgVmlkZW9HcmlkTW9kdWxlIH0gZnJvbSAnLi92aWRlby1ncmlkL3ZpZGVvLWdyaWQubW9kdWxlJztcclxuaW1wb3J0IHsgU2NhdHRlcjNkTW9kdWxlIH0gZnJvbSAnLi9zY2F0dGVyM2Qvc2NhdHRlcjNkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRpYW5kaXR1TW9kdWxlIH0gZnJvbSAnLi90aWFuZGl0dS90aWFuZGl0dS5tb2R1bGUnO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgSW1hZ2VNb2R1bGUsXHJcbiAgICBCYXNpY0xpbmVDaGFydE1vZHVsZSxcclxuICAgIEJhc2ljUGllQ2hhcnRNb2R1bGUsXHJcbiAgICBCYXNpY0JhckNoYXJ0TW9kdWxlLFxyXG4gICAgTGluZUJhckNoYXJ0TW9kdWxlLFxyXG4gICAgQmFyQ2hhcnRUaHJlZURNb2R1bGUsXHJcbiAgICBCdWJibGVDaGFydE1vZHVsZSxcclxuICAgIFJhZGFyQ2hhcnRNb2R1bGUsXHJcbiAgICBGdW5uZWxDaGFydE1vZHVsZSxcclxuICAgIFBlcmNlbnRQaWVDaGFydE1vZHVsZSxcclxuICAgIFRyZWVSaW5nQ2hhcnRNb2R1bGUsXHJcbiAgICBHYXVnZU1vZHVsZSxcclxuICAgIExpcXVpZEZpbGxNb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBUaW1lck1vZHVsZSxcclxuICAgIE51bWJlckZsb3BNb2R1bGUsXHJcbiAgICBWb3RlTW9kdWxlLFxyXG4gICAgU2VsZWN0TW9kdWxlLFxyXG4gICAgU2VhcmNoTW9kdWxlLFxyXG4gICAgV2VhdGhlck1vZHVsZSxcclxuICAgIFJhZGlvTW9kdWxlLFxyXG4gICAgQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBSYXRlTW9kdWxlLFxyXG4gICAgR2VuZXJhbFRleHRNb2R1bGUsXHJcbiAgICBNYXJxdWVlTW9kdWxlLFxyXG4gICAgV29yZGFydE1vZHVsZSxcclxuICAgIEljb25mb250TW9kdWxlLFxyXG4gICAgVGFibGVNb2R1bGUsXHJcbiAgICBBdWRpb01vZHVsZSxcclxuICAgIFNoYXBlTW9kdWxlLFxyXG4gICAgQmFja2dyb3VuZE1vZHVsZSxcclxuICAgIFNodWZmbGluZ0xpc3RNb2R1bGUsXHJcbiAgICBCYXNpY1BsYW5pbWV0cmljTWFwTW9kdWxlLFxyXG4gICAgQnJlYXRoaW5nQnViYmxlTGF5ZXJNb2R1bGUsXHJcbiAgICBQbGFuaW1ldHJpY01hcDJkTW9kdWxlLFxyXG4gICAgUGFyZW50Q29udGFpbmVyTW9kdWxlLFxyXG4gICAgUGxhbmltZXRyaWNNYXAzZE1vZHVsZSxcclxuICAgIE1pcEFuaW1Nb2R1bGUsXHJcbiAgICBUcmVlQ29udHJvbE1vZHVsZSxcclxuICAgIFZpc3VhbE1hcENoYXJ0TW9kdWxlLFxyXG4gICAgRGF0ZVBpY2tlck1vZHVsZSxcclxuICAgIFRpbWVQaWNrZXJNb2R1bGUsXHJcbiAgICBDdXN0b21CYWlkdU1hcE1vZHVsZSxcclxuICAgIFVwbG9hZE1vZHVsZSxcclxuICAgIENyb3NzVGFibGVNb2R1bGUsXHJcbiAgICBQaWUzZENoYXJ0TW9kdWxlLFxyXG4gICAgTXVsdGlUaXRsZUdhdWdlTW9kdWxlLFxyXG4gICAgR2F1Z2VQcm9ncmVzc01vZHVsZSxcclxuICAgIEl0ZW1Td2lwZXJNb2R1bGUsXHJcbiAgICBCdWxsZXRpbkJvYXJkTW9kdWxlLFxyXG4gICAgVGVtcG9yYXJ5RGF0YU1vZHVsZSxcclxuICAgIExpbmVMaWdodEZsb3dNb2R1bGUsXHJcbiAgICBJZnJhbWVNb2R1bGUsXHJcbiAgICBWaWRlb0dyaWRNb2R1bGUsXHJcbiAgICBTY2F0dGVyM2RNb2R1bGUsXHJcbiAgICBUaWFuZGl0dU1vZHVsZVxyXG4gICAgLy8gRHJvcERvd25EZXRhaWxMaXN0TW9kdWxlLFxyXG4gICAgLy8gRHluYW1pY0xpc3RNb2R1bGUsXHJcbiAgICAvLyBNeUJhaWR1TWFwTW9kdWxlLFxyXG4gICAgLy8gRGF0YU1hcE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW10sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNjcmVlbldpZGdldE1vZHVsZSB7XHJcbiAgY29uc3RydWN0b3Iod2lkZ2V0U2VydmljZTogV2lkZ2V0U2VydmljZSkge1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihCdXR0b25Db21wb25lbnQsIHsgc2l6ZTogeyB3aWR0aDogNjAsIGhlaWdodDogMzAgfSB9KTtcclxuICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoU2VsZWN0Q29tcG9uZW50LCB7XHJcbiAgICAgIHNpemU6IHsgd2lkdGg6IDIwMCwgaGVpZ2h0OiAzNiB9LFxyXG4gICAgICBvcHRpb246IHtcclxuICAgICAgICBib3JkZXJDb2xvcjogJyMzMjg1ZmYnLFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDUwLDEzMywyNTUsMC4yKScsXHJcbiAgICAgICAgZHJvcGRvd25CYWNrZ3JvdW5kQ29sb3I6ICcjMzI4NWZmJyxcclxuICAgICAgICBzZWxlY3REcm9wRG93bkNvbG9yOiAnI2ZmZicsXHJcbiAgICAgICAgc2VsZWN0SG92ZXJDb2xvcjogJyNmZmYnLFxyXG4gICAgICAgIHNlbGVjdEhvdmVyQmFja2dyb3VuZENvbG9yOiAnIzMyODVmZicsXHJcbiAgICAgICAgZm9udDogeyBjb2xvcjogJyNmZmZmZmYnIH0sXHJcbiAgICAgICAgZHJvcGRvd25CZzogJ3JnYmEoNTAsMTMzLDI1NSwwLjIpJyxcclxuICAgICAgICBkcm9wZG93bkJvcmRlckNvbG9yOiAnIzMyODVmZicsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IDgyOyBpKyspIHtcclxuICAgICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihJbWFnZUNvbXBvbmVudCwge1xyXG4gICAgICAgIG9wdGlvbjogeyBpbWFnZTogYGFzc2V0cy9pbWcvc2NyZWVuL3BpY3R1cmUke2l9LnBuZ2AgfSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpY29ucy5mb3JFYWNoKChpY29uKSA9PiB7XHJcbiAgICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoSWNvbmZvbnRDb21wb25lbnQsIHtcclxuICAgICAgICBvcHRpb246IHsgaWNvbiB9LFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihcclxuICAgICAgR2VuZXJhbFRleHRDb21wb25lbnQsXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICdiaWctdGl0bGUgdGl0bGUnLFxyXG4gICAgICAgIHRpdGxlOiAn5aSn5qCH6aKYJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHRpdGxlOiAn5aSn5qCH6aKYJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnJywgY29sb3I6ICcjZmZmZmZmJywgd2VpZ2h0OiAnbm9ybWFsJywgc2l6ZTogMzYsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiA1MCB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICdub3JtYWwtdGl0bGUgdGl0bGUnLFxyXG4gICAgICAgIHRpdGxlOiAn5qCH6aKYJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHRpdGxlOiAn5qCH6aKYJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnJywgY29sb3I6ICcjZmZmZmZmJywgd2VpZ2h0OiAnbm9ybWFsJywgc2l6ZTogMzIsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiA0NSB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICdzdWJ0aXRsZSB0aXRsZScsXHJcbiAgICAgICAgdGl0bGU6ICflia/moIfpopgnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICflia/moIfpopgnLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICcnLCBjb2xvcjogJyNmZmZmZmYnLCB3ZWlnaHQ6ICdub3JtYWwnLCBzaXplOiAyNCwgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6IDMzIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGNsYXNzTmFtZTogJ3NtYWxsLXRpdGxlIHRpdGxlJyxcclxuICAgICAgICB0aXRsZTogJ+Wwj+agh+mimCcsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+Wwj+agh+mimCcsXHJcbiAgICAgICAgICBmb250OiB7IGZhbWlseTogJycsIGNvbG9yOiAnI2ZmZmZmZicsIHdlaWdodDogJ25vcm1hbCcsIHNpemU6IDE2LCBzcGFjZTogMCwgbGluZUhlaWdodDogMjIgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NOYW1lOiAnY29udGVudCB0aXRsZScsXHJcbiAgICAgICAgdGl0bGU6ICfmraPmloflhoXlrrknLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICfmraPmloflhoXlrrknLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICcnLCBjb2xvcjogJyNmZmZmZmYnLCB3ZWlnaHQ6ICdub3JtYWwnLCBzaXplOiAxMywgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6IDE4IH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBXb3JkYXJ0Q29tcG9uZW50LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NOYW1lOiAnd29yZGFydDEgd29yZGFydCcsXHJcbiAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICdjdXJzaXZlJywgY29sb3I6ICcjMzI4NUZGJywgd2VpZ2h0OiAnbm9ybWFsJywgc2l6ZTogMjQsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiAnJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICd3b3JkYXJ0MiB3b3JkYXJ0JyxcclxuICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgICBmb250OiB7IGZhbWlseTogJ3NhbnMtc2VyaWYnLCBjb2xvcjogJyM3ZWU1Y2UnLCB3ZWlnaHQ6ICdib2xkJywgc2l6ZTogMjQsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiAnJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICd3b3JkYXJ0MyB3b3JkYXJ0JyxcclxuICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICctd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMwOUZGREQgMTQlLCAjMDA1NUZGIDEwMCUpJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnc2Fucy1zZXJpZicsIGNvbG9yOiAnIzdlZTVjZScsIHdlaWdodDogJ2JvbGQnLCBzaXplOiAyNCwgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6ICcnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGNsYXNzTmFtZTogJ3dvcmRhcnQ0IHdvcmRhcnQnLFxyXG4gICAgICAgIHRpdGxlOiAn5Y+v6KeG5YyW5pWw5a2X5aSn5bGPJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHRpdGxlOiAn5Y+v6KeG5YyW5pWw5a2X5aSn5bGPJyxcclxuICAgICAgICAgIGJhY2tncm91bmRJbWFnZTogJy13ZWJraXQtbGluZWFyLWdyYWRpZW50KC05MGRlZywgI0Y3NkIxQyAxNCUsICNGQUQ5NjEgMTAwJSknLFxyXG4gICAgICAgICAgZm9udDogeyBmYW1pbHk6ICdzYW5zLXNlcmlmJywgY29sb3I6ICcjN2VlNWNlJywgd2VpZ2h0OiAnYm9sZCcsIHNpemU6IDI0LCBzcGFjZTogMCwgbGluZUhlaWdodDogJycgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NOYW1lOiAnd29yZGFydDUgd29yZGFydCcsXHJcbiAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdGl0bGU6ICflj6/op4bljJbmlbDlrZflpKflsY8nLFxyXG4gICAgICAgICAgYmFja2dyb3VuZEltYWdlOiAnLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTkwZGVnLCAjQjRFQzUxIDE0JSwgIzQyOTMyMSAxMDAlKScsXHJcbiAgICAgICAgICBmb250OiB7IGZhbWlseTogJ3NhbnMtc2VyaWYnLCBjb2xvcjogJyM3ZWU1Y2UnLCB3ZWlnaHQ6ICdib2xkJywgc2l6ZTogMjQsIHNwYWNlOiAwLCBsaW5lSGVpZ2h0OiAnJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc05hbWU6ICd3b3JkYXJ0NiB3b3JkYXJ0JyxcclxuICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0aXRsZTogJ+WPr+inhuWMluaVsOWtl+Wkp+WxjycsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6ICctd2Via2l0LWxpbmVhci1ncmFkaWVudCgtOTBkZWcsICMzMDIzQUUgMTQlLCAjRkU1NUZGIDEwMCUpJyxcclxuICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnc2Fucy1zZXJpZicsIGNvbG9yOiAnIzdlZTVjZScsIHdlaWdodDogJ2JvbGQnLCBzaXplOiAyNCwgc3BhY2U6IDAsIGxpbmVIZWlnaHQ6ICcnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBBdWRpb0NvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn6KeG6aKRZGVtbycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAndmlkZW8nLFxyXG4gICAgICAgICAgc3JjOiAnaHR0cHM6Ly94aWNoZS5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vdmlkZW8vMjAxODA0MTcxNTQ0MjEubXA0JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfpn7PpopFkZW1vJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdhdWRpbycsXHJcbiAgICAgICAgICBzcmM6ICdodHRwczovL3hpY2hlLm9zcy1jbi1iZWlqaW5nLmFsaXl1bmNzLmNvbS92aWRlby8yMDE4MDQxNzE1NDQyMS5tcDQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihcclxuICAgICAgQmFzaWNMaW5lQ2hhcnRDb21wb25lbnQsXHJcbiAgICAgIHtcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdiYXNpYycsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vYmFzaWMtbGluZS1jaGFydC5wbmcnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfljLrln5/mipjnur/lm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vYXJlYS1saW5lLWNoYXJ0LnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnYXJlYScsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfln7rmnKzmm7Lnur/lm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vc21vb3RoLWxpbmUtY2hhcnQucG5nJyxcclxuICAgICAgICBncm91cDogJ3Ntb290aExpbmVDaGFydCcsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnc21vb3RoJyxcclxuICAgICAgICAgIGZvbnQ6IHsgY29sb3I6ICcjRkZGRkZGJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+WMuuWfn+absue6v+WbvicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zbW9vdGgtYXJlYS1saW5lLWNoYXJ0LnBuZycsXHJcbiAgICAgICAgZ3JvdXA6ICdzbW9vdGhMaW5lQ2hhcnQnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ3Ntb290aC1hcmVhJyxcclxuICAgICAgICAgIGZvbnQ6IHsgY29sb3I6ICcjRkZGRkZGJyB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+mYtuair+e6v+WbvicsXHJcbiAgICAgICAgZ3JvdXA6ICdzdGVwTGluZUNoYXJ0JyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdzdGVwJyxcclxuICAgICAgICAgIHN0ZXA6ICdlbmQnLFxyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL2Jhc2ljLWxpbmUtY2hhcnQucG5nJyxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBCYXNpY1BpZUNoYXJ0Q29tcG9uZW50LFxyXG4gICAgICB7XHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnYmFzaWMnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+eOr+W9oumlvOWbvicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9waWUtby5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ3JpbmcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+eOq+eRsOmlvOWbvicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9yb3NlUGllLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncm9zZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn546r55Gw546v5b2i6aW85Zu+JyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3Jvc2VSaW5nUGllLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncm9zZVJpbmcnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihcclxuICAgICAgQmFzaWNCYXJDaGFydENvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5aCG5Y+g5p+x5Zu+JyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL2RvdWJsZUJhci5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ2RvdWJsZScsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfmqKrlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vaG9yaUJhci5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ2hvcmknLFxyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5qiq5ZCR5aCG5Y+g5p+x5Zu+JyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL2RvdWJsZUhvcmlCYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdob3JpRCcsXHJcbiAgICAgICAgICBmb250OiB7IGNvbG9yOiAnI0ZGRkZGRicgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICflj4zlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vZG91YmxlQ29sb3JCYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdkY29sb3InLFxyXG4gICAgICAgICAgZm9udDogeyBjb2xvcjogJyNGRkZGRkYnIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKFxyXG4gICAgICBCYXJDaGFydFRocmVlRENvbXBvbmVudCxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0Tmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0RiYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICczRCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0TloIblj6Dmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0Rkb3VibGVCYXIucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICczRGRvdWJsZScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0TmqKrlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0Rob3JpQmFyLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnaG9yaScsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnM0TloIblj6DmqKrlkJHmn7Hlm74nLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vM0Rkb3VibGVIb3JpQmFyLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAnaG9yaUQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICApO1xyXG4gICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihUcmVlQ29udHJvbENvbXBvbmVudCwge1xyXG4gICAgICBvcHRpb246IHtcclxuICAgICAgICBmb250OiB7XHJcbiAgICAgICAgICBjb2xvcjogJyNmZmZmZmYnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoXHJcbiAgICAgIFNoYXBlQ29tcG9uZW50LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICfnur/mnaEnLFxyXG4gICAgICAgIGltYWdlOiAnYXNzZXRzL2ltZy9zY3JlZW4vc2hhcGUwMS5wbmcnLFxyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgdHlwZTogJ2xpbmUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+S4ieinkuW9oicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTA2LnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAndHJpYW5nbGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+efqeW9oicsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTAzLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncmVjdCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5ZyG6KeS55+p5b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDQucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdyZWN0JyxcclxuICAgICAgICAgIGZpbGxldDogMTYsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5bmz6KGM5Zub6L655b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDkucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdwYXJhbGxlbG9ncmFtJyxcclxuICAgICAgICAgIGRldmlhdGlvbjogMzAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5qKv5b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMTAucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICd0cmFwZXpvaWQnLFxyXG4gICAgICAgICAgdXBwZXI6IDUwLFxyXG4gICAgICAgICAgYm90dG9tOiAxMDAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5LqU6L655b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDgucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdwb2x5Z29ucGx1cycsXHJcbiAgICAgICAgICBzaWRlOiA1LFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+S6lOinkuaYnycsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTA3LnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncG9seWhlZHJvc2lzJyxcclxuICAgICAgICAgIHNpZGU6IDUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAn5ZyG5b2iJyxcclxuICAgICAgICBpbWFnZTogJ2Fzc2V0cy9pbWcvc2NyZWVuL3NoYXBlMDUucG5nJyxcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIHR5cGU6ICdjaXJjbGUnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ+eureWktCcsXHJcbiAgICAgICAgaW1hZ2U6ICdhc3NldHMvaW1nL3NjcmVlbi9zaGFwZTExLnBuZycsXHJcbiAgICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgICB0eXBlOiAncG9seWdvbicsXHJcbiAgICAgICAgICBkYXRhOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB4OiAyMCxcclxuICAgICAgICAgICAgICB5OiA4MCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDEwMCxcclxuICAgICAgICAgICAgICB5OiA4MCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDEwMCxcclxuICAgICAgICAgICAgICB5OiA0MCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDE4MCxcclxuICAgICAgICAgICAgICB5OiAxMDAsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB4OiAxMDAsXHJcbiAgICAgICAgICAgICAgeTogMTYwLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgeDogMTAwLFxyXG4gICAgICAgICAgICAgIHk6IDEyMCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHg6IDIwLFxyXG4gICAgICAgICAgICAgIHk6IDEyMCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICk7XHJcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSA3NTsgaSsrKSB7XHJcbiAgICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoQmFja2dyb3VuZENvbXBvbmVudCwge1xyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgaW1hZ2U6IGBhc3NldHMvaW1nL3NjcmVlbi9tb2R1bGVCZyR7aX0ucG5nYCxcclxuICAgICAgICAgIHR5cGU6ICdiYWNrZ3JvdW5kJyxcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IDg7IGkrKykge1xyXG4gICAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKEJhY2tncm91bmRDb21wb25lbnQsIHtcclxuICAgICAgICBvcHRpb246IHtcclxuICAgICAgICAgIGltYWdlOiBgYXNzZXRzL2ltZy9zY3JlZW4vYm9yZGVyJHtpfS5wbmdgLFxyXG4gICAgICAgICAgdHlwZTogJ2JhY2tncm91bmQnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gODsgaSsrKSB7XHJcbiAgICAgIHdpZGdldFNlcnZpY2UucmVnaXN0ZXIoQmFja2dyb3VuZENvbXBvbmVudCwge1xyXG4gICAgICAgIG9wdGlvbjoge1xyXG4gICAgICAgICAgaW1hZ2U6IGBhc3NldHMvaW1nL3NjcmVlbi9iZyR7aX0ucG5nYCxcclxuICAgICAgICAgIHR5cGU6ICdib3JkZXInLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgWydhc3NldHMvaW1nL3NjcmVlbi9taXBBbmltMS5naWYnLCAnYXNzZXRzL2ltZy9zY3JlZW4vbWlwQW5pbTIuZ2lmJ10uZm9yRWFjaCgoaW1hZ2UpID0+IHtcclxuICAgICAgd2lkZ2V0U2VydmljZS5yZWdpc3RlcihNaXBBbmltQ29tcG9uZW50LCB7XHJcbiAgICAgICAgb3B0aW9uOiB7IGltYWdlIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKERhdGVQaWNrZXJDb21wb25lbnQsIHtcclxuICAgICAgb3B0aW9uOiB7XHJcbiAgICAgICAgYm9yZGVyQ29sb3I6ICcjMzI4NWZmJyxcclxuICAgICAgICBmb250OiB7IGNvbG9yOiAnIzMyODVmZicgfSxcclxuICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSg1MCwxMzMsMjU1LDAuMiknLFxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgICB3aWRnZXRTZXJ2aWNlLnJlZ2lzdGVyKENoZWNrYm94Q29tcG9uZW50LCB7XHJcbiAgICAgIG9wdGlvbjogeyBmb250OiB7IGNvbG9yOiAnI2ZmZmZmZicgfSB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|