UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

140 lines 16.4 kB
/*! * 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=