@messaia/cdk 17.1.5-rc02 → 17.1.5-rc03

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -60,7 +60,11 @@ export class AbstractSelectFormField extends AbstractMatFormField {
60
60
  /**
61
61
  * A function to compare option values with the selected values.
62
62
  */
63
- _compareWith = (o1, o2) => o1 === o2;
63
+ _compareWith;
64
+ /**
65
+ * A function to compare option values with the selected values.
66
+ */
67
+ defaultCompareWith = (o1, o2) => o1 === o2;
64
68
  /**
65
69
  * The enumeration data or endpoint for the options.
66
70
  */
@@ -465,4 +469,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
465
469
  }], searchField: [{
466
470
  type: Input
467
471
  }] } });
468
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc2VsZWN0LWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvaGVscGVycy9hYnN0cmFjdC1zZWxlY3QtZm9ybS1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7OztBQUVuRixNQUFNLE9BQWdCLHVCQUEyQixTQUFRLG9CQUF1QjtJQTRUcEU7SUExVFg7O09BRUc7SUFDSyxlQUFlLEdBQTJCLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRS9FOztPQUVHO0lBQ0ssV0FBVyxHQUEyQixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMs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aW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9pY29uJztcclxuaW1wb3J0IHsgRW51bVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvZW51bS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RNYXRGb3JtRmllbGQgfSBmcm9tICcuLi8uLi9mb3Jtcy9oZWxwZXJzL2Fic3RyYWN0LW1hdC1mb3JtLWZpZWxkJztcclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNlbGVjdEZvcm1GaWVsZDxUPiBleHRlbmRzIEFic3RyYWN0TWF0Rm9ybUZpZWxkPFQ+IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcblx0LyoqXHJcblx0ICogQSBCZWhhdmlvclN1YmplY3QgdGhhdCB0cmFja3MgY2hhbmdlcyB0byB0aGUgZW5kcG9pbnQgZGF0YS5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9lbmRwb2ludENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGFueVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoPGFueT5bXSk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgQmVoYXZpb3JTdWJqZWN0IHRoYXQgdHJhY2tzIGNoYW5nZXMgdG8gdGhlIGVudW0gZGF0YS5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9lbnVtQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCg8YW55PltdKTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIEhUVFAgY2xpZW50IHNlcnZpY2UgdXNlZCB0byBmZXRjaCBkYXRhIGZyb20gYW4gQVBJLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfaHR0cD86IEh0dHBDbGllbnQ7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdGhlIGRlZmF1bHQgb3B0aW9uIHNob3VsZCBiZSBzZWxlY3RlZCBieSBkZWZhdWx0LlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfZGVmYXVsdE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGVuYWJsZWQuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9tdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBvcHRpb25zIHNob3VsZCBiZSBzb3J0ZWQuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zb3J0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgQVBJIGVuZHBvaW50IG9yIGEgZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBlbmRwb2ludCBVUkwuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9lbmRwb2ludD86IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG5cclxuXHQvKipcclxuXHQgKiBQYXJhbWV0ZXJzIHRvIGJlIHNlbnQgd2l0aCB0aGUgQVBJIHJlcXVlc3QuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9wYXJhbXM6IGFueSA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBQcm9qZWN0aW9uIGZpZWxkcyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgQVBJIHJlcXVlc3QuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9wcm9qZWN0aW9uPzogc3RyaW5nIHwgc3RyaW5nW107XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdG8gbG9hZCBkYXRhIGF1dG9tYXRpY2FsbHkuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9sb2FkRGF0YTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBlbnVtIGRhdGEuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9lbnVtRmlsdGVyPzogRnVuY3Rpb247XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgZnVuY3Rpb24gdG8gY29tcGFyZSBvcHRpb24gdmFsdWVzIHdpdGggdGhlIHNlbGVjdGVkIHZhbHVlcy5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9jb21wYXJlV2l0aCA9IChvMTogYW55LCBvMjogYW55KSA9PiBvMSA9PT0gbzI7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBlbnVtZXJhdGlvbiBkYXRhIG9yIGVuZHBvaW50IGZvciB0aGUgb3B0aW9ucy5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBlbnVtOiBhbnk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wdGlvbmFsIHByZWZpeCB0ZXh0IHRvIGRpc3BsYXkuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgdGV4dFByZWZpeDogc3RyaW5nID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBwcm9wZXJ0eSBuYW1lIGluIHRoZSBvcHRpb24gb2JqZWN0IGZvciB0aGUgdGV4dCB0byBkaXNwbGF5LlxyXG5cdCAqIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggcHJvcGVydHkgb2YgdGhlIG9wdGlvbiBvYmplY3QgdG8gc2hvdyBhcyB0aGUgb3B0aW9uJ3MgdGV4dC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcHRpb25UZXh0UHJvcGVydHk6IHN0cmluZyA9ICduYW1lJztcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIHByb3BlcnR5IG5hbWUgaW4gdGhlIG9wdGlvbiBvYmplY3QgZm9yIHRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9ucy5cclxuXHQgKiBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHVuaXF1ZSB2YWx1ZSBmb3IgZWFjaCBvcHRpb24uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgb3B0aW9uVmFsdWVQcm9wZXJ0eTogc3RyaW5nID0gJ2lkJztcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGtleSBmb3IgdGhlIE1hdGVyaWFsIGljb24gdG8gZGlzcGxheS5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBtYXRJY29uS2V5Pzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUga2V5IGZvciB0aGUgU1ZHIGljb24gdG8gZGlzcGxheS5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzdmdJY29uS2V5Pzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBGb250IHNldCBuYW1lIGZvciBmb250IGljb24uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZm9udFNldD86IHN0cmluZyA9ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJztcclxuXHJcblx0LyoqXHJcblx0ICogT3B0aW9uYWwgcHJlZml4IHRvIGRpc3BsYXkgYmVmb3JlIHRoZSBvcHRpb25zLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHByZWZpeDogYW55ID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIG9wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGxpc3Qgb2YgZmlsdGVyZWQgb3B0aW9ucy5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogV2hldGhlciB0aGUgb3B0aW9ucyBjYW4gYmUgZmlsdGVyZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZmlsdGVyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdG8gY2FjaGUgdGhlIG9wdGlvbnMuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgY2FjaGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRvIHNlbGVjdCB0aGUgZmlyc3Qgb3B0aW9uIGJ5IGRlZmF1bHQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc2VsZWN0Rmlyc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGZpZWxkIGJ5IHdoaWNoIHRvIHNvcnQgdGhlIG9wdGlvbnMuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc29ydEJ5Pzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBBIGZ1bmN0aW9uIHRvIG1hcCB0aGUgb3B0aW9ucyBiZWZvcmUgZGlzcGxheWluZy5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBtYXBwZXI/OiAoeDogYW55W10pID0+IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogQSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIGljb24gZm9yIGEgZ2l2ZW4gb3B0aW9uLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBvcHRpb25JY29uPzogKHg6IGFueSkgPT4gSWNvbjxULCBhbnk+O1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBkZWZhdWx0IG9wdGlvbiBzaG91bGQgYmUgc2VsZWN0ZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IGRlZmF1bHRPcHRpb24oKSB7IHJldHVybiB0aGlzLl9kZWZhdWx0T3B0aW9uOyB9XHJcblx0cHVibGljIHNldCBkZWZhdWx0T3B0aW9uKGRlZmF1bHRPcHRpb24pIHsgdGhpcy5fZGVmYXVsdE9wdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShkZWZhdWx0T3B0aW9uKTsgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGVuYWJsZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IG11bHRpcGxlKCkgeyByZXR1cm4gdGhpcy5fbXVsdGlwbGU7IH1cclxuXHRwdWJsaWMgc2V0IG11bHRpcGxlKG11bHRpKSB7IHRoaXMuX211bHRpcGxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG11bHRpKTsgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdGhlIG9wdGlvbnMgc2hvdWxkIGJlIHNvcnRlZC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBnZXQgc29ydGVkKCkgeyByZXR1cm4gdGhpcy5fc29ydGVkOyB9XHJcblx0cHVibGljIHNldCBzb3J0ZWQoc29ydGVkKSB7IHRoaXMuX3NvcnRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShzb3J0ZWQpOyB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogVGhlIEFQSSBlbmRwb2ludCBvciBhIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgZW5kcG9pbnQgVVJMLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBlbmRwb2ludCgpOiBzdHJpbmcgfCBGdW5jdGlvbiB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9lbmRwb2ludDsgfVxyXG5cdHB1YmxpYyBzZXQgZW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZyB8IEZ1bmN0aW9uKSB7IHRoaXMuX2VuZHBvaW50ID0gZW5kcG9pbnQ7IHRoaXMuZW5kcG9pbnRDaGFuZ2VkKCk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogUGFyYW1ldGVycyB0byBiZSBzZW50IHdpdGggdGhlIEFQSSByZXF1ZXN0LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBwYXJhbXMoKSB7IHJldHVybiB0aGlzLl9wYXJhbXM7IH1cclxuXHRwdWJsaWMgc2V0IHBhcmFtcyhwYXJhbXM6IGFueSkge1xyXG5cdFx0aWYgKHBhcmFtcykge1xyXG5cdFx0XHQvLyBSZW1vdmUgZW1wdHkgcGFyYW1ldGVyc1xyXG5cdFx0XHRPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG5cdFx0XHRcdGlmIChwYXJhbXNba2V5XSA9PSBudWxsIHx8IHBhcmFtc1trZXldID09ICcnIHx8IHBhcmFtc1trZXldID09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRcdFx0XHRkZWxldGUgcGFyYW1zW2tleV07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdC8vIFVwZGF0ZSBwYXJhbWV0ZXJzIGlmIHRoZXkgaGF2ZSBjaGFuZ2VkXHJcblx0XHRcdGlmIChKU09OLnN0cmluZ2lmeSh0aGlzLl9wYXJhbXMpICE9PSBKU09OLnN0cmluZ2lmeShwYXJhbXMpKSB7XHJcblx0XHRcdFx0dGhpcy5fcGFyYW1zID0gcGFyYW1zO1xyXG5cdFx0XHRcdHRoaXMuZW5kcG9pbnRDaGFuZ2VkKCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb2plY3Rpb24gZmllbGRzIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBBUEkgcmVxdWVzdC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBnZXQgcHJvamVjdGlvbigpOiBzdHJpbmcgfCBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9wcm9qZWN0aW9uID8/ICcnOyB9XHJcblx0cHVibGljIHNldCBwcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7IHRoaXMuX3Byb2plY3Rpb24gPSBwcm9qZWN0aW9uOyB0aGlzLmVuZHBvaW50Q2hhbmdlZCgpOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdG8gbG9hZCBkYXRhIGF1dG9tYXRpY2FsbHkuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IGxvYWREYXRhKCkgeyByZXR1cm4gdGhpcy5fbG9hZERhdGE7IH1cclxuXHRwdWJsaWMgc2V0IGxvYWREYXRhKGxvYWREYXRhKSB7IHRoaXMuX2xvYWREYXRhID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGxvYWREYXRhKTsgdGhpcy5lbmRwb2ludENoYW5nZWQoKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBBIGZpbHRlciBmdW5jdGlvbiB0byBhcHBseSB0byB0aGUgZW51bSBkYXRhLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBlbnVtRmlsdGVyKCk6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2VudW1GaWx0ZXI7IH1cclxuXHRwdWJsaWMgc2V0IGVudW1GaWx0ZXIoZW51bUZpbHRlcjogRnVuY3Rpb24pIHsgdGhpcy5fZW51bUZpbHRlciA9IGVudW1GaWx0ZXI7IHRoaXMuZW51bUNoYW5nZWQoKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBjb250cm9sIGlzIGRpc2FibGVkLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBkaXNhYmxlZCgpIHsgcmV0dXJuIHRoaXMuX3JlYWRvbmx5IHx8IHN1cGVyLmRpc2FibGVkOyB9XHJcblx0cHVibGljIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYW55KSB7XHJcblx0XHR0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShkaXNhYmxlZCk7XHJcblx0XHRpZiAodGhpcy5mb2N1c2VkKSB7XHJcblx0XHRcdHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdmFsdWUocykuXHJcblx0ICovXHJcblx0cHVibGljIGdldCBjdXJyZW50VmFsdWUoKTogYW55IHtcclxuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XHJcblx0XHRcdGlmICh0aGlzLmNvbXBhcmVXaXRoKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMub3B0aW9ucz8uZmlsdGVyKCh4OiBhbnkpID0+ICg8YW55W10+KHRoaXMuX3ZhbHVlIHx8IFtdKSkuc29tZSh5ID0+IHRoaXMuY29tcGFyZVdpdGgoeCwgeSkpKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cmV0dXJuIHRoaXMub3B0aW9ucz8uZmlsdGVyKCh4OiBhbnkpID0+ICg8YW55W10+KHRoaXMuX3ZhbHVlIHx8IFtdKSkuaW5jbHVkZXMoeFt0aGlzLm9wdGlvblZhbHVlUHJvcGVydHldKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMub3B0aW9ucz8uZmlsdGVyKCh4OiBhbnkpID0+IHhbdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XSA9PSB0aGlzLl92YWx1ZSlbMF07XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBBIGZ1bmN0aW9uIHRvIGNvbXBhcmUgdGhlIG9wdGlvbiB2YWx1ZXMgd2l0aCB0aGUgc2VsZWN0ZWQgdmFsdWVzLiBUaGUgZmlyc3QgYXJndW1lbnRcclxuXHQgKiBpcyBhIHZhbHVlIGZyb20gYW4gb3B0aW9uLiBUaGUgc2Vjb25kIGlzIGEgdmFsdWUgZnJvbSB0aGUgc2VsZWN0aW9uLiBBIGJvb2xlYW5cclxuXHQgKiBzaG91bGQgYmUgcmV0dXJuZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IGNvbXBhcmVXaXRoKCk6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2NvbXBhcmVXaXRoOyB9XHJcblx0cHVibGljIHNldCBjb21wYXJlV2l0aChmbjogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4pIHsgdGhpcy5fY29tcGFyZVdpdGggPSBmbjsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBjaGFuZ2U/OiBmdW5jdGlvblxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoJ2NoYW5nZScpXHJcblx0cHVibGljIG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0ZW1DaGFuZ2U/OiBmdW5jdGlvblxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoJ2l0ZW1DaGFuZ2UnKVxyXG5cdHB1YmxpYyBvbkl0ZW1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHNlbGVjdGVkPzogZnVuY3Rpb25cclxuXHQgKi9cclxuXHRAT3V0cHV0KCdzZWxlY3RlZCcpXHJcblx0cHVibGljIG9uU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGl0ZW1TZWxlY3RlZD86IGZ1bmN0aW9uXHJcblx0ICovXHJcblx0QE91dHB1dCgnaXRlbVNlbGVjdGVkJylcclxuXHRwdWJsaWMgb25JdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIGxhdW5jaD86IGZ1bmN0aW9uXHJcblx0ICovXHJcblx0QE91dHB1dCgnbGF1bmNoJylcclxuXHRwdWJsaWMgb25MYXVuY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIHNlYXJjaEZpZWxkPzogZnVuY3Rpb25cclxuXHQgKi9cclxuXHRASW5wdXQoKSBzZWFyY2hGaWVsZD86ICh4OiBhbnkpID0+IHN0cmluZztcclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gY29udHJvbFR5cGUgXHJcblx0ICogQHBhcmFtIGluamVjdG9yIFxyXG5cdCAqIEBwYXJhbSBuZ0NvbnRyb2wgXHJcblx0ICogQHBhcmFtIHBhcmVudEZvcm0gXHJcblx0ICogQHBhcmFtIHBhcmVudEZvcm1Hcm91cCBcclxuXHQgKiBAcGFyYW0gZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyIFxyXG5cdCAqIEBwYXJhbSBmb2N1c01vbml0b3IgXHJcblx0ICogQHBhcmFtIGVsZW1lbnRSZWYgXHJcblx0ICogQHBhcmFtIGNoYW5nZURldGVjdG9yUmVmIFxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0Y29udHJvbFR5cGU6IHN0cmluZyxcclxuXHRcdHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXHJcblx0XHRAT3B0aW9uYWwoKSBAU2VsZigpIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG5cdFx0QE9wdGlvbmFsKCkgcGFyZW50Rm9ybTogTmdGb3JtLFxyXG5cdFx0QE9wdGlvbmFsKCkgcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXHJcblx0XHRkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyLFxyXG5cdFx0Zm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcblx0XHRlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG5cdFx0Y2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXHJcblx0KSB7XHJcblx0XHRzdXBlcihjb250cm9sVHlwZSwgbmdDb250cm9sLCBwYXJlbnRGb3JtLCBwYXJlbnRGb3JtR3JvdXAsIGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlciwgZm9jdXNNb25pdG9yLCBlbGVtZW50UmVmLCBjaGFuZ2VEZXRlY3RvclJlZik7XHJcblx0XHRpZiAoIXRoaXMuZW51bSkge1xyXG5cdFx0XHR0aGlzLl9odHRwID0gaW5qZWN0b3IuZ2V0KEh0dHBDbGllbnQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTGlmZWN5Y2xlIGhvb2sgdGhhdCBpcyBjYWxsZWQgYWZ0ZXIgYSBjb21wb25lbnQncyBcclxuXHQgKiB2aWV3IGhhcyBiZWVuIGZ1bGx5IGluaXRpYWxpemVkLlxyXG5cdCAqL1xyXG5cdG5nT25Jbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcblxyXG5cdFx0aWYgKHRoaXMuZW51bSkge1xyXG5cdFx0XHR0aGlzLmZpbHRlcmFibGUgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgPSBFbnVtU2VydmljZS50b0FycmF5KHRoaXMuZW51bSwgdGhpcy5wcmVmaXgpO1xyXG5cclxuXHRcdFx0LyogQXBwbHkgZW51bSBmaWx0ZXJzICovXHJcblx0XHRcdGlmICh0aGlzLl9lbnVtRmlsdGVyICYmIHRoaXMub3B0aW9ucykge1xyXG5cdFx0XHRcdHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcih0aGlzLl9lbnVtRmlsdGVyKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zKSkge1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlSXRlbVNlbGVjdGVkKHRoaXMudmFsdWUpO1xyXG5cdFx0XHR9XHJcblx0XHR9IGVsc2UgaWYgKCF0aGlzLm9wdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5fZW5kcG9pbnRDaGFuZ2UucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5waXBlKGRlYm91bmNlVGltZSgxKSkuc3Vic2NyaWJlKF8gPT4ge1xyXG5cdFx0XHRcdGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XHJcblx0XHRcdFx0aWYgKHRoaXMuY2FjaGUpIHtcclxuXHRcdFx0XHRcdGhlYWRlcnMuc2V0KCdDbGllbnQtQ2FjaGUnLCAnWWVzJyk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBJbml0IHBhcmFtcywgaWYgbnVsbCAqL1xyXG5cdFx0XHRcdGxldCBwYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLl9wYXJhbXMgfHwge30pO1xyXG5cclxuXHRcdFx0XHQvKiBBZGQgcHJvamVjdGlvbiwgaWYgYW55ICovXHJcblx0XHRcdFx0aWYgKHRoaXMucHJvamVjdGlvbikge1xyXG5cdFx0XHRcdFx0cGFyYW1zLnByb2plY3Rpb24gPSBBcnJheS5pc0FycmF5KHRoaXMucHJvamVjdGlvbikgPyB0aGlzLnByb2plY3Rpb24uam9pbignLCcpIDogdGhpcy5wcm9qZWN0aW9uO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LyogQWRkIHNvcnRpbmcgKi9cclxuXHRcdFx0XHRpZiAoIXRoaXMucGFyYW1zLnNvcnRCeSAmJiAodGhpcy5zb3J0QnkgfHwgdGhpcy5zb3J0ZWQpKSB7XHJcblx0XHRcdFx0XHRwYXJhbXMuc29ydEJ5ID0gdGhpcy5zb3J0QnkgfHwgdGhpcy5vcHRpb25UZXh0UHJvcGVydHk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBHZXQgZW5kcG9pbnQgKi9cclxuXHRcdFx0XHRsZXQgZW5kcG9pbnQgPSB0eXBlb2YgdGhpcy5lbmRwb2ludCA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuZW5kcG9pbnQodGhpcykgOiAoPHN0cmluZz50aGlzLmVuZHBvaW50KTtcclxuXHRcdFx0XHRpZiAodGhpcy5faHR0cCAmJiBlbmRwb2ludCAmJiB0aGlzLmxvYWREYXRhKSB7XHJcblx0XHRcdFx0XHR0aGlzLl9odHRwLmdldChlbmRwb2ludCwgeyBwYXJhbXM6IHBhcmFtcywgaGVhZGVyczogaGVhZGVycyB9KVxyXG5cdFx0XHRcdFx0XHQucGlwZShtYXAoKHg6IGFueSkgPT4gdGhpcy5tYXBwZXIgPyB0aGlzLm1hcHBlcih4KSA6IHgpKVxyXG5cdFx0XHRcdFx0XHQuc3Vic2NyaWJlKHggPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zID0geDtcclxuXHJcblx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuc2VsZWN0Rmlyc3QgJiYgIXRoaXMudmFsdWUgJiYgdGhpcy5vcHRpb25zPy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25zWzBdW3RoaXMub3B0aW9uVmFsdWVQcm9wZXJ0eV07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnMpKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmhhbmRsZUl0ZW1TZWxlY3RlZCh0aGlzLnZhbHVlKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdHN1cGVyLndyaXRlVmFsdWUodGhpcy52YWx1ZSEpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogRnJvbSBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VcclxuXHQgKiBAcGFyYW0gdmFsdWUgXHJcblx0ICovXHJcblx0d3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcblx0XHQvKiBXcml0ZSB0aGUgdmFsdWUgYW5kIHRyaWdnZXIgc29tZSBldmVudHMgKi9cclxuXHRcdHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xyXG5cdFx0dGhpcy5vblNlbGVjdGVkLmVtaXQodmFsdWUpO1xyXG5cclxuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucykpIHtcclxuXHRcdFx0dGhpcy5oYW5kbGVJdGVtU2VsZWN0ZWQodGhpcy52YWx1ZSk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBNZXRob2QgZXhlY3V0ZWQgd2hlbiBhbiBvcHRpb24gY2hhbmdlc1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBoYW5kbGVDaGFuZ2UoJGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuXHRcdHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KCRldmVudCk7XHJcblx0XHR0aGlzLmhhbmRsZUl0ZW1DaGFuZ2UoJGV2ZW50LnZhbHVlKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEhhbmRsZXMgaXRlbSBjaGFuZ2VzXHJcblx0ICogQHBhcmFtIHZhbHVlIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBoYW5kbGVJdGVtU2VsZWN0ZWQodmFsdWU6IGFueSk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcclxuXHRcdFx0dGhpcy5vbkl0ZW1TZWxlY3RlZC5lbWl0KHRoaXMub3B0aW9ucy5maWx0ZXIoKHg6IGFueSkgPT4gKHZhbHVlIHx8IFtdKS5pbmNsdWRlcyh4W3RoaXMub3B0aW9uVmFsdWVQcm9wZXJ0eV0pKSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5vcHRpb25zLmZpbHRlcigoeDogYW55KSA9PiB4W3RoaXMub3B0aW9uVmFsdWVQcm9wZXJ0eV0gPT0gdmFsdWUpWzBdKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEhhbmRsZXMgaXRlbSBjaGFuZ2VzXHJcblx0ICogQHBhcmFtIHZhbHVlIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBoYW5kbGVJdGVtQ2hhbmdlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XHJcblx0XHRcdHRoaXMub25JdGVtQ2hhbmdlLmVtaXQodGhpcy5vcHRpb25zLmZpbHRlcigoeDogYW55KSA9PiAodmFsdWUgfHwgW10pLmluY2x1ZGVzKHhbdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XSkpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMub25JdGVtQ2hhbmdlLmVtaXQodGhpcy5vcHRpb25zLmZpbHRlcigoeDogYW55KSA9PiB4W3RoaXMub3B0aW9uVmFsdWVQcm9wZXJ0eV0gPT0gdmFsdWUpWzBdKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEhhbmRlbHMgZmlsdGVyIGV2ZW50XHJcblx0ICogQHBhcmFtICRldmVudCBcclxuXHQgKi9cclxuXHRwdWJsaWMgaGFuZGxlRmlsdGVyKCRldmVudDogRXZlbnQpOiB2b2lkIHtcclxuXHRcdGxldCBzZWFyY2hUZXh0OiBzdHJpbmcgPSAoJGV2ZW50Py50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlID8/ICcnO1xyXG5cdFx0aWYgKHRoaXMuc2VhcmNoRmllbGQpIHtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKCh4OiBhbnkpID0+IHRoaXMuc2VhcmNoRmllbGQhKHgpPy50b0xvd2VyQ2FzZSgpLnNlYXJjaChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpID4gLTEpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKCh4OiBhbnkpID0+IHhbdGhpcy5vcHRpb25UZXh0UHJvcGVydHldPy50b0xvd2VyQ2FzZSgpLnNlYXJjaChzZWFyY2hUZXh0LnRvTG93ZXJDYXNlKCkpID4gLTEpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVHJpZ2dlciBlbmRwb2ludCBjaGFuZ2VkXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIGVuZHBvaW50Q2hhbmdlZCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2VuZHBvaW50Q2hhbmdlLm5leHQoW3RoaXMuZW5kcG9pbnQsIHRoaXMuX3BhcmFtcywgdGhpcy5wcm9qZWN0aW9uLCB0aGlzLl9sb2FkRGF0YV0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogVHJpZ2dlciBlbnVtIGNoYW5nZWRcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgZW51bUNoYW5nZWQoKTogdm9pZCB7XHJcblx0XHR0aGlzLl9lbnVtQ2hhbmdlLm5leHQoW3RoaXMuX2VudW1GaWx0ZXJdKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIExvZyB0byBjb25zb2xlXHJcblx0ICogQHBhcmFtIG1lc3NhZ2UgXHJcblx0ICogQHBhcmFtIG9wdGlvbmFsUGFyYW1zIFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBsb2cobWVzc2FnZTogYW55LCAuLi5vcHRpb25hbFBhcmFtczogYW55W10pIHtcclxuXHRcdGNvbnNvbGUubG9nKG1lc3NhZ2UsIG9wdGlvbmFsUGFyYW1zKTtcclxuXHR9XHJcbn0iXX0=
472
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc2VsZWN0LWZvcm0tZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvaGVscGVycy9hYnN0cmFjdC1zZWxlY3QtZm9ybS1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEksT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7OztBQUVuRixNQUFNLE9BQWdCLHVCQUEyQixTQUFRLG9CQUF1QjtJQWlVcEU7SUEvVFg7O09BRUc7SUFDSyxlQUFlLEdBQTJCLElBQUksZUFBZSxDQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRS9FOztPQUVHO0lBQ0ssV0FBVyxHQUEyQixJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMs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QUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nQ29udHJvbCwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJY29uIH0gZnJvbSAnLi4vLi4vY29tbW9uL21vZGVscy9pY29uJztcclxuaW1wb3J0IHsgRW51bVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvZW51bS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RNYXRGb3JtRmllbGQgfSBmcm9tICcuLi8uLi9mb3Jtcy9oZWxwZXJzL2Fic3RyYWN0LW1hdC1mb3JtLWZpZWxkJztcclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNlbGVjdEZvcm1GaWVsZDxUPiBleHRlbmRzIEFic3RyYWN0TWF0Rm9ybUZpZWxkPFQ+IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcblx0LyoqXHJcblx0ICogQSBCZWhhdmlvclN1YmplY3QgdGhhdCB0cmFja3MgY2hhbmdlcyB0byB0aGUgZW5kcG9pbnQgZGF0YS5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9lbmRwb2ludENoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGFueVtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoPGFueT5bXSk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgQmVoYXZpb3JTdWJqZWN0IHRoYXQgdHJhY2tzIGNoYW5nZXMgdG8gdGhlIGVudW0gZGF0YS5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9lbnVtQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8YW55W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCg8YW55PltdKTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIEhUVFAgY2xpZW50IHNlcnZpY2UgdXNlZCB0byBmZXRjaCBkYXRhIGZyb20gYW4gQVBJLlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfaHR0cD86IEh0dHBDbGllbnQ7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdGhlIGRlZmF1bHQgb3B0aW9uIHNob3VsZCBiZSBzZWxlY3RlZCBieSBkZWZhdWx0LlxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBfZGVmYXVsdE9wdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGVuYWJsZWQuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9tdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBvcHRpb25zIHNob3VsZCBiZSBzb3J0ZWQuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9zb3J0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUgQVBJIGVuZHBvaW50IG9yIGEgZnVuY3Rpb24gcmV0dXJuaW5nIHRoZSBlbmRwb2ludCBVUkwuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9lbmRwb2ludD86IHN0cmluZyB8IEZ1bmN0aW9uO1xyXG5cclxuXHQvKipcclxuXHQgKiBQYXJhbWV0ZXJzIHRvIGJlIHNlbnQgd2l0aCB0aGUgQVBJIHJlcXVlc3QuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9wYXJhbXM6IGFueSA9IHt9O1xyXG5cclxuXHQvKipcclxuXHQgKiBQcm9qZWN0aW9uIGZpZWxkcyB0byBiZSBpbmNsdWRlZCBpbiB0aGUgQVBJIHJlcXVlc3QuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9wcm9qZWN0aW9uPzogc3RyaW5nIHwgc3RyaW5nW107XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdG8gbG9hZCBkYXRhIGF1dG9tYXRpY2FsbHkuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9sb2FkRGF0YTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgZmlsdGVyIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIHRoZSBlbnVtIGRhdGEuXHJcblx0ICovXHJcblx0cHJvdGVjdGVkIF9lbnVtRmlsdGVyPzogRnVuY3Rpb247XHJcblxyXG5cdC8qKlxyXG5cdCAqIEEgZnVuY3Rpb24gdG8gY29tcGFyZSBvcHRpb24gdmFsdWVzIHdpdGggdGhlIHNlbGVjdGVkIHZhbHVlcy5cclxuXHQgKi9cclxuXHRwcml2YXRlIF9jb21wYXJlV2l0aD86IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xyXG5cclxuXHQvKipcclxuXHQgKiBBIGZ1bmN0aW9uIHRvIGNvbXBhcmUgb3B0aW9uIHZhbHVlcyB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZXMuXHJcblx0ICovXHJcblx0cHVibGljIGRlZmF1bHRDb21wYXJlV2l0aCA9IChvMTogYW55LCBvMjogYW55KSA9PiBvMSA9PT0gbzI7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBlbnVtZXJhdGlvbiBkYXRhIG9yIGVuZHBvaW50IGZvciB0aGUgb3B0aW9ucy5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBlbnVtOiBhbnk7XHJcblxyXG5cdC8qKlxyXG5cdCAqIE9wdGlvbmFsIHByZWZpeCB0ZXh0IHRvIGRpc3BsYXkuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgdGV4dFByZWZpeDogc3RyaW5nID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBwcm9wZXJ0eSBuYW1lIGluIHRoZSBvcHRpb24gb2JqZWN0IGZvciB0aGUgdGV4dCB0byBkaXNwbGF5LlxyXG5cdCAqIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggcHJvcGVydHkgb2YgdGhlIG9wdGlvbiBvYmplY3QgdG8gc2hvdyBhcyB0aGUgb3B0aW9uJ3MgdGV4dC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcHRpb25UZXh0UHJvcGVydHk6IHN0cmluZyA9ICduYW1lJztcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIHByb3BlcnR5IG5hbWUgaW4gdGhlIG9wdGlvbiBvYmplY3QgZm9yIHRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9ucy5cclxuXHQgKiBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHVuaXF1ZSB2YWx1ZSBmb3IgZWFjaCBvcHRpb24uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgb3B0aW9uVmFsdWVQcm9wZXJ0eTogc3RyaW5nID0gJ2lkJztcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGtleSBmb3IgdGhlIE1hdGVyaWFsIGljb24gdG8gZGlzcGxheS5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBtYXRJY29uS2V5Pzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBUaGUga2V5IGZvciB0aGUgU1ZHIGljb24gdG8gZGlzcGxheS5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBzdmdJY29uS2V5Pzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBGb250IHNldCBuYW1lIGZvciBmb250IGljb24uXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZm9udFNldD86IHN0cmluZyA9ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJztcclxuXHJcblx0LyoqXHJcblx0ICogT3B0aW9uYWwgcHJlZml4IHRvIGRpc3BsYXkgYmVmb3JlIHRoZSBvcHRpb25zLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHByZWZpeDogYW55ID0gJyc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFRoZSBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIG9wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGxpc3Qgb2YgZmlsdGVyZWQgb3B0aW9ucy5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBmaWx0ZXJlZE9wdGlvbnM6IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogV2hldGhlciB0aGUgb3B0aW9ucyBjYW4gYmUgZmlsdGVyZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZmlsdGVyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdG8gY2FjaGUgdGhlIG9wdGlvbnMuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgY2FjaGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRvIHNlbGVjdCB0aGUgZmlyc3Qgb3B0aW9uIGJ5IGRlZmF1bHQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc2VsZWN0Rmlyc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogVGhlIGZpZWxkIGJ5IHdoaWNoIHRvIHNvcnQgdGhlIG9wdGlvbnMuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgc29ydEJ5Pzogc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBBIGZ1bmN0aW9uIHRvIG1hcCB0aGUgb3B0aW9ucyBiZWZvcmUgZGlzcGxheWluZy5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBtYXBwZXI/OiAoeDogYW55W10pID0+IGFueTtcclxuXHJcblx0LyoqXHJcblx0ICogQSBmdW5jdGlvbiB0byByZXR1cm4gdGhlIGljb24gZm9yIGEgZ2l2ZW4gb3B0aW9uLlxyXG5cdCAqL1xyXG5cdHB1YmxpYyBvcHRpb25JY29uPzogKHg6IGFueSkgPT4gSWNvbjxULCBhbnk+O1xyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBkZWZhdWx0IG9wdGlvbiBzaG91bGQgYmUgc2VsZWN0ZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IGRlZmF1bHRPcHRpb24oKSB7IHJldHVybiB0aGlzLl9kZWZhdWx0T3B0aW9uOyB9XHJcblx0cHVibGljIHNldCBkZWZhdWx0T3B0aW9uKGRlZmF1bHRPcHRpb24pIHsgdGhpcy5fZGVmYXVsdE9wdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShkZWZhdWx0T3B0aW9uKTsgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGVuYWJsZWQuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IG11bHRpcGxlKCkgeyByZXR1cm4gdGhpcy5fbXVsdGlwbGU7IH1cclxuXHRwdWJsaWMgc2V0IG11bHRpcGxlKG11bHRpKSB7IHRoaXMuX211bHRpcGxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KG11bHRpKTsgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdGhlIG9wdGlvbnMgc2hvdWxkIGJlIHNvcnRlZC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBnZXQgc29ydGVkKCkgeyByZXR1cm4gdGhpcy5fc29ydGVkOyB9XHJcblx0cHVibGljIHNldCBzb3J0ZWQoc29ydGVkKSB7IHRoaXMuX3NvcnRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShzb3J0ZWQpOyB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogVGhlIEFQSSBlbmRwb2ludCBvciBhIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgZW5kcG9pbnQgVVJMLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBlbmRwb2ludCgpOiBzdHJpbmcgfCBGdW5jdGlvbiB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9lbmRwb2ludDsgfVxyXG5cdHB1YmxpYyBzZXQgZW5kcG9pbnQoZW5kcG9pbnQ6IHN0cmluZyB8IEZ1bmN0aW9uKSB7IHRoaXMuX2VuZHBvaW50ID0gZW5kcG9pbnQ7IHRoaXMuZW5kcG9pbnRDaGFuZ2VkKCk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogUGFyYW1ldGVycyB0byBiZSBzZW50IHdpdGggdGhlIEFQSSByZXF1ZXN0LlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBwYXJhbXMoKSB7IHJldHVybiB0aGlzLl9wYXJhbXM7IH1cclxuXHRwdWJsaWMgc2V0IHBhcmFtcyhwYXJhbXM6IGFueSkge1xyXG5cdFx0aWYgKHBhcmFtcykge1xyXG5cdFx0XHQvLyBSZW1vdmUgZW1wdHkgcGFyYW1ldGVyc1xyXG5cdFx0XHRPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goKGtleSkgPT4ge1xyXG5cdFx0XHRcdGlmIChwYXJhbXNba2V5XSA9PSBudWxsIHx8IHBhcmFtc1trZXldID09ICcnIHx8IHBhcmFtc1trZXldID09ICd1bmRlZmluZWQnKSB7XHJcblx0XHRcdFx0XHRkZWxldGUgcGFyYW1zW2tleV07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTtcclxuXHJcblx0XHRcdC8vIFVwZGF0ZSBwYXJhbWV0ZXJzIGlmIHRoZXkgaGF2ZSBjaGFuZ2VkXHJcblx0XHRcdGlmIChKU09OLnN0cmluZ2lmeSh0aGlzLl9wYXJhbXMpICE9PSBKU09OLnN0cmluZ2lmeShwYXJhbXMpKSB7XHJcblx0XHRcdFx0dGhpcy5fcGFyYW1zID0gcGFyYW1zO1xyXG5cdFx0XHRcdHRoaXMuZW5kcG9pbnRDaGFuZ2VkKCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFByb2plY3Rpb24gZmllbGRzIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBBUEkgcmVxdWVzdC5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBnZXQgcHJvamVjdGlvbigpOiBzdHJpbmcgfCBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9wcm9qZWN0aW9uID8/ICcnOyB9XHJcblx0cHVibGljIHNldCBwcm9qZWN0aW9uKHByb2plY3Rpb246IHN0cmluZyB8IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7IHRoaXMuX3Byb2plY3Rpb24gPSBwcm9qZWN0aW9uOyB0aGlzLmVuZHBvaW50Q2hhbmdlZCgpOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFdoZXRoZXIgdG8gbG9hZCBkYXRhIGF1dG9tYXRpY2FsbHkuXHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZ2V0IGxvYWREYXRhKCkgeyByZXR1cm4gdGhpcy5fbG9hZERhdGE7IH1cclxuXHRwdWJsaWMgc2V0IGxvYWREYXRhKGxvYWREYXRhKSB7IHRoaXMuX2xvYWREYXRhID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGxvYWREYXRhKTsgdGhpcy5lbmRwb2ludENoYW5nZWQoKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBBIGZpbHRlciBmdW5jdGlvbiB0byBhcHBseSB0byB0aGUgZW51bSBkYXRhLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBlbnVtRmlsdGVyKCk6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2VudW1GaWx0ZXI7IH1cclxuXHRwdWJsaWMgc2V0IGVudW1GaWx0ZXIoZW51bUZpbHRlcjogRnVuY3Rpb24pIHsgdGhpcy5fZW51bUZpbHRlciA9IGVudW1GaWx0ZXI7IHRoaXMuZW51bUNoYW5nZWQoKTsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBXaGV0aGVyIHRoZSBjb250cm9sIGlzIGRpc2FibGVkLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBkaXNhYmxlZCgpIHsgcmV0dXJuIHRoaXMuX3JlYWRvbmx5IHx8IHN1cGVyLmRpc2FibGVkOyB9XHJcblx0cHVibGljIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYW55KSB7XHJcblx0XHR0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShkaXNhYmxlZCk7XHJcblx0XHRpZiAodGhpcy5mb2N1c2VkKSB7XHJcblx0XHRcdHRoaXMuZm9jdXNlZCA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBHZXRzIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgdmFsdWUocykuXHJcblx0ICovXHJcblx0cHVibGljIGdldCBjdXJyZW50VmFsdWUoKTogYW55IHtcclxuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XHJcblx0XHRcdGlmICh0aGlzLmNvbXBhcmVXaXRoKSB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMub3B0aW9ucz8uZmlsdGVyKCh4OiBhbnkpID0+ICg8YW55W10+KHRoaXMuX3ZhbHVlIHx8IFtdKSkuc29tZSh5ID0+IHRoaXMuY29tcGFyZVdpdGghKHgsIHkpKSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbHRlcigoeDogYW55KSA9PiAoPGFueVtdPih0aGlzLl92YWx1ZSB8fCBbXSkpLmluY2x1ZGVzKHhbdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbHRlcigoeDogYW55KSA9PiB4W3RoaXMub3B0aW9uVmFsdWVQcm9wZXJ0eV0gPT0gdGhpcy5fdmFsdWUpWzBdO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogQSBmdW5jdGlvbiB0byBjb21wYXJlIHRoZSBvcHRpb24gdmFsdWVzIHdpdGggdGhlIHNlbGVjdGVkIHZhbHVlcy4gVGhlIGZpcnN0IGFyZ3VtZW50XHJcblx0ICogaXMgYSB2YWx1ZSBmcm9tIGFuIG9wdGlvbi4gVGhlIHNlY29uZCBpcyBhIHZhbHVlIGZyb20gdGhlIHNlbGVjdGlvbi4gQSBib29sZWFuXHJcblx0ICogc2hvdWxkIGJlIHJldHVybmVkLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIGdldCBjb21wYXJlV2l0aCgpOiAoKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW4pIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2NvbXBhcmVXaXRoOyB9XHJcblx0cHVibGljIHNldCBjb21wYXJlV2l0aChmbjogKChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuKSB8IHVuZGVmaW5lZCkgeyB0aGlzLl9jb21wYXJlV2l0aCA9IGZuOyB9XHJcblxyXG5cdC8qKlxyXG5cdCAqIGNoYW5nZT86IGZ1bmN0aW9uXHJcblx0ICovXHJcblx0QE91dHB1dCgnY2hhbmdlJylcclxuXHRwdWJsaWMgb25WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblx0LyoqXHJcblx0ICogaXRlbUNoYW5nZT86IGZ1bmN0aW9uXHJcblx0ICovXHJcblx0QE91dHB1dCgnaXRlbUNoYW5nZScpXHJcblx0cHVibGljIG9uSXRlbUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblx0LyoqXHJcblx0ICogc2VsZWN0ZWQ/OiBmdW5jdGlvblxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoJ3NlbGVjdGVkJylcclxuXHRwdWJsaWMgb25TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblx0LyoqXHJcblx0ICogaXRlbVNlbGVjdGVkPzogZnVuY3Rpb25cclxuXHQgKi9cclxuXHRAT3V0cHV0KCdpdGVtU2VsZWN0ZWQnKVxyXG5cdHB1YmxpYyBvbkl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblx0LyoqXHJcblx0ICogbGF1bmNoPzogZnVuY3Rpb25cclxuXHQgKi9cclxuXHRAT3V0cHV0KCdsYXVuY2gnKVxyXG5cdHB1YmxpYyBvbkxhdW5jaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblx0LyoqXHJcblx0ICogc2VhcmNoRmllbGQ/OiBmdW5jdGlvblxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpIHNlYXJjaEZpZWxkPzogKHg6IGFueSkgPT4gc3RyaW5nO1xyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqIEBwYXJhbSBjb250cm9sVHlwZSBcclxuXHQgKiBAcGFyYW0gaW5qZWN0b3IgXHJcblx0ICogQHBhcmFtIG5nQ29udHJvbCBcclxuXHQgKiBAcGFyYW0gcGFyZW50Rm9ybSBcclxuXHQgKiBAcGFyYW0gcGFyZW50Rm9ybUdyb3VwIFxyXG5cdCAqIEBwYXJhbSBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIgXHJcblx0ICogQHBhcmFtIGZvY3VzTW9uaXRvciBcclxuXHQgKiBAcGFyYW0gZWxlbWVudFJlZiBcclxuXHQgKiBAcGFyYW0gY2hhbmdlRGV0ZWN0b3JSZWYgXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRjb250cm9sVHlwZTogc3RyaW5nLFxyXG5cdFx0cHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuXHRcdEBPcHRpb25hbCgpIEBTZWxmKCkgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcblx0XHRAT3B0aW9uYWwoKSBwYXJlbnRGb3JtOiBOZ0Zvcm0sXHJcblx0XHRAT3B0aW9uYWwoKSBwYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcclxuXHRcdGRlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXHJcblx0XHRmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcclxuXHRcdGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcblx0XHRjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuXHQpIHtcclxuXHRcdHN1cGVyKGNvbnRyb2xUeXBlLCBuZ0NvbnRyb2wsIHBhcmVudEZvcm0sIHBhcmVudEZvcm1Hcm91cCwgZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLCBmb2N1c01vbml0b3IsIGVsZW1lbnRSZWYsIGNoYW5nZURldGVjdG9yUmVmKTtcclxuXHRcdGlmICghdGhpcy5lbnVtKSB7XHJcblx0XHRcdHRoaXMuX2h0dHAgPSBpbmplY3Rvci5nZXQoSHR0cENsaWVudCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBMaWZlY3ljbGUgaG9vayB0aGF0IGlzIGNhbGxlZCBhZnRlciBhIGNvbXBvbmVudCdzIFxyXG5cdCAqIHZpZXcgaGFzIGJlZW4gZnVsbHkgaW5pdGlhbGl6ZWQuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcclxuXHJcblx0XHRpZiAodGhpcy5lbnVtKSB7XHJcblx0XHRcdHRoaXMuZmlsdGVyYWJsZSA9IGZhbHNlO1xyXG5cdFx0XHR0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucyA9IEVudW1TZXJ2aWNlLnRvQXJyYXkodGhpcy5lbnVtLCB0aGlzLnByZWZpeCk7XHJcblxyXG5cdFx0XHQvKiBBcHBseSBlbnVtIGZpbHRlcnMgKi9cclxuXHRcdFx0aWYgKHRoaXMuX2VudW1GaWx0ZXIgJiYgdGhpcy5vcHRpb25zKSB7XHJcblx0XHRcdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKHRoaXMuX2VudW1GaWx0ZXIpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm9wdGlvbnMpKSB7XHJcblx0XHRcdFx0dGhpcy5oYW5kbGVJdGVtU2VsZWN0ZWQodGhpcy52YWx1ZSk7XHJcblx0XHRcdH1cclxuXHRcdH0gZWxzZSBpZiAoIXRoaXMub3B0aW9ucykge1xyXG5cdFx0XHR0aGlzLl9lbmRwb2ludENoYW5nZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnBpcGUoZGVib3VuY2VUaW1lKDEpKS5zdWJzY3JpYmUoXyA9PiB7XHJcblx0XHRcdFx0bGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHRcdFx0XHRpZiAodGhpcy5jYWNoZSkge1xyXG5cdFx0XHRcdFx0aGVhZGVycy5zZXQoJ0NsaWVudC1DYWNoZScsICdZZXMnKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qIEluaXQgcGFyYW1zLCBpZiBudWxsICovXHJcblx0XHRcdFx0bGV0IHBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuX3BhcmFtcyB8fCB7fSk7XHJcblxyXG5cdFx0XHRcdC8qIEFkZCBwcm9qZWN0aW9uLCBpZiBhbnkgKi9cclxuXHRcdFx0XHRpZiAodGhpcy5wcm9qZWN0aW9uKSB7XHJcblx0XHRcdFx0XHRwYXJhbXMucHJvamVjdGlvbiA9IEFycmF5LmlzQXJyYXkodGhpcy5wcm9qZWN0aW9uKSA/IHRoaXMucHJvamVjdGlvbi5qb2luKCcsJykgOiB0aGlzLnByb2plY3Rpb247XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBBZGQgc29ydGluZyAqL1xyXG5cdFx0XHRcdGlmICghdGhpcy5wYXJhbXMuc29ydEJ5ICYmICh0aGlzLnNvcnRCeSB8fCB0aGlzLnNvcnRlZCkpIHtcclxuXHRcdFx0XHRcdHBhcmFtcy5zb3J0QnkgPSB0aGlzLnNvcnRCeSB8fCB0aGlzLm9wdGlvblRleHRQcm9wZXJ0eTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8qIEdldCBlbmRwb2ludCAqL1xyXG5cdFx0XHRcdGxldCBlbmRwb2ludCA9IHR5cGVvZiB0aGlzLmVuZHBvaW50ID09PSAnZnVuY3Rpb24nID8gdGhpcy5lbmRwb2ludCh0aGlzKSA6ICg8c3RyaW5nPnRoaXMuZW5kcG9pbnQpO1xyXG5cdFx0XHRcdGlmICh0aGlzLl9odHRwICYmIGVuZHBvaW50ICYmIHRoaXMubG9hZERhdGEpIHtcclxuXHRcdFx0XHRcdHRoaXMuX2h0dHAuZ2V0KGVuZHBvaW50LCB7IHBhcmFtczogcGFyYW1zLCBoZWFkZXJzOiBoZWFkZXJzIH0pXHJcblx0XHRcdFx0XHRcdC5waXBlKG1hcCgoeDogYW55KSA9PiB0aGlzLm1hcHBlciA/IHRoaXMubWFwcGVyKHgpIDogeCkpXHJcblx0XHRcdFx0XHRcdC5zdWJzY3JpYmUoeCA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgPSB4O1xyXG5cclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5zZWxlY3RGaXJzdCAmJiAhdGhpcy52YWx1ZSAmJiB0aGlzLm9wdGlvbnM/Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbnNbMF1bdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMub3B0aW9ucykpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuaGFuZGxlSXRlbVNlbGVjdGVkKHRoaXMudmFsdWUpO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdFx0c3VwZXIud3JpdGVWYWx1ZSh0aGlzLnZhbHVlISk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBGcm9tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGludGVyZmFjZVxyXG5cdCAqIEBwYXJhbSB2YWx1ZSBcclxuXHQgKi9cclxuXHR3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuXHRcdC8qIFdyaXRlIHRoZSB2YWx1ZSBhbmQgdHJpZ2dlciBzb21lIGV2ZW50cyAqL1xyXG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcblx0XHR0aGlzLm9uU2VsZWN0ZWQuZW1pdCh2YWx1ZSk7XHJcblxyXG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodGhpcy5vcHRpb25zKSkge1xyXG5cdFx0XHR0aGlzLmhhbmRsZUl0ZW1TZWxlY3RlZCh0aGlzLnZhbHVlKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIE1ldGhvZCBleGVjdXRlZCB3aGVuIGFuIG9wdGlvbiBjaGFuZ2VzXHJcblx0ICovXHJcblx0cHVibGljIGhhbmRsZUNoYW5nZSgkZXZlbnQ6IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5vblZhbHVlQ2hhbmdlLmVtaXQoJGV2ZW50KTtcclxuXHRcdHRoaXMuaGFuZGxlSXRlbUNoYW5nZSgkZXZlbnQudmFsdWUpO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSGFuZGxlcyBpdGVtIGNoYW5nZXNcclxuXHQgKiBAcGFyYW0gdmFsdWUgXHJcblx0ICovXHJcblx0cHVibGljIGhhbmRsZUl0ZW1TZWxlY3RlZCh2YWx1ZTogYW55KTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xyXG5cdFx0XHR0aGlzLm9uSXRlbVNlbGVjdGVkLmVtaXQodGhpcy5vcHRpb25zLmZpbHRlcigoeDogYW55KSA9PiAodmFsdWUgfHwgW10pLmluY2x1ZGVzKHhbdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XSkpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMub25JdGVtU2VsZWN0ZWQuZW1pdCh0aGlzLm9wdGlvbnMuZmlsdGVyKCh4OiBhbnkpID0+IHhbdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XSA9PSB2YWx1ZSlbMF0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSGFuZGxlcyBpdGVtIGNoYW5nZXNcclxuXHQgKiBAcGFyYW0gdmFsdWUgXHJcblx0ICovXHJcblx0cHVibGljIGhhbmRsZUl0ZW1DaGFuZ2UodmFsdWU6IGFueSk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcclxuXHRcdFx0dGhpcy5vbkl0ZW1DaGFuZ2UuZW1pdCh0aGlzLm9wdGlvbnMuZmlsdGVyKCh4OiBhbnkpID0+ICh2YWx1ZSB8fCBbXSkuaW5jbHVkZXMoeFt0aGlzLm9wdGlvblZhbHVlUHJvcGVydHldKSkpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5vbkl0ZW1DaGFuZ2UuZW1pdCh0aGlzLm9wdGlvbnMuZmlsdGVyKCh4OiBhbnkpID0+IHhbdGhpcy5vcHRpb25WYWx1ZVByb3BlcnR5XSA9PSB2YWx1ZSlbMF0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogSGFuZGVscyBmaWx0ZXIgZXZlbnRcclxuXHQgKiBAcGFyYW0gJGV2ZW50IFxyXG5cdCAqL1xyXG5cdHB1YmxpYyBoYW5kbGVGaWx0ZXIoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG5cdFx0bGV0IHNlYXJjaFRleHQ6IHN0cmluZyA9ICgkZXZlbnQ/LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUgPz8gJyc7XHJcblx0XHRpZiAodGhpcy5zZWFyY2hGaWVsZCkge1xyXG5cdFx0XHR0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKHg6IGFueSkgPT4gdGhpcy5zZWFyY2hGaWVsZCEoeCk/LnRvTG93ZXJDYXNlKCkuc2VhcmNoKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPiAtMSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKHg6IGFueSkgPT4geFt0aGlzLm9wdGlvblRleHRQcm9wZXJ0eV0/LnRvTG93ZXJDYXNlKCkuc2VhcmNoKHNlYXJjaFRleHQudG9Mb3dlckNhc2UoKSkgPiAtMSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUcmlnZ2VyIGVuZHBvaW50IGNoYW5nZWRcclxuXHQgKi9cclxuXHRwcm90ZWN0ZWQgZW5kcG9pbnRDaGFuZ2VkKCk6IHZvaWQge1xyXG5cdFx0dGhpcy5fZW5kcG9pbnRDaGFuZ2UubmV4dChbdGhpcy5lbmRwb2ludCwgdGhpcy5fcGFyYW1zLCB0aGlzLnByb2plY3Rpb24sIHRoaXMuX2xvYWREYXRhXSk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBUcmlnZ2VyIGVudW0gY2hhbmdlZFxyXG5cdCAqL1xyXG5cdHByb3RlY3RlZCBlbnVtQ2hhbmdlZCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuX2VudW1DaGFuZ2UubmV4dChbdGhpcy5fZW51bUZpbHRlcl0pO1xyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogTG9nIHRvIGNvbnNvbGVcclxuXHQgKiBAcGFyYW0gbWVzc2FnZSBcclxuXHQgKiBAcGFyYW0gb3B0aW9uYWxQYXJhbXMgXHJcblx0ICovXHJcblx0cHVibGljIGxvZyhtZXNzYWdlOiBhbnksIC4uLm9wdGlvbmFsUGFyYW1zOiBhbnlbXSkge1xyXG5cdFx0Y29uc29sZS5sb2cobWVzc2FnZSwgb3B0aW9uYWxQYXJhbXMpO1xyXG5cdH1cclxufSJdfQ==
@@ -43,7 +43,7 @@ export class FormFieldDefinition {
43
43
  * Function to compare two values.
44
44
  * @property
45
45
  */
46
- compareWith = (o1, o2) => o1 === o2;
46
+ compareWith;
47
47
  /**
48
48
  * CSS class for styling.
49
49
  * @property
@@ -358,4 +358,4 @@ export class FormFieldDefinition {
358
358
  Object.assign(this, init);
359
359
  }
360
360
  }
361
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvbW9kZWxzL2Zvcm0tZmllbGQtZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCOzs7T0FHRztJQUNJLG9CQUFvQixHQUFXLEVBQUUsQ0FBQztJQUV6Qzs7O09BR0c7SUFDSSxvQkFBb0IsQ0FBK0Y7SUFFMUg7OztPQUdHO0lBQ0ksZ0JBQWdCLEdBQVcsTUFBTSxDQUFDO0lBRXpDOzs7T0FHRztJQUNJLE1BQU0sQ0FBK0Y7SUFFNUc7OztPQUdHO0lBQ0ksWUFBWSxDQUErRjtJQUVsSDs7O09BR0c7SUFDSSxRQUFRLEdBQVcsTUFBTSxDQUFDO0lBRWpDOzs7T0FHRztJQUNJLFNBQVMsQ0FBYTtJQUU3Qjs7O09BR0c7SUFDSSxLQUFLLENBQWdGO0lBRTVGOzs7T0FHRztJQUNJLFdBQVcsR0FBOEMsQ0FBQyxFQUFPLEVBQUUsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBRWhHOzs7T0FHRztJQUNJLFFBQVEsQ0FBVTtJQUV6Qjs7O09BR0c7SUFDSSxXQUFXLEdBQVksS0FBSyxDQUFDO0lBRXBDOzs7T0FHRztJQUNJLFVBQVUsR0FBc0IsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQztJQUUzRDs7O09BR0c7SUFDSSxlQUFlLENBQTBIO0lBRWhKOzs7T0FHRztJQUNJLGdCQUFnQixDQUFpSDtJQUV4STs7O09BR0c7SUFDSSxRQUFRLENBQTJGO0lBRTFHOzs7T0FHRztJQUNJLFVBQVUsQ0FBaUY7SUFFbEc7OztPQUdHO0lBQ0ksUUFBUSxDQUFPO0lBRXRCOzs7T0FHRztJQUNJLGNBQWMsR0FBcUYsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBRXJIOzs7T0FHRztJQUNJLFNBQVMsQ0FBWTtJQUU1Qjs7O09BR0c7SUFDSSxjQUFjLENBQVU7SUFFL0I7OztPQUdHO0lBQ0ksUUFBUSxDQUFVO0lBRXpCOzs7T0FHRztJQUNJLElBQUksQ0FBVTtJQUVyQjs7O09BR0c7SUFDSSxXQUFXLENBQVc7SUFFN0I7OztPQUdHO0lBQ0ksV0FBVyxHQUFXLFNBQVMsQ0FBQSxvQkFBb0IsQ0FBQztJQUUzRDs7O09BR0c7SUFDSSxTQUFTLENBQVU7SUFFMUI7OztPQUdHO0lBQ0ksTUFBTSxDQUFXO0lBRXhCOzs7T0FHRztJQUNJLElBQUksQ0FBZ0Y7SUFFM0Y7OztPQUdHO0lBQ0ksSUFBSSxDQUFVO0lBRXJCOzs7T0FHRztJQUNJLEtBQUssQ0FBVTtJQUV0Qjs7O09BR0c7SUFDSSxTQUFTLEdBQVcsTUFBTSxDQUFDO0lBRWxDOzs7T0FHRztJQUNJLFlBQVksQ0FBVztJQUU5Qjs7O09BR0c7SUFDSSxVQUFVLENBQStGO0lBRWhIOzs7T0FHRztJQUNJLFVBQVUsQ0FBK0Y7SUFFaEg7OztPQUdHO0lBQ0ksS0FBSyxDQUE4RjtJQUUxRzs7O09BR0c7SUFDSSxNQUFNLENBQXFCO0lBRWxDOzs7T0FHRztJQUNJLEdBQUcsQ0FBaUI7SUFFM0I7OztPQUdHO0lBQ0ksU0FBUyxDQUFVO0lBRTFCOzs7T0FHRztJQUNJLFNBQVMsQ0FBVTtJQUUxQjs7O09BR0c7SUFDSSxRQUFRLENBQVU7SUFFekI7OztPQUdHO0lBQ0ksR0FBRyxDQUFpQjtJQUUzQjs7O09BR0c7SUFDSSxTQUFTLENBQVU7SUFFMUI7OztPQUdHO0lBQ0ksU0FBUyxDQUFXO0lBRTNCOzs7T0FHRztJQUNJLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFakM7OztPQUdHO0lBQ0ksV0FBVyxDQUFXO0lBRTdCOzs7T0FHRztJQUNJLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFFcEM7OztPQUdHO0lBQ0ksSUFBSSxDQUFVO0lBRXJCOzs7T0FHRztJQUNJLE9BQU8sQ0FBd0k7SUFFdEo7OztPQUdHO0lBQ0ksYUFBYSxHQUFhLElBQUksQ0FBQztJQUV0Qzs7O09BR0c7SUFDSSxjQUFjLENBQStGO0lBRXBIOzs7T0FHRztJQUNJLGtCQUFrQixHQUFXLE1BQU0sQ0FBQztJQUUzQzs7O09BR0c7SUFDSSxtQkFBbUIsR0FBVyxJQUFJLENBQUM7SUFFMUM7OztPQUdHO0lBQ0kscUJBQXFCLENBQVU7SUFFdEM7OztPQUdHO0lBQ0kscUJBQXFCLENBQVU7SUFFdEM7OztPQUdHO0lBQ0ksaUJBQWlCLEdBQVksMkJBQTJCLENBQUM7SUFFaEU7OztPQUdHO0lBQ0ksTUFBTSxDQUF1RjtJQUVwRzs7O09BR0c7SUFDSSxPQUFPLENBQW1CO0lBRWpDOzs7T0FHRztJQUNJLFVBQVUsR0FBc0IsRUFBRSxDQUFDO0lBRTFDOzs7T0FHRztJQUNJLFFBQVEsQ0FBb0Y7SUFFbkc7OztPQUdHO0lBQ0ksUUFBUSxDQUFpRztJQUVoSDs7O09BR0c7SUFDSSxHQUFHLEdBQVcsQ0FBQyxDQUFDO0lBRXZCOzs7T0FHRztJQUNJLElBQUksQ0FBVTtJQUVyQjs7O09BR0c7SUFDSSxXQUFXLEdBQVcsUUFBUSxDQUFDO0lBRXRDOzs7T0FHRztJQUNJLE1BQU0sQ0FBZ0Y7SUFFN0Y7OztPQUdHO0lBQ0ksYUFBYSxHQUFrRSxFQUFFLENBQUM7SUFFekY7OztPQUdHO0lBQ0ksZUFBZSxDQUFVO0lBRWhDOzs7T0FHRztJQUNJLGFBQWEsQ0FBK0Y7SUFFbkg7OztPQUdHO0lBQ0ksV0FBVyxHQUFXLE1BQU0sQ0FBQztJQUVwQzs7O09BR0c7SUFDSSxlQUFlLENBQTZHO0lBRW5JOzs7T0FHRztJQUNJLElBQUksQ0FBNEc7SUFFdkg7OztPQUdHO0lBQ0ksT0FBTyxHQUFZLElBQUksQ0FBQztJQUUvQjs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBNEM7UUFDM0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBEYXRlRmlsdGVyRm4sIE1hdERhdGVwaWNrZXIgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlclwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9iYXNlL2ludGVyZmFjZXMvaWdlbmVyaWMtZm9ybS1iYXNlXCI7XHJcbmltcG9ydCB7IFN1ZmZpeEJ1dHRvbiB9IGZyb20gXCIuLi8uLi9jb21tb24vbW9kZWxzL3N1ZmZpeC1idXR0b25cIjtcclxuaW1wb3J0IHsgRm9ybUZpZWxkVHlwZSB9IGZyb20gXCIuLi9lbnVtcy9mb3JtLWZpZWxkLXR5cGVcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGREZWZpbml0aW9uPFRFbnRpdHkgPSBhbnksIFRQcm9wZXJ0eSA9IGFueT4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBDU1MgY2xhc3MgZm9yIGF1dG9jb21wbGV0ZSBmdW5jdGlvbmFsaXR5LlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhdXRvY29tcGxldGVDc3NDbGFzczogc3RyaW5nID0gJyc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZW1wbGF0ZSBmb3IgYXV0b2NvbXBsZXRlIGZ1bmN0aW9uYWxpdHkuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGF1dG9jb21wbGV0ZVRlbXBsYXRlPzogKHg6IFRQcm9wZXJ0eSwgeT86IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRleHQgdG8gZGlzcGxheSBpbiBhdXRvY29tcGxldGUuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGF1dG9jb21wbGV0ZVRleHQ6IHN0cmluZyA9ICduYW1lJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIGludm9rZWQgb24gY2hhbmdlLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGFuZ2U/OiAoeDogVFByb3BlcnR5LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGVtcGxhdGUgZm9yIGNoaXAgZnVuY3Rpb25hbGl0eS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2hpcFRlbXBsYXRlPzogKHg6IFRQcm9wZXJ0eSwgeT86IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRleHQgdG8gZGlzcGxheSBpbiBjaGlwLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGlwVGV4dDogc3RyaW5nID0gJ25hbWUnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHlwZSBvZiBjbGFzcyB0byBiZSBpbnN0YW50aWF0ZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsYXNzVHlwZT86IFR5cGU8YW55PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIGludm9rZWQgb24gY2xlYXJpbmcuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNsZWFyPzogKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRvIGNvbXBhcmUgdHdvIHZhbHVlcy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29tcGFyZVdpdGg6IChvMTogVFByb3BlcnR5LCBvMjogVFByb3BlcnR5KSA9PiBib29sZWFuID0gKG8xOiBhbnksIG8yOiBhbnkpID0+IG8xID09PSBvMjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENTUyBjbGFzcyBmb3Igc3R5bGluZy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHZhbHVlIGlzIGN1c3RvbS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY3VzdG9tVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRvIGZpbHRlciBkYXRlcy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF0ZUZpbHRlcjogRGF0ZUZpbHRlckZuPGFueT4gPSAoZGF0ZTogYW55KSA9PiB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXN5bmNocm9ub3VzIGZ1bmN0aW9uIHRvIGZpbHRlciBkYXRlcy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF0ZUZpbHRlckFzeW5jPzogKGQ6IERhdGUgfCBhbnksIHk/OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBPYnNlcnZhYmxlPERhdGVGaWx0ZXJGbjxhbnk+PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIGZvciB3aGVuIHRoZSBkYXRlIHBpY2tlciBpcyBvcGVuZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRhdGVQaWNrZXJPcGVuZWQ/OiAoZGF0ZVBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRW5kcG9pbnQgZm9yIGRhdGEgcmV0cmlldmFsLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlbmRwb2ludD86ICgoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55KSB8IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRvIGZpbHRlciBlbnVtcy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZW51bUZpbHRlcj86ICh5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHlwZSBvZiBlbnVtLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlbnVtVHlwZT86IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiBkYXRhIHNob3VsZCBiZSBmZXRjaGVkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmZXRjaENvbmRpdGlvbjogKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGJvb2xlYW4gPSAoKSA9PiB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXJyYXkgb2YgZmllbGQgc2V0cy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmllbGRTZXRzPzogc3RyaW5nW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBbGxvd2VkIGZpbGUgZXh0ZW5zaW9ucy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmlsZUV4dGVuc2lvbnM/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGaWxlIHBhdGguXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpbGVQYXRoPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmxleCBsYXlvdXQgcHJvcGVydHkuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZsZXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciBzZWxlY3Rpb24gaXMgZm9yY2VkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmb3JjZVNlbGVjdD86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHcm91cCBoZWFkZXIuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdyb3VwSGVhZGVyOiBzdHJpbmcgPSAkbG9jYWxpemVgOkBAZGV0YWlsczpEZXRhaWxzYDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdyb3VwIG5hbWUuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdyb3VwTmFtZT86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjb2x1bW4gaXMgaGlkZGVuLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBoaWRkZW4/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGlkZSB0aGUgZmllbGQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGU/OiAoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGludCB0ZXh0IGZvciB0aGUgZmllbGQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpbnQ/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRleCBvZiB0aGUgZmllbGQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGluZGV4PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVHlwZSBvZiBpbnB1dCAoZS5nLiwgdGV4dCwgbnVtYmVyKS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaW5wdXRUeXBlOiBzdHJpbmcgPSAndGV4dCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGZpbGUgaXMgcHVibGljLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpc1B1YmxpY0ZpbGU/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gaW52b2tlZCBvbiBpdGVtIGNoYW5nZS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaXRlbUNoYW5nZT86ICh4OiBUUHJvcGVydHksIHk/OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiBpbnZva2VkIG9uIGl0ZW0gc2VsZWN0aW9uLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpdGVtU2VsZWN0PzogKHg6IFRQcm9wZXJ0eSwgeT86IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIExhYmVsIGZvciB0aGUgZmllbGQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGxhYmVsPzogKCh4OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBzdHJpbmcpIHwgc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gbWFwIHZhbHVlcy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWFwcGVyPzogKHg6IGFueVtdKSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXhpbXVtIHZhbHVlLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYXg/OiBudW1iZXIgfCBEYXRlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWF4aW11bSBoZWlnaHQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1heEhlaWdodD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1heGltdW0gbGVuZ3RoLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYXhMZW5ndGg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXhpbXVtIHdpZHRoLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYXhXaWR0aD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1pbmltdW0gdmFsdWUuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1pbj86IG51bWJlciB8IERhdGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNaW5pbXVtIGxlbmd0aC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWluTGVuZ3RoPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIGlmIHRoZSBmaWVsZCBzdXBwb3J0cyBtdWx0aWxpbmUgaW5wdXQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG11bHRpbGluZT86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgaWYgbXVsdGlwbGUgc2VsZWN0aW9ucyBhcmUgYWxsb3dlZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZsYWcgaW5kaWNhdGluZyBpZiBvbmx5IG51bWJlcnMgYXJlIGFsbG93ZWQgaW4gdGhlIGlucHV0IGZpZWxkLlxyXG4gICAgICogQHByb3BlcnR5IHtib29sZWFufSBudW1iZXJzT25seSAtIEZsYWcgaW5kaWNhdGluZyBpZiBvbmx5IG51bWJlcnMgYXJlIGFsbG93ZWQgaW4gdGhlIGlucHV0IGZpZWxkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbnVtYmVyc09ubHk/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGZpcnN0IG9wdGlvbiBzaG91bGQgYmUgYXV0b21hdGljYWxseSBzZWxlY3RlZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VsZWN0Rmlyc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE5hbWUgb2YgdGhlIGZpZWxkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuYW1lPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3B0aW9ucyBmb3Igc2VsZWN0aW9uLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcHRpb25zPzogKCh4OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiB7IGlkOiBhbnksIG5hbWU6IHN0cmluZyB9W10pIHwgeyBpZDogYW55LCBuYW1lOiBzdHJpbmcgfVtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIGEgZGVmYXVsdCBvcHRpb24gc2hvdWxkIGJlIGluY2x1ZGVkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkZWZhdWx0T3B0aW9uPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZW1wbGF0ZSBmb3Igb3B0aW9ucy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb3B0aW9uVGVtcGxhdGU/OiAoeDogVFByb3BlcnR5LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHByb3BlcnR5IG5hbWUgaW4gdGhlIG9wdGlvbiBvYmplY3QgZm9yIHRoZSB0ZXh0IHRvIGRpc3BsYXkuXHJcbiAgICAgKiBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIHByb3BlcnR5IG9mIHRoZSBvcHRpb24gb2JqZWN0IHRvIHNob3cgYXMgdGhlIG9wdGlvbidzIHRleHQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcHRpb25UZXh0UHJvcGVydHk6IHN0cmluZyA9ICduYW1lJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBwcm9wZXJ0eSBuYW1lIGluIHRoZSBvcHRpb24gb2JqZWN0IGZvciB0aGUgdmFsdWUgb2YgdGhlIG9wdGlvbnMuXHJcbiAgICAgKiBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHVuaXF1ZSB2YWx1ZSBmb3IgZWFjaCBvcHRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcHRpb25WYWx1ZVByb3BlcnR5OiBzdHJpbmcgPSAnaWQnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHByb3BlcnR5IG5hbWUgaW4gdGhlIG9wdGlvbiBvYmplY3QgZm9yIHRoZSBNYXRlcmlhbCBpY29uLlxyXG4gICAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IGEgTWF0ZXJpYWwgaWNvbiBpbiB0aGUgb3B0aW9ucyBsaXN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb3B0aW9uTWF0SWNvblByb3BlcnR5Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHByb3BlcnR5IG5hbWUgaW4gdGhlIG9wdGlvbiBvYmplY3QgZm9yIHRoZSBTVkcgaWNvbi5cclxuICAgICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSBhbiBTVkcgaWNvbiBpbiB0aGUgb3B0aW9ucyBsaXN0LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb3B0aW9uU3ZnSWNvblByb3BlcnR5Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGZvbnQgc2V0IHRvIGJlIHVzZWQgZm9yIHRoZSBpY29ucyBpbiB0aGUgb3B0aW9ucy5cclxuICAgICAqIFRoaXMgc3BlY2lmaWVzIGEgY3VzdG9tIGZvbnQgc2V0IGZvciB0aGUgaWNvbnMgZGlzcGxheWVkIGluIHRoZSBvcHRpb25zIGxpc3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcHRpb25JY29uRm9udFNldD86IHN0cmluZyA9ICdtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhcmFtZXRlcnMgZm9yIGRhdGEgcmV0cmlldmFsLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwYXJhbXM/OiAoKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueSkgfCB7fTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIGZvciBpbnB1dCB2YWxpZGF0aW9uLlxyXG4gICAgICogQHByb3BlcnR5IHtSZWdFeHB9IHBhdHRlcm4gLSBSZWd1bGFyIGV4cHJlc3Npb24gcGF0dGVybiBmb3IgaW5wdXQgdmFsaWRhdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHBhdHRlcm4/OiBSZWdFeHAgfCBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQcm9qZWN0aW9uIGZvciBkYXRhIHJldHJpZXZhbC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcHJvamVjdGlvbjogc3RyaW5nIHwgc3RyaW5nW10gPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiB0aGUgZmllbGQgaXMgcmVhZG9ubHkuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlYWRvbmx5PzogKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgdGhlIGZpZWxkIGlzIHJlcXVpcmVkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZXF1aXJlZD86ICgoeD86IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGJvb2xlYW4gfCBib29sZWFuKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSByb3cgbnVtYmVyIGluZGljYXRpbmcgdGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBmaWVsZCBzaG91bGQgYmUgZGlzcGxheWVkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByb3c6IG51bWJlciA9IDE7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbnVtYmVyIG9mIHJvd3MgZm9yIG11bHRpLWxpbmUgaW5wdXQgZmllbGRzIChlLmcuLCB0ZXh0IGFyZWEpLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByb3dzPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmllbGQgdXNlZCBmb3Igc2VhcmNoaW5nLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWFyY2hGaWVsZDogc3RyaW5nID0gJ3NlYXJjaCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiBpbnZva2VkIG9uIHNlbGVjdGlvbi5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2VsZWN0PzogKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFycmF5IG9mIHN1ZmZpeCBidXR0b25zLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdWZmaXhCdXR0b25zOiBTdWZmaXhCdXR0b248VFByb3BlcnR5LCBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+PltdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDU1MgY2xhc3MgZm9yIHRyaWdnZXJzLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cmlnZ2VyQ3NzQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB0byBtYXAgdHJpZ2dlciB2YWx1ZXMuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRyaWdnZXJNYXBwZXI/OiAoeDogVFByb3BlcnR5LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW9kZSBvZiB0aGUgdHJpZ2dlciAoZS5nLiwgY2hpcCkuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRyaWdnZXJNb2RlOiAnY2hpcCcgPSAnY2hpcCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZW1wbGF0ZSBmb3IgdGhlIHRyaWdnZXIuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRyaWdnZXJUZW1wbGF0ZT86ICh4OiBUUHJvcGVydHlbXSB8IFRQcm9wZXJ0eSwgeT86IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZ1bmN0aW9uIHRvIGRldGVybWluZSB0aGUgdHlwZSBvZiB0aGUgZmllbGQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHR5cGU/OiAoKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IEZvcm1GaWVsZFR5cGUpIHwgRm9ybUZpZWxkVHlwZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBmaWVsZCBpcyB3cmFwcGVkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB3cmFwcGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnN0cnVjdG9yIGZvciB0aGUgRm9ybUZpZWxkRGVmaW5pdGlvbiBjbGFzcy5cclxuICAgICAqIEBjb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIGluaXQgLSBQYXJ0aWFsIGluaXRpYWxpemF0aW9uIGRhdGEgZm9yIHRoZSBGb3JtRmllbGREZWZpbml0aW9uLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdD86IFBhcnRpYWw8Rm9ybUZpZWxkRGVmaW5pdGlvbjxURW50aXR5Pj4pIHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpO1xyXG4gICAgfVxyXG59Il19
361
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1kZWZpbml0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvZm9ybXMvbW9kZWxzL2Zvcm0tZmllbGQtZGVmaW5pdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCOzs7T0FHRztJQUNJLG9CQUFvQixHQUFXLEVBQUUsQ0FBQztJQUV6Qzs7O09BR0c7SUFDSSxvQkFBb0IsQ0FBK0Y7SUFFMUg7OztPQUdHO0lBQ0ksZ0JBQWdCLEdBQVcsTUFBTSxDQUFDO0lBRXpDOzs7T0FHRztJQUNJLE1BQU0sQ0FBK0Y7SUFFNUc7OztPQUdHO0lBQ0ksWUFBWSxDQUErRjtJQUVsSDs7O09BR0c7SUFDSSxRQUFRLEdBQVcsTUFBTSxDQUFDO0lBRWpDOzs7T0FHRztJQUNJLFNBQVMsQ0FBYTtJQUU3Qjs7O09BR0c7SUFDSSxLQUFLLENBQWdGO0lBRTVGOzs7T0FHRztJQUNJLFdBQVcsQ0FBNkM7SUFFL0Q7OztPQUdHO0lBQ0ksUUFBUSxDQUFVO0lBRXpCOzs7T0FHRztJQUNJLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFFcEM7OztPQUdHO0lBQ0ksVUFBVSxHQUFzQixDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBRTNEOzs7T0FHRztJQUNJLGVBQWUsQ0FBMEg7SUFFaEo7OztPQUdHO0lBQ0ksZ0JBQWdCLENBQWlIO0lBRXhJOzs7T0FHRztJQUNJLFFBQVEsQ0FBMkY7SUFFMUc7OztPQUdHO0lBQ0ksVUFBVSxDQUFpRjtJQUVsRzs7O09BR0c7SUFDSSxRQUFRLENBQU87SUFFdEI7OztPQUdHO0lBQ0ksY0FBYyxHQUFxRixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFFckg7OztPQUdHO0lBQ0ksU0FBUyxDQUFZO0lBRTVCOzs7T0FHRztJQUNJLGNBQWMsQ0FBVTtJQUUvQjs7O09BR0c7SUFDSSxRQUFRLENBQVU7SUFFekI7OztPQUdHO0lBQ0ksSUFBSSxDQUFVO0lBRXJCOzs7T0FHRztJQUNJLFdBQVcsQ0FBVztJQUU3Qjs7O09BR0c7SUFDSSxXQUFXLEdBQVcsU0FBUyxDQUFBLG9CQUFvQixDQUFDO0lBRTNEOzs7T0FHRztJQUNJLFNBQVMsQ0FBVTtJQUUxQjs7O09BR0c7SUFDSSxNQUFNLENBQVc7SUFFeEI7OztPQUdHO0lBQ0ksSUFBSSxDQUFnRjtJQUUzRjs7O09BR0c7SUFDSSxJQUFJLENBQVU7SUFFckI7OztPQUdHO0lBQ0ksS0FBSyxDQUFVO0lBRXRCOzs7T0FHRztJQUNJLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFFbEM7OztPQUdHO0lBQ0ksWUFBWSxDQUFXO0lBRTlCOzs7T0FHRztJQUNJLFVBQVUsQ0FBK0Y7SUFFaEg7OztPQUdHO0lBQ0ksVUFBVSxDQUErRjtJQUVoSDs7O09BR0c7SUFDSSxLQUFLLENBQThGO0lBRTFHOzs7T0FHRztJQUNJLE1BQU0sQ0FBcUI7SUFFbEM7OztPQUdHO0lBQ0ksR0FBRyxDQUFpQjtJQUUzQjs7O09BR0c7SUFDSSxTQUFTLENBQVU7SUFFMUI7OztPQUdHO0lBQ0ksU0FBUyxDQUFVO0lBRTFCOzs7T0FHRztJQUNJLFFBQVEsQ0FBVTtJQUV6Qjs7O09BR0c7SUFDSSxHQUFHLENBQWlCO0lBRTNCOzs7T0FHRztJQUNJLFNBQVMsQ0FBVTtJQUUxQjs7O09BR0c7SUFDSSxTQUFTLENBQVc7SUFFM0I7OztPQUdHO0lBQ0ksUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVqQzs7O09BR0c7SUFDSSxXQUFXLENBQVc7SUFFN0I7OztPQUdHO0lBQ0ksV0FBVyxHQUFZLEtBQUssQ0FBQztJQUVwQzs7O09BR0c7SUFDSSxJQUFJLENBQVU7SUFFckI7OztPQUdHO0lBQ0ksT0FBTyxDQUF3STtJQUV0Sjs7O09BR0c7SUFDSSxhQUFhLEdBQWEsSUFBSSxDQUFDO0lBRXRDOzs7T0FHRztJQUNJLGNBQWMsQ0FBK0Y7SUFFcEg7OztPQUdHO0lBQ0ksa0JBQWtCLEdBQVcsTUFBTSxDQUFDO0lBRTNDOzs7T0FHRztJQUNJLG1CQUFtQixHQUFXLElBQUksQ0FBQztJQUUxQzs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBVTtJQUV0Qzs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBVTtJQUV0Qzs7O09BR0c7SUFDSSxpQkFBaUIsR0FBWSwyQkFBMkIsQ0FBQztJQUVoRTs7O09BR0c7SUFDSSxNQUFNLENBQXVGO0lBRXBHOzs7T0FHRztJQUNJLE9BQU8sQ0FBbUI7SUFFakM7OztPQUdHO0lBQ0ksVUFBVSxHQUFzQixFQUFFLENBQUM7SUFFMUM7OztPQUdHO0lBQ0ksUUFBUSxDQUFvRjtJQUVuRzs7O09BR0c7SUFDSSxRQUFRLENBQWlHO0lBRWhIOzs7T0FHRztJQUNJLEdBQUcsR0FBVyxDQUFDLENBQUM7SUFFdkI7OztPQUdHO0lBQ0ksSUFBSSxDQUFVO0lBRXJCOzs7T0FHRztJQUNJLFdBQVcsR0FBVyxRQUFRLENBQUM7SUFFdEM7OztPQUdHO0lBQ0ksTUFBTSxDQUFnRjtJQUU3Rjs7O09BR0c7SUFDSSxhQUFhLEdBQWtFLEVBQUUsQ0FBQztJQUV6Rjs7O09BR0c7SUFDSSxlQUFlLENBQVU7SUFFaEM7OztPQUdHO0lBQ0ksYUFBYSxDQUErRjtJQUVuSDs7O09BR0c7SUFDSSxXQUFXLEdBQVcsTUFBTSxDQUFDO0lBRXBDOzs7T0FHRztJQUNJLGVBQWUsQ0FBNkc7SUFFbkk7OztPQUdHO0lBQ0ksSUFBSSxDQUE0RztJQUV2SDs7O09BR0c7SUFDSSxPQUFPLEdBQVksSUFBSSxDQUFDO0lBRS9COzs7O09BSUc7SUFDSCxZQUFtQixJQUE0QztRQUMzRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IERhdGVGaWx0ZXJGbiwgTWF0RGF0ZXBpY2tlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2Jhc2UvaW50ZXJmYWNlcy9pZ2VuZXJpYy1mb3JtLWJhc2VcIjtcclxuaW1wb3J0IHsgU3VmZml4QnV0dG9uIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9tb2RlbHMvc3VmZml4LWJ1dHRvblwiO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRUeXBlIH0gZnJvbSBcIi4uL2VudW1zL2Zvcm0tZmllbGQtdHlwZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZvcm1GaWVsZERlZmluaXRpb248VEVudGl0eSA9IGFueSwgVFByb3BlcnR5ID0gYW55PiB7XHJcbiAgICAvKipcclxuICAgICAqIENTUyBjbGFzcyBmb3IgYXV0b2NvbXBsZXRlIGZ1bmN0aW9uYWxpdHkuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGF1dG9jb21wbGV0ZUNzc0NsYXNzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbXBsYXRlIGZvciBhdXRvY29tcGxldGUgZnVuY3Rpb25hbGl0eS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlVGVtcGxhdGU/OiAoeDogVFByb3BlcnR5LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGV4dCB0byBkaXNwbGF5IGluIGF1dG9jb21wbGV0ZS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlVGV4dDogc3RyaW5nID0gJ25hbWUnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gaW52b2tlZCBvbiBjaGFuZ2UuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoYW5nZT86ICh4OiBUUHJvcGVydHksIHk/OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZW1wbGF0ZSBmb3IgY2hpcCBmdW5jdGlvbmFsaXR5LlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaGlwVGVtcGxhdGU/OiAoeDogVFByb3BlcnR5LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGV4dCB0byBkaXNwbGF5IGluIGNoaXAuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGNoaXBUZXh0OiBzdHJpbmcgPSAnbmFtZSc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUeXBlIG9mIGNsYXNzIHRvIGJlIGluc3RhbnRpYXRlZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xhc3NUeXBlPzogVHlwZTxhbnk+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gaW52b2tlZCBvbiBjbGVhcmluZy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXI/OiAoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gY29tcGFyZSB0d28gdmFsdWVzLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb21wYXJlV2l0aD86IChvMTogVFByb3BlcnR5LCBvMjogVFByb3BlcnR5KSA9PiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ1NTIGNsYXNzIGZvciBzdHlsaW5nLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjc3NDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyBpZiB0aGUgdmFsdWUgaXMgY3VzdG9tLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjdXN0b21WYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZmlsdGVyIGRhdGVzLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkYXRlRmlsdGVyOiBEYXRlRmlsdGVyRm48YW55PiA9IChkYXRlOiBhbnkpID0+IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBc3luY2hyb25vdXMgZnVuY3Rpb24gdG8gZmlsdGVyIGRhdGVzLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBkYXRlRmlsdGVyQXN5bmM/OiAoZDogRGF0ZSB8IGFueSwgeT86IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IE9ic2VydmFibGU8RGF0ZUZpbHRlckZuPGFueT4+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIHdoZW4gdGhlIGRhdGUgcGlja2VyIGlzIG9wZW5lZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF0ZVBpY2tlck9wZW5lZD86IChkYXRlUGlja2VyOiBNYXREYXRlcGlja2VyPGFueT4sIHk/OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbmRwb2ludCBmb3IgZGF0YSByZXRyaWV2YWwuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGVuZHBvaW50PzogKCh4OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnkpIHwgc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZmlsdGVyIGVudW1zLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlbnVtRmlsdGVyPzogKHk/OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUeXBlIG9mIGVudW0uXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGVudW1UeXBlPzogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIGRhdGEgc2hvdWxkIGJlIGZldGNoZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZldGNoQ29uZGl0aW9uOiAoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBcnJheSBvZiBmaWVsZCBzZXRzLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmaWVsZFNldHM/OiBzdHJpbmdbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFsbG93ZWQgZmlsZSBleHRlbnNpb25zLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBmaWxlRXh0ZW5zaW9ucz86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZpbGUgcGF0aC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmlsZVBhdGg/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGbGV4IGxheW91dCBwcm9wZXJ0eS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmxleD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHNlbGVjdGlvbiBpcyBmb3JjZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZvcmNlU2VsZWN0PzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdyb3VwIGhlYWRlci5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ3JvdXBIZWFkZXI6IHN0cmluZyA9ICRsb2NhbGl6ZWA6QEBkZXRhaWxzOkRldGFpbHNgO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR3JvdXAgbmFtZS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ3JvdXBOYW1lPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbHVtbiBpcyBoaWRkZW4uXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGhpZGRlbj86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiB0byBoaWRlIHRoZSBmaWVsZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGlkZT86ICh4OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIaW50IHRleHQgZm9yIHRoZSBmaWVsZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaGludD86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGV4IG9mIHRoZSBmaWVsZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgaW5kZXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUeXBlIG9mIGlucHV0IChlLmcuLCB0ZXh0LCBudW1iZXIpLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpbnB1dFR5cGU6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyBpZiB0aGUgZmlsZSBpcyBwdWJsaWMuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGlzUHVibGljRmlsZT86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsYmFjayBmdW5jdGlvbiBpbnZva2VkIG9uIGl0ZW0gY2hhbmdlLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpdGVtQ2hhbmdlPzogKHg6IFRQcm9wZXJ0eSwgeT86IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIGludm9rZWQgb24gaXRlbSBzZWxlY3Rpb24uXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGl0ZW1TZWxlY3Q/OiAoeDogVFByb3BlcnR5LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGFiZWwgZm9yIHRoZSBmaWVsZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbGFiZWw/OiAoKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IHN0cmluZykgfCBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGdW5jdGlvbiB0byBtYXAgdmFsdWVzLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtYXBwZXI/OiAoeDogYW55W10pID0+IGFueTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1heGltdW0gdmFsdWUuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1heD86IG51bWJlciB8IERhdGU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXhpbXVtIGhlaWdodC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWF4aW11bSBsZW5ndGguXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1heExlbmd0aD86IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1heGltdW0gd2lkdGguXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG1heFdpZHRoPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWluaW11bSB2YWx1ZS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWluPzogbnVtYmVyIHwgRGF0ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE1pbmltdW0gbGVuZ3RoLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtaW5MZW5ndGg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGZpZWxkIHN1cHBvcnRzIG11bHRpbGluZSBpbnB1dC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbXVsdGlsaW5lPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYXRlcyBpZiBtdWx0aXBsZSBzZWxlY3Rpb25zIGFyZSBhbGxvd2VkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBtdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRmxhZyBpbmRpY2F0aW5nIGlmIG9ubHkgbnVtYmVycyBhcmUgYWxsb3dlZCBpbiB0aGUgaW5wdXQgZmllbGQuXHJcbiAgICAgKiBAcHJvcGVydHkge2Jvb2xlYW59IG51bWJlcnNPbmx5IC0gRmxhZyBpbmRpY2F0aW5nIGlmIG9ubHkgbnVtYmVycyBhcmUgYWxsb3dlZCBpbiB0aGUgaW5wdXQgZmllbGQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBudW1iZXJzT25seT86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZmlyc3Qgb3B0aW9uIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWxlY3RGaXJzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmFtZSBvZiB0aGUgZmllbGQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG5hbWU/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcHRpb25zIGZvciBzZWxlY3Rpb24uXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIG9wdGlvbnM/OiAoKHg6IFRFbnRpdHksIGY/OiBGb3JtR3JvdXAsIGN0eD86IElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4pID0+IHsgaWQ6IGFueSwgbmFtZTogc3RyaW5nIH1bXSkgfCB7IGlkOiBhbnksIG5hbWU6IHN0cmluZyB9W107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgYSBkZWZhdWx0IG9wdGlvbiBzaG91bGQgYmUgaW5jbHVkZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGRlZmF1bHRPcHRpb24/OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbXBsYXRlIGZvciBvcHRpb25zLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcHRpb25UZW1wbGF0ZT86ICh4OiBUUHJvcGVydHksIHk/OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcHJvcGVydHkgbmFtZSBpbiB0aGUgb3B0aW9uIG9iamVjdCBmb3IgdGhlIHRleHQgdG8gZGlzcGxheS5cclxuICAgICAqIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggcHJvcGVydHkgb2YgdGhlIG9wdGlvbiBvYmplY3QgdG8gc2hvdyBhcyB0aGUgb3B0aW9uJ3MgdGV4dC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9wdGlvblRleHRQcm9wZXJ0eTogc3RyaW5nID0gJ25hbWUnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHByb3BlcnR5IG5hbWUgaW4gdGhlIG9wdGlvbiBvYmplY3QgZm9yIHRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9ucy5cclxuICAgICAqIFRoaXMgaXMgdXNlZCB0byBpZGVudGlmeSB0aGUgdW5pcXVlIHZhbHVlIGZvciBlYWNoIG9wdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9wdGlvblZhbHVlUHJvcGVydHk6IHN0cmluZyA9ICdpZCc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcHJvcGVydHkgbmFtZSBpbiB0aGUgb3B0aW9uIG9iamVjdCBmb3IgdGhlIE1hdGVyaWFsIGljb24uXHJcbiAgICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGRpc3BsYXkgYSBNYXRlcmlhbCBpY29uIGluIHRoZSBvcHRpb25zIGxpc3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcHRpb25NYXRJY29uUHJvcGVydHk/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcHJvcGVydHkgbmFtZSBpbiB0aGUgb3B0aW9uIG9iamVjdCBmb3IgdGhlIFNWRyBpY29uLlxyXG4gICAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IGFuIFNWRyBpY29uIGluIHRoZSBvcHRpb25zIGxpc3QuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvcHRpb25TdmdJY29uUHJvcGVydHk/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgZm9udCBzZXQgdG8gYmUgdXNlZCBmb3IgdGhlIGljb25zIGluIHRoZSBvcHRpb25zLlxyXG4gICAgICogVGhpcyBzcGVjaWZpZXMgYSBjdXN0b20gZm9udCBzZXQgZm9yIHRoZSBpY29ucyBkaXNwbGF5ZWQgaW4gdGhlIG9wdGlvbnMgbGlzdC5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9wdGlvbkljb25Gb250U2V0Pzogc3RyaW5nID0gJ21hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGFyYW1ldGVycyBmb3IgZGF0YSByZXRyaWV2YWwuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHBhcmFtcz86ICgoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55KSB8IHt9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmVndWxhciBleHByZXNzaW9uIHBhdHRlcm4gZm9yIGlucHV0IHZhbGlkYXRpb24uXHJcbiAgICAgKiBAcHJvcGVydHkge1JlZ0V4cH0gcGF0dGVybiAtIFJlZ3VsYXIgZXhwcmVzc2lvbiBwYXR0ZXJuIGZvciBpbnB1dCB2YWxpZGF0aW9uLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGF0dGVybj86IFJlZ0V4cCB8IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2plY3Rpb24gZm9yIGRhdGEgcmV0cmlldmFsLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwcm9qZWN0aW9uOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGlmIHRoZSBmaWVsZCBpcyByZWFkb25seS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVhZG9ubHk/OiAoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGRldGVybWluZSBpZiB0aGUgZmllbGQgaXMgcmVxdWlyZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJlcXVpcmVkPzogKCh4PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYm9vbGVhbiB8IGJvb2xlYW4pO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHJvdyBudW1iZXIgaW5kaWNhdGluZyB0aGUgcG9zaXRpb24gd2hlcmUgdGhlIGZpZWxkIHNob3VsZCBiZSBkaXNwbGF5ZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJvdzogbnVtYmVyID0gMTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBudW1iZXIgb2Ygcm93cyBmb3IgbXVsdGktbGluZSBpbnB1dCBmaWVsZHMgKGUuZy4sIHRleHQgYXJlYSkuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHJvd3M/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBGaWVsZCB1c2VkIGZvciBzZWFyY2hpbmcuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlYXJjaEZpZWxkOiBzdHJpbmcgPSAnc2VhcmNoJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIGludm9rZWQgb24gc2VsZWN0aW9uLlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZWxlY3Q/OiAoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXJyYXkgb2Ygc3VmZml4IGJ1dHRvbnMuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN1ZmZpeEJ1dHRvbnM6IFN1ZmZpeEJ1dHRvbjxUUHJvcGVydHksIElHZW5lcmljRm9ybUJhc2VDb21wb25lbnQ8VEVudGl0eT4+W10gPSBbXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENTUyBjbGFzcyBmb3IgdHJpZ2dlcnMuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHRyaWdnZXJDc3NDbGFzcz86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIG1hcCB0cmlnZ2VyIHZhbHVlcy5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdHJpZ2dlck1hcHBlcj86ICh4OiBUUHJvcGVydHksIHk/OiBURW50aXR5LCBmPzogRm9ybUdyb3VwLCBjdHg/OiBJR2VuZXJpY0Zvcm1CYXNlQ29tcG9uZW50PFRFbnRpdHk+KSA9PiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNb2RlIG9mIHRoZSB0cmlnZ2VyIChlLmcuLCBjaGlwKS5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdHJpZ2dlck1vZGU6ICdjaGlwJyA9ICdjaGlwJztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbXBsYXRlIGZvciB0aGUgdHJpZ2dlci5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdHJpZ2dlclRlbXBsYXRlPzogKHg6IFRQcm9wZXJ0eVtdIHwgVFByb3BlcnR5LCB5PzogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSB0eXBlIG9mIHRoZSBmaWVsZC5cclxuICAgICAqIEBwcm9wZXJ0eVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgdHlwZT86ICgoeDogVEVudGl0eSwgZj86IEZvcm1Hcm91cCwgY3R4PzogSUdlbmVyaWNGb3JtQmFzZUNvbXBvbmVudDxURW50aXR5PikgPT4gRm9ybUZpZWxkVHlwZSkgfCBGb3JtRmllbGRUeXBlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGZpZWxkIGlzIHdyYXBwZWQuXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIHdyYXBwZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29uc3RydWN0b3IgZm9yIHRoZSBGb3JtRmllbGREZWZpbml0aW9uIGNsYXNzLlxyXG4gICAgICogQGNvbnN0cnVjdG9yXHJcbiAgICAgKiBAcGFyYW0gaW5pdCAtIFBhcnRpYWwgaW5pdGlhbGl6YXRpb24gZGF0YSBmb3IgdGhlIEZvcm1GaWVsZERlZmluaXRpb24uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogUGFydGlhbDxGb3JtRmllbGREZWZpbml0aW9uPFRFbnRpdHk+Pikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgaW5pdCk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -52,11 +52,11 @@ export class VdListComponent extends AbstractSelectFormField {
52
52
  this.selectEl?.focus();
53
53
  }
54
54
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: VdListComponent, deps: [{ token: i0.Injector }, { token: i1.NgControl, optional: true, self: true }, { token: i1.NgForm, optional: true }, { token: i1.FormGroupDirective, optional: true }, { token: i2.ErrorStateMatcher }, { token: i3.FocusMonitor }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
55
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: VdListComponent, selector: "vd-list", host: { classAttribute: "vd-list" }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdListOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelectionList, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\r\n <!-- #region Options -->\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-list-option>\r\n </ng-template>\r\n <!-- #endregion -->\r\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }] });
55
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: VdListComponent, selector: "vd-list", host: { classAttribute: "vd-list" }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: VdListOptionDirective, descendants: true }], viewQueries: [{ propertyName: "selectEl", first: true, predicate: MatSelectionList, descendants: true }, { propertyName: "filterInput", first: true, predicate: ["filterInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\r\n <!-- #region Options -->\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-list-option>\r\n </ng-template>\r\n <!-- #endregion -->\r\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i5.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }] });
56
56
  }
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: VdListComponent, decorators: [{
58
58
  type: Component,
59
- args: [{ selector: 'vd-list', host: { 'class': 'vd-list' }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\r\n <!-- #region Options -->\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-list-option>\r\n </ng-template>\r\n <!-- #endregion -->\r\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"] }]
59
+ args: [{ selector: 'vd-list', host: { 'class': 'vd-list' }, providers: [{ provide: MatFormFieldControl, useExisting: VdListComponent }], template: "<mat-selection-list i18n-placeholder [(ngModel)]=\"value\" #select=\"matSelectionList\" (selectionChange)=\"handleChange($event)\" [multiple]=\"multiple\" [compareWith]=\"compareWith??defaultCompareWith\" [disabled]=\"disabled || readonly\" [hideSingleSelectionIndicator]=\"false\" flex>\r\n <!-- #region Options -->\r\n <ng-template let-option let-first=\"first\" ngFor [ngForOf]=\"filteredOptions\">\r\n <mat-list-option [value]=\"mapper ? option : option[optionValueProperty]\">\r\n <span *ngIf=\"!optionTemplate?.templateRef\" i18n=\"@@selection\">{option[optionTextProperty], select, option {option} other {{{option[optionTextProperty]}}}}</span>\r\n <ng-template *ngIf=\"optionTemplate?.templateRef\" [ngTemplateOutlet]=\"optionTemplate?.templateRef!\" [ngTemplateOutletContext]=\"{ option: option }\"></ng-template>\r\n </mat-list-option>\r\n </ng-template>\r\n <!-- #endregion -->\r\n</mat-selection-list>", styles: ["::ng-deep .vd-list{overflow:auto;max-height:100%}::ng-deep .mat-mdc-form-field-type-vd-list .mat-mdc-form-field-infix{padding-top:0!important;padding-bottom:0!important}::ng-deep .mat-mdc-form-field-type-vd-list .mdc-text-field{padding:0}\n"] }]
60
60
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.NgControl, decorators: [{
61
61
  type: Optional
62
62
  }, {
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
75
75
  type: ViewChild,
76
76
  args: ['filterInput', { static: false }]
77
77
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9saXN0L2NvbXBvbmVudHMvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9saXN0L2NvbXBvbmVudHMvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7O0FBUy9FLE1BQU0sT0FBTyxlQUFnQixTQUFRLHVCQUE0QjtJQXFDckQ7SUFuQ1g7O09BRUc7SUFFSSxjQUFjLENBQXlCO0lBRTlDOztPQUVHO0lBRUksUUFBUSxDQUFvQjtJQUVuQzs7T0FFRztJQUVJLFdBQVcsQ0FBYztJQUVoQzs7T0FFRztJQUNILElBQVcsS0FBSyxLQUFjLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqSTs7Ozs7Ozs7OztPQVVHO0lBQ0gsWUFDVyxRQUFrQixFQUNSLFNBQW9CLEVBQzVCLFVBQWtCLEVBQ2xCLGVBQW1DLEVBQy9DLHdCQUEyQyxFQUMzQyxZQUEwQixFQUMxQixVQUFzQixFQUN0QixpQkFBb0M7UUFFcEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBVGhJLGFBQVEsR0FBUixRQUFRLENBQVU7SUFVN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQzswSEF0RFcsZUFBZTs4R0FBZixlQUFlLHVFQUZoQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQyxzRUFPN0QscUJBQXFCLDBGQU14QixnQkFBZ0Isb0tDM0I1QiwrNkJBU3FCOzsyRkRPUixlQUFlO2tCQVAzQixTQUFTOytCQUNDLFNBQVMsUUFHYixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFDakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLGlCQUFpQixFQUFFLENBQUM7OzBCQXdDekUsUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUNSLFFBQVE7NkpBbENILGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMscUJBQXFCO2dCQU81QixRQUFRO3NCQURkLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU92QyxXQUFXO3NCQURqQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIE9wdGlvbmFsLCBTZWxmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IEFic3RyYWN0U2VsZWN0Rm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vZm9ybXMvaGVscGVycy9hYnN0cmFjdC1zZWxlY3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWZExpc3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3ZkLWxpc3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3ZkLWxpc3QnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0aG9zdDogeyAnY2xhc3MnOiAndmQtbGlzdCcgfSxcclxuXHRwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBWZExpc3RDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZkTGlzdENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2VsZWN0Rm9ybUZpZWxkPGFueT4ge1xyXG5cclxuXHQvKipcclxuXHQgKiBPcHRpb24gdGVtcGxhdGVcclxuXHQgKi9cclxuXHRAQ29udGVudENoaWxkKFZkTGlzdE9wdGlvbkRpcmVjdGl2ZSlcclxuXHRwdWJsaWMgb3B0aW9uVGVtcGxhdGU/OiBWZExpc3RPcHRpb25EaXJlY3RpdmU7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBUaGUgc2VsZWN0IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZChNYXRTZWxlY3Rpb25MaXN0LCB7IHN0YXRpYzogZmFsc2UgfSlcclxuXHRwdWJsaWMgc2VsZWN0RWw/OiBNYXRTZWxlY3Rpb25MaXN0O1xyXG5cclxuXHQvKiogXHJcblx0ICogVGhlIHNlbGVjdCBlbGVtZW50LlxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoJ2ZpbHRlcklucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcblx0cHVibGljIGZpbHRlcklucHV0PzogRWxlbWVudFJlZjtcclxuXHJcblx0LyoqIFxyXG5cdCAqIFdoZXRoZXIgdGhlIHNlbGVjdCBoYXMgYSB2YWx1ZS5cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVhZG9ubHkgPyAhdGhpcy5jdXJyZW50VmFsdWUgOiAodGhpcy5zZWxlY3RFbD8uc2VsZWN0ZWRPcHRpb25zPy5pc0VtcHR5KCkgPz8gdHJ1ZSk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gaW5qZWN0b3IgXHJcblx0ICogQHBhcmFtIG5nQ29udHJvbCBcclxuXHQgKiBAcGFyYW0gcGFyZW50Rm9ybSBcclxuXHQgKiBAcGFyYW0gcGFyZW50Rm9ybUdyb3VwIFxyXG5cdCAqIEBwYXJhbSBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIgXHJcblx0ICogQHBhcmFtIGZvY3VzTW9uaXRvciBcclxuXHQgKiBAcGFyYW0gZWxlbWVudFJlZiBcclxuXHQgKiBAcGFyYW0gY2hhbmdlRGV0ZWN0b3JSZWYgXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG5cdFx0QE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuXHRcdEBPcHRpb25hbCgpIHBhcmVudEZvcm06IE5nRm9ybSxcclxuXHRcdEBPcHRpb25hbCgpIHBhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG5cdFx0ZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcclxuXHRcdGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxyXG5cdFx0ZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuXHRcdGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0c3VwZXIoXCJ2ZC1saXN0XCIsIGluamVjdG9yLCBuZ0NvbnRyb2wsIHBhcmVudEZvcm0sIHBhcmVudEZvcm1Hcm91cCwgZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLCBmb2N1c01vbml0b3IsIGVsZW1lbnRSZWYsIGNoYW5nZURldGVjdG9yUmVmKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgY29udHJvbCBmb2N1c1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VsZWN0RWw/LmZvY3VzKCk7XHJcblx0fVxyXG59IiwiPG1hdC1zZWxlY3Rpb24tbGlzdCBpMThuLXBsYWNlaG9sZGVyIFsobmdNb2RlbCldPVwidmFsdWVcIiAjc2VsZWN0PVwibWF0U2VsZWN0aW9uTGlzdFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVdpdGhcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbaGlkZVNpbmdsZVNlbGVjdGlvbkluZGljYXRvcl09XCJmYWxzZVwiIGZsZXg+XHJcbiAgICA8IS0tICNyZWdpb24gT3B0aW9ucyAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZSBsZXQtb3B0aW9uIGxldC1maXJzdD1cImZpcnN0XCIgbmdGb3IgW25nRm9yT2ZdPVwiZmlsdGVyZWRPcHRpb25zXCI+XHJcbiAgICAgICAgPG1hdC1saXN0LW9wdGlvbiBbdmFsdWVdPVwibWFwcGVyID8gb3B0aW9uIDogb3B0aW9uW29wdGlvblZhbHVlUHJvcGVydHldXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW9wdGlvblRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIGkxOG49XCJAQHNlbGVjdGlvblwiPntvcHRpb25bb3B0aW9uVGV4dFByb3BlcnR5XSwgc2VsZWN0LCBvcHRpb24ge29wdGlvbn0gb3RoZXIge3t7b3B0aW9uW29wdGlvblRleHRQcm9wZXJ0eV19fX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZT8udGVtcGxhdGVSZWYhXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgb3B0aW9uOiBvcHRpb24gfVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1vcHRpb24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPCEtLSAjZW5kcmVnaW9uIC0tPlxyXG48L21hdC1zZWxlY3Rpb24tbGlzdD4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9saXN0L2NvbXBvbmVudHMvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9saXN0L2NvbXBvbmVudHMvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7O0FBUy9FLE1BQU0sT0FBTyxlQUFnQixTQUFRLHVCQUE0QjtJQXFDckQ7SUFuQ1g7O09BRUc7SUFFSSxjQUFjLENBQXlCO0lBRTlDOztPQUVHO0lBRUksUUFBUSxDQUFvQjtJQUVuQzs7T0FFRztJQUVJLFdBQVcsQ0FBYztJQUVoQzs7T0FFRztJQUNILElBQVcsS0FBSyxLQUFjLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVqSTs7Ozs7Ozs7OztPQVVHO0lBQ0gsWUFDVyxRQUFrQixFQUNSLFNBQW9CLEVBQzVCLFVBQWtCLEVBQ2xCLGVBQW1DLEVBQy9DLHdCQUEyQyxFQUMzQyxZQUEwQixFQUMxQixVQUFzQixFQUN0QixpQkFBb0M7UUFFcEMsS0FBSyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBVGhJLGFBQVEsR0FBUixRQUFRLENBQVU7SUFVN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQzswSEF0RFcsZUFBZTs4R0FBZixlQUFlLHVFQUZoQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQyxzRUFPN0QscUJBQXFCLDBGQU14QixnQkFBZ0Isb0tDM0I1QixtOEJBU3FCOzsyRkRPUixlQUFlO2tCQVAzQixTQUFTOytCQUNDLFNBQVMsUUFHYixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFDakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLGlCQUFpQixFQUFFLENBQUM7OzBCQXdDekUsUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUNSLFFBQVE7NkpBbENILGNBQWM7c0JBRHBCLFlBQVk7dUJBQUMscUJBQXFCO2dCQU81QixRQUFRO3NCQURkLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQU92QyxXQUFXO3NCQURqQixTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIE9wdGlvbmFsLCBTZWxmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwRGlyZWN0aXZlLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3Rpb25MaXN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IEFic3RyYWN0U2VsZWN0Rm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vZm9ybXMvaGVscGVycy9hYnN0cmFjdC1zZWxlY3QtZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBWZExpc3RPcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3ZkLWxpc3Qtb3B0aW9uLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3ZkLWxpc3QnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0aG9zdDogeyAnY2xhc3MnOiAndmQtbGlzdCcgfSxcclxuXHRwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBWZExpc3RDb21wb25lbnQgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZkTGlzdENvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0U2VsZWN0Rm9ybUZpZWxkPGFueT4ge1xyXG5cclxuXHQvKipcclxuXHQgKiBPcHRpb24gdGVtcGxhdGVcclxuXHQgKi9cclxuXHRAQ29udGVudENoaWxkKFZkTGlzdE9wdGlvbkRpcmVjdGl2ZSlcclxuXHRwdWJsaWMgb3B0aW9uVGVtcGxhdGU/OiBWZExpc3RPcHRpb25EaXJlY3RpdmU7XHJcblxyXG5cdC8qKiBcclxuXHQgKiBUaGUgc2VsZWN0IGVsZW1lbnQuXHJcblx0ICovXHJcblx0QFZpZXdDaGlsZChNYXRTZWxlY3Rpb25MaXN0LCB7IHN0YXRpYzogZmFsc2UgfSlcclxuXHRwdWJsaWMgc2VsZWN0RWw/OiBNYXRTZWxlY3Rpb25MaXN0O1xyXG5cclxuXHQvKiogXHJcblx0ICogVGhlIHNlbGVjdCBlbGVtZW50LlxyXG5cdCAqL1xyXG5cdEBWaWV3Q2hpbGQoJ2ZpbHRlcklucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcblx0cHVibGljIGZpbHRlcklucHV0PzogRWxlbWVudFJlZjtcclxuXHJcblx0LyoqIFxyXG5cdCAqIFdoZXRoZXIgdGhlIHNlbGVjdCBoYXMgYSB2YWx1ZS5cclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVhZG9ubHkgPyAhdGhpcy5jdXJyZW50VmFsdWUgOiAodGhpcy5zZWxlY3RFbD8uc2VsZWN0ZWRPcHRpb25zPy5pc0VtcHR5KCkgPz8gdHJ1ZSk7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ29uc3RydWN0b3JcclxuXHQgKiBAcGFyYW0gaW5qZWN0b3IgXHJcblx0ICogQHBhcmFtIG5nQ29udHJvbCBcclxuXHQgKiBAcGFyYW0gcGFyZW50Rm9ybSBcclxuXHQgKiBAcGFyYW0gcGFyZW50Rm9ybUdyb3VwIFxyXG5cdCAqIEBwYXJhbSBkZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIgXHJcblx0ICogQHBhcmFtIGZvY3VzTW9uaXRvciBcclxuXHQgKiBAcGFyYW0gZWxlbWVudFJlZiBcclxuXHQgKiBAcGFyYW0gY2hhbmdlRGV0ZWN0b3JSZWYgXHJcblx0ICovXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG5cdFx0QE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuXHRcdEBPcHRpb25hbCgpIHBhcmVudEZvcm06IE5nRm9ybSxcclxuXHRcdEBPcHRpb25hbCgpIHBhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxyXG5cdFx0ZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcclxuXHRcdGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxyXG5cdFx0ZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuXHRcdGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0c3VwZXIoXCJ2ZC1saXN0XCIsIGluamVjdG9yLCBuZ0NvbnRyb2wsIHBhcmVudEZvcm0sIHBhcmVudEZvcm1Hcm91cCwgZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyLCBmb2N1c01vbml0b3IsIGVsZW1lbnRSZWYsIGNoYW5nZURldGVjdG9yUmVmKTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIFNldHMgY29udHJvbCBmb2N1c1xyXG5cdCAqL1xyXG5cdHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2VsZWN0RWw/LmZvY3VzKCk7XHJcblx0fVxyXG59IiwiPG1hdC1zZWxlY3Rpb24tbGlzdCBpMThuLXBsYWNlaG9sZGVyIFsobmdNb2RlbCldPVwidmFsdWVcIiAjc2VsZWN0PVwibWF0U2VsZWN0aW9uTGlzdFwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVdpdGg/P2RlZmF1bHRDb21wYXJlV2l0aFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFtoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yXT1cImZhbHNlXCIgZmxleD5cclxuICAgIDwhLS0gI3JlZ2lvbiBPcHRpb25zIC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlIGxldC1vcHRpb24gbGV0LWZpcnN0PVwiZmlyc3RcIiBuZ0ZvciBbbmdGb3JPZl09XCJmaWx0ZXJlZE9wdGlvbnNcIj5cclxuICAgICAgICA8bWF0LWxpc3Qtb3B0aW9uIFt2YWx1ZV09XCJtYXBwZXIgPyBvcHRpb24gOiBvcHRpb25bb3B0aW9uVmFsdWVQcm9wZXJ0eV1cIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhb3B0aW9uVGVtcGxhdGU/LnRlbXBsYXRlUmVmXCIgaTE4bj1cIkBAc2VsZWN0aW9uXCI+e29wdGlvbltvcHRpb25UZXh0UHJvcGVydHldLCBzZWxlY3QsIG9wdGlvbiB7b3B0aW9ufSBvdGhlciB7e3tvcHRpb25bb3B0aW9uVGV4dFByb3BlcnR5XX19fX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvblRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvblRlbXBsYXRlPy50ZW1wbGF0ZVJlZiFcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBvcHRpb246IG9wdGlvbiB9XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L21hdC1saXN0LW9wdGlvbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8IS0tICNlbmRyZWdpb24gLS0+XHJcbjwvbWF0LXNlbGVjdGlvbi1saXN0PiJdfQ==