榆山数据端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

434 lines
47 KiB

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var echarts = require("../../../../../components/ec-canvas/echarts.js");
var reality_1 = require("../../../../../api/reality");
function setOption(chart, chartData, color) {
var option = {
color: color,
series: [
{
type: 'pie',
radius: ['70%', '95%'],
silent: true,
avoidLabelOverlap: false,
label: {
show: false
},
labelLine: {
show: false,
normal: {
show: false
}
},
itemStyle: {
borderColor: '#fff',
borderWidth: '2',
},
data: chartData
}
]
};
chart.setOption(option);
}
Page({
data: {
selectTab: 'tab1',
type: 'first',
allnum: 0,
pageSize: 10,
pageIndex: 1,
listLength: 0,
evaluateCountList: [],
chartData: [],
loadVisible: true,
loadType: 'more',
isShow: false,
preloadVisible: true,
color: [],
ec: {},
isShowLoading: true,
},
onLoad: function () {
this.ecComponent = this.selectComponent('#mychart-dom-bar');
this.getEvaluateCountList();
this.selectComponent("#peopleList").getList(this.data);
},
onGetCode: function (e) {
this.setData({
listLength: e.detail.listLength
});
},
onReachBottom: function () {
if (this.data.listLength !== this.data.pageSize) {
this.setData({
loadType: 'none',
});
return;
}
this.setData({
loadType: 'more',
});
var obj = {
pageIndex: ++this.data.pageIndex,
pageSize: this.data.pageSize,
};
this.selectComponent("#peopleList").getList(this.data);
},
getEvaluateCountList: function () {
this.setData({
isShowLoading: true
});
var that = this;
var evaluateType = '1';
if (that.data.selectTab == 'tab1') {
evaluateType = '1';
}
else {
evaluateType = '2';
}
var cotegoryType = '1';
if (that.data.type == 'first') {
cotegoryType = '1';
}
else if (that.data.type == 'second') {
cotegoryType = '2';
}
else if (that.data.type == 'third') {
cotegoryType = '3';
}
reality_1.getEvaluateCountList(evaluateType, cotegoryType).then(function (res) {
that.setData.evaluateCountList = [];
that.setData.allnum = 0;
var datalength = res.data.length;
if (datalength == 0) {
that.setData({
loadVisible: false,
preloadVisible: false,
isShow: true,
isShowLoading: false
});
}
for (var i = 0; i < res.data.length; i++) {
that.setData({
allnum: that.data.allnum + res.data[i].count
});
}
;
if (datalength == 1) {
if (res.data[0].count != 0) {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
}
],
});
}
}
else if (datalength == 2) {
if (res.data[1].count == 0) {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
}
],
});
}
else {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
}
],
});
}
}
else if (datalength == 3) {
if (res.data[2].count == 0) {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
}
],
});
}
else {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270', '#29B9A5'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
},
{
value: res.data[2].count / that.data.allnum,
name: '3'
}
],
});
}
}
else if (datalength == 4) {
if (res.data[3].count == 0) {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270', '#29B9A5'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
},
{
value: res.data[2].count / that.data.allnum,
name: '3'
},
],
});
}
else {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
},
{
value: res.data[2].count / that.data.allnum,
name: '3'
},
{
value: res.data[3].count / that.data.allnum,
name: '4'
}
],
});
}
}
else if (datalength == 5) {
if (res.data[4].count == 0) {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
},
{
value: res.data[2].count / that.data.allnum,
name: '3'
},
{
value: res.data[3].count / that.data.allnum,
name: '4'
}
],
});
}
else {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED', '#679CF7'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
},
{
value: res.data[2].count / that.data.allnum,
name: '3'
},
{
value: res.data[3].count / that.data.allnum,
name: '4'
},
{
value: res.data[4].count / that.data.allnum,
name: '5'
}
],
});
}
}
else if (datalength == 6) {
if (res.data[5].count == 0) {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED', '#679CF7'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
},
{
value: res.data[2].count / that.data.allnum,
name: '3'
},
{
value: res.data[3].count / that.data.allnum,
name: '4'
},
{
value: res.data[4].count / that.data.allnum,
name: '5'
},
],
});
}
else {
that.setData({
evaluateCountList: res.data,
color: ['#AD6DFE', '#FFA270', '#29B9A5', '#63CFED', '#679CF7', '#FFC600'],
chartData: [
{
value: res.data[0].count / that.data.allnum,
name: '1'
},
{
value: res.data[1].count / that.data.allnum,
name: '2'
},
{
value: res.data[2].count / that.data.allnum,
name: '3'
},
{
value: res.data[3].count / that.data.allnum,
name: '4'
},
{
value: res.data[4].count / that.data.allnum,
name: '5'
},
{
value: res.data[5].count / that.data.allnum,
name: '6'
}
],
});
}
}
that.init();
});
},
init: function () {
var _this = this;
this.setData({
isShowLoading: true
});
this.ecComponent.init(function (canvas, width, height) {
var chart = echarts.init(canvas, null, {
width: width,
height: height
});
setOption(chart, _this.data.chartData, _this.data.color);
return chart;
});
if (this.data.chartData.length > 0) {
var that = this;
that.setData({
preloadVisible: false,
isShowLoading: false
});
}
this.setData({
isShowLoading: false
});
},
onTabChange: function (e) {
if (this.data.isShowLoading) {
wx.showToast({
title: '正在加载中请稍后切换',
icon: 'none',
duration: 2000,
mask: true,
});
return;
}
this.setData({
chartData: [],
color: [],
selectTab: e.currentTarget.dataset.tab,
pageSize: 10,
pageIndex: 1,
loadType: 'more',
isShow: false,
preloadVisible: true,
evaluateCountList: []
});
this.init();
this.getEvaluateCountList();
this.selectComponent("#peopleList").getList(this.data);
},
onButtonChange: function (e) {
if (this.data.isShowLoading) {
wx.showToast({
title: '正在加载中请稍后切换',
icon: 'none',
duration: 2000,
mask: true,
});
return;
}
this.setData({
chartData: [],
color: [],
type: e.currentTarget.dataset.type,
preloadVisible: true,
evaluateCountList: []
});
this.init();
this.getEvaluateCountList();
},
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVvcGxlU2F0aXNmaWVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGVvcGxlU2F0aXNmaWVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0VBQXlFO0FBQ3pFLHNEQUFpRTtBQUNqRSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUs7SUFDeEMsSUFBSSxNQUFNLEdBQUc7UUFDWCxLQUFLLEVBQUUsS0FBSztRQUNaLE1BQU0sRUFBRTtZQUNOO2dCQUNFLElBQUksRUFBRSxLQUFLO2dCQUNYLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUM7Z0JBQ3RCLE1BQU0sRUFBRSxJQUFJO2dCQUNaLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsS0FBSztpQkFDWjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsTUFBTSxFQUFFO3dCQUNOLElBQUksRUFBRSxLQUFLO3FCQUNaO2lCQUNGO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxXQUFXLEVBQUUsTUFBTTtvQkFDbkIsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCO2dCQUNELElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0Y7S0FDRixDQUFDO0lBQ0YsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBQ0QsSUFBSSxDQUFDO0lBS0gsSUFBSSxFQUFFO1FBQ0osU0FBUyxFQUFFLE1BQU07UUFDakIsSUFBSSxFQUFFLE9BQU87UUFDYixNQUFNLEVBQUUsQ0FBQztRQUNULFFBQVEsRUFBQyxFQUFFO1FBQ1gsU0FBUyxFQUFDLENBQUM7UUFDWCxVQUFVLEVBQUMsQ0FBQztRQUNaLGlCQUFpQixFQUFFLEVBQUU7UUFDckIsU0FBUyxFQUFFLEVBQUU7UUFDYixXQUFXLEVBQUMsSUFBSTtRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixNQUFNLEVBQUMsS0FBSztR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QUNYLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUN4RCxDQUFDO0lBRUQsY0FBYyxFQUFkLFVBQWUsQ0FBWTtRQUN6QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNCLEVBQUUsQ0FBQyxTQUFTLENBQUM7Z0JBQ1gsS0FBSyxFQUFFLFlBQVk7Z0JBQ25CLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNYLFNBQVMsRUFBRSxFQUFFO1lBQ2IsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUNsQyxjQUFjLEVBQUUsSUFBSTtZQUNwQixpQkFBaUIsRUFBQyxFQUFFO1NBQ3JCLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNYLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO0lBQzdCLENBQUM7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzdWJwYWdlcy9yZWFsaXR5L3BhZ2VzL3Blb3BsZVNhdGlzZmllZC9wZW9wbGVTYXRpc2ZpZWQuanNcclxuLy8gQHRzLWlnbm9yZVxyXG5pbXBvcnQgKiBhcyBlY2hhcnRzIGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbXBvbmVudHMvZWMtY2FudmFzL2VjaGFydHMuanMnXHJcbmltcG9ydCB7IGdldEV2YWx1YXRlQ291bnRMaXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vYXBpL3JlYWxpdHknXHJcbmZ1bmN0aW9uIHNldE9wdGlvbihjaGFydCwgY2hhcnREYXRhLCBjb2xvcikge1xyXG4gIHZhciBvcHRpb24gPSB7XHJcbiAgICBjb2xvcjogY29sb3IsXHJcbiAgICBzZXJpZXM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICdwaWUnLFxyXG4gICAgICAgIHJhZGl1czogWyc3MCUnLCAnOTUlJ10sXHJcbiAgICAgICAgc2lsZW50OiB0cnVlLFxyXG4gICAgICAgIGF2b2lkTGFiZWxPdmVybGFwOiBmYWxzZSxcclxuICAgICAgICBsYWJlbDoge1xyXG4gICAgICAgICAgc2hvdzogZmFsc2VcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxhYmVsTGluZToge1xyXG4gICAgICAgICAgc2hvdzogZmFsc2UsXHJcbiAgICAgICAgICBub3JtYWw6IHtcclxuICAgICAgICAgICAgc2hvdzogZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGl0ZW1TdHlsZToge1xyXG4gICAgICAgICAgYm9yZGVyQ29sb3I6ICcjZmZmJyxcclxuICAgICAgICAgIGJvcmRlcldpZHRoOiAnMicsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhOiBjaGFydERhdGFcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH07XHJcbiAgY2hhcnQuc2V0T3B0aW9uKG9wdGlvbik7XHJcbn1cclxuUGFnZSh7XHJcblxyXG4gIC8qKlxyXG4gICAqIOmhtemdoueahOWIneWni+aVsOaNrlxyXG4gICAqL1xyXG4gIGRhdGE6IHtcclxuICAgIHNlbGVjdFRhYjogJ3RhYjEnLFxyXG4gICAgdHlwZTogJ2ZpcnN0JyxcclxuICAgIGFsbG51bTogMCwvL+aAu+aVsFxyXG4gICAgcGFnZVNpemU6MTAsXHJcbiAgICBwYWdlSW5kZXg6MSxcclxuICAgIGxpc3RMZW5ndGg6MCxcclxuICAgIGV2YWx1YXRlQ291bnRMaXN0OiBbXSxcclxuICAgIGNoYXJ0RGF0YTogW10sXHJcbiAgICBsb2FkVmlzaWJsZTp0cnVlLFxyXG4gICAgbG9hZFR5cGU6ICdtb3JlJyxcclxuICAgIGlzU2hvdzpmYWxzZSxcclxuICAgIHByZWxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgY29sb3I6IFtdLFxyXG4gICAgZWM6IHt9LFxyXG4gICAgaXNTaG93TG9hZGluZzp0cnVlLC8vdHJ1ZeWKoOi9veS4rSxmYWxzZeWKoOi9veWujOavlVxyXG4gIH0sXHJcbiAgLyoqXHJcbiAgICog55Sf5ZG95ZGo5pyf5Ye95pWwLS3nm5HlkKzpobXpnaLliqDovb1cclxuICAgKi9cclxuICBvbkxvYWQ6IGZ1bmN0aW9uICgpIHtcclxuICAgIHRoaXMuZWNDb21wb25lbnQgPSB0aGlzLnNlbGVjdENvbXBvbmVudCgnI215Y2hhcnQtZG9tLWJhcicpXHJcblxyXG4gICAgdGhpcy5nZXRFdmFsdWF0ZUNvdW50TGlzdCgpXHJcbiAgICB0aGlzLnNlbGVjdENvbXBvbmVudChcIiNwZW9wbGVMaXN0XCIpLmdldExpc3QodGhpcy5kYXRhKVxyXG4gIH0sXHJcbiAgIC8qKlxyXG4gICAqIOWtkOmhtemdouS8oOWAvFxyXG4gICAqL1xyXG4gIG9uR2V0Q29kZTogZnVuY3Rpb24gKGU6IHsgZGV0YWlsOiB7IHZhbDogYW55IH0gfSkge1xyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgbGlzdExlbmd0aDogZS5kZXRhaWwubGlzdExlbmd0aFxyXG4gICAgfSlcclxuICB9LFxyXG4gIC8qKlxyXG4gICAgKiDpobXpnaLkuIrmi4nop6blupXkuovku7bnmoTlpITnkIblh73mlbBcclxuICAgICovXHJcbiAgb25SZWFjaEJvdHRvbTogZnVuY3Rpb24gKCkge1xyXG4gICAgLy8g5Yik5pat5piv5ZCm6ZyA6KaB5Zyo5Yqg6L295pWw5o2uXHJcbiAgICBpZiAodGhpcy5kYXRhLmxpc3RMZW5ndGggIT09IHRoaXMuZGF0YS5wYWdlU2l6ZSkge1xyXG4gICAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICAgIGxvYWRUeXBlOiAnbm9uZScsXHJcbiAgICAgIH0pXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgbG9hZFR5cGU6ICdtb3JlJyxcclxuICAgIH0pXHJcbiAgICBsZXQgb2JqID0ge1xyXG4gICAgICBwYWdlSW5kZXg6ICsrdGhpcy5kYXRhLnBhZ2VJbmRleCxcclxuICAgICAgcGFnZVNpemU6IHRoaXMuZGF0YS5wYWdlU2l6ZSxcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50KFwiI3Blb3BsZUxpc3RcIikuZ2V0TGlzdCh0aGlzLmRhdGEpXHJcbiAgfSxcclxuICAvLyDojrflj5bmlbDmja5cclxuICBnZXRFdmFsdWF0ZUNvdW50TGlzdCgpIHtcclxuICAgIHRoaXMuc2V0RGF0YSh7XHJcbiAgICAgIGlzU2hvd0xvYWRpbmc6dHJ1ZVxyXG4gICAgfSlcclxuICAgIGxldCB0aGF0ID0gdGhpc1xyXG4gICAgbGV0IGV2YWx1YXRlVHlwZSA9ICcxJy8v6K+E5Lu357G75YirOjEu6Z2e5bi45ruh5oSP77yMMi7ln7rmnKzmu6HmhI/vvIwzLuS4jea7oeaEj1xyXG4gICAgaWYgKHRoYXQuZGF0YS5zZWxlY3RUYWIgPT0gJ3RhYjEnKSB7XHJcbiAgICAgIGV2YWx1YXRlVHlwZSA9ICcxJ1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZXZhbHVhdGVUeXBlID0gJzInXHJcbiAgICB9XHJcbiAgICBsZXQgY290ZWdvcnlUeXBlID0gJzEnLy/liIbnsbvnsbvliKvvvJoxLuS4gOe6p++8jDIu5LqM57qn77yMMy7kuInnuqdcclxuICAgIGlmICh0aGF0LmRhdGEudHlwZSA9PSAnZmlyc3QnKSB7Ly/kuIDnuqdcclxuICAgICAgY290ZWdvcnlUeXBlID0gJzEnXHJcbiAgICB9IGVsc2UgaWYgKHRoYXQuZGF0YS50eXBlID09ICdzZWNvbmQnKSB7Ly/kuoznuqdcclxuICAgICAgY290ZWdvcnlUeXBlID0gJzInXHJcbiAgICB9IGVsc2UgaWYgKHRoYXQuZGF0YS50eXBlID09ICd0aGlyZCcpIHsvL+S4iee6p1xyXG4gICAgICBjb3RlZ29yeVR5cGUgPSAnMydcclxuICAgIH1cclxuICAgZ2V0RXZhbHVhdGVDb3VudExpc3QoZXZhbHVhdGVUeXBlLCBjb3RlZ29yeVR5cGUpLnRoZW4oZnVuY3Rpb24gKHJlczogeyBkYXRhOiBhbnkgfSkge1xyXG4gICAgICB0aGF0LnNldERhdGEuZXZhbHVhdGVDb3VudExpc3QgPSBbXVxyXG4gICAgICB0aGF0LnNldERhdGEuYWxsbnVtID0gMFxyXG4gICAgICBsZXQgZGF0YWxlbmd0aCA9IHJlcy5kYXRhLmxlbmd0aFxyXG5cclxuICAgICAgaWYgKGRhdGFsZW5ndGggPT0gMCkge1xyXG4gICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICBsb2FkVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgICBwcmVsb2FkVmlzaWJsZTpmYWxzZSxcclxuICAgICAgICAgIGlzU2hvdzogdHJ1ZSxcclxuICAgICAgICAgIGlzU2hvd0xvYWRpbmc6ZmFsc2VcclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICAgIGFsbG51bTogdGhhdC5kYXRhLmFsbG51bSArIHJlcy5kYXRhW2ldLmNvdW50XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChkYXRhbGVuZ3RoID09IDEpIHtcclxuICAgICAgICBpZiAocmVzLmRhdGFbMF0uY291bnQgIT0gMCkge1xyXG4gICAgICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICAgICAgZXZhbHVhdGVDb3VudExpc3Q6IHJlcy5kYXRhLFxyXG4gICAgICAgICAgICBjb2xvcjogWycjQUQ2REZFJ10sXHJcbiAgICAgICAgICAgIGNoYXJ0RGF0YTogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVswXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMSdcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9IGVsc2UgaWYgKGRhdGFsZW5ndGggPT0gMikge1xyXG4gICAgICAgIGlmIChyZXMuZGF0YVsxXS5jb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnXSxcclxuICAgICAgICAgICAgY2hhcnREYXRhOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzBdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcxJ1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKGRhdGFsZW5ndGggPT0gMykge1xyXG4gICAgICAgIGlmIChyZXMuZGF0YVsyXS5jb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGV2YWx1YXRlQ291bnRMaXN0OiByZXMuZGF0YSxcclxuICAgICAgICAgICAgY29sb3I6IFsnI0FENkRGRScsICcjRkZBMjcwJywgJyMyOUI5QTUnXSxcclxuICAgICAgICAgICAgY2hhcnREYXRhOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzBdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcxJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzFdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcyJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzJdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICczJ1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChkYXRhbGVuZ3RoID09IDQpIHtcclxuICAgICAgICBpZiAocmVzLmRhdGFbM10uY291bnQgPT0gMCkge1xyXG4gICAgICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICAgICAgZXZhbHVhdGVDb3VudExpc3Q6IHJlcy5kYXRhLFxyXG4gICAgICAgICAgICBjb2xvcjogWycjQUQ2REZFJywgJyNGRkEyNzAnLCAnIzI5QjlBNSddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMl0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzMnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCcsICcjMjlCOUE1JywgJyM2M0NGRUQnXSxcclxuICAgICAgICAgICAgY2hhcnREYXRhOiBbXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzBdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcxJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzFdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICcyJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzJdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICczJ1xyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IHJlcy5kYXRhWzNdLmNvdW50IC8gdGhhdC5kYXRhLmFsbG51bSxcclxuICAgICAgICAgICAgICAgIG5hbWU6ICc0J1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH0gZWxzZSBpZiAoZGF0YWxlbmd0aCA9PSA1KSB7XHJcbiAgICAgICAgaWYgKHJlcy5kYXRhWzRdLmNvdW50ID09IDApIHtcclxuICAgICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGV2YWx1YXRlQ291bnRMaXN0OiByZXMuZGF0YSxcclxuICAgICAgICAgICAgY29sb3I6IFsnI0FENkRGRScsICcjRkZBMjcwJywgJyMyOUI5QTUnLCAnIzYzQ0ZFRCddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMl0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzMnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbM10uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzQnXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoYXQuc2V0RGF0YSh7XHJcbiAgICAgICAgICAgIGV2YWx1YXRlQ291bnRMaXN0OiByZXMuZGF0YSxcclxuICAgICAgICAgICAgY29sb3I6IFsnI0FENkRGRScsICcjRkZBMjcwJywgJyMyOUI5QTUnLCAnIzYzQ0ZFRCcsICcjNjc5Q0Y3J10sXHJcbiAgICAgICAgICAgIGNoYXJ0RGF0YTogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVswXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMSdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsxXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMidcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsyXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMydcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVszXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNCdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVs0XS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNSdcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9IGVsc2UgaWYgKGRhdGFsZW5ndGggPT0gNikge1xyXG4gICAgICAgIGlmIChyZXMuZGF0YVs1XS5jb3VudCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCcsICcjMjlCOUE1JywgJyM2M0NGRUQnLCAnIzY3OUNGNyddLFxyXG4gICAgICAgICAgICBjaGFydERhdGE6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzEnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMV0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzInXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbMl0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzMnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbM10uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzQnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLmRhdGFbNF0uY291bnQgLyB0aGF0LmRhdGEuYWxsbnVtLFxyXG4gICAgICAgICAgICAgICAgbmFtZTogJzUnXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGF0LnNldERhdGEoe1xyXG4gICAgICAgICAgICBldmFsdWF0ZUNvdW50TGlzdDogcmVzLmRhdGEsXHJcbiAgICAgICAgICAgIGNvbG9yOiBbJyNBRDZERkUnLCAnI0ZGQTI3MCcsICcjMjlCOUE1JywgJyM2M0NGRUQnLCAnIzY3OUNGNycsICcjRkZDNjAwJ10sXHJcbiAgICAgICAgICAgIGNoYXJ0RGF0YTogW1xyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVswXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMSdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsxXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMidcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVsyXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnMydcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVszXS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNCdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVs0XS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNSdcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIHZhbHVlOiByZXMuZGF0YVs1XS5jb3VudCAvIHRoYXQuZGF0YS5hbGxudW0sXHJcbiAgICAgICAgICAgICAgICBuYW1lOiAnNidcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGF0LmluaXQoKVxyXG4gICAgfSlcclxuICB9LFxyXG4gIGluaXQoKSB7XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBpc1Nob3dMb2FkaW5nOnRydWVcclxuICAgIH0pXHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICB0aGlzLmVjQ29tcG9uZW50LmluaXQoKGNhbnZhczogYW55LCB3aWR0aDogYW55LCBoZWlnaHQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBjaGFydCA9IGVjaGFydHMuaW5pdChjYW52YXMsIG51bGwsIHtcclxuICAgICAgICB3aWR0aDogd2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0OiBoZWlnaHRcclxuICAgICAgfSlcclxuICAgICAgc2V0T3B0aW9uKGNoYXJ0LCB0aGlzLmRhdGEuY2hhcnREYXRhLCB0aGlzLmRhdGEuY29sb3IpXHJcbiAgICAgIHJldHVybiBjaGFydFxyXG4gICAgfSlcclxuICAgIGlmICh0aGlzLmRhdGEuY2hhcnREYXRhLmxlbmd0aCA+IDApe1xyXG4gICAgICBsZXQgdGhhdCA9IHRoaXNcclxuICAgICAgdGhhdC5zZXREYXRhKHtcclxuICAgICAgICBwcmVsb2FkVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgaXNTaG93TG9hZGluZzpmYWxzZVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgaXNTaG93TG9hZGluZzpmYWxzZVxyXG4gICAgfSlcclxuICB9LFxyXG4gIC8vIHRhYiDliIfmjaJcclxuIG9uVGFiQ2hhbmdlKGU6IEFueU9iamVjdCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pc1Nob3dMb2FkaW5nKSB7XHJcbiAgICAgIHd4LnNob3dUb2FzdCh7XHJcbiAgICAgICAgdGl0bGU6ICfmraPlnKjliqDovb3kuK3or7fnqI3lkI7liIfmjaInLCAvL+aPkOekuueahOWGheWuuSxcclxuICAgICAgICBpY29uOiAnbm9uZScsIC8v5Zu+5qCHLFxyXG4gICAgICAgIGR1cmF0aW9uOiAyMDAwLCAvL+W7tui/n+aXtumXtCxcclxuICAgICAgICBtYXNrOiB0cnVlLCAvL+aYvuekuumAj+aYjuiSmeWxgu+8jOmYsuatouinpuaRuOepv+mAjyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXREYXRhKHtcclxuICAgICAgY2hhcnREYXRhOiBbXSxcclxuICAgICAgY29sb3I6IFtdLFxyXG4gICAgICBzZWxlY3RUYWI6IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LnRhYixcclxuICAgICAgcGFnZVNpemU6IDEwLFxyXG4gICAgICBwYWdlSW5kZXg6IDEsXHJcbiAgICAgIGxvYWRUeXBlOiAnbW9yZScsXHJcbiAgICAgIGlzU2hvdzogZmFsc2UsXHJcbiAgICAgIHByZWxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgICBldmFsdWF0ZUNvdW50TGlzdDpbXVxyXG4gICAgfSlcclxuICAgIHRoaXMuaW5pdCgpXHJcbiAgICB0aGlzLmdldEV2YWx1YXRlQ291bnRMaXN0KCk7XHJcbiAgICB0aGlzLnNlbGVjdENvbXBvbmVudChcIiNwZW9wbGVMaXN0XCIpLmdldExpc3QodGhpcy5kYXRhKVxyXG4gIH0sXHJcbiAgLy8g57G755uu5YiH5o2iXHJcbiAgb25CdXR0b25DaGFuZ2UoZTogQW55T2JqZWN0KSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLmlzU2hvd0xvYWRpbmcpIHtcclxuICAgICAgd3guc2hvd1RvYXN0KHtcclxuICAgICAgICB0aXRsZTogJ+ato+WcqOWKoOi9veS4reivt+eojeWQjuWIh+aNoicsIC8v5o+Q56S655qE5YaF5a65LFxyXG4gICAgICAgIGljb246ICdub25lJywgLy/lm77moIcsXHJcbiAgICAgICAgZHVyYXRpb246IDIwMDAsIC8v5bu26L+f5pe26Ze0LFxyXG4gICAgICAgIG1hc2s6IHRydWUsIC8v5pi+56S66YCP5piO6JKZ5bGC77yM6Ziy5q2i6Kem5pG456m/6YCPLFxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcbiAgICB0aGlzLnNldERhdGEoe1xyXG4gICAgICBjaGFydERhdGE6IFtdLFxyXG4gICAgICBjb2xvcjogW10sXHJcbiAgICAgIHR5cGU6IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LnR5cGUsXHJcbiAgICAgIHByZWxvYWRWaXNpYmxlOiB0cnVlLFxyXG4gICAgICBldmFsdWF0ZUNvdW50TGlzdDpbXVxyXG4gICAgfSlcclxuICAgIHRoaXMuaW5pdCgpXHJcbiAgICB0aGlzLmdldEV2YWx1YXRlQ291bnRMaXN0KClcclxuICB9LFxyXG59KSJdfQ==