barsa-sap-ui 1.0.288 → 1.0.289

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.
@@ -11,7 +11,9 @@ export class GridMoDataList {
11
11
  // items.forEach((item) => (item.$Visibility = true));
12
12
  // return items;
13
13
  // }),
14
- tap((items) => (this.resultItems = items)), tap((items) => console.log(items)));
14
+ tap((items) => (this.resultItems = items))
15
+ // tap((items) => console.log(items))
16
+ );
15
17
  }
16
18
  getSortby() {
17
19
  return this.gridSetting.SortSettingList.map((c) => ({
@@ -217,4 +219,4 @@ const filterBySelect = (item, collectionSelectFilter) => {
217
219
  }
218
220
  return !filterValues.length || collectionSelectFilter.exclude ? !result : result;
219
221
  };
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1kYXRhLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbW9kZWxzL2dyaWQtZGF0YS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBT0gsYUFBYSxFQUNiLGlCQUFpQixFQUVwQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xELE9BQU8sS0FBSyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE1BQU0sT0FBTyxjQUFjO0lBT3ZCLFlBQ0ksV0FBOEMsRUFDOUMsWUFBcUMsRUFDckMsZUFBK0MsRUFDL0MsV0FBK0I7UUFFL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQ2QsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ3RELFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUN6RSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFDckUsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsQ0FBQyxD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QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDckYsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb2xsZWN0aW9uQm9vbGVhbkZpbHRlcixcbiAgICBDb2xsZWN0aW9uRGF0ZUZpbHRlcixcbiAgICBDb2xsZWN0aW9uTnVtYmVyRmlsdGVyLFxuICAgIENvbGxlY3Rpb25TZWxlY3RGaWx0ZXIsXG4gICAgQ29sbGVjdGlvblNvcnQsXG4gICAgQ29sbGVjdGlvblN0cmluZ0ZpbHRlcixcbiAgICBTb3J0RGlyZWN0aW9uLFxuICAgIFRhYmxlRGF0YVByb3ZpZGVyLFxuICAgIFRhYmxlU3RhdGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBEYXRldGltZUFkYXB0ZXIsIEZkRGF0ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdyaWRTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3Q29sdW1uIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBHcmlkTW9EYXRhTGlzdCB7XG4gICAgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICByZXN1bHRJdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIGdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZztcbiAgICB2aXNpYmxlQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBtb0RhdGFMaXN0JDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+LFxuICAgICAgICBncmlkU2V0dGluZyQ6IE9ic2VydmFibGU8R3JpZFNldHRpbmc+LFxuICAgICAgICB2aXNpYmxlQ29sdW1ucyQ6IE9ic2VydmFibGU8UmVwb3J0Vmlld0NvbHVtbltdPixcbiAgICAgICAgc2VhcmNoVGVybSQ6IE9ic2VydmFibGU8c3RyaW5nPlxuICAgICkge1xuICAgICAgICB0aGlzLmRhdGEkID0gbWVyZ2UoXG4gICAgICAgICAgICBtb0RhdGFMaXN0JC5waXBlKHRhcCgoaXRlbXMpID0+ICh0aGlzLml0ZW1zID0gaXRlbXMpKSksXG4gICAgICAgICAgICBncmlkU2V0dGluZyQucGlwZSh0YXAoKGdyaWRTZXR0aW5nKSA9PiAodGhpcy5ncmlkU2V0dGluZyA9IGdyaWRTZXR0aW5nKSkpLFxuICAgICAgICAgICAgc2VhcmNoVGVybSQucGlwZSh0YXAoKHNlYXJjaFRlcm0pID0+ICh0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtKSkpLFxuICAgICAgICAgICAgdmlzaWJsZUNvbHVtbnMkLnBpcGUodGFwKCh2aXNpYmxlQ29sdW1ucykgPT4gKHRoaXMudmlzaWJsZUNvbHVtbnMgPSB2aXNpYmxlQ29sdW1ucykpKVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKCkgPT4gISF0aGlzLml0ZW1zKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybVxuICAgICAgICAgICAgICAgICAgICA/IHNlYXJjaEV4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnMubWFwKChjKSA9PiBjLk5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuaXRlbXNcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAoKCkgPT4gKHRoaXMuZ3JpZFNldHRpbmc/LlNvcnRTZXR0aW5nTGlzdCA/IHNvcnRFeCh0aGlzLmdldFNvcnRieSgpLCB0aGlzLml0ZW1zKSA6IHRoaXMuaXRlbXMpKSxcbiAgICAgICAgICAgIC8vIG1hcCgoaXRlbXMpID0+IHtcbiAgICAgICAgICAgIC8vICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS4kVmlzaWJpbGl0eSA9IHRydWUpKTtcbiAgICAgICAgICAgIC8vICAgICByZXR1cm4gaXRlbXM7XG4gICAgICAgICAgICAvLyB9KSxcbiAgICAgICAgICAgIHRhcCgoaXRlbXMpID0+ICh0aGlzLnJlc3VsdEl0ZW1zID0gaXRlbXMpKSxcbiAgICAgICAgICAgIHRhcCgoaXRlbXMpID0+IGNvbnNvbGUubG9nKGl0ZW1zKSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0U29ydGJ5KCk6IENvbGxlY3Rpb25Tb3J0W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5ncmlkU2V0dGluZy5Tb3J0U2V0dGluZ0xpc3QubWFwKChjKSA9PiAoe1xuICAgICAgICAgICAgZmllbGQ6IGMuTmFtZSxcbiAgICAgICAgICAgIGRpcmVjdGlvbjogdGhpcy5nZXRTb3J0RGlyZWN0aW9uKGMuU29ydERpcmVjdGlvbiksXG4gICAgICAgICAgICBpc051bWJlcjogdGhpcy52aXNpYmxlQ29sdW1ucz8uZmluZCgoZCkgPT4gZC5OYW1lID09PSBjLk5hbWUpPy5GaWVsZFR5cGUgPT09ICfYudiv2K8nXG4gICAgICAgIH0pKS5jb25jYXQoeyBmaWVsZDogJyROZXdJbmxpbmVNbycsIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbi5ERVNDLCBpc051bWJlcjogZmFsc2UgfSk7XG4gICAgfVxuICAgIGdldFNvcnREaXJlY3Rpb24oZGlyZWN0aW9uKTogU29ydERpcmVjdGlvbiB7XG4gICAgICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICBjYXNlICdBU0MnOlxuICAgICAgICAgICAgICAgIHJldHVybiBTb3J0RGlyZWN0aW9uLkFTQztcbiAgICAgICAgICAgIGNhc2UgJ0RFU0MnOlxuICAgICAgICAgICAgICAgIHJldHVybiBTb3J0RGlyZWN0aW9uLkRFU0M7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFNvcnREaXJlY3Rpb24uTk9ORTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHcmlkRGF0YVByb3ZpZGVyIGV4dGVuZHMgVGFibGVEYXRhUHJvdmlkZXI8TWV0YW9iamVjdERhdGFNb2RlbD4ge1xuICAgIGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gPSBbXTtcbiAgICBtb0RhdGFMaXN0JDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+O1xuICAgIHRvdGFsSXRlbXMgPSAwO1xuICAgIGxhc3RTdGF0ZTogVGFibGVTdGF0ZTtcbiAgICBkYXRlVGltZUFkYXB0ZXI6IERhdGV0aW1lQWRhcHRlcjxGZERhdGU+O1xuICAgIGNvbnN0cnVjdG9yKG1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLml0ZW1zID0gbW9EYXRhTGlzdDtcbiAgICB9XG4gICAgZmV0Y2godGFibGVTdGF0ZTogVGFibGVTdGF0ZSk6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPiB7XG4gICAgICAgIHRoaXMubGFzdFN0YXRlID0gdGFibGVTdGF0ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TW9EYXRhTGlzdCh0YWJsZVN0YXRlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBnZXRNb0RhdGFMaXN0KHRhYmxlU3RhdGU6IFRhYmxlU3RhdGUpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgICAgICByZXR1cm4gb2YodGhpcy5pdGVtcykucGlwZShcbiAgICAgICAgICAgIG1hcCgoaXRlbXMpID0+ICh0YWJsZVN0YXRlLnNlYXJjaElucHV0ID8gc2VhcmNoKHRhYmxlU3RhdGUsIGl0ZW1zKSA6IGl0ZW1zKSksXG4gICAgICAgICAgICBtYXAoKGl0ZW1zKSA9PiAodGFibGVTdGF0ZS5zb3J0QnkgPyBzb3J0KHRhYmxlU3RhdGUsIGl0ZW1zKSA6IGl0ZW1zKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlcih7IGZpbHRlckJ5IH06IFRhYmxlU3RhdGUpOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10ge1xuICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLml0ZW1zO1xuXG4gICAgICAgIGZpbHRlckJ5XG4gICAgICAgICAgICAuZmlsdGVyKCh7IGZpZWxkIH0pID0+ICEhZmllbGQpXG4gICAgICAgICAgICAuZm9yRWFjaCgocnVsZSkgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW1zID0gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAocnVsZS5maWVsZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbmFtZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzdGF0dXMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3RhdHVzQ29sb3InOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJCeVN0cmluZyhpdGVtLCBydWxlIGFzIENvbGxlY3Rpb25TdHJpbmdGaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncHJpY2UudmFsdWUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJCeU51bWJlcihpdGVtLCBydWxlIGFzIENvbGxlY3Rpb25OdW1iZXJGaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndmVyaWZpZWQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJCeUJvb2xlYW4oaXRlbSwgcnVsZSBhcyBDb2xsZWN0aW9uQm9vbGVhbkZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyQnlEYXRlKGl0ZW0sIHJ1bGUgYXMgQ29sbGVjdGlvbkJvb2xlYW5GaWx0ZXIsIHRoaXMuZGF0ZVRpbWVBZGFwdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxufVxuY29uc3Qgc29ydCA9ICh7IHNvcnRCeSB9OiBUYWJsZVN0YXRlLCBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gPT5cbiAgICBzb3J0RXgoc29ydEJ5LCBtb0RhdGFMaXN0KTtcblxuY29uc3Qgc29ydEV4ID0gKFxuICAgIHNvcnRCeTogeyBmaWVsZDogc3RyaW5nIHwgbnVsbDsgZGlyZWN0aW9uOiBzdHJpbmc7IGlzTnVtYmVyPzogYm9vbGVhbiB9W10sXG4gICAgbW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdXG4pOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gPT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gbW9EYXRhTGlzdC5zbGljZSgpO1xuXG4gICAgY29uc3QgbmV3U29ydEJ5ID0gc29ydEJ5LmZpbHRlcigoeyBmaWVsZCB9KSA9PiAhIWZpZWxkKTtcblxuICAgIGlmIChuZXdTb3J0QnkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbXMuc29ydChcbiAgICAgICAgKGEsIGIpID0+XG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgICAgICAgICAgbmV3U29ydEJ5XG4gICAgICAgICAgICAgICAgLm1hcCgoeyBmaWVsZCwgZGlyZWN0aW9uLCBpc051bWJlciB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFzY01vZGlmaWVyID0gZGlyZWN0aW9uID09PSBTb3J0RGlyZWN0aW9uLkFTQyA/IDEgOiAtMTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIENvbnN0YW50cy5zb3J0KGEsIGIsIGZpZWxkLCBpc051bWJlcikgKiBhc2NNb2RpZmllcjtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5maW5kKChyZXN1bHQsIGluZGV4LCBsaXN0KSA9PiByZXN1bHQgIT09IDAgfHwgaW5kZXggPT09IGxpc3QubGVuZ3RoIC0gMSkhXG4gICAgKTtcbn07XG5jb25zdCBzZWFyY2ggPSAoeyBzZWFyY2hJbnB1dCwgY29sdW1ucyB9OiBUYWJsZVN0YXRlLCBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogTWV0YW9iamVjdERhdGFNb2RlbFtdID0+IHtcbiAgICByZXR1cm4gc2VhcmNoRXgoc2VhcmNoSW5wdXQ/LnRleHQsIGNvbHVtbnMsIGl0ZW1zKTtcbn07XG5jb25zdCBzZWFyY2hFeCA9IChzZWFyY2hUZXJtLCBjb2x1bW5zOiBzdHJpbmdbXSwgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSk6IE1ldGFvYmplY3REYXRhTW9kZWxbXSA9PiB7XG4gICAgY29uc3Qgc2VhcmNoVGV4dCA9IHNlYXJjaFRlcm0gfHwgJyc7XG4gICAgY29uc3Qga2V5c1RvU2VhcmNoQnkgPSBjb2x1bW5zO1xuXG4gICAgaWYgKHNlYXJjaFRleHQudHJpbSgpID09PSAnJyB8fCBrZXlzVG9TZWFyY2hCeS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlc0ZvclNlYXJjaCA9IGtleXNUb1NlYXJjaEJ5Lm1hcCgoa2V5KSA9PiBDb25zdGFudHMuZ2V0TmVzdGVkVmFsdWUoa2V5LCBpdGVtKSk7XG4gICAgICAgIHJldHVybiB2YWx1ZXNGb3JTZWFyY2hcbiAgICAgICAgICAgIC5maWx0ZXIoKHZhbHVlKSA9PiAhIXZhbHVlKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpOiBzdHJpbmcgPT4gdmFsdWUudG9TdHJpbmcoKSlcbiAgICAgICAgICAgIC5zb21lKCh2YWx1ZSkgPT4gdmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0LnRvTG9jYWxlTG93ZXJDYXNlKCkpKTtcbiAgICB9KTtcbn07XG5jb25zdCBmaWx0ZXJCeVN0cmluZyA9IChpdGVtOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBjb2xsZWN0aW9uU3RyaW5nRmlsdGVyOiBDb2xsZWN0aW9uU3RyaW5nRmlsdGVyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSBjb2xsZWN0aW9uU3RyaW5nRmlsdGVyLnZhbHVlICYmIGNvbGxlY3Rpb25TdHJpbmdGaWx0ZXIudmFsdWUudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZTIgPSAoY29sbGVjdGlvblN0cmluZ0ZpbHRlci52YWx1ZTIgJiYgY29sbGVjdGlvblN0cmluZ0ZpbHRlci52YWx1ZTIudG9Mb2NhbGVMb3dlckNhc2UoKSkgfHwgJyc7XG4gICAgY29uc3QgaXRlbVZhbHVlID0gQ29uc3RhbnRzLmdldE5lc3RlZFZhbHVlKGNvbGxlY3Rpb25TdHJpbmdGaWx0ZXIuZmllbGQsIGl0ZW0pLnRvTG9jYWxlTG93ZXJDYXNlKCk7XG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgc3dpdGNoIChjb2xsZWN0aW9uU3RyaW5nRmlsdGVyLnN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgJ2VxdWFsVG8nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlID09PSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdncmVhdGVyVGhhbic6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPiBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdncmVhdGVyVGhhbk9yRXF1YWxUbyc6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPj0gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVzc1RoYW4nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlIDwgZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVzc1RoYW5PckVxdWFsVG8nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlIDw9IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JldHdlZW4nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlID49IGZpbHRlclZhbHVlICYmIGl0ZW1WYWx1ZSA8PSBmaWx0ZXJWYWx1ZTI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYmVnaW5zV2l0aCc6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUuc3RhcnRzV2l0aChmaWx0ZXJWYWx1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZW5kc1dpdGgnOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlLmVuZHNXaXRoKGZpbHRlclZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdjb250YWlucyc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUuaW5jbHVkZXMoZmlsdGVyVmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xsZWN0aW9uU3RyaW5nRmlsdGVyLmV4Y2x1ZGUgPyAhcmVzdWx0IDogcmVzdWx0O1xufTtcblxuY29uc3QgZmlsdGVyQnlOdW1iZXIgPSAoaXRlbTogTWV0YW9iamVjdERhdGFNb2RlbCwgY29sbGVjdGlvbk51bWJlckZpbHRlcjogQ29sbGVjdGlvbk51bWJlckZpbHRlcik6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQoY29sbGVjdGlvbk51bWJlckZpbHRlci52YWx1ZSBhcyB1bmtub3duIGFzIHN0cmluZyk7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUyID0gTnVtYmVyLnBhcnNlRmxvYXQoY29sbGVjdGlvbk51bWJlckZpbHRlci52YWx1ZTIgYXMgdW5rbm93biBhcyBzdHJpbmcpIHx8IDA7XG4gICAgY29uc3QgaXRlbVZhbHVlID0gTnVtYmVyLnBhcnNlRmxvYXQoQ29uc3RhbnRzLmdldE5lc3RlZFZhbHVlKGNvbGxlY3Rpb25OdW1iZXJGaWx0ZXIuZmllbGQsIGl0ZW0pKTtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKGNvbGxlY3Rpb25OdW1iZXJGaWx0ZXIuc3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAnZ3JlYXRlclRoYW4nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlID4gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZ3JlYXRlclRoYW5PckVxdWFsVG8nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlID49IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlc3NUaGFuJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGl0ZW1WYWx1ZSA8IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlc3NUaGFuT3JFcXVhbFRvJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGl0ZW1WYWx1ZSA8PSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdiZXR3ZWVuJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGl0ZW1WYWx1ZSA+PSBmaWx0ZXJWYWx1ZSAmJiBpdGVtVmFsdWUgPD0gZmlsdGVyVmFsdWUyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2VxdWFsVG8nOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlID09PSBmaWx0ZXJWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29sbGVjdGlvbk51bWJlckZpbHRlci5leGNsdWRlID8gIXJlc3VsdCA6IHJlc3VsdDtcbn07XG5cbmNvbnN0IGZpbHRlckJ5RGF0ZSA9IDxEID0gRmREYXRlPihcbiAgICBpdGVtOiBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIGNvbGxlY3RvaW5EYXRlRmlsdGVyOiBDb2xsZWN0aW9uRGF0ZUZpbHRlcixcbiAgICBhZGFwdGVyOiBEYXRldGltZUFkYXB0ZXI8RD5cbik6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gY29sbGVjdG9pbkRhdGVGaWx0ZXIudmFsdWU7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUyID0gY29sbGVjdG9pbkRhdGVGaWx0ZXIudmFsdWUyO1xuICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IENvbnN0YW50cy5nZXROZXN0ZWRWYWx1ZShjb2xsZWN0b2luRGF0ZUZpbHRlci5maWVsZCwgaXRlbSk7XG4gICAgY29uc3QgZGlmZiA9IGFkYXB0ZXIuY29tcGFyZURhdGUoaXRlbVZhbHVlLCBmaWx0ZXJWYWx1ZSk7XG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgc3dpdGNoIChjb2xsZWN0b2luRGF0ZUZpbHRlci5zdHJhdGVneSkge1xuICAgICAgICBjYXNlICdhZnRlcic6XG4gICAgICAgICAgICByZXN1bHQgPSBkaWZmID4gMDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdvbk9yQWZ0ZXInOlxuICAgICAgICAgICAgcmVzdWx0ID0gZGlmZiA+PSAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JlZm9yZSc6XG4gICAgICAgICAgICByZXN1bHQgPSBkaWZmIDwgMDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdiZWZvcmVPck9uJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGRpZmYgPD0gMDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdiZXR3ZWVuJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGFkYXB0ZXIuaXNCZXR3ZWVuKGl0ZW1WYWx1ZSwgZmlsdGVyVmFsdWUsIGZpbHRlclZhbHVlMik7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdlcXVhbFRvJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJlc3VsdCA9IGFkYXB0ZXIuZGF0ZVRpbWVzRXF1YWwoaXRlbVZhbHVlLCBmaWx0ZXJWYWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbGxlY3RvaW5EYXRlRmlsdGVyLmV4Y2x1ZGUgPyAhcmVzdWx0IDogcmVzdWx0O1xufTtcblxuY29uc3QgZmlsdGVyQnlCb29sZWFuID0gKGl0ZW06IE1ldGFvYmplY3REYXRhTW9kZWwsIGNvbGxlY3Rpb25Cb29sZWFuRmlsdGVyOiBDb2xsZWN0aW9uQm9vbGVhbkZpbHRlcik6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gY29sbGVjdGlvbkJvb2xlYW5GaWx0ZXIudmFsdWU7XG4gICAgY29uc3QgaXRlbVZhbHVlID0gQ29uc3RhbnRzLmdldE5lc3RlZFZhbHVlKGNvbGxlY3Rpb25Cb29sZWFuRmlsdGVyLmZpZWxkLCBpdGVtKTtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKGNvbGxlY3Rpb25Cb29sZWFuRmlsdGVyLnN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgJ2VxdWFsVG8nOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlID09PSBmaWx0ZXJWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29sbGVjdGlvbkJvb2xlYW5GaWx0ZXIuZXhjbHVkZSA/ICFyZXN1bHQgOiByZXN1bHQ7XG59O1xuXG5jb25zdCBmaWx0ZXJCeVNlbGVjdCA9IChpdGVtOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBjb2xsZWN0aW9uU2VsZWN0RmlsdGVyOiBDb2xsZWN0aW9uU2VsZWN0RmlsdGVyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWVzID0gY29sbGVjdGlvblNlbGVjdEZpbHRlci52YWx1ZTtcbiAgICBjb25zdCBpdGVtVmFsdWUgPSBDb25zdGFudHMuZ2V0TmVzdGVkVmFsdWUoY29sbGVjdGlvblNlbGVjdEZpbHRlci5maWVsZCwgaXRlbSk7XG4gICAgbGV0IHJlc3VsdCA9IGZhbHNlO1xuXG4gICAgc3dpdGNoIChjb2xsZWN0aW9uU2VsZWN0RmlsdGVyLnN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgJ2VxdWFsVG8nOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmVzdWx0ID0gZmlsdGVyVmFsdWVzLmluY2x1ZGVzKGl0ZW1WYWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICFmaWx0ZXJWYWx1ZXMubGVuZ3RoIHx8IGNvbGxlY3Rpb25TZWxlY3RGaWx0ZXIuZXhjbHVkZSA/ICFyZXN1bHQgOiByZXN1bHQ7XG59O1xuIl19
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1kYXRhLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvbW9kZWxzL2dyaWQtZGF0YS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBT0gsYUFBYSxFQUNiLGlCQUFpQixFQUVwQixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFBRSxLQUFLLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2xELE9BQU8sS0FBSyxTQUFTLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE1BQU0sT0FBTyxjQUFjO0lBT3ZCLFlBQ0ksV0FBOEMsRUFDOUMsWUFBcUMsRUFDckMsZUFBK0MsRUFDL0MsV0FBK0I7UUFFL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQ2QsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQ3RELFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUN6RSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFDckUsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsQ0FBQyxD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Q0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb2xsZWN0aW9uQm9vbGVhbkZpbHRlcixcbiAgICBDb2xsZWN0aW9uRGF0ZUZpbHRlcixcbiAgICBDb2xsZWN0aW9uTnVtYmVyRmlsdGVyLFxuICAgIENvbGxlY3Rpb25TZWxlY3RGaWx0ZXIsXG4gICAgQ29sbGVjdGlvblNvcnQsXG4gICAgQ29sbGVjdGlvblN0cmluZ0ZpbHRlcixcbiAgICBTb3J0RGlyZWN0aW9uLFxuICAgIFRhYmxlRGF0YVByb3ZpZGVyLFxuICAgIFRhYmxlU3RhdGVcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBEYXRldGltZUFkYXB0ZXIsIEZkRGF0ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBtZXJnZSwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdyaWRTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsLCBSZXBvcnRWaWV3Q29sdW1uIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBHcmlkTW9EYXRhTGlzdCB7XG4gICAgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXTtcbiAgICByZXN1bHRJdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdO1xuICAgIGdyaWRTZXR0aW5nOiBHcmlkU2V0dGluZztcbiAgICB2aXNpYmxlQ29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xuICAgIHNlYXJjaFRlcm06IHN0cmluZztcbiAgICBkYXRhJDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBtb0RhdGFMaXN0JDogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+LFxuICAgICAgICBncmlkU2V0dGluZyQ6IE9ic2VydmFibGU8R3JpZFNldHRpbmc+LFxuICAgICAgICB2aXNpYmxlQ29sdW1ucyQ6IE9ic2VydmFibGU8UmVwb3J0Vmlld0NvbHVtbltdPixcbiAgICAgICAgc2VhcmNoVGVybSQ6IE9ic2VydmFibGU8c3RyaW5nPlxuICAgICkge1xuICAgICAgICB0aGlzLmRhdGEkID0gbWVyZ2UoXG4gICAgICAgICAgICBtb0RhdGFMaXN0JC5waXBlKHRhcCgoaXRlbXMpID0+ICh0aGlzLml0ZW1zID0gaXRlbXMpKSksXG4gICAgICAgICAgICBncmlkU2V0dGluZyQucGlwZSh0YXAoKGdyaWRTZXR0aW5nKSA9PiAodGhpcy5ncmlkU2V0dGluZyA9IGdyaWRTZXR0aW5nKSkpLFxuICAgICAgICAgICAgc2VhcmNoVGVybSQucGlwZSh0YXAoKHNlYXJjaFRlcm0pID0+ICh0aGlzLnNlYXJjaFRlcm0gPSBzZWFyY2hUZXJtKSkpLFxuICAgICAgICAgICAgdmlzaWJsZUNvbHVtbnMkLnBpcGUodGFwKCh2aXNpYmxlQ29sdW1ucykgPT4gKHRoaXMudmlzaWJsZUNvbHVtbnMgPSB2aXNpYmxlQ29sdW1ucykpKVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKCkgPT4gISF0aGlzLml0ZW1zKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuc2VhcmNoVGVybVxuICAgICAgICAgICAgICAgICAgICA/IHNlYXJjaEV4KFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaFRlcm0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZUNvbHVtbnMubWFwKChjKSA9PiBjLk5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1zXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMuaXRlbXNcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBtYXAoKCkgPT4gKHRoaXMuZ3JpZFNldHRpbmc/LlNvcnRTZXR0aW5nTGlzdCA/IHNvcnRFeCh0aGlzLmdldFNvcnRieSgpLCB0aGlzLml0ZW1zKSA6IHRoaXMuaXRlbXMpKSxcbiAgICAgICAgICAgIC8vIG1hcCgoaXRlbXMpID0+IHtcbiAgICAgICAgICAgIC8vICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS4kVmlzaWJpbGl0eSA9IHRydWUpKTtcbiAgICAgICAgICAgIC8vICAgICByZXR1cm4gaXRlbXM7XG4gICAgICAgICAgICAvLyB9KSxcbiAgICAgICAgICAgIHRhcCgoaXRlbXMpID0+ICh0aGlzLnJlc3VsdEl0ZW1zID0gaXRlbXMpKVxuICAgICAgICAgICAgLy8gdGFwKChpdGVtcykgPT4gY29uc29sZS5sb2coaXRlbXMpKVxuICAgICAgICApO1xuICAgIH1cbiAgICBnZXRTb3J0YnkoKTogQ29sbGVjdGlvblNvcnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWRTZXR0aW5nLlNvcnRTZXR0aW5nTGlzdC5tYXAoKGMpID0+ICh7XG4gICAgICAgICAgICBmaWVsZDogYy5OYW1lLFxuICAgICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmdldFNvcnREaXJlY3Rpb24oYy5Tb3J0RGlyZWN0aW9uKSxcbiAgICAgICAgICAgIGlzTnVtYmVyOiB0aGlzLnZpc2libGVDb2x1bW5zPy5maW5kKChkKSA9PiBkLk5hbWUgPT09IGMuTmFtZSk/LkZpZWxkVHlwZSA9PT0gJ9i52K/YrydcbiAgICAgICAgfSkpLmNvbmNhdCh7IGZpZWxkOiAnJE5ld0lubGluZU1vJywgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uLkRFU0MsIGlzTnVtYmVyOiBmYWxzZSB9KTtcbiAgICB9XG4gICAgZ2V0U29ydERpcmVjdGlvbihkaXJlY3Rpb24pOiBTb3J0RGlyZWN0aW9uIHtcbiAgICAgICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ0FTQyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFNvcnREaXJlY3Rpb24uQVNDO1xuICAgICAgICAgICAgY2FzZSAnREVTQyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFNvcnREaXJlY3Rpb24uREVTQztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gU29ydERpcmVjdGlvbi5OT05FO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdyaWREYXRhUHJvdmlkZXIgZXh0ZW5kcyBUYWJsZURhdGFQcm92aWRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPiB7XG4gICAgaXRlbXM6IE1ldGFvYmplY3REYXRhTW9kZWxbXSA9IFtdO1xuICAgIG1vRGF0YUxpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XG4gICAgdG90YWxJdGVtcyA9IDA7XG4gICAgbGFzdFN0YXRlOiBUYWJsZVN0YXRlO1xuICAgIGRhdGVUaW1lQWRhcHRlcjogRGF0ZXRpbWVBZGFwdGVyPEZkRGF0ZT47XG4gICAgY29uc3RydWN0b3IobW9EYXRhTGlzdDogTWV0YW9iamVjdERhdGFNb2RlbFtdKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBtb0RhdGFMaXN0O1xuICAgIH1cbiAgICBmZXRjaCh0YWJsZVN0YXRlOiBUYWJsZVN0YXRlKTogT2JzZXJ2YWJsZTxNZXRhb2JqZWN0RGF0YU1vZGVsW10+IHtcbiAgICAgICAgdGhpcy5sYXN0U3RhdGUgPSB0YWJsZVN0YXRlO1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNb0RhdGFMaXN0KHRhYmxlU3RhdGUpO1xuICAgIH1cbiAgICBwcml2YXRlIGdldE1vRGF0YUxpc3QodGFibGVTdGF0ZTogVGFibGVTdGF0ZSk6IE9ic2VydmFibGU8YW55W10+IHtcbiAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gdGhpcy5pdGVtcy5sZW5ndGg7XG4gICAgICAgIHJldHVybiBvZih0aGlzLml0ZW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChpdGVtcykgPT4gKHRhYmxlU3RhdGUuc2VhcmNoSW5wdXQgPyBzZWFyY2godGFibGVTdGF0ZSwgaXRlbXMpIDogaXRlbXMpKSxcbiAgICAgICAgICAgIG1hcCgoaXRlbXMpID0+ICh0YWJsZVN0YXRlLnNvcnRCeSA/IHNvcnQodGFibGVTdGF0ZSwgaXRlbXMpIDogaXRlbXMpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyKHsgZmlsdGVyQnkgfTogVGFibGVTdGF0ZSk6IE1ldGFvYmplY3REYXRhTW9kZWxbXSB7XG4gICAgICAgIGxldCBpdGVtcyA9IHRoaXMuaXRlbXM7XG5cbiAgICAgICAgZmlsdGVyQnlcbiAgICAgICAgICAgIC5maWx0ZXIoKHsgZmllbGQgfSkgPT4gISFmaWVsZClcbiAgICAgICAgICAgIC5mb3JFYWNoKChydWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgaXRlbXMgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChydWxlLmZpZWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICduYW1lJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Rlc2NyaXB0aW9uJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N0YXR1cyc6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzdGF0dXNDb2xvcic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckJ5U3RyaW5nKGl0ZW0sIHJ1bGUgYXMgQ29sbGVjdGlvblN0cmluZ0ZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdwcmljZS52YWx1ZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckJ5TnVtYmVyKGl0ZW0sIHJ1bGUgYXMgQ29sbGVjdGlvbk51bWJlckZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICd2ZXJpZmllZCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbHRlckJ5Qm9vbGVhbihpdGVtLCBydWxlIGFzIENvbGxlY3Rpb25Cb29sZWFuRmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWx0ZXJCeURhdGUoaXRlbSwgcnVsZSBhcyBDb2xsZWN0aW9uQm9vbGVhbkZpbHRlciwgdGhpcy5kYXRlVGltZUFkYXB0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpdGVtcztcbiAgICB9XG59XG5jb25zdCBzb3J0ID0gKHsgc29ydEJ5IH06IFRhYmxlU3RhdGUsIG1vRGF0YUxpc3Q6IE1ldGFvYmplY3REYXRhTW9kZWxbXSk6IE1ldGFvYmplY3REYXRhTW9kZWxbXSA9PlxuICAgIHNvcnRFeChzb3J0QnksIG1vRGF0YUxpc3QpO1xuXG5jb25zdCBzb3J0RXggPSAoXG4gICAgc29ydEJ5OiB7IGZpZWxkOiBzdHJpbmcgfCBudWxsOyBkaXJlY3Rpb246IHN0cmluZzsgaXNOdW1iZXI/OiBib29sZWFuIH1bXSxcbiAgICBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW11cbik6IE1ldGFvYmplY3REYXRhTW9kZWxbXSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSBtb0RhdGFMaXN0LnNsaWNlKCk7XG5cbiAgICBjb25zdCBuZXdTb3J0QnkgPSBzb3J0QnkuZmlsdGVyKCh7IGZpZWxkIH0pID0+ICEhZmllbGQpO1xuXG4gICAgaWYgKG5ld1NvcnRCeS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cblxuICAgIHJldHVybiBpdGVtcy5zb3J0KFxuICAgICAgICAoYSwgYikgPT5cbiAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgICAgICAgICBuZXdTb3J0QnlcbiAgICAgICAgICAgICAgICAubWFwKCh7IGZpZWxkLCBkaXJlY3Rpb24sIGlzTnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXNjTW9kaWZpZXIgPSBkaXJlY3Rpb24gPT09IFNvcnREaXJlY3Rpb24uQVNDID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ29uc3RhbnRzLnNvcnQoYSwgYiwgZmllbGQsIGlzTnVtYmVyKSAqIGFzY01vZGlmaWVyO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmZpbmQoKHJlc3VsdCwgaW5kZXgsIGxpc3QpID0+IHJlc3VsdCAhPT0gMCB8fCBpbmRleCA9PT0gbGlzdC5sZW5ndGggLSAxKSFcbiAgICApO1xufTtcbmNvbnN0IHNlYXJjaCA9ICh7IHNlYXJjaElucHV0LCBjb2x1bW5zIH06IFRhYmxlU3RhdGUsIGl0ZW1zOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10pOiBNZXRhb2JqZWN0RGF0YU1vZGVsW10gPT4ge1xuICAgIHJldHVybiBzZWFyY2hFeChzZWFyY2hJbnB1dD8udGV4dCwgY29sdW1ucywgaXRlbXMpO1xufTtcbmNvbnN0IHNlYXJjaEV4ID0gKHNlYXJjaFRlcm0sIGNvbHVtbnM6IHN0cmluZ1tdLCBpdGVtczogTWV0YW9iamVjdERhdGFNb2RlbFtdKTogTWV0YW9iamVjdERhdGFNb2RlbFtdID0+IHtcbiAgICBjb25zdCBzZWFyY2hUZXh0ID0gc2VhcmNoVGVybSB8fCAnJztcbiAgICBjb25zdCBrZXlzVG9TZWFyY2hCeSA9IGNvbHVtbnM7XG5cbiAgICBpZiAoc2VhcmNoVGV4dC50cmltKCkgPT09ICcnIHx8IGtleXNUb1NlYXJjaEJ5Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVzRm9yU2VhcmNoID0ga2V5c1RvU2VhcmNoQnkubWFwKChrZXkpID0+IENvbnN0YW50cy5nZXROZXN0ZWRWYWx1ZShrZXksIGl0ZW0pKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlc0ZvclNlYXJjaFxuICAgICAgICAgICAgLmZpbHRlcigodmFsdWUpID0+ICEhdmFsdWUpXG4gICAgICAgICAgICAubWFwKCh2YWx1ZSk6IHN0cmluZyA9PiB2YWx1ZS50b1N0cmluZygpKVxuICAgICAgICAgICAgLnNvbWUoKHZhbHVlKSA9PiB2YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRleHQudG9Mb2NhbGVMb3dlckNhc2UoKSkpO1xuICAgIH0pO1xufTtcbmNvbnN0IGZpbHRlckJ5U3RyaW5nID0gKGl0ZW06IE1ldGFvYmplY3REYXRhTW9kZWwsIGNvbGxlY3Rpb25TdHJpbmdGaWx0ZXI6IENvbGxlY3Rpb25TdHJpbmdGaWx0ZXIpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGNvbGxlY3Rpb25TdHJpbmdGaWx0ZXIudmFsdWUgJiYgY29sbGVjdGlvblN0cmluZ0ZpbHRlci52YWx1ZS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGZpbHRlclZhbHVlMiA9IChjb2xsZWN0aW9uU3RyaW5nRmlsdGVyLnZhbHVlMiAmJiBjb2xsZWN0aW9uU3RyaW5nRmlsdGVyLnZhbHVlMi50b0xvY2FsZUxvd2VyQ2FzZSgpKSB8fCAnJztcbiAgICBjb25zdCBpdGVtVmFsdWUgPSBDb25zdGFudHMuZ2V0TmVzdGVkVmFsdWUoY29sbGVjdGlvblN0cmluZ0ZpbHRlci5maWVsZCwgaXRlbSkudG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKGNvbGxlY3Rpb25TdHJpbmdGaWx0ZXIuc3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAnZXF1YWxUbyc6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPT09IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2dyZWF0ZXJUaGFuJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGl0ZW1WYWx1ZSA+IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2dyZWF0ZXJUaGFuT3JFcXVhbFRvJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGl0ZW1WYWx1ZSA+PSBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsZXNzVGhhbic6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPCBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdsZXNzVGhhbk9yRXF1YWxUbyc6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPD0gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYmV0d2Vlbic6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPj0gZmlsdGVyVmFsdWUgJiYgaXRlbVZhbHVlIDw9IGZpbHRlclZhbHVlMjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdiZWdpbnNXaXRoJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGl0ZW1WYWx1ZS5zdGFydHNXaXRoKGZpbHRlclZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdlbmRzV2l0aCc6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUuZW5kc1dpdGgoZmlsdGVyVmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2NvbnRhaW5zJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJlc3VsdCA9IGl0ZW1WYWx1ZS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbGxlY3Rpb25TdHJpbmdGaWx0ZXIuZXhjbHVkZSA/ICFyZXN1bHQgOiByZXN1bHQ7XG59O1xuXG5jb25zdCBmaWx0ZXJCeU51bWJlciA9IChpdGVtOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBjb2xsZWN0aW9uTnVtYmVyRmlsdGVyOiBDb2xsZWN0aW9uTnVtYmVyRmlsdGVyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChjb2xsZWN0aW9uTnVtYmVyRmlsdGVyLnZhbHVlIGFzIHVua25vd24gYXMgc3RyaW5nKTtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZTIgPSBOdW1iZXIucGFyc2VGbG9hdChjb2xsZWN0aW9uTnVtYmVyRmlsdGVyLnZhbHVlMiBhcyB1bmtub3duIGFzIHN0cmluZykgfHwgMDtcbiAgICBjb25zdCBpdGVtVmFsdWUgPSBOdW1iZXIucGFyc2VGbG9hdChDb25zdGFudHMuZ2V0TmVzdGVkVmFsdWUoY29sbGVjdGlvbk51bWJlckZpbHRlci5maWVsZCwgaXRlbSkpO1xuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcblxuICAgIHN3aXRjaCAoY29sbGVjdGlvbk51bWJlckZpbHRlci5zdHJhdGVneSkge1xuICAgICAgICBjYXNlICdncmVhdGVyVGhhbic6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPiBmaWx0ZXJWYWx1ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdncmVhdGVyVGhhbk9yRXF1YWxUbyc6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPj0gZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVzc1RoYW4nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlIDwgZmlsdGVyVmFsdWU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnbGVzc1RoYW5PckVxdWFsVG8nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlIDw9IGZpbHRlclZhbHVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JldHdlZW4nOlxuICAgICAgICAgICAgcmVzdWx0ID0gaXRlbVZhbHVlID49IGZpbHRlclZhbHVlICYmIGl0ZW1WYWx1ZSA8PSBmaWx0ZXJWYWx1ZTI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZXF1YWxUbyc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPT09IGZpbHRlclZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xsZWN0aW9uTnVtYmVyRmlsdGVyLmV4Y2x1ZGUgPyAhcmVzdWx0IDogcmVzdWx0O1xufTtcblxuY29uc3QgZmlsdGVyQnlEYXRlID0gPEQgPSBGZERhdGU+KFxuICAgIGl0ZW06IE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgY29sbGVjdG9pbkRhdGVGaWx0ZXI6IENvbGxlY3Rpb25EYXRlRmlsdGVyLFxuICAgIGFkYXB0ZXI6IERhdGV0aW1lQWRhcHRlcjxEPlxuKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSBjb2xsZWN0b2luRGF0ZUZpbHRlci52YWx1ZTtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZTIgPSBjb2xsZWN0b2luRGF0ZUZpbHRlci52YWx1ZTI7XG4gICAgY29uc3QgaXRlbVZhbHVlID0gQ29uc3RhbnRzLmdldE5lc3RlZFZhbHVlKGNvbGxlY3RvaW5EYXRlRmlsdGVyLmZpZWxkLCBpdGVtKTtcbiAgICBjb25zdCBkaWZmID0gYWRhcHRlci5jb21wYXJlRGF0ZShpdGVtVmFsdWUsIGZpbHRlclZhbHVlKTtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKGNvbGxlY3RvaW5EYXRlRmlsdGVyLnN0cmF0ZWd5KSB7XG4gICAgICAgIGNhc2UgJ2FmdGVyJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGRpZmYgPiAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ29uT3JBZnRlcic6XG4gICAgICAgICAgICByZXN1bHQgPSBkaWZmID49IDA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYmVmb3JlJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IGRpZmYgPCAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JlZm9yZU9yT24nOlxuICAgICAgICAgICAgcmVzdWx0ID0gZGlmZiA8PSAwO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JldHdlZW4nOlxuICAgICAgICAgICAgcmVzdWx0ID0gYWRhcHRlci5pc0JldHdlZW4oaXRlbVZhbHVlLCBmaWx0ZXJWYWx1ZSwgZmlsdGVyVmFsdWUyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ2VxdWFsVG8nOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmVzdWx0ID0gYWRhcHRlci5kYXRlVGltZXNFcXVhbChpdGVtVmFsdWUsIGZpbHRlclZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29sbGVjdG9pbkRhdGVGaWx0ZXIuZXhjbHVkZSA/ICFyZXN1bHQgOiByZXN1bHQ7XG59O1xuXG5jb25zdCBmaWx0ZXJCeUJvb2xlYW4gPSAoaXRlbTogTWV0YW9iamVjdERhdGFNb2RlbCwgY29sbGVjdGlvbkJvb2xlYW5GaWx0ZXI6IENvbGxlY3Rpb25Cb29sZWFuRmlsdGVyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgZmlsdGVyVmFsdWUgPSBjb2xsZWN0aW9uQm9vbGVhbkZpbHRlci52YWx1ZTtcbiAgICBjb25zdCBpdGVtVmFsdWUgPSBDb25zdGFudHMuZ2V0TmVzdGVkVmFsdWUoY29sbGVjdGlvbkJvb2xlYW5GaWx0ZXIuZmllbGQsIGl0ZW0pO1xuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcblxuICAgIHN3aXRjaCAoY29sbGVjdGlvbkJvb2xlYW5GaWx0ZXIuc3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAnZXF1YWxUbyc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXN1bHQgPSBpdGVtVmFsdWUgPT09IGZpbHRlclZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiBjb2xsZWN0aW9uQm9vbGVhbkZpbHRlci5leGNsdWRlID8gIXJlc3VsdCA6IHJlc3VsdDtcbn07XG5cbmNvbnN0IGZpbHRlckJ5U2VsZWN0ID0gKGl0ZW06IE1ldGFvYmplY3REYXRhTW9kZWwsIGNvbGxlY3Rpb25TZWxlY3RGaWx0ZXI6IENvbGxlY3Rpb25TZWxlY3RGaWx0ZXIpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBmaWx0ZXJWYWx1ZXMgPSBjb2xsZWN0aW9uU2VsZWN0RmlsdGVyLnZhbHVlO1xuICAgIGNvbnN0IGl0ZW1WYWx1ZSA9IENvbnN0YW50cy5nZXROZXN0ZWRWYWx1ZShjb2xsZWN0aW9uU2VsZWN0RmlsdGVyLmZpZWxkLCBpdGVtKTtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKGNvbGxlY3Rpb25TZWxlY3RGaWx0ZXIuc3RyYXRlZ3kpIHtcbiAgICAgICAgY2FzZSAnZXF1YWxUbyc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXN1bHQgPSBmaWx0ZXJWYWx1ZXMuaW5jbHVkZXMoaXRlbVZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gIWZpbHRlclZhbHVlcy5sZW5ndGggfHwgY29sbGVjdGlvblNlbGVjdEZpbHRlci5leGNsdWRlID8gIXJlc3VsdCA6IHJlc3VsdDtcbn07XG4iXX0=
@@ -100,6 +100,7 @@ export class ReportViewRendererDirective extends BaseDirective {
100
100
  instance.allowInlineEdit = this.allowInlineEdit;
101
101
  instance.formSetting = this.formSetting;
102
102
  instance.navigationArrow = this.navigationArrow;
103
+ instance.selectedMo = this.selectedMo;
103
104
  instance.editFormPanelValueChange?.pipe(takeUntil(this._onDestroy$)).subscribe((mo) => {
104
105
  this.editFormPanelValueChange.emit(mo);
105
106
  });
@@ -165,7 +166,7 @@ export class ReportViewRendererDirective extends BaseDirective {
165
166
  }
166
167
  }
167
168
  ReportViewRendererDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewRendererDirective, deps: [{ token: i1.PortalService }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
168
- ReportViewRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewRendererDirective, selector: "[reportViewRenderer]", inputs: { view: "view", moDataList: "moDataList", allChecked: "allChecked", groupby: "groupby", isCheckList: "isCheckList", hasSummary: "hasSummary", relationList: "relationList", columns: "columns", columnsCount: "columnsCount", secondaryColumns: "secondaryColumns", contextMenuItems: "contextMenuItems", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", mobileOrTablet: "mobileOrTablet", access: "access", title: "title", customFieldInfo: "customFieldInfo", allColumns: "allColumns", viewSetting: "viewSetting", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", allowInlineEdit: "allowInlineEdit", popin: "popin", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", typeDefId: "typeDefId", containerWidth: "containerWidth", extraRelation: "extraRelation", contextView: "contextView", contentDensity: "contentDensity", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", inDialog: "inDialog", isMultiSelect: "isMultiSelect", disableResponsive: "disableResponsive", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo" }, outputs: { editFormPanelCancel: "editFormPanelCancel", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter", deselectAll: "deselectAll", rowCheck: "rowCheck", rowClick: "rowClick", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", allCheckbox: "allCheckbox", mandatory: "mandatory", editFormPanelSave: "editFormPanelSave", columnResized: "columnResized", selectNextInlineRecord: "selectNextInlineRecord", workflowShareButtons: "workflowShareButtons" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
169
+ ReportViewRendererDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewRendererDirective, selector: "[reportViewRenderer]", inputs: { view: "view", moDataList: "moDataList", allChecked: "allChecked", groupby: "groupby", isCheckList: "isCheckList", hasSummary: "hasSummary", relationList: "relationList", columns: "columns", columnsCount: "columnsCount", secondaryColumns: "secondaryColumns", contextMenuItems: "contextMenuItems", conditionalFormats: "conditionalFormats", deviceName: "deviceName", deviceSize: "deviceSize", mobileOrTablet: "mobileOrTablet", access: "access", title: "title", customFieldInfo: "customFieldInfo", selectedMo: "selectedMo", allColumns: "allColumns", viewSetting: "viewSetting", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", allowInlineEdit: "allowInlineEdit", popin: "popin", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", navigationArrow: "navigationArrow", typeDefId: "typeDefId", containerWidth: "containerWidth", extraRelation: "extraRelation", contextView: "contextView", contentDensity: "contentDensity", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", inDialog: "inDialog", isMultiSelect: "isMultiSelect", disableResponsive: "disableResponsive", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo" }, outputs: { editFormPanelCancel: "editFormPanelCancel", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", sortDescending: "sortDescending", filter: "filter", deselectAll: "deselectAll", rowCheck: "rowCheck", rowClick: "rowClick", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", allCheckbox: "allCheckbox", mandatory: "mandatory", editFormPanelSave: "editFormPanelSave", columnResized: "columnResized", selectNextInlineRecord: "selectNextInlineRecord", workflowShareButtons: "workflowShareButtons" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
169
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewRendererDirective, decorators: [{
170
171
  type: Directive,
171
172
  args: [{
@@ -207,6 +208,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
207
208
  type: Input
208
209
  }], customFieldInfo: [{
209
210
  type: Input
211
+ }], selectedMo: [{
212
+ type: Input
210
213
  }], allColumns: [{
211
214
  type: Input
212
215
  }], viewSetting: [{
@@ -290,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
290
293
  }], workflowShareButtons: [{
291
294
  type: Output
292
295
  }] } });
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvcmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVILGFBQWEsRUFlaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQWdFMUQsWUFDWSxjQUE2QixFQUM3QixJQUFzQixFQUN0QixTQUFtQixFQUNqQixHQUFlO1FBRXpCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxILG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQTNCbkIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFbkUsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUNyRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENB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c0I7c0JBQS9CLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQge1xuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBCYXNlRGlyZWN0aXZlLFxuICAgIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzLFxuICAgIERlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICBEZXZpY2VTaXplLFxuICAgIEZvcm1TZXR0aW5nLFxuICAgIE1lbnVJdGVtLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBSZWxhdGlvbkl0ZW1UeXBlLFxuICAgIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgU29ydFNldHRpbmcsXG4gICAgVWlSZXBvcnRWaWV3QmFzZSxcbiAgICBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyxcbiAgICBTaGFyZUJ1dHRvbnNDaG9pY2VEZWZcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZXBvcnRWaWV3UmVuZGVyZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdmlldzogVWlSZXBvcnRWaWV3QmFzZTtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgQElucHV0KCkgYWxsQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBncm91cGJ5OiBTb3J0U2V0dGluZ1tdO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcmVsYXRpb25MaXN0OiBBcnJheTxSZWxhdGlvbkl0ZW1UeXBlPjtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgQElucHV0KCkgY29sdW1uc0NvdW50OiBudW1iZXI7XG4gICAgQElucHV0KCkgc2Vjb25kYXJ5Q29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xuICAgIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IE1lbnVJdGVtW107XG4gICAgQElucHV0KCkgY29uZGl0aW9uYWxGb3JtYXRzOiBhbnlbXTtcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBEZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBtb2JpbGVPclRhYmxldDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhY2Nlc3M6IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkSW5mbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IGFueTtcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgQElucHV0KCkgdmlld1NldHRpbmc6IFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nO1xuICAgIEBJbnB1dCgpIGlubGluZUVkaXRNb2RlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9ubHlJbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFsbG93SW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwb3BpbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmb3JtU2V0dGluZzogRm9ybVNldHRpbmc7XG4gICAgQElucHV0KCkgZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbmF2aWdhdGlvbkFycm93OiBzdHJpbmc7XG4gICAgQElucHV0KCkgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgY29udGFpbmVyV2lkdGg6IG51bWJlcjtcbiAgICBASW5wdXQoKSBleHRyYVJlbGF0aW9uOiBhbnk7XG4gICAgQElucHV0KCkgY29udGV4dFZpZXc6IGFueTtcbiAgICBASW5wdXQoKSBjb250ZW50RGVuc2l0eTogQ29udGVudERlbnNpdHk7XG4gICAgQElucHV0KCkgaGlkZU9wZW5JY29uOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG9wZW5PbkNsaWNrOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGluRGlhbG9nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzTXVsdGlTZWxlY3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgY2FydGFibGVUZW1wbGF0ZXM6IHsgW2tleTogc3RyaW5nXTogRm9ybVNldHRpbmcgfTtcbiAgICBASW5wdXQoKSBjYXJ0YWJsZUNoaWxkc01vOiB7IFtrZXk6IHN0cmluZ106IE1ldGFvYmplY3REYXRhTW9kZWwgfTtcblxuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgdWx2Q29tbWFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHNvcnRBc2NlbmRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgc29ydERlc2NlbmRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGRlc2VsZWN0QWxsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSByb3dDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXg7IGNhdXNlPyB9PigpO1xuICAgIEBPdXRwdXQoKSByb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXggfT4oKTtcbiAgICBAT3V0cHV0KCkgZXhwYW5kQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHRyYWNrQnlTZWxlY3RlZEZuID0gbmV3IEV2ZW50RW1pdHRlcjx7IGluZGV4OyByZWNvcmQgfT4oKTtcbiAgICBAT3V0cHV0KCkgY2FydGFibGVGb3JtQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGluZGV4OyBtbyB9PigpO1xuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXdNbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgdXBkYXRlTW8gPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGFsbENoZWNrYm94ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBtYW5kYXRvcnkgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxTYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBjb2x1bW5SZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxjb2x1bW5zUmVzaXplZEV2ZW50QXJncz4oKTtcbiAgICBAT3V0cHV0KCkgc2VsZWN0TmV4dElubGluZVJlY29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgd29ya2Zsb3dTaGFyZUJ1dHRvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPFNoYXJlQnV0dG9uc0Nob2ljZURlZj4oKTtcblxuICAgIF9yZXBvcnRWaWV3UmVmOiBDb21wb25lbnRSZWY8UmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+PjtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoX2VsKTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHZpZXcgfSA9IGNoYW5nZXM7XG5cbiAgICAgICAgaWYgKHZpZXcgJiYgIXZpZXcuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3JlcG9ydFZpZXdSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5fdmNyLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLl9pbnNlcnRWaWV3KHZpZXcuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9yZXBvcnRWaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVwb3J0Vmlld1JlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5faW5zZXJ0Vmlldyh0aGlzLnZpZXcpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fcmVwb3J0Vmlld1JlZj8uZGVzdHJveSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pbnNlcnRWaWV3KHZpZXcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF2aWV3KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBNb2R1bGUsIE1vZHVsZUZpbGVOYW1lLCBOYW1lLCBTZWxlY3RvciB9ID0gdmlldy5VaUNvbXBvbmVudDtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZVxuICAgICAgICAgICAgLmdldENvbXBvbmVudChNb2R1bGUsIE1vZHVsZUZpbGVOYW1lLCBOYW1lLCBTZWxlY3RvciwgdGhpcy5faW5qZWN0b3IpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4+KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY2FydGFibGVUZW1wbGF0ZXMgPSB0aGlzLmNhcnRhYmxlVGVtcGxhdGVzO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNhcnRhYmxlQ2hpbGRzTW8gPSB0aGlzLmNhcnRhYmxlQ2hpbGRzTW87XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UubW9EYXRhTGlzdCA9IHRoaXMubW9EYXRhTGlzdDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5ncm91cGJ5ID0gdGhpcy5ncm91cGJ5O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmN1c3RvbUZpZWxkSW5mbyA9IHRoaXMuY3VzdG9tRmllbGRJbmZvO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmRpc2FibGVSZXNwb25zaXZlID0gdGhpcy5kaXNhYmxlUmVzcG9uc2l2ZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5wb3BpbiA9IHRoaXMucG9waW47XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGV4dFZpZXcgPSB0aGlzLmNvbnRleHRWaWV3O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmlzQ2hlY2tMaXN0ID0gdGhpcy5pc0NoZWNrTGlzdDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb2x1bW5zID0gdGhpcy5jb2x1bW5zO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmluRGlhbG9nID0gdGhpcy5pbkRpYWxvZztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5pc011bHRpU2VsZWN0ID0gdGhpcy5pc011bHRpU2VsZWN0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbHVtbnNDb3VudCA9IHRoaXMuY29sdW1uc0NvdW50O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmV4dHJhUmVsYXRpb24gPSB0aGlzLmV4dHJhUmVsYXRpb247XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uuc2Vjb25kYXJ5Q29sdW1ucyA9IHRoaXMuc2Vjb25kYXJ5Q29sdW1ucztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb250ZXh0TWVudUl0ZW1zID0gdGhpcy5jb250ZXh0TWVudUl0ZW1zO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbmRpdGlvbmFsRm9ybWF0cyA9IHRoaXMuY29uZGl0aW9uYWxGb3JtYXRzO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51ID0gdGhpcy5kaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS50eXBlRGVmSWQgPSB0aGlzLnR5cGVEZWZJZDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5kZXZpY2VOYW1lID0gdGhpcy5kZXZpY2VOYW1lO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmRldmljZVNpemUgPSB0aGlzLmRldmljZVNpemU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UubW9iaWxlT3JUYWJsZXQgPSB0aGlzLm1vYmlsZU9yVGFibGV0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbnRhaW5lcldpZHRoID0gdGhpcy5jb250YWluZXJXaWR0aDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb2x1bW5zQ291bnQgPSB0aGlzLmNvbHVtbnNDb3VudDtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5oaWRlT3Blbkljb24gPSB0aGlzLmhpZGVPcGVuSWNvbjtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5vcGVuT25DbGljayA9IHRoaXMub3Blbk9uQ2xpY2s7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuYWNjZXNzID0gdGhpcy5hY2Nlc3M7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UudGl0bGUgPSB0aGlzLnRpdGxlO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmhhc1N1bW1hcnkgPSB0aGlzLmhhc1N1bW1hcnk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGVudERlbnNpdHkgPSB0aGlzLmNvbnRlbnREZW5zaXR5O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnJlbGF0aW9uTGlzdCA9IHRoaXMucmVsYXRpb25MaXN0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbENvbHVtbnMgPSB0aGlzLmFsbENvbHVtbnMgPz8gdGhpcy5jb2x1bW5zO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnZpZXdTZXR0aW5nID0gdmlldy5VaUNvbXBvbmVudC5TZXR0aW5ncztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5pbmxpbmVFZGl0TW9kZSA9IHRoaXMuaW5saW5lRWRpdE1vZGU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uub25seUlubGluZUVkaXQgPSB0aGlzLm9ubHlJbmxpbmVFZGl0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbG93SW5saW5lRWRpdCA9IHRoaXMuYWxsb3dJbmxpbmVFZGl0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmZvcm1TZXR0aW5nID0gdGhpcy5mb3JtU2V0dGluZztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5uYXZpZ2F0aW9uQXJyb3cgPSB0aGlzLm5hdmlnYXRpb25BcnJvdztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5lZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2U/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlLmVtaXQobW8pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnNlbGVjdE5leHRJbmxpbmVSZWNvcmQ/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0TmV4dElubGluZVJlY29yZC5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5lZGl0Rm9ybVBhbmVsQ2FuY2VsPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UudWx2Q29tbWFuZENsaWNrPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudWx2Q29tbWFuZENsaWNrLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uuc29ydEFzY2VuZGluZz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNvcnRBc2NlbmRpbmcuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zb3J0RGVzY2VuZGluZz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNvcnREZXNjZW5kaW5nLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZmlsdGVyPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb2x1bW5SZXNpemVkPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29sdW1uUmVzaXplZC5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uucm93Q2hlY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGU6IHsgbW87IGluZGV4OyBjYXVzZT8gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvd0NoZWNrLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGVzZWxlY3RBbGw/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlc2VsZWN0QWxsLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5yb3dDbGljaz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZTogeyBtbzsgaW5kZXggfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZXhwYW5kQ2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGU6IE1ldGFvYmplY3REYXRhTW9kZWwpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBhbmRDbGljay5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmFsbENoZWNrYm94Py5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5lZGl0Rm9ybVBhbmVsU2F2ZT8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsU2F2ZS5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jYXJ0YWJsZUZvcm1DbG9zZWQ/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGU6IHsgbW87IGluZGV4IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXJ0YWJsZUZvcm1DbG9zZWQuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jcmVhdGVOZXdNbz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlTmV3TW8uZW1pdCgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnVwZGF0ZU1vPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU1vLmVtaXQobW8pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm1hbmRhdG9yeT8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoaXNWYWxpZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hbmRhdG9yeS5lbWl0KGlzVmFsaWQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLndvcmtmbG93U2hhcmVCdXR0b25zXG4gICAgICAgICAgICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGU6IFNoYXJlQnV0dG9uc0Nob2ljZURlZikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53b3JrZmxvd1NoYXJlQnV0dG9ucy5lbWl0KGUpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLl92Y3IuaW5zZXJ0KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICAgICAgdGhpcy5fcmVwb3J0Vmlld1JlZiA9IGNvbXBvbmVudFJlZjtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvcmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUVaLEtBQUssRUFJTCxNQUFNLEVBR1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVILGFBQWEsRUFlaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUszQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQWlFMUQsWUFDWSxjQUE2QixFQUM3QixJQUFzQixFQUN0QixTQUFtQixFQUNqQixHQUFlO1FBRXpCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUxILG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDakIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQTNCbkIsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFFbkUsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN4QyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUNyRCxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUN0RCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUMxRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUN2RCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ25ELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUM1RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUEyQixDQUFDO1FBQzVELDJCQUFzQixHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ2pFLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO0lBVTNFLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUV6QixJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNyRDtTQUNKO0lBQ0wsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ08sV0FBVyxDQUFDLElBQUk7UUFDcEIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU87U0FDVjtRQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxjQUFjO2FBQ2QsWUFBWSxDQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pDLFNBQVMsQ0FBQyxDQUFDLFlBQTRFLEVBQUUsRUFBRTtZQUN4RixNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ3ZDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDcEQsUUFBUSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsRCxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdEMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNoRCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3BELFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUM1QixRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDeEMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNoQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDbEMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzVDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxQyxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDNUMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUNsRCxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQ2xELFFBQVEsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDdEQsUUFBUSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQztZQUN0RSxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDcEMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3RDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN0QyxRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDOUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQzlDLFFBQVEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUMxQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDMUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3hDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM5QixRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDNUIsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3RDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM5QyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDMUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDdEQsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUNqRCxRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDOUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQzlDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNoRCxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDeEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ2hELFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUN0QyxRQUFRLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDbEYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQyxDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUNoRixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQzdFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztZQUVILFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUF3QixFQUFFLEVBQUU7Z0JBQ3hGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25FLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFO2dCQUNoRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFzQixFQUFFLEVBQUU7Z0JBQ3pGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO2dCQUMzRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsRUFBRSxFQUFFO2dCQUMxRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25FLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN4RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILFFBQVEsQ0FBQyxvQkFBb0I7Z0JBQ3pCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQ2xDLFNBQVMsQ0FBQyxDQUFDLENBQXdCLEVBQUUsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztZQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7O3dIQS9NUSwyQkFBMkI7NEdBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7aUJBQ25DO21MQUVZLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRywwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQge1xuICAgIEFiYnJldmF0aW9uRGV2aWNlU2l6ZSxcbiAgICBCYXNlRGlyZWN0aXZlLFxuICAgIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzLFxuICAgIERlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICBEZXZpY2VTaXplLFxuICAgIEZvcm1TZXR0aW5nLFxuICAgIE1lbnVJdGVtLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgUG9ydGFsU2VydmljZSxcbiAgICBSZWxhdGlvbkl0ZW1UeXBlLFxuICAgIFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50LFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgU29ydFNldHRpbmcsXG4gICAgVWlSZXBvcnRWaWV3QmFzZSxcbiAgICBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZyxcbiAgICBTaGFyZUJ1dHRvbnNDaG9pY2VEZWZcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZXBvcnRWaWV3UmVuZGVyZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdmlldzogVWlSZXBvcnRWaWV3QmFzZTtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XG4gICAgQElucHV0KCkgYWxsQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBncm91cGJ5OiBTb3J0U2V0dGluZ1tdO1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcmVsYXRpb25MaXN0OiBBcnJheTxSZWxhdGlvbkl0ZW1UeXBlPjtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBSZXBvcnRWaWV3Q29sdW1uW107XG4gICAgQElucHV0KCkgY29sdW1uc0NvdW50OiBudW1iZXI7XG4gICAgQElucHV0KCkgc2Vjb25kYXJ5Q29sdW1uczogUmVwb3J0Vmlld0NvbHVtbltdO1xuICAgIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IE1lbnVJdGVtW107XG4gICAgQElucHV0KCkgY29uZGl0aW9uYWxGb3JtYXRzOiBhbnlbXTtcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBEZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBtb2JpbGVPclRhYmxldDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBhY2Nlc3M6IERlZmF1bHRDb21tYW5kc0FjY2VzcztcbiAgICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkSW5mbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IGFueTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZE1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIEBJbnB1dCgpIGFsbENvbHVtbnM6IFJlcG9ydFZpZXdDb2x1bW5bXTtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc7XG4gICAgQElucHV0KCkgaW5saW5lRWRpdE1vZGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgb25seUlubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWxsb3dJbmxpbmVFZGl0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHBvcGluOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGZvcm1TZXR0aW5nOiBGb3JtU2V0dGluZztcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBuYXZpZ2F0aW9uQXJyb3c6IHN0cmluZztcbiAgICBASW5wdXQoKSB0eXBlRGVmSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSBjb250YWluZXJXaWR0aDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGV4dHJhUmVsYXRpb246IGFueTtcbiAgICBASW5wdXQoKSBjb250ZXh0VmlldzogYW55O1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XG4gICAgQElucHV0KCkgb3Blbk9uQ2xpY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkaXNhYmxlUmVzcG9uc2l2ZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjYXJ0YWJsZVRlbXBsYXRlczogeyBba2V5OiBzdHJpbmddOiBGb3JtU2V0dGluZyB9O1xuICAgIEBJbnB1dCgpIGNhcnRhYmxlQ2hpbGRzTW86IHsgW2tleTogc3RyaW5nXTogTWV0YW9iamVjdERhdGFNb2RlbCB9O1xuXG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcblxuICAgIEBPdXRwdXQoKSB1bHZDb21tYW5kQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZGVzZWxlY3RBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleDsgY2F1c2U/IH0+KCk7XG4gICAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xuICAgIEBPdXRwdXQoKSBleHBhbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgdHJhY2tCeVNlbGVjdGVkRm4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5kZXg7IHJlY29yZCB9PigpO1xuICAgIEBPdXRwdXQoKSBjYXJ0YWJsZUZvcm1DbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5kZXg7IG1vIH0+KCk7XG4gICAgQE91dHB1dCgpIGNyZWF0ZU5ld01vID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSB1cGRhdGVNbyA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgYWxsQ2hlY2tib3ggPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIG1hbmRhdG9yeSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbFNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzPigpO1xuICAgIEBPdXRwdXQoKSBzZWxlY3ROZXh0SW5saW5lUmVjb3JkID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSB3b3JrZmxvd1NoYXJlQnV0dG9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVCdXR0b25zQ2hvaWNlRGVmPigpO1xuXG4gICAgX3JlcG9ydFZpZXdSZWY6IENvbXBvbmVudFJlZjxSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxVaVJlcG9ydFZpZXdCYXNlU2V0dGluZz4+O1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF92Y3I6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihfZWwpO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdmlldyB9ID0gY2hhbmdlcztcblxuICAgICAgICBpZiAodmlldyAmJiAhdmlldy5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fcmVwb3J0Vmlld1JlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLl92Y3IuY2xlYXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2luc2VydFZpZXcodmlldy5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3JlcG9ydFZpZXdSZWYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZXBvcnRWaWV3UmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLl9pbnNlcnRWaWV3KHRoaXMudmlldyk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLl9yZXBvcnRWaWV3UmVmPy5kZXN0cm95KCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2luc2VydFZpZXcodmlldyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZpZXcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IE1vZHVsZSwgTW9kdWxlRmlsZU5hbWUsIE5hbWUsIFNlbGVjdG9yIH0gPSB2aWV3LlVpQ29tcG9uZW50O1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0Q29tcG9uZW50KE1vZHVsZSwgTW9kdWxlRmlsZU5hbWUsIE5hbWUsIFNlbGVjdG9yLCB0aGlzLl9pbmplY3RvcilcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFJlcG9ydFZpZXdCYXNlQ29tcG9uZW50PFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPj4pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jYXJ0YWJsZVRlbXBsYXRlcyA9IHRoaXMuY2FydGFibGVUZW1wbGF0ZXM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY2FydGFibGVDaGlsZHNNbyA9IHRoaXMuY2FydGFibGVDaGlsZHNNbztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5tb0RhdGFMaXN0ID0gdGhpcy5tb0RhdGFMaXN0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmdyb3VwYnkgPSB0aGlzLmdyb3VwYnk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY3VzdG9tRmllbGRJbmZvID0gdGhpcy5jdXN0b21GaWVsZEluZm87XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGlzYWJsZVJlc3BvbnNpdmUgPSB0aGlzLmRpc2FibGVSZXNwb25zaXZlO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnBvcGluID0gdGhpcy5wb3BpbjtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb250ZXh0VmlldyA9IHRoaXMuY29udGV4dFZpZXc7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaXNDaGVja0xpc3QgPSB0aGlzLmlzQ2hlY2tMaXN0O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbHVtbnMgPSB0aGlzLmNvbHVtbnM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaW5EaWFsb2cgPSB0aGlzLmluRGlhbG9nO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmlzTXVsdGlTZWxlY3QgPSB0aGlzLmlzTXVsdGlTZWxlY3Q7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29sdW1uc0NvdW50ID0gdGhpcy5jb2x1bW5zQ291bnQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZXh0cmFSZWxhdGlvbiA9IHRoaXMuZXh0cmFSZWxhdGlvbjtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zZWNvbmRhcnlDb2x1bW5zID0gdGhpcy5zZWNvbmRhcnlDb2x1bW5zO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbnRleHRNZW51SXRlbXMgPSB0aGlzLmNvbnRleHRNZW51SXRlbXM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29uZGl0aW9uYWxGb3JtYXRzID0gdGhpcy5jb25kaXRpb25hbEZvcm1hdHM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGlzYWJsZU92ZXJmbG93Q29udGV4dE1lbnUgPSB0aGlzLmRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnR5cGVEZWZJZCA9IHRoaXMudHlwZURlZklkO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmRldmljZU5hbWUgPSB0aGlzLmRldmljZU5hbWU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZGV2aWNlU2l6ZSA9IHRoaXMuZGV2aWNlU2l6ZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5tb2JpbGVPclRhYmxldCA9IHRoaXMubW9iaWxlT3JUYWJsZXQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29udGFpbmVyV2lkdGggPSB0aGlzLmNvbnRhaW5lcldpZHRoO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmNvbHVtbnNDb3VudCA9IHRoaXMuY29sdW1uc0NvdW50O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmhpZGVPcGVuSWNvbiA9IHRoaXMuaGlkZU9wZW5JY29uO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm9wZW5PbkNsaWNrID0gdGhpcy5vcGVuT25DbGljaztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5hY2Nlc3MgPSB0aGlzLmFjY2VzcztcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS50aXRsZSA9IHRoaXMudGl0bGU7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuaGFzU3VtbWFyeSA9IHRoaXMuaGFzU3VtbWFyeTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5jb250ZW50RGVuc2l0eSA9IHRoaXMuY29udGVudERlbnNpdHk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UucmVsYXRpb25MaXN0ID0gdGhpcy5yZWxhdGlvbkxpc3Q7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuYWxsQ29sdW1ucyA9IHRoaXMuYWxsQ29sdW1ucyA/PyB0aGlzLmNvbHVtbnM7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uudmlld1NldHRpbmcgPSB2aWV3LlVpQ29tcG9uZW50LlNldHRpbmdzO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmlubGluZUVkaXRNb2RlID0gdGhpcy5pbmxpbmVFZGl0TW9kZTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5vbmx5SW5saW5lRWRpdCA9IHRoaXMub25seUlubGluZUVkaXQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuYWxsb3dJbmxpbmVFZGl0ID0gdGhpcy5hbGxvd0lubGluZUVkaXQ7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZm9ybVNldHRpbmcgPSB0aGlzLmZvcm1TZXR0aW5nO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLm5hdmlnYXRpb25BcnJvdyA9IHRoaXMubmF2aWdhdGlvbkFycm93O1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnNlbGVjdGVkTW8gPSB0aGlzLnNlbGVjdGVkTW87XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZS5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5zZWxlY3ROZXh0SW5saW5lUmVjb3JkPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtbykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdE5leHRJbmxpbmVSZWNvcmQuZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZWRpdEZvcm1QYW5lbENhbmNlbD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsQ2FuY2VsLmVtaXQobW8pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnVsdkNvbW1hbmRDbGljaz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVsdkNvbW1hbmRDbGljay5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLnNvcnRBc2NlbmRpbmc/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uuc29ydERlc2NlbmRpbmc/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmZpbHRlcj8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbHRlci5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY29sdW1uUmVzaXplZD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbHVtblJlc2l6ZWQuZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGluc3RhbmNlLnJvd0NoZWNrPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlOiB7IG1vOyBpbmRleDsgY2F1c2U/IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmRlc2VsZWN0QWxsPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXNlbGVjdEFsbC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2Uucm93Q2xpY2s/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGU6IHsgbW87IGluZGV4IH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3dDbGljay5lbWl0KGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGluc3RhbmNlLmV4cGFuZENsaWNrPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlOiBNZXRhb2JqZWN0RGF0YU1vZGVsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwYW5kQ2xpY2suZW1pdChlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5hbGxDaGVja2JveD8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbENoZWNrYm94LmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuZWRpdEZvcm1QYW5lbFNhdmU/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFNhdmUuZW1pdChtbyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY2FydGFibGVGb3JtQ2xvc2VkPy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChlOiB7IG1vOyBpbmRleCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2FydGFibGVGb3JtQ2xvc2VkLmVtaXQoZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaW5zdGFuY2UuY3JlYXRlTmV3TW8/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZU5ld01vLmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS51cGRhdGVNbz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVNby5lbWl0KG1vKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS5tYW5kYXRvcnk/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGlzVmFsaWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYW5kYXRvcnkuZW1pdChpc1ZhbGlkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpbnN0YW5jZS53b3JrZmxvd1NoYXJlQnV0dG9uc1xuICAgICAgICAgICAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChlOiBTaGFyZUJ1dHRvbnNDaG9pY2VEZWYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud29ya2Zsb3dTaGFyZUJ1dHRvbnMuZW1pdChlKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmNyLmluc2VydChjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlcG9ydFZpZXdSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=