@cdktn/provider-generator 0.25.0-pre.12 → 0.25.0-pre.14

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.
@@ -459,4 +459,4 @@ class MapAttributeTypeModel {
459
459
  }
460
460
  }
461
461
  exports.MapAttributeTypeModel = MapAttributeTypeModel;
462
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXR5cGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2V0L2dlbmVyYXRvci9tb2RlbHMvYXR0cmlidXRlLXR5cGUtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUJBLHNEQXdCQztBQTlDRCx3Q0FBOEQ7QUFDOUQseUVBQW9FO0FBaUJwRSx3RkFBd0Y7QUFDeEYsdUZBQXVGO0FBQ3ZGLDRFQUE0RTtBQUM1RSwwRkFBMEY7QUFDMUYsU0FBZ0IscUJBQXFCLENBQUMsS0FBeUI7SUFDN0QsUUFBUSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxRQUFRLHFCQUFxQixDQUNqQyxLQUFzQyxDQUFDLFdBQVcsQ0FDcEQsR0FBRyxDQUFDO1FBQ1AsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLHFCQUFxQixDQUNoQyxLQUFzQyxDQUFDLFdBQVcsQ0FDcEQsR0FBRyxDQUFDO1FBQ1AsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLHFCQUFxQixDQUNoQyxLQUFzQyxDQUFDLFdBQVcsQ0FDcEQsR0FBRyxDQUFDO1FBQ1AsS0FBSyxRQUFRO1lBQ1gsT0FBTyxRQUFRLENBQUM7UUFDbEI7WUFDRSxtRkFBbUY7WUFDbkYsb0ZBQW9GO1lBQ3BGLHFDQUFxQztZQUNyQyxPQUFPLEtBQUssQ0FBQyxlQUFlLEtBQUssU0FBUztnQkFDeEMsQ0FBQyxDQUFDLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFhLHlCQUF5QjtJQUNwQyxnQkFBZSxDQUFDO0lBRWhCLElBQUksYUFBYTtRQUNmLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBYTtRQUNyQyxXQUFXO1FBQ1gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELDBCQUEwQixDQUFDLElBQVk7UUFDckMsT0FBTyxtQ0FBbUMsSUFBSSxJQUFJLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8seUJBQXlCLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBbkRELDhEQW1EQztBQUVELE1BQWEsd0JBQXdCO0lBQ25DLFlBQTRCLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUU1QyxJQUFJLGFBQWE7UUFDZixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELHlCQUF5QixDQUFDLEtBQWE7UUFDckMsV0FBVztRQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPLDZCQUE2QixDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsSUFBWTtRQUNyQyxPQUFPLFdBQVcsSUFBQSxxQkFBYyxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxzQkFBc0I7UUFDeEIsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQXZERCw0REF1REM7QUFFRCxNQUFhLHdCQUF3QjtJQUNuQyxZQUE0QixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFOUMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQVk7UUFDcEMsT0FBTyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLFdBQVcsSUFBSSxJQUFJLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxJQUFZO1FBQ3JDLG1DQUFtQztRQUNuQyxPQUFPLG1DQUFtQyxJQUFJLElBQUksQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLE9BQU8sR0FBRyxJQUFBLG9CQUFhLEVBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksd0JBQXdCO1FBQzFCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGO0FBL0NELDREQStDQztBQWFELE1BQWEsc0JBQXNCO0lBQ2pDLFlBQ2tCLFdBQStCLEVBQy9CLFlBQXFCLEVBQ3BCLE9BQWdCO1FBRmpCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBUztRQUNwQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRWpDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDcEMsQ0FBQztJQUVELHlCQUF5QixDQUFDLElBQVk7UUFDcEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsT0FBTyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSwwQkFBMEIsSUFBSSxJQUFJLENBQUM7UUFDbkYsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxPQUFPLElBQUksQ0FBQyxlQUFlLFdBQVcsSUFBSSxXQUFXLENBQUM7WUFDL0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sYUFBYSxJQUFJLENBQUMsbUJBQW9CLENBQUMsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDO1lBQy9FLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLE1BQU0sQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFBLGlEQUFzQixFQUMzQixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFDOUMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUQsT0FBTyx3REFBd0QsQ0FBQztRQUNsRSxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDMUIsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSx3QkFBd0IsQ0FBQztRQUNyRSxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2RCxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsd0JBQXdCLENBQUM7UUFDekUsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsSUFBSSxDQUFDO1FBQ3JELENBQUM7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsSUFBWTtRQUNyQyxRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sMEJBQTBCLElBQUksSUFBSSxDQUFDO1lBQzVDLEtBQUssUUFBUTtnQkFDWCxPQUFPLGdDQUFnQyxJQUFJLElBQUksQ0FBQztRQUNwRCxDQUFDO1FBRUQsT0FBTyxtQ0FBbUMsSUFBSSxJQUFJLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUNqRCxDQUFDO1FBRUQsT0FBTyx1QkFBdUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsS0FBSyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUM7SUFDNUYsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDO1lBQ2Q7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFRCxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GLGtGQUFrRjtJQUNsRix3RkFBd0Y7SUFDeEYsZ0ZBQWdGO0lBQ2hGLHVGQUF1RjtJQUN2RixFQUFFO0lBQ0YsaUZBQWlGO0lBQ2pGLGlGQUFpRjtJQUNqRixzRkFBc0Y7SUFDdEYsdUZBQXVGO0lBQ3ZGLHdGQUF3RjtJQUN4Rix1RkFBdUY7SUFDdkYsdUZBQXVGO0lBQ3ZGLG1GQUFtRjtJQUNuRix3RkFBd0Y7SUFDeEYscURBQXFEO0lBQ3JELHdGQUF3RjtJQUN4RixpRkFBaUY7SUFDakYsdUZBQXVGO0lBQ3ZGLG9GQUFvRjtJQUNwRixJQUFJLHdCQUF3QjtRQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBaElELHdEQWdJQztBQUVELE1BQWEscUJBQXFCO0lBQ2hDLFlBQ2tCLFdBQStCLEVBQy9CLFlBQXFCLEVBQ3BCLE9BQWdCO1FBRmpCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBUztRQUNwQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRWpDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQztJQUNwQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsSUFBWTtRQUNwQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixPQUFPLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLDBCQUEwQixJQUFJLElBQUksQ0FBQztRQUNuRixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNuQixPQUFPLE9BQU8sSUFBSSxDQUFDLGVBQWUsV0FBVyxJQUFJLFVBQVUsQ0FBQztZQUM5RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxhQUFhLElBQUksQ0FBQyxtQkFBb0IsQ0FBQyxJQUFJLFdBQVcsSUFBSSxVQUFVLENBQUM7WUFDOUUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsTUFBTSxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUEsaURBQXNCLEVBQzNCLElBQUksQ0FBQyxlQUFlLEVBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQztRQUM5QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxRCxPQUFPLHdEQUF3RCxDQUFDO1FBQ2xFLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLHdCQUF3QixDQUFDO1FBQ3JFLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQix3QkFBd0IsQ0FBQztRQUN6RSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixJQUFJLENBQUM7UUFDckQsQ0FBQztJQUNILENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxJQUFZO1FBQ3JDLFFBQVEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QyxLQUFLLFFBQVE7Z0JBQ1gsT0FBTywwQ0FBMEMsSUFBSSxLQUFLLENBQUM7WUFDN0QsS0FBSyxRQUFRO2dCQUNYLE9BQU8seUVBQXlFLElBQUksTUFBTSxDQUFDO1FBQy9GLENBQUM7UUFFRCw2RkFBNkY7UUFDN0YsK0ZBQStGO1FBQy9GLHdFQUF3RTtRQUN4RSwwRUFBMEU7UUFDMUUsd0RBQXdEO1FBQ3hELE9BQU8scUVBQXFFLElBQUksTUFBTSxDQUFDO0lBQ3pGLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLG9CQUFvQixJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixLQUFLLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQztRQUN0RixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTyx1QkFBdUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsS0FBSyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUM7SUFDNUYsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDO1lBQ2Q7Z0JBQ0UsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUM7SUFFRCw4RUFBOEU7SUFDOUUsMEJBQTBCO0lBQzFCLElBQUksd0JBQXdCO1FBQzFCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixLQUFLLFNBQVMsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFsSEQsc0RBa0hDO0FBRUQsTUFBYSxxQkFBcUI7SUFDaEMsWUFBNEIsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO0lBQUcsQ0FBQztJQUUvRCxJQUFJLGFBQWE7UUFDZixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxJQUFZO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLE9BQU8sT0FBTyxJQUFJLENBQUMsZUFBZSxXQUFXLElBQUksSUFBSSxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxhQUFhLElBQUksQ0FBQyxtQkFBb0IsQ0FBQyxJQUFJLFdBQVcsSUFBSSxJQUFJLENBQUM7UUFDeEUsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBQSxpREFBc0IsRUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsd0RBQXdEO1FBQ3hELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbkQsT0FBTyxxQkFBcUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLHlCQUF5QixDQUFDO1FBQ3hGLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixPQUFPLG9CQUFvQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsd0JBQXdCLENBQUM7UUFDdEYsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkQsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsd0JBQXdCLENBQUM7UUFDMUYsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLG9CQUFvQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsSUFBSSxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsSUFBWTtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNuRSxPQUFPLG1DQUFtQyxJQUFJLElBQUksQ0FBQztRQUNyRCxDQUFDO1FBRUQsT0FBTyxXQUFXLElBQUEscUJBQWMsRUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FDckIsY0FBYyxJQUFJLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLHVCQUF1QixJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixHQUFHLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pDLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssU0FBUztnQkFDWixPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQztZQUNkO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsOEVBQThFO0lBQzlFLHNGQUFzRjtJQUN0RixJQUFJLHdCQUF3QjtRQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBNUZELHNEQTRGQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBTdHJ1Y3QgfSBmcm9tIFwiLi9zdHJ1Y3RcIjtcbmltcG9ydCB7IHVwcGVyY2FzZUZpcnN0LCBkb3duY2FzZUZpcnN0IH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxcIjtcbmltcG9ydCB7IHJlc29sdmVTdG9yZWRDbGFzc05hbWUgfSBmcm9tIFwiLi9zdXBwb3J0ZWQtc3RvcmVkLWNsYXNzZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVUeXBlTW9kZWwge1xuICByZWFkb25seSBzdHJ1Y3Q/OiBTdHJ1Y3Q7IC8vIGNvbXBsZXggb2JqZWN0IHR5cGUgY29udGFpbmVkIHdpdGhpbiB0aGUgdHlwZVxuICByZWFkb25seSBpc0NvbXBsZXg6IGJvb2xlYW47IC8vIGJhc2ljYWxseSB0aGUgc2FtZSBhcyBoYXZpbmcgYSBzdHJ1Y3RcbiAgZ2V0U3RvcmVkQ2xhc3NJbml0aWFsaXplcihuYW1lOiBzdHJpbmcpOiBzdHJpbmc7IC8vIGluaXRpYWxpemVyIGZvciBrZWVwaW5nIGNsYXNzIG5lZWRlZCB0byBrZWVwIHRyYWNrIG9mIHJlZmVyZW5jZSBhY2Nlc3NcbiAgcmVhZG9ubHkgc3RvcmVkQ2xhc3NUeXBlOiBzdHJpbmc7IC8vIHVzZWQgbWFpbmx5IGJ5IGNvbGxlY3Rpb24gdHlwZXMgdG8gZ2VuZXJhdGUgdGhlaXIgc3RvcmVkIGNsYXNzIGluaXRpYWxpemVyXG4gIHJlYWRvbmx5IGlucHV0VHlwZURlZmluaXRpb246IHN0cmluZzsgLy8gdGhpcyBpcyB0aGUgdHlwZSB1c2VkIGZvciBpbnB1dHRpbmcgdmFsdWVzXG4gIGdldEF0dHJpYnV0ZUFjY2Vzc0Z1bmN0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZzsgLy8gdGhpcyBpcyBmb3IgZ2V0dGluZyByZWZlcmVuY2UgZm9yIHNpbXBsZSB0eXBlc1xuICByZWFkb25seSB0b1RlcnJhZm9ybUZ1bmN0aW9uOiBzdHJpbmc7IC8vIHRoaXMgaXMgZm9yIGNvbnZlcnRpbmcgaW5wdXQgdmFsdWVzIHRvIFRlcnJhZm9ybSBzeW50YXhcbiAgcmVhZG9ubHkgdG9IY2xUZXJyYWZvcm1GdW5jdGlvbjogc3RyaW5nOyAvLyB0aGlzIGlzIGZvciBjb252ZXJ0aW5nIGlucHV0IHZhbHVlcyB0byBUZXJyYWZvcm0gc3ludGF4IGluIEhDTFxuICByZWFkb25seSB0eXBlTW9kZWxUeXBlOiBzdHJpbmc7IC8vIHNvIHdlIGRvbid0IG5lZWQgdG8gdXNlIGluc3RhbmNlb2ZcbiAgcmVhZG9ubHkgaGFzUmVmZXJlbmNlQ2xhc3M6IGJvb2xlYW47IC8vIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgc3RvcmVkX2NsYXNzIGdldHRlciBzaG91bGQgYmUgdXNlZFxuICByZWFkb25seSBpc1Rva2VuaXphYmxlOiBib29sZWFuOyAvLyBjYW4gdGhlIHR5cGUgYmUgcmVwcmVzZW50ZWQgYnkgYSB0b2tlbiB0eXBlXG4gIHJlYWRvbmx5IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZTogYm9vbGVhbjsgLy8gdHJ1ZSB3aGVuIG5vIFwiY2RrdG4uPE5hbWU+XCIgc3RvcmVkIGNsYXNzIChub3QgZXZlbiBhIGNvbGxhcHNlZCBuZWFyZXN0LUFueSB3cmFwcGVyKSBpcyBhdmFpbGFibGUgZm9yIHRoaXMgdHlwZVxufVxuXG4vLyBEZXNjcmliZXMgdGhlIFRlcnJhZm9ybSB0eXBlIG9mIGFuIGF0dHJpYnV0ZSBhcyBpdHMgYGxpc3QoLi4uKWAvYHNldCguLi4pYC9gbWFwKC4uLilgXG4vLyBjb21wb3NlZCBub3RhdGlvbiAobWF0Y2hpbmcgaG93IFRlcnJhZm9ybSBpdHNlbGYgZGVzY3JpYmVzIG5lc3RlZCBjb2xsZWN0aW9uIHR5cGVzKSxcbi8vIGZvciB1c2UgaW4gZ2VuZXJhdGVkIEpTRG9jLiBVc2VkIG9ubHkgZm9yIGNvbGxhcHNlZC9mYWxsYmFjayBnZXR0ZXJzIChzZWVcbi8vIEF0dHJpYnV0ZXNFbWl0dGVyKSBzbyBpdCBuZXZlciBuZWVkcyB0byBiZSBleGhhdXN0aXZlL3BlcmZlY3RseSBzdGFibGUgZm9yIGV2ZXJ5IHNoYXBlLlxuZXhwb3J0IGZ1bmN0aW9uIGRlc2NyaWJlVGVycmFmb3JtVHlwZShtb2RlbDogQXR0cmlidXRlVHlwZU1vZGVsKTogc3RyaW5nIHtcbiAgc3dpdGNoIChtb2RlbC50eXBlTW9kZWxUeXBlKSB7XG4gICAgY2FzZSBcImxpc3RcIjpcbiAgICAgIHJldHVybiBgbGlzdCgke2Rlc2NyaWJlVGVycmFmb3JtVHlwZShcbiAgICAgICAgKG1vZGVsIGFzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwpLmVsZW1lbnRUeXBlLFxuICAgICAgKX0pYDtcbiAgICBjYXNlIFwic2V0XCI6XG4gICAgICByZXR1cm4gYHNldCgke2Rlc2NyaWJlVGVycmFmb3JtVHlwZShcbiAgICAgICAgKG1vZGVsIGFzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwpLmVsZW1lbnRUeXBlLFxuICAgICAgKX0pYDtcbiAgICBjYXNlIFwibWFwXCI6XG4gICAgICByZXR1cm4gYG1hcCgke2Rlc2NyaWJlVGVycmFmb3JtVHlwZShcbiAgICAgICAgKG1vZGVsIGFzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwpLmVsZW1lbnRUeXBlLFxuICAgICAgKX0pYDtcbiAgICBjYXNlIFwic3RydWN0XCI6XG4gICAgICByZXR1cm4gXCJvYmplY3RcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQ292ZXJzIGJvdGggU2ltcGxlQXR0cmlidXRlVHlwZU1vZGVsIChzdG9yZWRDbGFzc1R5cGUgaXMgdGhlIFRlcnJhZm9ybSBwcmltaXRpdmVcbiAgICAgIC8vIG5hbWUsIGUuZy4gXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImJvb2xlYW5cIiB8IFwiYW55XCIpIGFuZCBTa2lwcGVkQXR0cmlidXRlVHlwZU1vZGVsXG4gICAgICAvLyAoc3RvcmVkQ2xhc3NUeXBlIGlzIGFsd2F5cyBcImFueVwiKS5cbiAgICAgIHJldHVybiBtb2RlbC5zdG9yZWRDbGFzc1R5cGUgPT09IFwiYm9vbGVhblwiXG4gICAgICAgID8gXCJib29sXCJcbiAgICAgICAgOiBtb2RlbC5zdG9yZWRDbGFzc1R5cGU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNraXBwZWRBdHRyaWJ1dGVUeXBlTW9kZWwgaW1wbGVtZW50cyBBdHRyaWJ1dGVUeXBlTW9kZWwge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IHR5cGVNb2RlbFR5cGUoKSB7XG4gICAgcmV0dXJuIFwic2ltcGxlXCI7XG4gIH1cblxuICBnZXQgc3RydWN0KCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgaXNDb21wbGV4KCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldFN0b3JlZENsYXNzSW5pdGlhbGl6ZXIoX25hbWU6IHN0cmluZykge1xuICAgIC8vIG5vdCB1c2VkXG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBnZXQgc3RvcmVkQ2xhc3NUeXBlKCkge1xuICAgIHJldHVybiBcImFueVwiO1xuICB9XG5cbiAgZ2V0IGlucHV0VHlwZURlZmluaXRpb24oKSB7XG4gICAgcmV0dXJuIFwiYW55XCI7XG4gIH1cblxuICBnZXRBdHRyaWJ1dGVBY2Nlc3NGdW5jdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSgnJHtuYW1lfScpYDtcbiAgfVxuXG4gIGdldCB0b1RlcnJhZm9ybUZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBgY2RrdG4uYW55VG9UZXJyYWZvcm1gO1xuICB9XG5cbiAgZ2V0IHRvSGNsVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGBjZGt0bi5hbnlUb0hjbFRlcnJhZm9ybWA7XG4gIH1cblxuICBnZXQgaGFzUmVmZXJlbmNlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlzVG9rZW5pemFibGUoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNpbXBsZUF0dHJpYnV0ZVR5cGVNb2RlbCBpbXBsZW1lbnRzIEF0dHJpYnV0ZVR5cGVNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0eXBlOiBzdHJpbmcpIHt9XG5cbiAgZ2V0IHR5cGVNb2RlbFR5cGUoKSB7XG4gICAgcmV0dXJuIFwic2ltcGxlXCI7XG4gIH1cblxuICBnZXQgc3RydWN0KCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgaXNDb21wbGV4KCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldFN0b3JlZENsYXNzSW5pdGlhbGl6ZXIoX25hbWU6IHN0cmluZykge1xuICAgIC8vIG5vdCB1c2VkXG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBnZXQgc3RvcmVkQ2xhc3NUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXQgaW5wdXRUeXBlRGVmaW5pdGlvbigpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIFwiYm9vbGVhbiB8IGNka3RuLklSZXNvbHZhYmxlXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnR5cGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0QXR0cmlidXRlQWNjZXNzRnVuY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGB0aGlzLmdldCR7dXBwZXJjYXNlRmlyc3QodGhpcy50eXBlKX1BdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gIH1cblxuICBnZXQgdG9UZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYGNka3RuLiR7dGhpcy50eXBlfVRvVGVycmFmb3JtYDtcbiAgfVxuXG4gIGdldCB0b0hjbFRlcnJhZm9ybUZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBgY2RrdG4uJHt0aGlzLnR5cGV9VG9IY2xUZXJyYWZvcm1gO1xuICB9XG5cbiAgZ2V0IGhhc1JlZmVyZW5jZUNsYXNzKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldCBpc1Rva2VuaXphYmxlKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0cnVjdEF0dHJpYnV0ZVR5cGVNb2RlbCBpbXBsZW1lbnRzIEF0dHJpYnV0ZVR5cGVNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzdHJ1Y3Q6IFN0cnVjdCkge31cblxuICBnZXQgdHlwZU1vZGVsVHlwZSgpIHtcbiAgICByZXR1cm4gXCJzdHJ1Y3RcIjtcbiAgfVxuXG4gIGdldCBpc0NvbXBsZXgoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXRTdG9yZWRDbGFzc0luaXRpYWxpemVyKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBgbmV3ICR7dGhpcy5zdHJ1Y3Qub3V0cHV0UmVmZXJlbmNlTmFtZX0odGhpcywgXCIke25hbWV9XCIpYDtcbiAgfVxuXG4gIGdldCBzdG9yZWRDbGFzc1R5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RydWN0Lm5hbWU7XG4gIH1cblxuICBnZXQgaW5wdXRUeXBlRGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJ1Y3QubmFtZTtcbiAgfVxuXG4gIGdldEF0dHJpYnV0ZUFjY2Vzc0Z1bmN0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIC8vIFRoaXMgc2hvdWxuJ3QgYWN0dWFsbHkgYmUgY2FsbGVkXG4gICAgcmV0dXJuIGB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gIH1cblxuICBnZXQgdG9UZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYCR7ZG93bmNhc2VGaXJzdCh0aGlzLnN0cnVjdC5uYW1lKX1Ub1RlcnJhZm9ybWA7XG4gIH1cblxuICBnZXQgdG9IY2xUZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYCR7ZG93bmNhc2VGaXJzdCh0aGlzLnN0cnVjdC5uYW1lKX1Ub0hjbFRlcnJhZm9ybWA7XG4gIH1cblxuICBnZXQgaGFzUmVmZXJlbmNlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgaXNUb2tlbml6YWJsZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgaXNTdG9yZWRDbGFzc1VuYXZhaWxhYmxlKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwgZXh0ZW5kcyBBdHRyaWJ1dGVUeXBlTW9kZWwge1xuICBlbGVtZW50VHlwZTogQXR0cmlidXRlVHlwZU1vZGVsO1xuICAvLyBSZXNvbHZlcyB0aGUgXCJjZGt0bi48bmFtZT5cIiBzdG9yZWQgY2xhc3MgdG8gaW5zdGFudGlhdGUgZm9yIHRoaXMgKG5vbi1jb21wbGV4KVxuICAvLyBjb2xsZWN0aW9uIHR5cGUsIGFuZCB3aGV0aGVyIHRoYXQgcmVzb2x1dGlvbiBjb2xsYXBzZWQgYSBkZWVwZXIsIHVuc3VwcG9ydGVkIG5lc3RpbmdcbiAgLy8gaW50byB0aGUgbmVhcmVzdCB0eXBlZCBcIkFueVwiLXdyYXBwZXIuIHVuZGVmaW5lZCBvbmx5IGRlZmVuc2l2ZWx5IC0gc2VlXG4gIC8vIHJlc29sdmVTdG9yZWRDbGFzc05hbWUgaW4gc3VwcG9ydGVkLXN0b3JlZC1jbGFzc2VzLnRzLlxuICByZWFkb25seSByZXNvbHZlZFN0b3JlZENsYXNzOlxuICAgIHwgeyBuYW1lOiBzdHJpbmc7IGNvbGxhcHNlZDogYm9vbGVhbiB9XG4gICAgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBMaXN0QXR0cmlidXRlVHlwZU1vZGVsIGltcGxlbWVudHMgQ29sbGVjdGlvbkF0dHJpYnV0ZVR5cGVNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBlbGVtZW50VHlwZTogQXR0cmlidXRlVHlwZU1vZGVsLFxuICAgIHB1YmxpYyByZWFkb25seSBpc1NpbmdsZUl0ZW06IGJvb2xlYW4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc0Jsb2NrOiBib29sZWFuLFxuICApIHtcbiAgICBpZiAodGhpcy5zdHJ1Y3QpIHtcbiAgICAgIHRoaXMuc3RydWN0LmlzU2luZ2xlSXRlbSA9IHRoaXMuaXNTaW5nbGVJdGVtIHx8IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0eXBlTW9kZWxUeXBlKCkge1xuICAgIHJldHVybiBcImxpc3RcIjtcbiAgfVxuXG4gIGdldCBzdHJ1Y3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUuc3RydWN0O1xuICB9XG5cbiAgZ2V0IGlzQ29tcGxleCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS5pc0NvbXBsZXg7XG4gIH1cblxuICBnZXRTdG9yZWRDbGFzc0luaXRpYWxpemVyKG5hbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlzU2luZ2xlSXRlbSkge1xuICAgICAgcmV0dXJuIGBuZXcgJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX1PdXRwdXRSZWZlcmVuY2UodGhpcywgXCIke25hbWV9XCIpYDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaXNDb21wbGV4KSB7XG4gICAgICAgIHJldHVybiBgbmV3ICR7dGhpcy5zdG9yZWRDbGFzc1R5cGV9KHRoaXMsIFwiJHtuYW1lfVwiLCBmYWxzZSlgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGBuZXcgY2RrdG4uJHt0aGlzLnJlc29sdmVkU3RvcmVkQ2xhc3MhLm5hbWV9KHRoaXMsIFwiJHtuYW1lfVwiLCBmYWxzZSlgO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBzdG9yZWRDbGFzc1R5cGUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlfUxpc3RgO1xuICB9XG5cbiAgZ2V0IHJlc29sdmVkU3RvcmVkQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHJlc29sdmVTdG9yZWRDbGFzc05hbWUoXG4gICAgICB0aGlzLnN0b3JlZENsYXNzVHlwZSxcbiAgICAgIHRoaXMuZWxlbWVudFR5cGUudHlwZU1vZGVsVHlwZSxcbiAgICApO1xuICB9XG5cbiAgZ2V0IGlucHV0VHlwZURlZmluaXRpb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTaW5nbGVJdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS5pbnB1dFR5cGVEZWZpbml0aW9uO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICByZXR1cm4gXCJBcnJheTxib29sZWFuIHwgY2RrdG4uSVJlc29sdmFibGU+IHwgY2RrdG4uSVJlc29sdmFibGVcIjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb21wbGV4KSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGV9W10gfCBjZGt0bi5JUmVzb2x2YWJsZWA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmVsZW1lbnRUeXBlLnR5cGVNb2RlbFR5cGUgIT09IFwic2ltcGxlXCIpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmVsZW1lbnRUeXBlLmlucHV0VHlwZURlZmluaXRpb259W10gfCBjZGt0bi5JUmVzb2x2YWJsZWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmVsZW1lbnRUeXBlLmlucHV0VHlwZURlZmluaXRpb259W11gO1xuICAgIH1cbiAgfVxuXG4gIGdldEF0dHJpYnV0ZUFjY2Vzc0Z1bmN0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIHN3aXRjaCAodGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGUpIHtcbiAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgcmV0dXJuIGB0aGlzLmdldExpc3RBdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgIHJldHVybiBgdGhpcy5nZXROdW1iZXJMaXN0QXR0cmlidXRlKCcke25hbWV9JylgO1xuICAgIH1cblxuICAgIHJldHVybiBgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKCcke25hbWV9JylgO1xuICB9XG5cbiAgZ2V0IHRvVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTaW5nbGVJdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS50b1RlcnJhZm9ybUZ1bmN0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gYGNka3RuLmxpc3RNYXBwZXIoJHt0aGlzLmVsZW1lbnRUeXBlLnRvVGVycmFmb3JtRnVuY3Rpb259LCAke3RoaXMuaXNCbG9ja30pYDtcbiAgfVxuXG4gIGdldCB0b0hjbFRlcnJhZm9ybUZ1bmN0aW9uKCkge1xuICAgIGlmICh0aGlzLmlzU2luZ2xlSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUudG9IY2xUZXJyYWZvcm1GdW5jdGlvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gYGNka3RuLmxpc3RNYXBwZXJIY2woJHt0aGlzLmVsZW1lbnRUeXBlLnRvSGNsVGVycmFmb3JtRnVuY3Rpb259LCAke3RoaXMuaXNCbG9ja30pYDtcbiAgfVxuXG4gIGdldCBoYXNSZWZlcmVuY2VDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5pc1NpbmdsZUl0ZW0gfHwgdGhpcy5pc0NvbXBsZXg7XG4gIH1cblxuICBnZXQgaXNUb2tlbml6YWJsZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlKSB7XG4gICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBDb21wbGV4IChzdHJ1Y3QpIGVsZW1lbnRzIGdlbmVyYXRlIHRoZWlyIG93biBjbGFzcyBpbiB0aGUgcHJvdmlkZXIgb3V0cHV0LCBzbyB0aGV5XG4gIC8vIGFyZSBhbHdheXMgZmluZS4gT3RoZXJ3aXNlIGEgc3RvcmVkIGNsYXNzIGlzIG9ubHkgZW1pdHRlZCBpZiByZXNvbHZlZFN0b3JlZENsYXNzXG4gIC8vIGZpbmRzIG9uZSAtIHNlZSBnZXRTdG9yZWRDbGFzc0luaXRpYWxpemVyIGFib3ZlLiBOb3RlOiBoYXNSZWZlcmVuY2VDbGFzcyAod2hpY2hcbiAgLy8gdHJpZ2dlcnMgYSBzdG9yZWRfY2xhc3MgZ2V0dGVyKSBpcyBvbmx5IGV2ZXIgdHJ1ZSBoZXJlIHdoZW4gaXNTaW5nbGVJdGVtIG9yIGlzQ29tcGxleFxuICAvLyBpcyB0cnVlLCBhbmQgaXNTaW5nbGVJdGVtIGlzIG9ubHkgc2V0IGZvciBzdHJ1Y3QvYmxvY2sgbmVzdGluZyAod2hpY2ggaXMgYWxzb1xuICAvLyBpc0NvbXBsZXgpLCBzbyB0aGlzIGNoZWNrIG9ubHkgbmVlZHMgdG8gZ3VhcmQgdGhlIG5vbi1jb21wbGV4LCBub24tc2luZ2xlLWl0ZW0gY2FzZS5cbiAgLy9cbiAgLy8gc3RvcmVkQ2xhc3NUeXBlIGlzIGl0c2VsZiBidWlsdCB1cCByZWN1cnNpdmVseSAoZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlIGlzXG4gIC8vIGNvbXBvc2VkIHRoZSBzYW1lIHdheSBmb3IgbmVzdGVkIGNvbGxlY3Rpb25zKSwgc28gaXQgYWxyZWFkeSBmdWxseSBlbmNvZGVzIHRoZVxuICAvLyBlbnRpcmUgbmVzdGVkIGNoYWluIGluIG9uZSBzdHJpbmcgKGUuZy4gbWFwKG1hcChsaXN0KHN0cmluZykpKSBjb21wb3NlcyBhbGwgdGhlIHdheVxuICAvLyB1cCB0byBcInN0cmluZ0xpc3RNYXBNYXBcIikuIHJlc29sdmVkU3RvcmVkQ2xhc3MgZmlyc3QgY2hlY2tzIHRoaXMgdHlwZSdzIG93biBjb21wb3NlZFxuICAvLyBuYW1lIChlLmcuIFwiU3RyaW5nTGlzdE1hcE1hcFwiKSBhZ2FpbnN0IHRoZSBmaXhlZCBzZXQgb2YgaGFuZC13cml0dGVuIGNvcmUgY2xhc3NlczsgaWZcbiAgLy8gdGhhdCBuYW1lIGRvZXNuJ3QgZXhpc3QsIGl0IGZhbGxzIGJhY2sgdG8gdGhlIG5lYXJlc3QgdHlwZWQgXCJBbnlcIi13cmFwcGVyIHRoYXQgc3RpbGxcbiAgLy8gZW5jb2RlcyB0aGlzIHR5cGUncyBvd24gbGF5ZXIgYW5kIGl0cyBlbGVtZW50J3MgbGF5ZXIgKGUuZy4gXCJBbnlNYXBNYXBcIiksIGNvbGxhcHNpbmdcbiAgLy8gb25seSB0aGUgdW5zdXBwb3J0ZWQgaW5uZXIgc2hhcGUgd2hpbGUgcHJlc2VydmluZyB0eXBlZCBuYXZpZ2F0aW9uIGZvciB0aGUgb3V0ZXJcbiAgLy8gbGF5ZXJzOyBvbmx5IGlmIG5laXRoZXIgZXhpc3RzIGRvZXMgaXQgZmFsbCB0aHJvdWdoIHRvIHRoZSBwbGFpbiwgdW50eXBlZCBnZXR0ZXIgKHNlZVxuICAvLyBBdHRyaWJ1dGVNb2RlbC5nZXR0ZXJUeXBlKS4gSXQgbXVzdCBOT1QgYWxzbyBPUiBpblxuICAvLyBlbGVtZW50VHlwZS5pc1N0b3JlZENsYXNzVW5hdmFpbGFibGUsIHNpbmNlIGFuIGlubmVyIGVsZW1lbnQncyB1bi1jb21wb3NlZCBuYW1lIChlLmcuXG4gIC8vIFwiU3RyaW5nTGlzdFwiIGZvciBhIHBsYWluIGxpc3Qoc3RyaW5nKSBuZXN0ZWQgaW5zaWRlIGEgbWFwKSBpcyBuZXZlciBzZXBhcmF0ZWx5XG4gIC8vIGluc3RhbnRpYXRlZCBhbmQgaXMgaXJyZWxldmFudCBvbiBpdHMgb3duOyBPUmluZyBpdCBpbiB3b3VsZCBwcm9kdWNlIGZhbHNlIHBvc2l0aXZlc1xuICAvLyB0aGF0IHJlZ3Jlc3Mgc3VwcG9ydGVkIG5lc3RpbmdzIHN1Y2ggYXMgbWFwKGxpc3Qoc3RyaW5nKSkgPT4gY2RrdG4uU3RyaW5nTGlzdE1hcC5cbiAgZ2V0IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSgpIHtcbiAgICBpZiAodGhpcy5pc0NvbXBsZXgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRTdG9yZWRDbGFzcyA9PT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTZXRBdHRyaWJ1dGVUeXBlTW9kZWwgaW1wbGVtZW50cyBDb2xsZWN0aW9uQXR0cmlidXRlVHlwZU1vZGVsIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRUeXBlOiBBdHRyaWJ1dGVUeXBlTW9kZWwsXG4gICAgcHVibGljIHJlYWRvbmx5IGlzU2luZ2xlSXRlbTogYm9vbGVhbixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQmxvY2s6IGJvb2xlYW4sXG4gICkge1xuICAgIGlmICh0aGlzLnN0cnVjdCkge1xuICAgICAgdGhpcy5zdHJ1Y3QuaXNTaW5nbGVJdGVtID0gdGhpcy5pc1NpbmdsZUl0ZW0gfHwgZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHR5cGVNb2RlbFR5cGUoKSB7XG4gICAgcmV0dXJuIFwic2V0XCI7XG4gIH1cblxuICBnZXQgc3RydWN0KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLnN0cnVjdDtcbiAgfVxuXG4gIGdldCBpc0NvbXBsZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUuaXNDb21wbGV4O1xuICB9XG5cbiAgZ2V0U3RvcmVkQ2xhc3NJbml0aWFsaXplcihuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc1NpbmdsZUl0ZW0pIHtcbiAgICAgIHJldHVybiBgbmV3ICR7dGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGV9T3V0cHV0UmVmZXJlbmNlKHRoaXMsIFwiJHtuYW1lfVwiKWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmlzQ29tcGxleCkge1xuICAgICAgICByZXR1cm4gYG5ldyAke3RoaXMuc3RvcmVkQ2xhc3NUeXBlfSh0aGlzLCBcIiR7bmFtZX1cIiwgdHJ1ZSlgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGBuZXcgY2RrdG4uJHt0aGlzLnJlc29sdmVkU3RvcmVkQ2xhc3MhLm5hbWV9KHRoaXMsIFwiJHtuYW1lfVwiLCB0cnVlKWA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0b3JlZENsYXNzVHlwZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGV9TGlzdGA7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRTdG9yZWRDbGFzcygpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVN0b3JlZENsYXNzTmFtZShcbiAgICAgIHRoaXMuc3RvcmVkQ2xhc3NUeXBlLFxuICAgICAgdGhpcy5lbGVtZW50VHlwZS50eXBlTW9kZWxUeXBlLFxuICAgICk7XG4gIH1cblxuICBnZXQgaW5wdXRUeXBlRGVmaW5pdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc1NpbmdsZUl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLmlucHV0VHlwZURlZmluaXRpb247XG4gICAgfSBlbHNlIGlmICh0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHJldHVybiBcIkFycmF5PGJvb2xlYW4gfCBjZGt0bi5JUmVzb2x2YWJsZT4gfCBjZGt0bi5JUmVzb2x2YWJsZVwiO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbXBsZXgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX1bXSB8IGNka3RuLklSZXNvbHZhYmxlYDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbWVudFR5cGUudHlwZU1vZGVsVHlwZSAhPT0gXCJzaW1wbGVcIikge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZWxlbWVudFR5cGUuaW5wdXRUeXBlRGVmaW5pdGlvbn1bXSB8IGNka3RuLklSZXNvbHZhYmxlYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZWxlbWVudFR5cGUuaW5wdXRUeXBlRGVmaW5pdGlvbn1bXWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0QXR0cmlidXRlQWNjZXNzRnVuY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZSkge1xuICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICByZXR1cm4gYGNka3RuLkZuLnRvbGlzdCh0aGlzLmdldExpc3RBdHRyaWJ1dGUoJyR7bmFtZX0nKSlgO1xuICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICByZXR1cm4gYGNka3RuLlRva2VuLmFzTnVtYmVyTGlzdChjZGt0bi5Gbi50b2xpc3QodGhpcy5nZXROdW1iZXJMaXN0QXR0cmlidXRlKCcke25hbWV9JykpKWA7XG4gICAgfVxuXG4gICAgLy8gVG9rZW4uYXNBbnkgaXMgcmVxdWlyZWQgYmVjYXVzZSB0b2xpc3QgcmV0dXJucyBhbiBBcnJheSBlbmNvZGVkIHRva2VuIHdoaWNoIHRoZSBsaXN0TWFwcGVyXG4gICAgLy8gd291bGQgdHJ5IHRvIG1hcCBvdmVyIHdoZW4gdGhpcyBpcyBwYXNzZWQgdG8gYW5vdGhlciByZXNvdXJjZS4gV2l0aCBUb2tlbi5hc0FueSgpIGl0IGlzIGxlZnRcbiAgICAvLyBhcyBpcyBieSB0aGUgbGlzdE1hcHBlciBhbmQgaXMgbGF0ZXIgcHJvcGVybHkgcmVzb2x2ZWQgdG8gYSByZWZlcmVuY2VcbiAgICAvLyAodGhpcyBvbmx5IHdvcmtzIGluIFR5cGVTY3JpcHQgY3VycmVudGx5LCBzYW1lIGFzIGZvciByZWZlcmVuY2luZyBsaXN0c1xuICAgIC8vIFtzZWUgXCJpbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKC4uLilcIiBmdXJ0aGVyIGJlbG93XSlcbiAgICByZXR1cm4gYGNka3RuLlRva2VuLmFzQW55KGNka3RuLkZuLnRvbGlzdCh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUoJyR7bmFtZX0nKSkpYDtcbiAgfVxuXG4gIGdldCB0b1RlcnJhZm9ybUZ1bmN0aW9uKCkge1xuICAgIGlmICh0aGlzLmlzU2luZ2xlSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUudG9UZXJyYWZvcm1GdW5jdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBjZGt0bi5saXN0TWFwcGVyKCR7dGhpcy5lbGVtZW50VHlwZS50b1RlcnJhZm9ybUZ1bmN0aW9ufSwgJHt0aGlzLmlzQmxvY2t9KWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRvSGNsVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTaW5nbGVJdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS50b0hjbFRlcnJhZm9ybUZ1bmN0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gYGNka3RuLmxpc3RNYXBwZXJIY2woJHt0aGlzLmVsZW1lbnRUeXBlLnRvSGNsVGVycmFmb3JtRnVuY3Rpb259LCAke3RoaXMuaXNCbG9ja30pYDtcbiAgfVxuXG4gIGdldCBoYXNSZWZlcmVuY2VDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5pc1NpbmdsZUl0ZW0gfHwgdGhpcy5pc0NvbXBsZXg7XG4gIH1cblxuICBnZXQgaXNUb2tlbml6YWJsZSgpIHtcbiAgICBzd2l0Y2ggKHRoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlKSB7XG4gICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAvLyBTZWUgY29tbWVudCBvbiBMaXN0QXR0cmlidXRlVHlwZU1vZGVsLmlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSBhYm92ZSAtIHNhbWVcbiAgLy8gcmVhc29uaW5nIGFwcGxpZXMgaGVyZS5cbiAgZ2V0IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSgpIHtcbiAgICBpZiAodGhpcy5pc0NvbXBsZXgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZWRTdG9yZWRDbGFzcyA9PT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNYXBBdHRyaWJ1dGVUeXBlTW9kZWwgaW1wbGVtZW50cyBDb2xsZWN0aW9uQXR0cmlidXRlVHlwZU1vZGVsIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVsZW1lbnRUeXBlOiBBdHRyaWJ1dGVUeXBlTW9kZWwpIHt9XG5cbiAgZ2V0IHR5cGVNb2RlbFR5cGUoKSB7XG4gICAgcmV0dXJuIFwibWFwXCI7XG4gIH1cblxuICBnZXQgc3RydWN0KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLnN0cnVjdDtcbiAgfVxuXG4gIGdldCBpc0NvbXBsZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUuaXNDb21wbGV4O1xuICB9XG5cbiAgZ2V0U3RvcmVkQ2xhc3NJbml0aWFsaXplcihuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5pc0NvbXBsZXgpIHtcbiAgICAgIHJldHVybiBgbmV3ICR7dGhpcy5zdG9yZWRDbGFzc1R5cGV9KHRoaXMsIFwiJHtuYW1lfVwiKWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgbmV3IGNka3RuLiR7dGhpcy5yZXNvbHZlZFN0b3JlZENsYXNzIS5uYW1lfSh0aGlzLCBcIiR7bmFtZX1cIilgO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdG9yZWRDbGFzc1R5cGUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlfU1hcGA7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRTdG9yZWRDbGFzcygpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVN0b3JlZENsYXNzTmFtZShcbiAgICAgIHRoaXMuc3RvcmVkQ2xhc3NUeXBlLFxuICAgICAgdGhpcy5lbGVtZW50VHlwZS50eXBlTW9kZWxUeXBlLFxuICAgICk7XG4gIH1cblxuICBnZXQgaW5wdXRUeXBlRGVmaW5pdGlvbigpIHtcbiAgICAvLyBtYXAgb2YgYm9vbGVhbnMgaGFzIHRva2VuIHN1cHBvcnQsIGJ1dCBib29sZWFucyBkb24ndFxuICAgIGlmICh0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHJldHVybiBgeyBba2V5OiBzdHJpbmddOiAoJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX0gfCBjZGt0bi5JUmVzb2x2YWJsZSkgfWA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQ29tcGxleCkge1xuICAgICAgcmV0dXJuIGB7IFtrZXk6IHN0cmluZ106ICR7dGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGV9IH0gfCBjZGt0bi5JUmVzb2x2YWJsZWA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmVsZW1lbnRUeXBlLnR5cGVNb2RlbFR5cGUgIT09IFwic2ltcGxlXCIpIHtcbiAgICAgIHJldHVybiBgeyBba2V5OiBzdHJpbmddOiAke3RoaXMuZWxlbWVudFR5cGUuaW5wdXRUeXBlRGVmaW5pdGlvbn0gfSB8IGNka3RuLklSZXNvbHZhYmxlYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGB7IFtrZXk6IHN0cmluZ106ICR7dGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGV9IH1gO1xuICAgIH1cbiAgfVxuXG4gIGdldEF0dHJpYnV0ZUFjY2Vzc0Z1bmN0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5pc0NvbXBsZXggJiYgdGhpcy5lbGVtZW50VHlwZS50eXBlTW9kZWxUeXBlICE9PSBcInNpbXBsZVwiKSB7XG4gICAgICByZXR1cm4gYHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSgnJHtuYW1lfScpYDtcbiAgICB9XG5cbiAgICByZXR1cm4gYHRoaXMuZ2V0JHt1cHBlcmNhc2VGaXJzdChcbiAgICAgIHRoaXMuc3RvcmVkQ2xhc3NUeXBlLFxuICAgICl9QXR0cmlidXRlKCcke25hbWV9JylgO1xuICB9XG5cbiAgZ2V0IHRvVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGBjZGt0bi5oYXNoTWFwcGVyKCR7dGhpcy5lbGVtZW50VHlwZS50b1RlcnJhZm9ybUZ1bmN0aW9ufSlgO1xuICB9XG5cbiAgZ2V0IHRvSGNsVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGBjZGt0bi5oYXNoTWFwcGVySGNsKCR7dGhpcy5lbGVtZW50VHlwZS50b0hjbFRlcnJhZm9ybUZ1bmN0aW9ufSlgO1xuICB9XG5cbiAgZ2V0IGhhc1JlZmVyZW5jZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmlzQ29tcGxleDtcbiAgfVxuXG4gIGdldCBpc1Rva2VuaXphYmxlKCkge1xuICAgIHN3aXRjaCAodGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGUpIHtcbiAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIFwiYW55XCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlZSBjb21tZW50IG9uIExpc3RBdHRyaWJ1dGVUeXBlTW9kZWwuaXNTdG9yZWRDbGFzc1VuYXZhaWxhYmxlIGFib3ZlIC0gc2FtZVxuICAvLyByZWFzb25pbmcgYXBwbGllcyBoZXJlIChNYXBBdHRyaWJ1dGVUeXBlTW9kZWwuaGFzUmVmZXJlbmNlQ2xhc3MgaXMganVzdCBpc0NvbXBsZXgpLlxuICBnZXQgaXNTdG9yZWRDbGFzc1VuYXZhaWxhYmxlKCkge1xuICAgIGlmICh0aGlzLmlzQ29tcGxleCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFN0b3JlZENsYXNzID09PSB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
462
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLXR5cGUtbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ2V0L2dlbmVyYXRvci9tb2RlbHMvYXR0cmlidXRlLXR5cGUtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeUJBLHNEQXdCQztBQTlDRCx3Q0FBOEQ7QUFDOUQseUVBQW9FO0FBaUJwRSx3RkFBd0Y7QUFDeEYsdUZBQXVGO0FBQ3ZGLDRFQUE0RTtBQUM1RSwwRkFBMEY7QUFDMUYsU0FBZ0IscUJBQXFCLENBQUMsS0FBeUI7SUFDN0QsUUFBUSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDNUIsS0FBSyxNQUFNO1lBQ1QsT0FBTyxRQUFRLHFCQUFxQixDQUNqQyxLQUFzQyxDQUFDLFdBQVcsQ0FDcEQsR0FBRyxDQUFDO1FBQ1AsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLHFCQUFxQixDQUNoQyxLQUFzQyxDQUFDLFdBQVcsQ0FDcEQsR0FBRyxDQUFDO1FBQ1AsS0FBSyxLQUFLO1lBQ1IsT0FBTyxPQUFPLHFCQUFxQixDQUNoQyxLQUFzQyxDQUFDLFdBQVcsQ0FDcEQsR0FBRyxDQUFDO1FBQ1AsS0FBSyxRQUFRO1lBQ1gsT0FBTyxRQUFRLENBQUM7UUFDbEI7WUFDRSxtRkFBbUY7WUFDbkYsb0ZBQW9GO1lBQ3BGLHFDQUFxQztZQUNyQyxPQUFPLEtBQUssQ0FBQyxlQUFlLEtBQUssU0FBUztnQkFDeEMsQ0FBQyxDQUFDLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFhLHlCQUF5QjtJQUNwQyxnQkFBZSxDQUFDO0lBRWhCLElBQUksYUFBYTtRQUNmLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxLQUFLLENB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O0lBQ3JFLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLHVCQUF1QixJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixHQUFHLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsUUFBUSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pDLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssUUFBUTtnQkFDWCxPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssU0FBUztnQkFDWixPQUFPLElBQUksQ0FBQztZQUNkLEtBQUssS0FBSztnQkFDUixPQUFPLElBQUksQ0FBQztZQUNkO2dCQUNFLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBRUQsOEVBQThFO0lBQzlFLHNGQUFzRjtJQUN0RixJQUFJLHdCQUF3QjtRQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxTQUFTLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBNUZELHNEQTRGQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBTdHJ1Y3QgfSBmcm9tIFwiLi9zdHJ1Y3RcIjtcbmltcG9ydCB7IHVwcGVyY2FzZUZpcnN0LCBkb3duY2FzZUZpcnN0IH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxcIjtcbmltcG9ydCB7IHJlc29sdmVTdG9yZWRDbGFzc05hbWUgfSBmcm9tIFwiLi9zdXBwb3J0ZWQtc3RvcmVkLWNsYXNzZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVUeXBlTW9kZWwge1xuICByZWFkb25seSBzdHJ1Y3Q/OiBTdHJ1Y3Q7IC8vIGNvbXBsZXggb2JqZWN0IHR5cGUgY29udGFpbmVkIHdpdGhpbiB0aGUgdHlwZVxuICByZWFkb25seSBpc0NvbXBsZXg6IGJvb2xlYW47IC8vIGJhc2ljYWxseSB0aGUgc2FtZSBhcyBoYXZpbmcgYSBzdHJ1Y3RcbiAgZ2V0U3RvcmVkQ2xhc3NJbml0aWFsaXplcihuYW1lOiBzdHJpbmcpOiBzdHJpbmc7IC8vIGluaXRpYWxpemVyIGZvciBrZWVwaW5nIGNsYXNzIG5lZWRlZCB0byBrZWVwIHRyYWNrIG9mIHJlZmVyZW5jZSBhY2Nlc3NcbiAgcmVhZG9ubHkgc3RvcmVkQ2xhc3NUeXBlOiBzdHJpbmc7IC8vIHVzZWQgbWFpbmx5IGJ5IGNvbGxlY3Rpb24gdHlwZXMgdG8gZ2VuZXJhdGUgdGhlaXIgc3RvcmVkIGNsYXNzIGluaXRpYWxpemVyXG4gIHJlYWRvbmx5IGlucHV0VHlwZURlZmluaXRpb246IHN0cmluZzsgLy8gdGhpcyBpcyB0aGUgdHlwZSB1c2VkIGZvciBpbnB1dHRpbmcgdmFsdWVzXG4gIGdldEF0dHJpYnV0ZUFjY2Vzc0Z1bmN0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZzsgLy8gdGhpcyBpcyBmb3IgZ2V0dGluZyByZWZlcmVuY2UgZm9yIHNpbXBsZSB0eXBlc1xuICByZWFkb25seSB0b1RlcnJhZm9ybUZ1bmN0aW9uOiBzdHJpbmc7IC8vIHRoaXMgaXMgZm9yIGNvbnZlcnRpbmcgaW5wdXQgdmFsdWVzIHRvIFRlcnJhZm9ybSBzeW50YXhcbiAgcmVhZG9ubHkgdG9IY2xUZXJyYWZvcm1GdW5jdGlvbjogc3RyaW5nOyAvLyB0aGlzIGlzIGZvciBjb252ZXJ0aW5nIGlucHV0IHZhbHVlcyB0byBUZXJyYWZvcm0gc3ludGF4IGluIEhDTFxuICByZWFkb25seSB0eXBlTW9kZWxUeXBlOiBzdHJpbmc7IC8vIHNvIHdlIGRvbid0IG5lZWQgdG8gdXNlIGluc3RhbmNlb2ZcbiAgcmVhZG9ubHkgaGFzUmVmZXJlbmNlQ2xhc3M6IGJvb2xlYW47IC8vIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgc3RvcmVkX2NsYXNzIGdldHRlciBzaG91bGQgYmUgdXNlZFxuICByZWFkb25seSBpc1Rva2VuaXphYmxlOiBib29sZWFuOyAvLyBjYW4gdGhlIHR5cGUgYmUgcmVwcmVzZW50ZWQgYnkgYSB0b2tlbiB0eXBlXG4gIHJlYWRvbmx5IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZTogYm9vbGVhbjsgLy8gdHJ1ZSB3aGVuIG5vIFwiY2RrdG4uPE5hbWU+XCIgc3RvcmVkIGNsYXNzIChub3QgZXZlbiBhIGNvbGxhcHNlZCBuZWFyZXN0LUFueSB3cmFwcGVyKSBpcyBhdmFpbGFibGUgZm9yIHRoaXMgdHlwZVxufVxuXG4vLyBEZXNjcmliZXMgdGhlIFRlcnJhZm9ybSB0eXBlIG9mIGFuIGF0dHJpYnV0ZSBhcyBpdHMgYGxpc3QoLi4uKWAvYHNldCguLi4pYC9gbWFwKC4uLilgXG4vLyBjb21wb3NlZCBub3RhdGlvbiAobWF0Y2hpbmcgaG93IFRlcnJhZm9ybSBpdHNlbGYgZGVzY3JpYmVzIG5lc3RlZCBjb2xsZWN0aW9uIHR5cGVzKSxcbi8vIGZvciB1c2UgaW4gZ2VuZXJhdGVkIEpTRG9jLiBVc2VkIG9ubHkgZm9yIGNvbGxhcHNlZC9mYWxsYmFjayBnZXR0ZXJzIChzZWVcbi8vIEF0dHJpYnV0ZXNFbWl0dGVyKSBzbyBpdCBuZXZlciBuZWVkcyB0byBiZSBleGhhdXN0aXZlL3BlcmZlY3RseSBzdGFibGUgZm9yIGV2ZXJ5IHNoYXBlLlxuZXhwb3J0IGZ1bmN0aW9uIGRlc2NyaWJlVGVycmFmb3JtVHlwZShtb2RlbDogQXR0cmlidXRlVHlwZU1vZGVsKTogc3RyaW5nIHtcbiAgc3dpdGNoIChtb2RlbC50eXBlTW9kZWxUeXBlKSB7XG4gICAgY2FzZSBcImxpc3RcIjpcbiAgICAgIHJldHVybiBgbGlzdCgke2Rlc2NyaWJlVGVycmFmb3JtVHlwZShcbiAgICAgICAgKG1vZGVsIGFzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwpLmVsZW1lbnRUeXBlLFxuICAgICAgKX0pYDtcbiAgICBjYXNlIFwic2V0XCI6XG4gICAgICByZXR1cm4gYHNldCgke2Rlc2NyaWJlVGVycmFmb3JtVHlwZShcbiAgICAgICAgKG1vZGVsIGFzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwpLmVsZW1lbnRUeXBlLFxuICAgICAgKX0pYDtcbiAgICBjYXNlIFwibWFwXCI6XG4gICAgICByZXR1cm4gYG1hcCgke2Rlc2NyaWJlVGVycmFmb3JtVHlwZShcbiAgICAgICAgKG1vZGVsIGFzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwpLmVsZW1lbnRUeXBlLFxuICAgICAgKX0pYDtcbiAgICBjYXNlIFwic3RydWN0XCI6XG4gICAgICByZXR1cm4gXCJvYmplY3RcIjtcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQ292ZXJzIGJvdGggU2ltcGxlQXR0cmlidXRlVHlwZU1vZGVsIChzdG9yZWRDbGFzc1R5cGUgaXMgdGhlIFRlcnJhZm9ybSBwcmltaXRpdmVcbiAgICAgIC8vIG5hbWUsIGUuZy4gXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImJvb2xlYW5cIiB8IFwiYW55XCIpIGFuZCBTa2lwcGVkQXR0cmlidXRlVHlwZU1vZGVsXG4gICAgICAvLyAoc3RvcmVkQ2xhc3NUeXBlIGlzIGFsd2F5cyBcImFueVwiKS5cbiAgICAgIHJldHVybiBtb2RlbC5zdG9yZWRDbGFzc1R5cGUgPT09IFwiYm9vbGVhblwiXG4gICAgICAgID8gXCJib29sXCJcbiAgICAgICAgOiBtb2RlbC5zdG9yZWRDbGFzc1R5cGU7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNraXBwZWRBdHRyaWJ1dGVUeXBlTW9kZWwgaW1wbGVtZW50cyBBdHRyaWJ1dGVUeXBlTW9kZWwge1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IHR5cGVNb2RlbFR5cGUoKSB7XG4gICAgcmV0dXJuIFwic2ltcGxlXCI7XG4gIH1cblxuICBnZXQgc3RydWN0KCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgaXNDb21wbGV4KCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldFN0b3JlZENsYXNzSW5pdGlhbGl6ZXIoX25hbWU6IHN0cmluZykge1xuICAgIC8vIG5vdCB1c2VkXG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBnZXQgc3RvcmVkQ2xhc3NUeXBlKCkge1xuICAgIHJldHVybiBcImFueVwiO1xuICB9XG5cbiAgZ2V0IGlucHV0VHlwZURlZmluaXRpb24oKSB7XG4gICAgcmV0dXJuIFwiYW55XCI7XG4gIH1cblxuICBnZXRBdHRyaWJ1dGVBY2Nlc3NGdW5jdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSgnJHtuYW1lfScpYDtcbiAgfVxuXG4gIGdldCB0b1RlcnJhZm9ybUZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBgY2RrdG4uYW55VG9UZXJyYWZvcm1gO1xuICB9XG5cbiAgZ2V0IHRvSGNsVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGBjZGt0bi5hbnlUb0hjbFRlcnJhZm9ybWA7XG4gIH1cblxuICBnZXQgaGFzUmVmZXJlbmNlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlzVG9rZW5pemFibGUoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZ2V0IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNpbXBsZUF0dHJpYnV0ZVR5cGVNb2RlbCBpbXBsZW1lbnRzIEF0dHJpYnV0ZVR5cGVNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB0eXBlOiBzdHJpbmcpIHt9XG5cbiAgZ2V0IHR5cGVNb2RlbFR5cGUoKSB7XG4gICAgcmV0dXJuIFwic2ltcGxlXCI7XG4gIH1cblxuICBnZXQgc3RydWN0KCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgaXNDb21wbGV4KCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldFN0b3JlZENsYXNzSW5pdGlhbGl6ZXIoX25hbWU6IHN0cmluZykge1xuICAgIC8vIG5vdCB1c2VkXG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICBnZXQgc3RvcmVkQ2xhc3NUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXQgaW5wdXRUeXBlRGVmaW5pdGlvbigpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIFwiYm9vbGVhbiB8IGNka3RuLklSZXNvbHZhYmxlXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnR5cGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0QXR0cmlidXRlQWNjZXNzRnVuY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGB0aGlzLmdldCR7dXBwZXJjYXNlRmlyc3QodGhpcy50eXBlKX1BdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gIH1cblxuICBnZXQgdG9UZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYGNka3RuLiR7dGhpcy50eXBlfVRvVGVycmFmb3JtYDtcbiAgfVxuXG4gIGdldCB0b0hjbFRlcnJhZm9ybUZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBgY2RrdG4uJHt0aGlzLnR5cGV9VG9IY2xUZXJyYWZvcm1gO1xuICB9XG5cbiAgZ2V0IGhhc1JlZmVyZW5jZUNsYXNzKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldCBpc1Rva2VuaXphYmxlKCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0IGlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0cnVjdEF0dHJpYnV0ZVR5cGVNb2RlbCBpbXBsZW1lbnRzIEF0dHJpYnV0ZVR5cGVNb2RlbCB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzdHJ1Y3Q6IFN0cnVjdCkge31cblxuICBnZXQgdHlwZU1vZGVsVHlwZSgpIHtcbiAgICByZXR1cm4gXCJzdHJ1Y3RcIjtcbiAgfVxuXG4gIGdldCBpc0NvbXBsZXgoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXRTdG9yZWRDbGFzc0luaXRpYWxpemVyKG5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBgbmV3ICR7dGhpcy5zdHJ1Y3Qub3V0cHV0UmVmZXJlbmNlTmFtZX0odGhpcywgXCIke25hbWV9XCIpYDtcbiAgfVxuXG4gIGdldCBzdG9yZWRDbGFzc1R5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RydWN0Lm5hbWU7XG4gIH1cblxuICBnZXQgaW5wdXRUeXBlRGVmaW5pdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJ1Y3QubmFtZTtcbiAgfVxuXG4gIGdldEF0dHJpYnV0ZUFjY2Vzc0Z1bmN0aW9uKG5hbWU6IHN0cmluZykge1xuICAgIC8vIFRoaXMgc2hvdWxuJ3QgYWN0dWFsbHkgYmUgY2FsbGVkXG4gICAgcmV0dXJuIGB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gIH1cblxuICBnZXQgdG9UZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYCR7ZG93bmNhc2VGaXJzdCh0aGlzLnN0cnVjdC5uYW1lKX1Ub1RlcnJhZm9ybWA7XG4gIH1cblxuICBnZXQgdG9IY2xUZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYCR7ZG93bmNhc2VGaXJzdCh0aGlzLnN0cnVjdC5uYW1lKX1Ub0hjbFRlcnJhZm9ybWA7XG4gIH1cblxuICBnZXQgaGFzUmVmZXJlbmNlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgaXNUb2tlbml6YWJsZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgaXNTdG9yZWRDbGFzc1VuYXZhaWxhYmxlKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwgZXh0ZW5kcyBBdHRyaWJ1dGVUeXBlTW9kZWwge1xuICBlbGVtZW50VHlwZTogQXR0cmlidXRlVHlwZU1vZGVsO1xuICAvLyBSZXNvbHZlcyB0aGUgXCJjZGt0bi48bmFtZT5cIiBzdG9yZWQgY2xhc3MgdG8gaW5zdGFudGlhdGUgZm9yIHRoaXMgKG5vbi1jb21wbGV4KVxuICAvLyBjb2xsZWN0aW9uIHR5cGUsIGFuZCB3aGV0aGVyIHRoYXQgcmVzb2x1dGlvbiBjb2xsYXBzZWQgYSBkZWVwZXIsIHVuc3VwcG9ydGVkIG5lc3RpbmdcbiAgLy8gaW50byB0aGUgbmVhcmVzdCB0eXBlZCBcIkFueVwiLXdyYXBwZXIuIHVuZGVmaW5lZCBvbmx5IGRlZmVuc2l2ZWx5IC0gc2VlXG4gIC8vIHJlc29sdmVTdG9yZWRDbGFzc05hbWUgaW4gc3VwcG9ydGVkLXN0b3JlZC1jbGFzc2VzLnRzLlxuICByZWFkb25seSByZXNvbHZlZFN0b3JlZENsYXNzOlxuICAgIHsgbmFtZTogc3RyaW5nOyBjb2xsYXBzZWQ6IGJvb2xlYW4gfSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGNsYXNzIExpc3RBdHRyaWJ1dGVUeXBlTW9kZWwgaW1wbGVtZW50cyBDb2xsZWN0aW9uQXR0cmlidXRlVHlwZU1vZGVsIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGVsZW1lbnRUeXBlOiBBdHRyaWJ1dGVUeXBlTW9kZWwsXG4gICAgcHVibGljIHJlYWRvbmx5IGlzU2luZ2xlSXRlbTogYm9vbGVhbixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQmxvY2s6IGJvb2xlYW4sXG4gICkge1xuICAgIGlmICh0aGlzLnN0cnVjdCkge1xuICAgICAgdGhpcy5zdHJ1Y3QuaXNTaW5nbGVJdGVtID0gdGhpcy5pc1NpbmdsZUl0ZW0gfHwgZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHR5cGVNb2RlbFR5cGUoKSB7XG4gICAgcmV0dXJuIFwibGlzdFwiO1xuICB9XG5cbiAgZ2V0IHN0cnVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS5zdHJ1Y3Q7XG4gIH1cblxuICBnZXQgaXNDb21wbGV4KCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLmlzQ29tcGxleDtcbiAgfVxuXG4gIGdldFN0b3JlZENsYXNzSW5pdGlhbGl6ZXIobmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuaXNTaW5nbGVJdGVtKSB7XG4gICAgICByZXR1cm4gYG5ldyAke3RoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlfU91dHB1dFJlZmVyZW5jZSh0aGlzLCBcIiR7bmFtZX1cIilgO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pc0NvbXBsZXgpIHtcbiAgICAgICAgcmV0dXJuIGBuZXcgJHt0aGlzLnN0b3JlZENsYXNzVHlwZX0odGhpcywgXCIke25hbWV9XCIsIGZhbHNlKWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYG5ldyBjZGt0bi4ke3RoaXMucmVzb2x2ZWRTdG9yZWRDbGFzcyEubmFtZX0odGhpcywgXCIke25hbWV9XCIsIGZhbHNlKWA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0b3JlZENsYXNzVHlwZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGV9TGlzdGA7XG4gIH1cblxuICBnZXQgcmVzb2x2ZWRTdG9yZWRDbGFzcygpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVN0b3JlZENsYXNzTmFtZShcbiAgICAgIHRoaXMuc3RvcmVkQ2xhc3NUeXBlLFxuICAgICAgdGhpcy5lbGVtZW50VHlwZS50eXBlTW9kZWxUeXBlLFxuICAgICk7XG4gIH1cblxuICBnZXQgaW5wdXRUeXBlRGVmaW5pdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc1NpbmdsZUl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLmlucHV0VHlwZURlZmluaXRpb247XG4gICAgfSBlbHNlIGlmICh0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHJldHVybiBcIkFycmF5PGJvb2xlYW4gfCBjZGt0bi5JUmVzb2x2YWJsZT4gfCBjZGt0bi5JUmVzb2x2YWJsZVwiO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbXBsZXgpIHtcbiAgICAgIHJldHVybiBgJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX1bXSB8IGNka3RuLklSZXNvbHZhYmxlYDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbWVudFR5cGUudHlwZU1vZGVsVHlwZSAhPT0gXCJzaW1wbGVcIikge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZWxlbWVudFR5cGUuaW5wdXRUeXBlRGVmaW5pdGlvbn1bXSB8IGNka3RuLklSZXNvbHZhYmxlYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZWxlbWVudFR5cGUuaW5wdXRUeXBlRGVmaW5pdGlvbn1bXWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0QXR0cmlidXRlQWNjZXNzRnVuY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgc3dpdGNoICh0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZSkge1xuICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICByZXR1cm4gYHRoaXMuZ2V0TGlzdEF0dHJpYnV0ZSgnJHtuYW1lfScpYDtcbiAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgcmV0dXJuIGB0aGlzLmdldE51bWJlckxpc3RBdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gIH1cblxuICBnZXQgdG9UZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc1NpbmdsZUl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLnRvVGVycmFmb3JtRnVuY3Rpb247XG4gICAgfVxuICAgIHJldHVybiBgY2RrdG4ubGlzdE1hcHBlcigke3RoaXMuZWxlbWVudFR5cGUudG9UZXJyYWZvcm1GdW5jdGlvbn0sICR7dGhpcy5pc0Jsb2NrfSlgO1xuICB9XG5cbiAgZ2V0IHRvSGNsVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTaW5nbGVJdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS50b0hjbFRlcnJhZm9ybUZ1bmN0aW9uO1xuICAgIH1cblxuICAgIHJldHVybiBgY2RrdG4ubGlzdE1hcHBlckhjbCgke3RoaXMuZWxlbWVudFR5cGUudG9IY2xUZXJyYWZvcm1GdW5jdGlvbn0sICR7dGhpcy5pc0Jsb2NrfSlgO1xuICB9XG5cbiAgZ2V0IGhhc1JlZmVyZW5jZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmlzU2luZ2xlSXRlbSB8fCB0aGlzLmlzQ29tcGxleDtcbiAgfVxuXG4gIGdldCBpc1Rva2VuaXphYmxlKCkge1xuICAgIHN3aXRjaCAodGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGUpIHtcbiAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbXBsZXggKHN0cnVjdCkgZWxlbWVudHMgZ2VuZXJhdGUgdGhlaXIgb3duIGNsYXNzIGluIHRoZSBwcm92aWRlciBvdXRwdXQsIHNvIHRoZXlcbiAgLy8gYXJlIGFsd2F5cyBmaW5lLiBPdGhlcndpc2UgYSBzdG9yZWQgY2xhc3MgaXMgb25seSBlbWl0dGVkIGlmIHJlc29sdmVkU3RvcmVkQ2xhc3NcbiAgLy8gZmluZHMgb25lIC0gc2VlIGdldFN0b3JlZENsYXNzSW5pdGlhbGl6ZXIgYWJvdmUuIE5vdGU6IGhhc1JlZmVyZW5jZUNsYXNzICh3aGljaFxuICAvLyB0cmlnZ2VycyBhIHN0b3JlZF9jbGFzcyBnZXR0ZXIpIGlzIG9ubHkgZXZlciB0cnVlIGhlcmUgd2hlbiBpc1NpbmdsZUl0ZW0gb3IgaXNDb21wbGV4XG4gIC8vIGlzIHRydWUsIGFuZCBpc1NpbmdsZUl0ZW0gaXMgb25seSBzZXQgZm9yIHN0cnVjdC9ibG9jayBuZXN0aW5nICh3aGljaCBpcyBhbHNvXG4gIC8vIGlzQ29tcGxleCksIHNvIHRoaXMgY2hlY2sgb25seSBuZWVkcyB0byBndWFyZCB0aGUgbm9uLWNvbXBsZXgsIG5vbi1zaW5nbGUtaXRlbSBjYXNlLlxuICAvL1xuICAvLyBzdG9yZWRDbGFzc1R5cGUgaXMgaXRzZWxmIGJ1aWx0IHVwIHJlY3Vyc2l2ZWx5IChlbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGUgaXNcbiAgLy8gY29tcG9zZWQgdGhlIHNhbWUgd2F5IGZvciBuZXN0ZWQgY29sbGVjdGlvbnMpLCBzbyBpdCBhbHJlYWR5IGZ1bGx5IGVuY29kZXMgdGhlXG4gIC8vIGVudGlyZSBuZXN0ZWQgY2hhaW4gaW4gb25lIHN0cmluZyAoZS5nLiBtYXAobWFwKGxpc3Qoc3RyaW5nKSkpIGNvbXBvc2VzIGFsbCB0aGUgd2F5XG4gIC8vIHVwIHRvIFwic3RyaW5nTGlzdE1hcE1hcFwiKS4gcmVzb2x2ZWRTdG9yZWRDbGFzcyBmaXJzdCBjaGVja3MgdGhpcyB0eXBlJ3Mgb3duIGNvbXBvc2VkXG4gIC8vIG5hbWUgKGUuZy4gXCJTdHJpbmdMaXN0TWFwTWFwXCIpIGFnYWluc3QgdGhlIGZpeGVkIHNldCBvZiBoYW5kLXdyaXR0ZW4gY29yZSBjbGFzc2VzOyBpZlxuICAvLyB0aGF0IG5hbWUgZG9lc24ndCBleGlzdCwgaXQgZmFsbHMgYmFjayB0byB0aGUgbmVhcmVzdCB0eXBlZCBcIkFueVwiLXdyYXBwZXIgdGhhdCBzdGlsbFxuICAvLyBlbmNvZGVzIHRoaXMgdHlwZSdzIG93biBsYXllciBhbmQgaXRzIGVsZW1lbnQncyBsYXllciAoZS5nLiBcIkFueU1hcE1hcFwiKSwgY29sbGFwc2luZ1xuICAvLyBvbmx5IHRoZSB1bnN1cHBvcnRlZCBpbm5lciBzaGFwZSB3aGlsZSBwcmVzZXJ2aW5nIHR5cGVkIG5hdmlnYXRpb24gZm9yIHRoZSBvdXRlclxuICAvLyBsYXllcnM7IG9ubHkgaWYgbmVpdGhlciBleGlzdHMgZG9lcyBpdCBmYWxsIHRocm91Z2ggdG8gdGhlIHBsYWluLCB1bnR5cGVkIGdldHRlciAoc2VlXG4gIC8vIEF0dHJpYnV0ZU1vZGVsLmdldHRlclR5cGUpLiBJdCBtdXN0IE5PVCBhbHNvIE9SIGluXG4gIC8vIGVsZW1lbnRUeXBlLmlzU3RvcmVkQ2xhc3NVbmF2YWlsYWJsZSwgc2luY2UgYW4gaW5uZXIgZWxlbWVudCdzIHVuLWNvbXBvc2VkIG5hbWUgKGUuZy5cbiAgLy8gXCJTdHJpbmdMaXN0XCIgZm9yIGEgcGxhaW4gbGlzdChzdHJpbmcpIG5lc3RlZCBpbnNpZGUgYSBtYXApIGlzIG5ldmVyIHNlcGFyYXRlbHlcbiAgLy8gaW5zdGFudGlhdGVkIGFuZCBpcyBpcnJlbGV2YW50IG9uIGl0cyBvd247IE9SaW5nIGl0IGluIHdvdWxkIHByb2R1Y2UgZmFsc2UgcG9zaXRpdmVzXG4gIC8vIHRoYXQgcmVncmVzcyBzdXBwb3J0ZWQgbmVzdGluZ3Mgc3VjaCBhcyBtYXAobGlzdChzdHJpbmcpKSA9PiBjZGt0bi5TdHJpbmdMaXN0TWFwLlxuICBnZXQgaXNTdG9yZWRDbGFzc1VuYXZhaWxhYmxlKCkge1xuICAgIGlmICh0aGlzLmlzQ29tcGxleCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFN0b3JlZENsYXNzID09PSB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNldEF0dHJpYnV0ZVR5cGVNb2RlbCBpbXBsZW1lbnRzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFR5cGU6IEF0dHJpYnV0ZVR5cGVNb2RlbCxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNTaW5nbGVJdGVtOiBib29sZWFuLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNCbG9jazogYm9vbGVhbixcbiAgKSB7XG4gICAgaWYgKHRoaXMuc3RydWN0KSB7XG4gICAgICB0aGlzLnN0cnVjdC5pc1NpbmdsZUl0ZW0gPSB0aGlzLmlzU2luZ2xlSXRlbSB8fCBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBnZXQgdHlwZU1vZGVsVHlwZSgpIHtcbiAgICByZXR1cm4gXCJzZXRcIjtcbiAgfVxuXG4gIGdldCBzdHJ1Y3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUuc3RydWN0O1xuICB9XG5cbiAgZ2V0IGlzQ29tcGxleCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS5pc0NvbXBsZXg7XG4gIH1cblxuICBnZXRTdG9yZWRDbGFzc0luaXRpYWxpemVyKG5hbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlzU2luZ2xlSXRlbSkge1xuICAgICAgcmV0dXJuIGBuZXcgJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX1PdXRwdXRSZWZlcmVuY2UodGhpcywgXCIke25hbWV9XCIpYDtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaXNDb21wbGV4KSB7XG4gICAgICAgIHJldHVybiBgbmV3ICR7dGhpcy5zdG9yZWRDbGFzc1R5cGV9KHRoaXMsIFwiJHtuYW1lfVwiLCB0cnVlKWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gYG5ldyBjZGt0bi4ke3RoaXMucmVzb2x2ZWRTdG9yZWRDbGFzcyEubmFtZX0odGhpcywgXCIke25hbWV9XCIsIHRydWUpYDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgc3RvcmVkQ2xhc3NUeXBlKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX1MaXN0YDtcbiAgfVxuXG4gIGdldCByZXNvbHZlZFN0b3JlZENsYXNzKCkge1xuICAgIHJldHVybiByZXNvbHZlU3RvcmVkQ2xhc3NOYW1lKFxuICAgICAgdGhpcy5zdG9yZWRDbGFzc1R5cGUsXG4gICAgICB0aGlzLmVsZW1lbnRUeXBlLnR5cGVNb2RlbFR5cGUsXG4gICAgKTtcbiAgfVxuXG4gIGdldCBpbnB1dFR5cGVEZWZpbml0aW9uKCkge1xuICAgIGlmICh0aGlzLmlzU2luZ2xlSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUuaW5wdXRUeXBlRGVmaW5pdGlvbjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIFwiQXJyYXk8Ym9vbGVhbiB8IGNka3RuLklSZXNvbHZhYmxlPiB8IGNka3RuLklSZXNvbHZhYmxlXCI7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQ29tcGxleCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlfVtdIHwgY2RrdG4uSVJlc29sdmFibGVgO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbGVtZW50VHlwZS50eXBlTW9kZWxUeXBlICE9PSBcInNpbXBsZVwiKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5lbGVtZW50VHlwZS5pbnB1dFR5cGVEZWZpbml0aW9ufVtdIHwgY2RrdG4uSVJlc29sdmFibGVgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5lbGVtZW50VHlwZS5pbnB1dFR5cGVEZWZpbml0aW9ufVtdYDtcbiAgICB9XG4gIH1cblxuICBnZXRBdHRyaWJ1dGVBY2Nlc3NGdW5jdGlvbihuYW1lOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHRoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlKSB7XG4gICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgIHJldHVybiBgY2RrdG4uRm4udG9saXN0KHRoaXMuZ2V0TGlzdEF0dHJpYnV0ZSgnJHtuYW1lfScpKWA7XG4gICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgIHJldHVybiBgY2RrdG4uVG9rZW4uYXNOdW1iZXJMaXN0KGNka3RuLkZuLnRvbGlzdCh0aGlzLmdldE51bWJlckxpc3RBdHRyaWJ1dGUoJyR7bmFtZX0nKSkpYDtcbiAgICB9XG5cbiAgICAvLyBUb2tlbi5hc0FueSBpcyByZXF1aXJlZCBiZWNhdXNlIHRvbGlzdCByZXR1cm5zIGFuIEFycmF5IGVuY29kZWQgdG9rZW4gd2hpY2ggdGhlIGxpc3RNYXBwZXJcbiAgICAvLyB3b3VsZCB0cnkgdG8gbWFwIG92ZXIgd2hlbiB0aGlzIGlzIHBhc3NlZCB0byBhbm90aGVyIHJlc291cmNlLiBXaXRoIFRva2VuLmFzQW55KCkgaXQgaXMgbGVmdFxuICAgIC8vIGFzIGlzIGJ5IHRoZSBsaXN0TWFwcGVyIGFuZCBpcyBsYXRlciBwcm9wZXJseSByZXNvbHZlZCB0byBhIHJlZmVyZW5jZVxuICAgIC8vICh0aGlzIG9ubHkgd29ya3MgaW4gVHlwZVNjcmlwdCBjdXJyZW50bHksIHNhbWUgYXMgZm9yIHJlZmVyZW5jaW5nIGxpc3RzXG4gICAgLy8gW3NlZSBcImludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUoLi4uKVwiIGZ1cnRoZXIgYmVsb3ddKVxuICAgIHJldHVybiBgY2RrdG4uVG9rZW4uYXNBbnkoY2RrdG4uRm4udG9saXN0KHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSgnJHtuYW1lfScpKSlgO1xuICB9XG5cbiAgZ2V0IHRvVGVycmFmb3JtRnVuY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTaW5nbGVJdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS50b1RlcnJhZm9ybUZ1bmN0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYGNka3RuLmxpc3RNYXBwZXIoJHt0aGlzLmVsZW1lbnRUeXBlLnRvVGVycmFmb3JtRnVuY3Rpb259LCAke3RoaXMuaXNCbG9ja30pYDtcbiAgICB9XG4gIH1cblxuICBnZXQgdG9IY2xUZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc1NpbmdsZUl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRUeXBlLnRvSGNsVGVycmFmb3JtRnVuY3Rpb247XG4gICAgfVxuICAgIHJldHVybiBgY2RrdG4ubGlzdE1hcHBlckhjbCgke3RoaXMuZWxlbWVudFR5cGUudG9IY2xUZXJyYWZvcm1GdW5jdGlvbn0sICR7dGhpcy5pc0Jsb2NrfSlgO1xuICB9XG5cbiAgZ2V0IGhhc1JlZmVyZW5jZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmlzU2luZ2xlSXRlbSB8fCB0aGlzLmlzQ29tcGxleDtcbiAgfVxuXG4gIGdldCBpc1Rva2VuaXphYmxlKCkge1xuICAgIHN3aXRjaCAodGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGUpIHtcbiAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNlZSBjb21tZW50IG9uIExpc3RBdHRyaWJ1dGVUeXBlTW9kZWwuaXNTdG9yZWRDbGFzc1VuYXZhaWxhYmxlIGFib3ZlIC0gc2FtZVxuICAvLyByZWFzb25pbmcgYXBwbGllcyBoZXJlLlxuICBnZXQgaXNTdG9yZWRDbGFzc1VuYXZhaWxhYmxlKCkge1xuICAgIGlmICh0aGlzLmlzQ29tcGxleCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlZFN0b3JlZENsYXNzID09PSB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1hcEF0dHJpYnV0ZVR5cGVNb2RlbCBpbXBsZW1lbnRzIENvbGxlY3Rpb25BdHRyaWJ1dGVUeXBlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZWxlbWVudFR5cGU6IEF0dHJpYnV0ZVR5cGVNb2RlbCkge31cblxuICBnZXQgdHlwZU1vZGVsVHlwZSgpIHtcbiAgICByZXR1cm4gXCJtYXBcIjtcbiAgfVxuXG4gIGdldCBzdHJ1Y3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFR5cGUuc3RydWN0O1xuICB9XG5cbiAgZ2V0IGlzQ29tcGxleCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50VHlwZS5pc0NvbXBsZXg7XG4gIH1cblxuICBnZXRTdG9yZWRDbGFzc0luaXRpYWxpemVyKG5hbWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmlzQ29tcGxleCkge1xuICAgICAgcmV0dXJuIGBuZXcgJHt0aGlzLnN0b3JlZENsYXNzVHlwZX0odGhpcywgXCIke25hbWV9XCIpYDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGBuZXcgY2RrdG4uJHt0aGlzLnJlc29sdmVkU3RvcmVkQ2xhc3MhLm5hbWV9KHRoaXMsIFwiJHtuYW1lfVwiKWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0b3JlZENsYXNzVHlwZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5lbGVtZW50VHlwZS5zdG9yZWRDbGFzc1R5cGV9TWFwYDtcbiAgfVxuXG4gIGdldCByZXNvbHZlZFN0b3JlZENsYXNzKCkge1xuICAgIHJldHVybiByZXNvbHZlU3RvcmVkQ2xhc3NOYW1lKFxuICAgICAgdGhpcy5zdG9yZWRDbGFzc1R5cGUsXG4gICAgICB0aGlzLmVsZW1lbnRUeXBlLnR5cGVNb2RlbFR5cGUsXG4gICAgKTtcbiAgfVxuXG4gIGdldCBpbnB1dFR5cGVEZWZpbml0aW9uKCkge1xuICAgIC8vIG1hcCBvZiBib29sZWFucyBoYXMgdG9rZW4gc3VwcG9ydCwgYnV0IGJvb2xlYW5zIGRvbid0XG4gICAgaWYgKHRoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgcmV0dXJuIGB7IFtrZXk6IHN0cmluZ106ICgke3RoaXMuZWxlbWVudFR5cGUuc3RvcmVkQ2xhc3NUeXBlfSB8IGNka3RuLklSZXNvbHZhYmxlKSB9YDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb21wbGV4KSB7XG4gICAgICByZXR1cm4gYHsgW2tleTogc3RyaW5nXTogJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX0gfSB8IGNka3RuLklSZXNvbHZhYmxlYDtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbWVudFR5cGUudHlwZU1vZGVsVHlwZSAhPT0gXCJzaW1wbGVcIikge1xuICAgICAgcmV0dXJuIGB7IFtrZXk6IHN0cmluZ106ICR7dGhpcy5lbGVtZW50VHlwZS5pbnB1dFR5cGVEZWZpbml0aW9ufSB9IHwgY2RrdG4uSVJlc29sdmFibGVgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYHsgW2tleTogc3RyaW5nXTogJHt0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZX0gfWA7XG4gICAgfVxuICB9XG5cbiAgZ2V0QXR0cmlidXRlQWNjZXNzRnVuY3Rpb24obmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmlzQ29tcGxleCAmJiB0aGlzLmVsZW1lbnRUeXBlLnR5cGVNb2RlbFR5cGUgIT09IFwic2ltcGxlXCIpIHtcbiAgICAgIHJldHVybiBgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKCcke25hbWV9JylgO1xuICAgIH1cblxuICAgIHJldHVybiBgdGhpcy5nZXQke3VwcGVyY2FzZUZpcnN0KFxuICAgICAgdGhpcy5zdG9yZWRDbGFzc1R5cGUsXG4gICAgKX1BdHRyaWJ1dGUoJyR7bmFtZX0nKWA7XG4gIH1cblxuICBnZXQgdG9UZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYGNka3RuLmhhc2hNYXBwZXIoJHt0aGlzLmVsZW1lbnRUeXBlLnRvVGVycmFmb3JtRnVuY3Rpb259KWA7XG4gIH1cblxuICBnZXQgdG9IY2xUZXJyYWZvcm1GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYGNka3RuLmhhc2hNYXBwZXJIY2woJHt0aGlzLmVsZW1lbnRUeXBlLnRvSGNsVGVycmFmb3JtRnVuY3Rpb259KWA7XG4gIH1cblxuICBnZXQgaGFzUmVmZXJlbmNlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuaXNDb21wbGV4O1xuICB9XG5cbiAgZ2V0IGlzVG9rZW5pemFibGUoKSB7XG4gICAgc3dpdGNoICh0aGlzLmVsZW1lbnRUeXBlLnN0b3JlZENsYXNzVHlwZSkge1xuICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGNhc2UgXCJhbnlcIjpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gU2VlIGNvbW1lbnQgb24gTGlzdEF0dHJpYnV0ZVR5cGVNb2RlbC5pc1N0b3JlZENsYXNzVW5hdmFpbGFibGUgYWJvdmUgLSBzYW1lXG4gIC8vIHJlYXNvbmluZyBhcHBsaWVzIGhlcmUgKE1hcEF0dHJpYnV0ZVR5cGVNb2RlbC5oYXNSZWZlcmVuY2VDbGFzcyBpcyBqdXN0IGlzQ29tcGxleCkuXG4gIGdldCBpc1N0b3JlZENsYXNzVW5hdmFpbGFibGUoKSB7XG4gICAgaWYgKHRoaXMuaXNDb21wbGV4KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlc29sdmVkU3RvcmVkQ2xhc3MgPT09IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdktn/provider-generator",
3
- "version": "0.25.0-pre.12",
3
+ "version": "0.25.0-pre.14",
4
4
  "description": "Exposes API to generate Terraform CDK provider bindings",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -35,9 +35,9 @@
35
35
  "glob": "13.0.6",
36
36
  "jsii": "~6.0.0",
37
37
  "jsii-pacmak": "1.140.0",
38
- "@cdktn/commons": "0.25.0-pre.12",
39
- "@cdktn/provider-schema": "0.25.0-pre.12",
40
- "cdktn": "0.25.0-pre.12"
38
+ "@cdktn/commons": "0.25.0-pre.14",
39
+ "@cdktn/provider-schema": "0.25.0-pre.14",
40
+ "cdktn": "0.25.0-pre.14"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@types/fs-extra": "11.0.4",
@@ -215,8 +215,7 @@ export interface CollectionAttributeTypeModel extends AttributeTypeModel {
215
215
  // into the nearest typed "Any"-wrapper. undefined only defensively - see
216
216
  // resolveStoredClassName in supported-stored-classes.ts.
217
217
  readonly resolvedStoredClass:
218
- | { name: string; collapsed: boolean }
219
- | undefined;
218
+ { name: string; collapsed: boolean } | undefined;
220
219
  }
221
220
 
222
221
  export class ListAttributeTypeModel implements CollectionAttributeTypeModel {