Socket
Socket
Sign inDemoInstall

@ckeditor/ckeditor5-angular

Package Overview
Dependencies
8
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.1 to 1.1.0

CONTRIBUTING.md

158

bundles/ckeditor-ckeditor5-angular.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@angular/common')) :
typeof define === 'function' && define.amd ? define('@ckeditor/ckeditor5-angular', ['exports', '@angular/core', '@angular/forms', '@angular/common'], factory) :
(factory((global.ckeditor = global.ckeditor || {}, global.ckeditor['ckeditor5-angular'] = {}),global.ng.core,global.ng.forms,global.ng.common));
}(this, (function (exports,core,forms,common) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms')) :
typeof define === 'function' && define.amd ? define('@ckeditor/ckeditor5-angular', ['exports', '@angular/core', '@angular/common', '@angular/forms'], factory) :
(factory((global.ckeditor = global.ckeditor || {}, global.ckeditor['ckeditor5-angular'] = {}),global.ng.core,global.ng.common,global.ng.forms));
}(this, (function (exports,core,common,forms) { 'use strict';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
var __assign = function () {
__assign = Object.assign || function __assign(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s)
if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -14,2 +41,8 @@ var CKEditorComponent = /** @class */ (function () {

/**
* The configuration of the editor.
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editorconfig-EditorConfig.html
* to learn more.
*/
this.config = {};
/**
* The initial data of the editor. Useful when not using the ngModel.

@@ -99,5 +132,7 @@ * See https://angular.io/api/forms/NgModel to learn more.

var _this = this;
this.ngZone.runOutsideAngular(function () {
this.ngZone.runOutsideAngular(( /**
* @return {?}
*/function () {
_this.createEditor();
});
}));
};

@@ -145,2 +180,7 @@ // Implementing the OnDestroy interface.

this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
}

@@ -201,13 +241,18 @@ };

/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
*/
/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}
*/
CKEditorComponent.prototype.createEditor = /**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}

@@ -219,18 +264,32 @@ */

var element = document.createElement(this.tagName);
this.editorElement = element;
if (this.data && this.config.initialData) {
throw new Error('Editor data should be provided either using `config.initialData` or `data` properties.');
}
// Merge two possible ways of providing data into the `config.initialData` field.
/** @type {?} */
var config = __assign({}, this.config, { initialData: this.config.initialData || this.data || '' });
this.elementRef.nativeElement.appendChild(element);
return ( /** @type {?} */(this.editor)).create(element, this.config)
.then(function (editor) {
return ( /** @type {?} */(this.editor)).create(element, config)
.then(( /**
* @param {?} editor
* @return {?}
*/function (editor) {
_this.editorInstance = editor;
editor.setData(_this.data);
if (_this.initialIsDisabled) {
editor.isReadOnly = _this.initialIsDisabled;
}
_this.ngZone.run(function () {
_this.ngZone.run(( /**
* @return {?}
*/function () {
_this.ready.emit(editor);
});
}));
_this.setUpEditorEvents(editor);
})
.catch(function (err) {
}))
.catch(( /**
* @param {?} err
* @return {?}
*/function (err) {
console.error(err.stack);
});
}));
};

@@ -242,2 +301,3 @@ /**

* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -248,2 +308,3 @@ * @return {?}

* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -258,19 +319,34 @@ * @return {?}

var viewDocument = editor.editing.view.document;
modelDocument.on('change:data', function (evt) {
/** @type {?} */
var data = editor.getData();
_this.ngZone.run(function () {
modelDocument.on('change:data', ( /**
* @param {?} evt
* @return {?}
*/function (evt) {
_this.ngZone.run(( /**
* @return {?}
*/function () {
if (_this.cvaOnChange) {
/** @type {?} */
var data = editor.getData();
_this.cvaOnChange(data);
}
_this.change.emit({ event: evt, editor: editor });
});
});
viewDocument.on('focus', function (evt) {
_this.ngZone.run(function () {
}));
}));
viewDocument.on('focus', ( /**
* @param {?} evt
* @return {?}
*/function (evt) {
_this.ngZone.run(( /**
* @return {?}
*/function () {
_this.focus.emit({ event: evt, editor: editor });
});
});
viewDocument.on('blur', function (evt) {
_this.ngZone.run(function () {
}));
}));
viewDocument.on('blur', ( /**
* @param {?} evt
* @return {?}
*/function (evt) {
_this.ngZone.run(( /**
* @return {?}
*/function () {
if (_this.cvaOnTouched) {

@@ -280,4 +356,4 @@ _this.cvaOnTouched();

_this.blur.emit({ event: evt, editor: editor });
});
});
}));
}));
};

@@ -292,3 +368,5 @@ CKEditorComponent.decorators = [

provide: forms.NG_VALUE_ACCESSOR,
useExisting: core.forwardRef(function () { return CKEditorComponent; }),
useExisting: core.forwardRef(( /**
* @return {?}
*/function () { return CKEditorComponent; })),
multi: true,

@@ -322,3 +400,3 @@ }

* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -340,7 +418,7 @@ var CKEditorModule = /** @class */ (function () {

* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
exports.CKEditorComponent = CKEditorComponent;
exports.CKEditorModule = CKEditorModule;
exports.ɵa = CKEditorComponent;

@@ -351,2 +429,2 @@ Object.defineProperty(exports, '__esModule', { value: true });

//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIudW1kLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvY2tlZGl0b3IuY29tcG9uZW50LnRzIiwibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvY2tlZGl0b3IubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5pbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdE5nWm9uZSxcblx0RXZlbnRFbWl0dGVyLFxuXHRmb3J3YXJkUmVmLFxuXHRBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksXG5cdEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG5cdENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuXHROR19WQUxVRV9BQ0NFU1NPUlxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENLRWRpdG9yNSB9IGZyb20gJy4vY2tlZGl0b3InO1xuXG5AQ29tcG9uZW50KCB7XG5cdHNlbGVjdG9yOiAnY2tlZGl0b3InLFxuXHR0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZT48L25nLXRlbXBsYXRlPicsXG5cblx0Ly8gSW50ZWdyYXRpb24gd2l0aCBAYW5ndWxhci9mb3Jtcy5cblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZiggKCkgPT4gQ0tFZGl0b3JDb21wb25lbnQgKSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH1cblx0XVxufSApXG5leHBvcnQgY2xhc3MgQ0tFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0LyoqXG5cdCAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIERPTSBlbGVtZW50IGNyZWF0ZWQgYnkgdGhlIGNvbXBvbmVudC5cblx0ICovXG5cdHByaXZhdGUgZWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uc3RydWN0b3Igb2YgdGhlIGVkaXRvciB0byBiZSB1c2VkIGZvciB0aGUgaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cblx0ICogSXQgY2FuIGJlIGUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yQnVpbGRgLCBgSW5saW5lRWRpdG9yQnVpbGRgIG9yIHNvbWUgY3VzdG9tIGVkaXRvci5cblx0ICovXG5cdEBJbnB1dCgpIGVkaXRvcj86IENLRWRpdG9yNS5FZGl0b3JDb25zdHJ1Y3RvcjtcblxuXHQvKipcblx0ICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGVkaXRvci5cblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvcmNvbmZpZy1FZGl0b3JDb25maWcuaHRtbFxuXHQgKiB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgY29uZmlnPzogQ0tFZGl0b3I1LkNvbmZpZztcblxuXHQvKipcblx0ICogVGhlIGluaXRpYWwgZGF0YSBvZiB0aGUgZWRpdG9yLiBVc2VmdWwgd2hlbiBub3QgdXNpbmcgdGhlIG5nTW9kZWwuXG5cdCAqIFNlZSBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL05nTW9kZWwgdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIGRhdGEgPSAnJztcblxuXHQvKipcblx0ICogVGFnIG5hbWUgb2YgdGhlIGVkaXRvciBjb21wb25lbnQuXG5cdCAqXG5cdCAqIFRoZSBkZWZhdWx0IHRhZyBpcyAnZGl2Jy5cblx0ICovXG5cdEBJbnB1dCgpIHRhZ05hbWUgPSAnZGl2JztcblxuXHQvKipcblx0ICogV2hlbiBzZXQgYHRydWVgLCB0aGUgZWRpdG9yIGJlY29tZXMgcmVhZC1vbmx5LlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sI21lbWJlci1pc1JlYWRPbmx5XG5cdCAqIHRvIGxlYXJuIG1vcmUuXG5cdCAqL1xuXHRASW5wdXQoKSBzZXQgZGlzYWJsZWQoIGlzRGlzYWJsZWQ6IGJvb2xlYW4gKSB7XG5cdFx0dGhpcy5zZXREaXNhYmxlZFN0YXRlKCBpc0Rpc2FibGVkICk7XG5cdH1cblxuXHRnZXQgZGlzYWJsZWQoKSB7XG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZWRpdG9ySW5zdGFuY2UuaXNSZWFkT25seTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5pbml0aWFsSXNEaXNhYmxlZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0b3IgaXMgcmVhZHkuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IjcmVhZHlgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNldmVudC1yZWFkeVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8Q0tFZGl0b3I1LkVkaXRvcj4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgZWRpdG9yIGhhcyBjaGFuZ2VkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLm1vZGVsLmRvY3VtZW50I2NoYW5nZWBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX21vZGVsX2RvY3VtZW50LURvY3VtZW50Lmh0bWwjZXZlbnQtY2hhbmdlXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hhbmdlRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRpbmcgdmlldyBvZiB0aGUgZWRpdG9yIGlzIGJsdXJyZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50I2JsdXJgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV92aWV3X2RvY3VtZW50LURvY3VtZW50Lmh0bWwjZXZlbnQtZXZlbnQ6Ymx1clxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0aW5nIHZpZXcgb2YgdGhlIGVkaXRvciBpcyBmb2N1c2VkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudCNmb2N1c2Bcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpmb2N1c1xuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBmb2N1czogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBUaGUgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvciBjcmVhdGVkIGJ5IHRoaXMgY29tcG9uZW50LlxuXHQgKi9cblx0cHVibGljIGVkaXRvckluc3RhbmNlOiBDS0VkaXRvcjUuRWRpdG9yIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqXG5cdCAqIElmIHRoZSBjb21wb25lbnQgaXMgcmVhZMOiwoDCk29ubHkgYmVmb3JlIHRoZSBlZGl0b3IgaW5zdGFuY2UgaXMgY3JlYXRlZCwgaXQgcmVtZW1iZXJzIHRoYXQgc3RhdGUsXG5cdCAqIHNvIHRoZSBlZGl0b3IgY2FuIGJlY29tZSByZWFkw6LCgMKTb25seSBvbmNlIGl0IGlzIHJlYWR5LlxuXHQgKi9cblx0cHJpdmF0ZSBpbml0aWFsSXNEaXNhYmxlZCA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBBbiBpbnN0YW5jZSBvZiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvcmUvTmdab25lIHRvIGFsbG93IHRoZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBlZGl0b3Jcblx0ICogd2l0aGluZyB0aGUgQW5ndWxhciBldmVudCBsb29wLlxuXHQgKi9cblx0cHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZTtcblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBleGVjdXRlZCB3aGVuIHRoZSBjb250ZW50IG9mIHRoZSBlZGl0b3IgY2hhbmdlcy4gUGFydCBvZiB0aGVcblx0ICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCAoaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcikgaW50ZXJmYWNlLlxuXHQgKlxuXHQgKiBOb3RlOiBVbnNldCB1bmxlc3MgdGhlIGNvbXBvbmVudCB1c2VzIHRoZSBgbmdNb2RlbGAuXG5cdCAqL1xuXHRwcml2YXRlIGN2YU9uQ2hhbmdlPzogKCBkYXRhOiBzdHJpbmcgKSA9PiB2b2lkO1xuXG5cdC8qKlxuXHQgKiBBIGNhbGxiYWNrIGV4ZWN1dGVkIHdoZW4gdGhlIGVkaXRvciBoYXMgYmVlbiBibHVycmVkLiBQYXJ0IG9mIHRoZVxuXHQgKiBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIChodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSBpbnRlcmZhY2UuXG5cdCAqXG5cdCAqIE5vdGU6IFVuc2V0IHVubGVzcyB0aGUgY29tcG9uZW50IHVzZXMgdGhlIGBuZ01vZGVsYC5cblx0ICovXG5cdHByaXZhdGUgY3ZhT25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuXHRjb25zdHJ1Y3RvciggZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmdab25lOiBOZ1pvbmUgKSB7XG5cdFx0dGhpcy5uZ1pvbmUgPSBuZ1pvbmU7XG5cdFx0dGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQWZ0ZXJWaWV3SW5pdCBpbnRlcmZhY2UuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHR0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhciggKCkgPT4ge1xuXHRcdFx0dGhpcy5jcmVhdGVFZGl0b3IoKTtcblx0XHR9ICk7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIE9uRGVzdHJveSBpbnRlcmZhY2UuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UuZGVzdHJveSgpO1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZSA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHR3cml0ZVZhbHVlKCB2YWx1ZTogc3RyaW5nIHwgbnVsbCApOiB2b2lkIHtcblx0XHQvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2l0aCB0aGUgYG51bGxgIHZhbHVlIHdoZW4gdGhlIGZvcm0gcmVzZXRzLlxuXHRcdC8vIEEgY29tcG9uZW50J3MgcmVzcG9uc2liaWxpdHkgaXMgdG8gcmVzdG9yZSB0byB0aGUgaW5pdGlhbCBzdGF0ZS5cblx0XHRpZiAoIHZhbHVlID09PSBudWxsICkge1xuXHRcdFx0dmFsdWUgPSAnJztcblx0XHR9XG5cblx0XHQvLyBJZiBhbHJlYWR5IGluaXRpYWxpemVkLlxuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2Uuc2V0RGF0YSggdmFsdWUgKTtcblx0XHR9XG5cdFx0Ly8gSWYgbm90LCB3YWl0IGZvciBpdCB0byBiZSByZWFkeTsgc3RvcmUgdGhlIGRhdGEuXG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmRhdGEgPSB2YWx1ZTtcblx0XHR9XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHJlZ2lzdGVyT25DaGFuZ2UoIGNhbGxiYWNrOiAoIGRhdGE6IHN0cmluZyApID0+IHZvaWQgKTogdm9pZCB7XG5cdFx0dGhpcy5jdmFPbkNoYW5nZSA9IGNhbGxiYWNrO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRyZWdpc3Rlck9uVG91Y2hlZCggY2FsbGJhY2s6ICgpID0+IHZvaWQgKTogdm9pZCB7XG5cdFx0dGhpcy5jdmFPblRvdWNoZWQgPSBjYWxsYmFjaztcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0c2V0RGlzYWJsZWRTdGF0ZSggaXNEaXNhYmxlZDogYm9vbGVhbiApOiB2b2lkIHtcblx0XHQvLyBJZiBhbHJlYWR5IGluaXRpYWxpemVkXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5pc1JlYWRPbmx5ID0gaXNEaXNhYmxlZDtcblx0XHR9XG5cdFx0Ly8gSWYgbm90LCB3YWl0IGZvciBpdCB0byBiZSByZWFkeTsgc3RvcmUgdGhlIHN0YXRlLlxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5pbml0aWFsSXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGVkaXRvciBpbnN0YW5jZSwgc2V0cyBpbml0aWFsIGVkaXRvciBkYXRhLFxuXHQgKiB0aGVuIGludGVncmF0ZXMgdGhlIGVkaXRvciB3aXRoIHRoZSBBbmd1bGFyIGNvbXBvbmVudC5cblx0ICovXG5cdHByaXZhdGUgY3JlYXRlRWRpdG9yKCk6IFByb21pc2U8YW55PiB7XG5cdFx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIHRoaXMudGFnTmFtZSApO1xuXG5cdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoIGVsZW1lbnQgKTtcblxuXHRcdHJldHVybiB0aGlzLmVkaXRvciEuY3JlYXRlKCBlbGVtZW50LCB0aGlzLmNvbmZpZyApXG5cdFx0XHQudGhlbiggZWRpdG9yID0+IHtcblx0XHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZSA9IGVkaXRvcjtcblxuXHRcdFx0XHRlZGl0b3Iuc2V0RGF0YSggdGhpcy5kYXRhICk7XG5cblx0XHRcdFx0aWYgKCB0aGlzLmluaXRpYWxJc0Rpc2FibGVkICkge1xuXHRcdFx0XHRcdGVkaXRvci5pc1JlYWRPbmx5ID0gdGhpcy5pbml0aWFsSXNEaXNhYmxlZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucmVhZHkuZW1pdCggZWRpdG9yICk7XG5cdFx0XHRcdH0gKTtcblxuXHRcdFx0XHR0aGlzLnNldFVwRWRpdG9yRXZlbnRzKCBlZGl0b3IgKTtcblx0XHRcdH0gKVxuXHRcdFx0LmNhdGNoKCAoIGVycjogRXJyb3IgKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoIGVyci5zdGFjayApO1xuXHRcdFx0fSApO1xuXHR9XG5cblx0LyoqXG5cdCAqIEludGVncmF0ZXMgdGhlIGVkaXRvciB3aXRoIHRoZSBjb21wb25lbnQgYnkgYXR0YWNoaW5nIHJlbGF0ZWQgZXZlbnQgbGlzdGVuZXJzLlxuXHQgKi9cblx0cHJpdmF0ZSBzZXRVcEVkaXRvckV2ZW50cyggZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yICk6IHZvaWQge1xuXHRcdGNvbnN0IG1vZGVsRG9jdW1lbnQgPSBlZGl0b3IubW9kZWwuZG9jdW1lbnQ7XG5cdFx0Y29uc3Qgdmlld0RvY3VtZW50ID0gZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudDtcblxuXHRcdG1vZGVsRG9jdW1lbnQub24oICdjaGFuZ2U6ZGF0YScsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdjaGFuZ2U6ZGF0YSc+ICkgPT4ge1xuXHRcdFx0Y29uc3QgZGF0YSA9IGVkaXRvci5nZXREYXRhKCk7XG5cblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRpZiAoIHRoaXMuY3ZhT25DaGFuZ2UgKSB7XG5cdFx0XHRcdFx0dGhpcy5jdmFPbkNoYW5nZSggZGF0YSApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5jaGFuZ2UuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblxuXHRcdHZpZXdEb2N1bWVudC5vbiggJ2ZvY3VzJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2ZvY3VzJz4gKSA9PiB7XG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0dGhpcy5mb2N1cy5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXG5cdFx0dmlld0RvY3VtZW50Lm9uKCAnYmx1cicsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdibHVyJz4gKSA9PiB7XG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0aWYgKCB0aGlzLmN2YU9uVG91Y2hlZCApIHtcblx0XHRcdFx0XHR0aGlzLmN2YU9uVG91Y2hlZCgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5ibHVyLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cdH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCbHVyRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnYmx1cic+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9jdXNFdmVudCB7XG5cdGV2ZW50OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdmb2N1cyc+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnY2hhbmdlOmRhdGEnPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuIiwiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDS0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY2tlZGl0b3IuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKCB7XG5cdGltcG9ydHM6IFsgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSBdLFxuXHRkZWNsYXJhdGlvbnM6IFsgQ0tFZGl0b3JDb21wb25lbnQgXSxcblx0ZXhwb3J0czogWyBDS0VkaXRvckNvbXBvbmVudCBdXG59IClcbmV4cG9ydCBjbGFzcyBDS0VkaXRvck1vZHVsZSB7fVxuIl0sIm5hbWVzIjpbIkV2ZW50RW1pdHRlciIsIkNvbXBvbmVudCIsIk5HX1ZBTFVFX0FDQ0VTU09SIiwiZm9yd2FyZFJlZiIsIkVsZW1lbnRSZWYiLCJOZ1pvbmUiLCJJbnB1dCIsIk91dHB1dCIsIk5nTW9kdWxlIiwiRm9ybXNNb2R1bGUiLCJDb21tb25Nb2R1bGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBa0pDLDJCQUFhLFVBQXNCLEVBQUUsTUFBYzs7Ozs7WUF2RjFDLFNBQUksR0FBRyxFQUFFLENBQUM7Ozs7OztZQU9WLFlBQU8sR0FBRyxLQUFLLENBQUM7Ozs7OztZQXdCZixVQUFLLEdBQUcsSUFBSUEsaUJBQVksRUFBb0IsQ0FBQzs7Ozs7O1lBTzdDLFdBQU0sR0FBOEIsSUFBSUEsaUJBQVksRUFBZSxDQUFDOzs7Ozs7WUFPcEUsU0FBSSxHQUE0QixJQUFJQSxpQkFBWSxFQUFhLENBQUM7Ozs7OztZQU85RCxVQUFLLEdBQTZCLElBQUlBLGlCQUFZLEVBQWMsQ0FBQzs7OztZQUtwRSxtQkFBYyxHQUE0QixJQUFJLENBQUM7Ozs7O1lBTTlDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztZQXlCakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7U0FDN0I7UUE1RUQsc0JBQWEsdUNBQVE7OztnQkFJckI7Z0JBQ0MsSUFBSyxJQUFJLENBQUMsY0FBYyxFQUFHO29CQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO2lCQUN0QztnQkFFRCxP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
//# sourceMappingURL=ckeditor-ckeditor5-angular.umd.js.map

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("@ckeditor/ckeditor5-angular",["exports","@angular/core","@angular/forms","@angular/common"],e):e((t.ckeditor=t.ckeditor||{},t.ckeditor["ckeditor5-angular"]={}),t.ng.core,t.ng.forms,t.ng.common)}(this,function(t,n,e,i){"use strict";var o=function(){function t(t,e){this.data="",this.tagName="div",this.ready=new n.EventEmitter,this.change=new n.EventEmitter,this.blur=new n.EventEmitter,this.focus=new n.EventEmitter,this.editorInstance=null,this.initialIsDisabled=!1,this.ngZone=e,this.elementRef=t}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this.editorInstance?this.editorInstance.isReadOnly:this.initialIsDisabled},set:function(t){this.setDisabledState(t)},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this.ngZone.runOutsideAngular(function(){t.createEditor()})},t.prototype.ngOnDestroy=function(){this.editorInstance&&(this.editorInstance.destroy(),this.editorInstance=null)},t.prototype.writeValue=function(t){null===t&&(t=""),this.editorInstance?this.editorInstance.setData(t):this.data=t},t.prototype.registerOnChange=function(t){this.cvaOnChange=t},t.prototype.registerOnTouched=function(t){this.cvaOnTouched=t},t.prototype.setDisabledState=function(t){this.editorInstance?this.editorInstance.isReadOnly=t:this.initialIsDisabled=t},t.prototype.createEditor=function(){var e=this,t=document.createElement(this.tagName);return this.elementRef.nativeElement.appendChild(t),this.editor.create(t,this.config).then(function(t){(e.editorInstance=t).setData(e.data),e.initialIsDisabled&&(t.isReadOnly=e.initialIsDisabled),e.ngZone.run(function(){e.ready.emit(t)}),e.setUpEditorEvents(t)})["catch"](function(t){console.error(t.stack)})},t.prototype.setUpEditorEvents=function(n){var i=this,t=n.model.document,e=n.editing.view.document;t.on("change:data",function(t){var e=n.getData();i.ngZone.run(function(){i.cvaOnChange&&i.cvaOnChange(e),i.change.emit({event:t,editor:n})})}),e.on("focus",function(t){i.ngZone.run(function(){i.focus.emit({event:t,editor:n})})}),e.on("blur",function(t){i.ngZone.run(function(){i.cvaOnTouched&&i.cvaOnTouched(),i.blur.emit({event:t,editor:n})})})},t.decorators=[{type:n.Component,args:[{selector:"ckeditor",template:"<ng-template></ng-template>",providers:[{provide:e.NG_VALUE_ACCESSOR,useExisting:n.forwardRef(function(){return t}),multi:!0}]}]}],t.ctorParameters=function(){return[{type:n.ElementRef},{type:n.NgZone}]},t.propDecorators={editor:[{type:n.Input}],config:[{type:n.Input}],data:[{type:n.Input}],tagName:[{type:n.Input}],disabled:[{type:n.Input}],ready:[{type:n.Output}],change:[{type:n.Output}],blur:[{type:n.Output}],focus:[{type:n.Output}]},t}(),r=function(){function t(){}return t.decorators=[{type:n.NgModule,args:[{imports:[e.FormsModule,i.CommonModule],declarations:[o],exports:[o]}]}],t}();t.CKEditorModule=r,t.ɵa=o,Object.defineProperty(t,"__esModule",{value:!0})});
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@ckeditor/ckeditor5-angular",["exports","@angular/core","@angular/common","@angular/forms"],e):e((t.ckeditor=t.ckeditor||{},t.ckeditor["ckeditor5-angular"]={}),t.ng.core,t.ng.common,t.ng.forms)}(this,function(t,n,e,i){"use strict";var o=function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n<i;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},r=function(){function t(t,e){this.config={},this.data="",this.tagName="div",this.ready=new n.EventEmitter,this.change=new n.EventEmitter,this.blur=new n.EventEmitter,this.focus=new n.EventEmitter,this.editorInstance=null,this.initialIsDisabled=!1,this.ngZone=e,this.elementRef=t}return Object.defineProperty(t.prototype,"disabled",{get:function(){return this.editorInstance?this.editorInstance.isReadOnly:this.initialIsDisabled},set:function(t){this.setDisabledState(t)},enumerable:!0,configurable:!0}),t.prototype.ngAfterViewInit=function(){var t=this;this.ngZone.runOutsideAngular(function(){t.createEditor()})},t.prototype.ngOnDestroy=function(){this.editorInstance&&(this.editorInstance.destroy(),this.editorInstance=null)},t.prototype.writeValue=function(t){null===t&&(t=""),this.editorInstance?this.editorInstance.setData(t):(this.data=t,this.editorElement&&(this.editorElement.innerHTML=this.data))},t.prototype.registerOnChange=function(t){this.cvaOnChange=t},t.prototype.registerOnTouched=function(t){this.cvaOnTouched=t},t.prototype.setDisabledState=function(t){this.editorInstance?this.editorInstance.isReadOnly=t:this.initialIsDisabled=t},t.prototype.createEditor=function(){var e=this,t=document.createElement(this.tagName);if(this.editorElement=t,this.data&&this.config.initialData)throw new Error("Editor data should be provided either using `config.initialData` or `data` properties.");var n=o({},this.config,{initialData:this.config.initialData||this.data||""});return this.elementRef.nativeElement.appendChild(t),this.editor.create(t,n).then(function(t){e.editorInstance=t,e.initialIsDisabled&&(t.isReadOnly=e.initialIsDisabled),e.ngZone.run(function(){e.ready.emit(t)}),e.setUpEditorEvents(t)})["catch"](function(t){console.error(t.stack)})},t.prototype.setUpEditorEvents=function(n){var i=this,t=n.model.document,e=n.editing.view.document;t.on("change:data",function(e){i.ngZone.run(function(){if(i.cvaOnChange){var t=n.getData();i.cvaOnChange(t)}i.change.emit({event:e,editor:n})})}),e.on("focus",function(t){i.ngZone.run(function(){i.focus.emit({event:t,editor:n})})}),e.on("blur",function(t){i.ngZone.run(function(){i.cvaOnTouched&&i.cvaOnTouched(),i.blur.emit({event:t,editor:n})})})},t.decorators=[{type:n.Component,args:[{selector:"ckeditor",template:"<ng-template></ng-template>",providers:[{provide:i.NG_VALUE_ACCESSOR,useExisting:n.forwardRef(function(){return t}),multi:!0}]}]}],t.ctorParameters=function(){return[{type:n.ElementRef},{type:n.NgZone}]},t.propDecorators={editor:[{type:n.Input}],config:[{type:n.Input}],data:[{type:n.Input}],tagName:[{type:n.Input}],disabled:[{type:n.Input}],ready:[{type:n.Output}],change:[{type:n.Output}],blur:[{type:n.Output}],focus:[{type:n.Output}]},t}(),a=function(){function t(){}return t.decorators=[{type:n.NgModule,args:[{imports:[i.FormsModule,e.CommonModule],declarations:[r],exports:[r]}]}],t}();t.CKEditorComponent=r,t.CKEditorModule=a,Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ckeditor-ckeditor5-angular.umd.min.js.map
Changelog
=========
## [1.1.0](https://github.com/ckeditor/ckeditor5-angular/compare/v1.0.1...v1.1.0) (2019-04-15)
### Features
* Re-exported `CKEditorModule`, `CKEditorComponent` and typings from the package entry point. Closes [#66](https://github.com/ckeditor/ckeditor5-angular/issues/66). ([2a6f55e](https://github.com/ckeditor/ckeditor5-angular/commit/2a6f55e))
### Bug fixes
* Fixed integration with collaboration features by changing the way how the initial data is passed to an editor instance. Previously the `<ckeditor>` component was using the `editor.setData()` method which produces invalid results in collaboration. Now, the initial data is injected directly into the container on which the editor will be created. Closes [#75](https://github.com/ckeditor/ckeditor5-angular/issues/75). ([63c0073](https://github.com/ckeditor/ckeditor5-angular/commit/63c0073))
### Other changes
* Improved performance by processing data only when effectively needed. Closes [#82](https://github.com/ckeditor/ckeditor5-angular/issues/82). Closes [#83](https://github.com/ckeditor/ckeditor5-angular/issues/83). ([0e4638e](https://github.com/ckeditor/ckeditor5-angular/commit/0e4638e))
* Added support for `config.initialData` introduced in CKEditor 5 v12.1.0. Effectively, the editor data can now be provided by `config.initialData` or `data` properties. Closes [#89](https://github.com/ckeditor/ckeditor5-angular/issues/89). ([2b96fa3](https://github.com/ckeditor/ckeditor5-angular/commit/2b96fa3))
* Upgraded the minimal versions of Node and npm. See: [ckeditor/ckeditor5#1507](https://github.com/ckeditor/ckeditor5/issues/1507). ([47f4ca4](https://github.com/ckeditor/ckeditor5-angular/commit/47f4ca4))
## [1.0.1](https://github.com/ckeditor/ckeditor5-angular/compare/v1.0.0...v1.0.1) (2018-11-05)

@@ -5,0 +22,0 @@

/**
* Generated bundle index. Do not edit.
*/
export * from './ckeditor.module';
export { CKEditorComponent as ɵa } from './ckeditor.component';
export * from './index';

@@ -1,1 +0,1 @@

{"__symbolic":"module","version":4,"metadata":{"CKEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":11,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":25}],"declarations":[{"__symbolic":"reference","name":"ɵa"}],"exports":[{"__symbolic":"reference","name":"ɵa"}]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"ckeditor","template":"<ng-template></ng-template>","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":30,"character":12},"useExisting":{"__symbolic":"reference","name":"ɵa"},"multi":true}]}]}],"members":{"editor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":2}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":2}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":2}}]}],"tagName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":2}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":2}}]}],"ready":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":90,"character":2}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":2}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":104,"character":2}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":111,"character":2}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":146,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":146,"character":46}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"createEditor":[{"__symbolic":"method"}],"setUpEditorEvents":[{"__symbolic":"method"}]}}},"origins":{"CKEditorModule":"./ckeditor.module","ɵa":"./ckeditor.component"},"importAs":"@ckeditor/ckeditor5-angular"}
{"__symbolic":"module","version":4,"exports":[{"from":"./ckeditor"}],"metadata":{"CKEditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"ckeditor","template":"<ng-template></ng-template>","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":30,"character":12},"useExisting":{"__symbolic":"reference","name":"CKEditorComponent"},"multi":true}]}]}],"members":{"editor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":2}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":2}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":2}}]}],"tagName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":2}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":2}}]}],"ready":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":90,"character":2}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":97,"character":2}}]}],"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":104,"character":2}}]}],"focus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":111,"character":2}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":151,"character":26},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":151,"character":46}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"createEditor":[{"__symbolic":"method"}],"setUpEditorEvents":[{"__symbolic":"method"}]}},"BlurEvent":{"__symbolic":"interface"},"FocusEvent":{"__symbolic":"interface"},"ChangeEvent":{"__symbolic":"interface"},"CKEditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":11,"character":12},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":25}],"declarations":[{"__symbolic":"reference","name":"CKEditorComponent"}],"exports":[{"__symbolic":"reference","name":"CKEditorComponent"}]}]}],"members":{}}},"origins":{"CKEditorComponent":"./ckeditor.component","BlurEvent":"./ckeditor.component","FocusEvent":"./ckeditor.component","ChangeEvent":"./ckeditor.component","CKEditorModule":"./ckeditor.module"},"importAs":"@ckeditor/ckeditor5-angular"}
/**
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -23,3 +23,3 @@ */

*/
config?: CKEditor5.Config;
config: CKEditor5.Config;
/**

@@ -94,2 +94,6 @@ * The initial data of the editor. Useful when not using the ngModel.

private cvaOnTouched?;
/**
* Reference to the source element used by the editor.
*/
private editorElement?;
constructor(elementRef: ElementRef, ngZone: NgZone);

@@ -103,4 +107,5 @@ ngAfterViewInit(): void;

/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
*/

@@ -107,0 +112,0 @@ private createEditor;

/**
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
/**
* Basic typings for the CKEditor5 elements.

@@ -3,0 +7,0 @@ */

/**
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -4,0 +4,0 @@ */

/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -8,4 +8,3 @@ /**

*/
export { CKEditorModule } from './ckeditor.module';
export { CKEditorComponent as ɵa } from './ckeditor.component';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci1ja2VkaXRvcjUtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK0JBQWMsbUJBQW1CLENBQUM7QUFFbEMsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2NrZWRpdG9yLm1vZHVsZSc7XG5cbmV4cG9ydCB7Q0tFZGl0b3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2NrZWRpdG9yLmNvbXBvbmVudCc7Il19
export { CKEditorComponent, CKEditorModule } from './index';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci1ja2VkaXRvcjUtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0RBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -18,2 +18,8 @@ */

/**
* The configuration of the editor.
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editorconfig-EditorConfig.html
* to learn more.
*/
this.config = {};
/**
* The initial data of the editor. Useful when not using the ngModel.

@@ -89,5 +95,8 @@ * See https://angular.io/api/forms/NgModel to learn more.

ngAfterViewInit() {
this.ngZone.runOutsideAngular(() => {
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
() => {
this.createEditor();
});
}));
}

@@ -122,2 +131,7 @@ // Implementing the OnDestroy interface.

this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
}

@@ -157,4 +171,6 @@ }

/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}

@@ -165,21 +181,39 @@ */

const element = document.createElement(this.tagName);
this.editorElement = element;
if (this.data && this.config.initialData) {
throw new Error('Editor data should be provided either using `config.initialData` or `data` properties.');
}
// Merge two possible ways of providing data into the `config.initialData` field.
/** @type {?} */
const config = Object.assign({}, this.config, { initialData: this.config.initialData || this.data || '' });
this.elementRef.nativeElement.appendChild(element);
return (/** @type {?} */ (this.editor)).create(element, this.config)
.then(editor => {
return (/** @type {?} */ (this.editor)).create(element, config)
.then((/**
* @param {?} editor
* @return {?}
*/
editor => {
this.editorInstance = editor;
editor.setData(this.data);
if (this.initialIsDisabled) {
editor.isReadOnly = this.initialIsDisabled;
}
this.ngZone.run(() => {
this.ngZone.run((/**
* @return {?}
*/
() => {
this.ready.emit(editor);
});
}));
this.setUpEditorEvents(editor);
})
.catch((err) => {
}))
.catch((/**
* @param {?} err
* @return {?}
*/
(err) => {
console.error(err.stack);
});
}));
}
/**
* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -193,19 +227,40 @@ * @return {?}

const viewDocument = editor.editing.view.document;
modelDocument.on('change:data', (evt) => {
/** @type {?} */
const data = editor.getData();
this.ngZone.run(() => {
modelDocument.on('change:data', (/**
* @param {?} evt
* @return {?}
*/
(evt) => {
this.ngZone.run((/**
* @return {?}
*/
() => {
if (this.cvaOnChange) {
/** @type {?} */
const data = editor.getData();
this.cvaOnChange(data);
}
this.change.emit({ event: evt, editor });
});
});
viewDocument.on('focus', (evt) => {
this.ngZone.run(() => {
}));
}));
viewDocument.on('focus', (/**
* @param {?} evt
* @return {?}
*/
(evt) => {
this.ngZone.run((/**
* @return {?}
*/
() => {
this.focus.emit({ event: evt, editor });
});
});
viewDocument.on('blur', (evt) => {
this.ngZone.run(() => {
}));
}));
viewDocument.on('blur', (/**
* @param {?} evt
* @return {?}
*/
(evt) => {
this.ngZone.run((/**
* @return {?}
*/
() => {
if (this.cvaOnTouched) {

@@ -215,4 +270,4 @@ this.cvaOnTouched();

this.blur.emit({ event: evt, editor });
});
});
}));
}));
}

@@ -228,3 +283,6 @@ }

provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => CKEditorComponent),
useExisting: forwardRef((/**
* @return {?}
*/
() => CKEditorComponent)),
multi: true,

@@ -255,2 +313,3 @@ }

* @type {?}
* @private
*/

@@ -321,2 +380,3 @@ CKEditorComponent.prototype.elementRef;

* @type {?}
* @private
*/

@@ -328,2 +388,3 @@ CKEditorComponent.prototype.initialIsDisabled;

* @type {?}
* @private
*/

@@ -337,2 +398,3 @@ CKEditorComponent.prototype.ngZone;

* @type {?}
* @private
*/

@@ -346,4 +408,11 @@ CKEditorComponent.prototype.cvaOnChange;

* @type {?}
* @private
*/
CKEditorComponent.prototype.cvaOnTouched;
/**
* Reference to the source element used by the editor.
* @type {?}
* @private
*/
CKEditorComponent.prototype.editorElement;
}

@@ -380,2 +449,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUVWLFVBQVUsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFpQnhCLE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBOEc3QixZQUFhLFVBQXNCLEVBQUUsTUFBYzs7Ozs7UUF2RjFDLFNBQUksR0FBRyxFQUFFLENBQUM7Ozs7OztRQU9WLFlBQU8sR0FBRyxLQUFLLENBQUM7Ozs7OztRQXdCZixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7Ozs7OztRQU83QyxXQUFNLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7Ozs7OztRQU9wRSxTQUFJLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7Ozs7OztRQU85RCxVQUFLLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7Ozs7UUFLcEUsbUJBQWMsR0FBNEIsSUFBSSxDQUFDOzs7OztRQU05QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUF5QmpDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQzlCLENBQUM7Ozs7Ozs7O0lBNUVELElBQWEsUUFBUSxDQUFFLFVBQW1CO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBRSxVQUFVLENBQUUsQ0FBQztJQUNyQyxDQUFDOzs7O0lBRUQsSUFBSSxRQUFRO1FBQ1gsSUFBSyxJQUFJLENBQUMsY0FBYyxFQUFHO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMs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Z0JBQ3BCLFFBQVEsRUFBRSw2QkFBNkI7O2dCQUd2QyxTQUFTLEVBQUU7b0JBQ1Y7d0JBQ0MsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBRTt3QkFDbEQsS0FBSyxFQUFFLElBQUk7cUJBQ1g7aUJBQ0Q7YUFDRDs7OztZQXRCQSxVQUFVO1lBSlYsTUFBTTs7O3FCQXFDTCxLQUFLO3FCQU9MLEtBQUs7bUJBTUwsS0FBSztzQkFPTCxLQUFLO3VCQU9MLEtBQUs7b0JBaUJMLE1BQU07cUJBT04sTUFBTTttQkFPTixNQUFNO29CQU9OLE1BQU07Ozs7Ozs7SUF2RVAsdUNBQTZDOzs7Ozs7SUFNN0MsbUNBQThDOzs7Ozs7O0lBTzlDLG1DQUFtQzs7Ozs7O0lBTW5DLGlDQUFtQjs7Ozs7OztJQU9uQixvQ0FBeUI7Ozs7Ozs7SUF3QnpCLGtDQUF1RDs7Ozs7OztJQU92RCxtQ0FBOEU7Ozs7Ozs7SUFPOUUsaUNBQXdFOzs7Ozs7O0lBT3hFLGtDQUEyRTs7Ozs7SUFLM0UsMkNBQXNEOzs7Ozs7SUFNdEQsOENBQWtDOzs7Ozs7SUFNbEMsbUNBQXVCOzs7Ozs7OztJQVF2Qix3Q0FBK0M7Ozs7Ozs7O0lBUS9DLHlDQUFrQzs7Ozs7QUFpSW5DLCtCQUdDOzs7SUFGQSwwQkFBbUM7O0lBQ25DLDJCQUF5Qjs7Ozs7QUFHMUIsZ0NBR0M7OztJQUZBLDJCQUFvQzs7SUFDcEMsNEJBQXlCOzs7OztBQUcxQixpQ0FHQzs7O0lBRkEsNEJBQTBDOztJQUMxQyw2QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHROZ1pvbmUsXG5cdEV2ZW50RW1pdHRlcixcblx0Zm9yd2FyZFJlZixcblx0QWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LFxuXHRFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuXHRDb250cm9sVmFsdWVBY2Nlc3Nvcixcblx0TkdfVkFMVUVfQUNDRVNTT1Jcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDS0VkaXRvcjUgfSBmcm9tICcuL2NrZWRpdG9yJztcblxuQENvbXBvbmVudCgge1xuXHRzZWxlY3RvcjogJ2NrZWRpdG9yJyxcblx0dGVtcGxhdGU6ICc8bmctdGVtcGxhdGU+PC9uZy10ZW1wbGF0ZT4nLFxuXG5cdC8vIEludGVncmF0aW9uIHdpdGggQGFuZ3VsYXIvZm9ybXMuXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoICgpID0+IENLRWRpdG9yQ29tcG9uZW50ICksXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHR9XG5cdF1cbn0gKVxuZXhwb3J0IGNsYXNzIENLRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdC8qKlxuXHQgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBET00gZWxlbWVudCBjcmVhdGVkIGJ5IHRoZSBjb21wb25lbnQuXG5cdCAqL1xuXHRwcml2YXRlIGVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHQvKipcblx0ICogVGhlIGNvbnN0cnVjdG9yIG9mIHRoZSBlZGl0b3IgdG8gYmUgdXNlZCBmb3IgdGhlIGluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEl0IGNhbiBiZSBlLmcuIHRoZSBgQ2xhc3NpY0VkaXRvckJ1aWxkYCwgYElubGluZUVkaXRvckJ1aWxkYCBvciBzb21lIGN1c3RvbSBlZGl0b3IuXG5cdCAqL1xuXHRASW5wdXQoKSBlZGl0b3I/OiBDS0VkaXRvcjUuRWRpdG9yQ29uc3RydWN0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBlZGl0b3IuXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3Jjb25maWctRWRpdG9yQ29uZmlnLmh0bWxcblx0ICogdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIGNvbmZpZz86IENLRWRpdG9yNS5Db25maWc7XG5cblx0LyoqXG5cdCAqIFRoZSBpbml0aWFsIGRhdGEgb2YgdGhlIGVkaXRvci4gVXNlZnVsIHdoZW4gbm90IHVzaW5nIHRoZSBuZ01vZGVsLlxuXHQgKiBTZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9OZ01vZGVsIHRvIGxlYXJuIG1vcmUuXG5cdCAqL1xuXHRASW5wdXQoKSBkYXRhID0gJyc7XG5cblx0LyoqXG5cdCAqIFRhZyBuYW1lIG9mIHRoZSBlZGl0b3IgY29tcG9uZW50LlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB0YWcgaXMgJ2RpdicuXG5cdCAqL1xuXHRASW5wdXQoKSB0YWdOYW1lID0gJ2Rpdic7XG5cblx0LyoqXG5cdCAqIFdoZW4gc2V0IGB0cnVlYCwgdGhlIGVkaXRvciBiZWNvbWVzIHJlYWQtb25seS5cblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNtZW1iZXItaXNSZWFkT25seVxuXHQgKiB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgc2V0IGRpc2FibGVkKCBpc0Rpc2FibGVkOiBib29sZWFuICkge1xuXHRcdHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSggaXNEaXNhYmxlZCApO1xuXHR9XG5cblx0Z2V0IGRpc2FibGVkKCkge1xuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHJldHVybiB0aGlzLmVkaXRvckluc3RhbmNlLmlzUmVhZE9ubHk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuaW5pdGlhbElzRGlzYWJsZWQ7XG5cdH1cblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdG9yIGlzIHJlYWR5LiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yI3JlYWR5YFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3ItRWRpdG9yLmh0bWwjZXZlbnQtcmVhZHlcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPENLRWRpdG9yNS5FZGl0b3I+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGVkaXRvciBoYXMgY2hhbmdlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5tb2RlbC5kb2N1bWVudCNjaGFuZ2VgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV9tb2RlbF9kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWNoYW5nZVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENoYW5nZUV2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0aW5nIHZpZXcgb2YgdGhlIGVkaXRvciBpcyBibHVycmVkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudCNibHVyYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfdmlld19kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWV2ZW50OmJsdXJcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgYmx1cjogRXZlbnRFbWl0dGVyPEJsdXJFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEJsdXJFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdGluZyB2aWV3IG9mIHRoZSBlZGl0b3IgaXMgZm9jdXNlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQjZm9jdXNgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV92aWV3X2RvY3VtZW50LURvY3VtZW50Lmh0bWwjZXZlbnQtZXZlbnQ6Zm9jdXNcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgZm9jdXM6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuXHQvKipcblx0ICogVGhlIGluc3RhbmNlIG9mIHRoZSBlZGl0b3IgY3JlYXRlZCBieSB0aGlzIGNvbXBvbmVudC5cblx0ICovXG5cdHB1YmxpYyBlZGl0b3JJbnN0YW5jZTogQ0tFZGl0b3I1LkVkaXRvciB8IG51bGwgPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBJZiB0aGUgY29tcG9uZW50IGlzIHJlYWTigJNvbmx5IGJlZm9yZSB0aGUgZWRpdG9yIGluc3RhbmNlIGlzIGNyZWF0ZWQsIGl0IHJlbWVtYmVycyB0aGF0IHN0YXRlLFxuXHQgKiBzbyB0aGUgZWRpdG9yIGNhbiBiZWNvbWUgcmVhZOKAk29ubHkgb25jZSBpdCBpcyByZWFkeS5cblx0ICovXG5cdHByaXZhdGUgaW5pdGlhbElzRGlzYWJsZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQW4gaW5zdGFuY2Ugb2YgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL05nWm9uZSB0byBhbGxvdyB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZWRpdG9yXG5cdCAqIHdpdGhpbmcgdGhlIEFuZ3VsYXIgZXZlbnQgbG9vcC5cblx0ICovXG5cdHByaXZhdGUgbmdab25lOiBOZ1pvbmU7XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgZXhlY3V0ZWQgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgZWRpdG9yIGNoYW5nZXMuIFBhcnQgb2YgdGhlXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIGludGVyZmFjZS5cblx0ICpcblx0ICogTm90ZTogVW5zZXQgdW5sZXNzIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYG5nTW9kZWxgLlxuXHQgKi9cblx0cHJpdmF0ZSBjdmFPbkNoYW5nZT86ICggZGF0YTogc3RyaW5nICkgPT4gdm9pZDtcblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBleGVjdXRlZCB3aGVuIHRoZSBlZGl0b3IgaGFzIGJlZW4gYmx1cnJlZC4gUGFydCBvZiB0aGVcblx0ICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCAoaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcikgaW50ZXJmYWNlLlxuXHQgKlxuXHQgKiBOb3RlOiBVbnNldCB1bmxlc3MgdGhlIGNvbXBvbmVudCB1c2VzIHRoZSBgbmdNb2RlbGAuXG5cdCAqL1xuXHRwcml2YXRlIGN2YU9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cblx0Y29uc3RydWN0b3IoIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5nWm9uZTogTmdab25lICkge1xuXHRcdHRoaXMubmdab25lID0gbmdab25lO1xuXHRcdHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIEFmdGVyVmlld0luaXQgaW50ZXJmYWNlLlxuXHRuZ0FmdGVyVmlld0luaXQoKSB7XG5cdFx0dGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoICgpID0+IHtcblx0XHRcdHRoaXMuY3JlYXRlRWRpdG9yKCk7XG5cdFx0fSApO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBPbkRlc3Ryb3kgaW50ZXJmYWNlLlxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlLmRlc3Ryb3koKTtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0d3JpdGVWYWx1ZSggdmFsdWU6IHN0cmluZyB8IG51bGwgKTogdm9pZCB7XG5cdFx0Ly8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdpdGggdGhlIGBudWxsYCB2YWx1ZSB3aGVuIHRoZSBmb3JtIHJlc2V0cy5cblx0XHQvLyBBIGNvbXBvbmVudCdzIHJlc3BvbnNpYmlsaXR5IGlzIHRvIHJlc3RvcmUgdG8gdGhlIGluaXRpYWwgc3RhdGUuXG5cdFx0aWYgKCB2YWx1ZSA9PT0gbnVsbCApIHtcblx0XHRcdHZhbHVlID0gJyc7XG5cdFx0fVxuXG5cdFx0Ly8gSWYgYWxyZWFkeSBpbml0aWFsaXplZC5cblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlLnNldERhdGEoIHZhbHVlICk7XG5cdFx0fVxuXHRcdC8vIElmIG5vdCwgd2FpdCBmb3IgaXQgdG8gYmUgcmVhZHk7IHN0b3JlIHRoZSBkYXRhLlxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5kYXRhID0gdmFsdWU7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRyZWdpc3Rlck9uQ2hhbmdlKCBjYWxsYmFjazogKCBkYXRhOiBzdHJpbmcgKSA9PiB2b2lkICk6IHZvaWQge1xuXHRcdHRoaXMuY3ZhT25DaGFuZ2UgPSBjYWxsYmFjaztcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cmVnaXN0ZXJPblRvdWNoZWQoIGNhbGxiYWNrOiAoKSA9PiB2b2lkICk6IHZvaWQge1xuXHRcdHRoaXMuY3ZhT25Ub3VjaGVkID0gY2FsbGJhY2s7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQ6IGJvb2xlYW4gKTogdm9pZCB7XG5cdFx0Ly8gSWYgYWxyZWFkeSBpbml0aWFsaXplZFxuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UuaXNSZWFkT25seSA9IGlzRGlzYWJsZWQ7XG5cdFx0fVxuXHRcdC8vIElmIG5vdCwgd2FpdCBmb3IgaXQgdG8gYmUgcmVhZHk7IHN0b3JlIHRoZSBzdGF0ZS5cblx0XHRlbHNlIHtcblx0XHRcdHRoaXMuaW5pdGlhbElzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBlZGl0b3IgaW5zdGFuY2UsIHNldHMgaW5pdGlhbCBlZGl0b3IgZGF0YSxcblx0ICogdGhlbiBpbnRlZ3JhdGVzIHRoZSBlZGl0b3Igd2l0aCB0aGUgQW5ndWxhciBjb21wb25lbnQuXG5cdCAqL1xuXHRwcml2YXRlIGNyZWF0ZUVkaXRvcigpOiBQcm9taXNlPGFueT4ge1xuXHRcdGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCB0aGlzLnRhZ05hbWUgKTtcblxuXHRcdHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKCBlbGVtZW50ICk7XG5cblx0XHRyZXR1cm4gdGhpcy5lZGl0b3IhLmNyZWF0ZSggZWxlbWVudCwgdGhpcy5jb25maWcgKVxuXHRcdFx0LnRoZW4oIGVkaXRvciA9PiB7XG5cdFx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UgPSBlZGl0b3I7XG5cblx0XHRcdFx0ZWRpdG9yLnNldERhdGEoIHRoaXMuZGF0YSApO1xuXG5cdFx0XHRcdGlmICggdGhpcy5pbml0aWFsSXNEaXNhYmxlZCApIHtcblx0XHRcdFx0XHRlZGl0b3IuaXNSZWFkT25seSA9IHRoaXMuaW5pdGlhbElzRGlzYWJsZWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnJlYWR5LmVtaXQoIGVkaXRvciApO1xuXHRcdFx0XHR9ICk7XG5cblx0XHRcdFx0dGhpcy5zZXRVcEVkaXRvckV2ZW50cyggZWRpdG9yICk7XG5cdFx0XHR9IClcblx0XHRcdC5jYXRjaCggKCBlcnI6IEVycm9yICkgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmVycm9yKCBlcnIuc3RhY2sgKTtcblx0XHRcdH0gKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnRlZ3JhdGVzIHRoZSBlZGl0b3Igd2l0aCB0aGUgY29tcG9uZW50IGJ5IGF0dGFjaGluZyByZWxhdGVkIGV2ZW50IGxpc3RlbmVycy5cblx0ICovXG5cdHByaXZhdGUgc2V0VXBFZGl0b3JFdmVudHMoIGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvciApOiB2b2lkIHtcblx0XHRjb25zdCBtb2RlbERvY3VtZW50ID0gZWRpdG9yLm1vZGVsLmRvY3VtZW50O1xuXHRcdGNvbnN0IHZpZXdEb2N1bWVudCA9IGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQ7XG5cblx0XHRtb2RlbERvY3VtZW50Lm9uKCAnY2hhbmdlOmRhdGEnLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnY2hhbmdlOmRhdGEnPiApID0+IHtcblx0XHRcdGNvbnN0IGRhdGEgPSBlZGl0b3IuZ2V0RGF0YSgpO1xuXG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0aWYgKCB0aGlzLmN2YU9uQ2hhbmdlICkge1xuXHRcdFx0XHRcdHRoaXMuY3ZhT25DaGFuZ2UoIGRhdGEgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuY2hhbmdlLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cblx0XHR2aWV3RG9jdW1lbnQub24oICdmb2N1cycsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdmb2N1cyc+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZm9jdXMuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblxuXHRcdHZpZXdEb2N1bWVudC5vbiggJ2JsdXInLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnYmx1cic+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdGlmICggdGhpcy5jdmFPblRvdWNoZWQgKSB7XG5cdFx0XHRcdFx0dGhpcy5jdmFPblRvdWNoZWQoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuYmx1ci5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmx1ckV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2JsdXInPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvY3VzRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnZm9jdXMnPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2NoYW5nZTpkYXRhJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUVWLFVBQVUsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFpQnhCLE1BQU0sT0FBTyxpQkFBaUI7Ozs7O0lBbUg3QixZQUFhLFVBQXNCLEVBQUUsTUFBYzs7Ozs7O1FBbEcxQyxXQUFNLEdBQXFCLEVBQUUsQ0FBQzs7Ozs7UUFNOUIsU0FBSSxHQUFHLEVBQUUsQ0FBQzs7Ozs7O1FBT1YsWUFBTyxHQUFHLEtBQUssQ0FBQzs7Ozs7O1FBd0JmLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQzs7Ozs7O1FBTzdDLFdBQU0sR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQzs7Ozs7O1FBT3BFLFNBQUksR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQzs7Ozs7O1FBTzlELFVBQUssR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQzs7OztRQUtwRSxtQkFBYyxHQUE0QixJQUFJLENBQUM7Ozs7O1FBTTlDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQThCakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDOUIsQ0FBQzs7Ozs7Ozs7SUFqRkQsSUFBYSxRQUFRLENBQUUsVUFBbUI7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFFLFVBQVUsQ0FBRSxDQUFDO0lBQ3JDLENBQUM7Ozs7SUFFRCxJQUFJLFFBQVE7UUFDWCxJQUFLLElBQUksQ0FBQyxjQUFj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SUFRdkIsd0NBQStDOzs7Ozs7Ozs7SUFRL0MseUNBQWtDOzs7Ozs7SUFLbEMsMENBQW9DOzs7OztBQWlKckMsK0JBR0M7OztJQUZBLDBCQUFtQzs7SUFDbkMsMkJBQXlCOzs7OztBQUcxQixnQ0FHQzs7O0lBRkEsMkJBQW9DOztJQUNwQyw0QkFBeUI7Ozs7O0FBRzFCLGlDQUdDOzs7SUFGQSw0QkFBMEM7O0lBQzFDLDZCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5pbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdE5nWm9uZSxcblx0RXZlbnRFbWl0dGVyLFxuXHRmb3J3YXJkUmVmLFxuXHRBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksXG5cdEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG5cdENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuXHROR19WQUxVRV9BQ0NFU1NPUlxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENLRWRpdG9yNSB9IGZyb20gJy4vY2tlZGl0b3InO1xuXG5AQ29tcG9uZW50KCB7XG5cdHNlbGVjdG9yOiAnY2tlZGl0b3InLFxuXHR0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZT48L25nLXRlbXBsYXRlPicsXG5cblx0Ly8gSW50ZWdyYXRpb24gd2l0aCBAYW5ndWxhci9mb3Jtcy5cblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZiggKCkgPT4gQ0tFZGl0b3JDb21wb25lbnQgKSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH1cblx0XVxufSApXG5leHBvcnQgY2xhc3MgQ0tFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0LyoqXG5cdCAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIERPTSBlbGVtZW50IGNyZWF0ZWQgYnkgdGhlIGNvbXBvbmVudC5cblx0ICovXG5cdHByaXZhdGUgZWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uc3RydWN0b3Igb2YgdGhlIGVkaXRvciB0byBiZSB1c2VkIGZvciB0aGUgaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cblx0ICogSXQgY2FuIGJlIGUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yQnVpbGRgLCBgSW5saW5lRWRpdG9yQnVpbGRgIG9yIHNvbWUgY3VzdG9tIGVkaXRvci5cblx0ICovXG5cdEBJbnB1dCgpIGVkaXRvcj86IENLRWRpdG9yNS5FZGl0b3JDb25zdHJ1Y3RvcjtcblxuXHQvKipcblx0ICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGVkaXRvci5cblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvcmNvbmZpZy1FZGl0b3JDb25maWcuaHRtbFxuXHQgKiB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgY29uZmlnOiBDS0VkaXRvcjUuQ29uZmlnID0ge307XG5cblx0LyoqXG5cdCAqIFRoZSBpbml0aWFsIGRhdGEgb2YgdGhlIGVkaXRvci4gVXNlZnVsIHdoZW4gbm90IHVzaW5nIHRoZSBuZ01vZGVsLlxuXHQgKiBTZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9OZ01vZGVsIHRvIGxlYXJuIG1vcmUuXG5cdCAqL1xuXHRASW5wdXQoKSBkYXRhID0gJyc7XG5cblx0LyoqXG5cdCAqIFRhZyBuYW1lIG9mIHRoZSBlZGl0b3IgY29tcG9uZW50LlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB0YWcgaXMgJ2RpdicuXG5cdCAqL1xuXHRASW5wdXQoKSB0YWdOYW1lID0gJ2Rpdic7XG5cblx0LyoqXG5cdCAqIFdoZW4gc2V0IGB0cnVlYCwgdGhlIGVkaXRvciBiZWNvbWVzIHJlYWQtb25seS5cblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNtZW1iZXItaXNSZWFkT25seVxuXHQgKiB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgc2V0IGRpc2FibGVkKCBpc0Rpc2FibGVkOiBib29sZWFuICkge1xuXHRcdHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSggaXNEaXNhYmxlZCApO1xuXHR9XG5cblx0Z2V0IGRpc2FibGVkKCkge1xuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHJldHVybiB0aGlzLmVkaXRvckluc3RhbmNlLmlzUmVhZE9ubHk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuaW5pdGlhbElzRGlzYWJsZWQ7XG5cdH1cblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdG9yIGlzIHJlYWR5LiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yI3JlYWR5YFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3ItRWRpdG9yLmh0bWwjZXZlbnQtcmVhZHlcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgcmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPENLRWRpdG9yNS5FZGl0b3I+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGVkaXRvciBoYXMgY2hhbmdlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5tb2RlbC5kb2N1bWVudCNjaGFuZ2VgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV9tb2RlbF9kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWNoYW5nZVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENoYW5nZUV2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0aW5nIHZpZXcgb2YgdGhlIGVkaXRvciBpcyBibHVycmVkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudCNibHVyYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfdmlld19kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWV2ZW50OmJsdXJcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgYmx1cjogRXZlbnRFbWl0dGVyPEJsdXJFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEJsdXJFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdGluZyB2aWV3IG9mIHRoZSBlZGl0b3IgaXMgZm9jdXNlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQjZm9jdXNgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV92aWV3X2RvY3VtZW50LURvY3VtZW50Lmh0bWwjZXZlbnQtZXZlbnQ6Zm9jdXNcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgZm9jdXM6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuXHQvKipcblx0ICogVGhlIGluc3RhbmNlIG9mIHRoZSBlZGl0b3IgY3JlYXRlZCBieSB0aGlzIGNvbXBvbmVudC5cblx0ICovXG5cdHB1YmxpYyBlZGl0b3JJbnN0YW5jZTogQ0tFZGl0b3I1LkVkaXRvciB8IG51bGwgPSBudWxsO1xuXG5cdC8qKlxuXHQgKiBJZiB0aGUgY29tcG9uZW50IGlzIHJlYWTigJNvbmx5IGJlZm9yZSB0aGUgZWRpdG9yIGluc3RhbmNlIGlzIGNyZWF0ZWQsIGl0IHJlbWVtYmVycyB0aGF0IHN0YXRlLFxuXHQgKiBzbyB0aGUgZWRpdG9yIGNhbiBiZWNvbWUgcmVhZOKAk29ubHkgb25jZSBpdCBpcyByZWFkeS5cblx0ICovXG5cdHByaXZhdGUgaW5pdGlhbElzRGlzYWJsZWQgPSBmYWxzZTtcblxuXHQvKipcblx0ICogQW4gaW5zdGFuY2Ugb2YgaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb3JlL05nWm9uZSB0byBhbGxvdyB0aGUgaW50ZXJhY3Rpb24gd2l0aCB0aGUgZWRpdG9yXG5cdCAqIHdpdGhpbmcgdGhlIEFuZ3VsYXIgZXZlbnQgbG9vcC5cblx0ICovXG5cdHByaXZhdGUgbmdab25lOiBOZ1pvbmU7XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgZXhlY3V0ZWQgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgZWRpdG9yIGNoYW5nZXMuIFBhcnQgb2YgdGhlXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIGludGVyZmFjZS5cblx0ICpcblx0ICogTm90ZTogVW5zZXQgdW5sZXNzIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYG5nTW9kZWxgLlxuXHQgKi9cblx0cHJpdmF0ZSBjdmFPbkNoYW5nZT86ICggZGF0YTogc3RyaW5nICkgPT4gdm9pZDtcblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBleGVjdXRlZCB3aGVuIHRoZSBlZGl0b3IgaGFzIGJlZW4gYmx1cnJlZC4gUGFydCBvZiB0aGVcblx0ICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCAoaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcikgaW50ZXJmYWNlLlxuXHQgKlxuXHQgKiBOb3RlOiBVbnNldCB1bmxlc3MgdGhlIGNvbXBvbmVudCB1c2VzIHRoZSBgbmdNb2RlbGAuXG5cdCAqL1xuXHRwcml2YXRlIGN2YU9uVG91Y2hlZD86ICgpID0+IHZvaWQ7XG5cblx0LyoqXG5cdCAqIFJlZmVyZW5jZSB0byB0aGUgc291cmNlIGVsZW1lbnQgdXNlZCBieSB0aGUgZWRpdG9yLlxuXHQgKi9cblx0cHJpdmF0ZSBlZGl0b3JFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG5cblx0Y29uc3RydWN0b3IoIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5nWm9uZTogTmdab25lICkge1xuXHRcdHRoaXMubmdab25lID0gbmdab25lO1xuXHRcdHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIEFmdGVyVmlld0luaXQgaW50ZXJmYWNlLlxuXHRuZ0FmdGVyVmlld0luaXQoKSB7XG5cdFx0dGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoICgpID0+IHtcblx0XHRcdHRoaXMuY3JlYXRlRWRpdG9yKCk7XG5cdFx0fSApO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBPbkRlc3Ryb3kgaW50ZXJmYWNlLlxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlLmRlc3Ryb3koKTtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UgPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0d3JpdGVWYWx1ZSggdmFsdWU6IHN0cmluZyB8IG51bGwgKTogdm9pZCB7XG5cdFx0Ly8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdpdGggdGhlIGBudWxsYCB2YWx1ZSB3aGVuIHRoZSBmb3JtIHJlc2V0cy5cblx0XHQvLyBBIGNvbXBvbmVudCdzIHJlc3BvbnNpYmlsaXR5IGlzIHRvIHJlc3RvcmUgdG8gdGhlIGluaXRpYWwgc3RhdGUuXG5cdFx0aWYgKCB2YWx1ZSA9PT0gbnVsbCApIHtcblx0XHRcdHZhbHVlID0gJyc7XG5cdFx0fVxuXG5cdFx0Ly8gSWYgYWxyZWFkeSBpbml0aWFsaXplZC5cblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlLnNldERhdGEoIHZhbHVlICk7XG5cdFx0fVxuXHRcdC8vIElmIG5vdCwgd2FpdCBmb3IgaXQgdG8gYmUgcmVhZHk7IHN0b3JlIHRoZSBkYXRhLlxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5kYXRhID0gdmFsdWU7XG5cblx0XHRcdC8vIElmIHRoZSBlZGl0b3IgZWxlbWVudCBpcyBhbHJlYWR5IGF2YWlsYWJsZSwgdGhlbiB1cGRhdGUgaXRzIGNvbnRlbnQuXG5cdFx0XHQvLyBJZiB0aGUgbmdNb2RlbCBpcyB1c2VkIHRoZW4gdGhlIGVkaXRvciBlbGVtZW50IHNob3VsZCBiZSB1cGRhdGVkIGRpcmVjdGx5IGhlcmUuXG5cdFx0XHRpZiAoIHRoaXMuZWRpdG9yRWxlbWVudCApIHtcblx0XHRcdFx0dGhpcy5lZGl0b3JFbGVtZW50LmlubmVySFRNTCA9IHRoaXMuZGF0YTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHJlZ2lzdGVyT25DaGFuZ2UoIGNhbGxiYWNrOiAoIGRhdGE6IHN0cmluZyApID0+IHZvaWQgKTogdm9pZCB7XG5cdFx0dGhpcy5jdmFPbkNoYW5nZSA9IGNhbGxiYWNrO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRyZWdpc3Rlck9uVG91Y2hlZCggY2FsbGJhY2s6ICgpID0+IHZvaWQgKTogdm9pZCB7XG5cdFx0dGhpcy5jdmFPblRvdWNoZWQgPSBjYWxsYmFjaztcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0c2V0RGlzYWJsZWRTdGF0ZSggaXNEaXNhYmxlZDogYm9vbGVhbiApOiB2b2lkIHtcblx0XHQvLyBJZiBhbHJlYWR5IGluaXRpYWxpemVkXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5pc1JlYWRPbmx5ID0gaXNEaXNhYmxlZDtcblx0XHR9XG5cdFx0Ly8gSWYgbm90LCB3YWl0IGZvciBpdCB0byBiZSByZWFkeTsgc3RvcmUgdGhlIHN0YXRlLlxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5pbml0aWFsSXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGVkaXRvciBpbnN0YW5jZSwgc2V0cyBpbml0aWFsIGVkaXRvciBkYXRhLCB0aGVuIGludGVncmF0ZXNcblx0ICogdGhlIGVkaXRvciB3aXRoIHRoZSBBbmd1bGFyIGNvbXBvbmVudC4gVGhpcyBtZXRob2QgZG9lcyBub3QgdXNlIHRoZSBgZWRpdG9yLnNldERhdGEoKWBcblx0ICogYmVjYXVzZSBvZiB0aGUgaXNzdWUgaW4gdGhlIGNvbGxhYm9yYXRpb24gbW9kZSAoIzYpLlxuXHQgKi9cblx0cHJpdmF0ZSBjcmVhdGVFZGl0b3IoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIHRoaXMudGFnTmFtZSApO1xuXHRcdHRoaXMuZWRpdG9yRWxlbWVudCA9IGVsZW1lbnQ7XG5cblx0XHRpZiAoIHRoaXMuZGF0YSAmJiB0aGlzLmNvbmZpZy5pbml0aWFsRGF0YSApIHtcblx0XHRcdHRocm93IG5ldyBFcnJvciggJ0VkaXRvciBkYXRhIHNob3VsZCBiZSBwcm92aWRlZCBlaXRoZXIgdXNpbmcgYGNvbmZpZy5pbml0aWFsRGF0YWAgb3IgYGRhdGFgIHByb3BlcnRpZXMuJyApO1xuXHRcdH1cblxuXHRcdC8vIE1lcmdlIHR3byBwb3NzaWJsZSB3YXlzIG9mIHByb3ZpZGluZyBkYXRhIGludG8gdGhlIGBjb25maWcuaW5pdGlhbERhdGFgIGZpZWxkLlxuXHRcdGNvbnN0IGNvbmZpZyA9IHtcblx0XHRcdC4uLnRoaXMuY29uZmlnLFxuXHRcdFx0aW5pdGlhbERhdGE6IHRoaXMuY29uZmlnLmluaXRpYWxEYXRhIHx8IHRoaXMuZGF0YSB8fCAnJ1xuXHRcdH07XG5cblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCggZWxlbWVudCApO1xuXG5cdFx0cmV0dXJuIHRoaXMuZWRpdG9yIS5jcmVhdGUoIGVsZW1lbnQsIGNvbmZpZyApXG5cdFx0XHQudGhlbiggZWRpdG9yID0+IHtcblx0XHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZSA9IGVkaXRvcjtcblxuXHRcdFx0XHRpZiAoIHRoaXMuaW5pdGlhbElzRGlzYWJsZWQgKSB7XG5cdFx0XHRcdFx0ZWRpdG9yLmlzUmVhZE9ubHkgPSB0aGlzLmluaXRpYWxJc0Rpc2FibGVkO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KCBlZGl0b3IgKTtcblx0XHRcdFx0fSApO1xuXG5cdFx0XHRcdHRoaXMuc2V0VXBFZGl0b3JFdmVudHMoIGVkaXRvciApO1xuXHRcdFx0fSApXG5cdFx0XHQuY2F0Y2goICggZXJyOiBFcnJvciApID0+IHtcblx0XHRcdFx0Y29uc29sZS5lcnJvciggZXJyLnN0YWNrICk7XG5cdFx0XHR9ICk7XG5cdH1cblxuXHQvKipcblx0ICogSW50ZWdyYXRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIGNvbXBvbmVudCBieSBhdHRhY2hpbmcgcmVsYXRlZCBldmVudCBsaXN0ZW5lcnMuXG5cdCAqL1xuXHRwcml2YXRlIHNldFVwRWRpdG9yRXZlbnRzKCBlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3IgKTogdm9pZCB7XG5cdFx0Y29uc3QgbW9kZWxEb2N1bWVudCA9IGVkaXRvci5tb2RlbC5kb2N1bWVudDtcblx0XHRjb25zdCB2aWV3RG9jdW1lbnQgPSBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50O1xuXG5cdFx0bW9kZWxEb2N1bWVudC5vbiggJ2NoYW5nZTpkYXRhJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2NoYW5nZTpkYXRhJz4gKSA9PiB7XG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0aWYgKCB0aGlzLmN2YU9uQ2hhbmdlICkge1xuXHRcdFx0XHRcdGNvbnN0IGRhdGEgPSBlZGl0b3IuZ2V0RGF0YSgpO1xuXG5cdFx0XHRcdFx0dGhpcy5jdmFPbkNoYW5nZSggZGF0YSApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5jaGFuZ2UuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblxuXHRcdHZpZXdEb2N1bWVudC5vbiggJ2ZvY3VzJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2ZvY3VzJz4gKSA9PiB7XG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0dGhpcy5mb2N1cy5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXG5cdFx0dmlld0RvY3VtZW50Lm9uKCAnYmx1cicsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdibHVyJz4gKSA9PiB7XG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0aWYgKCB0aGlzLmN2YU9uVG91Y2hlZCApIHtcblx0XHRcdFx0XHR0aGlzLmN2YU9uVG91Y2hlZCgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5ibHVyLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cdH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCbHVyRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnYmx1cic+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9jdXNFdmVudCB7XG5cdGV2ZW50OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdmb2N1cyc+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnY2hhbmdlOmRhdGEnPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuIl19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
/**
* Basic typings for the CKEditor5 elements.

@@ -179,2 +183,2 @@ */

})(CKEditor5 || (CKEditor5 = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsTUFBTSxLQUFXLFNBQVMsQ0ErRXpCO0FBL0VELFdBQWlCLFNBQVM7Ozs7O0lBSXpCLGdDQUVDOzs7Ozs7OztRQURBLGdGQUFzRjs7Ozs7O0lBTXZGLHFCQUVDOzs7Ozs7Ozs7SUFPRCx3QkFRQzs7OztRQVBBLHlCQUF5Qjs7UUFDekIseUJBQXFCOztRQUNyQiwyQkFBcUI7O1FBQ3JCLDJCQUFhOzs7O1FBRWIsMENBQVk7Ozs7UUFDWiwyQ0FBYTs7Ozs7Ozs7SUFRZCx5QkEwQkM7Ozs7UUF6QkEsOEJBQXVCOztRQUN2Qiw0QkFBcUI7O1FBQ3JCLGdDQUF5Qjs7UUFDekIsMEJBQW1COztRQUNuQiw2QkFBc0I7O1FBQ3RCLGdDQUF5Qjs7UUFDekIsNEJBQXFCOztRQUNyQiwyQkFBb0I7O1FBQ3BCLDZCQUFzQjs7UUFDdEIsMkJBQXVEOztRQUV2RCxnQ0FBb0I7Ozs7OztRQUVwQixzREFBa0M7Ozs7UUFDbEMsK0NBQXlCOzs7Ozs7UUFDekIsa0VBQXNEOzs7Ozs7UUFDdEQsMkRBQTJDOzs7Ozs7OztRQUMzQyxxRkFBcUY7Ozs7OztRQUNyRiw4REFBbUQ7Ozs7Ozs7UUFDbkQsc0VBQWlFOzs7Ozs7O1FBQ2pFLHdFQUFtRTs7Ozs7OztRQUNuRSxpRkFBMkU7Ozs7O1FBQzNFLDZDQUEwQjs7Ozs7Ozs7SUFVM0Isc0JBR0M7Ozs7OztRQUZBLDRDQUFrQjs7Ozs7UUFDbEIsZ0RBQThCOzs7Ozs7OztJQVEvQixxQkFBc0Q7O0FBQ3ZELENBQUMsRUEvRWdCLFNBQVMsS0FBVCxTQUFTLFFBK0V6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmFzaWMgdHlwaW5ncyBmb3IgdGhlIENLRWRpdG9yNSBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBDS0VkaXRvcjUge1xuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBlZGl0b3IgY29uc3RydWN0b3IuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEVkaXRvckNvbnN0cnVjdG9yIHtcblx0XHRjcmVhdGUoIHNvdXJjZUVsZW1lbnRPckRhdGE6IEhUTUxFbGVtZW50IHwgc3RyaW5nLCBjb25maWc/OiBDb25maWcgKTogUHJvbWlzZTxFZGl0b3I+O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBDS0VkaXRvcjUgZWRpdG9yIGNvbmZpZy5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcblx0XHRbIGtleTogc3RyaW5nIF06IGFueTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgZXZlbnQgb2JqZWN0IHBhc3NlZCB0byBDS0VkaXRvcjUgZXZlbnQgY2FsbGJhY2tzLlxuXHQgKlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfdXRpbHNfZXZlbnRpbmZvLUV2ZW50SW5mby5odG1sXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEV2ZW50SW5mbzxFdmVudE5hbWUgZXh0ZW5kcyBzdHJpbmc+IHtcblx0XHRyZWFkb25seSBuYW1lOiBFdmVudE5hbWU7XG5cdFx0cmVhZG9ubHkgcGF0aDogYW55W107XG5cdFx0cmVhZG9ubHkgc291cmNlOiBhbnk7XG5cdFx0cmV0dXJuPzogYW55O1xuXG5cdFx0b2ZmKCk6IHZvaWQ7XG5cdFx0c3RvcCgpOiB2b2lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBiYXNlIEVkaXRvciBjbGFzcy5cblx0ICpcblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbFxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBCYXNlRWRpdG9yIHtcblx0XHRyZWFkb25seSBjb21tYW5kczogYW55O1xuXHRcdHJlYWRvbmx5IGNvbmZpZzogYW55O1xuXHRcdHJlYWRvbmx5IGNvbnZlcnNpb246IGFueTtcblx0XHRyZWFkb25seSBkYXRhOiBhbnk7XG5cdFx0cmVhZG9ubHkgZWRpdGluZzogYW55O1xuXHRcdHJlYWRvbmx5IGtleXN0cm9rZXM6IGFueTtcblx0XHRyZWFkb25seSBsb2NhbGU6IGFueTtcblx0XHRyZWFkb25seSBtb2RlbDogYW55O1xuXHRcdHJlYWRvbmx5IHBsdWdpbnM6IGFueTtcblx0XHRyZWFkb25seSBzdGF0ZTogJ2luaXRpYWxpemluZycgfCAncmVhZHknIHwgJ2Rlc3Ryb3llZCc7XG5cblx0XHRpc1JlYWRPbmx5OiBib29sZWFuO1xuXG5cdFx0ZGVsZWdhdGUoIGV2ZW50czogc3RyaW5nW10gKTogYW55O1xuXHRcdGRlc3Ryb3koKTogUHJvbWlzZTx2b2lkPjtcblx0XHRleGVjdXRlKCBjb21tYW5kTmFtZTogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdICk6IGFueTtcblx0XHRmaXJlKCBldmVudE5hbWU6IHN0cmluZywgYXJncz86IGFueSApOiBhbnk7XG5cdFx0bGlzdGVuVG8oIGVtaXR0ZXI6IGFueSwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgb3B0aW9ucz86IGFueSApOiB2b2lkO1xuXHRcdG9mZiggZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiApOiB2b2lkO1xuXHRcdG9uKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0b25jZSggZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgb3B0aW9ucz86IGFueSApOiB2b2lkO1xuXHRcdHN0b3BMaXN0ZW5pbmcoIGVtaXR0ZXI6IGFueSwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiApOiB2b2lkO1xuXHRcdHQoIC4uLmFyZ3M6IGFueVtdICk6IHZvaWQ7XG5cblx0XHRbIHByb3BlcnR5OiBzdHJpbmcgXTogYW55O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBDS0VkaXRvcjUgRGF0YUFwaSBpbnRlcmZhY2UuXG5cdCAqXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl91dGlsc19kYXRhYXBpbWl4aW4tRGF0YUFwaS5odG1sLlxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpIHtcblx0XHRnZXREYXRhKCk6IHN0cmluZztcblx0XHRzZXREYXRhKCBkYXRhOiBzdHJpbmcgKTogdm9pZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBBIENLRWRpdG9yNSBlZGl0b3IgdGhhdCBpbXBsZW1lbnRzIHRoZVxuXHQgKiBbRGF0YUFwaSBpbnRlcmZhY2VdKGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX3V0aWxzX2RhdGFhcGltaXhpbi1EYXRhQXBpLmh0bWwpLlxuXHQgKiBFLmcuIHRoZSBgQ2xhc3NpY0VkaXRvcmAsIGBJbmxpbmVFZGl0b3JgLCBldGMuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEVkaXRvciBleHRlbmRzIEJhc2VFZGl0b3IsIERhdGFBcGkge31cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE1BQU0sS0FBVyxTQUFTLENBK0V6QjtBQS9FRCxXQUFpQixTQUFTOzs7OztJQUl6QixnQ0FFQzs7Ozs7Ozs7UUFEQSxnRkFBc0Y7Ozs7OztJQU12RixxQkFFQzs7Ozs7Ozs7O0lBT0Qsd0JBUUM7Ozs7UUFQQSx5QkFBeUI7O1FBQ3pCLHlCQUFxQjs7UUFDckIsMkJBQXFCOztRQUNyQiwyQkFBYTs7OztRQUViLDBDQUFZOzs7O1FBQ1osMkNBQWE7Ozs7Ozs7O0lBUWQseUJBMEJDOzs7O1FBekJBLDhCQUF1Qjs7UUFDdkIsNEJBQXFCOztRQUNyQixnQ0FBeUI7O1FBQ3pCLDBCQUFtQjs7UUFDbkIsNkJBQXNCOztRQUN0QixnQ0FBeUI7O1FBQ3pCLDRCQUFxQjs7UUFDckIsMkJBQW9COztRQUNwQiw2QkFBc0I7O1FBQ3RCLDJCQUF1RDs7UUFFdkQsZ0NBQW9COzs7Ozs7UUFFcEIsc0RBQWtDOzs7O1FBQ2xDLCtDQUF5Qjs7Ozs7O1FBQ3pCLGtFQUFzRDs7Ozs7O1FBQ3RELDJEQUEyQzs7Ozs7Ozs7UUFDM0MscUZBQXFGOzs7Ozs7UUFDckYsOERBQW1EOzs7Ozs7O1FBQ25ELHNFQUFpRTs7Ozs7OztRQUNqRSx3RUFBbUU7Ozs7Ozs7UUFDbkUsaUZBQTJFOzs7OztRQUMzRSw2Q0FBMEI7Ozs7Ozs7O0lBVTNCLHNCQUdDOzs7Ozs7UUFGQSw0Q0FBa0I7Ozs7O1FBQ2xCLGdEQUE4Qjs7Ozs7Ozs7SUFRL0IscUJBQXNEOztBQUN2RCxDQUFDLEVBL0VnQixTQUFTLEtBQVQsU0FBUyxRQStFekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLyoqXG4gKiBCYXNpYyB0eXBpbmdzIGZvciB0aGUgQ0tFZGl0b3I1IGVsZW1lbnRzLlxuICovXG5leHBvcnQgbmFtZXNwYWNlIENLRWRpdG9yNSB7XG5cdC8qKlxuXHQgKiBUaGUgQ0tFZGl0b3I1IGVkaXRvciBjb25zdHJ1Y3Rvci5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yQ29uc3RydWN0b3Ige1xuXHRcdGNyZWF0ZSggc291cmNlRWxlbWVudE9yRGF0YTogSFRNTEVsZW1lbnQgfCBzdHJpbmcsIGNvbmZpZz86IENvbmZpZyApOiBQcm9taXNlPEVkaXRvcj47XG5cdH1cblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBlZGl0b3IgY29uZmlnLlxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuXHRcdFsga2V5OiBzdHJpbmcgXTogYW55O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBldmVudCBvYmplY3QgcGFzc2VkIHRvIENLRWRpdG9yNSBldmVudCBjYWxsYmFja3MuXG5cdCAqXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV91dGlsc19ldmVudGluZm8tRXZlbnRJbmZvLmh0bWxcblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRXZlbnRJbmZvPEV2ZW50TmFtZSBleHRlbmRzIHN0cmluZz4ge1xuXHRcdHJlYWRvbmx5IG5hbWU6IEV2ZW50TmFtZTtcblx0XHRyZWFkb25seSBwYXRoOiBhbnlbXTtcblx0XHRyZWFkb25seSBzb3VyY2U6IGFueTtcblx0XHRyZXR1cm4/OiBhbnk7XG5cblx0XHRvZmYoKTogdm9pZDtcblx0XHRzdG9wKCk6IHZvaWQ7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJhc2UgRWRpdG9yIGNsYXNzLlxuXHQgKlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEJhc2VFZGl0b3Ige1xuXHRcdHJlYWRvbmx5IGNvbW1hbmRzOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29uZmlnOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29udmVyc2lvbjogYW55O1xuXHRcdHJlYWRvbmx5IGRhdGE6IGFueTtcblx0XHRyZWFkb25seSBlZGl0aW5nOiBhbnk7XG5cdFx0cmVhZG9ubHkga2V5c3Ryb2tlczogYW55O1xuXHRcdHJlYWRvbmx5IGxvY2FsZTogYW55O1xuXHRcdHJlYWRvbmx5IG1vZGVsOiBhbnk7XG5cdFx0cmVhZG9ubHkgcGx1Z2luczogYW55O1xuXHRcdHJlYWRvbmx5IHN0YXRlOiAnaW5pdGlhbGl6aW5nJyB8ICdyZWFkeScgfCAnZGVzdHJveWVkJztcblxuXHRcdGlzUmVhZE9ubHk6IGJvb2xlYW47XG5cblx0XHRkZWxlZ2F0ZSggZXZlbnRzOiBzdHJpbmdbXSApOiBhbnk7XG5cdFx0ZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuXHRcdGV4ZWN1dGUoIGNvbW1hbmROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10gKTogYW55O1xuXHRcdGZpcmUoIGV2ZW50TmFtZTogc3RyaW5nLCBhcmdzPzogYW55ICk6IGFueTtcblx0XHRsaXN0ZW5UbyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0b2ZmKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0b24oIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24sIG9wdGlvbnM/OiBhbnkgKTogdm9pZDtcblx0XHRvbmNlKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0c3RvcExpc3RlbmluZyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0dCggLi4uYXJnczogYW55W10gKTogdm9pZDtcblxuXHRcdFsgcHJvcGVydHk6IHN0cmluZyBdOiBhbnk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBEYXRhQXBpIGludGVyZmFjZS5cblx0ICpcblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX3V0aWxzX2RhdGFhcGltaXhpbi1EYXRhQXBpLmh0bWwuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIERhdGFBcGkge1xuXHRcdGdldERhdGEoKTogc3RyaW5nO1xuXHRcdHNldERhdGEoIGRhdGE6IHN0cmluZyApOiB2b2lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgQ0tFZGl0b3I1IGVkaXRvciB0aGF0IGltcGxlbWVudHMgdGhlXG5cdCAqIFtEYXRhQXBpIGludGVyZmFjZV0oaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfdXRpbHNfZGF0YWFwaW1peGluLURhdGFBcGkuaHRtbCkuXG5cdCAqIEUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yYCwgYElubGluZUVkaXRvcmAsIGV0Yy5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yIGV4dGVuZHMgQmFzZUVkaXRvciwgRGF0YUFwaSB7fVxufVxuIl19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -22,2 +22,2 @@ */

];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3pELE1BQU0sT0FBTyxjQUFjOzs7WUFMMUIsUUFBUSxTQUFFO2dCQUNWLE9BQU8sRUFBRSxDQUFFLFdBQVcsRUFBRSxZQUFZLENBQUU7Z0JBQ3RDLFlBQVksRUFBRSxDQUFFLGlCQUFpQixDQUFFO2dCQUNuQyxPQUFPLEVBQUUsQ0FBRSxpQkFBaUIsQ0FBRTthQUM5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ0tFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NrZWRpdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSgge1xuXHRpbXBvcnRzOiBbIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUgXSxcblx0ZGVjbGFyYXRpb25zOiBbIENLRWRpdG9yQ29tcG9uZW50IF0sXG5cdGV4cG9ydHM6IFsgQ0tFZGl0b3JDb21wb25lbnQgXVxufSApXG5leHBvcnQgY2xhc3MgQ0tFZGl0b3JNb2R1bGUge31cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3pELE1BQU0sT0FBTyxjQUFjOzs7WUFMMUIsUUFBUSxTQUFFO2dCQUNWLE9BQU8sRUFBRSxDQUFFLFdBQVcsRUFBRSxZQUFZLENBQUU7Z0JBQ3RDLFlBQVksRUFBRSxDQUFFLGlCQUFpQixDQUFFO2dCQUNuQyxPQUFPLEVBQUUsQ0FBRSxpQkFBaUIsQ0FBRTthQUM5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTksIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ0tFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NrZWRpdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSgge1xuXHRpbXBvcnRzOiBbIEZvcm1zTW9kdWxlLCBDb21tb25Nb2R1bGUgXSxcblx0ZGVjbGFyYXRpb25zOiBbIENLRWRpdG9yQ29tcG9uZW50IF0sXG5cdGV4cG9ydHM6IFsgQ0tFZGl0b3JDb21wb25lbnQgXVxufSApXG5leHBvcnQgY2xhc3MgQ0tFZGl0b3JNb2R1bGUge31cbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -8,4 +8,3 @@ /**

*/
export { CKEditorModule } from './ckeditor.module';
export { CKEditorComponent as ɵa } from './ckeditor.component';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci1ja2VkaXRvcjUtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsK0JBQWMsbUJBQW1CLENBQUM7QUFFbEMsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBQyxNQUFNLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2NrZWRpdG9yLm1vZHVsZSc7XG5cbmV4cG9ydCB7Q0tFZGl0b3JDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL2NrZWRpdG9yLmNvbXBvbmVudCc7Il19
export { CKEditorComponent, CKEditorModule } from './index';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci1ja2VkaXRvcjUtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBSUEsa0RBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
/**
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -14,2 +15,8 @@ */

/**
* The configuration of the editor.
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editorconfig-EditorConfig.html
* to learn more.
*/
this.config = {};
/**
* The initial data of the editor. Useful when not using the ngModel.

@@ -101,5 +108,8 @@ * See https://angular.io/api/forms/NgModel to learn more.

var _this = this;
this.ngZone.runOutsideAngular(function () {
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () {
_this.createEditor();
});
}));
};

@@ -147,2 +157,7 @@ // Implementing the OnDestroy interface.

this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
}

@@ -203,13 +218,18 @@ };

/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
*/
/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}
*/
CKEditorComponent.prototype.createEditor = /**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}

@@ -221,18 +241,35 @@ */

var element = document.createElement(this.tagName);
this.editorElement = element;
if (this.data && this.config.initialData) {
throw new Error('Editor data should be provided either using `config.initialData` or `data` properties.');
}
// Merge two possible ways of providing data into the `config.initialData` field.
/** @type {?} */
var config = tslib_1.__assign({}, this.config, { initialData: this.config.initialData || this.data || '' });
this.elementRef.nativeElement.appendChild(element);
return (/** @type {?} */ (this.editor)).create(element, this.config)
.then(function (editor) {
return (/** @type {?} */ (this.editor)).create(element, config)
.then((/**
* @param {?} editor
* @return {?}
*/
function (editor) {
_this.editorInstance = editor;
editor.setData(_this.data);
if (_this.initialIsDisabled) {
editor.isReadOnly = _this.initialIsDisabled;
}
_this.ngZone.run(function () {
_this.ngZone.run((/**
* @return {?}
*/
function () {
_this.ready.emit(editor);
});
}));
_this.setUpEditorEvents(editor);
})
.catch(function (err) {
}))
.catch((/**
* @param {?} err
* @return {?}
*/
function (err) {
console.error(err.stack);
});
}));
};

@@ -244,2 +281,3 @@ /**

* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -250,2 +288,3 @@ * @return {?}

* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -260,19 +299,40 @@ * @return {?}

var viewDocument = editor.editing.view.document;
modelDocument.on('change:data', function (evt) {
/** @type {?} */
var data = editor.getData();
_this.ngZone.run(function () {
modelDocument.on('change:data', (/**
* @param {?} evt
* @return {?}
*/
function (evt) {
_this.ngZone.run((/**
* @return {?}
*/
function () {
if (_this.cvaOnChange) {
/** @type {?} */
var data = editor.getData();
_this.cvaOnChange(data);
}
_this.change.emit({ event: evt, editor: editor });
});
});
viewDocument.on('focus', function (evt) {
_this.ngZone.run(function () {
}));
}));
viewDocument.on('focus', (/**
* @param {?} evt
* @return {?}
*/
function (evt) {
_this.ngZone.run((/**
* @return {?}
*/
function () {
_this.focus.emit({ event: evt, editor: editor });
});
});
viewDocument.on('blur', function (evt) {
_this.ngZone.run(function () {
}));
}));
viewDocument.on('blur', (/**
* @param {?} evt
* @return {?}
*/
function (evt) {
_this.ngZone.run((/**
* @return {?}
*/
function () {
if (_this.cvaOnTouched) {

@@ -282,4 +342,4 @@ _this.cvaOnTouched();

_this.blur.emit({ event: evt, editor: editor });
});
});
}));
}));
};

@@ -294,3 +354,6 @@ CKEditorComponent.decorators = [

provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(function () { return CKEditorComponent; }),
useExisting: forwardRef((/**
* @return {?}
*/
function () { return CKEditorComponent; })),
multi: true,

@@ -324,2 +387,3 @@ }

* @type {?}
* @private
*/

@@ -390,2 +454,3 @@ CKEditorComponent.prototype.elementRef;

* @type {?}
* @private
*/

@@ -397,2 +462,3 @@ CKEditorComponent.prototype.initialIsDisabled;

* @type {?}
* @private
*/

@@ -406,2 +472,3 @@ CKEditorComponent.prototype.ngZone;

* @type {?}
* @private
*/

@@ -415,4 +482,11 @@ CKEditorComponent.prototype.cvaOnChange;

* @type {?}
* @private
*/
CKEditorComponent.prototype.cvaOnTouched;
/**
* Reference to the source element used by the editor.
* @type {?}
* @private
*/
CKEditorComponent.prototype.editorElement;
}

@@ -449,2 +523,2 @@ /**

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsT0FBTyxFQUNOLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixZQUFZLEVBQ1osVUFBVSxFQUVWLFVBQVUsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBRU4saUJBQWlCLEVBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEI7SUEySEMsMkJBQWEsVUFBc0IsRUFBRSxNQUFjOzs7OztRQXZGMUMsU0FBSSxHQUFHLEVBQUUsQ0FBQzs7Ozs7O1FBT1YsWUFBTyxHQUFHLEtBQUssQ0FBQzs7Ozs7O1FBd0JmLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQzs7Ozs7O1FBTzdDLFdBQU0sR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQzs7Ozs7O1FBT3BFLFNBQUksR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQzs7Ozs7O1FBTzlELFVBQUssR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQzs7OztRQUtwRSxtQkFBYyxHQUE0QixJQUFJLENBQUM7Ozs7O1FBTTlDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQXlCakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDOUIsQ0FBQztJQTVFRCxzQkFBYSx1Q0FBUTs7OztRQUlyQjtZQUNDLElBQUssSUFBSSxDQUFDLGNBQWMsRUFBRztnQkFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQzthQUN0QztZQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQy9CLENBQUM7UUFmRDs7OztXQUlHOzs7Ozs7OztRQUNILFVBQXVCLFVBQW1C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IjpbIi8qKlxuICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5pbXBvcnQge1xuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRPdXRwdXQsXG5cdE5nWm9uZSxcblx0RXZlbnRFbWl0dGVyLFxuXHRmb3J3YXJkUmVmLFxuXHRBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksXG5cdEVsZW1lbnRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG5cdENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuXHROR19WQUxVRV9BQ0NFU1NPUlxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IENLRWRpdG9yNSB9IGZyb20gJy4vY2tlZGl0b3InO1xuXG5AQ29tcG9uZW50KCB7XG5cdHNlbGVjdG9yOiAnY2tlZGl0b3InLFxuXHR0ZW1wbGF0ZTogJzxuZy10ZW1wbGF0ZT48L25nLXRlbXBsYXRlPicsXG5cblx0Ly8gSW50ZWdyYXRpb24gd2l0aCBAYW5ndWxhci9mb3Jtcy5cblx0cHJvdmlkZXJzOiBbXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZiggKCkgPT4gQ0tFZGl0b3JDb21wb25lbnQgKSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH1cblx0XVxufSApXG5leHBvcnQgY2xhc3MgQ0tFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0LyoqXG5cdCAqIFRoZSByZWZlcmVuY2UgdG8gdGhlIERPTSBlbGVtZW50IGNyZWF0ZWQgYnkgdGhlIGNvbXBvbmVudC5cblx0ICovXG5cdHByaXZhdGUgZWxlbWVudFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uc3RydWN0b3Igb2YgdGhlIGVkaXRvciB0byBiZSB1c2VkIGZvciB0aGUgaW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudC5cblx0ICogSXQgY2FuIGJlIGUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yQnVpbGRgLCBgSW5saW5lRWRpdG9yQnVpbGRgIG9yIHNvbWUgY3VzdG9tIGVkaXRvci5cblx0ICovXG5cdEBJbnB1dCgpIGVkaXRvcj86IENLRWRpdG9yNS5FZGl0b3JDb25zdHJ1Y3RvcjtcblxuXHQvKipcblx0ICogVGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGVkaXRvci5cblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvcmNvbmZpZy1FZGl0b3JDb25maWcuaHRtbFxuXHQgKiB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgY29uZmlnPzogQ0tFZGl0b3I1LkNvbmZpZztcblxuXHQvKipcblx0ICogVGhlIGluaXRpYWwgZGF0YSBvZiB0aGUgZWRpdG9yLiBVc2VmdWwgd2hlbiBub3QgdXNpbmcgdGhlIG5nTW9kZWwuXG5cdCAqIFNlZSBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL05nTW9kZWwgdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIGRhdGEgPSAnJztcblxuXHQvKipcblx0ICogVGFnIG5hbWUgb2YgdGhlIGVkaXRvciBjb21wb25lbnQuXG5cdCAqXG5cdCAqIFRoZSBkZWZhdWx0IHRhZyBpcyAnZGl2Jy5cblx0ICovXG5cdEBJbnB1dCgpIHRhZ05hbWUgPSAnZGl2JztcblxuXHQvKipcblx0ICogV2hlbiBzZXQgYHRydWVgLCB0aGUgZWRpdG9yIGJlY29tZXMgcmVhZC1vbmx5LlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sI21lbWJlci1pc1JlYWRPbmx5XG5cdCAqIHRvIGxlYXJuIG1vcmUuXG5cdCAqL1xuXHRASW5wdXQoKSBzZXQgZGlzYWJsZWQoIGlzRGlzYWJsZWQ6IGJvb2xlYW4gKSB7XG5cdFx0dGhpcy5zZXREaXNhYmxlZFN0YXRlKCBpc0Rpc2FibGVkICk7XG5cdH1cblxuXHRnZXQgZGlzYWJsZWQoKSB7XG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZWRpdG9ySW5zdGFuY2UuaXNSZWFkT25seTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5pbml0aWFsSXNEaXNhYmxlZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0b3IgaXMgcmVhZHkuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IjcmVhZHlgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbCNldmVudC1yZWFkeVxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSByZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8Q0tFZGl0b3I1LkVkaXRvcj4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgY29udGVudCBvZiB0aGUgZWRpdG9yIGhhcyBjaGFuZ2VkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLm1vZGVsLmRvY3VtZW50I2NoYW5nZWBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX21vZGVsX2RvY3VtZW50LURvY3VtZW50Lmh0bWwjZXZlbnQtY2hhbmdlXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGNoYW5nZTogRXZlbnRFbWl0dGVyPENoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hhbmdlRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRpbmcgdmlldyBvZiB0aGUgZWRpdG9yIGlzIGJsdXJyZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50I2JsdXJgXG5cdCAqIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2VuZ2luZV92aWV3X2RvY3VtZW50LURvY3VtZW50Lmh0bWwjZXZlbnQtZXZlbnQ6Ymx1clxuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBibHVyOiBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Qmx1ckV2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBlZGl0aW5nIHZpZXcgb2YgdGhlIGVkaXRvciBpcyBmb2N1c2VkLiBJdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBgZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudCNmb2N1c2Bcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpmb2N1c1xuXHQgKiBldmVudC5cblx0ICovXG5cdEBPdXRwdXQoKSBmb2N1czogRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PigpO1xuXG5cdC8qKlxuXHQgKiBUaGUgaW5zdGFuY2Ugb2YgdGhlIGVkaXRvciBjcmVhdGVkIGJ5IHRoaXMgY29tcG9uZW50LlxuXHQgKi9cblx0cHVibGljIGVkaXRvckluc3RhbmNlOiBDS0VkaXRvcjUuRWRpdG9yIHwgbnVsbCA9IG51bGw7XG5cblx0LyoqXG5cdCAqIElmIHRoZSBjb21wb25lbnQgaXMgcmVhZOKAk29ubHkgYmVmb3JlIHRoZSBlZGl0b3IgaW5zdGFuY2UgaXMgY3JlYXRlZCwgaXQgcmVtZW1iZXJzIHRoYXQgc3RhdGUsXG5cdCAqIHNvIHRoZSBlZGl0b3IgY2FuIGJlY29tZSByZWFk4oCTb25seSBvbmNlIGl0IGlzIHJlYWR5LlxuXHQgKi9cblx0cHJpdmF0ZSBpbml0aWFsSXNEaXNhYmxlZCA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBBbiBpbnN0YW5jZSBvZiBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvcmUvTmdab25lIHRvIGFsbG93IHRoZSBpbnRlcmFjdGlvbiB3aXRoIHRoZSBlZGl0b3Jcblx0ICogd2l0aGluZyB0aGUgQW5ndWxhciBldmVudCBsb29wLlxuXHQgKi9cblx0cHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZTtcblxuXHQvKipcblx0ICogQSBjYWxsYmFjayBleGVjdXRlZCB3aGVuIHRoZSBjb250ZW50IG9mIHRoZSBlZGl0b3IgY2hhbmdlcy4gUGFydCBvZiB0aGVcblx0ICogYENvbnRyb2xWYWx1ZUFjY2Vzc29yYCAoaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9mb3Jtcy9Db250cm9sVmFsdWVBY2Nlc3NvcikgaW50ZXJmYWNlLlxuXHQgKlxuXHQgKiBOb3RlOiBVbnNldCB1bmxlc3MgdGhlIGNvbXBvbmVudCB1c2VzIHRoZSBgbmdNb2RlbGAuXG5cdCAqL1xuXHRwcml2YXRlIGN2YU9uQ2hhbmdlPzogKCBkYXRhOiBzdHJpbmcgKSA9PiB2b2lkO1xuXG5cdC8qKlxuXHQgKiBBIGNhbGxiYWNrIGV4ZWN1dGVkIHdoZW4gdGhlIGVkaXRvciBoYXMgYmVlbiBibHVycmVkLiBQYXJ0IG9mIHRoZVxuXHQgKiBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIChodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSBpbnRlcmZhY2UuXG5cdCAqXG5cdCAqIE5vdGU6IFVuc2V0IHVubGVzcyB0aGUgY29tcG9uZW50IHVzZXMgdGhlIGBuZ01vZGVsYC5cblx0ICovXG5cdHByaXZhdGUgY3ZhT25Ub3VjaGVkPzogKCkgPT4gdm9pZDtcblxuXHRjb25zdHJ1Y3RvciggZWxlbWVudFJlZjogRWxlbWVudFJlZiwgbmdab25lOiBOZ1pvbmUgKSB7XG5cdFx0dGhpcy5uZ1pvbmUgPSBuZ1pvbmU7XG5cdFx0dGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQWZ0ZXJWaWV3SW5pdCBpbnRlcmZhY2UuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpIHtcblx0XHR0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhciggKCkgPT4ge1xuXHRcdFx0dGhpcy5jcmVhdGVFZGl0b3IoKTtcblx0XHR9ICk7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIE9uRGVzdHJveSBpbnRlcmZhY2UuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UuZGVzdHJveSgpO1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZSA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHR3cml0ZVZhbHVlKCB2YWx1ZTogc3RyaW5nIHwgbnVsbCApOiB2b2lkIHtcblx0XHQvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2l0aCB0aGUgYG51bGxgIHZhbHVlIHdoZW4gdGhlIGZvcm0gcmVzZXRzLlxuXHRcdC8vIEEgY29tcG9uZW50J3MgcmVzcG9uc2liaWxpdHkgaXMgdG8gcmVzdG9yZSB0byB0aGUgaW5pdGlhbCBzdGF0ZS5cblx0XHRpZiAoIHZhbHVlID09PSBudWxsICkge1xuXHRcdFx0dmFsdWUgPSAnJztcblx0XHR9XG5cblx0XHQvLyBJZiBhbHJlYWR5IGluaXRpYWxpemVkLlxuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2Uuc2V0RGF0YSggdmFsdWUgKTtcblx0XHR9XG5cdFx0Ly8gSWYgbm90LCB3YWl0IGZvciBpdCB0byBiZSByZWFkeTsgc3RvcmUgdGhlIGRhdGEuXG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmRhdGEgPSB2YWx1ZTtcblx0XHR9XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHJlZ2lzdGVyT25DaGFuZ2UoIGNhbGxiYWNrOiAoIGRhdGE6IHN0cmluZyApID0+IHZvaWQgKTogdm9pZCB7XG5cdFx0dGhpcy5jdmFPbkNoYW5nZSA9IGNhbGxiYWNrO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRyZWdpc3Rlck9uVG91Y2hlZCggY2FsbGJhY2s6ICgpID0+IHZvaWQgKTogdm9pZCB7XG5cdFx0dGhpcy5jdmFPblRvdWNoZWQgPSBjYWxsYmFjaztcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0c2V0RGlzYWJsZWRTdGF0ZSggaXNEaXNhYmxlZDogYm9vbGVhbiApOiB2b2lkIHtcblx0XHQvLyBJZiBhbHJlYWR5IGluaXRpYWxpemVkXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5pc1JlYWRPbmx5ID0gaXNEaXNhYmxlZDtcblx0XHR9XG5cdFx0Ly8gSWYgbm90LCB3YWl0IGZvciBpdCB0byBiZSByZWFkeTsgc3RvcmUgdGhlIHN0YXRlLlxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5pbml0aWFsSXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgdGhlIGVkaXRvciBpbnN0YW5jZSwgc2V0cyBpbml0aWFsIGVkaXRvciBkYXRhLFxuXHQgKiB0aGVuIGludGVncmF0ZXMgdGhlIGVkaXRvciB3aXRoIHRoZSBBbmd1bGFyIGNvbXBvbmVudC5cblx0ICovXG5cdHByaXZhdGUgY3JlYXRlRWRpdG9yKCk6IFByb21pc2U8YW55PiB7XG5cdFx0Y29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIHRoaXMudGFnTmFtZSApO1xuXG5cdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoIGVsZW1lbnQgKTtcblxuXHRcdHJldHVybiB0aGlzLmVkaXRvciEuY3JlYXRlKCBlbGVtZW50LCB0aGlzLmNvbmZpZyApXG5cdFx0XHQudGhlbiggZWRpdG9yID0+IHtcblx0XHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZSA9IGVkaXRvcjtcblxuXHRcdFx0XHRlZGl0b3Iuc2V0RGF0YSggdGhpcy5kYXRhICk7XG5cblx0XHRcdFx0aWYgKCB0aGlzLmluaXRpYWxJc0Rpc2FibGVkICkge1xuXHRcdFx0XHRcdGVkaXRvci5pc1JlYWRPbmx5ID0gdGhpcy5pbml0aWFsSXNEaXNhYmxlZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucmVhZHkuZW1pdCggZWRpdG9yICk7XG5cdFx0XHRcdH0gKTtcblxuXHRcdFx0XHR0aGlzLnNldFVwRWRpdG9yRXZlbnRzKCBlZGl0b3IgKTtcblx0XHRcdH0gKVxuXHRcdFx0LmNhdGNoKCAoIGVycjogRXJyb3IgKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoIGVyci5zdGFjayApO1xuXHRcdFx0fSApO1xuXHR9XG5cblx0LyoqXG5cdCAqIEludGVncmF0ZXMgdGhlIGVkaXRvciB3aXRoIHRoZSBjb21wb25lbnQgYnkgYXR0YWNoaW5nIHJlbGF0ZWQgZXZlbnQgbGlzdGVuZXJzLlxuXHQgKi9cblx0cHJpdmF0ZSBzZXRVcEVkaXRvckV2ZW50cyggZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yICk6IHZvaWQge1xuXHRcdGNvbnN0IG1vZGVsRG9jdW1lbnQgPSBlZGl0b3IubW9kZWwuZG9jdW1lbnQ7XG5cdFx0Y29uc3Qgdmlld0RvY3VtZW50ID0gZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudDtcblxuXHRcdG1vZGVsRG9jdW1lbnQub24oICdjaGFuZ2U6ZGF0YScsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdjaGFuZ2U6ZGF0YSc+ICkgPT4ge1xuXHRcdFx0Y29uc3QgZGF0YSA9IGVkaXRvci5nZXREYXRhKCk7XG5cblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRpZiAoIHRoaXMuY3ZhT25DaGFuZ2UgKSB7XG5cdFx0XHRcdFx0dGhpcy5jdmFPbkNoYW5nZSggZGF0YSApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5jaGFuZ2UuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblxuXHRcdHZpZXdEb2N1bWVudC5vbiggJ2ZvY3VzJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2ZvY3VzJz4gKSA9PiB7XG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0dGhpcy5mb2N1cy5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXG5cdFx0dmlld0RvY3VtZW50Lm9uKCAnYmx1cicsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdibHVyJz4gKSA9PiB7XG5cdFx0XHR0aGlzLm5nWm9uZS5ydW4oICgpID0+IHtcblx0XHRcdFx0aWYgKCB0aGlzLmN2YU9uVG91Y2hlZCApIHtcblx0XHRcdFx0XHR0aGlzLmN2YU9uVG91Y2hlZCgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5ibHVyLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cdH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCbHVyRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnYmx1cic+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9jdXNFdmVudCB7XG5cdGV2ZW50OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdmb2N1cyc+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnY2hhbmdlOmRhdGEnPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUtBLE9BQU8sRUFDTixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFFVixVQUFVLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUVOLGlCQUFpQixFQUNqQixNQUFNLGdCQUFnQixDQUFDO0FBSXhCO0lBZ0lDLDJCQUFhLFVBQXNCLEVBQUUsTUFBYzs7Ozs7O1FBbEcxQyxXQUFNLEdBQXFCLEVBQUUsQ0FBQzs7Ozs7UUFNOUIsU0FBSSxHQUFHLEVBQUUsQ0FBQzs7Ozs7O1FBT1YsWUFBTyxHQUFHLEtBQUssQ0FBQzs7Ozs7O1FBd0JmLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQzs7Ozs7O1FBTzdDLFdBQU0sR0FBOEIsSUFBSSxZQUFZLEVBQWUsQ0FBQzs7Ozs7O1FBT3BFLFNBQUksR0FBNEIsSUFBSSxZQUFZLEVBQWEsQ0FBQzs7Ozs7O1FBTzlELFVBQUssR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQzs7OztRQUtwRSxtQkFBYyxHQUE0QixJQUFJLENBQUM7Ozs7O1FBTTlDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQThCakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDOUIsQ0FBQztJQWpGRCxzQkFBYSx1Q0FBUTs7OztRQUlyQjtZQUNDLElBQUssSUFBSSxDQUFDLGNBQWMsRUFBRztnQkFDMUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQzthQUN0QztZQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQy9CLENBQUM7UUFm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Q0FBOEM7Ozs7Ozs7SUFPOUMsbUNBQXVDOzs7Ozs7SUFNdkMsaUNBQW1COzs7Ozs7O0lBT25CLG9DQUF5Qjs7Ozs7OztJQXdCekIsa0NBQXVEOzs7Ozs7O0lBT3ZELG1DQUE4RTs7Ozs7OztJQU85RSxpQ0FBd0U7Ozs7Ozs7SUFPeEUsa0NBQTJFOzs7OztJQUszRSwyQ0FBc0Q7Ozs7Ozs7SUFNdEQsOENBQWtDOzs7Ozs7O0lBTWxDLG1DQUF1Qjs7Ozs7Ozs7O0lBUXZCLHdDQUErQzs7Ozs7Ozs7O0lBUS9DLHlDQUFrQzs7Ozs7O0lBS2xDLDBDQUFvQzs7Ozs7QUFpSnJDLCtCQUdDOzs7SUFGQSwwQkFBbUM7O0lBQ25DLDJCQUF5Qjs7Ozs7QUFHMUIsZ0NBR0M7OztJQUZBLDJCQUFvQzs7SUFDcEMsNEJBQXlCOzs7OztBQUcxQixpQ0FHQzs7O0lBRkEsNEJBQTBDOztJQUMxQyw2QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuaW1wb3J0IHtcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0T3V0cHV0LFxuXHROZ1pvbmUsXG5cdEV2ZW50RW1pdHRlcixcblx0Zm9yd2FyZFJlZixcblx0QWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LFxuXHRFbGVtZW50UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuXHRDb250cm9sVmFsdWVBY2Nlc3Nvcixcblx0TkdfVkFMVUVfQUNDRVNTT1Jcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDS0VkaXRvcjUgfSBmcm9tICcuL2NrZWRpdG9yJztcblxuQENvbXBvbmVudCgge1xuXHRzZWxlY3RvcjogJ2NrZWRpdG9yJyxcblx0dGVtcGxhdGU6ICc8bmctdGVtcGxhdGU+PC9uZy10ZW1wbGF0ZT4nLFxuXG5cdC8vIEludGVncmF0aW9uIHdpdGggQGFuZ3VsYXIvZm9ybXMuXG5cdHByb3ZpZGVyczogW1xuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoICgpID0+IENLRWRpdG9yQ29tcG9uZW50ICksXG5cdFx0XHRtdWx0aTogdHJ1ZSxcblx0XHR9XG5cdF1cbn0gKVxuZXhwb3J0IGNsYXNzIENLRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdC8qKlxuXHQgKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBET00gZWxlbWVudCBjcmVhdGVkIGJ5IHRoZSBjb21wb25lbnQuXG5cdCAqL1xuXHRwcml2YXRlIGVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuXHQvKipcblx0ICogVGhlIGNvbnN0cnVjdG9yIG9mIHRoZSBlZGl0b3IgdG8gYmUgdXNlZCBmb3IgdGhlIGluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQuXG5cdCAqIEl0IGNhbiBiZSBlLmcuIHRoZSBgQ2xhc3NpY0VkaXRvckJ1aWxkYCwgYElubGluZUVkaXRvckJ1aWxkYCBvciBzb21lIGN1c3RvbSBlZGl0b3IuXG5cdCAqL1xuXHRASW5wdXQoKSBlZGl0b3I/OiBDS0VkaXRvcjUuRWRpdG9yQ29uc3RydWN0b3I7XG5cblx0LyoqXG5cdCAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBlZGl0b3IuXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3Jjb25maWctRWRpdG9yQ29uZmlnLmh0bWxcblx0ICogdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIGNvbmZpZzogQ0tFZGl0b3I1LkNvbmZpZyA9IHt9O1xuXG5cdC8qKlxuXHQgKiBUaGUgaW5pdGlhbCBkYXRhIG9mIHRoZSBlZGl0b3IuIFVzZWZ1bCB3aGVuIG5vdCB1c2luZyB0aGUgbmdNb2RlbC5cblx0ICogU2VlIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvTmdNb2RlbCB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgZGF0YSA9ICcnO1xuXG5cdC8qKlxuXHQgKiBUYWcgbmFtZSBvZiB0aGUgZWRpdG9yIGNvbXBvbmVudC5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdGFnIGlzICdkaXYnLlxuXHQgKi9cblx0QElucHV0KCkgdGFnTmFtZSA9ICdkaXYnO1xuXG5cdC8qKlxuXHQgKiBXaGVuIHNldCBgdHJ1ZWAsIHRoZSBlZGl0b3IgYmVjb21lcyByZWFkLW9ubHkuXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3ItRWRpdG9yLmh0bWwjbWVtYmVyLWlzUmVhZE9ubHlcblx0ICogdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIHNldCBkaXNhYmxlZCggaXNEaXNhYmxlZDogYm9vbGVhbiApIHtcblx0XHR0aGlzLnNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQgKTtcblx0fVxuXG5cdGdldCBkaXNhYmxlZCgpIHtcblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lZGl0b3JJbnN0YW5jZS5pc1JlYWRPbmx5O1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLmluaXRpYWxJc0Rpc2FibGVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRvciBpcyByZWFkeS4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvciNyZWFkeWBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sI2V2ZW50LXJlYWR5XG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxDS0VkaXRvcjUuRWRpdG9yPigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBjb250ZW50IG9mIHRoZSBlZGl0b3IgaGFzIGNoYW5nZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IubW9kZWwuZG9jdW1lbnQjY2hhbmdlYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfbW9kZWxfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1jaGFuZ2Vcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdGluZyB2aWV3IG9mIHRoZSBlZGl0b3IgaXMgYmx1cnJlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQjYmx1cmBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpibHVyXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxCbHVyRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxCbHVyRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRpbmcgdmlldyBvZiB0aGUgZWRpdG9yIGlzIGZvY3VzZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50I2ZvY3VzYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfdmlld19kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWV2ZW50OmZvY3VzXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGZvY3VzOiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgZWRpdG9yIGNyZWF0ZWQgYnkgdGhpcyBjb21wb25lbnQuXG5cdCAqL1xuXHRwdWJsaWMgZWRpdG9ySW5zdGFuY2U6IENLRWRpdG9yNS5FZGl0b3IgfCBudWxsID0gbnVsbDtcblxuXHQvKipcblx0ICogSWYgdGhlIGNvbXBvbmVudCBpcyByZWFk4oCTb25seSBiZWZvcmUgdGhlIGVkaXRvciBpbnN0YW5jZSBpcyBjcmVhdGVkLCBpdCByZW1lbWJlcnMgdGhhdCBzdGF0ZSxcblx0ICogc28gdGhlIGVkaXRvciBjYW4gYmVjb21lIHJlYWTigJNvbmx5IG9uY2UgaXQgaXMgcmVhZHkuXG5cdCAqL1xuXHRwcml2YXRlIGluaXRpYWxJc0Rpc2FibGVkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEFuIGluc3RhbmNlIG9mIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9OZ1pvbmUgdG8gYWxsb3cgdGhlIGludGVyYWN0aW9uIHdpdGggdGhlIGVkaXRvclxuXHQgKiB3aXRoaW5nIHRoZSBBbmd1bGFyIGV2ZW50IGxvb3AuXG5cdCAqL1xuXHRwcml2YXRlIG5nWm9uZTogTmdab25lO1xuXG5cdC8qKlxuXHQgKiBBIGNhbGxiYWNrIGV4ZWN1dGVkIHdoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGVkaXRvciBjaGFuZ2VzLiBQYXJ0IG9mIHRoZVxuXHQgKiBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIChodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSBpbnRlcmZhY2UuXG5cdCAqXG5cdCAqIE5vdGU6IFVuc2V0IHVubGVzcyB0aGUgY29tcG9uZW50IHVzZXMgdGhlIGBuZ01vZGVsYC5cblx0ICovXG5cdHByaXZhdGUgY3ZhT25DaGFuZ2U/OiAoIGRhdGE6IHN0cmluZyApID0+IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgZXhlY3V0ZWQgd2hlbiB0aGUgZWRpdG9yIGhhcyBiZWVuIGJsdXJyZWQuIFBhcnQgb2YgdGhlXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIGludGVyZmFjZS5cblx0ICpcblx0ICogTm90ZTogVW5zZXQgdW5sZXNzIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYG5nTW9kZWxgLlxuXHQgKi9cblx0cHJpdmF0ZSBjdmFPblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG5cdC8qKlxuXHQgKiBSZWZlcmVuY2UgdG8gdGhlIHNvdXJjZSBlbGVtZW50IHVzZWQgYnkgdGhlIGVkaXRvci5cblx0ICovXG5cdHByaXZhdGUgZWRpdG9yRWxlbWVudD86IEhUTUxFbGVtZW50O1xuXG5cdGNvbnN0cnVjdG9yKCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZ1pvbmU6IE5nWm9uZSApIHtcblx0XHR0aGlzLm5nWm9uZSA9IG5nWm9uZTtcblx0XHR0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBBZnRlclZpZXdJbml0IGludGVyZmFjZS5cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCAoKSA9PiB7XG5cdFx0XHR0aGlzLmNyZWF0ZUVkaXRvcigpO1xuXHRcdH0gKTtcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgT25EZXN0cm95IGludGVyZmFjZS5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5kZXN0cm95KCk7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlID0gbnVsbDtcblx0XHR9XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHdyaXRlVmFsdWUoIHZhbHVlOiBzdHJpbmcgfCBudWxsICk6IHZvaWQge1xuXHRcdC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHRoZSBgbnVsbGAgdmFsdWUgd2hlbiB0aGUgZm9ybSByZXNldHMuXG5cdFx0Ly8gQSBjb21wb25lbnQncyByZXNwb25zaWJpbGl0eSBpcyB0byByZXN0b3JlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuXHRcdGlmICggdmFsdWUgPT09IG51bGwgKSB7XG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH1cblxuXHRcdC8vIElmIGFscmVhZHkgaW5pdGlhbGl6ZWQuXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5zZXREYXRhKCB2YWx1ZSApO1xuXHRcdH1cblx0XHQvLyBJZiBub3QsIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5OyBzdG9yZSB0aGUgZGF0YS5cblx0XHRlbHNlIHtcblx0XHRcdHRoaXMuZGF0YSA9IHZhbHVlO1xuXG5cdFx0XHQvLyBJZiB0aGUgZWRpdG9yIGVsZW1lbnQgaXMgYWxyZWFkeSBhdmFpbGFibGUsIHRoZW4gdXBkYXRlIGl0cyBjb250ZW50LlxuXHRcdFx0Ly8gSWYgdGhlIG5nTW9kZWwgaXMgdXNlZCB0aGVuIHRoZSBlZGl0b3IgZWxlbWVudCBzaG91bGQgYmUgdXBkYXRlZCBkaXJlY3RseSBoZXJlLlxuXHRcdFx0aWYgKCB0aGlzLmVkaXRvckVsZW1lbnQgKSB7XG5cdFx0XHRcdHRoaXMuZWRpdG9yRWxlbWVudC5pbm5lckhUTUwgPSB0aGlzLmRhdGE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRyZWdpc3Rlck9uQ2hhbmdlKCBjYWxsYmFjazogKCBkYXRhOiBzdHJpbmcgKSA9PiB2b2lkICk6IHZvaWQge1xuXHRcdHRoaXMuY3ZhT25DaGFuZ2UgPSBjYWxsYmFjaztcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cmVnaXN0ZXJPblRvdWNoZWQoIGNhbGxiYWNrOiAoKSA9PiB2b2lkICk6IHZvaWQge1xuXHRcdHRoaXMuY3ZhT25Ub3VjaGVkID0gY2FsbGJhY2s7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQ6IGJvb2xlYW4gKTogdm9pZCB7XG5cdFx0Ly8gSWYgYWxyZWFkeSBpbml0aWFsaXplZFxuXHRcdGlmICggdGhpcy5lZGl0b3JJbnN0YW5jZSApIHtcblx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UuaXNSZWFkT25seSA9IGlzRGlzYWJsZWQ7XG5cdFx0fVxuXHRcdC8vIElmIG5vdCwgd2FpdCBmb3IgaXQgdG8gYmUgcmVhZHk7IHN0b3JlIHRoZSBzdGF0ZS5cblx0XHRlbHNlIHtcblx0XHRcdHRoaXMuaW5pdGlhbElzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIHRoZSBlZGl0b3IgaW5zdGFuY2UsIHNldHMgaW5pdGlhbCBlZGl0b3IgZGF0YSwgdGhlbiBpbnRlZ3JhdGVzXG5cdCAqIHRoZSBlZGl0b3Igd2l0aCB0aGUgQW5ndWxhciBjb21wb25lbnQuIFRoaXMgbWV0aG9kIGRvZXMgbm90IHVzZSB0aGUgYGVkaXRvci5zZXREYXRhKClgXG5cdCAqIGJlY2F1c2Ugb2YgdGhlIGlzc3VlIGluIHRoZSBjb2xsYWJvcmF0aW9uIG1vZGUgKCM2KS5cblx0ICovXG5cdHByaXZhdGUgY3JlYXRlRWRpdG9yKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCB0aGlzLnRhZ05hbWUgKTtcblx0XHR0aGlzLmVkaXRvckVsZW1lbnQgPSBlbGVtZW50O1xuXG5cdFx0aWYgKCB0aGlzLmRhdGEgJiYgdGhpcy5jb25maWcuaW5pdGlhbERhdGEgKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoICdFZGl0b3IgZGF0YSBzaG91bGQgYmUgcHJvdmlkZWQgZWl0aGVyIHVzaW5nIGBjb25maWcuaW5pdGlhbERhdGFgIG9yIGBkYXRhYCBwcm9wZXJ0aWVzLicgKTtcblx0XHR9XG5cblx0XHQvLyBNZXJnZSB0d28gcG9zc2libGUgd2F5cyBvZiBwcm92aWRpbmcgZGF0YSBpbnRvIHRoZSBgY29uZmlnLmluaXRpYWxEYXRhYCBmaWVsZC5cblx0XHRjb25zdCBjb25maWcgPSB7XG5cdFx0XHQuLi50aGlzLmNvbmZpZyxcblx0XHRcdGluaXRpYWxEYXRhOiB0aGlzLmNvbmZpZy5pbml0aWFsRGF0YSB8fCB0aGlzLmRhdGEgfHwgJydcblx0XHR9O1xuXG5cdFx0dGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoIGVsZW1lbnQgKTtcblxuXHRcdHJldHVybiB0aGlzLmVkaXRvciEuY3JlYXRlKCBlbGVtZW50LCBjb25maWcgKVxuXHRcdFx0LnRoZW4oIGVkaXRvciA9PiB7XG5cdFx0XHRcdHRoaXMuZWRpdG9ySW5zdGFuY2UgPSBlZGl0b3I7XG5cblx0XHRcdFx0aWYgKCB0aGlzLmluaXRpYWxJc0Rpc2FibGVkICkge1xuXHRcdFx0XHRcdGVkaXRvci5pc1JlYWRPbmx5ID0gdGhpcy5pbml0aWFsSXNEaXNhYmxlZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMucmVhZHkuZW1pdCggZWRpdG9yICk7XG5cdFx0XHRcdH0gKTtcblxuXHRcdFx0XHR0aGlzLnNldFVwRWRpdG9yRXZlbnRzKCBlZGl0b3IgKTtcblx0XHRcdH0gKVxuXHRcdFx0LmNhdGNoKCAoIGVycjogRXJyb3IgKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoIGVyci5zdGFjayApO1xuXHRcdFx0fSApO1xuXHR9XG5cblx0LyoqXG5cdCAqIEludGVncmF0ZXMgdGhlIGVkaXRvciB3aXRoIHRoZSBjb21wb25lbnQgYnkgYXR0YWNoaW5nIHJlbGF0ZWQgZXZlbnQgbGlzdGVuZXJzLlxuXHQgKi9cblx0cHJpdmF0ZSBzZXRVcEVkaXRvckV2ZW50cyggZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yICk6IHZvaWQge1xuXHRcdGNvbnN0IG1vZGVsRG9jdW1lbnQgPSBlZGl0b3IubW9kZWwuZG9jdW1lbnQ7XG5cdFx0Y29uc3Qgdmlld0RvY3VtZW50ID0gZWRpdG9yLmVkaXRpbmcudmlldy5kb2N1bWVudDtcblxuXHRcdG1vZGVsRG9jdW1lbnQub24oICdjaGFuZ2U6ZGF0YScsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdjaGFuZ2U6ZGF0YSc+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdGlmICggdGhpcy5jdmFPbkNoYW5nZSApIHtcblx0XHRcdFx0XHRjb25zdCBkYXRhID0gZWRpdG9yLmdldERhdGEoKTtcblxuXHRcdFx0XHRcdHRoaXMuY3ZhT25DaGFuZ2UoIGRhdGEgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuY2hhbmdlLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cblx0XHR2aWV3RG9jdW1lbnQub24oICdmb2N1cycsICggZXZ0OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdmb2N1cyc+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZm9jdXMuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblxuXHRcdHZpZXdEb2N1bWVudC5vbiggJ2JsdXInLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnYmx1cic+ICkgPT4ge1xuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdGlmICggdGhpcy5jdmFPblRvdWNoZWQgKSB7XG5cdFx0XHRcdFx0dGhpcy5jdmFPblRvdWNoZWQoKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuYmx1ci5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmx1ckV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2JsdXInPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvY3VzRXZlbnQge1xuXHRldmVudDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnZm9jdXMnPjtcblx0ZWRpdG9yOiBDS0VkaXRvcjUuRWRpdG9yO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUV2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2NoYW5nZTpkYXRhJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cbiJdfQ==
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
/**
* Basic typings for the CKEditor5 elements.

@@ -179,2 +183,2 @@ */

})(CKEditor5 || (CKEditor5 = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsTUFBTSxLQUFXLFNBQVMsQ0ErRXpCO0FBL0VELFdBQWlCLFNBQVM7Ozs7O0lBSXpCLGdDQUVDOzs7Ozs7OztRQURBLGdGQUFzRjs7Ozs7O0lBTXZGLHFCQUVDOzs7Ozs7Ozs7SUFPRCx3QkFRQzs7OztRQVBBLHlCQUF5Qjs7UUFDekIseUJBQXFCOztRQUNyQiwyQkFBcUI7O1FBQ3JCLDJCQUFhOzs7O1FBRWIsMENBQVk7Ozs7UUFDWiwyQ0FBYTs7Ozs7Ozs7SUFRZCx5QkEwQkM7Ozs7UUF6QkEsOEJBQXVCOztRQUN2Qiw0QkFBcUI7O1FBQ3JCLGdDQUF5Qjs7UUFDekIsMEJBQW1COztRQUNuQiw2QkFBc0I7O1FBQ3RCLGdDQUF5Qjs7UUFDekIsNEJBQXFCOztRQUNyQiwyQkFBb0I7O1FBQ3BCLDZCQUFzQjs7UUFDdEIsMkJBQXVEOztRQUV2RCxnQ0FBb0I7Ozs7OztRQUVwQixzREFBa0M7Ozs7UUFDbEMsK0NBQXlCOzs7Ozs7UUFDekIsa0VBQXNEOzs7Ozs7UUFDdEQsMkRBQTJDOzs7Ozs7OztRQUMzQyxxRkFBcUY7Ozs7OztRQUNyRiw4REFBbUQ7Ozs7Ozs7UUFDbkQsc0VBQWlFOzs7Ozs7O1FBQ2pFLHdFQUFtRTs7Ozs7OztRQUNuRSxpRkFBMkU7Ozs7O1FBQzNFLDZDQUEwQjs7Ozs7Ozs7SUFVM0Isc0JBR0M7Ozs7OztRQUZBLDRDQUFrQjs7Ozs7UUFDbEIsZ0RBQThCOzs7Ozs7OztJQVEvQixxQkFBc0Q7O0FBQ3ZELENBQUMsRUEvRWdCLFNBQVMsS0FBVCxTQUFTLFFBK0V6QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmFzaWMgdHlwaW5ncyBmb3IgdGhlIENLRWRpdG9yNSBlbGVtZW50cy5cbiAqL1xuZXhwb3J0IG5hbWVzcGFjZSBDS0VkaXRvcjUge1xuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBlZGl0b3IgY29uc3RydWN0b3IuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEVkaXRvckNvbnN0cnVjdG9yIHtcblx0XHRjcmVhdGUoIHNvdXJjZUVsZW1lbnRPckRhdGE6IEhUTUxFbGVtZW50IHwgc3RyaW5nLCBjb25maWc/OiBDb25maWcgKTogUHJvbWlzZTxFZGl0b3I+O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBDS0VkaXRvcjUgZWRpdG9yIGNvbmZpZy5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnIHtcblx0XHRbIGtleTogc3RyaW5nIF06IGFueTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgZXZlbnQgb2JqZWN0IHBhc3NlZCB0byBDS0VkaXRvcjUgZXZlbnQgY2FsbGJhY2tzLlxuXHQgKlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfdXRpbHNfZXZlbnRpbmZvLUV2ZW50SW5mby5odG1sXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEV2ZW50SW5mbzxFdmVudE5hbWUgZXh0ZW5kcyBzdHJpbmc+IHtcblx0XHRyZWFkb25seSBuYW1lOiBFdmVudE5hbWU7XG5cdFx0cmVhZG9ubHkgcGF0aDogYW55W107XG5cdFx0cmVhZG9ubHkgc291cmNlOiBhbnk7XG5cdFx0cmV0dXJuPzogYW55O1xuXG5cdFx0b2ZmKCk6IHZvaWQ7XG5cdFx0c3RvcCgpOiB2b2lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBiYXNlIEVkaXRvciBjbGFzcy5cblx0ICpcblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX2VkaXRvci1FZGl0b3IuaHRtbFxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBCYXNlRWRpdG9yIHtcblx0XHRyZWFkb25seSBjb21tYW5kczogYW55O1xuXHRcdHJlYWRvbmx5IGNvbmZpZzogYW55O1xuXHRcdHJlYWRvbmx5IGNvbnZlcnNpb246IGFueTtcblx0XHRyZWFkb25seSBkYXRhOiBhbnk7XG5cdFx0cmVhZG9ubHkgZWRpdGluZzogYW55O1xuXHRcdHJlYWRvbmx5IGtleXN0cm9rZXM6IGFueTtcblx0XHRyZWFkb25seSBsb2NhbGU6IGFueTtcblx0XHRyZWFkb25seSBtb2RlbDogYW55O1xuXHRcdHJlYWRvbmx5IHBsdWdpbnM6IGFueTtcblx0XHRyZWFkb25seSBzdGF0ZTogJ2luaXRpYWxpemluZycgfCAncmVhZHknIHwgJ2Rlc3Ryb3llZCc7XG5cblx0XHRpc1JlYWRPbmx5OiBib29sZWFuO1xuXG5cdFx0ZGVsZWdhdGUoIGV2ZW50czogc3RyaW5nW10gKTogYW55O1xuXHRcdGRlc3Ryb3koKTogUHJvbWlzZTx2b2lkPjtcblx0XHRleGVjdXRlKCBjb21tYW5kTmFtZTogc3RyaW5nLCAuLi5wYXJhbXM6IGFueVtdICk6IGFueTtcblx0XHRmaXJlKCBldmVudE5hbWU6IHN0cmluZywgYXJncz86IGFueSApOiBhbnk7XG5cdFx0bGlzdGVuVG8oIGVtaXR0ZXI6IGFueSwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgb3B0aW9ucz86IGFueSApOiB2b2lkO1xuXHRcdG9mZiggZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiApOiB2b2lkO1xuXHRcdG9uKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0b25jZSggZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiwgb3B0aW9ucz86IGFueSApOiB2b2lkO1xuXHRcdHN0b3BMaXN0ZW5pbmcoIGVtaXR0ZXI6IGFueSwgZXZlbnROYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbiApOiB2b2lkO1xuXHRcdHQoIC4uLmFyZ3M6IGFueVtdICk6IHZvaWQ7XG5cblx0XHRbIHByb3BlcnR5OiBzdHJpbmcgXTogYW55O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBDS0VkaXRvcjUgRGF0YUFwaSBpbnRlcmZhY2UuXG5cdCAqXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl91dGlsc19kYXRhYXBpbWl4aW4tRGF0YUFwaS5odG1sLlxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBEYXRhQXBpIHtcblx0XHRnZXREYXRhKCk6IHN0cmluZztcblx0XHRzZXREYXRhKCBkYXRhOiBzdHJpbmcgKTogdm9pZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBBIENLRWRpdG9yNSBlZGl0b3IgdGhhdCBpbXBsZW1lbnRzIHRoZVxuXHQgKiBbRGF0YUFwaSBpbnRlcmZhY2VdKGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX3V0aWxzX2RhdGFhcGltaXhpbi1EYXRhQXBpLmh0bWwpLlxuXHQgKiBFLmcuIHRoZSBgQ2xhc3NpY0VkaXRvcmAsIGBJbmxpbmVFZGl0b3JgLCBldGMuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEVkaXRvciBleHRlbmRzIEJhc2VFZGl0b3IsIERhdGFBcGkge31cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvIiwic291cmNlcyI6WyJja2VkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE1BQU0sS0FBVyxTQUFTLENBK0V6QjtBQS9FRCxXQUFpQixTQUFTOzs7OztJQUl6QixnQ0FFQzs7Ozs7Ozs7UUFEQSxnRkFBc0Y7Ozs7OztJQU12RixxQkFFQzs7Ozs7Ozs7O0lBT0Qsd0JBUUM7Ozs7UUFQQSx5QkFBeUI7O1FBQ3pCLHlCQUFxQjs7UUFDckIsMkJBQXFCOztRQUNyQiwyQkFBYTs7OztRQUViLDBDQUFZOzs7O1FBQ1osMkNBQWE7Ozs7Ozs7O0lBUWQseUJBMEJDOzs7O1FBekJBLDhCQUF1Qjs7UUFDdkIsNEJBQXFCOztRQUNyQixnQ0FBeUI7O1FBQ3pCLDBCQUFtQjs7UUFDbkIsNkJBQXNCOztRQUN0QixnQ0FBeUI7O1FBQ3pCLDRCQUFxQjs7UUFDckIsMkJBQW9COztRQUNwQiw2QkFBc0I7O1FBQ3RCLDJCQUF1RDs7UUFFdkQsZ0NBQW9COzs7Ozs7UUFFcEIsc0RBQWtDOzs7O1FBQ2xDLCtDQUF5Qjs7Ozs7O1FBQ3pCLGtFQUFzRDs7Ozs7O1FBQ3RELDJEQUEyQzs7Ozs7Ozs7UUFDM0MscUZBQXFGOzs7Ozs7UUFDckYsOERBQW1EOzs7Ozs7O1FBQ25ELHNFQUFpRTs7Ozs7OztRQUNqRSx3RUFBbUU7Ozs7Ozs7UUFDbkUsaUZBQTJFOzs7OztRQUMzRSw2Q0FBMEI7Ozs7Ozs7O0lBVTNCLHNCQUdDOzs7Ozs7UUFGQSw0Q0FBa0I7Ozs7O1FBQ2xCLGdEQUE4Qjs7Ozs7Ozs7SUFRL0IscUJBQXNEOztBQUN2RCxDQUFDLEVBL0VnQixTQUFTLEtBQVQsU0FBUyxRQStFekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLyoqXG4gKiBCYXNpYyB0eXBpbmdzIGZvciB0aGUgQ0tFZGl0b3I1IGVsZW1lbnRzLlxuICovXG5leHBvcnQgbmFtZXNwYWNlIENLRWRpdG9yNSB7XG5cdC8qKlxuXHQgKiBUaGUgQ0tFZGl0b3I1IGVkaXRvciBjb25zdHJ1Y3Rvci5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yQ29uc3RydWN0b3Ige1xuXHRcdGNyZWF0ZSggc291cmNlRWxlbWVudE9yRGF0YTogSFRNTEVsZW1lbnQgfCBzdHJpbmcsIGNvbmZpZz86IENvbmZpZyApOiBQcm9taXNlPEVkaXRvcj47XG5cdH1cblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBlZGl0b3IgY29uZmlnLlxuXHQgKi9cblx0ZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuXHRcdFsga2V5OiBzdHJpbmcgXTogYW55O1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoZSBldmVudCBvYmplY3QgcGFzc2VkIHRvIENLRWRpdG9yNSBldmVudCBjYWxsYmFja3MuXG5cdCAqXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV91dGlsc19ldmVudGluZm8tRXZlbnRJbmZvLmh0bWxcblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRXZlbnRJbmZvPEV2ZW50TmFtZSBleHRlbmRzIHN0cmluZz4ge1xuXHRcdHJlYWRvbmx5IG5hbWU6IEV2ZW50TmFtZTtcblx0XHRyZWFkb25seSBwYXRoOiBhbnlbXTtcblx0XHRyZWFkb25seSBzb3VyY2U6IGFueTtcblx0XHRyZXR1cm4/OiBhbnk7XG5cblx0XHRvZmYoKTogdm9pZDtcblx0XHRzdG9wKCk6IHZvaWQ7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGJhc2UgRWRpdG9yIGNsYXNzLlxuXHQgKlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIEJhc2VFZGl0b3Ige1xuXHRcdHJlYWRvbmx5IGNvbW1hbmRzOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29uZmlnOiBhbnk7XG5cdFx0cmVhZG9ubHkgY29udmVyc2lvbjogYW55O1xuXHRcdHJlYWRvbmx5IGRhdGE6IGFueTtcblx0XHRyZWFkb25seSBlZGl0aW5nOiBhbnk7XG5cdFx0cmVhZG9ubHkga2V5c3Ryb2tlczogYW55O1xuXHRcdHJlYWRvbmx5IGxvY2FsZTogYW55O1xuXHRcdHJlYWRvbmx5IG1vZGVsOiBhbnk7XG5cdFx0cmVhZG9ubHkgcGx1Z2luczogYW55O1xuXHRcdHJlYWRvbmx5IHN0YXRlOiAnaW5pdGlhbGl6aW5nJyB8ICdyZWFkeScgfCAnZGVzdHJveWVkJztcblxuXHRcdGlzUmVhZE9ubHk6IGJvb2xlYW47XG5cblx0XHRkZWxlZ2F0ZSggZXZlbnRzOiBzdHJpbmdbXSApOiBhbnk7XG5cdFx0ZGVzdHJveSgpOiBQcm9taXNlPHZvaWQ+O1xuXHRcdGV4ZWN1dGUoIGNvbW1hbmROYW1lOiBzdHJpbmcsIC4uLnBhcmFtczogYW55W10gKTogYW55O1xuXHRcdGZpcmUoIGV2ZW50TmFtZTogc3RyaW5nLCBhcmdzPzogYW55ICk6IGFueTtcblx0XHRsaXN0ZW5UbyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0b2ZmKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0b24oIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24sIG9wdGlvbnM/OiBhbnkgKTogdm9pZDtcblx0XHRvbmNlKCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBvcHRpb25zPzogYW55ICk6IHZvaWQ7XG5cdFx0c3RvcExpc3RlbmluZyggZW1pdHRlcjogYW55LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uICk6IHZvaWQ7XG5cdFx0dCggLi4uYXJnczogYW55W10gKTogdm9pZDtcblxuXHRcdFsgcHJvcGVydHk6IHN0cmluZyBdOiBhbnk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIENLRWRpdG9yNSBEYXRhQXBpIGludGVyZmFjZS5cblx0ICpcblx0ICogU2VlIGh0dHBzOi8vY2tlZGl0b3IuY29tL2RvY3MvY2tlZGl0b3I1L2xhdGVzdC9hcGkvbW9kdWxlX2NvcmVfZWRpdG9yX3V0aWxzX2RhdGFhcGltaXhpbi1EYXRhQXBpLmh0bWwuXG5cdCAqL1xuXHRleHBvcnQgaW50ZXJmYWNlIERhdGFBcGkge1xuXHRcdGdldERhdGEoKTogc3RyaW5nO1xuXHRcdHNldERhdGEoIGRhdGE6IHN0cmluZyApOiB2b2lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEEgQ0tFZGl0b3I1IGVkaXRvciB0aGF0IGltcGxlbWVudHMgdGhlXG5cdCAqIFtEYXRhQXBpIGludGVyZmFjZV0oaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfdXRpbHNfZGF0YWFwaW1peGluLURhdGFBcGkuaHRtbCkuXG5cdCAqIEUuZy4gdGhlIGBDbGFzc2ljRWRpdG9yYCwgYElubGluZUVkaXRvcmAsIGV0Yy5cblx0ICovXG5cdGV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yIGV4dGVuZHMgQmFzZUVkaXRvciwgRGF0YUFwaSB7fVxufVxuIl19
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.

@@ -26,2 +26,2 @@ */

export { CKEditorModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpEO0lBQUE7SUFLNkIsQ0FBQzs7Z0JBTDdCLFFBQVEsU0FBRTtvQkFDVixPQUFPLEVBQUUsQ0FBRSxXQUFXLEVBQUUsWUFBWSxDQUFFO29CQUN0QyxZQUFZLEVBQUUsQ0FBRSxpQkFBaUIsQ0FBRTtvQkFDbkMsT0FBTyxFQUFFLENBQUUsaUJBQWlCLENBQUU7aUJBQzlCOztJQUM0QixxQkFBQztDQUFBLEFBTDlCLElBSzhCO1NBQWpCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENLRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ja2VkaXRvci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoIHtcblx0aW1wb3J0czogWyBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlIF0sXG5cdGRlY2xhcmF0aW9uczogWyBDS0VkaXRvckNvbXBvbmVudCBdLFxuXHRleHBvcnRzOiBbIENLRWRpdG9yQ29tcG9uZW50IF1cbn0gKVxuZXhwb3J0IGNsYXNzIENLRWRpdG9yTW9kdWxlIHt9XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyLyIsInNvdXJjZXMiOlsiY2tlZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBS0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpEO0lBQUE7SUFLNkIsQ0FBQzs7Z0JBTDdCLFFBQVEsU0FBRTtvQkFDVixPQUFPLEVBQUUsQ0FBRSxXQUFXLEVBQUUsWUFBWSxDQUFFO29CQUN0QyxZQUFZLEVBQUUsQ0FBRSxpQkFBaUIsQ0FBRTtvQkFDbkMsT0FBTyxFQUFFLENBQUUsaUJBQWlCLENBQUU7aUJBQzlCOztJQUM0QixxQkFBQztDQUFBLEFBTDlCLElBSzhCO1NBQWpCLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE5LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENLRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ja2VkaXRvci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoIHtcblx0aW1wb3J0czogWyBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlIF0sXG5cdGRlY2xhcmF0aW9uczogWyBDS0VkaXRvckNvbXBvbmVudCBdLFxuXHRleHBvcnRzOiBbIENLRWRpdG9yQ29tcG9uZW50IF1cbn0gKVxuZXhwb3J0IGNsYXNzIENLRWRpdG9yTW9kdWxlIHt9XG4iXX0=
import { Component, Input, Output, NgZone, EventEmitter, forwardRef, ElementRef, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
/**
* Basic typings for the CKEditor5 elements.
*/
var CKEditor5;
(function (CKEditor5) {
/**
* The CKEditor5 editor constructor.
* @record
*/
function EditorConstructor() { }
CKEditor5.EditorConstructor = EditorConstructor;
/**
* The CKEditor5 editor config.
* @record
*/
function Config() { }
CKEditor5.Config = Config;
/**
* The event object passed to CKEditor5 event callbacks.
*
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_utils_eventinfo-EventInfo.html
* @record
* @template EventName
*/
function EventInfo() { }
CKEditor5.EventInfo = EventInfo;
/**
* The base Editor class.
*
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editor-Editor.html
* @record
*/
function BaseEditor() { }
CKEditor5.BaseEditor = BaseEditor;
/**
* The CKEditor5 DataApi interface.
*
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_utils_dataapimixin-DataApi.html.
* @record
*/
function DataApi() { }
CKEditor5.DataApi = DataApi;
/**
* A CKEditor5 editor that implements the
* [DataApi interface](https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_utils_dataapimixin-DataApi.html).
* E.g. the `ClassicEditor`, `InlineEditor`, etc.
* @record
*/
function Editor() { }
CKEditor5.Editor = Editor;
})(CKEditor5 || (CKEditor5 = {}));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
class CKEditorComponent {

@@ -16,2 +76,8 @@ /**

/**
* The configuration of the editor.
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editorconfig-EditorConfig.html
* to learn more.
*/
this.config = {};
/**
* The initial data of the editor. Useful when not using the ngModel.

@@ -87,5 +153,8 @@ * See https://angular.io/api/forms/NgModel to learn more.

ngAfterViewInit() {
this.ngZone.runOutsideAngular(() => {
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
() => {
this.createEditor();
});
}));
}

@@ -120,2 +189,7 @@ // Implementing the OnDestroy interface.

this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
}

@@ -155,4 +229,6 @@ }

/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}

@@ -163,21 +239,39 @@ */

const element = document.createElement(this.tagName);
this.editorElement = element;
if (this.data && this.config.initialData) {
throw new Error('Editor data should be provided either using `config.initialData` or `data` properties.');
}
// Merge two possible ways of providing data into the `config.initialData` field.
/** @type {?} */
const config = Object.assign({}, this.config, { initialData: this.config.initialData || this.data || '' });
this.elementRef.nativeElement.appendChild(element);
return (/** @type {?} */ (this.editor)).create(element, this.config)
.then(editor => {
return (/** @type {?} */ (this.editor)).create(element, config)
.then((/**
* @param {?} editor
* @return {?}
*/
editor => {
this.editorInstance = editor;
editor.setData(this.data);
if (this.initialIsDisabled) {
editor.isReadOnly = this.initialIsDisabled;
}
this.ngZone.run(() => {
this.ngZone.run((/**
* @return {?}
*/
() => {
this.ready.emit(editor);
});
}));
this.setUpEditorEvents(editor);
})
.catch((err) => {
}))
.catch((/**
* @param {?} err
* @return {?}
*/
(err) => {
console.error(err.stack);
});
}));
}
/**
* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -191,19 +285,40 @@ * @return {?}

const viewDocument = editor.editing.view.document;
modelDocument.on('change:data', (evt) => {
/** @type {?} */
const data = editor.getData();
this.ngZone.run(() => {
modelDocument.on('change:data', (/**
* @param {?} evt
* @return {?}
*/
(evt) => {
this.ngZone.run((/**
* @return {?}
*/
() => {
if (this.cvaOnChange) {
/** @type {?} */
const data = editor.getData();
this.cvaOnChange(data);
}
this.change.emit({ event: evt, editor });
});
});
viewDocument.on('focus', (evt) => {
this.ngZone.run(() => {
}));
}));
viewDocument.on('focus', (/**
* @param {?} evt
* @return {?}
*/
(evt) => {
this.ngZone.run((/**
* @return {?}
*/
() => {
this.focus.emit({ event: evt, editor });
});
});
viewDocument.on('blur', (evt) => {
this.ngZone.run(() => {
}));
}));
viewDocument.on('blur', (/**
* @param {?} evt
* @return {?}
*/
(evt) => {
this.ngZone.run((/**
* @return {?}
*/
() => {
if (this.cvaOnTouched) {

@@ -213,4 +328,4 @@ this.cvaOnTouched();

this.blur.emit({ event: evt, editor });
});
});
}));
}));
}

@@ -226,3 +341,6 @@ }

provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => CKEditorComponent),
useExisting: forwardRef((/**
* @return {?}
*/
() => CKEditorComponent)),
multi: true,

@@ -252,3 +370,3 @@ }

* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -267,7 +385,12 @@ class CKEditorModule {

* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { CKEditorModule, CKEditorComponent as ɵa };
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMubWFwIiwic291cmNlcyI6WyJuZzovL0Bja2VkaXRvci9ja2VkaXRvcjUtYW5ndWxhci9ja2VkaXRvci5jb21wb25lbnQudHMiLCJuZzovL0Bja2VkaXRvci9ja2VkaXRvcjUtYW5ndWxhci9ja2VkaXRvci5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0Tmdab25lLFxuXHRFdmVudEVtaXR0ZXIsXG5cdGZvcndhcmRSZWYsXG5cdEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSxcblx0RWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcblx0Q29udHJvbFZhbHVlQWNjZXNzb3IsXG5cdE5HX1ZBTFVFX0FDQ0VTU09SXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ0tFZGl0b3I1IH0gZnJvbSAnLi9ja2VkaXRvcic7XG5cbkBDb21wb25lbnQoIHtcblx0c2VsZWN0b3I6ICdja2VkaXRvcicsXG5cdHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlPjwvbmctdGVtcGxhdGU+JyxcblxuXHQvLyBJbnRlZ3JhdGlvbiB3aXRoIEBhbmd1bGFyL2Zvcm1zLlxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCAoKSA9PiBDS0VkaXRvckNvbXBvbmVudCApLFxuXHRcdFx0bXVsdGk6IHRydWUsXG5cdFx0fVxuXHRdXG59IClcbmV4cG9ydCBjbGFzcyBDS0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXHQvKipcblx0ICogVGhlIHJlZmVyZW5jZSB0byB0aGUgRE9NIGVsZW1lbnQgY3JlYXRlZCBieSB0aGUgY29tcG9uZW50LlxuXHQgKi9cblx0cHJpdmF0ZSBlbGVtZW50UmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cblx0LyoqXG5cdCAqIFRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgZWRpdG9yIHRvIGJlIHVzZWQgZm9yIHRoZSBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBJdCBjYW4gYmUgZS5nLiB0aGUgYENsYXNzaWNFZGl0b3JCdWlsZGAsIGBJbmxpbmVFZGl0b3JCdWlsZGAgb3Igc29tZSBjdXN0b20gZWRpdG9yLlxuXHQgKi9cblx0QElucHV0KCkgZWRpdG9yPzogQ0tFZGl0b3I1LkVkaXRvckNvbnN0cnVjdG9yO1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZWRpdG9yLlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yY29uZmlnLUVkaXRvckNvbmZpZy5odG1sXG5cdCAqIHRvIGxlYXJuIG1vcmUuXG5cdCAqL1xuXHRASW5wdXQoKSBjb25maWc/OiBDS0VkaXRvcjUuQ29uZmlnO1xuXG5cdC8qKlxuXHQgKiBUaGUgaW5pdGlhbCBkYXRhIG9mIHRoZSBlZGl0b3IuIFVzZWZ1bCB3aGVuIG5vdCB1c2luZyB0aGUgbmdNb2RlbC5cblx0ICogU2VlIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvTmdNb2RlbCB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgZGF0YSA9ICcnO1xuXG5cdC8qKlxuXHQgKiBUYWcgbmFtZSBvZiB0aGUgZWRpdG9yIGNvbXBvbmVudC5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdGFnIGlzICdkaXYnLlxuXHQgKi9cblx0QElucHV0KCkgdGFnTmFtZSA9ICdkaXYnO1xuXG5cdC8qKlxuXHQgKiBXaGVuIHNldCBgdHJ1ZWAsIHRoZSBlZGl0b3IgYmVjb21lcyByZWFkLW9ubHkuXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3ItRWRpdG9yLmh0bWwjbWVtYmVyLWlzUmVhZE9ubHlcblx0ICogdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIHNldCBkaXNhYmxlZCggaXNEaXNhYmxlZDogYm9vbGVhbiApIHtcblx0XHR0aGlzLnNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQgKTtcblx0fVxuXG5cdGdldCBkaXNhYmxlZCgpIHtcblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lZGl0b3JJbnN0YW5jZS5pc1JlYWRPbmx5O1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLmluaXRpYWxJc0Rpc2FibGVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRvciBpcyByZWFkeS4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvciNyZWFkeWBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sI2V2ZW50LXJlYWR5XG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxDS0VkaXRvcjUuRWRpdG9yPigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBjb250ZW50IG9mIHRoZSBlZGl0b3IgaGFzIGNoYW5nZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IubW9kZWwuZG9jdW1lbnQjY2hhbmdlYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfbW9kZWxfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1jaGFuZ2Vcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdGluZyB2aWV3IG9mIHRoZSBlZGl0b3IgaXMgYmx1cnJlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQjYmx1cmBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpibHVyXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxCbHVyRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxCbHVyRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRpbmcgdmlldyBvZiB0aGUgZWRpdG9yIGlzIGZvY3VzZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50I2ZvY3VzYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfdmlld19kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWV2ZW50OmZvY3VzXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGZvY3VzOiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgZWRpdG9yIGNyZWF0ZWQgYnkgdGhpcyBjb21wb25lbnQuXG5cdCAqL1xuXHRwdWJsaWMgZWRpdG9ySW5zdGFuY2U6IENLRWRpdG9yNS5FZGl0b3IgfCBudWxsID0gbnVsbDtcblxuXHQvKipcblx0ICogSWYgdGhlIGNvbXBvbmVudCBpcyByZWFkw6LCgMKTb25seSBiZWZvcmUgdGhlIGVkaXRvciBpbnN0YW5jZSBpcyBjcmVhdGVkLCBpdCByZW1lbWJlcnMgdGhhdCBzdGF0ZSxcblx0ICogc28gdGhlIGVkaXRvciBjYW4gYmVjb21lIHJlYWTDosKAwpNvbmx5IG9uY2UgaXQgaXMgcmVhZHkuXG5cdCAqL1xuXHRwcml2YXRlIGluaXRpYWxJc0Rpc2FibGVkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEFuIGluc3RhbmNlIG9mIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9OZ1pvbmUgdG8gYWxsb3cgdGhlIGludGVyYWN0aW9uIHdpdGggdGhlIGVkaXRvclxuXHQgKiB3aXRoaW5nIHRoZSBBbmd1bGFyIGV2ZW50IGxvb3AuXG5cdCAqL1xuXHRwcml2YXRlIG5nWm9uZTogTmdab25lO1xuXG5cdC8qKlxuXHQgKiBBIGNhbGxiYWNrIGV4ZWN1dGVkIHdoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGVkaXRvciBjaGFuZ2VzLiBQYXJ0IG9mIHRoZVxuXHQgKiBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIChodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSBpbnRlcmZhY2UuXG5cdCAqXG5cdCAqIE5vdGU6IFVuc2V0IHVubGVzcyB0aGUgY29tcG9uZW50IHVzZXMgdGhlIGBuZ01vZGVsYC5cblx0ICovXG5cdHByaXZhdGUgY3ZhT25DaGFuZ2U/OiAoIGRhdGE6IHN0cmluZyApID0+IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgZXhlY3V0ZWQgd2hlbiB0aGUgZWRpdG9yIGhhcyBiZWVuIGJsdXJyZWQuIFBhcnQgb2YgdGhlXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIGludGVyZmFjZS5cblx0ICpcblx0ICogTm90ZTogVW5zZXQgdW5sZXNzIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYG5nTW9kZWxgLlxuXHQgKi9cblx0cHJpdmF0ZSBjdmFPblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG5cdGNvbnN0cnVjdG9yKCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZ1pvbmU6IE5nWm9uZSApIHtcblx0XHR0aGlzLm5nWm9uZSA9IG5nWm9uZTtcblx0XHR0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBBZnRlclZpZXdJbml0IGludGVyZmFjZS5cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCAoKSA9PiB7XG5cdFx0XHR0aGlzLmNyZWF0ZUVkaXRvcigpO1xuXHRcdH0gKTtcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgT25EZXN0cm95IGludGVyZmFjZS5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5kZXN0cm95KCk7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlID0gbnVsbDtcblx0XHR9XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHdyaXRlVmFsdWUoIHZhbHVlOiBzdHJpbmcgfCBudWxsICk6IHZvaWQge1xuXHRcdC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHRoZSBgbnVsbGAgdmFsdWUgd2hlbiB0aGUgZm9ybSByZXNldHMuXG5cdFx0Ly8gQSBjb21wb25lbnQncyByZXNwb25zaWJpbGl0eSBpcyB0byByZXN0b3JlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuXHRcdGlmICggdmFsdWUgPT09IG51bGwgKSB7XG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH1cblxuXHRcdC8vIElmIGFscmVhZHkgaW5pdGlhbGl6ZWQuXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5zZXREYXRhKCB2YWx1ZSApO1xuXHRcdH1cblx0XHQvLyBJZiBub3QsIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5OyBzdG9yZSB0aGUgZGF0YS5cblx0XHRlbHNlIHtcblx0XHRcdHRoaXMuZGF0YSA9IHZhbHVlO1xuXHRcdH1cblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cmVnaXN0ZXJPbkNoYW5nZSggY2FsbGJhY2s6ICggZGF0YTogc3RyaW5nICkgPT4gdm9pZCApOiB2b2lkIHtcblx0XHR0aGlzLmN2YU9uQ2hhbmdlID0gY2FsbGJhY2s7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKCBjYWxsYmFjazogKCkgPT4gdm9pZCApOiB2b2lkIHtcblx0XHR0aGlzLmN2YU9uVG91Y2hlZCA9IGNhbGxiYWNrO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRzZXREaXNhYmxlZFN0YXRlKCBpc0Rpc2FibGVkOiBib29sZWFuICk6IHZvaWQge1xuXHRcdC8vIElmIGFscmVhZHkgaW5pdGlhbGl6ZWRcblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlLmlzUmVhZE9ubHkgPSBpc0Rpc2FibGVkO1xuXHRcdH1cblx0XHQvLyBJZiBub3QsIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5OyBzdG9yZSB0aGUgc3RhdGUuXG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmluaXRpYWxJc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgZWRpdG9yIGluc3RhbmNlLCBzZXRzIGluaXRpYWwgZWRpdG9yIGRhdGEsXG5cdCAqIHRoZW4gaW50ZWdyYXRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIEFuZ3VsYXIgY29tcG9uZW50LlxuXHQgKi9cblx0cHJpdmF0ZSBjcmVhdGVFZGl0b3IoKTogUHJvbWlzZTxhbnk+IHtcblx0XHRjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggdGhpcy50YWdOYW1lICk7XG5cblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCggZWxlbWVudCApO1xuXG5cdFx0cmV0dXJuIHRoaXMuZWRpdG9yIS5jcmVhdGUoIGVsZW1lbnQsIHRoaXMuY29uZmlnIClcblx0XHRcdC50aGVuKCBlZGl0b3IgPT4ge1xuXHRcdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlID0gZWRpdG9yO1xuXG5cdFx0XHRcdGVkaXRvci5zZXREYXRhKCB0aGlzLmRhdGEgKTtcblxuXHRcdFx0XHRpZiAoIHRoaXMuaW5pdGlhbElzRGlzYWJsZWQgKSB7XG5cdFx0XHRcdFx0ZWRpdG9yLmlzUmVhZE9ubHkgPSB0aGlzLmluaXRpYWxJc0Rpc2FibGVkO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KCBlZGl0b3IgKTtcblx0XHRcdFx0fSApO1xuXG5cdFx0XHRcdHRoaXMuc2V0VXBFZGl0b3JFdmVudHMoIGVkaXRvciApO1xuXHRcdFx0fSApXG5cdFx0XHQuY2F0Y2goICggZXJyOiBFcnJvciApID0+IHtcblx0XHRcdFx0Y29uc29sZS5lcnJvciggZXJyLnN0YWNrICk7XG5cdFx0XHR9ICk7XG5cdH1cblxuXHQvKipcblx0ICogSW50ZWdyYXRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIGNvbXBvbmVudCBieSBhdHRhY2hpbmcgcmVsYXRlZCBldmVudCBsaXN0ZW5lcnMuXG5cdCAqL1xuXHRwcml2YXRlIHNldFVwRWRpdG9yRXZlbnRzKCBlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3IgKTogdm9pZCB7XG5cdFx0Y29uc3QgbW9kZWxEb2N1bWVudCA9IGVkaXRvci5tb2RlbC5kb2N1bWVudDtcblx0XHRjb25zdCB2aWV3RG9jdW1lbnQgPSBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50O1xuXG5cdFx0bW9kZWxEb2N1bWVudC5vbiggJ2NoYW5nZTpkYXRhJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2NoYW5nZTpkYXRhJz4gKSA9PiB7XG5cdFx0XHRjb25zdCBkYXRhID0gZWRpdG9yLmdldERhdGEoKTtcblxuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdGlmICggdGhpcy5jdmFPbkNoYW5nZSApIHtcblx0XHRcdFx0XHR0aGlzLmN2YU9uQ2hhbmdlKCBkYXRhICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmNoYW5nZS5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXG5cdFx0dmlld0RvY3VtZW50Lm9uKCAnZm9jdXMnLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnZm9jdXMnPiApID0+IHtcblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmZvY3VzLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cblx0XHR2aWV3RG9jdW1lbnQub24oICdibHVyJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2JsdXInPiApID0+IHtcblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRpZiAoIHRoaXMuY3ZhT25Ub3VjaGVkICkge1xuXHRcdFx0XHRcdHRoaXMuY3ZhT25Ub3VjaGVkKCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmJsdXIuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJsdXJFdmVudCB7XG5cdGV2ZW50OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdibHVyJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb2N1c0V2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2ZvY3VzJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VFdmVudCB7XG5cdGV2ZW50OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdjaGFuZ2U6ZGF0YSc+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG4iLCIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENLRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ja2VkaXRvci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoIHtcblx0aW1wb3J0czogWyBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlIF0sXG5cdGRlY2xhcmF0aW9uczogWyBDS0VkaXRvckNvbXBvbmVudCBdLFxuXHRleHBvcnRzOiBbIENLRWRpdG9yQ29tcG9uZW50IF1cbn0gKVxuZXhwb3J0IGNsYXNzIENLRWRpdG9yTW9kdWxlIHt9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7TUFvQ2EsaUJBQWlCOzs7OztJQThHN0IsWUFBYSxVQUFzQixFQUFFLE1BQWM7Ozs7O1FBdkYxQyxTQUFJLEdBQUcsRUFBRSxDQUFDOzs7Ozs7UUFPVixZQUFPLEdBQUcsS0FBSyxDQUFDOzs7Ozs7UUF3QmYsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDOzs7Ozs7UUFPN0MsV0FBTSxHQUE4QixJQUFJLFlBQVksRUFBZSxDQUFDOzs7Ozs7UUFPcEUsU0FBSSxHQUE0QixJQUFJLFlBQVksRUFBYSxDQUFDOzs7Ozs7UUFPOUQsVUFBSyxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDOzs7O1FBS3BFLG1CQUFjLEdBQTRCLElBQUksQ0FBQzs7Ozs7UUFNOUMsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBeUJqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztLQUM3Qjs7Ozs7Ozs7SUE1RUQsSUFBYSxRQUFRLENBQUUsVUFBbUI7UUFDekMsSUFBSSxDQUFDLGdCQUFnQixDQUFFLFVBQVUsQ0FBRSxDQUFDO0tBQ3BDOzs7O0lBRUQsSUFBSSxRQUFRO1FBQ1gsSUFBSyxJQUFJLENBQUMsY0FBYyxFQUFHO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7U0FDdEM7UUFFRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztLQUM5Qjs7Ozs7SUFxRUQsZUFBZTtRQUNkLElBQUksQ0FBQyxNQUFN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
export { CKEditorComponent, CKEditorModule };
//# sourceMappingURL=ckeditor-ckeditor5-angular.js.map

@@ -0,12 +1,79 @@

import { __assign } from 'tslib';
import { Component, Input, Output, NgZone, EventEmitter, forwardRef, ElementRef, NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
import { CommonModule } from '@angular/common';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
/**
* Basic typings for the CKEditor5 elements.
*/
var CKEditor5;
(function (CKEditor5) {
/**
* The CKEditor5 editor constructor.
* @record
*/
function EditorConstructor() { }
CKEditor5.EditorConstructor = EditorConstructor;
/**
* The CKEditor5 editor config.
* @record
*/
function Config() { }
CKEditor5.Config = Config;
/**
* The event object passed to CKEditor5 event callbacks.
*
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_utils_eventinfo-EventInfo.html
* @record
* @template EventName
*/
function EventInfo() { }
CKEditor5.EventInfo = EventInfo;
/**
* The base Editor class.
*
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editor-Editor.html
* @record
*/
function BaseEditor() { }
CKEditor5.BaseEditor = BaseEditor;
/**
* The CKEditor5 DataApi interface.
*
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_utils_dataapimixin-DataApi.html.
* @record
*/
function DataApi() { }
CKEditor5.DataApi = DataApi;
/**
* A CKEditor5 editor that implements the
* [DataApi interface](https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_utils_dataapimixin-DataApi.html).
* E.g. the `ClassicEditor`, `InlineEditor`, etc.
* @record
*/
function Editor() { }
CKEditor5.Editor = Editor;
})(CKEditor5 || (CKEditor5 = {}));
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
var CKEditorComponent = /** @class */ (function () {
function CKEditorComponent(elementRef, ngZone) {
/**
* The configuration of the editor.
* See https://ckeditor.com/docs/ckeditor5/latest/api/module_core_editor_editorconfig-EditorConfig.html
* to learn more.
*/
this.config = {};
/**
* The initial data of the editor. Useful when not using the ngModel.

@@ -98,5 +165,8 @@ * See https://angular.io/api/forms/NgModel to learn more.

var _this = this;
this.ngZone.runOutsideAngular(function () {
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () {
_this.createEditor();
});
}));
};

@@ -144,2 +214,7 @@ // Implementing the OnDestroy interface.

this.data = value;
// If the editor element is already available, then update its content.
// If the ngModel is used then the editor element should be updated directly here.
if (this.editorElement) {
this.editorElement.innerHTML = this.data;
}
}

@@ -200,13 +275,18 @@ };

/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
*/
/**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}
*/
CKEditorComponent.prototype.createEditor = /**
* Creates the editor instance, sets initial editor data,
* then integrates the editor with the Angular component.
* Creates the editor instance, sets initial editor data, then integrates
* the editor with the Angular component. This method does not use the `editor.setData()`
* because of the issue in the collaboration mode (#6).
* @private
* @return {?}

@@ -218,18 +298,35 @@ */

var element = document.createElement(this.tagName);
this.editorElement = element;
if (this.data && this.config.initialData) {
throw new Error('Editor data should be provided either using `config.initialData` or `data` properties.');
}
// Merge two possible ways of providing data into the `config.initialData` field.
/** @type {?} */
var config = __assign({}, this.config, { initialData: this.config.initialData || this.data || '' });
this.elementRef.nativeElement.appendChild(element);
return (/** @type {?} */ (this.editor)).create(element, this.config)
.then(function (editor) {
return (/** @type {?} */ (this.editor)).create(element, config)
.then((/**
* @param {?} editor
* @return {?}
*/
function (editor) {
_this.editorInstance = editor;
editor.setData(_this.data);
if (_this.initialIsDisabled) {
editor.isReadOnly = _this.initialIsDisabled;
}
_this.ngZone.run(function () {
_this.ngZone.run((/**
* @return {?}
*/
function () {
_this.ready.emit(editor);
});
}));
_this.setUpEditorEvents(editor);
})
.catch(function (err) {
}))
.catch((/**
* @param {?} err
* @return {?}
*/
function (err) {
console.error(err.stack);
});
}));
};

@@ -241,2 +338,3 @@ /**

* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -247,2 +345,3 @@ * @return {?}

* Integrates the editor with the component by attaching related event listeners.
* @private
* @param {?} editor

@@ -257,19 +356,40 @@ * @return {?}

var viewDocument = editor.editing.view.document;
modelDocument.on('change:data', function (evt) {
/** @type {?} */
var data = editor.getData();
_this.ngZone.run(function () {
modelDocument.on('change:data', (/**
* @param {?} evt
* @return {?}
*/
function (evt) {
_this.ngZone.run((/**
* @return {?}
*/
function () {
if (_this.cvaOnChange) {
/** @type {?} */
var data = editor.getData();
_this.cvaOnChange(data);
}
_this.change.emit({ event: evt, editor: editor });
});
});
viewDocument.on('focus', function (evt) {
_this.ngZone.run(function () {
}));
}));
viewDocument.on('focus', (/**
* @param {?} evt
* @return {?}
*/
function (evt) {
_this.ngZone.run((/**
* @return {?}
*/
function () {
_this.focus.emit({ event: evt, editor: editor });
});
});
viewDocument.on('blur', function (evt) {
_this.ngZone.run(function () {
}));
}));
viewDocument.on('blur', (/**
* @param {?} evt
* @return {?}
*/
function (evt) {
_this.ngZone.run((/**
* @return {?}
*/
function () {
if (_this.cvaOnTouched) {

@@ -279,4 +399,4 @@ _this.cvaOnTouched();

_this.blur.emit({ event: evt, editor: editor });
});
});
}));
}));
};

@@ -291,3 +411,6 @@ CKEditorComponent.decorators = [

provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(function () { return CKEditorComponent; }),
useExisting: forwardRef((/**
* @return {?}
*/
function () { return CKEditorComponent; })),
multi: true,

@@ -319,3 +442,3 @@ }

* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/

@@ -337,7 +460,12 @@ var CKEditorModule = /** @class */ (function () {

* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
export { CKEditorModule, CKEditorComponent as ɵa };
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tlZGl0b3ItY2tlZGl0b3I1LWFuZ3VsYXIuanMubWFwIiwic291cmNlcyI6WyJuZzovL0Bja2VkaXRvci9ja2VkaXRvcjUtYW5ndWxhci9ja2VkaXRvci5jb21wb25lbnQudHMiLCJuZzovL0Bja2VkaXRvci9ja2VkaXRvcjUtYW5ndWxhci9ja2VkaXRvci5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbmltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0Tmdab25lLFxuXHRFdmVudEVtaXR0ZXIsXG5cdGZvcndhcmRSZWYsXG5cdEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSxcblx0RWxlbWVudFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcblx0Q29udHJvbFZhbHVlQWNjZXNzb3IsXG5cdE5HX1ZBTFVFX0FDQ0VTU09SXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ0tFZGl0b3I1IH0gZnJvbSAnLi9ja2VkaXRvcic7XG5cbkBDb21wb25lbnQoIHtcblx0c2VsZWN0b3I6ICdja2VkaXRvcicsXG5cdHRlbXBsYXRlOiAnPG5nLXRlbXBsYXRlPjwvbmctdGVtcGxhdGU+JyxcblxuXHQvLyBJbnRlZ3JhdGlvbiB3aXRoIEBhbmd1bGFyL2Zvcm1zLlxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCAoKSA9PiBDS0VkaXRvckNvbXBvbmVudCApLFxuXHRcdFx0bXVsdGk6IHRydWUsXG5cdFx0fVxuXHRdXG59IClcbmV4cG9ydCBjbGFzcyBDS0VkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXHQvKipcblx0ICogVGhlIHJlZmVyZW5jZSB0byB0aGUgRE9NIGVsZW1lbnQgY3JlYXRlZCBieSB0aGUgY29tcG9uZW50LlxuXHQgKi9cblx0cHJpdmF0ZSBlbGVtZW50UmVmITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cblx0LyoqXG5cdCAqIFRoZSBjb25zdHJ1Y3RvciBvZiB0aGUgZWRpdG9yIHRvIGJlIHVzZWQgZm9yIHRoZSBpbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50LlxuXHQgKiBJdCBjYW4gYmUgZS5nLiB0aGUgYENsYXNzaWNFZGl0b3JCdWlsZGAsIGBJbmxpbmVFZGl0b3JCdWlsZGAgb3Igc29tZSBjdXN0b20gZWRpdG9yLlxuXHQgKi9cblx0QElucHV0KCkgZWRpdG9yPzogQ0tFZGl0b3I1LkVkaXRvckNvbnN0cnVjdG9yO1xuXG5cdC8qKlxuXHQgKiBUaGUgY29uZmlndXJhdGlvbiBvZiB0aGUgZWRpdG9yLlxuXHQgKiBTZWUgaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yY29uZmlnLUVkaXRvckNvbmZpZy5odG1sXG5cdCAqIHRvIGxlYXJuIG1vcmUuXG5cdCAqL1xuXHRASW5wdXQoKSBjb25maWc/OiBDS0VkaXRvcjUuQ29uZmlnO1xuXG5cdC8qKlxuXHQgKiBUaGUgaW5pdGlhbCBkYXRhIG9mIHRoZSBlZGl0b3IuIFVzZWZ1bCB3aGVuIG5vdCB1c2luZyB0aGUgbmdNb2RlbC5cblx0ICogU2VlIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvTmdNb2RlbCB0byBsZWFybiBtb3JlLlxuXHQgKi9cblx0QElucHV0KCkgZGF0YSA9ICcnO1xuXG5cdC8qKlxuXHQgKiBUYWcgbmFtZSBvZiB0aGUgZWRpdG9yIGNvbXBvbmVudC5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdGFnIGlzICdkaXYnLlxuXHQgKi9cblx0QElucHV0KCkgdGFnTmFtZSA9ICdkaXYnO1xuXG5cdC8qKlxuXHQgKiBXaGVuIHNldCBgdHJ1ZWAsIHRoZSBlZGl0b3IgYmVjb21lcyByZWFkLW9ubHkuXG5cdCAqIFNlZSBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9jb3JlX2VkaXRvcl9lZGl0b3ItRWRpdG9yLmh0bWwjbWVtYmVyLWlzUmVhZE9ubHlcblx0ICogdG8gbGVhcm4gbW9yZS5cblx0ICovXG5cdEBJbnB1dCgpIHNldCBkaXNhYmxlZCggaXNEaXNhYmxlZDogYm9vbGVhbiApIHtcblx0XHR0aGlzLnNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQgKTtcblx0fVxuXG5cdGdldCBkaXNhYmxlZCgpIHtcblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lZGl0b3JJbnN0YW5jZS5pc1JlYWRPbmx5O1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLmluaXRpYWxJc0Rpc2FibGVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRvciBpcyByZWFkeS4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvciNyZWFkeWBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfY29yZV9lZGl0b3JfZWRpdG9yLUVkaXRvci5odG1sI2V2ZW50LXJlYWR5XG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIHJlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxDS0VkaXRvcjUuRWRpdG9yPigpO1xuXG5cdC8qKlxuXHQgKiBGaXJlcyB3aGVuIHRoZSBjb250ZW50IG9mIHRoZSBlZGl0b3IgaGFzIGNoYW5nZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IubW9kZWwuZG9jdW1lbnQjY2hhbmdlYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfbW9kZWxfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1jaGFuZ2Vcblx0ICogZXZlbnQuXG5cdCAqL1xuXHRAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Q2hhbmdlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDaGFuZ2VFdmVudD4oKTtcblxuXHQvKipcblx0ICogRmlyZXMgd2hlbiB0aGUgZWRpdGluZyB2aWV3IG9mIHRoZSBlZGl0b3IgaXMgYmx1cnJlZC4gSXQgY29ycmVzcG9uZHMgd2l0aCB0aGUgYGVkaXRvci5lZGl0aW5nLnZpZXcuZG9jdW1lbnQjYmx1cmBcblx0ICogaHR0cHM6Ly9ja2VkaXRvci5jb20vZG9jcy9ja2VkaXRvcjUvbGF0ZXN0L2FwaS9tb2R1bGVfZW5naW5lX3ZpZXdfZG9jdW1lbnQtRG9jdW1lbnQuaHRtbCNldmVudC1ldmVudDpibHVyXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxCbHVyRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxCbHVyRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIEZpcmVzIHdoZW4gdGhlIGVkaXRpbmcgdmlldyBvZiB0aGUgZWRpdG9yIGlzIGZvY3VzZWQuIEl0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50I2ZvY3VzYFxuXHQgKiBodHRwczovL2NrZWRpdG9yLmNvbS9kb2NzL2NrZWRpdG9yNS9sYXRlc3QvYXBpL21vZHVsZV9lbmdpbmVfdmlld19kb2N1bWVudC1Eb2N1bWVudC5odG1sI2V2ZW50LWV2ZW50OmZvY3VzXG5cdCAqIGV2ZW50LlxuXHQgKi9cblx0QE91dHB1dCgpIGZvY3VzOiBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cblx0LyoqXG5cdCAqIFRoZSBpbnN0YW5jZSBvZiB0aGUgZWRpdG9yIGNyZWF0ZWQgYnkgdGhpcyBjb21wb25lbnQuXG5cdCAqL1xuXHRwdWJsaWMgZWRpdG9ySW5zdGFuY2U6IENLRWRpdG9yNS5FZGl0b3IgfCBudWxsID0gbnVsbDtcblxuXHQvKipcblx0ICogSWYgdGhlIGNvbXBvbmVudCBpcyByZWFkw6LCgMKTb25seSBiZWZvcmUgdGhlIGVkaXRvciBpbnN0YW5jZSBpcyBjcmVhdGVkLCBpdCByZW1lbWJlcnMgdGhhdCBzdGF0ZSxcblx0ICogc28gdGhlIGVkaXRvciBjYW4gYmVjb21lIHJlYWTDosKAwpNvbmx5IG9uY2UgaXQgaXMgcmVhZHkuXG5cdCAqL1xuXHRwcml2YXRlIGluaXRpYWxJc0Rpc2FibGVkID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEFuIGluc3RhbmNlIG9mIGh0dHBzOi8vYW5ndWxhci5pby9hcGkvY29yZS9OZ1pvbmUgdG8gYWxsb3cgdGhlIGludGVyYWN0aW9uIHdpdGggdGhlIGVkaXRvclxuXHQgKiB3aXRoaW5nIHRoZSBBbmd1bGFyIGV2ZW50IGxvb3AuXG5cdCAqL1xuXHRwcml2YXRlIG5nWm9uZTogTmdab25lO1xuXG5cdC8qKlxuXHQgKiBBIGNhbGxiYWNrIGV4ZWN1dGVkIHdoZW4gdGhlIGNvbnRlbnQgb2YgdGhlIGVkaXRvciBjaGFuZ2VzLiBQYXJ0IG9mIHRoZVxuXHQgKiBgQ29udHJvbFZhbHVlQWNjZXNzb3JgIChodHRwczovL2FuZ3VsYXIuaW8vYXBpL2Zvcm1zL0NvbnRyb2xWYWx1ZUFjY2Vzc29yKSBpbnRlcmZhY2UuXG5cdCAqXG5cdCAqIE5vdGU6IFVuc2V0IHVubGVzcyB0aGUgY29tcG9uZW50IHVzZXMgdGhlIGBuZ01vZGVsYC5cblx0ICovXG5cdHByaXZhdGUgY3ZhT25DaGFuZ2U/OiAoIGRhdGE6IHN0cmluZyApID0+IHZvaWQ7XG5cblx0LyoqXG5cdCAqIEEgY2FsbGJhY2sgZXhlY3V0ZWQgd2hlbiB0aGUgZWRpdG9yIGhhcyBiZWVuIGJsdXJyZWQuIFBhcnQgb2YgdGhlXG5cdCAqIGBDb250cm9sVmFsdWVBY2Nlc3NvcmAgKGh0dHBzOi8vYW5ndWxhci5pby9hcGkvZm9ybXMvQ29udHJvbFZhbHVlQWNjZXNzb3IpIGludGVyZmFjZS5cblx0ICpcblx0ICogTm90ZTogVW5zZXQgdW5sZXNzIHRoZSBjb21wb25lbnQgdXNlcyB0aGUgYG5nTW9kZWxgLlxuXHQgKi9cblx0cHJpdmF0ZSBjdmFPblRvdWNoZWQ/OiAoKSA9PiB2b2lkO1xuXG5cdGNvbnN0cnVjdG9yKCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBuZ1pvbmU6IE5nWm9uZSApIHtcblx0XHR0aGlzLm5nWm9uZSA9IG5nWm9uZTtcblx0XHR0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBBZnRlclZpZXdJbml0IGludGVyZmFjZS5cblx0bmdBZnRlclZpZXdJbml0KCkge1xuXHRcdHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCAoKSA9PiB7XG5cdFx0XHR0aGlzLmNyZWF0ZUVkaXRvcigpO1xuXHRcdH0gKTtcblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgT25EZXN0cm95IGludGVyZmFjZS5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5kZXN0cm95KCk7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlID0gbnVsbDtcblx0XHR9XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHdyaXRlVmFsdWUoIHZhbHVlOiBzdHJpbmcgfCBudWxsICk6IHZvaWQge1xuXHRcdC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHRoZSBgbnVsbGAgdmFsdWUgd2hlbiB0aGUgZm9ybSByZXNldHMuXG5cdFx0Ly8gQSBjb21wb25lbnQncyByZXNwb25zaWJpbGl0eSBpcyB0byByZXN0b3JlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuXHRcdGlmICggdmFsdWUgPT09IG51bGwgKSB7XG5cdFx0XHR2YWx1ZSA9ICcnO1xuXHRcdH1cblxuXHRcdC8vIElmIGFscmVhZHkgaW5pdGlhbGl6ZWQuXG5cdFx0aWYgKCB0aGlzLmVkaXRvckluc3RhbmNlICkge1xuXHRcdFx0dGhpcy5lZGl0b3JJbnN0YW5jZS5zZXREYXRhKCB2YWx1ZSApO1xuXHRcdH1cblx0XHQvLyBJZiBub3QsIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5OyBzdG9yZSB0aGUgZGF0YS5cblx0XHRlbHNlIHtcblx0XHRcdHRoaXMuZGF0YSA9IHZhbHVlO1xuXHRcdH1cblx0fVxuXG5cdC8vIEltcGxlbWVudGluZyB0aGUgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlIChvbmx5IHdoZW4gYmluZGluZyB0byBuZ01vZGVsKS5cblx0cmVnaXN0ZXJPbkNoYW5nZSggY2FsbGJhY2s6ICggZGF0YTogc3RyaW5nICkgPT4gdm9pZCApOiB2b2lkIHtcblx0XHR0aGlzLmN2YU9uQ2hhbmdlID0gY2FsbGJhY2s7XG5cdH1cblxuXHQvLyBJbXBsZW1lbnRpbmcgdGhlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZSAob25seSB3aGVuIGJpbmRpbmcgdG8gbmdNb2RlbCkuXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKCBjYWxsYmFjazogKCkgPT4gdm9pZCApOiB2b2lkIHtcblx0XHR0aGlzLmN2YU9uVG91Y2hlZCA9IGNhbGxiYWNrO1xuXHR9XG5cblx0Ly8gSW1wbGVtZW50aW5nIHRoZSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2UgKG9ubHkgd2hlbiBiaW5kaW5nIHRvIG5nTW9kZWwpLlxuXHRzZXREaXNhYmxlZFN0YXRlKCBpc0Rpc2FibGVkOiBib29sZWFuICk6IHZvaWQge1xuXHRcdC8vIElmIGFscmVhZHkgaW5pdGlhbGl6ZWRcblx0XHRpZiAoIHRoaXMuZWRpdG9ySW5zdGFuY2UgKSB7XG5cdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlLmlzUmVhZE9ubHkgPSBpc0Rpc2FibGVkO1xuXHRcdH1cblx0XHQvLyBJZiBub3QsIHdhaXQgZm9yIGl0IHRvIGJlIHJlYWR5OyBzdG9yZSB0aGUgc3RhdGUuXG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmluaXRpYWxJc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyB0aGUgZWRpdG9yIGluc3RhbmNlLCBzZXRzIGluaXRpYWwgZWRpdG9yIGRhdGEsXG5cdCAqIHRoZW4gaW50ZWdyYXRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIEFuZ3VsYXIgY29tcG9uZW50LlxuXHQgKi9cblx0cHJpdmF0ZSBjcmVhdGVFZGl0b3IoKTogUHJvbWlzZTxhbnk+IHtcblx0XHRjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggdGhpcy50YWdOYW1lICk7XG5cblx0XHR0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZCggZWxlbWVudCApO1xuXG5cdFx0cmV0dXJuIHRoaXMuZWRpdG9yIS5jcmVhdGUoIGVsZW1lbnQsIHRoaXMuY29uZmlnIClcblx0XHRcdC50aGVuKCBlZGl0b3IgPT4ge1xuXHRcdFx0XHR0aGlzLmVkaXRvckluc3RhbmNlID0gZWRpdG9yO1xuXG5cdFx0XHRcdGVkaXRvci5zZXREYXRhKCB0aGlzLmRhdGEgKTtcblxuXHRcdFx0XHRpZiAoIHRoaXMuaW5pdGlhbElzRGlzYWJsZWQgKSB7XG5cdFx0XHRcdFx0ZWRpdG9yLmlzUmVhZE9ubHkgPSB0aGlzLmluaXRpYWxJc0Rpc2FibGVkO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5yZWFkeS5lbWl0KCBlZGl0b3IgKTtcblx0XHRcdFx0fSApO1xuXG5cdFx0XHRcdHRoaXMuc2V0VXBFZGl0b3JFdmVudHMoIGVkaXRvciApO1xuXHRcdFx0fSApXG5cdFx0XHQuY2F0Y2goICggZXJyOiBFcnJvciApID0+IHtcblx0XHRcdFx0Y29uc29sZS5lcnJvciggZXJyLnN0YWNrICk7XG5cdFx0XHR9ICk7XG5cdH1cblxuXHQvKipcblx0ICogSW50ZWdyYXRlcyB0aGUgZWRpdG9yIHdpdGggdGhlIGNvbXBvbmVudCBieSBhdHRhY2hpbmcgcmVsYXRlZCBldmVudCBsaXN0ZW5lcnMuXG5cdCAqL1xuXHRwcml2YXRlIHNldFVwRWRpdG9yRXZlbnRzKCBlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3IgKTogdm9pZCB7XG5cdFx0Y29uc3QgbW9kZWxEb2N1bWVudCA9IGVkaXRvci5tb2RlbC5kb2N1bWVudDtcblx0XHRjb25zdCB2aWV3RG9jdW1lbnQgPSBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50O1xuXG5cdFx0bW9kZWxEb2N1bWVudC5vbiggJ2NoYW5nZTpkYXRhJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2NoYW5nZTpkYXRhJz4gKSA9PiB7XG5cdFx0XHRjb25zdCBkYXRhID0gZWRpdG9yLmdldERhdGEoKTtcblxuXHRcdFx0dGhpcy5uZ1pvbmUucnVuKCAoKSA9PiB7XG5cdFx0XHRcdGlmICggdGhpcy5jdmFPbkNoYW5nZSApIHtcblx0XHRcdFx0XHR0aGlzLmN2YU9uQ2hhbmdlKCBkYXRhICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmNoYW5nZS5lbWl0KCB7IGV2ZW50OiBldnQsIGVkaXRvciB9ICk7XG5cdFx0XHR9ICk7XG5cdFx0fSApO1xuXG5cdFx0dmlld0RvY3VtZW50Lm9uKCAnZm9jdXMnLCAoIGV2dDogQ0tFZGl0b3I1LkV2ZW50SW5mbzwnZm9jdXMnPiApID0+IHtcblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmZvY3VzLmVtaXQoIHsgZXZlbnQ6IGV2dCwgZWRpdG9yIH0gKTtcblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cblx0XHR2aWV3RG9jdW1lbnQub24oICdibHVyJywgKCBldnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2JsdXInPiApID0+IHtcblx0XHRcdHRoaXMubmdab25lLnJ1biggKCkgPT4ge1xuXHRcdFx0XHRpZiAoIHRoaXMuY3ZhT25Ub3VjaGVkICkge1xuXHRcdFx0XHRcdHRoaXMuY3ZhT25Ub3VjaGVkKCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0aGlzLmJsdXIuZW1pdCggeyBldmVudDogZXZ0LCBlZGl0b3IgfSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJsdXJFdmVudCB7XG5cdGV2ZW50OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdibHVyJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb2N1c0V2ZW50IHtcblx0ZXZlbnQ6IENLRWRpdG9yNS5FdmVudEluZm88J2ZvY3VzJz47XG5cdGVkaXRvcjogQ0tFZGl0b3I1LkVkaXRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VFdmVudCB7XG5cdGV2ZW50OiBDS0VkaXRvcjUuRXZlbnRJbmZvPCdjaGFuZ2U6ZGF0YSc+O1xuXHRlZGl0b3I6IENLRWRpdG9yNS5FZGl0b3I7XG59XG4iLCIvKipcbiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENLRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ja2VkaXRvci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoIHtcblx0aW1wb3J0czogWyBGb3Jtc01vZHVsZSwgQ29tbW9uTW9kdWxlIF0sXG5cdGRlY2xhcmF0aW9uczogWyBDS0VkaXRvckNvbXBvbmVudCBdLFxuXHRleHBvcnRzOiBbIENLRWRpdG9yQ29tcG9uZW50IF1cbn0gKVxuZXhwb3J0IGNsYXNzIENLRWRpdG9yTW9kdWxlIHt9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0lBa0pDLDJCQUFhLFVBQXNCLEVBQUUsTUFBYzs7Ozs7UUF2RjFDLFNBQUksR0FBRyxFQUFFLENBQUM7Ozs7OztRQU9WLFlBQU8sR0FBRyxLQUFLLENBQUM7Ozs7OztRQXdCZixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7Ozs7OztRQU83QyxXQUFNLEdBQThCLElBQUksWUFBWSxFQUFlLENBQUM7Ozs7OztRQU9wRSxTQUFJLEdBQTRCLElBQUksWUFBWSxFQUFhLENBQUM7Ozs7OztRQU85RCxVQUFLLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7Ozs7UUFLcEUsbUJBQWMsR0FBNEIsSUFBSSxDQUFDOzs7OztRQU05QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUF5QmpDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0tBQzdCO0lBNUVELHNCQUFhLHVDQUFROzs7O1FBSXJCO1lBQ0MsSUFBSyxJQUFJLENBQUMsY0FBYyxFQUFHO2dCQUMxQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO2FBQ3RDO1lBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDOUI7Ozs7Ozs7Ozs7Ozs7UUFWRCxVQUF1QixVQUFtQjtZQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUUsVUFBVSxDQUFFLENBQUM7U0FDcEM7OztPQUFBOzs7Ozs7SUE2RUQsMkNBQWU7Ozs7O0lBQWY7UUFBQSxpQkFJQztR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
export { CKEditorComponent, CKEditorModule };
//# sourceMappingURL=ckeditor-ckeditor5-angular.js.map

@@ -5,3 +5,3 @@ Software License Agreement

**CKEditor 5 component for Angular 2+** – https://github.com/ckeditor/ckeditor5-angular <br>
Copyright (c) 2003-2018, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.
Copyright (c) 2003-2019, [CKSource](http://cksource.com) Frederico Knabben. All rights reserved.

@@ -8,0 +8,0 @@ Licensed under the terms of [GNU General Public License Version 2 or later](http://www.gnu.org/licenses/gpl.html).

{
"name": "@ckeditor/ckeditor5-angular",
"version": "1.0.1",
"version": "1.1.0",
"description": "Official Angular 2+ component for CKEditor 5 – the best browser-based rich text editor.",

@@ -5,0 +5,0 @@ "keywords": [

@@ -14,6 +14,13 @@ # CKEditor 5 rich text editor component for Angular 2+

## Documentation
## [Developer Documentation](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html) 📖
See the [Angular 2+ component](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html) article in the [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest).
See the ["Rich text editor component for Angular 2+"](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html) guide in the [CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest) to learn more:
* [Quick start](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html#quick-start)
* [Integration with `ngModel`](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html#integration-with-ngmodel)
* [Supported `@Input` properties](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html#supported-input-properties)
* [Supported `@Output` properties](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html#supported-output-properties)
* [Styling](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html#styling)
* [Localization](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html#localization)
## Contributing

@@ -80,2 +87,4 @@

**Note** This step is optional in the release process (the script is executed anyway by the postversion hook) but it is required to test the package used as an NPM dependency.
This project uses [ng-packagr](https://www.npmjs.com/package/ng-packagr) to create a package meeting the Angular Package Format specification.

@@ -93,9 +102,11 @@

After generating the package, create a symlink to the `ckeditor5-angular/dist` package directory to test it in another (third–party) Angular project:
To test the `ckeditor5-angular` package, first bootstrap an empty Angular package using [`ng new`](https://angular.io/cli/new) and add the `<ckeditor>` component by following the [guide](https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/frameworks/angular.html).
Then, create a symlink to the `ckeditor5-angular/dist` package directory to test the `ckeditor5-angular` via this repository.
```bash
ln -s /path/to/ckeditor5-angular/dist node_modules/\@ckeditor/ckeditor5-angular
ln -s path/to/ckeditor5-angular/dist node_modules/\@ckeditor/ckeditor5-angular
```
You may also need the following configuration in `angular.json` to include the symlinked component package without errors:
Make sure that the `preserveSymlinks` option is set to `true` for the `build` architect in `angular.json`:

@@ -102,0 +113,0 @@ ```json

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc