@cqa-lib/cqa-ui 1.1.535 → 1.1.536

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.
@@ -2,6 +2,12 @@ import { Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  export class FailedStepCardComponent {
5
+ constructor() {
6
+ this.syntaxErrorLeadMessage = 'No steps were executed due to a syntax error in the test case. Please review and fix the syntax issue before re-running.';
7
+ }
8
+ get isSyntaxErrorFailure() {
9
+ return this.failedStepData?.failure_type === 'SYNTAX_ERROR';
10
+ }
5
11
  get headerTitle() {
6
12
  if (this.failedStepData?.stepTitle) {
7
13
  return `Failed at Step ${this.failedStepData.failed_step_index}: ${this.failedStepData.stepTitle}`;
@@ -36,11 +42,11 @@ export class FailedStepCardComponent {
36
42
  }
37
43
  }
38
44
  FailedStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
45
+ FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <p *ngIf=\"isSyntaxErrorFailure\"\n class=\"cqa-text-sm cqa-font-semibold cqa-leading-relaxed cqa-text-[#B91C1C] cqa-mb-1\">\n {{ syntaxErrorLeadMessage }}\n </p>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
40
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, decorators: [{
41
47
  type: Component,
42
- args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
48
+ args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <p *ngIf=\"isSyntaxErrorFailure\"\n class=\"cqa-text-sm cqa-font-semibold cqa-leading-relaxed cqa-text-[#B91C1C] cqa-mb-1\">\n {{ syntaxErrorLeadMessage }}\n </p>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
43
49
  }], propDecorators: { failedStepData: [{
44
50
  type: Input
45
51
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7OztBQXVCdkUsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxJQUFJLFdBQVc7UUFDYixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwRztRQUNELE9BQU8sa0JBQWtCLElBQUksQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLElBQUksRUFBRSxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLElBQUksbUJBQW1CLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxJQUFJLE9BQU8sQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDOztvSEF6Q1UsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMEdDdkJwQyxxM0VBd0NBOzJGRGpCYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0Usc0JBQXNCOzhCQUt2QixjQUFjO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGYWlsZWRTdGVwRGF0YSB7XG4gIGV4cGVjdGVkX3Jlc3VsdDogc3RyaW5nO1xuICBhY3R1YWxfcmVzdWx0OiBzdHJpbmc7XG4gIGZhaWxlZF9zdGVwX2lkOiBzdHJpbmc7XG4gIGlzVGltZW91dGVycm9yOiBib29sZWFuO1xuICBmYWlsZWRfc3RlcF9pbmRleDogc3RyaW5nO1xuICBzdGVwczogYW55W107XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICBkdXJhdGlvbjogc3RyaW5nO1xuICBzdGVwU2NyZWVuc2hvdFVybDogc3RyaW5nIHwgbnVsbDtcbiAgc3VnZ2VzdGlvbnM6IHN0cmluZztcbiAgcmVhc29uOiBzdHJpbmc7XG4gIHN0ZXBUaXRsZT86IHN0cmluZztcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZmFpbGVkLXN0ZXAtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWlsZWQtc3RlcC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBGYWlsZWRTdGVwQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZhaWxlZFN0ZXBEYXRhITogRmFpbGVkU3RlcERhdGE7XG5cbiAgZ2V0IGhlYWRlclRpdGxlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZmFpbGVkU3RlcERhdGE/LnN0ZXBUaXRsZSkge1xuICAgICAgcmV0dXJuIGBGYWlsZWQgYXQgU3RlcCAke3RoaXMuZmFpbGVkU3RlcERhdGEuZmFpbGVkX3N0ZXBfaW5kZXh9OiAke3RoaXMuZmFpbGVkU3RlcERhdGEuc3RlcFRpdGxlfWA7XG4gICAgfVxuICAgIHJldHVybiBgRmFpbGVkIGF0IFN0ZXAgJHt0aGlzLmZhaWxlZFN0ZXBEYXRhPy5mYWlsZWRfc3RlcF9pbmRleCB8fCAnJ31gO1xuICB9XG5cbiAgZ2V0IGVycm9yVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5lcnJvck1lc3NhZ2UgfHwgdGhpcy5mYWlsZWRTdGVwRGF0YT8ucmVhc29uIHx8ICdBbiBlcnJvciBvY2N1cnJlZCc7XG4gIH1cblxuICBnZXQgdmlkZW9UaW1lc3RhbXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8udGltZXN0YW1wIHx8ICcwMDowMCc7XG4gIH1cblxuICBnZXQgZHVyYXRpb25UZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LmR1cmF0aW9uIHx8ICcwcyc7XG4gIH1cblxuICBnZXQgZXhwZWN0ZWRSZXN1bHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uZXhwZWN0ZWRfcmVzdWx0IHx8ICcnO1xuICB9XG5cbiAgZ2V0IGFjdHVhbFJlc3VsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5hY3R1YWxfcmVzdWx0IHx8ICcnO1xuICB9XG5cbiAgZ2V0IHN1Z2dlc3Rpb25zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LnN1Z2dlc3Rpb25zIHx8ICcnO1xuICB9XG5cbiAgZ2V0IGhhc1N1Z2dlc3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZmFpbGVkU3RlcERhdGE/LnN1Z2dlc3Rpb25zICYmIHRoaXMuZmFpbGVkU3RlcERhdGEuc3VnZ2VzdGlvbnMudHJpbSgpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRTdWdnZXN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCF0aGlzLnN1Z2dlc3Rpb25zKSByZXR1cm4gW107XG4gICAgcmV0dXJuIHRoaXMuc3VnZ2VzdGlvbnMuc3BsaXQoJ1xcbicpLmZpbHRlcihzID0+IHMudHJpbSgpLmxlbmd0aCA+IDApO1xuICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1heC1oZWlnaHQ6IDIwMHB4O1wiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtb3ZlcmZsb3cteS1hdXRvIGNxYS1iZy1bI0ZFRjJGMl0gY3FhLXAtWzE3cHhdIGNxYS1yb3VuZGVkLWxnIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtM1wiIFxuICAgIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgI0ZFQ0FDQTsgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1wiPlxuICAgIDxkaXY+XG4gICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtbGVhZGluZy1bMThweF0gY3FhLXRleHQtWyMxMTE4MjddIGNxYS1tYi0xXCI+e3sgaGVhZGVyVGl0bGUgfX08L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LXdyYXAgY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTMgY3FhLXRleHQteHNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLXRleHQtWyNCOTFDMUNdXCI+PHNwYW4gY2xhc3M9XCJjcWEtZm9udC1ib2xkXCI+RXJyb3I6PC9zcGFuPiB7eyBlcnJvclRleHQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPlZpZGVvIHRpbWVzdGFtcDoge3sgdmlkZW9UaW1lc3RhbXAgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPkR1cmF0aW9uOiB7eyBkdXJhdGlvblRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNTdWdnZXN0aW9uc1wiIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS10ZXh0LVsjQjkxQzFDXSBjcWEtbXQtMVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1mb250LWJvbGRcIj5TdWdnZXN0aW9uczo8L3NwYW4+IHt7IHN1Z2dlc3Rpb25zIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbWF4LWgtWzEyMHB4XSBjcWEtaC1hdXRvIGNxYS1ncmlkIGNxYS1ncmlkLWNvbHMtMiBjcWEtZ2FwLTAgY3FhLXJvdW5kZWQtWzRweF1cIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNFNUU3RUJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctd2hpdGUgY3FhLXB4LTIgY3FhLXB5LTEgbWQ6Y3FhLWJvcmRlci1yIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0U1RTdFQlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdXBwZXJjYXNlIGNxYS10cmFja2luZy13aWRlXCI+RVhQRUNURUQ8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bIzBCMEIwQl0gY3FhLWxlYWRpbmctcmVsYXhlZCBjcWEtaC1hdXRvIGNxYS1tYXgtaC1bOTNweF0gY3FhLW92ZXJmbG93LXktYXV0byBjcWEtZm9udC1tZWRpdW1cIlxuICAgICAgICAgICAgc3R5bGU9XCJzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7IHNjcm9sbGJhci13aWR0aDogdGhpbjtcIj5cbiAgICAgICAgICAgIHt7IGV4cGVjdGVkUmVzdWx0IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctWyNGRkY5RjldIGNxYS1weC0yIGNxYS1weS0xIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdXBwZXJjYXNlIGNxYS10cmFja2luZy13aWRlXCI+QUNUVUFMPC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLXRleHQtWyNDMTAwMDddIGNxYS1sZWFkaW5nLXJlbGF4ZWQgY3FhLWgtYXV0byBjcWEtbWF4LWgtWzg1cHhdIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLWZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7eyBhY3R1YWxSZXN1bHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBeUJqRCxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBUVcsMkJBQXNCLEdBQzdCLDBIQUEwSCxDQUFDO0tBNkM5SDtJQTNDQyxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxLQUFLLGNBQWMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRTtZQUNsQyxPQUFPLGtCQUFrQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEc7UUFDRCxPQUFPLGtCQUFrQixJQUFJLENBQUMsY0FBYyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxJQUFJLG1CQUFtQixDQUFDO0lBQ2pHLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsSUFBSSxPQUFPLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLGVBQWUsSUFBSSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxhQUFhLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7b0hBaERVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDBHQ3pCcEMsa2pGQTRDQTsyRkRuQmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGYWlsZWRTdGVwRGF0YSB7XG4gIGV4cGVjdGVkX3Jlc3VsdDogc3RyaW5nO1xuICBhY3R1YWxfcmVzdWx0OiBzdHJpbmc7XG4gIGZhaWxlZF9zdGVwX2lkOiBzdHJpbmc7XG4gIGlzVGltZW91dGVycm9yOiBib29sZWFuO1xuICBmYWlsZWRfc3RlcF9pbmRleDogc3RyaW5nO1xuICBzdGVwczogYW55W107XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICBkdXJhdGlvbjogc3RyaW5nO1xuICBzdGVwU2NyZWVuc2hvdFVybDogc3RyaW5nIHwgbnVsbDtcbiAgc3VnZ2VzdGlvbnM6IHN0cmluZztcbiAgcmVhc29uOiBzdHJpbmc7XG4gIHN0ZXBUaXRsZT86IHN0cmluZztcbiAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAvKiogRnJvbSBydW4gcmVzdWx0IGBleGVjdXRlZFJlc3VsdC5mYWlsdXJlX3R5cGVgIChlLmcuIGBTWU5UQVhfRVJST1JgKS4gKi9cbiAgZmFpbHVyZV90eXBlPzogc3RyaW5nO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZmFpbGVkLXN0ZXAtY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mYWlsZWQtc3RlcC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBGYWlsZWRTdGVwQ2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZhaWxlZFN0ZXBEYXRhITogRmFpbGVkU3RlcERhdGE7XG5cbiAgcmVhZG9ubHkgc3ludGF4RXJyb3JMZWFkTWVzc2FnZSA9XG4gICAgJ05vIHN0ZXBzIHdlcmUgZXhlY3V0ZWQgZHVlIHRvIGEgc3ludGF4IGVycm9yIGluIHRoZSB0ZXN0IGNhc2UuIFBsZWFzZSByZXZpZXcgYW5kIGZpeCB0aGUgc3ludGF4IGlzc3VlIGJlZm9yZSByZS1ydW5uaW5nLic7XG5cbiAgZ2V0IGlzU3ludGF4RXJyb3JGYWlsdXJlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5mYWlsdXJlX3R5cGUgPT09ICdTWU5UQVhfRVJST1InO1xuICB9XG5cbiAgZ2V0IGhlYWRlclRpdGxlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZmFpbGVkU3RlcERhdGE/LnN0ZXBUaXRsZSkge1xuICAgICAgcmV0dXJuIGBGYWlsZWQgYXQgU3RlcCAke3RoaXMuZmFpbGVkU3RlcERhdGEuZmFpbGVkX3N0ZXBfaW5kZXh9OiAke3RoaXMuZmFpbGVkU3RlcERhdGEuc3RlcFRpdGxlfWA7XG4gICAgfVxuICAgIHJldHVybiBgRmFpbGVkIGF0IFN0ZXAgJHt0aGlzLmZhaWxlZFN0ZXBEYXRhPy5mYWlsZWRfc3RlcF9pbmRleCB8fCAnJ31gO1xuICB9XG5cbiAgZ2V0IGVycm9yVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5lcnJvck1lc3NhZ2UgfHwgdGhpcy5mYWlsZWRTdGVwRGF0YT8ucmVhc29uIHx8ICdBbiBlcnJvciBvY2N1cnJlZCc7XG4gIH1cblxuICBnZXQgdmlkZW9UaW1lc3RhbXAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8udGltZXN0YW1wIHx8ICcwMDowMCc7XG4gIH1cblxuICBnZXQgZHVyYXRpb25UZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LmR1cmF0aW9uIHx8ICcwcyc7XG4gIH1cblxuICBnZXQgZXhwZWN0ZWRSZXN1bHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uZXhwZWN0ZWRfcmVzdWx0IHx8ICcnO1xuICB9XG5cbiAgZ2V0IGFjdHVhbFJlc3VsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5hY3R1YWxfcmVzdWx0IHx8ICcnO1xuICB9XG5cbiAgZ2V0IHN1Z2dlc3Rpb25zKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LnN1Z2dlc3Rpb25zIHx8ICcnO1xuICB9XG5cbiAgZ2V0IGhhc1N1Z2dlc3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZmFpbGVkU3RlcERhdGE/LnN1Z2dlc3Rpb25zICYmIHRoaXMuZmFpbGVkU3RlcERhdGEuc3VnZ2VzdGlvbnMudHJpbSgpLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXRGb3JtYXR0ZWRTdWdnZXN0aW9ucygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCF0aGlzLnN1Z2dlc3Rpb25zKSByZXR1cm4gW107XG4gICAgcmV0dXJuIHRoaXMuc3VnZ2VzdGlvbnMuc3BsaXQoJ1xcbicpLmZpbHRlcihzID0+IHMudHJpbSgpLmxlbmd0aCA+IDApO1xuICB9XG59XG5cbiIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1heC1oZWlnaHQ6IDIwMHB4O1wiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWgtZnVsbCBjcWEtb3ZlcmZsb3cteS1hdXRvIGNxYS1iZy1bI0ZFRjJGMl0gY3FhLXAtWzE3cHhdIGNxYS1yb3VuZGVkLWxnIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtM1wiIFxuICAgIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgI0ZFQ0FDQTsgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1wiPlxuICAgIDxkaXY+XG4gICAgICA8cCAqbmdJZj1cImlzU3ludGF4RXJyb3JGYWlsdXJlXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtZm9udC1zZW1pYm9sZCBjcWEtbGVhZGluZy1yZWxheGVkIGNxYS10ZXh0LVsjQjkxQzFDXSBjcWEtbWItMVwiPlxuICAgICAgICB7eyBzeW50YXhFcnJvckxlYWRNZXNzYWdlIH19XG4gICAgICA8L3A+XG4gICAgICA8aDMgY2xhc3M9XCJjcWEtdGV4dC1zbSBjcWEtbGVhZGluZy1bMThweF0gY3FhLXRleHQtWyMxMTE4MjddIGNxYS1tYi0xXCI+e3sgaGVhZGVyVGl0bGUgfX08L2gzPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LXdyYXAgY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTMgY3FhLXRleHQteHNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTJweF0gY3FhLXRleHQtWyNCOTFDMUNdXCI+PHNwYW4gY2xhc3M9XCJjcWEtZm9udC1ib2xkXCI+RXJyb3I6PC9zcGFuPiB7eyBlcnJvclRleHQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPlZpZGVvIHRpbWVzdGFtcDoge3sgdmlkZW9UaW1lc3RhbXAgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPkR1cmF0aW9uOiB7eyBkdXJhdGlvblRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJoYXNTdWdnZXN0aW9uc1wiIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS10ZXh0LVsjQjkxQzFDXSBjcWEtbXQtMVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1mb250LWJvbGRcIj5TdWdnZXN0aW9uczo8L3NwYW4+IHt7IHN1Z2dlc3Rpb25zIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtbWF4LWgtWzEyMHB4XSBjcWEtaC1hdXRvIGNxYS1ncmlkIGNxYS1ncmlkLWNvbHMtMiBjcWEtZ2FwLTAgY3FhLXJvdW5kZWQtWzRweF1cIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNFNUU3RUJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctd2hpdGUgY3FhLXB4LTIgY3FhLXB5LTEgbWQ6Y3FhLWJvcmRlci1yIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0U1RTdFQlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdXBwZXJjYXNlIGNxYS10cmFja2luZy13aWRlXCI+RVhQRUNURUQ8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bIzBCMEIwQl0gY3FhLWxlYWRpbmctcmVsYXhlZCBjcWEtaC1hdXRvIGNxYS1tYXgtaC1bOTNweF0gY3FhLW92ZXJmbG93LXktYXV0byBjcWEtZm9udC1tZWRpdW1cIlxuICAgICAgICAgICAgc3R5bGU9XCJzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7IHNjcm9sbGJhci13aWR0aDogdGhpbjtcIj5cbiAgICAgICAgICAgIHt7IGV4cGVjdGVkUmVzdWx0IH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctWyNGRkY5RjldIGNxYS1weC0yIGNxYS1weS0xIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdXBwZXJjYXNlIGNxYS10cmFja2luZy13aWRlXCI+QUNUVUFMPC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLXRleHQtWyNDMTAwMDddIGNxYS1sZWFkaW5nLXJlbGF4ZWQgY3FhLWgtYXV0byBjcWEtbWF4LWgtWzg1cHhdIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLWZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7eyBhY3R1YWxSZXN1bHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
@@ -24185,6 +24185,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
24185
24185
  }] } });
24186
24186
 
24187
24187
  class FailedStepCardComponent {
24188
+ constructor() {
24189
+ this.syntaxErrorLeadMessage = 'No steps were executed due to a syntax error in the test case. Please review and fix the syntax issue before re-running.';
24190
+ }
24191
+ get isSyntaxErrorFailure() {
24192
+ var _a;
24193
+ return ((_a = this.failedStepData) === null || _a === void 0 ? void 0 : _a.failure_type) === 'SYNTAX_ERROR';
24194
+ }
24188
24195
  get headerTitle() {
24189
24196
  var _a, _b;
24190
24197
  if ((_a = this.failedStepData) === null || _a === void 0 ? void 0 : _a.stepTitle) {
@@ -24227,10 +24234,10 @@ class FailedStepCardComponent {
24227
24234
  }
24228
24235
  }
24229
24236
  FailedStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24230
- FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24237
+ FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <p *ngIf=\"isSyntaxErrorFailure\"\n class=\"cqa-text-sm cqa-font-semibold cqa-leading-relaxed cqa-text-[#B91C1C] cqa-mb-1\">\n {{ syntaxErrorLeadMessage }}\n </p>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
24231
24238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, decorators: [{
24232
24239
  type: Component,
24233
- args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
24240
+ args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; max-height: 200px;\">\n <div class=\"cqa-h-full cqa-overflow-y-auto cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" \n style=\"border: 1px solid #FECACA; scrollbar-width: thin;\">\n <div>\n <p *ngIf=\"isSyntaxErrorFailure\"\n class=\"cqa-text-sm cqa-font-semibold cqa-leading-relaxed cqa-text-[#B91C1C] cqa-mb-1\">\n {{ syntaxErrorLeadMessage }}\n </p>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\"><span class=\"cqa-font-bold\">Error:</span> {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n <div *ngIf=\"hasSuggestions\" class=\"cqa-text-[12px] cqa-text-[#B91C1C] cqa-mt-1\">\n <span class=\"cqa-font-bold\">Suggestions:</span> {{ suggestions }}\n </div>\n </div>\n\n <div class=\"cqa-max-h-[120px] cqa-h-auto cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px]\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-auto cqa-max-h-[93px] cqa-overflow-y-auto cqa-font-medium\"\n style=\"scrollbar-gutter: stable; scrollbar-width: thin;\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-auto cqa-max-h-[85px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
24234
24241
  }], propDecorators: { failedStepData: [{
24235
24242
  type: Input
24236
24243
  }] } });