"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==