@gravitee/ui-particles-angular 15.7.0 → 15.7.1-apim-8652-fix-monaco-parser-bb6ecd2
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.
- package/esm2022/lib/gio-el/gio-el.service.mjs +8 -5
- package/esm2022/lib/gio-monaco-editor/gio-monaco-editor.component.mjs +7 -1
- package/fesm2022/gravitee-ui-particles-angular.mjs +13 -4
- package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
- package/lib/gio-el/gio-el.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -14,15 +14,15 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { Injectable } from '@angular/core';
|
|
17
|
-
import { of
|
|
18
|
-
import { map } from 'rxjs/operators';
|
|
17
|
+
import { of } from 'rxjs';
|
|
18
|
+
import { delay, map } from 'rxjs/operators';
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
export class GioElService {
|
|
21
21
|
constructor() {
|
|
22
|
-
this.
|
|
22
|
+
this._promptCallback = this.defaultPrompt;
|
|
23
23
|
}
|
|
24
24
|
prompt(prompt) {
|
|
25
|
-
return this.
|
|
25
|
+
return this._promptCallback(prompt);
|
|
26
26
|
}
|
|
27
27
|
defaultPrompt(prompt) {
|
|
28
28
|
return of(prompt).pipe(delay(300), map(prompt => {
|
|
@@ -31,6 +31,9 @@ export class GioElService {
|
|
|
31
31
|
};
|
|
32
32
|
}));
|
|
33
33
|
}
|
|
34
|
+
set promptCallback(value) {
|
|
35
|
+
this._promptCallback = value;
|
|
36
|
+
}
|
|
34
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
38
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElService, providedIn: 'root' }); }
|
|
36
39
|
}
|
|
@@ -40,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
40
43
|
providedIn: 'root',
|
|
41
44
|
}]
|
|
42
45
|
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLWVsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wYXJ0aWNsZXMtYW5ndWxhci9zcmMvbGliL2dpby1lbC9naW8tZWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU81QyxNQUFNLE9BQU8sWUFBWTtJQUh6QjtRQUlVLG9CQUFlLEdBQW9ELElBQUksQ0FBQyxhQUFhLENBQUM7S0FvQi9GO0lBbEJRLE1BQU0sQ0FBQyxNQUFjO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWM7UUFDbEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQ1YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ1gsT0FBTztnQkFDTCxPQUFPLEVBQUUsMENBQTBDLE1BQU0sR0FBRzthQUM3RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLGNBQWMsQ0FBQyxLQUFzRDtRQUM5RSxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDOzhHQXBCVSxZQUFZO2tIQUFaLFlBQVksY0FGWCxNQUFNOzsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjQgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRWxBaVByb21wdFN0YXRlIH0gZnJvbSAnLi9tb2RlbHMvRWxBaVByb21wdFN0YXRlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdpb0VsU2VydmljZSB7XG4gIHByaXZhdGUgX3Byb21wdENhbGxiYWNrOiAocHJvbXB0OiBzdHJpbmcpID0+IE9ic2VydmFibGU8RWxBaVByb21wdFN0YXRlPiA9IHRoaXMuZGVmYXVsdFByb21wdDtcblxuICBwdWJsaWMgcHJvbXB0KHByb21wdDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFbEFpUHJvbXB0U3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvbXB0Q2FsbGJhY2socHJvbXB0KTtcbiAgfVxuXG4gIHByaXZhdGUgZGVmYXVsdFByb21wdChwcm9tcHQ6IHN0cmluZyk6IE9ic2VydmFibGU8RWxBaVByb21wdFN0YXRlPiB7XG4gICAgcmV0dXJuIG9mKHByb21wdCkucGlwZShcbiAgICAgIGRlbGF5KDMwMCksXG4gICAgICBtYXAocHJvbXB0ID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtZXNzYWdlOiBgRXJyb3I6IG5vIGhhbmRsZXIgZ2l2ZW4gKGlucHV0IHByb21wdDogJHtwcm9tcHR9KWAsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNldCBwcm9tcHRDYWxsYmFjayh2YWx1ZTogKHByb21wdDogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPEVsQWlQcm9tcHRTdGF0ZT4pIHtcbiAgICB0aGlzLl9wcm9tcHRDYWxsYmFjayA9IHZhbHVlO1xuICB9XG59XG4iXX0=
|
|
@@ -132,9 +132,15 @@ export class GioMonacoEditorComponent {
|
|
|
132
132
|
...options,
|
|
133
133
|
});
|
|
134
134
|
if (!this.disableAutoFormat) {
|
|
135
|
+
this.standaloneCodeEditor.updateOptions({
|
|
136
|
+
readOnly: false,
|
|
137
|
+
});
|
|
135
138
|
setTimeout(() => {
|
|
136
139
|
this.standaloneCodeEditor?.getAction('editor.action.formatDocument')?.run();
|
|
137
140
|
}, 80);
|
|
141
|
+
this.standaloneCodeEditor.updateOptions({
|
|
142
|
+
readOnly: this.readOnly,
|
|
143
|
+
});
|
|
138
144
|
}
|
|
139
145
|
if (this.singleLineMode) {
|
|
140
146
|
this.standaloneCodeEditor?.addAction({
|
|
@@ -282,4 +288,4 @@ const isJsonString = (str) => {
|
|
|
282
288
|
}
|
|
283
289
|
return true;
|
|
284
290
|
};
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0FBbUNqRyxNQUFNLE9BQU8sd0JBQXdCO0lBdUNuQyxZQUNrQixXQUF1QixFQUNZLE1BQTZCLEVBQy9ELG1CQUEyQyxFQUMzQyxtQkFBMkMsRUFDM0MsbUJBQXlDLEVBQ3pDLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ0ssU0FBb0I7UUFQeEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDWSxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUMvRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFzQjtRQUN6QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDSyxjQUFTLEdBQVQsU0FBUyxDQUFX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O29CQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDNUQsQ0FBQztnQkFDRCxNQUFNO1lBQ1I7Z0JBQ0UsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDOzhHQTFRVSx3QkFBd0IsNENBeUN6Qix3QkFBd0I7a0dBekN2Qix3QkFBd0Isa1VBTHpCLGdEQUFnRDs7MkZBSy9DLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxtQkFBbUIsWUFDbkIsZ0RBQWdELG1CQUV6Qyx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLEtBQUs7OzBCQTJDZCxNQUFNOzJCQUFDLHdCQUF3Qjs7MEJBTS9CLFFBQVE7OzBCQUFJLElBQUk7eUNBN0NaLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUtDLGNBQWM7c0JBRnBCLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1COztBQStQbEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRTtJQUM1QyxJQUFJLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDIzIFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlzRXF1YWwsIGlzU3RyaW5nLCB1bmlxdWVJZCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgTW9uYWNvLCB7IGVkaXRvciB9IGZyb20gJ21vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBHSU9fTU9OQUNPX0VESVRPUl9DT05GSUcsIEdpb01vbmFjb0VkaXRvckNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL0dpb01vbmFjb0VkaXRvckNvbmZpZyc7XG5pbXBvcnQgeyBHaW9MYW5ndWFnZUpzb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbGFuZ3VhZ2UtanNvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb01vbmFjb0VkaXRvclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dpby1tb25hY28tZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2lvTGFuZ3VhZ2VFbFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dpby1sYW5ndWFnZS1lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEpTT05TY2hlbWEgfSBmcm9tICcuL21vZGVscy9KU09OU2NoZW1hQXV0b0NvbXBsZXRlJztcblxuZXhwb3J0IHR5cGUgTW9uYWNvRWRpdG9yTGFuZ3VhZ2VDb25maWcgPVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAnanNvbic7XG4gICAgICBzY2hlbWFzPzogeyB1cmk6IHN0cmluZzsgc2NoZW1hOiB1bmtub3duIH1bXTtcbiAgICB9XG4gIHwge1xuICAgICAgbGFuZ3VhZ2U6ICdtYXJrZG93bic7XG4gICAgfVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAnaHRtbCc7XG4gICAgfVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAneWFtbCc7XG4gICAgfVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAnc3BlbCc7XG4gICAgICBzY2hlbWE/OiBKU09OU2NoZW1hO1xuICAgIH1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ2Nzcyc7XG4gICAgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ2lvLW1vbmFjby1lZGl0b3InLFxuICB0ZW1wbGF0ZTogYCA8ZGl2ICpuZ0lmPVwibG9hZGVkJCB8IGFzeW5jXCI+TG9hZGluZy4uLjwvZGl2PmAsXG4gIHN0eWxlVXJsczogWycuL2dpby1tb25hY28tZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvTW9uYWNvRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYW5ndWFnZUNvbmZpZz86IE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcHRpb25zOiBlZGl0b3IuSVN0YW5kYWxvbmVFZGl0b3JDb25zdHJ1Y3Rpb25PcHRpb25zID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVNaW5pTWFwID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRpc2FibGVBdXRvRm9ybWF0ID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaW5nbGUtbGluZScpXG4gIHB1YmxpYyBzaW5nbGVMaW5lTW9kZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyBsb2FkZWQkID0gbmV3IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4oMSk7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0T3B0aW9uczogZWRpdG9yLklTdGFuZGFsb25lRWRpdG9yQ29uc3RydWN0aW9uT3B0aW9ucyA9IHtcbiAgICBjb250ZXh0bWVudTogZmFsc2UsXG4gICAgbWluaW1hcDoge1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICB9LFxuICAgIGF1dG9tYXRpY0xheW91dDogdHJ1ZSxcbiAgICBzY3JvbGxCZXlvbmRMYXN0TGluZTogZmFsc2UsXG4gIH07XG5cbiAgcHVibGljIHZhbHVlID0gJyc7XG4gIHB1YmxpYyByZWFkT25seSA9IGZhbHNlO1xuICBwdWJsaWMgc3RhbmRhbG9uZUNvZGVFZGl0b3I/OiBlZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBwcml2YXRlIHRleHRNb2RlbD86IGVkaXRvci5JVGV4dE1vZGVsO1xuICBwcml2YXRlIHRvRGlzcG9zZXM6IE1vbmFjby5JRGlzcG9zYWJsZVtdID0gW107XG5cbiAgcHJvdGVjdGVkIF9vbkNoYW5nZTogKF92YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCA9ICgpID0+ICh7fSk7XG5cbiAgcHJvdGVjdGVkIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoR0lPX01PTkFDT19FRElUT1JfQ09ORklHKSBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogR2lvTW9uYWNvRWRpdG9yQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbW9uYWNvRWRpdG9yU2VydmljZTogR2lvTW9uYWNvRWRpdG9yU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlSnNvblNlcnZpY2U6IEdpb0xhbmd1YWdlSnNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZVNwZWxTZXJ2aWNlOiBHaW9MYW5ndWFnZUVsU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIC8vIFNldCB0aGUgdmFsdWUgYWNjZXNzb3IgZGlyZWN0bHkgKGluc3RlYWQgb2YgcHJvdmlkaW5nXG4gICAgICAvLyBOR19WQUxVRV9BQ0NFU1NPUikgdG8gYXZvaWQgcnVubmluZyBpbnRvIGEgY2lyY3VsYXIgaW1wb3J0XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gICAgdGhpcy5tb25hY29FZGl0b3JTZXJ2aWNlLmxvYWRFZGl0b3IoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgLy8gV2FpdCB1bnRpbCBtb25hY28gZWRpdG9yIGlzIGF2YWlsYWJsZVxuICAgIHRoaXMubW9uYWNvRWRpdG9yU2VydmljZS5sb2FkZWQkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCh7IG1vbmFjbyB9KSA9PiB7XG4gICAgICB0aGlzLnNldHVwRWRpdG9yKG1vbmFjbyk7XG5cbiAgICAgIHRoaXMubG9hZGVkJC5uZXh0KGZhbHNlKTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudG9EaXNwb3Nlcy5mb3JFYWNoKGQgPT4gZC5kaXNwb3NlKCkpO1xuXG4gICAgaWYgKHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IpIHtcbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvciA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50ZXh0TW9kZWwpIHtcbiAgICAgIHRoaXMudGV4dE1vZGVsLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMudGV4dE1vZGVsID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyB3cml0ZVZhbHVlKF92YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKF92YWx1ZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IGlzU3RyaW5nKF92YWx1ZSkgPyBfdmFsdWUgOiBKU09OLnN0cmluZ2lmeShfdmFsdWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy50ZXh0TW9kZWwpIHtcbiAgICAgIHRoaXMudGV4dE1vZGVsLnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoX3ZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLy8gRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucmVhZE9ubHkgPSBpc0Rpc2FibGVkO1xuXG4gICAgaWYgKHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IpIHtcbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IudXBkYXRlT3B0aW9ucyh7XG4gICAgICAgIHJlYWRPbmx5OiBpc0Rpc2FibGVkLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEVkaXRvcihtb25hY286IHR5cGVvZiBNb25hY28pIHtcbiAgICBpZiAoIXRoaXMuaG9zdEVsZW1lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gZWRpdG9yIHJlZiBmb3VuZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50O1xuXG4gICAgY29uc3Qgc2V0dGluZ3MgPSB7XG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgIGxhbmd1YWdlOiB0aGlzLmxhbmd1YWdlQ29uZmlnPy5sYW5ndWFnZSA/PyAoaXNKc29uU3RyaW5nKHRoaXMudmFsdWUpID8gJ2pzb24nIDogJ3BsYWludGV4dCcpLFxuICAgICAgdXJpOiBgY29kZS0ke3VuaXF1ZUlkKCl9YCxcbiAgICB9O1xuXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy50ZXh0TW9kZWwgPSBtb25hY28uZWRpdG9yLmNyZWF0ZU1vZGVsKHNldHRpbmdzLnZhbHVlLCBzZXR0aW5ncy5sYW5ndWFnZSwgbW9uYWNvLlVyaS5wYXJzZShzZXR0aW5ncy51cmkpKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRPcHRpb25zLCB0aGlzLm9wdGlvbnMsIHtcbiAgICAgIHJlYWRPbmx5OiAhdGhpcy5uZ0NvbnRyb2wgJiYgJ3JlYWRPbmx5JyBpbiB0aGlzLm9wdGlvbnMgPyB0aGlzLm9wdGlvbnMucmVhZE9ubHkgOiB0aGlzLnJlYWRPbmx5LFxuICAgICAgdGhlbWU6IHRoaXMuY29uZmlnLnRoZW1lID8/ICd2cycsXG4gICAgICBtb2RlbDogdGhpcy50ZXh0TW9kZWwsXG4gICAgICBtaW5pbWFwOiB7XG4gICAgICAgIGVuYWJsZWQ6ICF0aGlzLmRpc2FibGVNaW5pTWFwLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZShkb21FbGVtZW50LCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVBdXRvRm9ybWF0KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcj8uZ2V0QWN0aW9uKCdlZGl0b3IuYWN0aW9uLmZvcm1hdERvY3VtZW50Jyk/LnJ1bigpO1xuICAgICAgfSwgODApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNpbmdsZUxpbmVNb2RlKSB7XG4gICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yPy5hZGRBY3Rpb24oe1xuICAgICAgICBpZDogJ2N1c3RvbS5hY3Rpb24nLFxuICAgICAgICBsYWJlbDogJ2N1c3RvbSBhY3Rpb24nLFxuICAgICAgICBrZXliaW5kaW5nczogW21vbmFjby5LZXlDb2RlLkVudGVyXSxcbiAgICAgICAgcHJlY29uZGl0aW9uOiAnIXN1Z2dlc3RXaWRnZXRWaXNpYmxlICYmICFyZW5hbWVJbnB1dFZpc2libGUgJiYgIWluU25pcHBldE1vZGUgJiYgIXF1aWNrRml4V2lkZ2V0VmlzaWJsZScsXG4gICAgICAgIHJ1bjogKCkgPT4ge1xuICAgICAgICAgIC8vIElnbm9yZSBFbnRlciBrZXkgaW4gc2luZ2xlIGxpbmUgbW9kZSB3aGVuIHdyaXRpbmdcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBvbkRpZENoYW5nZUNvbnRlbnQgPSB0aGlzLnRleHRNb2RlbD8ub25EaWRDaGFuZ2VDb250ZW50KCgpID0+IHtcbiAgICAgIGNvbnN0IHRleHRNb2RlbFZhbHVlID0gdGhpcy50ZXh0TW9kZWw/LmdldFZhbHVlKCkgPz8gJyc7XG4gICAgICBpZiAodGhpcy5zaW5nbGVMaW5lTW9kZSkge1xuICAgICAgICAvLyBJZiB2YWx1ZSBoYXMgXFxuLCBcXHIgb3IgXFxyXFxuLCByZW1vdmUgdGhlbVxuICAgICAgICAvLyBVc2VmdWwgdG8gY2xlYXIgbGluZSBicmVha3Mgd2hlbiBwYXN0aW5nIHRleHRcbiAgICAgICAgY29uc3QgaGFzTGluZUJyZWFrID0gbmV3IFJlZ0V4cCgvKFxcclxcbnxcXG58XFxyKS9nbSk7XG4gICAgICAgIGlmIChoYXNMaW5lQnJlYWsudGVzdCh0ZXh0TW9kZWxWYWx1ZSkpIHtcbiAgICAgICAgICBjb25zdCBjdXJyZW50UG9zaXRpb24gPSB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yPy5nZXRQb3NpdGlvbigpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcj8ucHVzaFVuZG9TdG9wKCk7XG4gICAgICAgICAgICB0aGlzLnRleHRNb2RlbD8uc2V0VmFsdWUodGV4dE1vZGVsVmFsdWUucmVwbGFjZSgvKFxcclxcbnxcXG58XFxyKS9nbSwgJycpKTtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UG9zaXRpb24pIHtcbiAgICAgICAgICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcj8uc2V0UG9zaXRpb24oY3VycmVudFBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3I/LnBvcFVuZG9TdG9wKCk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5yZWFkT25seSAmJiAhaXNFcXVhbCh0aGlzLnZhbHVlLCB0ZXh0TW9kZWxWYWx1ZSkpIHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0ZXh0TW9kZWxWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRleHRNb2RlbFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnNpbmdsZUxpbmVNb2RlKSB7XG4gICAgICAvLyBTb3VyY2UgOiBodHRwczovL2ZhcnphZHl6LmNvbS9ibG9nL3NpbmdsZS1saW5lLW1vbmFjby1lZGl0b3JcbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3I/LnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICAvLyBxdWlja1N1Z2dlc3Rpb25zOiBmYWxzZSxcbiAgICAgICAgZml4ZWRPdmVyZmxvd1dpZGdldHM6IHRydWUsXG4gICAgICAgIGFjY2VwdFN1Z2dlc3Rpb25PbkVudGVyOiAnb24nLFxuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGRlbGF5OiAxMDAsXG4gICAgICAgIH0sXG4gICAgICAgIHJvdW5kZWRTZWxlY3Rpb246IGZhbHNlLFxuICAgICAgICBjb250ZXh0bWVudTogZmFsc2UsXG4gICAgICAgIGN1cnNvclN0eWxlOiAnbGluZS10aGluJyxcbiAgICAgICAgbGlua3M6IGZhbHNlLFxuICAgICAgICBmaW5kOiB7XG4gICAgICAgICAgYWRkRXh0cmFTcGFjZU9uVG9wOiBmYWxzZSxcbiAgICAgICAgICBhdXRvRmluZEluU2VsZWN0aW9uOiAnbmV2ZXInLFxuICAgICAgICAgIHNlZWRTZWFyY2hTdHJpbmdGcm9tU2VsZWN0aW9uOiAnbmV2ZXInLFxuICAgICAgICB9LFxuICAgICAgICBmb250U2l6ZTogMTQsXG4gICAgICAgIGZvbnRXZWlnaHQ6ICdub3JtYWwnLFxuICAgICAgICBvdmVydmlld1J1bGVyTGFuZXM6IDAsXG4gICAgICAgIHNjcm9sbEJleW9uZExhc3RDb2x1bW46IDAsXG4gICAgICAgIHdvcmRXcmFwOiAnb24nLFxuICAgICAgICBtaW5pbWFwOiB7XG4gICAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmVOdW1iZXJzOiAnb2ZmJyxcbiAgICAgICAgaGlkZUN1cnNvckluT3ZlcnZpZXdSdWxlcjogdHJ1ZSxcbiAgICAgICAgb3ZlcnZpZXdSdWxlckJvcmRlcjogZmFsc2UsXG4gICAgICAgIGdseXBoTWFyZ2luOiBmYWxzZSxcbiAgICAgICAgZm9sZGluZzogZmFsc2UsXG4gICAgICAgIGxpbmVEZWNvcmF0aW9uc1dpZHRoOiAwLFxuICAgICAgICBsaW5lTnVtYmVyc01pbkNoYXJzOiAwLFxuICAgICAgICByZW5kZXJMaW5lSGlnaGxpZ2h0OiAnbm9uZScsXG4gICAgICAgIHNjcm9sbGJhcjoge1xuICAgICAgICAgIGhvcml6b250YWw6ICdoaWRkZW4nLFxuICAgICAgICAgIHZlcnRpY2FsOiAnaGlkZGVuJyxcbiAgICAgICAgICBhbHdheXNDb25zdW1lTW91c2VXaGVlbDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBvbkRpZEJsdXJFZGl0b3JXaWRnZXQgPSB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yPy5vbkRpZEJsdXJFZGl0b3JXaWRnZXQoKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5KSB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy50b0Rpc3Bvc2VzID0gW29uRGlkQ2hhbmdlQ29udGVudCwgb25EaWRCbHVyRWRpdG9yV2lkZ2V0XS5maWx0ZXIoZCA9PiAhIWQpIGFzIE1vbmFjby5JRGlzcG9zYWJsZVtdO1xuXG4gICAgdGhpcy5zZXR1cExhbmd1YWdlKHNldHRpbmdzLnVyaSwgdGhpcy5sYW5ndWFnZUNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwTGFuZ3VhZ2UodXJpOiBzdHJpbmcsIGxhbmd1YWdlQ29uZmlnPzogTW9uYWNvRWRpdG9yTGFuZ3VhZ2VDb25maWcpIHtcbiAgICBpZiAoIWxhbmd1YWdlQ29uZmlnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChsYW5ndWFnZUNvbmZpZy5sYW5ndWFnZSkge1xuICAgICAgY2FzZSAnanNvbic6XG4gICAgICAgIGlmIChsYW5ndWFnZUNvbmZpZy5zY2hlbWFzKSB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZUpzb25TZXJ2aWNlLmFkZFNjaGVtYXModXJpLCBsYW5ndWFnZUNvbmZpZy5zY2hlbWFzKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NwZWwnOlxuICAgICAgICBpZiAobGFuZ3VhZ2VDb25maWcuc2NoZW1hKSB7XG4gICAgICAgICAgdGhpcy5sYW5ndWFnZVNwZWxTZXJ2aWNlLnNldFNjaGVtYShsYW5ndWFnZUNvbmZpZy5zY2hlbWEpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGlzSnNvblN0cmluZyA9IChzdHI6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICB0cnkge1xuICAgIEpTT04ucGFyc2Uoc3RyKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn07XG4iXX0=
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLW1vbmFjby1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcGFydGljbGVzLWFuZ3VsYXIvc3JjL2xpYi9naW8tbW9uYWNvLWVkaXRvci9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUF5QixNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7O0FBbUNqRyxNQUFNLE9BQU8sd0JBQXdCO0lBdUNuQyxZQUNrQixXQUF1QixFQUNZLE1BQTZCLEVBQy9ELG1CQUEyQyxFQUMzQyxtQkFBMkMsRUFDM0MsbUJBQXlDLEVBQ3pDLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ0ssU0FBb0I7UUFQeEMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDWSxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUMvRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBQzNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFzQjtRQUN6QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDSyxjQUFTLEdBQVQsU0FBUyxDQUFX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QU8sRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25FLENBQUM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxJQUFJLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzVELENBQUM7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQzs4R0FsUlUsd0JBQXdCLDRDQXlDekIsd0JBQXdCO2tHQXpDdkIsd0JBQXdCLGtVQUx6QixnREFBZ0Q7OzJGQUsvQyx3QkFBd0I7a0JBUHBDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25CLGdEQUFnRCxtQkFFekMsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxLQUFLOzswQkEyQ2QsTUFBTTsyQkFBQyx3QkFBd0I7OzBCQU0vQixRQUFROzswQkFBSSxJQUFJO3lDQTdDWixjQUFjO3NCQURwQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFLQyxjQUFjO3NCQUZwQixLQUFLOztzQkFDTCxXQUFXO3VCQUFDLG1CQUFtQjs7QUF1UWxDLE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUU7SUFDNUMsSUFBSSxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMyBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBpc0VxdWFsLCBpc1N0cmluZywgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IE1vbmFjbywgeyBlZGl0b3IgfSBmcm9tICdtb25hY28tZWRpdG9yJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgR0lPX01PTkFDT19FRElUT1JfQ09ORklHLCBHaW9Nb25hY29FZGl0b3JDb25maWcgfSBmcm9tICcuL21vZGVscy9HaW9Nb25hY29FZGl0b3JDb25maWcnO1xuaW1wb3J0IHsgR2lvTGFuZ3VhZ2VKc29uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ2lvLWxhbmd1YWdlLWpzb24uc2VydmljZSc7XG5pbXBvcnQgeyBHaW9Nb25hY29FZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbW9uYWNvLWVkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEdpb0xhbmd1YWdlRWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9naW8tbGFuZ3VhZ2UtZWwuc2VydmljZSc7XG5pbXBvcnQgeyBKU09OU2NoZW1hIH0gZnJvbSAnLi9tb2RlbHMvSlNPTlNjaGVtYUF1dG9Db21wbGV0ZSc7XG5cbmV4cG9ydCB0eXBlIE1vbmFjb0VkaXRvckxhbmd1YWdlQ29uZmlnID1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ2pzb24nO1xuICAgICAgc2NoZW1hcz86IHsgdXJpOiBzdHJpbmc7IHNjaGVtYTogdW5rbm93biB9W107XG4gICAgfVxuICB8IHtcbiAgICAgIGxhbmd1YWdlOiAnbWFya2Rvd24nO1xuICAgIH1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ2h0bWwnO1xuICAgIH1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ3lhbWwnO1xuICAgIH1cbiAgfCB7XG4gICAgICBsYW5ndWFnZTogJ3NwZWwnO1xuICAgICAgc2NoZW1hPzogSlNPTlNjaGVtYTtcbiAgICB9XG4gIHwge1xuICAgICAgbGFuZ3VhZ2U6ICdjc3MnO1xuICAgIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1tb25hY28tZWRpdG9yJyxcbiAgdGVtcGxhdGU6IGAgPGRpdiAqbmdJZj1cImxvYWRlZCQgfCBhc3luY1wiPkxvYWRpbmcuLi48L2Rpdj5gLFxuICBzdHlsZVVybHM6IFsnLi9naW8tbW9uYWNvLWVkaXRvci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIEdpb01vbmFjb0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFuZ3VhZ2VDb25maWc/OiBNb25hY29FZGl0b3JMYW5ndWFnZUNvbmZpZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3B0aW9uczogZWRpdG9yLklTdGFuZGFsb25lRWRpdG9yQ29uc3RydWN0aW9uT3B0aW9ucyA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlTWluaU1hcCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkaXNhYmxlQXV0b0Zvcm1hdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2luZ2xlLWxpbmUnKVxuICBwdWJsaWMgc2luZ2xlTGluZU1vZGUgPSBmYWxzZTtcblxuICBwdWJsaWMgbG9hZGVkJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuXG4gIHByaXZhdGUgZGVmYXVsdE9wdGlvbnM6IGVkaXRvci5JU3RhbmRhbG9uZUVkaXRvckNvbnN0cnVjdGlvbk9wdGlvbnMgPSB7XG4gICAgY29udGV4dG1lbnU6IGZhbHNlLFxuICAgIG1pbmltYXA6IHtcbiAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgfSxcbiAgICBhdXRvbWF0aWNMYXlvdXQ6IHRydWUsXG4gICAgc2Nyb2xsQmV5b25kTGFzdExpbmU6IGZhbHNlLFxuICB9O1xuXG4gIHB1YmxpYyB2YWx1ZSA9ICcnO1xuICBwdWJsaWMgcmVhZE9ubHkgPSBmYWxzZTtcbiAgcHVibGljIHN0YW5kYWxvbmVDb2RlRWRpdG9yPzogZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvcjtcbiAgcHJpdmF0ZSB0ZXh0TW9kZWw/OiBlZGl0b3IuSVRleHRNb2RlbDtcbiAgcHJpdmF0ZSB0b0Rpc3Bvc2VzOiBNb25hY28uSURpc3Bvc2FibGVbXSA9IFtdO1xuXG4gIHByb3RlY3RlZCBfb25DaGFuZ2U6IChfdmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQgPSAoKSA9PiAoe30pO1xuXG4gIHByb3RlY3RlZCBfb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gKHt9KTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KEdJT19NT05BQ09fRURJVE9SX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEdpb01vbmFjb0VkaXRvckNvbmZpZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vbmFjb0VkaXRvclNlcnZpY2U6IEdpb01vbmFjb0VkaXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYW5ndWFnZUpzb25TZXJ2aWNlOiBHaW9MYW5ndWFnZUpzb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VTcGVsU2VydmljZTogR2lvTGFuZ3VhZ2VFbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAvLyBTZXQgdGhlIHZhbHVlIGFjY2Vzc29yIGRpcmVjdGx5IChpbnN0ZWFkIG9mIHByb3ZpZGluZ1xuICAgICAgLy8gTkdfVkFMVUVfQUNDRVNTT1IpIHRvIGF2b2lkIHJ1bm5pbmcgaW50byBhIGNpcmN1bGFyIGltcG9ydFxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuICAgIHRoaXMubW9uYWNvRWRpdG9yU2VydmljZS5sb2FkRWRpdG9yKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIFdhaXQgdW50aWwgbW9uYWNvIGVkaXRvciBpcyBhdmFpbGFibGVcbiAgICB0aGlzLm1vbmFjb0VkaXRvclNlcnZpY2UubG9hZGVkJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoeyBtb25hY28gfSkgPT4ge1xuICAgICAgdGhpcy5zZXR1cEVkaXRvcihtb25hY28pO1xuXG4gICAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRvRGlzcG9zZXMuZm9yRWFjaChkID0+IGQuZGlzcG9zZSgpKTtcblxuICAgIGlmICh0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yKSB7XG4gICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudGV4dE1vZGVsKSB7XG4gICAgICB0aGlzLnRleHRNb2RlbC5kaXNwb3NlKCk7XG4gICAgICB0aGlzLnRleHRNb2RlbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICBwdWJsaWMgd3JpdGVWYWx1ZShfdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChfdmFsdWUpIHtcbiAgICAgIHRoaXMudmFsdWUgPSBpc1N0cmluZyhfdmFsdWUpID8gX3ZhbHVlIDogSlNPTi5zdHJpbmdpZnkoX3ZhbHVlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudGV4dE1vZGVsKSB7XG4gICAgICB0aGlzLnRleHRNb2RlbC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF92YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8vIEZyb20gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnJlYWRPbmx5ID0gaXNEaXNhYmxlZDtcblxuICAgIGlmICh0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yKSB7XG4gICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICByZWFkT25seTogaXNEaXNhYmxlZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBFZGl0b3IobW9uYWNvOiB0eXBlb2YgTW9uYWNvKSB7XG4gICAgaWYgKCF0aGlzLmhvc3RFbGVtZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGVkaXRvciByZWYgZm91bmQuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudDtcblxuICAgIGNvbnN0IHNldHRpbmdzID0ge1xuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZUNvbmZpZz8ubGFuZ3VhZ2UgPz8gKGlzSnNvblN0cmluZyh0aGlzLnZhbHVlKSA/ICdqc29uJyA6ICdwbGFpbnRleHQnKSxcbiAgICAgIHVyaTogYGNvZGUtJHt1bmlxdWVJZCgpfWAsXG4gICAgfTtcblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMudGV4dE1vZGVsID0gbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbChzZXR0aW5ncy52YWx1ZSwgc2V0dGluZ3MubGFuZ3VhZ2UsIG1vbmFjby5VcmkucGFyc2Uoc2V0dGluZ3MudXJpKSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5kZWZhdWx0T3B0aW9ucywgdGhpcy5vcHRpb25zLCB7XG4gICAgICByZWFkT25seTogIXRoaXMubmdDb250cm9sICYmICdyZWFkT25seScgaW4gdGhpcy5vcHRpb25zID8gdGhpcy5vcHRpb25zLnJlYWRPbmx5IDogdGhpcy5yZWFkT25seSxcbiAgICAgIHRoZW1lOiB0aGlzLmNvbmZpZy50aGVtZSA/PyAndnMnLFxuICAgICAgbW9kZWw6IHRoaXMudGV4dE1vZGVsLFxuICAgICAgbWluaW1hcDoge1xuICAgICAgICBlbmFibGVkOiAhdGhpcy5kaXNhYmxlTWluaU1hcCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZG9tRWxlbWVudCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlQXV0b0Zvcm1hdCkge1xuICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvci51cGRhdGVPcHRpb25zKHtcbiAgICAgICAgcmVhZE9ubHk6IGZhbHNlLFxuICAgICAgfSk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yPy5nZXRBY3Rpb24oJ2VkaXRvci5hY3Rpb24uZm9ybWF0RG9jdW1lbnQnKT8ucnVuKCk7XG4gICAgICB9LCA4MCk7XG5cbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3IudXBkYXRlT3B0aW9ucyh7XG4gICAgICAgIHJlYWRPbmx5OiB0aGlzLnJlYWRPbmx5LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2luZ2xlTGluZU1vZGUpIHtcbiAgICAgIHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3I/LmFkZEFjdGlvbih7XG4gICAgICAgIGlkOiAnY3VzdG9tLmFjdGlvbicsXG4gICAgICAgIGxhYmVsOiAnY3VzdG9tIGFjdGlvbicsXG4gICAgICAgIGtleWJpbmRpbmdzOiBbbW9uYWNvLktleUNvZGUuRW50ZXJdLFxuICAgICAgICBwcmVjb25kaXRpb246ICchc3VnZ2VzdFdpZGdldFZpc2libGUgJiYgIXJlbmFtZUlucHV0VmlzaWJsZSAmJiAhaW5TbmlwcGV0TW9kZSAmJiAhcXVpY2tGaXhXaWRnZXRWaXNpYmxlJyxcbiAgICAgICAgcnVuOiAoKSA9PiB7XG4gICAgICAgICAgLy8gSWdub3JlIEVudGVyIGtleSBpbiBzaW5nbGUgbGluZSBtb2RlIHdoZW4gd3JpdGluZ1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IG9uRGlkQ2hhbmdlQ29udGVudCA9IHRoaXMudGV4dE1vZGVsPy5vbkRpZENoYW5nZUNvbnRlbnQoKCkgPT4ge1xuICAgICAgY29uc3QgdGV4dE1vZGVsVmFsdWUgPSB0aGlzLnRleHRNb2RlbD8uZ2V0VmFsdWUoKSA/PyAnJztcbiAgICAgIGlmICh0aGlzLnNpbmdsZUxpbmVNb2RlKSB7XG4gICAgICAgIC8vIElmIHZhbHVlIGhhcyBcXG4sIFxcciBvciBcXHJcXG4sIHJlbW92ZSB0aGVtXG4gICAgICAgIC8vIFVzZWZ1bCB0byBjbGVhciBsaW5lIGJyZWFrcyB3aGVuIHBhc3RpbmcgdGV4dFxuICAgICAgICBjb25zdCBoYXNMaW5lQnJlYWsgPSBuZXcgUmVnRXhwKC8oXFxyXFxufFxcbnxcXHIpL2dtKTtcbiAgICAgICAgaWYgKGhhc0xpbmVCcmVhay50ZXN0KHRleHRNb2RlbFZhbHVlKSkge1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3I/LmdldFBvc2l0aW9uKCk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yPy5wdXNoVW5kb1N0b3AoKTtcbiAgICAgICAgICAgIHRoaXMudGV4dE1vZGVsPy5zZXRWYWx1ZSh0ZXh0TW9kZWxWYWx1ZS5yZXBsYWNlKC8oXFxyXFxufFxcbnxcXHIpL2dtLCAnJykpO1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRQb3NpdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLnN0YW5kYWxvbmVDb2RlRWRpdG9yPy5zZXRQb3NpdGlvbihjdXJyZW50UG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcj8ucG9wVW5kb1N0b3AoKTtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnJlYWRPbmx5ICYmICFpc0VxdWFsKHRoaXMudmFsdWUsIHRleHRNb2RlbFZhbHVlKSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRleHRNb2RlbFZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGV4dE1vZGVsVmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5fb25Ub3VjaGVkKCk7XG4gICAgICAgICAgfSwgMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuc2luZ2xlTGluZU1vZGUpIHtcbiAgICAgIC8vIFNvdXJjZSA6IGh0dHBzOi8vZmFyemFkeXouY29tL2Jsb2cvc2luZ2xlLWxpbmUtbW9uYWNvLWVkaXRvclxuICAgICAgdGhpcy5zdGFuZGFsb25lQ29kZUVkaXRvcj8udXBkYXRlT3B0aW9ucyh7XG4gICAgICAgIC8vIHF1aWNrU3VnZ2VzdGlvbnM6IGZhbHNlLFxuICAgICAgICBmaXhlZE92ZXJmbG93V2lkZ2V0czogdHJ1ZSxcbiAgICAgICAgYWNjZXB0U3VnZ2VzdGlvbk9uRW50ZXI6ICdvbicsXG4gICAgICAgIGhvdmVyOiB7XG4gICAgICAgICAgZGVsYXk6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgICAgcm91bmRlZFNlbGVjdGlvbjogZmFsc2UsXG4gICAgICAgIGNvbnRleHRtZW51OiBmYWxzZSxcbiAgICAgICAgY3Vyc29yU3R5bGU6ICdsaW5lLXRoaW4nLFxuICAgICAgICBsaW5rczogZmFsc2UsXG4gICAgICAgIGZpbmQ6IHtcbiAgICAgICAgICBhZGRFeHRyYVNwYWNlT25Ub3A6IGZhbHNlLFxuICAgICAgICAgIGF1dG9GaW5kSW5TZWxlY3Rpb246ICduZXZlcicsXG4gICAgICAgICAgc2VlZFNlYXJjaFN0cmluZ0Zyb21TZWxlY3Rpb246ICduZXZlcicsXG4gICAgICAgIH0sXG4gICAgICAgIGZvbnRTaXplOiAxNCxcbiAgICAgICAgZm9udFdlaWdodDogJ25vcm1hbCcsXG4gICAgICAgIG92ZXJ2aWV3UnVsZXJMYW5lczogMCxcbiAgICAgICAgc2Nyb2xsQmV5b25kTGFzdENvbHVtbjogMCxcbiAgICAgICAgd29yZFdyYXA6ICdvbicsXG4gICAgICAgIG1pbmltYXA6IHtcbiAgICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGluZU51bWJlcnM6ICdvZmYnLFxuICAgICAgICBoaWRlQ3Vyc29ySW5PdmVydmlld1J1bGVyOiB0cnVlLFxuICAgICAgICBvdmVydmlld1J1bGVyQm9yZGVyOiBmYWxzZSxcbiAgICAgICAgZ2x5cGhNYXJnaW46IGZhbHNlLFxuICAgICAgICBmb2xkaW5nOiBmYWxzZSxcbiAgICAgICAgbGluZURlY29yYXRpb25zV2lkdGg6IDAsXG4gICAgICAgIGxpbmVOdW1iZXJzTWluQ2hhcnM6IDAsXG4gICAgICAgIHJlbmRlckxpbmVIaWdobGlnaHQ6ICdub25lJyxcbiAgICAgICAgc2Nyb2xsYmFyOiB7XG4gICAgICAgICAgaG9yaXpvbnRhbDogJ2hpZGRlbicsXG4gICAgICAgICAgdmVydGljYWw6ICdoaWRkZW4nLFxuICAgICAgICAgIGFsd2F5c0NvbnN1bWVNb3VzZVdoZWVsOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IG9uRGlkQmx1ckVkaXRvcldpZGdldCA9IHRoaXMuc3RhbmRhbG9uZUNvZGVFZGl0b3I/Lm9uRGlkQmx1ckVkaXRvcldpZGdldCgoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMucmVhZE9ubHkpIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnRvRGlzcG9zZXMgPSBbb25EaWRDaGFuZ2VDb250ZW50LCBvbkRpZEJsdXJFZGl0b3JXaWRnZXRdLmZpbHRlcihkID0+ICEhZCkgYXMgTW9uYWNvLklEaXNwb3NhYmxlW107XG5cbiAgICB0aGlzLnNldHVwTGFuZ3VhZ2Uoc2V0dGluZ3MudXJpLCB0aGlzLmxhbmd1YWdlQ29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBMYW5ndWFnZSh1cmk6IHN0cmluZywgbGFuZ3VhZ2VDb25maWc/OiBNb25hY29FZGl0b3JMYW5ndWFnZUNvbmZpZykge1xuICAgIGlmICghbGFuZ3VhZ2VDb25maWcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGxhbmd1YWdlQ29uZmlnLmxhbmd1YWdlKSB7XG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgaWYgKGxhbmd1YWdlQ29uZmlnLnNjaGVtYXMpIHtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlSnNvblNlcnZpY2UuYWRkU2NoZW1hcyh1cmksIGxhbmd1YWdlQ29uZmlnLnNjaGVtYXMpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3BlbCc6XG4gICAgICAgIGlmIChsYW5ndWFnZUNvbmZpZy5zY2hlbWEpIHtcbiAgICAgICAgICB0aGlzLmxhbmd1YWdlU3BlbFNlcnZpY2Uuc2V0U2NoZW1hKGxhbmd1YWdlQ29uZmlnLnNjaGVtYSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgaXNKc29uU3RyaW5nID0gKHN0cjogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHRyeSB7XG4gICAgSlNPTi5wYXJzZShzdHIpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB0cnVlO1xufTtcbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { EventEmitter, Component, HostBinding, Input, Output, HostListener, NgModule, ChangeDetectionStrategy, Optional, Self, ViewChild, Directive, Injector, Inject, forwardRef, ContentChildren, Injectable, Host, ContentChild, InjectionToken, inject, ViewContainerRef, signal, computed, Pipe, ViewEncapsulation } from '@angular/core';
|
|
4
|
-
import { of, Subject, fromEvent, ReplaySubject, merge,
|
|
4
|
+
import { of, Subject, fromEvent, ReplaySubject, merge, Observable, BehaviorSubject, timer } from 'rxjs';
|
|
5
5
|
import { delay, tap, startWith, switchMap, map, distinctUntilChanged, takeUntil, filter, take, debounceTime, shareReplay, catchError, debounce } from 'rxjs/operators';
|
|
6
6
|
import * as i1 from '@angular/common';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
@@ -3704,9 +3704,15 @@ class GioMonacoEditorComponent {
|
|
|
3704
3704
|
...options,
|
|
3705
3705
|
});
|
|
3706
3706
|
if (!this.disableAutoFormat) {
|
|
3707
|
+
this.standaloneCodeEditor.updateOptions({
|
|
3708
|
+
readOnly: false,
|
|
3709
|
+
});
|
|
3707
3710
|
setTimeout(() => {
|
|
3708
3711
|
this.standaloneCodeEditor?.getAction('editor.action.formatDocument')?.run();
|
|
3709
3712
|
}, 80);
|
|
3713
|
+
this.standaloneCodeEditor.updateOptions({
|
|
3714
|
+
readOnly: this.readOnly,
|
|
3715
|
+
});
|
|
3710
3716
|
}
|
|
3711
3717
|
if (this.singleLineMode) {
|
|
3712
3718
|
this.standaloneCodeEditor?.addAction({
|
|
@@ -4754,18 +4760,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.4", ngImpor
|
|
|
4754
4760
|
*/
|
|
4755
4761
|
class GioElService {
|
|
4756
4762
|
constructor() {
|
|
4757
|
-
this.
|
|
4763
|
+
this._promptCallback = this.defaultPrompt;
|
|
4758
4764
|
}
|
|
4759
4765
|
prompt(prompt) {
|
|
4760
|
-
return this.
|
|
4766
|
+
return this._promptCallback(prompt);
|
|
4761
4767
|
}
|
|
4762
4768
|
defaultPrompt(prompt) {
|
|
4763
|
-
return of(prompt).pipe(delay
|
|
4769
|
+
return of(prompt).pipe(delay(300), map(prompt => {
|
|
4764
4770
|
return {
|
|
4765
4771
|
message: `Error: no handler given (input prompt: ${prompt})`,
|
|
4766
4772
|
};
|
|
4767
4773
|
}));
|
|
4768
4774
|
}
|
|
4775
|
+
set promptCallback(value) {
|
|
4776
|
+
this._promptCallback = value;
|
|
4777
|
+
}
|
|
4769
4778
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4770
4779
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.4", ngImport: i0, type: GioElService, providedIn: 'root' }); }
|
|
4771
4780
|
}
|