devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
140 lines • 16.4 kB
JavaScript
/*!
* devextreme-angular
* Version: 22.1.14
* Build date: Mon Apr 29 2024
*
* Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file in the root of the project for details.
*
* https://github.com/DevExpress/devextreme-angular
*/
/* tslint:disable:max-line-length */
/* tslint:disable:use-input-property-decorator */
import { Component, NgModule, Host, SkipSelf, Output } from '@angular/core';
import { NestedOptionHost, } from 'devextreme-angular/core';
import { DxoFileUploaderOptions } from './base/file-uploader-options';
import * as i0 from "@angular/core";
import * as i1 from "devextreme-angular/core";
export class DxoFileUploaderOptionsComponent extends DxoFileUploaderOptions {
constructor(parentOptionHost, optionHost) {
super();
this._createEventEmitters([
{ emit: 'valueChange' }
]);
parentOptionHost.setNestedOption(this);
optionHost.setHost(this, this._fullOptionPath.bind(this));
}
get _optionPath() {
return 'fileUploaderOptions';
}
ngOnInit() {
this._addRecreatedComponent();
}
ngOnDestroy() {
this._addRemovedOption(this._getOptionPath());
}
}
/** @nocollapse */ DxoFileUploaderOptionsComponent.ɵfac = function DxoFileUploaderOptionsComponent_Factory(t) { return new (t || DxoFileUploaderOptionsComponent)(i0.ɵɵdirectiveInject(i1.NestedOptionHost, 5), i0.ɵɵdirectiveInject(i1.NestedOptionHost, 1)); };
/** @nocollapse */ DxoFileUploaderOptionsComponent.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DxoFileUploaderOptionsComponent, selectors: [["dxo-file-uploader-options"]], inputs: { abortUpload: "abortUpload", accept: "accept", accessKey: "accessKey", activeStateEnabled: "activeStateEnabled", allowCanceling: "allowCanceling", allowedFileExtensions: "allowedFileExtensions", chunkSize: "chunkSize", dialogTrigger: "dialogTrigger", disabled: "disabled", dropZone: "dropZone", elementAttr: "elementAttr", focusStateEnabled: "focusStateEnabled", height: "height", hint: "hint", hoverStateEnabled: "hoverStateEnabled", inputAttr: "inputAttr", invalidFileExtensionMessage: "invalidFileExtensionMessage", invalidMaxFileSizeMessage: "invalidMaxFileSizeMessage", invalidMinFileSizeMessage: "invalidMinFileSizeMessage", isValid: "isValid", labelText: "labelText", maxFileSize: "maxFileSize", minFileSize: "minFileSize", multiple: "multiple", name: "name", onBeforeSend: "onBeforeSend", onContentReady: "onContentReady", onDisposing: "onDisposing", onDropZoneEnter: "onDropZoneEnter", onDropZoneLeave: "onDropZoneLeave", onFilesUploaded: "onFilesUploaded", onInitialized: "onInitialized", onOptionChanged: "onOptionChanged", onProgress: "onProgress", onUploadAborted: "onUploadAborted", onUploaded: "onUploaded", onUploadError: "onUploadError", onUploadStarted: "onUploadStarted", onValueChanged: "onValueChanged", progress: "progress", readOnly: "readOnly", readyToUploadMessage: "readyToUploadMessage", rtlEnabled: "rtlEnabled", selectButtonText: "selectButtonText", showFileList: "showFileList", tabIndex: "tabIndex", uploadAbortedMessage: "uploadAbortedMessage", uploadButtonText: "uploadButtonText", uploadChunk: "uploadChunk", uploadCustomData: "uploadCustomData", uploadedMessage: "uploadedMessage", uploadFailedMessage: "uploadFailedMessage", uploadFile: "uploadFile", uploadHeaders: "uploadHeaders", uploadMethod: "uploadMethod", uploadMode: "uploadMode", uploadUrl: "uploadUrl", validationError: "validationError", validationErrors: "validationErrors", validationStatus: "validationStatus", value: "value", visible: "visible", width: "width" }, outputs: { valueChange: "valueChange" }, features: [i0.ɵɵProvidersFeature([NestedOptionHost]), i0.ɵɵInheritDefinitionFeature], decls: 0, vars: 0, template: function DxoFileUploaderOptionsComponent_Template(rf, ctx) { }, styles: [""] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DxoFileUploaderOptionsComponent, [{
type: Component,
args: [{
selector: 'dxo-file-uploader-options',
template: '',
styles: [''],
providers: [NestedOptionHost],
inputs: [
'abortUpload',
'accept',
'accessKey',
'activeStateEnabled',
'allowCanceling',
'allowedFileExtensions',
'chunkSize',
'dialogTrigger',
'disabled',
'dropZone',
'elementAttr',
'focusStateEnabled',
'height',
'hint',
'hoverStateEnabled',
'inputAttr',
'invalidFileExtensionMessage',
'invalidMaxFileSizeMessage',
'invalidMinFileSizeMessage',
'isValid',
'labelText',
'maxFileSize',
'minFileSize',
'multiple',
'name',
'onBeforeSend',
'onContentReady',
'onDisposing',
'onDropZoneEnter',
'onDropZoneLeave',
'onFilesUploaded',
'onInitialized',
'onOptionChanged',
'onProgress',
'onUploadAborted',
'onUploaded',
'onUploadError',
'onUploadStarted',
'onValueChanged',
'progress',
'readOnly',
'readyToUploadMessage',
'rtlEnabled',
'selectButtonText',
'showFileList',
'tabIndex',
'uploadAbortedMessage',
'uploadButtonText',
'uploadChunk',
'uploadCustomData',
'uploadedMessage',
'uploadFailedMessage',
'uploadFile',
'uploadHeaders',
'uploadMethod',
'uploadMode',
'uploadUrl',
'validationError',
'validationErrors',
'validationStatus',
'value',
'visible',
'width'
]
}]
}], function () { return [{ type: i1.NestedOptionHost, decorators: [{
type: SkipSelf
}, {
type: Host
}] }, { type: i1.NestedOptionHost, decorators: [{
type: Host
}] }]; }, { valueChange: [{
type: Output
}] }); })();
export class DxoFileUploaderOptionsModule {
}
/** @nocollapse */ DxoFileUploaderOptionsModule.ɵfac = function DxoFileUploaderOptionsModule_Factory(t) { return new (t || DxoFileUploaderOptionsModule)(); };
/** @nocollapse */ DxoFileUploaderOptionsModule.ɵmod = /** @pureOrBreakMyCode */ i0.ɵɵdefineNgModule({ type: DxoFileUploaderOptionsModule });
/** @nocollapse */ DxoFileUploaderOptionsModule.ɵinj = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjector({});
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DxoFileUploaderOptionsModule, [{
type: NgModule,
args: [{
declarations: [
DxoFileUploaderOptionsComponent
],
exports: [
DxoFileUploaderOptionsComponent
],
}]
}], null, null); })();
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(DxoFileUploaderOptionsModule, { declarations: [DxoFileUploaderOptionsComponent], exports: [DxoFileUploaderOptionsComponent] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWRlci1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGlzdC91aS9uZXN0ZWQvZmlsZS11cGxvYWRlci1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsb0NBQW9DO0FBRXBDLGlEQUFpRDtBQUVqRCxPQUFPLEVBQ0gsU0FBUyxFQUdULFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFFVCxNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQ0gsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7OztBQTBFdEUsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLHNCQUFzQjtJQWF2RSxZQUFnQyxnQkFBa0MsRUFDbEQsVUFBNEI7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdEIsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1NBQzFCLENBQUMsQ0FBQztRQUVILGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFmRCxJQUFjLFdBQVc7UUFDckIsT0FBTyxxQkFBcUIsQ0FBQztJQUNqQyxDQUFDO0lBZ0JELFFBQVE7UUFDSixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDOztpSUFoQ1EsK0JBQStCO2lIQUEvQiwrQkFBK0IsOGlFQW5FN0IsQ0FBQyxnQkFBZ0IsQ0FBQzt1RkFtRXBCLCtCQUErQjtjQXZFM0MsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFFBQVEsRUFBRSxFQUFFO2dCQUNaLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDN0IsTUFBTSxFQUFFO29CQUNKLGFBQWE7b0JBQ2IsUUFBUTtvQkFDUixXQUFXO29CQUNYLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQix1QkFBdUI7b0JBQ3ZCLFdBQVc7b0JBQ1gsZUFBZTtvQkFDZixVQUFVO29CQUNWLFVBQVU7b0JBQ1YsYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLFFBQVE7b0JBQ1IsTUFBTTtvQkFDTixtQkFBbUI7b0JBQ25CLFdBQVc7b0JBQ1gsNkJBQTZCO29CQUM3QiwyQkFBMkI7b0JBQzNCLDJCQUEyQjtvQkFDM0IsU0FBUztvQkFDVCxXQUFXO29CQUNYLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixVQUFVO29CQUNWLE1BQU07b0JBQ04sY0FBYztvQkFDZCxnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQixZQUFZO29CQUNaLGVBQWU7b0JBQ2YsaUJBQWlCO29CQUNqQixnQkFBZ0I7b0JBQ2hCLFVBQVU7b0JBQ1YsVUFBVTtvQkFDVixzQkFBc0I7b0JBQ3RCLFlBQVk7b0JBQ1osa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLFVBQVU7b0JBQ1Ysc0JBQXNCO29CQUN0QixrQkFBa0I7b0JBQ2xCLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixpQkFBaUI7b0JBQ2pCLHFCQUFxQjtvQkFDckIsWUFBWTtvQkFDWixlQUFlO29CQUNmLGNBQWM7b0JBQ2QsWUFBWTtvQkFDWixXQUFXO29CQUNYLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLE9BQU87b0JBQ1AsU0FBUztvQkFDVCxPQUFPO2lCQUNWO2FBQ0o7O3NCQWNnQixRQUFROztzQkFBSSxJQUFJOztzQkFDcEIsSUFBSTt3QkFQSCxXQUFXO2tCQUFwQixNQUFNOztBQXNDWCxNQUFNLE9BQU8sNEJBQTRCOzsySEFBNUIsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7O3VGQUE1Qiw0QkFBNEI7Y0FSeEMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRTtvQkFDWiwrQkFBK0I7aUJBQ2hDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwrQkFBK0I7aUJBQ2hDO2FBQ0Y7O3dGQUNZLDRCQUE0QixtQkE3QzVCLCtCQUErQixhQUEvQiwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIGRldmV4dHJlbWUtYW5ndWxhclxuICogVmVyc2lvbjogMjIuMS4xNFxuICogQnVpbGQgZGF0ZTogTW9uIEFwciAyOSAyMDI0XG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAyNCBEZXZlbG9wZXIgRXhwcmVzcyBJbmMuIEFMTCBSSUdIVFMgUkVTRVJWRURcbiAqXG4gKiBUaGlzIHNvZnR3YXJlIG1heSBiZSBtb2RpZmllZCBhbmQgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zXG4gKiBvZiB0aGUgTUlUIGxpY2Vuc2UuIFNlZSB0aGUgTElDRU5TRSBmaWxlIGluIHRoZSByb290IG9mIHRoZSBwcm9qZWN0IGZvciBkZXRhaWxzLlxuICpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9EZXZFeHByZXNzL2RldmV4dHJlbWUtYW5ndWxhclxuICovXG5cbi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xyXG5cclxuLyogdHNsaW50OmRpc2FibGU6dXNlLWlucHV0LXByb3BlcnR5LWRlY29yYXRvciAqL1xyXG5cclxuaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIE9uSW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE5nTW9kdWxlLFxyXG4gICAgSG9zdCxcclxuICAgIFNraXBTZWxmLFxyXG4gICAgT3V0cHV0LFxyXG4gICAgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5cclxuXHJcblxyXG5cclxuaW1wb3J0IHtcclxuICAgIE5lc3RlZE9wdGlvbkhvc3QsXHJcbn0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeG9GaWxlVXBsb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9iYXNlL2ZpbGUtdXBsb2FkZXItb3B0aW9ucyc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2R4by1maWxlLXVwbG9hZGVyLW9wdGlvbnMnLFxyXG4gICAgdGVtcGxhdGU6ICcnLFxyXG4gICAgc3R5bGVzOiBbJyddLFxyXG4gICAgcHJvdmlkZXJzOiBbTmVzdGVkT3B0aW9uSG9zdF0sXHJcbiAgICBpbnB1dHM6IFtcclxuICAgICAgICAnYWJvcnRVcGxvYWQnLFxyXG4gICAgICAgICdhY2NlcHQnLFxyXG4gICAgICAgICdhY2Nlc3NLZXknLFxyXG4gICAgICAgICdhY3RpdmVTdGF0ZUVuYWJsZWQnLFxyXG4gICAgICAgICdhbGxvd0NhbmNlbGluZycsXHJcbiAgICAgICAgJ2FsbG93ZWRGaWxlRXh0ZW5zaW9ucycsXHJcbiAgICAgICAgJ2NodW5rU2l6ZScsXHJcbiAgICAgICAgJ2RpYWxvZ1RyaWdnZXInLFxyXG4gICAgICAgICdkaXNhYmxlZCcsXHJcbiAgICAgICAgJ2Ryb3Bab25lJyxcclxuICAgICAgICAnZWxlbWVudEF0dHInLFxyXG4gICAgICAgICdmb2N1c1N0YXRlRW5hYmxlZCcsXHJcbiAgICAgICAgJ2hlaWdodCcsXHJcbiAgICAgICAgJ2hpbnQnLFxyXG4gICAgICAgICdob3ZlclN0YXRlRW5hYmxlZCcsXHJcbiAgICAgICAgJ2lucHV0QXR0cicsXHJcbiAgICAgICAgJ2ludmFsaWRGaWxlRXh0ZW5zaW9uTWVzc2FnZScsXHJcbiAgICAgICAgJ2ludmFsaWRNYXhGaWxlU2l6ZU1lc3NhZ2UnLFxyXG4gICAgICAgICdpbnZhbGlkTWluRmlsZVNpemVNZXNzYWdlJyxcclxuICAgICAgICAnaXNWYWxpZCcsXHJcbiAgICAgICAgJ2xhYmVsVGV4dCcsXHJcbiAgICAgICAgJ21heEZpbGVTaXplJyxcclxuICAgICAgICAnbWluRmlsZVNpemUnLFxyXG4gICAgICAgICdtdWx0aXBsZScsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICAgICdvbkJlZm9yZVNlbmQnLFxyXG4gICAgICAgICdvbkNvbnRlbnRSZWFkeScsXHJcbiAgICAgICAgJ29uRGlzcG9zaW5nJyxcclxuICAgICAgICAnb25Ecm9wWm9uZUVudGVyJyxcclxuICAgICAgICAnb25Ecm9wWm9uZUxlYXZlJyxcclxuICAgICAgICAnb25GaWxlc1VwbG9hZGVkJyxcclxuICAgICAgICAnb25Jbml0aWFsaXplZCcsXHJcbiAgICAgICAgJ29uT3B0aW9uQ2hhbmdlZCcsXHJcbiAgICAgICAgJ29uUHJvZ3Jlc3MnLFxyXG4gICAgICAgICdvblVwbG9hZEFib3J0ZWQnLFxyXG4gICAgICAgICdvblVwbG9hZGVkJyxcclxuICAgICAgICAnb25VcGxvYWRFcnJvcicsXHJcbiAgICAgICAgJ29uVXBsb2FkU3RhcnRlZCcsXHJcbiAgICAgICAgJ29uVmFsdWVDaGFuZ2VkJyxcclxuICAgICAgICAncHJvZ3Jlc3MnLFxyXG4gICAgICAgICdyZWFkT25seScsXHJcbiAgICAgICAgJ3JlYWR5VG9VcGxvYWRNZXNzYWdlJyxcclxuICAgICAgICAncnRsRW5hYmxlZCcsXHJcbiAgICAgICAgJ3NlbGVjdEJ1dHRvblRleHQnLFxyXG4gICAgICAgICdzaG93RmlsZUxpc3QnLFxyXG4gICAgICAgICd0YWJJbmRleCcsXHJcbiAgICAgICAgJ3VwbG9hZEFib3J0ZWRNZXNzYWdlJyxcclxuICAgICAgICAndXBsb2FkQnV0dG9uVGV4dCcsXHJcbiAgICAgICAgJ3VwbG9hZENodW5rJyxcclxuICAgICAgICAndXBsb2FkQ3VzdG9tRGF0YScsXHJcbiAgICAgICAgJ3VwbG9hZGVkTWVzc2FnZScsXHJcbiAgICAgICAgJ3VwbG9hZEZhaWxlZE1lc3NhZ2UnLFxyXG4gICAgICAgICd1cGxvYWRGaWxlJyxcclxuICAgICAgICAndXBsb2FkSGVhZGVycycsXHJcbiAgICAgICAgJ3VwbG9hZE1ldGhvZCcsXHJcbiAgICAgICAgJ3VwbG9hZE1vZGUnLFxyXG4gICAgICAgICd1cGxvYWRVcmwnLFxyXG4gICAgICAgICd2YWxpZGF0aW9uRXJyb3InLFxyXG4gICAgICAgICd2YWxpZGF0aW9uRXJyb3JzJyxcclxuICAgICAgICAndmFsaWRhdGlvblN0YXR1cycsXHJcbiAgICAgICAgJ3ZhbHVlJyxcclxuICAgICAgICAndmlzaWJsZScsXHJcbiAgICAgICAgJ3dpZHRoJ1xyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhvRmlsZVVwbG9hZGVyT3B0aW9uc0NvbXBvbmVudCBleHRlbmRzIER4b0ZpbGVVcGxvYWRlck9wdGlvbnMgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCAge1xyXG5cclxuICAgIC8qKlxyXG4gICAgXHJcbiAgICAgKiBUaGlzIG1lbWJlciBzdXBwb3J0cyB0aGUgaW50ZXJuYWwgaW5mcmFzdHJ1Y3R1cmUgYW5kIGlzIG5vdCBpbnRlbmRlZCB0byBiZSB1c2VkIGRpcmVjdGx5IGZyb20geW91ciBjb2RlLlxyXG4gICAgXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPEFycmF5PGFueT4+O1xyXG4gICAgcHJvdGVjdGVkIGdldCBfb3B0aW9uUGF0aCgpIHtcclxuICAgICAgICByZXR1cm4gJ2ZpbGVVcGxvYWRlck9wdGlvbnMnO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihAU2tpcFNlbGYoKSBASG9zdCgpIHBhcmVudE9wdGlvbkhvc3Q6IE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICAgICAgICAgIEBIb3N0KCkgb3B0aW9uSG9zdDogTmVzdGVkT3B0aW9uSG9zdCkge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcblxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUV2ZW50RW1pdHRlcnMoW1xyXG4gICAgICAgICAgICB7IGVtaXQ6ICd2YWx1ZUNoYW5nZScgfVxyXG4gICAgICAgIF0pO1xyXG5cclxuICAgICAgICBwYXJlbnRPcHRpb25Ib3N0LnNldE5lc3RlZE9wdGlvbih0aGlzKTtcclxuICAgICAgICBvcHRpb25Ib3N0LnNldEhvc3QodGhpcywgdGhpcy5fZnVsbE9wdGlvblBhdGguYmluZCh0aGlzKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX2FkZFJlY3JlYXRlZENvbXBvbmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuX2FkZFJlbW92ZWRPcHRpb24odGhpcy5fZ2V0T3B0aW9uUGF0aCgpKTtcclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRHhvRmlsZVVwbG9hZGVyT3B0aW9uc0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRHhvRmlsZVVwbG9hZGVyT3B0aW9uc0NvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeG9GaWxlVXBsb2FkZXJPcHRpb25zTW9kdWxlIHsgfVxyXG4iXX0=