@tinymce/tinymce-angular 9.1.1 → 9.1.2-feature.20251107031234281.shafdbcb01

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.
@@ -38,7 +38,7 @@ export declare class EditorComponent extends Events implements AfterViewInit, Co
38
38
  private onTouchedCallback;
39
39
  private onChangeCallback;
40
40
  private destroy$;
41
- constructor(elementRef: ElementRef, ngZone: NgZone, cdRef: ChangeDetectorRef, platformId: Object, tinymceScriptSrc?: string);
41
+ constructor(elementRef: ElementRef, ngZone: NgZone, cdRef: ChangeDetectorRef, platformId: object, tinymceScriptSrc?: string);
42
42
  writeValue(value: string | null): void;
43
43
  registerOnChange(fn: (_: any) => void): void;
44
44
  registerOnTouched(fn: any): void;
@@ -1,4 +1,4 @@
1
- /* eslint-disable @typescript-eslint/no-parameter-properties */
1
+ /* eslint-disable @typescript-eslint/parameter-properties */
2
2
  import { isPlatformBrowser, CommonModule } from '@angular/common';
3
3
  import { Component, forwardRef, Inject, Input, PLATFORM_ID, InjectionToken, Optional, ChangeDetectionStrategy } from '@angular/core';
4
4
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
@@ -209,7 +209,7 @@ export class EditorComponent extends Events {
209
209
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: EditorComponent, decorators: [{
210
210
  type: Component,
211
211
  args: [{ selector: 'editor', template: '', providers: [EDITOR_COMPONENT_VALUE_ACCESSOR], standalone: true, imports: [CommonModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
212
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: Object, decorators: [{
212
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
213
213
  type: Inject,
214
214
  args: [PLATFORM_ID]
215
215
  }] }, { type: undefined, decorators: [{
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
250
250
  }], disabled: [{
251
251
  type: Input
252
252
  }] } });
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RpbnltY2UtYW5ndWxhci1jb21wb25lbnQvc3JjL21haW4vdHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0RBQStEO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBRUwsU0FBUyxFQUVULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLFdBQVcsRUFDWCxjQUFjLEVBQ2QsUUFBUSxFQUVSLHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEksT0FBTyxLQUFLLGFBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQVksTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUVuRixNQUFNLCtCQUErQixHQUFHO0lBQ3RDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENB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SUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0gsQ0FBQzt1R0FwTlUsZUFBZSxtR0FpRWhCLFdBQVcsYUFDQyxrQkFBa0I7MkZBbEU3QixlQUFlLG1iQVRmLENBQUUsK0JBQStCLENBQUUsaURBRnBDLEVBQUUsK0ZBSUQsWUFBWSw4QkFBRSxXQUFXOzsyRkFPekIsZUFBZTtrQkFiM0IsU0FBUzsrQkFDRSxRQUFRLFlBQ1IsRUFBRSxhQUVELENBQUUsK0JBQStCLENBQUUsY0FDbEMsSUFBSSxXQUNQLENBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBRSxtQkFDckIsdUJBQXVCLENBQUMsTUFBTTs7MEJBdUU1QyxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjt5Q0FoRXhCLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsRUFBRTtzQkFBakIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFSyxRQUFRO3NCQURsQixLQUFLO2dCQWFLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcGFyYW1ldGVyLXByb3BlcnRpZXMgKi9cbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgUExBVEZPUk1fSUQsXG4gIEluamVjdGlvblRva2VuLFxuICBPcHRpb25hbCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0VGlueW1jZSB9IGZyb20gJy4uL1RpbnlNQ0UnO1xuaW1wb3J0IHsgbGlzdGVuVGlueU1DRUV2ZW50LCBiaW5kSGFuZGxlcnMsIGlzVGV4dGFyZWEsIG1lcmdlUGx1Z2lucywgdXVpZCwgbm9vcCwgaXNOdWxsT3JVbmRlZmluZWQsIHNldE1vZGUgfSBmcm9tICcuLi91dGlscy9VdGlscyc7XG5pbXBvcnQgKiBhcyBEaXNhYmxlZFV0aWxzIGZyb20gJy4uL3V0aWxzL0Rpc2FibGVkVXRpbHMnO1xuaW1wb3J0IHsgRXZlbnRPYmosIEV2ZW50cyB9IGZyb20gJy4vRXZlbnRzJztcbmltcG9ydCB7IFNjcmlwdExvYWRlciB9IGZyb20gJy4uL3V0aWxzL1NjcmlwdExvYWRlcic7XG5pbXBvcnQgdHlwZSB7IEVkaXRvciBhcyBUaW55TUNFRWRpdG9yLCBUaW55TUNFIH0gZnJvbSAndGlueW1jZSc7XG5cbnR5cGUgRWRpdG9yT3B0aW9ucyA9IFBhcmFtZXRlcnM8VGlueU1DRVsnaW5pdCddPlswXTtcblxuZXhwb3J0IGNvbnN0IFRJTllNQ0VfU0NSSVBUX1NSQyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdUSU5ZTUNFX1NDUklQVF9TUkMnKTtcblxuY29uc3QgRURJVE9SX0NPTVBPTkVOVF9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRvckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5leHBvcnQgdHlwZSBWZXJzaW9uID0gYCR7JzQnIHwgJzUnIHwgJzYnIHwgJzcnIHwgJzgnfSR7JycgfCAnLWRldicgfCAnLXRlc3RpbmcnIHwgYC4ke251bWJlcn1gIHwgYC4ke251bWJlcn0uJHtudW1iZXJ9YH1gO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZGl0b3InLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlczogWyAnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfScgXSxcbiAgcHJvdmlkZXJzOiBbIEVESVRPUl9DT01QT05FTlRfVkFMVUVfQUNDRVNTT1IgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG4vKipcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vd3d3LnRpbnkuY2xvdWQvZG9jcy90aW55bWNlLzcvYW5ndWxhci1yZWYvfSBmb3IgdGhlIFRpbnlNQ0UgQW5ndWxhciBUZWNobmljYWwgUmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBFdmVudHMgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgY2xvdWRDaGFubmVsOiBWZXJzaW9uID0gJzgnO1xuICBASW5wdXQoKSBwdWJsaWMgYXBpS2V5ID0gJ25vLWFwaS1rZXknO1xuICBASW5wdXQoKSBwdWJsaWMgbGljZW5zZUtleSA9ICdncGwnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdD86IEVkaXRvck9wdGlvbnM7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdGlhbFZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgb3V0cHV0Rm9ybWF0PzogJ2h0bWwnIHwgJ3RleHQnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5saW5lPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcHVibGljIHRhZ05hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbHVnaW5zPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdG9vbGJhcj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWxFdmVudHMgPSAnY2hhbmdlIGlucHV0IHVuZG8gcmVkbyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhbGxvd2VkRXZlbnRzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIEBJbnB1dCgpIHB1YmxpYyBpZ25vcmVFdmVudHM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWFkb25seSh2YWwpIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IHZhbDtcbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICBzZXRNb2RlKHRoaXMuX2VkaXRvciwgdmFsID8gJ3JlYWRvbmx5JyA6ICdkZXNpZ24nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgaWYgKERpc2FibGVkVXRpbHMuaXNEaXNhYmxlZE9wdGlvblN1cHBvcnRlZCh0aGlzLl9lZGl0b3IpKSB7XG4gICAgICAgIHRoaXMuX2VkaXRvci5vcHRpb25zLnNldCgnZGlzYWJsZWQnLCB2YWwgPz8gZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0TW9kZSh0aGlzLl9lZGl0b3IsIHZhbCA/ICdyZWFkb25seScgOiAnZGVzaWduJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVkaXRvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yO1xuICB9XG5cbiAgcHVibGljIG5nWm9uZTogTmdab25lO1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgX2VsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ/OiBib29sZWFuO1xuICBwcml2YXRlIF9yZWFkb25seT86IGJvb2xlYW47XG4gIHByaXZhdGUgX2VkaXRvcj86IFRpbnlNQ0VFZGl0b3I7XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjayA9IG5vb3A7XG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogYW55O1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVElOWU1DRV9TQ1JJUFRfU1JDKSBwcml2YXRlIHRpbnltY2VTY3JpcHRTcmM/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLm5nWm9uZSA9IG5nWm9uZTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2VkaXRvciAmJiB0aGlzLl9lZGl0b3IuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRDb250ZW50KGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSA/ICcnIDogdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHZhbHVlID09PSBudWxsID8gdW5kZWZpbmVkIDogdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5pZCA9IHRoaXMuaWQgfHwgdXVpZCgndGlueS1hbmd1bGFyJyk7XG4gICAgICB0aGlzLmlubGluZSA9IHRoaXMuaW5saW5lICE9PSB1bmRlZmluZWQgPyB0aGlzLmlubGluZSAhPT0gZmFsc2UgOiAhISh0aGlzLmluaXQ/LmlubGluZSk7XG4gICAgICB0aGlzLmNyZWF0ZUVsZW1lbnQoKTtcbiAgICAgIGlmIChnZXRUaW55bWNlKCkgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXNlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX2VsZW1lbnQgJiYgdGhpcy5fZWxlbWVudC5vd25lckRvY3VtZW50KSB7XG4gICAgICAgIC8vIENhcmV0YWtlciBub3RlOiB0aGUgY29tcG9uZW50IG1pZ2h0IGJlIGRlc3Ryb3llZCBiZWZvcmUgdGhlIHNjcmlwdCBpcyBsb2FkZWQgYW5kIGl0cyBjb2RlIGlzIGV4ZWN1dGVkLlxuICAgICAgICAvLyBUaGlzIHdpbGwgbGVhZCB0byBydW50aW1lIGV4Y2VwdGlvbnMgaWYgYGluaXRpYWxpc2VgIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBkZXN0cm95ZWQuXG4gICAgICAgIFNjcmlwdExvYWRlci5sb2FkKHRoaXMuX2VsZW1lbnQub3duZXJEb2N1bWVudCwgdGhpcy5nZXRTY3JpcHRTcmMoKSlcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmluaXRpYWxpc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcblxuICAgIGlmIChnZXRUaW55bWNlKCkgIT09IG51bGwpIHtcbiAgICAgIGdldFRpbnltY2UoKS5yZW1vdmUodGhpcy5fZWRpdG9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRWxlbWVudCgpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdHlwZW9mIHRoaXMudGFnTmFtZSA9PT0gJ3N0cmluZycgPyB0aGlzLnRhZ05hbWUgOiAnZGl2JztcbiAgICB0aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLmlubGluZSA/IHRhZ05hbWUgOiAndGV4dGFyZWEnKTtcbiAgICBpZiAodGhpcy5fZWxlbWVudCkge1xuICAgICAgY29uc3QgZXhpc3RpbmdFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XG4gICAgICBpZiAoZXhpc3RpbmdFbGVtZW50ICYmIGV4aXN0aW5nRWxlbWVudCAhPT0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIC8qIGVzbGludCBuby1jb25zb2xlOiBbXCJlcnJvclwiLCB7IGFsbG93OiBbXCJ3YXJuXCJdIH1dICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGlueU1DRS1Bbmd1bGFyOiBhbiBlbGVtZW50IHdpdGggaWQgWyR7dGhpcy5pZH1dIGFscmVhZHkgZXhpc3RzLiBFZGl0b3JzIHdpdGggZHVwbGljYXRlIElkIHdpbGwgbm90IGJlIGFibGUgdG8gbW91bnRgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2VsZW1lbnQuaWQgPSB0aGlzLmlkO1xuICAgICAgaWYgKGlzVGV4dGFyZWEodGhpcy5fZWxlbWVudCkpIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICB9XG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRpYWxpc2UgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgZmluYWxJbml0OiBFZGl0b3JPcHRpb25zID0ge1xuICAgICAgLi4udGhpcy5pbml0LFxuICAgICAgc2VsZWN0b3I6IHVuZGVmaW5lZCxcbiAgICAgIHRhcmdldDogdGhpcy5fZWxlbWVudCxcbiAgICAgIGlubGluZTogdGhpcy5pbmxpbmUsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgbGljZW5zZV9rZXk6IHRoaXMubGljZW5zZUtleSxcbiAgICAgIHBsdWdpbnM6IG1lcmdlUGx1Z2lucygodGhpcy5pbml0ICYmIHRoaXMuaW5pdC5wbHVnaW5zKSBhcyBzdHJpbmcsIHRoaXMucGx1Z2lucyksXG4gICAgICB0b29sYmFyOiB0aGlzLnRvb2xiYXIgfHwgKHRoaXMuaW5pdCAmJiB0aGlzLmluaXQudG9vbGJhciksXG4gICAgICBzZXR1cDogKGVkaXRvcjogVGlueU1DRUVkaXRvcikgPT4ge1xuICAgICAgICB0aGlzLl9lZGl0b3IgPSBlZGl0b3I7XG5cbiAgICAgICAgbGlzdGVuVGlueU1DRUV2ZW50KGVkaXRvciwgJ2luaXQnLCB0aGlzLmRlc3Ryb3kkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaW5pdEVkaXRvcihlZGl0b3IpO1xuICAgICAgICB9KTtcblxuICAgICAgICBiaW5kSGFuZGxlcnModGhpcywgZWRpdG9yLCB0aGlzLmRlc3Ryb3kkKTtcblxuICAgICAgICBpZiAodGhpcy5pbml0ICYmIHR5cGVvZiB0aGlzLmluaXQuc2V0dXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0aGlzLmluaXQuc2V0dXAoZWRpdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgaWYgKERpc2FibGVkVXRpbHMuaXNEaXNhYmxlZE9wdGlvblN1cHBvcnRlZChlZGl0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLl9lZGl0b3Iub3B0aW9ucy5zZXQoJ2Rpc2FibGVkJywgdGhpcy5kaXNhYmxlZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2VkaXRvci5tb2RlLnNldCgncmVhZG9ubHknKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKGlzVGV4dGFyZWEodGhpcy5fZWxlbWVudCkpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xuICAgIH1cblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGdldFRpbnltY2UoKS5pbml0KGZpbmFsSW5pdCk7XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRTY3JpcHRTcmMoKSB7XG4gICAgcmV0dXJuIGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudGlueW1jZVNjcmlwdFNyYykgP1xuICAgICAgYGh0dHBzOi8vY2RuLnRpbnkuY2xvdWQvMS8ke3RoaXMuYXBpS2V5fS90aW55bWNlLyR7dGhpcy5jbG91ZENoYW5uZWx9L3RpbnltY2UubWluLmpzYCA6XG4gICAgICB0aGlzLnRpbnltY2VTY3JpcHRTcmM7XG4gIH1cblxuICBwcml2YXRlIGluaXRFZGl0b3IoZWRpdG9yOiBUaW55TUNFRWRpdG9yKSB7XG4gICAgbGlzdGVuVGlueU1DRUV2ZW50KGVkaXRvciwgJ2JsdXInLCB0aGlzLmRlc3Ryb3kkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLm9uVG91Y2hlZENhbGxiYWNrKCkpO1xuICAgIH0pO1xuXG4gICAgbGlzdGVuVGlueU1DRUV2ZW50KGVkaXRvciwgdGhpcy5tb2RlbEV2ZW50cywgdGhpcy5kZXN0cm95JCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5lbWl0T25DaGFuZ2UoZWRpdG9yKSk7XG4gICAgfSk7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuaW5pdGlhbFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgZWRpdG9yLnNldENvbnRlbnQodGhpcy5pbml0aWFsVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgaWYgKGVkaXRvci5nZXRDb250ZW50KCkgIT09IHRoaXMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5lbWl0T25DaGFuZ2UoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vbkluaXROZ01vZGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm9uSW5pdE5nTW9kZWwuZW1pdChlZGl0b3IgYXMgdW5rbm93biBhcyBFdmVudE9iajxhbnk+KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0T25DaGFuZ2UoZWRpdG9yOiBUaW55TUNFRWRpdG9yKSB7XG4gICAgaWYgKHRoaXMub25DaGFuZ2VDYWxsYmFjaykge1xuICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKGVkaXRvci5nZXRDb250ZW50KHsgZm9ybWF0OiB0aGlzLm91dHB1dEZvcm1hdCB9KSk7XG4gICAgfVxuICB9XG59XG4iXX0=
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RpbnltY2UtYW5ndWxhci1jb21wb25lbnQvc3JjL21haW4vdHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBRUwsU0FBUyxFQUVULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLFdBQVcsRUFDWCxjQUFjLEVBQ2QsUUFBUSxFQUVSLHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEksT0FBTyxLQUFLLGFBQWEsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQVksTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFLckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUVuRixNQUFNLCtCQUErQixHQUFHO0lBQ3RDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENB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SUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0gsQ0FBQzt1R0FwTlUsZUFBZSxtR0FpRWhCLFdBQVcsYUFDQyxrQkFBa0I7MkZBbEU3QixlQUFlLG1iQVRmLENBQUUsK0JBQStCLENBQUUsaURBRnBDLEVBQUUsK0ZBSUQsWUFBWSw4QkFBRSxXQUFXOzsyRkFPekIsZUFBZTtrQkFiM0IsU0FBUzsrQkFDRSxRQUFRLFlBQ1IsRUFBRSxhQUVELENBQUUsK0JBQStCLENBQUUsY0FDbEMsSUFBSSxXQUNQLENBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBRSxtQkFDckIsdUJBQXVCLENBQUMsTUFBTTs7MEJBdUU1QyxNQUFNOzJCQUFDLFdBQVc7OzBCQUNsQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQjt5Q0FoRXhCLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsRUFBRTtzQkFBakIsS0FBSztnQkFDVSxZQUFZO3NCQUEzQixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLGFBQWE7c0JBQTVCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFFSyxRQUFRO3NCQURsQixLQUFLO2dCQWFLLFFBQVE7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvcGFyYW1ldGVyLXByb3BlcnRpZXMgKi9cbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgUExBVEZPUk1fSUQsXG4gIEluamVjdGlvblRva2VuLFxuICBPcHRpb25hbCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0VGlueW1jZSB9IGZyb20gJy4uL1RpbnlNQ0UnO1xuaW1wb3J0IHsgbGlzdGVuVGlueU1DRUV2ZW50LCBiaW5kSGFuZGxlcnMsIGlzVGV4dGFyZWEsIG1lcmdlUGx1Z2lucywgdXVpZCwgbm9vcCwgaXNOdWxsT3JVbmRlZmluZWQsIHNldE1vZGUgfSBmcm9tICcuLi91dGlscy9VdGlscyc7XG5pbXBvcnQgKiBhcyBEaXNhYmxlZFV0aWxzIGZyb20gJy4uL3V0aWxzL0Rpc2FibGVkVXRpbHMnO1xuaW1wb3J0IHsgRXZlbnRPYmosIEV2ZW50cyB9IGZyb20gJy4vRXZlbnRzJztcbmltcG9ydCB7IFNjcmlwdExvYWRlciB9IGZyb20gJy4uL3V0aWxzL1NjcmlwdExvYWRlcic7XG5pbXBvcnQgdHlwZSB7IEVkaXRvciBhcyBUaW55TUNFRWRpdG9yLCBUaW55TUNFIH0gZnJvbSAndGlueW1jZSc7XG5cbnR5cGUgRWRpdG9yT3B0aW9ucyA9IFBhcmFtZXRlcnM8VGlueU1DRVsnaW5pdCddPlswXTtcblxuZXhwb3J0IGNvbnN0IFRJTllNQ0VfU0NSSVBUX1NSQyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdUSU5ZTUNFX1NDUklQVF9TUkMnKTtcblxuY29uc3QgRURJVE9SX0NPTVBPTkVOVF9WQUxVRV9BQ0NFU1NPUiA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRvckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlXG59O1xuXG5leHBvcnQgdHlwZSBWZXJzaW9uID0gYCR7JzQnIHwgJzUnIHwgJzYnIHwgJzcnIHwgJzgnfSR7JycgfCAnLWRldicgfCAnLXRlc3RpbmcnIHwgYC4ke251bWJlcn1gIHwgYC4ke251bWJlcn0uJHtudW1iZXJ9YH1gO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlZGl0b3InLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlczogWyAnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfScgXSxcbiAgcHJvdmlkZXJzOiBbIEVESVRPUl9DT01QT05FTlRfVkFMVUVfQUNDRVNTT1IgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogWyBDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG4vKipcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vd3d3LnRpbnkuY2xvdWQvZG9jcy90aW55bWNlLzcvYW5ndWxhci1yZWYvfSBmb3IgdGhlIFRpbnlNQ0UgQW5ndWxhciBUZWNobmljYWwgUmVmZXJlbmNlXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBFdmVudHMgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgY2xvdWRDaGFubmVsOiBWZXJzaW9uID0gJzgnO1xuICBASW5wdXQoKSBwdWJsaWMgYXBpS2V5ID0gJ25vLWFwaS1rZXknO1xuICBASW5wdXQoKSBwdWJsaWMgbGljZW5zZUtleSA9ICdncGwnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdD86IEVkaXRvck9wdGlvbnM7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZCA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdGlhbFZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgb3V0cHV0Rm9ybWF0PzogJ2h0bWwnIHwgJ3RleHQnO1xuICBASW5wdXQoKSBwdWJsaWMgaW5saW5lPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcHVibGljIHRhZ05hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbHVnaW5zPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdG9vbGJhcj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBASW5wdXQoKSBwdWJsaWMgbW9kZWxFdmVudHMgPSAnY2hhbmdlIGlucHV0IHVuZG8gcmVkbyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhbGxvd2VkRXZlbnRzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIEBJbnB1dCgpIHB1YmxpYyBpZ25vcmVFdmVudHM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWFkb25seSh2YWwpIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IHZhbDtcbiAgICBpZiAodGhpcy5fZWRpdG9yKSB7XG4gICAgICBzZXRNb2RlKHRoaXMuX2VkaXRvciwgdmFsID8gJ3JlYWRvbmx5JyA6ICdkZXNpZ24nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWw7XG4gICAgaWYgKHRoaXMuX2VkaXRvcikge1xuICAgICAgaWYgKERpc2FibGVkVXRpbHMuaXNEaXNhYmxlZE9wdGlvblN1cHBvcnRlZCh0aGlzLl9lZGl0b3IpKSB7XG4gICAgICAgIHRoaXMuX2VkaXRvci5vcHRpb25zLnNldCgnZGlzYWJsZWQnLCB2YWwgPz8gZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0TW9kZSh0aGlzLl9lZGl0b3IsIHZhbCA/ICdyZWFkb25seScgOiAnZGVzaWduJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVkaXRvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yO1xuICB9XG5cbiAgcHVibGljIG5nWm9uZTogTmdab25lO1xuXG4gIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gIHByaXZhdGUgX2VsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ/OiBib29sZWFuO1xuICBwcml2YXRlIF9yZWFkb25seT86IGJvb2xlYW47XG4gIHByaXZhdGUgX2VkaXRvcj86IFRpbnlNQ0VFZGl0b3I7XG5cbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjayA9IG5vb3A7XG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogYW55O1xuXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoVElOWU1DRV9TQ1JJUFRfU1JDKSBwcml2YXRlIHRpbnltY2VTY3JpcHRTcmM/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLm5nWm9uZSA9IG5nWm9uZTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2VkaXRvciAmJiB0aGlzLl9lZGl0b3IuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRDb250ZW50KGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSA/ICcnIDogdmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHZhbHVlID09PSBudWxsID8gdW5kZWZpbmVkIDogdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgdGhpcy5pZCA9IHRoaXMuaWQgfHwgdXVpZCgndGlueS1hbmd1bGFyJyk7XG4gICAgICB0aGlzLmlubGluZSA9IHRoaXMuaW5saW5lICE9PSB1bmRlZmluZWQgPyB0aGlzLmlubGluZSAhPT0gZmFsc2UgOiAhISh0aGlzLmluaXQ/LmlubGluZSk7XG4gICAgICB0aGlzLmNyZWF0ZUVsZW1lbnQoKTtcbiAgICAgIGlmIChnZXRUaW55bWNlKCkgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXNlKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX2VsZW1lbnQgJiYgdGhpcy5fZWxlbWVudC5vd25lckRvY3VtZW50KSB7XG4gICAgICAgIC8vIENhcmV0YWtlciBub3RlOiB0aGUgY29tcG9uZW50IG1pZ2h0IGJlIGRlc3Ryb3llZCBiZWZvcmUgdGhlIHNjcmlwdCBpcyBsb2FkZWQgYW5kIGl0cyBjb2RlIGlzIGV4ZWN1dGVkLlxuICAgICAgICAvLyBUaGlzIHdpbGwgbGVhZCB0byBydW50aW1lIGV4Y2VwdGlvbnMgaWYgYGluaXRpYWxpc2VgIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBoYXMgYmVlbiBkZXN0cm95ZWQuXG4gICAgICAgIFNjcmlwdExvYWRlci5sb2FkKHRoaXMuX2VsZW1lbnQub3duZXJEb2N1bWVudCwgdGhpcy5nZXRTY3JpcHRTcmMoKSlcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgLnN1YnNjcmliZSh0aGlzLmluaXRpYWxpc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcblxuICAgIGlmIChnZXRUaW55bWNlKCkgIT09IG51bGwpIHtcbiAgICAgIGdldFRpbnltY2UoKS5yZW1vdmUodGhpcy5fZWRpdG9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlRWxlbWVudCgpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdHlwZW9mIHRoaXMudGFnTmFtZSA9PT0gJ3N0cmluZycgPyB0aGlzLnRhZ05hbWUgOiAnZGl2JztcbiAgICB0aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLmlubGluZSA/IHRhZ05hbWUgOiAndGV4dGFyZWEnKTtcbiAgICBpZiAodGhpcy5fZWxlbWVudCkge1xuICAgICAgY29uc3QgZXhpc3RpbmdFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XG4gICAgICBpZiAoZXhpc3RpbmdFbGVtZW50ICYmIGV4aXN0aW5nRWxlbWVudCAhPT0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgIC8qIGVzbGludCBuby1jb25zb2xlOiBbXCJlcnJvclwiLCB7IGFsbG93OiBbXCJ3YXJuXCJdIH1dICovXG4gICAgICAgIGNvbnNvbGUud2FybihgVGlueU1DRS1Bbmd1bGFyOiBhbiBlbGVtZW50IHdpdGggaWQgWyR7dGhpcy5pZH1dIGFscmVhZHkgZXhpc3RzLiBFZGl0b3JzIHdpdGggZHVwbGljYXRlIElkIHdpbGwgbm90IGJlIGFibGUgdG8gbW91bnRgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2VsZW1lbnQuaWQgPSB0aGlzLmlkO1xuICAgICAgaWYgKGlzVGV4dGFyZWEodGhpcy5fZWxlbWVudCkpIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICB9XG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGluaXRpYWxpc2UgPSAoKTogdm9pZCA9PiB7XG4gICAgY29uc3QgZmluYWxJbml0OiBFZGl0b3JPcHRpb25zID0ge1xuICAgICAgLi4udGhpcy5pbml0LFxuICAgICAgc2VsZWN0b3I6IHVuZGVmaW5lZCxcbiAgICAgIHRhcmdldDogdGhpcy5fZWxlbWVudCxcbiAgICAgIGlubGluZTogdGhpcy5pbmxpbmUsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgbGljZW5zZV9rZXk6IHRoaXMubGljZW5zZUtleSxcbiAgICAgIHBsdWdpbnM6IG1lcmdlUGx1Z2lucygodGhpcy5pbml0ICYmIHRoaXMuaW5pdC5wbHVnaW5zKSBhcyBzdHJpbmcsIHRoaXMucGx1Z2lucyksXG4gICAgICB0b29sYmFyOiB0aGlzLnRvb2xiYXIgfHwgKHRoaXMuaW5pdCAmJiB0aGlzLmluaXQudG9vbGJhciksXG4gICAgICBzZXR1cDogKGVkaXRvcjogVGlueU1DRUVkaXRvcikgPT4ge1xuICAgICAgICB0aGlzLl9lZGl0b3IgPSBlZGl0b3I7XG5cbiAgICAgICAgbGlzdGVuVGlueU1DRUV2ZW50KGVkaXRvciwgJ2luaXQnLCB0aGlzLmRlc3Ryb3kkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaW5pdEVkaXRvcihlZGl0b3IpO1xuICAgICAgICB9KTtcblxuICAgICAgICBiaW5kSGFuZGxlcnModGhpcywgZWRpdG9yLCB0aGlzLmRlc3Ryb3kkKTtcblxuICAgICAgICBpZiAodGhpcy5pbml0ICYmIHR5cGVvZiB0aGlzLmluaXQuc2V0dXAgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0aGlzLmluaXQuc2V0dXAoZWRpdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgaWYgKERpc2FibGVkVXRpbHMuaXNEaXNhYmxlZE9wdGlvblN1cHBvcnRlZChlZGl0b3IpKSB7XG4gICAgICAgICAgICB0aGlzLl9lZGl0b3Iub3B0aW9ucy5zZXQoJ2Rpc2FibGVkJywgdGhpcy5kaXNhYmxlZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2VkaXRvci5tb2RlLnNldCgncmVhZG9ubHknKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKGlzVGV4dGFyZWEodGhpcy5fZWxlbWVudCkpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICcnO1xuICAgIH1cblxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGdldFRpbnltY2UoKS5pbml0KGZpbmFsSW5pdCk7XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBnZXRTY3JpcHRTcmMoKSB7XG4gICAgcmV0dXJuIGlzTnVsbE9yVW5kZWZpbmVkKHRoaXMudGlueW1jZVNjcmlwdFNyYykgP1xuICAgICAgYGh0dHBzOi8vY2RuLnRpbnkuY2xvdWQvMS8ke3RoaXMuYXBpS2V5fS90aW55bWNlLyR7dGhpcy5jbG91ZENoYW5uZWx9L3RpbnltY2UubWluLmpzYCA6XG4gICAgICB0aGlzLnRpbnltY2VTY3JpcHRTcmM7XG4gIH1cblxuICBwcml2YXRlIGluaXRFZGl0b3IoZWRpdG9yOiBUaW55TUNFRWRpdG9yKSB7XG4gICAgbGlzdGVuVGlueU1DRUV2ZW50KGVkaXRvciwgJ2JsdXInLCB0aGlzLmRlc3Ryb3kkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLm9uVG91Y2hlZENhbGxiYWNrKCkpO1xuICAgIH0pO1xuXG4gICAgbGlzdGVuVGlueU1DRUV2ZW50KGVkaXRvciwgdGhpcy5tb2RlbEV2ZW50cywgdGhpcy5kZXN0cm95JCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5lbWl0T25DaGFuZ2UoZWRpdG9yKSk7XG4gICAgfSk7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuaW5pdGlhbFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgZWRpdG9yLnNldENvbnRlbnQodGhpcy5pbml0aWFsVmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgaWYgKGVkaXRvci5nZXRDb250ZW50KCkgIT09IHRoaXMuaW5pdGlhbFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5lbWl0T25DaGFuZ2UoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vbkluaXROZ01vZGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLm9uSW5pdE5nTW9kZWwuZW1pdChlZGl0b3IgYXMgdW5rbm93biBhcyBFdmVudE9iajxhbnk+KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0T25DaGFuZ2UoZWRpdG9yOiBUaW55TUNFRWRpdG9yKSB7XG4gICAgaWYgKHRoaXMub25DaGFuZ2VDYWxsYmFjaykge1xuICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKGVkaXRvci5nZXRDb250ZW50KHsgZm9ybWF0OiB0aGlzLm91dHB1dEZvcm1hdCB9KSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -56,7 +56,6 @@ const normalizePluginArray = (plugins) => {
56
56
  return Array.isArray(plugins) ? plugins : plugins.split(' ');
57
57
  };
58
58
  const mergePlugins = (initPlugins, inputPlugins) => normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));
59
- // eslint-disable-next-line @typescript-eslint/no-empty-function
60
59
  const noop = () => { };
61
60
  const isNullOrUndefined = (value) => value === null || value === undefined;
62
61
  const isObserved = (o) =>
@@ -72,4 +71,4 @@ const setMode = (editor, mode) => {
72
71
  }
73
72
  };
74
73
  export { listenTinyMCEEvent, bindHandlers, uuid, isTextarea, normalizePluginArray, mergePlugins, noop, isNullOrUndefined, setMode };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90aW55bWNlLWFuZ3VsYXItY29tcG9uZW50L3NyYy9tYWluL3RzL3V0aWxzL1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBRSxTQUFTLEVBQVcsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXJELE9BQU8sRUFBRSxXQUFXLEVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCx1SEFBdUg7QUFDdkgsa0RBQWtEO0FBQ2xELE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsTUFBVyxFQUNYLFNBQWlCLEVBQ2pCLFFBQXVCLEVBQ3ZCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBd0YsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFFOUksTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFvQixFQUFFLE1BQVcsRUFBRSxRQUF1QixFQUFRLEVBQUU7SUFDeEYsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNsQyxNQUFNLFlBQVksR0FBc0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZELGtCQUFrQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9FLDJHQUEyRztZQUMzRyx5R0FBeUc7WUFDekcsaUdBQWlHO1lBQ2pHLGdEQUFnRDtZQUNoRCx5RUFBeUU7WUFDekUsSUFBSSxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMs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QUUzRyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQW1CLEVBQVcsRUFBRTtBQUNsRCwrR0FBK0c7QUFDL0csdUNBQXVDO0FBQ3ZDLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBRXhDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBYyxFQUFFLElBQTJCLEVBQUUsRUFBRTtJQUM5RCxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztTQUFNLElBQUksU0FBUyxJQUFJLE1BQU0sSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osSUFBSSxFQUNKLFVBQVUsRUFDVixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLElBQUksRUFDSixpQkFBaUIsRUFDakIsT0FBTyxFQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxNy1wcmVzZW50LCBFcGhveCwgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSAyIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEhhc0V2ZW50VGFyZ2V0QWRkUmVtb3ZlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL2Zyb21FdmVudCc7XG5cbmltcG9ydCB7IEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uL2VkaXRvci9lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IHZhbGlkRXZlbnRzLCBFdmVudHMgfSBmcm9tICcuLi9lZGl0b3IvRXZlbnRzJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3RpbnltY2UnO1xuXG4vLyBDYXJldGFrZXIgbm90ZTogYGZyb21FdmVudGAgc3VwcG9ydHMgcGFzc2luZyBKUXVlcnktc3R5bGUgZXZlbnQgdGFyZ2V0cywgdGhlIGVkaXRvciBoYXMgYG9uYCBhbmQgYG9mZmAgbWV0aG9kcyB3aGljaFxuLy8gd2lsbCBiZSBpbnZva2VkIHVwb24gc3Vic2NyaXB0aW9uIGFuZCB0ZWFyZG93bi5cbmNvbnN0IGxpc3RlblRpbnlNQ0VFdmVudCA9IChcbiAgZWRpdG9yOiBhbnksXG4gIGV2ZW50TmFtZTogc3RyaW5nLFxuICBkZXN0cm95JDogU3ViamVjdDx2b2lkPlxuKSA9PiBmcm9tRXZlbnQoZWRpdG9yIGFzIEhhc0V2ZW50VGFyZ2V0QWRkUmVtb3ZlPHVua25vd24+IHwgQXJyYXlMaWtlPEhhc0V2ZW50VGFyZ2V0QWRkUmVtb3ZlPHVua25vd24+PiwgZXZlbnROYW1lKS5waXBlKHRha2VVbnRpbChkZXN0cm95JCkpO1xuXG5jb25zdCBiaW5kSGFuZGxlcnMgPSAoY3R4OiBFZGl0b3JDb21wb25lbnQsIGVkaXRvcjogYW55LCBkZXN0cm95JDogU3ViamVjdDx2b2lkPik6IHZvaWQgPT4ge1xuICBjb25zdCBhbGxvd2VkRXZlbnRzID0gZ2V0VmFsaWRFdmVudHMoY3R4KTtcbiAgYWxsb3dlZEV2ZW50cy5mb3JFYWNoKChldmVudE5hbWUpID0+IHtcbiAgICBjb25zdCBldmVudEVtaXR0ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gY3R4W2V2ZW50TmFtZV07XG5cbiAgICBsaXN0ZW5UaW55TUNFRXZlbnQoZWRpdG9yLCBldmVudE5hbWUuc3Vic3RyaW5nKDIpLCBkZXN0cm95JCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgLy8gQ2FyZXRha2VyIG5vdGU6IGBuZ1pvbmUucnVuKClgIHJ1bnMgY2hhbmdlIGRldGVjdGlvbiBzaW5jZSBpdCBub3RpZmllcyB0aGUgZm9ya2VkIEFuZ3VsYXIgem9uZSB0aGF0IGl0J3NcbiAgICAgIC8vIGJlaW5nIHJlLWVudGVyZWQuIFdlIGRvbid0IHdhbnQgdG8gcnVuIGBBcHBsaWNhdGlvblJlZi50aWNrKClgIGlmIGFueW9uZSBsaXN0ZW5zIHRvIHRoZSBzcGVjaWZpYyBldmVudFxuICAgICAgLy8gd2l0aGluIHRoZSB0ZW1wbGF0ZS4gRS5nLiBpZiB0aGUgYG9uU2VsZWN0aW9uQ2hhbmdlYCBpcyBub3QgbGlzdGVuZWQgd2l0aGluIHRoZSB0ZW1wbGF0ZSBsaWtlOlxuICAgICAgLy8gYDxlZGl0b3IgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIi4uLlwiPjwvZWRpdG9yPmBcbiAgICAgIC8vIHRoZW4gaXQgd29uJ3QgYmUgXCJvYnNlcnZlZFwiLCBhbmQgd2Ugd29uJ3QgcnVuIFwiZGVhZFwiIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICBpZiAoaXNPYnNlcnZlZChldmVudEVtaXR0ZXIpKSB7XG4gICAgICAgIGN0eC5uZ1pvbmUucnVuKCgpID0+IGV2ZW50RW1pdHRlci5lbWl0KHsgZXZlbnQsIGVkaXRvciB9KSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufTtcblxuY29uc3QgZ2V0VmFsaWRFdmVudHMgPSAoY3R4OiBFZGl0b3JDb21wb25lbnQpOiAoa2V5b2YgRXZlbnRzKVtdID0+IHtcbiAgY29uc3QgaWdub3JlZEV2ZW50cyA9IHBhcnNlU3RyaW5nUHJvcGVydHkoY3R4Lmlnbm9yZUV2ZW50cywgW10pO1xuICBjb25zdCBhbGxvd2VkRXZlbnRzID0gcGFyc2VTdHJpbmdQcm9wZXJ0eShjdHguYWxsb3dlZEV2ZW50cywgdmFsaWRFdmVudHMpLmZpbHRlcihcbiAgICAoZXZlbnQpID0+IHZhbGlkRXZlbnRzLmluY2x1ZGVzKGV2ZW50IGFzIChrZXlvZiBFdmVudHMpKSAmJiAhaWdub3JlZEV2ZW50cy5pbmNsdWRlcyhldmVudCkpIGFzIChrZXlvZiBFdmVudHMpW107XG4gIHJldHVybiBhbGxvd2VkRXZlbnRzO1xufTtcblxuY29uc3QgcGFyc2VTdHJpbmdQcm9wZXJ0eSA9IChwcm9wZXJ0eTogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQsIGRlZmF1bHRWYWx1ZTogKGtleW9mIEV2ZW50cylbXSk6IHN0cmluZ1tdID0+IHtcbiAgaWYgKHR5cGVvZiBwcm9wZXJ0eSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gcHJvcGVydHkuc3BsaXQoJywnKS5tYXAoKHZhbHVlKSA9PiB2YWx1ZS50cmltKCkpO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnR5KSkge1xuICAgIHJldHVybiBwcm9wZXJ0eTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdFZhbHVlO1xufTtcblxubGV0IHVuaXF1ZSA9IDA7XG5cbmNvbnN0IHV1aWQgPSAocHJlZml4OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgY29uc3QgdGltZSA9IGRhdGUuZ2V0VGltZSgpO1xuICBjb25zdCByYW5kb20gPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwMDAwKTtcblxuICB1bmlxdWUrKztcblxuICByZXR1cm4gcHJlZml4ICsgJ18nICsgcmFuZG9tICsgdW5pcXVlICsgU3RyaW5nKHRpbWUpO1xufTtcblxuY29uc3QgaXNUZXh0YXJlYSA9IChlbGVtZW50PzogRWxlbWVudCk6IGVsZW1lbnQgaXMgSFRNTFRleHRBcmVhRWxlbWVudCA9PiB0eXBlb2YgZWxlbWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd0ZXh0YXJlYSc7XG5cbmNvbnN0IG5vcm1hbGl6ZVBsdWdpbkFycmF5ID0gKHBsdWdpbnM/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcbiAgaWYgKHR5cGVvZiBwbHVnaW5zID09PSAndW5kZWZpbmVkJyB8fCBwbHVnaW5zID09PSAnJykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHJldHVybiBBcnJheS5pc0FycmF5KHBsdWdpbnMpID8gcGx1Z2lucyA6IHBsdWdpbnMuc3BsaXQoJyAnKTtcbn07XG5cbmNvbnN0IG1lcmdlUGx1Z2lucyA9IChpbml0UGx1Z2luczogc3RyaW5nIHwgc3RyaW5nW10sIGlucHV0UGx1Z2lucz86IHN0cmluZyB8IHN0cmluZ1tdKSA9PlxuICBub3JtYWxpemVQbHVnaW5BcnJheShpbml0UGx1Z2lucykuY29uY2F0KG5vcm1hbGl6ZVBsdWdpbkFycmF5KGlucHV0UGx1Z2lucykpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG5jb25zdCBub29wOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQgPSAoKSA9PiB7IH07XG5cbmNvbnN0IGlzTnVsbE9yVW5kZWZpbmVkID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBudWxsIHwgdW5kZWZpbmVkID0+IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XG5cbmNvbnN0IGlzT2JzZXJ2ZWQgPSAobzogU3ViamVjdDx1bmtub3duPik6IGJvb2xlYW4gPT5cbiAgLy8gUlhKUyBpcyBtYWtpbmcgdGhlIGBvYnNlcnZlcnNgIHByb3BlcnR5IGludGVybmFsIGluIHY4LiBTbyB0aGlzIGlzIGludGVuZGVkIGFzIGEgYmFja3dhcmRzIGNvbXBhdGlibGUgd2F5IG9mXG4gIC8vIGNoZWNraW5nIGlmIGEgc3ViamVjdCBoYXMgb2JzZXJ2ZXJzLlxuICBvLm9ic2VydmVkIHx8IG8ub2JzZXJ2ZXJzPy5sZW5ndGggPiAwO1xuXG5jb25zdCBzZXRNb2RlID0gKGVkaXRvcjogRWRpdG9yLCBtb2RlOiAncmVhZG9ubHknIHwgJ2Rlc2lnbicpID0+IHtcbiAgaWYgKHR5cGVvZiBlZGl0b3IubW9kZT8uc2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZWRpdG9yLm1vZGUuc2V0KG1vZGUpO1xuICB9IGVsc2UgaWYgKCdzZXRNb2RlJyBpbiBlZGl0b3IgJiYgdHlwZW9mIGVkaXRvci5zZXRNb2RlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZWRpdG9yLnNldE1vZGUobW9kZSk7XG4gIH1cbn07XG5cbmV4cG9ydCB7XG4gIGxpc3RlblRpbnlNQ0VFdmVudCxcbiAgYmluZEhhbmRsZXJzLFxuICB1dWlkLFxuICBpc1RleHRhcmVhLFxuICBub3JtYWxpemVQbHVnaW5BcnJheSxcbiAgbWVyZ2VQbHVnaW5zLFxuICBub29wLFxuICBpc051bGxPclVuZGVmaW5lZCxcbiAgc2V0TW9kZVxufTtcbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90aW55bWNlLWFuZ3VsYXItY29tcG9uZW50L3NyYy9tYWluL3RzL3V0aWxzL1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUdILE9BQU8sRUFBRSxTQUFTLEVBQVcsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSXJELE9BQU8sRUFBRSxXQUFXLEVBQVUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCx1SEFBdUg7QUFDdkgsa0RBQWtEO0FBQ2xELE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsTUFBVyxFQUNYLFNBQWlCLEVBQ2pCLFFBQXVCLEVBQ3ZCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBd0YsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFFOUksTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFvQixFQUFFLE1BQVcsRUFBRSxRQUF1QixFQUFRLEVBQUU7SUFDeEYsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtRQUNsQyxNQUFNLFlBQVksR0FBc0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZELGtCQUFrQixDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQy9FLDJHQUEyRztZQUMzRyx5R0FBeUc7WUFDekcsaUdBQWlHO1lBQ2pHLGdEQUFnRDtZQUNoRCx5RUFBeUU7WUFDekUsSUFBSSxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQW9CLEVBQW9CLEVBQUU7SUFDaEUsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRSxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FDOUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBdUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBcUIsQ0FBQztJQUNsSCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHLENBQUMsUUFBdUMsRUFBRSxZQUE4QixFQUFZLEVBQUU7SUFDaEgsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDNUIsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQUVmLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBYyxFQUFVLEVBQUU7SUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLENBQUM7SUFFdEQsTUFBTSxFQUFFLENBQUM7SUFFVCxPQUFPLE1BQU0sR0FBRyxHQUFHLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxPQUFpQixFQUFrQyxFQUFFLENBQUMsT0FBTyxPQUFPLEtBQUssV0FBVyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDO0FBRXpKLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxPQUEyQixFQUFZLEVBQUU7SUFDckUsSUFBSSxPQUFPLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3JELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHLENBQUMsV0FBOEIsRUFBRSxZQUFnQyxFQUFFLEVBQUUsQ0FDeEYsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFFL0UsTUFBTSxJQUFJLEdBQTZCLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUVqRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBVSxFQUE2QixFQUFFLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBRTNHLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBbUIsRUFBVyxFQUFFO0FBQ2xELCtHQUErRztBQUMvRyx1Q0FBdUM7QUFDdkMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFeEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFjLEVBQUUsSUFBMkIsRUFBRSxFQUFFO0lBQzlELElBQUksT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO1NBQU0sSUFBSSxTQUFTLElBQUksTUFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixJQUFJLEVBQ0osVUFBVSxFQUNWLG9CQUFvQixFQUNwQixZQUFZLEVBQ1osSUFBSSxFQUNKLGlCQUFpQixFQUNqQixPQUFPLEVBQ1IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE3LXByZXNlbnQsIEVwaG94LCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIDIgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSGFzRXZlbnRUYXJnZXRBZGRSZW1vdmUgfSBmcm9tICdyeGpzL2ludGVybmFsL29ic2VydmFibGUvZnJvbUV2ZW50JztcblxuaW1wb3J0IHsgRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZWRpdG9yL2VkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgdmFsaWRFdmVudHMsIEV2ZW50cyB9IGZyb20gJy4uL2VkaXRvci9FdmVudHMnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAndGlueW1jZSc7XG5cbi8vIENhcmV0YWtlciBub3RlOiBgZnJvbUV2ZW50YCBzdXBwb3J0cyBwYXNzaW5nIEpRdWVyeS1zdHlsZSBldmVudCB0YXJnZXRzLCB0aGUgZWRpdG9yIGhhcyBgb25gIGFuZCBgb2ZmYCBtZXRob2RzIHdoaWNoXG4vLyB3aWxsIGJlIGludm9rZWQgdXBvbiBzdWJzY3JpcHRpb24gYW5kIHRlYXJkb3duLlxuY29uc3QgbGlzdGVuVGlueU1DRUV2ZW50ID0gKFxuICBlZGl0b3I6IGFueSxcbiAgZXZlbnROYW1lOiBzdHJpbmcsXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+XG4pID0+IGZyb21FdmVudChlZGl0b3IgYXMgSGFzRXZlbnRUYXJnZXRBZGRSZW1vdmU8dW5rbm93bj4gfCBBcnJheUxpa2U8SGFzRXZlbnRUYXJnZXRBZGRSZW1vdmU8dW5rbm93bj4+LCBldmVudE5hbWUpLnBpcGUodGFrZVVudGlsKGRlc3Ryb3kkKSk7XG5cbmNvbnN0IGJpbmRIYW5kbGVycyA9IChjdHg6IEVkaXRvckNvbXBvbmVudCwgZWRpdG9yOiBhbnksIGRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+KTogdm9pZCA9PiB7XG4gIGNvbnN0IGFsbG93ZWRFdmVudHMgPSBnZXRWYWxpZEV2ZW50cyhjdHgpO1xuICBhbGxvd2VkRXZlbnRzLmZvckVhY2goKGV2ZW50TmFtZSkgPT4ge1xuICAgIGNvbnN0IGV2ZW50RW1pdHRlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBjdHhbZXZlbnROYW1lXTtcblxuICAgIGxpc3RlblRpbnlNQ0VFdmVudChlZGl0b3IsIGV2ZW50TmFtZS5zdWJzdHJpbmcoMiksIGRlc3Ryb3kkKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAvLyBDYXJldGFrZXIgbm90ZTogYG5nWm9uZS5ydW4oKWAgcnVucyBjaGFuZ2UgZGV0ZWN0aW9uIHNpbmNlIGl0IG5vdGlmaWVzIHRoZSBmb3JrZWQgQW5ndWxhciB6b25lIHRoYXQgaXQnc1xuICAgICAgLy8gYmVpbmcgcmUtZW50ZXJlZC4gV2UgZG9uJ3Qgd2FudCB0byBydW4gYEFwcGxpY2F0aW9uUmVmLnRpY2soKWAgaWYgYW55b25lIGxpc3RlbnMgdG8gdGhlIHNwZWNpZmljIGV2ZW50XG4gICAgICAvLyB3aXRoaW4gdGhlIHRlbXBsYXRlLiBFLmcuIGlmIHRoZSBgb25TZWxlY3Rpb25DaGFuZ2VgIGlzIG5vdCBsaXN0ZW5lZCB3aXRoaW4gdGhlIHRlbXBsYXRlIGxpa2U6XG4gICAgICAvLyBgPGVkaXRvciAob25TZWxlY3Rpb25DaGFuZ2UpPVwiLi4uXCI+PC9lZGl0b3I+YFxuICAgICAgLy8gdGhlbiBpdCB3b24ndCBiZSBcIm9ic2VydmVkXCIsIGFuZCB3ZSB3b24ndCBydW4gXCJkZWFkXCIgY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgIGlmIChpc09ic2VydmVkKGV2ZW50RW1pdHRlcikpIHtcbiAgICAgICAgY3R4Lm5nWm9uZS5ydW4oKCkgPT4gZXZlbnRFbWl0dGVyLmVtaXQoeyBldmVudCwgZWRpdG9yIH0pKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59O1xuXG5jb25zdCBnZXRWYWxpZEV2ZW50cyA9IChjdHg6IEVkaXRvckNvbXBvbmVudCk6IChrZXlvZiBFdmVudHMpW10gPT4ge1xuICBjb25zdCBpZ25vcmVkRXZlbnRzID0gcGFyc2VTdHJpbmdQcm9wZXJ0eShjdHguaWdub3JlRXZlbnRzLCBbXSk7XG4gIGNvbnN0IGFsbG93ZWRFdmVudHMgPSBwYXJzZVN0cmluZ1Byb3BlcnR5KGN0eC5hbGxvd2VkRXZlbnRzLCB2YWxpZEV2ZW50cykuZmlsdGVyKFxuICAgIChldmVudCkgPT4gdmFsaWRFdmVudHMuaW5jbHVkZXMoZXZlbnQgYXMgKGtleW9mIEV2ZW50cykpICYmICFpZ25vcmVkRXZlbnRzLmluY2x1ZGVzKGV2ZW50KSkgYXMgKGtleW9mIEV2ZW50cylbXTtcbiAgcmV0dXJuIGFsbG93ZWRFdmVudHM7XG59O1xuXG5jb25zdCBwYXJzZVN0cmluZ1Byb3BlcnR5ID0gKHByb3BlcnR5OiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCwgZGVmYXVsdFZhbHVlOiAoa2V5b2YgRXZlbnRzKVtdKTogc3RyaW5nW10gPT4ge1xuICBpZiAodHlwZW9mIHByb3BlcnR5ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBwcm9wZXJ0eS5zcGxpdCgnLCcpLm1hcCgodmFsdWUpID0+IHZhbHVlLnRyaW0oKSk7XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkocHJvcGVydHkpKSB7XG4gICAgcmV0dXJuIHByb3BlcnR5O1xuICB9XG4gIHJldHVybiBkZWZhdWx0VmFsdWU7XG59O1xuXG5sZXQgdW5pcXVlID0gMDtcblxuY29uc3QgdXVpZCA9IChwcmVmaXg6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICBjb25zdCB0aW1lID0gZGF0ZS5nZXRUaW1lKCk7XG4gIGNvbnN0IHJhbmRvbSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDAwMDApO1xuXG4gIHVuaXF1ZSsrO1xuXG4gIHJldHVybiBwcmVmaXggKyAnXycgKyByYW5kb20gKyB1bmlxdWUgKyBTdHJpbmcodGltZSk7XG59O1xuXG5jb25zdCBpc1RleHRhcmVhID0gKGVsZW1lbnQ/OiBFbGVtZW50KTogZWxlbWVudCBpcyBIVE1MVGV4dEFyZWFFbGVtZW50ID0+IHR5cGVvZiBlbGVtZW50ICE9PSAndW5kZWZpbmVkJyAmJiBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RleHRhcmVhJztcblxuY29uc3Qgbm9ybWFsaXplUGx1Z2luQXJyYXkgPSAocGx1Z2lucz86IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10gPT4ge1xuICBpZiAodHlwZW9mIHBsdWdpbnMgPT09ICd1bmRlZmluZWQnIHx8IHBsdWdpbnMgPT09ICcnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkocGx1Z2lucykgPyBwbHVnaW5zIDogcGx1Z2lucy5zcGxpdCgnICcpO1xufTtcblxuY29uc3QgbWVyZ2VQbHVnaW5zID0gKGluaXRQbHVnaW5zOiBzdHJpbmcgfCBzdHJpbmdbXSwgaW5wdXRQbHVnaW5zPzogc3RyaW5nIHwgc3RyaW5nW10pID0+XG4gIG5vcm1hbGl6ZVBsdWdpbkFycmF5KGluaXRQbHVnaW5zKS5jb25jYXQobm9ybWFsaXplUGx1Z2luQXJyYXkoaW5wdXRQbHVnaW5zKSk7XG5cbmNvbnN0IG5vb3A6ICguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCA9ICgpID0+IHsgfTtcblxuY29uc3QgaXNOdWxsT3JVbmRlZmluZWQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIG51bGwgfCB1bmRlZmluZWQgPT4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcblxuY29uc3QgaXNPYnNlcnZlZCA9IChvOiBTdWJqZWN0PHVua25vd24+KTogYm9vbGVhbiA9PlxuICAvLyBSWEpTIGlzIG1ha2luZyB0aGUgYG9ic2VydmVyc2AgcHJvcGVydHkgaW50ZXJuYWwgaW4gdjguIFNvIHRoaXMgaXMgaW50ZW5kZWQgYXMgYSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3YXkgb2ZcbiAgLy8gY2hlY2tpbmcgaWYgYSBzdWJqZWN0IGhhcyBvYnNlcnZlcnMuXG4gIG8ub2JzZXJ2ZWQgfHwgby5vYnNlcnZlcnM/Lmxlbmd0aCA+IDA7XG5cbmNvbnN0IHNldE1vZGUgPSAoZWRpdG9yOiBFZGl0b3IsIG1vZGU6ICdyZWFkb25seScgfCAnZGVzaWduJykgPT4ge1xuICBpZiAodHlwZW9mIGVkaXRvci5tb2RlPy5zZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBlZGl0b3IubW9kZS5zZXQobW9kZSk7XG4gIH0gZWxzZSBpZiAoJ3NldE1vZGUnIGluIGVkaXRvciAmJiB0eXBlb2YgZWRpdG9yLnNldE1vZGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICBlZGl0b3Iuc2V0TW9kZShtb2RlKTtcbiAgfVxufTtcblxuZXhwb3J0IHtcbiAgbGlzdGVuVGlueU1DRUV2ZW50LFxuICBiaW5kSGFuZGxlcnMsXG4gIHV1aWQsXG4gIGlzVGV4dGFyZWEsXG4gIG5vcm1hbGl6ZVBsdWdpbkFycmF5LFxuICBtZXJnZVBsdWdpbnMsXG4gIG5vb3AsXG4gIGlzTnVsbE9yVW5kZWZpbmVkLFxuICBzZXRNb2RlXG59O1xuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Directive, Output, InjectionToken, forwardRef, PLATFORM_ID, Component, ChangeDetectionStrategy, Inject, Optional, Input, NgModule } from '@angular/core';
2
+ import { EventEmitter, Output, Directive, InjectionToken, forwardRef, PLATFORM_ID, Input, Inject, Optional, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
3
  import { isPlatformBrowser, CommonModule } from '@angular/common';
4
4
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
5
  import { fromEvent, takeUntil, first, map, BehaviorSubject, filter, switchMap, shareReplay, Subject } from 'rxjs';
@@ -356,7 +356,6 @@ const normalizePluginArray = (plugins) => {
356
356
  return Array.isArray(plugins) ? plugins : plugins.split(' ');
357
357
  };
358
358
  const mergePlugins = (initPlugins, inputPlugins) => normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));
359
- // eslint-disable-next-line @typescript-eslint/no-empty-function
360
359
  const noop = () => { };
361
360
  const isNullOrUndefined = (value) => value === null || value === undefined;
362
361
  const isObserved = (o) =>
@@ -410,7 +409,7 @@ const CreateScriptLoader = () => {
410
409
  };
411
410
  const ScriptLoader = CreateScriptLoader();
412
411
 
413
- /* eslint-disable @typescript-eslint/no-parameter-properties */
412
+ /* eslint-disable @typescript-eslint/parameter-properties */
414
413
  const TINYMCE_SCRIPT_SRC = new InjectionToken('TINYMCE_SCRIPT_SRC');
415
414
  const EDITOR_COMPONENT_VALUE_ACCESSOR = {
416
415
  provide: NG_VALUE_ACCESSOR,
@@ -611,7 +610,7 @@ class EditorComponent extends Events {
611
610
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: EditorComponent, decorators: [{
612
611
  type: Component,
613
612
  args: [{ selector: 'editor', template: '', providers: [EDITOR_COMPONENT_VALUE_ACCESSOR], standalone: true, imports: [CommonModule, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block}\n"] }]
614
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: Object, decorators: [{
613
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
615
614
  type: Inject,
616
615
  args: [PLATFORM_ID]
617
616
  }] }, { type: undefined, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"tinymce-tinymce-angular.mjs","sources":["../../../tinymce-angular-component/src/main/ts/TinyMCE.ts","../../../tinymce-angular-component/src/main/ts/editor/Events.ts","../../../tinymce-angular-component/src/main/ts/utils/Utils.ts","../../../tinymce-angular-component/src/main/ts/utils/DisabledUtils.ts","../../../tinymce-angular-component/src/main/ts/utils/ScriptLoader.ts","../../../tinymce-angular-component/src/main/ts/editor/editor.component.ts","../../../tinymce-angular-component/src/main/ts/editor/editor.module.ts","../../../tinymce-angular-component/src/main/ts/tinymce-tinymce-angular.ts"],"sourcesContent":["/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst getTinymce = () => {\n const w = typeof window !== 'undefined' ? (window as any) : undefined;\n return w && w.tinymce ? w.tinymce : null;\n};\n\nexport { getTinymce };\n","import { Output, EventEmitter, Directive } from '@angular/core';\nimport type { Editor as TinyMCEEditor } from 'tinymce';\n\nexport interface EventObj<T> {\n event: T;\n editor: TinyMCEEditor;\n}\n\n@Directive()\nexport class Events {\n @Output() public onBeforePaste: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onBlur: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onClick: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onCompositionEnd: EventEmitter<EventObj<CompositionEvent>> = new EventEmitter();\n @Output() public onCompositionStart: EventEmitter<EventObj<CompositionEvent>> = new EventEmitter();\n @Output() public onCompositionUpdate: EventEmitter<EventObj<CompositionEvent>> = new EventEmitter();\n @Output() public onContextMenu: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onCopy: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onCut: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onDblclick: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onDrag: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragDrop: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragEnd: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragGesture: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragOver: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDrop: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onFocus: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onFocusIn: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onFocusOut: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onKeyDown: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onKeyPress: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onKeyUp: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onMouseDown: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseEnter: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseLeave: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseMove: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseOut: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseOver: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseUp: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onPaste: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onSelectionChange: EventEmitter<EventObj<Event>> = new EventEmitter();\n @Output() public onActivate: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onAddUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeAddUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeExecCommand: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeGetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeRenderUI: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeSetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onChange: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onClearUndos: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onDeactivate: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onDirty: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onExecCommand: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onGetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onHide: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onInit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onInput: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onInitNgModel: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onLoadContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onNodeChange: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPostProcess: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPostRender: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPreInit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPreProcess: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onProgressState: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onRedo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onRemove: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onReset: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onResizeEditor: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSaveContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSetAttrib: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectResizeStart: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectResized: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectSelected: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onShow: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSubmit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onVisualAid: EventEmitter<EventObj<any>> = new EventEmitter();\n}\n\nexport const validEvents: (keyof Events)[] = [\n 'onActivate',\n 'onAddUndo',\n 'onBeforeAddUndo',\n 'onBeforeExecCommand',\n 'onBeforeGetContent',\n 'onBeforeRenderUI',\n 'onBeforeSetContent',\n 'onBeforePaste',\n 'onBlur',\n 'onChange',\n 'onClearUndos',\n 'onClick',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onContextMenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onDeactivate',\n 'onDirty',\n 'onDrag',\n 'onDragDrop',\n 'onDragEnd',\n 'onDragGesture',\n 'onDragOver',\n 'onDrop',\n 'onExecCommand',\n 'onFocus',\n 'onFocusIn',\n 'onFocusOut',\n 'onGetContent',\n 'onHide',\n 'onInit',\n 'onInput',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onLoadContent',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onNodeChange',\n 'onObjectResizeStart',\n 'onObjectResized',\n 'onObjectSelected',\n 'onPaste',\n 'onPostProcess',\n 'onPostRender',\n 'onPreProcess',\n 'onProgressState',\n 'onRedo',\n 'onRemove',\n 'onReset',\n 'onResizeEditor',\n 'onSaveContent',\n 'onSelectionChange',\n 'onSetAttrib',\n 'onSetContent',\n 'onShow',\n 'onSubmit',\n 'onUndo',\n 'onVisualAid'\n];\n","/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { EventEmitter } from '@angular/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { HasEventTargetAddRemove } from 'rxjs/internal/observable/fromEvent';\n\nimport { EditorComponent } from '../editor/editor.component';\nimport { validEvents, Events } from '../editor/Events';\nimport { Editor } from 'tinymce';\n\n// Caretaker note: `fromEvent` supports passing JQuery-style event targets, the editor has `on` and `off` methods which\n// will be invoked upon subscription and teardown.\nconst listenTinyMCEEvent = (\n editor: any,\n eventName: string,\n destroy$: Subject<void>\n) => fromEvent(editor as HasEventTargetAddRemove<unknown> | ArrayLike<HasEventTargetAddRemove<unknown>>, eventName).pipe(takeUntil(destroy$));\n\nconst bindHandlers = (ctx: EditorComponent, editor: any, destroy$: Subject<void>): void => {\n const allowedEvents = getValidEvents(ctx);\n allowedEvents.forEach((eventName) => {\n const eventEmitter: EventEmitter<any> = ctx[eventName];\n\n listenTinyMCEEvent(editor, eventName.substring(2), destroy$).subscribe((event) => {\n // Caretaker note: `ngZone.run()` runs change detection since it notifies the forked Angular zone that it's\n // being re-entered. We don't want to run `ApplicationRef.tick()` if anyone listens to the specific event\n // within the template. E.g. if the `onSelectionChange` is not listened within the template like:\n // `<editor (onSelectionChange)=\"...\"></editor>`\n // then it won't be \"observed\", and we won't run \"dead\" change detection.\n if (isObserved(eventEmitter)) {\n ctx.ngZone.run(() => eventEmitter.emit({ event, editor }));\n }\n });\n });\n};\n\nconst getValidEvents = (ctx: EditorComponent): (keyof Events)[] => {\n const ignoredEvents = parseStringProperty(ctx.ignoreEvents, []);\n const allowedEvents = parseStringProperty(ctx.allowedEvents, validEvents).filter(\n (event) => validEvents.includes(event as (keyof Events)) && !ignoredEvents.includes(event)) as (keyof Events)[];\n return allowedEvents;\n};\n\nconst parseStringProperty = (property: string | string[] | undefined, defaultValue: (keyof Events)[]): string[] => {\n if (typeof property === 'string') {\n return property.split(',').map((value) => value.trim());\n }\n if (Array.isArray(property)) {\n return property;\n }\n return defaultValue;\n};\n\nlet unique = 0;\n\nconst uuid = (prefix: string): string => {\n const date = new Date();\n const time = date.getTime();\n const random = Math.floor(Math.random() * 1000000000);\n\n unique++;\n\n return prefix + '_' + random + unique + String(time);\n};\n\nconst isTextarea = (element?: Element): element is HTMLTextAreaElement => typeof element !== 'undefined' && element.tagName.toLowerCase() === 'textarea';\n\nconst normalizePluginArray = (plugins?: string | string[]): string[] => {\n if (typeof plugins === 'undefined' || plugins === '') {\n return [];\n }\n\n return Array.isArray(plugins) ? plugins : plugins.split(' ');\n};\n\nconst mergePlugins = (initPlugins: string | string[], inputPlugins?: string | string[]) =>\n normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nconst noop: (...args: any[]) => void = () => { };\n\nconst isNullOrUndefined = (value: any): value is null | undefined => value === null || value === undefined;\n\nconst isObserved = (o: Subject<unknown>): boolean =>\n // RXJS is making the `observers` property internal in v8. So this is intended as a backwards compatible way of\n // checking if a subject has observers.\n o.observed || o.observers?.length > 0;\n\nconst setMode = (editor: Editor, mode: 'readonly' | 'design') => {\n if (typeof editor.mode?.set === 'function') {\n editor.mode.set(mode);\n } else if ('setMode' in editor && typeof editor.setMode === 'function') {\n editor.setMode(mode);\n }\n};\n\nexport {\n listenTinyMCEEvent,\n bindHandlers,\n uuid,\n isTextarea,\n normalizePluginArray,\n mergePlugins,\n noop,\n isNullOrUndefined,\n setMode\n};\n","import { Editor } from 'tinymce';\n\nconst isDisabledOptionSupported = (editor: Editor) => editor.options && editor.options.isRegistered('disabled');\n\nexport {\n isDisabledOptionSupported\n};\n","/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { fromEvent, Observable, shareReplay, switchMap, BehaviorSubject, first, filter, map } from 'rxjs';\n\ninterface ScriptLoader {\n load: (doc: Document, url: string) => Observable<void>;\n /** Intended to only to be used by tests. */\n reinitialize: () => void;\n}\n\nconst firstEmission = () => (source: Observable<unknown>): Observable<void> => source.pipe(first(), map(() => undefined));\n\nconst CreateScriptLoader = (): ScriptLoader => {\n const params$ = new BehaviorSubject<Parameters<ScriptLoader['load']> | null>(null);\n const loaded$: Observable<void> = params$.pipe(\n filter(Boolean),\n switchMap(([ doc, url ]) => {\n const scriptTag = doc.createElement('script');\n scriptTag.referrerPolicy = 'origin';\n scriptTag.type = 'application/javascript';\n scriptTag.src = url;\n doc.head.appendChild(scriptTag);\n return fromEvent(scriptTag, 'load').pipe(firstEmission());\n }),\n // Caretaker note: `loaded$` is a multicast observable since it's piped with `shareReplay`,\n // so if there're multiple editor components simultaneously on the page, they'll subscribe to the internal\n // `ReplaySubject`. The script will be loaded only once, and `ReplaySubject` will cache the result.\n shareReplay({ bufferSize: 1, refCount: true })\n );\n\n return {\n load: (...args) => {\n if (!params$.getValue()) {\n params$.next(args);\n }\n return loaded$;\n },\n reinitialize: () => {\n params$.next(null);\n },\n };\n};\n\nconst ScriptLoader = CreateScriptLoader();\n\nexport { ScriptLoader };\n","/* eslint-disable @typescript-eslint/no-parameter-properties */\nimport { isPlatformBrowser, CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n InjectionToken,\n Optional,\n ChangeDetectorRef,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { FormsModule, ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\nimport { getTinymce } from '../TinyMCE';\nimport { listenTinyMCEEvent, bindHandlers, isTextarea, mergePlugins, uuid, noop, isNullOrUndefined, setMode } from '../utils/Utils';\nimport * as DisabledUtils from '../utils/DisabledUtils';\nimport { EventObj, Events } from './Events';\nimport { ScriptLoader } from '../utils/ScriptLoader';\nimport type { Editor as TinyMCEEditor, TinyMCE } from 'tinymce';\n\ntype EditorOptions = Parameters<TinyMCE['init']>[0];\n\nexport const TINYMCE_SCRIPT_SRC = new InjectionToken<string>('TINYMCE_SCRIPT_SRC');\n\nconst EDITOR_COMPONENT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EditorComponent),\n multi: true\n};\n\nexport type Version = `${'4' | '5' | '6' | '7' | '8'}${'' | '-dev' | '-testing' | `.${number}` | `.${number}.${number}`}`;\n\n@Component({\n selector: 'editor',\n template: '',\n styles: [ ':host { display: block; }' ],\n providers: [ EDITOR_COMPONENT_VALUE_ACCESSOR ],\n standalone: true,\n imports: [ CommonModule, FormsModule ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\n/**\n * @see {@link https://www.tiny.cloud/docs/tinymce/7/angular-ref/} for the TinyMCE Angular Technical Reference\n */\nexport class EditorComponent extends Events implements AfterViewInit, ControlValueAccessor, OnDestroy {\n\n @Input() public cloudChannel: Version = '8';\n @Input() public apiKey = 'no-api-key';\n @Input() public licenseKey = 'gpl';\n @Input() public init?: EditorOptions;\n @Input() public id = '';\n @Input() public initialValue?: string;\n @Input() public outputFormat?: 'html' | 'text';\n @Input() public inline?: boolean;\n @Input() public tagName?: string;\n @Input() public plugins?: string;\n @Input() public toolbar?: string | string[];\n @Input() public modelEvents = 'change input undo redo';\n @Input() public allowedEvents?: string | string[];\n @Input() public ignoreEvents?: string | string[];\n @Input()\n public set readonly(val) {\n this._readonly = val;\n if (this._editor) {\n setMode(this._editor, val ? 'readonly' : 'design');\n }\n }\n\n public get readonly() {\n return this._readonly;\n }\n\n @Input()\n public set disabled(val) {\n this._disabled = val;\n if (this._editor) {\n if (DisabledUtils.isDisabledOptionSupported(this._editor)) {\n this._editor.options.set('disabled', val ?? false);\n } else {\n setMode(this._editor, val ? 'readonly' : 'design');\n }\n }\n }\n\n public get disabled() {\n return this._disabled;\n }\n\n public get editor() {\n return this._editor;\n }\n\n public ngZone: NgZone;\n\n private _elementRef: ElementRef;\n private _element?: HTMLElement;\n private _disabled?: boolean;\n private _readonly?: boolean;\n private _editor?: TinyMCEEditor;\n\n private onTouchedCallback = noop;\n private onChangeCallback: any;\n\n private destroy$ = new Subject<void>();\n\n public constructor(\n elementRef: ElementRef,\n ngZone: NgZone,\n private cdRef: ChangeDetectorRef,\n @Inject(PLATFORM_ID) private platformId: Object,\n @Optional() @Inject(TINYMCE_SCRIPT_SRC) private tinymceScriptSrc?: string\n ) {\n super();\n this._elementRef = elementRef;\n this.ngZone = ngZone;\n }\n\n public writeValue(value: string | null): void {\n if (this._editor && this._editor.initialized) {\n this._editor.setContent(isNullOrUndefined(value) ? '' : value);\n } else {\n this.initialValue = value === null ? undefined : value;\n }\n }\n\n public registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.id = this.id || uuid('tiny-angular');\n this.inline = this.inline !== undefined ? this.inline !== false : !!(this.init?.inline);\n this.createElement();\n if (getTinymce() !== null) {\n this.initialise();\n } else if (this._element && this._element.ownerDocument) {\n // Caretaker note: the component might be destroyed before the script is loaded and its code is executed.\n // This will lead to runtime exceptions if `initialise` will be called when the component has been destroyed.\n ScriptLoader.load(this._element.ownerDocument, this.getScriptSrc())\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.initialise);\n }\n }\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n\n if (getTinymce() !== null) {\n getTinymce().remove(this._editor);\n }\n }\n\n public createElement() {\n const tagName = typeof this.tagName === 'string' ? this.tagName : 'div';\n this._element = document.createElement(this.inline ? tagName : 'textarea');\n if (this._element) {\n const existingElement = document.getElementById(this.id);\n if (existingElement && existingElement !== this._elementRef.nativeElement) {\n /* eslint no-console: [\"error\", { allow: [\"warn\"] }] */\n console.warn(`TinyMCE-Angular: an element with id [${this.id}] already exists. Editors with duplicate Id will not be able to mount`);\n }\n this._element.id = this.id;\n if (isTextarea(this._element)) {\n this._element.style.visibility = 'hidden';\n }\n this._elementRef.nativeElement.appendChild(this._element);\n }\n }\n\n public initialise = (): void => {\n const finalInit: EditorOptions = {\n ...this.init,\n selector: undefined,\n target: this._element,\n inline: this.inline,\n disabled: this.disabled,\n readonly: this.readonly,\n license_key: this.licenseKey,\n plugins: mergePlugins((this.init && this.init.plugins) as string, this.plugins),\n toolbar: this.toolbar || (this.init && this.init.toolbar),\n setup: (editor: TinyMCEEditor) => {\n this._editor = editor;\n\n listenTinyMCEEvent(editor, 'init', this.destroy$).subscribe(() => {\n this.initEditor(editor);\n });\n\n bindHandlers(this, editor, this.destroy$);\n\n if (this.init && typeof this.init.setup === 'function') {\n this.init.setup(editor);\n }\n\n if (this.disabled === true) {\n if (DisabledUtils.isDisabledOptionSupported(editor)) {\n this._editor.options.set('disabled', this.disabled);\n } else {\n this._editor.mode.set('readonly');\n }\n }\n }\n };\n\n if (isTextarea(this._element)) {\n this._element.style.visibility = '';\n }\n\n this.ngZone.runOutsideAngular(() => {\n getTinymce().init(finalInit);\n });\n };\n\n private getScriptSrc() {\n return isNullOrUndefined(this.tinymceScriptSrc) ?\n `https://cdn.tiny.cloud/1/${this.apiKey}/tinymce/${this.cloudChannel}/tinymce.min.js` :\n this.tinymceScriptSrc;\n }\n\n private initEditor(editor: TinyMCEEditor) {\n listenTinyMCEEvent(editor, 'blur', this.destroy$).subscribe(() => {\n this.cdRef.markForCheck();\n this.ngZone.run(() => this.onTouchedCallback());\n });\n\n listenTinyMCEEvent(editor, this.modelEvents, this.destroy$).subscribe(() => {\n this.cdRef.markForCheck();\n this.ngZone.run(() => this.emitOnChange(editor));\n });\n\n if (typeof this.initialValue === 'string') {\n this.ngZone.run(() => {\n editor.setContent(this.initialValue as string);\n if (editor.getContent() !== this.initialValue) {\n this.emitOnChange(editor);\n }\n if (this.onInitNgModel !== undefined) {\n this.onInitNgModel.emit(editor as unknown as EventObj<any>);\n }\n });\n }\n }\n\n private emitOnChange(editor: TinyMCEEditor) {\n if (this.onChangeCallback) {\n this.onChangeCallback(editor.getContent({ format: this.outputFormat }));\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { EditorComponent } from './editor.component';\n\n@NgModule({\n imports: [ EditorComponent ],\n exports: [ EditorComponent ]\n})\nexport class EditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["DisabledUtils.isDisabledOptionSupported"],"mappings":";;;;;;AAAA;;;;;;AAMG;AAEH,MAAM,UAAU,GAAG,MAAK;AACtB,IAAA,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,WAAW,GAAI,MAAc,GAAG,SAAS,CAAC;AACtE,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3C,CAAC;;MCFY,MAAM,CAAA;AACA,IAAA,aAAa,GAA2C,IAAI,YAAY,EAAE,CAAC;AAC3E,IAAA,MAAM,GAAuC,IAAI,YAAY,EAAE,CAAC;AAChE,IAAA,OAAO,GAAuC,IAAI,YAAY,EAAE,CAAC;AACjE,IAAA,gBAAgB,GAA6C,IAAI,YAAY,EAAE,CAAC;AAChF,IAAA,kBAAkB,GAA6C,IAAI,YAAY,EAAE,CAAC;AAClF,IAAA,mBAAmB,GAA6C,IAAI,YAAY,EAAE,CAAC;AACnF,IAAA,aAAa,GAAuC,IAAI,YAAY,EAAE,CAAC;AACvE,IAAA,MAAM,GAA2C,IAAI,YAAY,EAAE,CAAC;AACpE,IAAA,KAAK,GAA2C,IAAI,YAAY,EAAE,CAAC;AACnE,IAAA,UAAU,GAAuC,IAAI,YAAY,EAAE,CAAC;AACpE,IAAA,MAAM,GAAsC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,UAAU,GAAsC,IAAI,YAAY,EAAE,CAAC;AACnE,IAAA,SAAS,GAAsC,IAAI,YAAY,EAAE,CAAC;AAClE,IAAA,aAAa,GAAsC,IAAI,YAAY,EAAE,CAAC;AACtE,IAAA,UAAU,GAAsC,IAAI,YAAY,EAAE,CAAC;AACnE,IAAA,MAAM,GAAsC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,OAAO,GAAuC,IAAI,YAAY,EAAE,CAAC;AACjE,IAAA,SAAS,GAAuC,IAAI,YAAY,EAAE,CAAC;AACnE,IAAA,UAAU,GAAuC,IAAI,YAAY,EAAE,CAAC;AACpE,IAAA,SAAS,GAA0C,IAAI,YAAY,EAAE,CAAC;AACtE,IAAA,UAAU,GAA0C,IAAI,YAAY,EAAE,CAAC;AACvE,IAAA,OAAO,GAA0C,IAAI,YAAY,EAAE,CAAC;AACpE,IAAA,WAAW,GAAuC,IAAI,YAAY,EAAE,CAAC;AACrE,IAAA,YAAY,GAAuC,IAAI,YAAY,EAAE,CAAC;AACtE,IAAA,YAAY,GAAuC,IAAI,YAAY,EAAE,CAAC;AACtE,IAAA,WAAW,GAAuC,IAAI,YAAY,EAAE,CAAC;AACrE,IAAA,UAAU,GAAuC,IAAI,YAAY,EAAE,CAAC;AACpE,IAAA,WAAW,GAAuC,IAAI,YAAY,EAAE,CAAC;AACrE,IAAA,SAAS,GAAuC,IAAI,YAAY,EAAE,CAAC;AACnE,IAAA,OAAO,GAA2C,IAAI,YAAY,EAAE,CAAC;AACrE,IAAA,iBAAiB,GAAkC,IAAI,YAAY,EAAE,CAAC;AACtE,IAAA,UAAU,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC7D,IAAA,SAAS,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC5D,IAAA,eAAe,GAAgC,IAAI,YAAY,EAAE,CAAC;AAClE,IAAA,mBAAmB,GAAgC,IAAI,YAAY,EAAE,CAAC;AACtE,IAAA,kBAAkB,GAAgC,IAAI,YAAY,EAAE,CAAC;AACrE,IAAA,gBAAgB,GAAgC,IAAI,YAAY,EAAE,CAAC;AACnE,IAAA,kBAAkB,GAAgC,IAAI,YAAY,EAAE,CAAC;AACrE,IAAA,QAAQ,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC3D,IAAA,YAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,YAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,OAAO,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC1D,IAAA,aAAa,GAAgC,IAAI,YAAY,EAAE,CAAC;AAChE,IAAA,YAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,MAAM,GAAgC,IAAI,YAAY,EAAE,CAAC;AACzD,IAAA,MAAM,GAAgC,IAAI,YAAY,EAAE,CAAC;AACzD,IAAA,OAAO,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC1D,IAAA,aAAa,GAAgC,IAAI,YAAY,EAAE,CAAC;AAChE,IAAA,aAAa,GAAgC,IAAI,YAAY,EAAE,CAAC;AAChE,IAAA,YAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,aAAa,GAAgC,IAAI,YAAY,EAAE,CAAC;AAChE,IAAA,YAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,SAAS,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC5D,IAAA,YAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,eAAe,GAAgC,IAAI,YAAY,EAAE,CAAC;AAClE,IAAA,MAAM,GAAgC,IAAI,YAAY,EAAE,CAAC;AACzD,IAAA,QAAQ,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC3D,IAAA,OAAO,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC1D,IAAA,cAAc,GAAgC,IAAI,YAAY,EAAE,CAAC;AACjE,IAAA,aAAa,GAAgC,IAAI,YAAY,EAAE,CAAC;AAChE,IAAA,WAAW,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC9D,IAAA,mBAAmB,GAAgC,IAAI,YAAY,EAAE,CAAC;AACtE,IAAA,eAAe,GAAgC,IAAI,YAAY,EAAE,CAAC;AAClE,IAAA,gBAAgB,GAAgC,IAAI,YAAY,EAAE,CAAC;AACnE,IAAA,YAAY,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC/D,IAAA,MAAM,GAAgC,IAAI,YAAY,EAAE,CAAC;AACzD,IAAA,QAAQ,GAAgC,IAAI,YAAY,EAAE,CAAC;AAC3D,IAAA,MAAM,GAAgC,IAAI,YAAY,EAAE,CAAC;AACzD,IAAA,WAAW,GAAgC,IAAI,YAAY,EAAE,CAAC;uGArEpE,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAAN,MAAM,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBADlB,SAAS;8BAES,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,gBAAgB,EAAA,CAAA;sBAAhC,MAAM;gBACU,kBAAkB,EAAA,CAAA;sBAAlC,MAAM;gBACU,mBAAmB,EAAA,CAAA;sBAAnC,MAAM;gBACU,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,KAAK,EAAA,CAAA;sBAArB,MAAM;gBACU,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,SAAS,EAAA,CAAA;sBAAzB,MAAM;gBACU,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,SAAS,EAAA,CAAA;sBAAzB,MAAM;gBACU,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,SAAS,EAAA,CAAA;sBAAzB,MAAM;gBACU,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,WAAW,EAAA,CAAA;sBAA3B,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,WAAW,EAAA,CAAA;sBAA3B,MAAM;gBACU,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,WAAW,EAAA,CAAA;sBAA3B,MAAM;gBACU,SAAS,EAAA,CAAA;sBAAzB,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,iBAAiB,EAAA,CAAA;sBAAjC,MAAM;gBACU,UAAU,EAAA,CAAA;sBAA1B,MAAM;gBACU,SAAS,EAAA,CAAA;sBAAzB,MAAM;gBACU,eAAe,EAAA,CAAA;sBAA/B,MAAM;gBACU,mBAAmB,EAAA,CAAA;sBAAnC,MAAM;gBACU,kBAAkB,EAAA,CAAA;sBAAlC,MAAM;gBACU,gBAAgB,EAAA,CAAA;sBAAhC,MAAM;gBACU,kBAAkB,EAAA,CAAA;sBAAlC,MAAM;gBACU,QAAQ,EAAA,CAAA;sBAAxB,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,SAAS,EAAA,CAAA;sBAAzB,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,eAAe,EAAA,CAAA;sBAA/B,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,QAAQ,EAAA,CAAA;sBAAxB,MAAM;gBACU,OAAO,EAAA,CAAA;sBAAvB,MAAM;gBACU,cAAc,EAAA,CAAA;sBAA9B,MAAM;gBACU,aAAa,EAAA,CAAA;sBAA7B,MAAM;gBACU,WAAW,EAAA,CAAA;sBAA3B,MAAM;gBACU,mBAAmB,EAAA,CAAA;sBAAnC,MAAM;gBACU,eAAe,EAAA,CAAA;sBAA/B,MAAM;gBACU,gBAAgB,EAAA,CAAA;sBAAhC,MAAM;gBACU,YAAY,EAAA,CAAA;sBAA5B,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,QAAQ,EAAA,CAAA;sBAAxB,MAAM;gBACU,MAAM,EAAA,CAAA;sBAAtB,MAAM;gBACU,WAAW,EAAA,CAAA;sBAA3B,MAAM;;AAGF,MAAM,WAAW,GAAqB;IAC3C,YAAY;IACZ,WAAW;IACX,iBAAiB;IACjB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,eAAe;IACf,QAAQ;IACR,UAAU;IACV,cAAc;IACd,SAAS;IACT,kBAAkB;IAClB,oBAAoB;IACpB,qBAAqB;IACrB,eAAe;IACf,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,cAAc;IACd,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,eAAe;IACf,YAAY;IACZ,QAAQ;IACR,eAAe;IACf,SAAS;IACT,WAAW;IACX,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,YAAY;IACZ,SAAS;IACT,eAAe;IACf,aAAa;IACb,cAAc;IACd,cAAc;IACd,aAAa;IACb,YAAY;IACZ,aAAa;IACb,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,SAAS;IACT,eAAe;IACf,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,QAAQ;IACR,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,mBAAmB;IACnB,aAAa;IACb,cAAc;IACd,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,aAAa;CACd;;ACrJD;;;;;;AAMG;AAUH;AACA;AACA,MAAM,kBAAkB,GAAG,CACzB,MAAW,EACX,SAAiB,EACjB,QAAuB,KACpB,SAAS,CAAC,MAAwF,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE9I,MAAM,YAAY,GAAG,CAAC,GAAoB,EAAE,MAAW,EAAE,QAAuB,KAAU;AACxF,IAAA,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;AAC1C,IAAA,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,KAAI;AAClC,QAAA,MAAM,YAAY,GAAsB,GAAG,CAAC,SAAS,CAAC,CAAC;AAEvD,QAAA,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;;;;;;AAM/E,YAAA,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;AAC5B,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;aAC5D;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,GAAoB,KAAsB;IAChE,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;AAChE,IAAA,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,MAAM,CAC9E,CAAC,KAAK,KAAK,WAAW,CAAC,QAAQ,CAAC,KAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAqB,CAAC;AAClH,IAAA,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,QAAuC,EAAE,YAA8B,KAAc;AAChH,IAAA,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAChC,QAAA,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;KACzD;AACD,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3B,QAAA,OAAO,QAAQ,CAAC;KACjB;AACD,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,MAAM,IAAI,GAAG,CAAC,MAAc,KAAY;AACtC,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AACxB,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;AAC5B,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC;AAEtD,IAAA,MAAM,EAAE,CAAC;AAET,IAAA,OAAO,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,OAAiB,KAAqC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;AAEzJ,MAAM,oBAAoB,GAAG,CAAC,OAA2B,KAAc;IACrE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,EAAE,EAAE;AACpD,QAAA,OAAO,EAAE,CAAC;KACX;AAED,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,WAA8B,EAAE,YAAgC,KACpF,oBAAoB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;AAE/E;AACA,MAAM,IAAI,GAA6B,MAAK,GAAI,CAAC;AAEjD,MAAM,iBAAiB,GAAG,CAAC,KAAU,KAAgC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAE3G,MAAM,UAAU,GAAG,CAAC,CAAmB;AACrC;AACA;AACA,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC;AAExC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,IAA2B,KAAI;IAC9D,IAAI,OAAO,MAAM,CAAC,IAAI,EAAE,GAAG,KAAK,UAAU,EAAE;AAC1C,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACvB;SAAM,IAAI,SAAS,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE;AACtE,QAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;AACH,CAAC;;AClGD,MAAM,yBAAyB,GAAG,CAAC,MAAc,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;;ACF/G;;;;;;AAMG;AAUH,MAAM,aAAa,GAAG,MAAM,CAAC,MAA2B,KAAuB,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC;AAE1H,MAAM,kBAAkB,GAAG,MAAmB;AAC5C,IAAA,MAAM,OAAO,GAAG,IAAI,eAAe,CAA0C,IAAI,CAAC,CAAC;IACnF,MAAM,OAAO,GAAqB,OAAO,CAAC,IAAI,CAC5C,MAAM,CAAC,OAAO,CAAC,EACf,SAAS,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,CAAE,KAAI;QACzB,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC9C,QAAA,SAAS,CAAC,cAAc,GAAG,QAAQ,CAAC;AACpC,QAAA,SAAS,CAAC,IAAI,GAAG,wBAAwB,CAAC;AAC1C,QAAA,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;AACpB,QAAA,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,OAAO,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAC5D,KAAC,CAAC;;;;AAIF,IAAA,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC/C,CAAC;IAEF,OAAO;AACL,QAAA,IAAI,EAAE,CAAC,GAAG,IAAI,KAAI;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;AACvB,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpB;AACD,YAAA,OAAO,OAAO,CAAC;SAChB;QACD,YAAY,EAAE,MAAK;AACjB,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,kBAAkB,EAAE;;ACjDzC;MA4Ba,kBAAkB,GAAG,IAAI,cAAc,CAAS,oBAAoB,EAAE;AAEnF,MAAM,+BAA+B,GAAG;AACtC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,eAAe,CAAC;AAC9C,IAAA,KAAK,EAAE,IAAI;CACZ,CAAC;AAcF;;AAEG;AACG,MAAO,eAAgB,SAAQ,MAAM,CAAA;AAgE/B,IAAA,KAAA,CAAA;AACqB,IAAA,UAAA,CAAA;AACmB,IAAA,gBAAA,CAAA;IAhElC,YAAY,GAAY,GAAG,CAAC;IAC5B,MAAM,GAAG,YAAY,CAAC;IACtB,UAAU,GAAG,KAAK,CAAC;AACnB,IAAA,IAAI,CAAiB;IACrB,EAAE,GAAG,EAAE,CAAC;AACR,IAAA,YAAY,CAAU;AACtB,IAAA,YAAY,CAAmB;AAC/B,IAAA,MAAM,CAAW;AACjB,IAAA,OAAO,CAAU;AACjB,IAAA,OAAO,CAAU;AACjB,IAAA,OAAO,CAAqB;IAC5B,WAAW,GAAG,wBAAwB,CAAC;AACvC,IAAA,aAAa,CAAqB;AAClC,IAAA,YAAY,CAAqB;IACjD,IACW,QAAQ,CAAC,GAAG,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC;SACpD;KACF;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IAED,IACW,QAAQ,CAAC,GAAG,EAAA;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAIA,yBAAuC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACzD,gBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;aACpD;iBAAM;AACL,gBAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,UAAU,GAAG,QAAQ,CAAC,CAAC;aACpD;SACF;KACF;AAED,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;AAED,IAAA,IAAW,MAAM,GAAA;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAEM,IAAA,MAAM,CAAS;AAEd,IAAA,WAAW,CAAa;AACxB,IAAA,QAAQ,CAAe;AACvB,IAAA,SAAS,CAAW;AACpB,IAAA,SAAS,CAAW;AACpB,IAAA,OAAO,CAAiB;IAExB,iBAAiB,GAAG,IAAI,CAAC;AACzB,IAAA,gBAAgB,CAAM;AAEtB,IAAA,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAEvC,WACE,CAAA,UAAsB,EACtB,MAAc,EACN,KAAwB,EACH,UAAkB,EACC,gBAAyB,EAAA;AAEzE,QAAA,KAAK,EAAE,CAAC;QAJA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAmB;QACH,IAAU,CAAA,UAAA,GAAV,UAAU,CAAQ;QACC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAS;AAGzE,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;KACtB;AAEM,IAAA,UAAU,CAAC,KAAoB,EAAA;QACpC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;AAC5C,YAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;SAChE;aAAM;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,KAAK,IAAI,GAAG,SAAS,GAAG,KAAK,CAAC;SACxD;KACF;AAEM,IAAA,gBAAgB,CAAC,EAAoB,EAAA;AAC1C,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;KAC5B;AAEM,IAAA,iBAAiB,CAAC,EAAO,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC7B;AAEM,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;KAC5B;IAEM,eAAe,GAAA;AACpB,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1C,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxF,IAAI,CAAC,aAAa,EAAE,CAAC;AACrB,YAAA,IAAI,UAAU,EAAE,KAAK,IAAI,EAAE;gBACzB,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;iBAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;;;AAGvD,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;AAChE,qBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC9B,qBAAA,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;SACF;KACF;IAEM,WAAW,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AAErB,QAAA,IAAI,UAAU,EAAE,KAAK,IAAI,EAAE;YACzB,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnC;KACF;IAEM,aAAa,GAAA;AAClB,QAAA,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACxE,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC;AAC3E,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,eAAe,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,eAAe,IAAI,eAAe,KAAK,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;;gBAEzE,OAAO,CAAC,IAAI,CAAC,CAAA,qCAAA,EAAwC,IAAI,CAAC,EAAE,CAAuE,qEAAA,CAAA,CAAC,CAAC;aACtI;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAC3B,YAAA,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;aAC3C;YACD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3D;KACF;IAEM,UAAU,GAAG,MAAW;AAC7B,QAAA,MAAM,SAAS,GAAkB;YAC/B,GAAG,IAAI,CAAC,IAAI;AACZ,YAAA,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,UAAU;AAC5B,YAAA,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,GAAa,IAAI,CAAC,OAAO,CAAC;AAC/E,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AACzD,YAAA,KAAK,EAAE,CAAC,MAAqB,KAAI;AAC/B,gBAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AAEtB,gBAAA,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AAC/D,oBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC1B,iBAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE1C,gBAAA,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;AACtD,oBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACzB;AAED,gBAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AAC1B,oBAAA,IAAIA,yBAAuC,CAAC,MAAM,CAAC,EAAE;AACnD,wBAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACrD;yBAAM;wBACL,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;qBACnC;iBACF;aACF;SACF,CAAC;AAEF,QAAA,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;SACrC;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAK;AACjC,YAAA,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;AACL,KAAC,CAAC;IAEM,YAAY,GAAA;AAClB,QAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC7C,CAA4B,yBAAA,EAAA,IAAI,CAAC,MAAM,CAAA,SAAA,EAAY,IAAI,CAAC,YAAY,CAAiB,eAAA,CAAA;YACrF,IAAI,CAAC,gBAAgB,CAAC;KACzB;AAEO,IAAA,UAAU,CAAC,MAAqB,EAAA;AACtC,QAAA,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AAC/D,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;AAEH,QAAA,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,MAAK;AACzE,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;AACnD,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE;AACzC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAsB,CAAC,CAAC;gBAC/C,IAAI,MAAM,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,YAAY,EAAE;AAC7C,oBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;iBAC3B;AACD,gBAAA,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE;AACpC,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAkC,CAAC,CAAC;iBAC7D;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAEO,IAAA,YAAY,CAAC,MAAqB,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SACzE;KACF;uGApNU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAiEhB,WAAW,EAAA,EAAA,EAAA,KAAA,EACC,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2FAlE7B,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EATf,CAAE,+BAA+B,CAAE,iDAFpC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAID,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAOzB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAb3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,QAAQ,YACR,EAAE,EAAA,SAAA,EAED,CAAE,+BAA+B,CAAE,EAClC,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAE,YAAY,EAAE,WAAW,CAAE,EACrB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA;;0BAuE5C,MAAM;2BAAC,WAAW,CAAA;;0BAClB,QAAQ;;0BAAI,MAAM;2BAAC,kBAAkB,CAAA;yCAhExB,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,UAAU,EAAA,CAAA;sBAAzB,KAAK;gBACU,IAAI,EAAA,CAAA;sBAAnB,KAAK;gBACU,EAAE,EAAA,CAAA;sBAAjB,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBACU,MAAM,EAAA,CAAA;sBAArB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,OAAO,EAAA,CAAA;sBAAtB,KAAK;gBACU,WAAW,EAAA,CAAA;sBAA1B,KAAK;gBACU,aAAa,EAAA,CAAA;sBAA5B,KAAK;gBACU,YAAY,EAAA,CAAA;sBAA3B,KAAK;gBAEK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAaK,QAAQ,EAAA,CAAA;sBADlB,KAAK;;;MCvEK,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAZ,YAAY,EAAA,OAAA,EAAA,CAHZ,eAAe,CAAA,EAAA,OAAA,EAAA,CACf,eAAe,CAAA,EAAA,CAAA,CAAA;AAEf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHZ,eAAe,CAAA,EAAA,CAAA,CAAA;;2FAGf,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAE,eAAe,CAAE;oBAC5B,OAAO,EAAE,CAAE,eAAe,CAAE;AAC7B,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"tinymce-tinymce-angular.mjs","sources":["../../../tinymce-angular-component/src/main/ts/TinyMCE.ts","../../../tinymce-angular-component/src/main/ts/editor/Events.ts","../../../tinymce-angular-component/src/main/ts/utils/Utils.ts","../../../tinymce-angular-component/src/main/ts/utils/DisabledUtils.ts","../../../tinymce-angular-component/src/main/ts/utils/ScriptLoader.ts","../../../tinymce-angular-component/src/main/ts/editor/editor.component.ts","../../../tinymce-angular-component/src/main/ts/editor/editor.module.ts","../../../tinymce-angular-component/src/main/ts/tinymce-tinymce-angular.ts"],"sourcesContent":["/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst getTinymce = () => {\n const w = typeof window !== 'undefined' ? (window as any) : undefined;\n return w && w.tinymce ? w.tinymce : null;\n};\n\nexport { getTinymce };\n","import { Output, EventEmitter, Directive } from '@angular/core';\nimport type { Editor as TinyMCEEditor } from 'tinymce';\n\nexport interface EventObj<T> {\n event: T;\n editor: TinyMCEEditor;\n}\n\n@Directive()\nexport class Events {\n @Output() public onBeforePaste: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onBlur: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onClick: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onCompositionEnd: EventEmitter<EventObj<CompositionEvent>> = new EventEmitter();\n @Output() public onCompositionStart: EventEmitter<EventObj<CompositionEvent>> = new EventEmitter();\n @Output() public onCompositionUpdate: EventEmitter<EventObj<CompositionEvent>> = new EventEmitter();\n @Output() public onContextMenu: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onCopy: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onCut: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onDblclick: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onDrag: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragDrop: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragEnd: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragGesture: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDragOver: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onDrop: EventEmitter<EventObj<DragEvent>> = new EventEmitter();\n @Output() public onFocus: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onFocusIn: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onFocusOut: EventEmitter<EventObj<FocusEvent>> = new EventEmitter();\n @Output() public onKeyDown: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onKeyPress: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onKeyUp: EventEmitter<EventObj<KeyboardEvent>> = new EventEmitter();\n @Output() public onMouseDown: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseEnter: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseLeave: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseMove: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseOut: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseOver: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onMouseUp: EventEmitter<EventObj<MouseEvent>> = new EventEmitter();\n @Output() public onPaste: EventEmitter<EventObj<ClipboardEvent>> = new EventEmitter();\n @Output() public onSelectionChange: EventEmitter<EventObj<Event>> = new EventEmitter();\n @Output() public onActivate: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onAddUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeAddUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeExecCommand: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeGetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeRenderUI: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onBeforeSetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onChange: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onClearUndos: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onDeactivate: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onDirty: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onExecCommand: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onGetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onHide: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onInit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onInput: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onInitNgModel: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onLoadContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onNodeChange: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPostProcess: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPostRender: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPreInit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onPreProcess: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onProgressState: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onRedo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onRemove: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onReset: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onResizeEditor: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSaveContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSetAttrib: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectResizeStart: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectResized: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onObjectSelected: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSetContent: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onShow: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onSubmit: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onUndo: EventEmitter<EventObj<any>> = new EventEmitter();\n @Output() public onVisualAid: EventEmitter<EventObj<any>> = new EventEmitter();\n}\n\nexport const validEvents: (keyof Events)[] = [\n 'onActivate',\n 'onAddUndo',\n 'onBeforeAddUndo',\n 'onBeforeExecCommand',\n 'onBeforeGetContent',\n 'onBeforeRenderUI',\n 'onBeforeSetContent',\n 'onBeforePaste',\n 'onBlur',\n 'onChange',\n 'onClearUndos',\n 'onClick',\n 'onCompositionEnd',\n 'onCompositionStart',\n 'onCompositionUpdate',\n 'onContextMenu',\n 'onCopy',\n 'onCut',\n 'onDblclick',\n 'onDeactivate',\n 'onDirty',\n 'onDrag',\n 'onDragDrop',\n 'onDragEnd',\n 'onDragGesture',\n 'onDragOver',\n 'onDrop',\n 'onExecCommand',\n 'onFocus',\n 'onFocusIn',\n 'onFocusOut',\n 'onGetContent',\n 'onHide',\n 'onInit',\n 'onInput',\n 'onKeyDown',\n 'onKeyPress',\n 'onKeyUp',\n 'onLoadContent',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onNodeChange',\n 'onObjectResizeStart',\n 'onObjectResized',\n 'onObjectSelected',\n 'onPaste',\n 'onPostProcess',\n 'onPostRender',\n 'onPreProcess',\n 'onProgressState',\n 'onRedo',\n 'onRemove',\n 'onReset',\n 'onResizeEditor',\n 'onSaveContent',\n 'onSelectionChange',\n 'onSetAttrib',\n 'onSetContent',\n 'onShow',\n 'onSubmit',\n 'onUndo',\n 'onVisualAid'\n];\n","/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { EventEmitter } from '@angular/core';\nimport { fromEvent, Subject, takeUntil } from 'rxjs';\nimport { HasEventTargetAddRemove } from 'rxjs/internal/observable/fromEvent';\n\nimport { EditorComponent } from '../editor/editor.component';\nimport { validEvents, Events } from '../editor/Events';\nimport { Editor } from 'tinymce';\n\n// Caretaker note: `fromEvent` supports passing JQuery-style event targets, the editor has `on` and `off` methods which\n// will be invoked upon subscription and teardown.\nconst listenTinyMCEEvent = (\n editor: any,\n eventName: string,\n destroy$: Subject<void>\n) => fromEvent(editor as HasEventTargetAddRemove<unknown> | ArrayLike<HasEventTargetAddRemove<unknown>>, eventName).pipe(takeUntil(destroy$));\n\nconst bindHandlers = (ctx: EditorComponent, editor: any, destroy$: Subject<void>): void => {\n const allowedEvents = getValidEvents(ctx);\n allowedEvents.forEach((eventName) => {\n const eventEmitter: EventEmitter<any> = ctx[eventName];\n\n listenTinyMCEEvent(editor, eventName.substring(2), destroy$).subscribe((event) => {\n // Caretaker note: `ngZone.run()` runs change detection since it notifies the forked Angular zone that it's\n // being re-entered. We don't want to run `ApplicationRef.tick()` if anyone listens to the specific event\n // within the template. E.g. if the `onSelectionChange` is not listened within the template like:\n // `<editor (onSelectionChange)=\"...\"></editor>`\n // then it won't be \"observed\", and we won't run \"dead\" change detection.\n if (isObserved(eventEmitter)) {\n ctx.ngZone.run(() => eventEmitter.emit({ event, editor }));\n }\n });\n });\n};\n\nconst getValidEvents = (ctx: EditorComponent): (keyof Events)[] => {\n const ignoredEvents = parseStringProperty(ctx.ignoreEvents, []);\n const allowedEvents = parseStringProperty(ctx.allowedEvents, validEvents).filter(\n (event) => validEvents.includes(event as (keyof Events)) && !ignoredEvents.includes(event)) as (keyof Events)[];\n return allowedEvents;\n};\n\nconst parseStringProperty = (property: string | string[] | undefined, defaultValue: (keyof Events)[]): string[] => {\n if (typeof property === 'string') {\n return property.split(',').map((value) => value.trim());\n }\n if (Array.isArray(property)) {\n return property;\n }\n return defaultValue;\n};\n\nlet unique = 0;\n\nconst uuid = (prefix: string): string => {\n const date = new Date();\n const time = date.getTime();\n const random = Math.floor(Math.random() * 1000000000);\n\n unique++;\n\n return prefix + '_' + random + unique + String(time);\n};\n\nconst isTextarea = (element?: Element): element is HTMLTextAreaElement => typeof element !== 'undefined' && element.tagName.toLowerCase() === 'textarea';\n\nconst normalizePluginArray = (plugins?: string | string[]): string[] => {\n if (typeof plugins === 'undefined' || plugins === '') {\n return [];\n }\n\n return Array.isArray(plugins) ? plugins : plugins.split(' ');\n};\n\nconst mergePlugins = (initPlugins: string | string[], inputPlugins?: string | string[]) =>\n normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins));\n\nconst noop: (...args: any[]) => void = () => { };\n\nconst isNullOrUndefined = (value: any): value is null | undefined => value === null || value === undefined;\n\nconst isObserved = (o: Subject<unknown>): boolean =>\n // RXJS is making the `observers` property internal in v8. So this is intended as a backwards compatible way of\n // checking if a subject has observers.\n o.observed || o.observers?.length > 0;\n\nconst setMode = (editor: Editor, mode: 'readonly' | 'design') => {\n if (typeof editor.mode?.set === 'function') {\n editor.mode.set(mode);\n } else if ('setMode' in editor && typeof editor.setMode === 'function') {\n editor.setMode(mode);\n }\n};\n\nexport {\n listenTinyMCEEvent,\n bindHandlers,\n uuid,\n isTextarea,\n normalizePluginArray,\n mergePlugins,\n noop,\n isNullOrUndefined,\n setMode\n};\n","import { Editor } from 'tinymce';\n\nconst isDisabledOptionSupported = (editor: Editor) => editor.options && editor.options.isRegistered('disabled');\n\nexport {\n isDisabledOptionSupported\n};\n","/**\n * Copyright (c) 2017-present, Ephox, Inc.\n *\n * This source code is licensed under the Apache 2 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { fromEvent, Observable, shareReplay, switchMap, BehaviorSubject, first, filter, map } from 'rxjs';\n\ninterface ScriptLoader {\n load: (doc: Document, url: string) => Observable<void>;\n /** Intended to only to be used by tests. */\n reinitialize: () => void;\n}\n\nconst firstEmission = () => (source: Observable<unknown>): Observable<void> => source.pipe(first(), map(() => undefined));\n\nconst CreateScriptLoader = (): ScriptLoader => {\n const params$ = new BehaviorSubject<Parameters<ScriptLoader['load']> | null>(null);\n const loaded$: Observable<void> = params$.pipe(\n filter(Boolean),\n switchMap(([ doc, url ]) => {\n const scriptTag = doc.createElement('script');\n scriptTag.referrerPolicy = 'origin';\n scriptTag.type = 'application/javascript';\n scriptTag.src = url;\n doc.head.appendChild(scriptTag);\n return fromEvent(scriptTag, 'load').pipe(firstEmission());\n }),\n // Caretaker note: `loaded$` is a multicast observable since it's piped with `shareReplay`,\n // so if there're multiple editor components simultaneously on the page, they'll subscribe to the internal\n // `ReplaySubject`. The script will be loaded only once, and `ReplaySubject` will cache the result.\n shareReplay({ bufferSize: 1, refCount: true })\n );\n\n return {\n load: (...args) => {\n if (!params$.getValue()) {\n params$.next(args);\n }\n return loaded$;\n },\n reinitialize: () => {\n params$.next(null);\n },\n };\n};\n\nconst ScriptLoader = CreateScriptLoader();\n\nexport { ScriptLoader };\n","/* eslint-disable @typescript-eslint/parameter-properties */\nimport { isPlatformBrowser, CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n PLATFORM_ID,\n InjectionToken,\n Optional,\n ChangeDetectorRef,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { FormsModule, ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subject, takeUntil } from 'rxjs';\nimport { getTinymce } from '../TinyMCE';\nimport { listenTinyMCEEvent, bindHandlers, isTextarea, mergePlugins, uuid, noop, isNullOrUndefined, setMode } from '../utils/Utils';\nimport * as DisabledUtils from '../utils/DisabledUtils';\nimport { EventObj, Events } from './Events';\nimport { ScriptLoader } from '../utils/ScriptLoader';\nimport type { Editor as TinyMCEEditor, TinyMCE } from 'tinymce';\n\ntype EditorOptions = Parameters<TinyMCE['init']>[0];\n\nexport const TINYMCE_SCRIPT_SRC = new InjectionToken<string>('TINYMCE_SCRIPT_SRC');\n\nconst EDITOR_COMPONENT_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EditorComponent),\n multi: true\n};\n\nexport type Version = `${'4' | '5' | '6' | '7' | '8'}${'' | '-dev' | '-testing' | `.${number}` | `.${number}.${number}`}`;\n\n@Component({\n selector: 'editor',\n template: '',\n styles: [ ':host { display: block; }' ],\n providers: [ EDITOR_COMPONENT_VALUE_ACCESSOR ],\n standalone: true,\n imports: [ CommonModule, FormsModule ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\n/**\n * @see {@link https://www.tiny.cloud/docs/tinymce/7/angular-ref/} for the TinyMCE Angular Technical Reference\n */\nexport class EditorComponent extends Events implements AfterViewInit, ControlValueAccessor, OnDestroy {\n\n @Input() public cloudChannel: Version = '8';\n @Input() public apiKey = 'no-api-key';\n @Input() public licenseKey = 'gpl';\n @Input() public init?: EditorOptions;\n @Input() public id = '';\n @Input() public initialValue?: string;\n @Input() public outputFormat?: 'html' | 'text';\n @Input() public inline?: boolean;\n @Input() public tagName?: string;\n @Input() public plugins?: string;\n @Input() public toolbar?: string | string[];\n @Input() public modelEvents = 'change input undo redo';\n @Input() public allowedEvents?: string | string[];\n @Input() public ignoreEvents?: string | string[];\n @Input()\n public set readonly(val) {\n this._readonly = val;\n if (this._editor) {\n setMode(this._editor, val ? 'readonly' : 'design');\n }\n }\n\n public get readonly() {\n return this._readonly;\n }\n\n @Input()\n public set disabled(val) {\n this._disabled = val;\n if (this._editor) {\n if (DisabledUtils.isDisabledOptionSupported(this._editor)) {\n this._editor.options.set('disabled', val ?? false);\n } else {\n setMode(this._editor, val ? 'readonly' : 'design');\n }\n }\n }\n\n public get disabled() {\n return this._disabled;\n }\n\n public get editor() {\n return this._editor;\n }\n\n public ngZone: NgZone;\n\n private _elementRef: ElementRef;\n private _element?: HTMLElement;\n private _disabled?: boolean;\n private _readonly?: boolean;\n private _editor?: TinyMCEEditor;\n\n private onTouchedCallback = noop;\n private onChangeCallback: any;\n\n private destroy$ = new Subject<void>();\n\n public constructor(\n elementRef: ElementRef,\n ngZone: NgZone,\n private cdRef: ChangeDetectorRef,\n @Inject(PLATFORM_ID) private platformId: object,\n @Optional() @Inject(TINYMCE_SCRIPT_SRC) private tinymceScriptSrc?: string\n ) {\n super();\n this._elementRef = elementRef;\n this.ngZone = ngZone;\n }\n\n public writeValue(value: string | null): void {\n if (this._editor && this._editor.initialized) {\n this._editor.setContent(isNullOrUndefined(value) ? '' : value);\n } else {\n this.initialValue = value === null ? undefined : value;\n }\n }\n\n public registerOnChange(fn: (_: any) => void): void {\n this.onChangeCallback = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouchedCallback = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n this.id = this.id || uuid('tiny-angular');\n this.inline = this.inline !== undefined ? this.inline !== false : !!(this.init?.inline);\n this.createElement();\n if (getTinymce() !== null) {\n this.initialise();\n } else if (this._element && this._element.ownerDocument) {\n // Caretaker note: the component might be destroyed before the script is loaded and its code is executed.\n // This will lead to runtime exceptions if `initialise` will be called when the component has been destroyed.\n ScriptLoader.load(this._element.ownerDocument, this.getScriptSrc())\n .pipe(takeUntil(this.destroy$))\n .subscribe(this.initialise);\n }\n }\n }\n\n public ngOnDestroy() {\n this.destroy$.next();\n\n if (getTinymce() !== null) {\n getTinymce().remove(this._editor);\n }\n }\n\n public createElement() {\n const tagName = typeof this.tagName === 'string' ? this.tagName : 'div';\n this._element = document.createElement(this.inline ? tagName : 'textarea');\n if (this._element) {\n const existingElement = document.getElementById(this.id);\n if (existingElement && existingElement !== this._elementRef.nativeElement) {\n /* eslint no-console: [\"error\", { allow: [\"warn\"] }] */\n console.warn(`TinyMCE-Angular: an element with id [${this.id}] already exists. Editors with duplicate Id will not be able to mount`);\n }\n this._element.id = this.id;\n if (isTextarea(this._element)) {\n this._element.style.visibility = 'hidden';\n }\n this._elementRef.nativeElement.appendChild(this._element);\n }\n }\n\n public initialise = (): void => {\n const finalInit: EditorOptions = {\n ...this.init,\n selector: undefined,\n target: this._element,\n inline: this.inline,\n disabled: this.disabled,\n readonly: this.readonly,\n license_key: this.licenseKey,\n plugins: mergePlugins((this.init && this.init.plugins) as string, this.plugins),\n toolbar: this.toolbar || (this.init && this.init.toolbar),\n setup: (editor: TinyMCEEditor) => {\n this._editor = editor;\n\n listenTinyMCEEvent(editor, 'init', this.destroy$).subscribe(() => {\n this.initEditor(editor);\n });\n\n bindHandlers(this, editor, this.destroy$);\n\n if (this.init && typeof this.init.setup === 'function') {\n this.init.setup(editor);\n }\n\n if (this.disabled === true) {\n if (DisabledUtils.isDisabledOptionSupported(editor)) {\n this._editor.options.set('disabled', this.disabled);\n } else {\n this._editor.mode.set('readonly');\n }\n }\n }\n };\n\n if (isTextarea(this._element)) {\n this._element.style.visibility = '';\n }\n\n this.ngZone.runOutsideAngular(() => {\n getTinymce().init(finalInit);\n });\n };\n\n private getScriptSrc() {\n return isNullOrUndefined(this.tinymceScriptSrc) ?\n `https://cdn.tiny.cloud/1/${this.apiKey}/tinymce/${this.cloudChannel}/tinymce.min.js` :\n this.tinymceScriptSrc;\n }\n\n private initEditor(editor: TinyMCEEditor) {\n listenTinyMCEEvent(editor, 'blur', this.destroy$).subscribe(() => {\n this.cdRef.markForCheck();\n this.ngZone.run(() => this.onTouchedCallback());\n });\n\n listenTinyMCEEvent(editor, this.modelEvents, this.destroy$).subscribe(() => {\n this.cdRef.markForCheck();\n this.ngZone.run(() => this.emitOnChange(editor));\n });\n\n if (typeof this.initialValue === 'string') {\n this.ngZone.run(() => {\n editor.setContent(this.initialValue as string);\n if (editor.getContent() !== this.initialValue) {\n this.emitOnChange(editor);\n }\n if (this.onInitNgModel !== undefined) {\n this.onInitNgModel.emit(editor as unknown as EventObj<any>);\n }\n });\n }\n }\n\n private emitOnChange(editor: TinyMCEEditor) {\n if (this.onChangeCallback) {\n this.onChangeCallback(editor.getContent({ format: this.outputFormat }));\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { EditorComponent } from './editor.component';\n\n@NgModule({\n imports: [ EditorComponent ],\n exports: [ EditorComponent ]\n})\nexport class EditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["DisabledUtils.isDisabledOptionSupported"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tinymce/tinymce-angular",
3
3
  "description": "Official TinyMCE Angular Component",
4
- "version": "9.1.1",
4
+ "version": "9.1.2-feature.20251107031234281.shafdbcb01",
5
5
  "repository": "https://github.com/tinymce/tinymce-angular.git",
6
6
  "author": "Ephox Corporation DBA Tiny Technologies, Inc.",
7
7
  "license": "MIT",