UNPKG

devextreme-angular

Version:

Angular UI and visualization components based on DevExtreme widgets

208 lines 24.1 kB
/*! * devextreme-angular * Version: 25.2.3 * Build date: Fri Dec 12 2025 * * Copyright (c) 2012 - 2025 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, ElementRef, Renderer2, Inject, SkipSelf, ContentChildren, QueryList } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { DxIntegrationModule, NestedOptionHost, extractTemplate, DxTemplateHost, } from 'devextreme-angular/core'; import { DxiButtonGroupItem } from './base/button-group-item-dxi'; import { PROPERTY_TOKEN_items, PROPERTY_TOKEN_validationRules, PROPERTY_TOKEN_tabs, PROPERTY_TOKEN_commands, PROPERTY_TOKEN_location, } from 'devextreme-angular/core/tokens'; import * as i0 from "@angular/core"; import * as i1 from "devextreme-angular/core"; export class DxiItemComponent extends DxiButtonGroupItem { renderer; document; element; set _itemsContentChildren(value) { this.setChildren('items', value); } set _validationRulesContentChildren(value) { this.setChildren('validationRules', value); } set _tabsContentChildren(value) { this.setChildren('tabs', value); } set _commandsContentChildren(value) { this.setChildren('commands', value); } set _locationContentChildren(value) { this.setChildren('location', value); } get _optionPath() { return 'items'; } constructor(parentOptionHost, optionHost, renderer, document, templateHost, element) { super(); this.renderer = renderer; this.document = document; this.element = element; parentOptionHost.setNestedOption(this); optionHost.setHost(this, this._fullOptionPath.bind(this)); templateHost.setHost(this); } setTemplate(template) { this.template = template; } ngAfterViewInit() { extractTemplate(this, this.element, this.renderer, this.document); } ngOnDestroy() { this._deleteRemovedOptions(this._fullOptionPath()); } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxiItemComponent, deps: [{ token: i1.NestedOptionHost, host: true, skipSelf: true }, { token: i1.NestedOptionHost, host: true }, { token: i0.Renderer2 }, { token: DOCUMENT }, { token: i1.DxTemplateHost, host: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DxiItemComponent, isStandalone: true, selector: "dxi-item", inputs: { disabled: "disabled", html: "html", icon: "icon", template: "template", text: "text", title: "title", titleTemplate: "titleTemplate", visible: "visible", onClick: "onClick", stylingMode: "stylingMode", type: "type", baseSize: "baseSize", box: "box", ratio: "ratio", shrink: "shrink", elementAttr: "elementAttr", hint: "hint", alt: "alt", author: "author", id: "id", isDeleted: "isDeleted", isEdited: "isEdited", src: "src", timestamp: "timestamp", beginGroup: "beginGroup", closeMenuOnClick: "closeMenuOnClick", items: "items", selectable: "selectable", selected: "selected", colSpan: "colSpan", cssClass: "cssClass", dataField: "dataField", editorOptions: "editorOptions", editorType: "editorType", helpText: "helpText", isRequired: "isRequired", itemType: "itemType", label: "label", name: "name", validationRules: "validationRules", visibleIndex: "visibleIndex", alignItemLabels: "alignItemLabels", caption: "caption", captionTemplate: "captionTemplate", colCount: "colCount", colCountByScreen: "colCountByScreen", tabPanelOptions: "tabPanelOptions", tabs: "tabs", badge: "badge", tabTemplate: "tabTemplate", buttonOptions: "buttonOptions", horizontalAlignment: "horizontalAlignment", verticalAlignment: "verticalAlignment", locateInMenu: "locateInMenu", location: "location", menuItemTemplate: "menuItemTemplate", options: "options", showText: "showText", widget: "widget", height: "height", width: "width", imageAlt: "imageAlt", imageSrc: "imageSrc", acceptedValues: "acceptedValues", commands: "commands", key: "key", showChevron: "showChevron", linkAttr: "linkAttr", url: "url", collapsed: "collapsed", collapsedSize: "collapsedSize", collapsible: "collapsible", maxSize: "maxSize", minSize: "minSize", resizable: "resizable", size: "size", splitter: "splitter", heightRatio: "heightRatio", widthRatio: "widthRatio", expanded: "expanded", hasItems: "hasItems", parentId: "parentId" }, providers: [ NestedOptionHost, DxTemplateHost, { provide: PROPERTY_TOKEN_items, useExisting: DxiItemComponent, } ], queries: [{ propertyName: "_itemsContentChildren", predicate: PROPERTY_TOKEN_items }, { propertyName: "_validationRulesContentChildren", predicate: PROPERTY_TOKEN_validationRules }, { propertyName: "_tabsContentChildren", predicate: PROPERTY_TOKEN_tabs }, { propertyName: "_commandsContentChildren", predicate: PROPERTY_TOKEN_commands }, { propertyName: "_locationContentChildren", predicate: PROPERTY_TOKEN_location }], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: DxIntegrationModule }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxiItemComponent, decorators: [{ type: Component, args: [{ selector: 'dxi-item', standalone: true, template: '<ng-content></ng-content>', imports: [DxIntegrationModule], providers: [ NestedOptionHost, DxTemplateHost, { provide: PROPERTY_TOKEN_items, useExisting: DxiItemComponent, } ], inputs: [ 'disabled', 'html', 'icon', 'template', 'text', 'title', 'titleTemplate', 'visible', 'onClick', 'stylingMode', 'type', 'baseSize', 'box', 'ratio', 'shrink', 'elementAttr', 'hint', 'alt', 'author', 'id', 'isDeleted', 'isEdited', 'src', 'timestamp', 'beginGroup', 'closeMenuOnClick', 'items', 'selectable', 'selected', 'colSpan', 'cssClass', 'dataField', 'editorOptions', 'editorType', 'helpText', 'isRequired', 'itemType', 'label', 'name', 'validationRules', 'visibleIndex', 'alignItemLabels', 'caption', 'captionTemplate', 'colCount', 'colCountByScreen', 'tabPanelOptions', 'tabs', 'badge', 'tabTemplate', 'buttonOptions', 'horizontalAlignment', 'verticalAlignment', 'locateInMenu', 'location', 'menuItemTemplate', 'options', 'showText', 'widget', 'height', 'width', 'imageAlt', 'imageSrc', 'acceptedValues', 'commands', 'key', 'showChevron', 'linkAttr', 'url', 'collapsed', 'collapsedSize', 'collapsible', 'maxSize', 'minSize', 'resizable', 'size', 'splitter', 'heightRatio', 'widthRatio', 'expanded', 'hasItems', 'parentId' ], styles: [":host{display:block}\n"] }] }], ctorParameters: () => [{ type: i1.NestedOptionHost, decorators: [{ type: SkipSelf }, { type: Host }] }, { type: i1.NestedOptionHost, decorators: [{ type: Host }] }, { type: i0.Renderer2 }, { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT] }] }, { type: i1.DxTemplateHost, decorators: [{ type: Host }] }, { type: i0.ElementRef }], propDecorators: { _itemsContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_items] }], _validationRulesContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_validationRules] }], _tabsContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_tabs] }], _commandsContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_commands] }], _locationContentChildren: [{ type: ContentChildren, args: [PROPERTY_TOKEN_location] }] } }); export class DxiItemModule { /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxiItemModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: DxiItemModule, imports: [DxiItemComponent], exports: [DxiItemComponent] }); /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxiItemModule, imports: [DxiItemComponent] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DxiItemModule, decorators: [{ type: NgModule, args: [{ imports: [ DxiItemComponent ], exports: [ DxiItemComponent ], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS1keGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kaXN0L3VpL25lc3RlZC9pdGVtLWR4aS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUVILG9DQUFvQztBQUVwQyxpREFBaUQ7QUFFakQsT0FBTyxFQUNILFNBQVMsRUFDVCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUVOLFFBQVEsRUFDUixlQUFlLEVBQ2YsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkzQyxPQUFPLEVBQ0gsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixlQUFlLEVBR2YsY0FBYyxHQUVqQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWxFLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsOEJBQThCLEVBQzlCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsdUJBQXVCLEdBQzFCLE1BQU0sZ0NBQWdDLENBQUM7OztBQXFHeEMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGtCQUFrQjtJQW1DcEM7SUFDa0I7SUFFbEI7SUFwQ2hCLElBQ0kscUJBQXFCLENBQUMsS0FBd0M7UUFDOUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ0ksK0JBQStCLENBQUMsS0FBd0M7UUFDeEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFDSSxvQkFBb0IsQ0FBQyxLQUF3QztRQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFD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bGFyXG4gKiBWZXJzaW9uOiAyNS4yLjNcbiAqIEJ1aWxkIGRhdGU6IEZyaSBEZWMgMTIgMjAyNVxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMiAtIDIwMjUgRGV2ZWxvcGVyIEV4cHJlc3MgSW5jLiBBTEwgUklHSFRTIFJFU0VSVkVEXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBtYXkgYmUgbW9kaWZpZWQgYW5kIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtc1xuICogb2YgdGhlIE1JVCBsaWNlbnNlLiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdCBmb3IgZGV0YWlscy5cbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vRGV2RXhwcmVzcy9kZXZleHRyZW1lLWFuZ3VsYXJcbiAqL1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cclxuXHJcbi8qIHRzbGludDpkaXNhYmxlOnVzZS1pbnB1dC1wcm9wZXJ0eS1kZWNvcmF0b3IgKi9cclxuXHJcbmltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBOZ01vZHVsZSxcclxuICAgIEhvc3QsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgUmVuZGVyZXIyLFxyXG4gICAgSW5qZWN0LFxyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIFNraXBTZWxmLFxyXG4gICAgQ29udGVudENoaWxkcmVuLFxyXG4gICAgUXVlcnlMaXN0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5cclxuXHJcbmltcG9ydCB7XHJcbiAgICBEeEludGVncmF0aW9uTW9kdWxlLFxyXG4gICAgTmVzdGVkT3B0aW9uSG9zdCxcclxuICAgIGV4dHJhY3RUZW1wbGF0ZSxcclxuICAgIER4VGVtcGxhdGVEaXJlY3RpdmUsXHJcbiAgICBJRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICBEeFRlbXBsYXRlSG9zdCxcclxuICAgIENvbGxlY3Rpb25OZXN0ZWRPcHRpb24sXHJcbn0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeGlCdXR0b25Hcm91cEl0ZW0gfSBmcm9tICcuL2Jhc2UvYnV0dG9uLWdyb3VwLWl0ZW0tZHhpJztcclxuXHJcbmltcG9ydCB7XHJcbiAgICBQUk9QRVJUWV9UT0tFTl9pdGVtcyxcclxuICAgIFBST1BFUlRZX1RPS0VOX3ZhbGlkYXRpb25SdWxlcyxcclxuICAgIFBST1BFUlRZX1RPS0VOX3RhYnMsXHJcbiAgICBQUk9QRVJUWV9UT0tFTl9jb21tYW5kcyxcclxuICAgIFBST1BFUlRZX1RPS0VOX2xvY2F0aW9uLFxyXG59IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhci9jb3JlL3Rva2Vucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZHhpLWl0ZW0nLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXHJcbiAgICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfSddLFxyXG4gICAgaW1wb3J0czogWyBEeEludGVncmF0aW9uTW9kdWxlIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBOZXN0ZWRPcHRpb25Ib3N0LFxyXG4gICAgICAgIER4VGVtcGxhdGVIb3N0LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICBwcm92aWRlOiBQUk9QRVJUWV9UT0tFTl9pdGVtcyxcclxuICAgICAgICAgICB1c2VFeGlzdGluZzogRHhpSXRlbUNvbXBvbmVudCxcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgaW5wdXRzOiBbXHJcbiAgICAgICAgJ2Rpc2FibGVkJyxcclxuICAgICAgICAnaHRtbCcsXHJcbiAgICAgICAgJ2ljb24nLFxyXG4gICAgICAgICd0ZW1wbGF0ZScsXHJcbiAgICAgICAgJ3RleHQnLFxyXG4gICAgICAgICd0aXRsZScsXHJcbiAgICAgICAgJ3RpdGxlVGVtcGxhdGUnLFxyXG4gICAgICAgICd2aXNpYmxlJyxcclxuICAgICAgICAnb25DbGljaycsXHJcbiAgICAgICAgJ3N0eWxpbmdNb2RlJyxcclxuICAgICAgICAndHlwZScsXHJcbiAgICAgICAgJ2Jhc2VTaXplJyxcclxuICAgICAgICAnYm94JyxcclxuICAgICAgICAncmF0aW8nLFxyXG4gICAgICAgICdzaHJpbmsnLFxyXG4gICAgICAgICdlbGVtZW50QXR0cicsXHJcbiAgICAgICAgJ2hpbnQnLFxyXG4gICAgICAgICdhbHQnLFxyXG4gICAgICAgICdhdXRob3InLFxyXG4gICAgICAgICdpZCcsXHJcbiAgICAgICAgJ2lzRGVsZXRlZCcsXHJcbiAgICAgICAgJ2lzRWRpdGVkJyxcclxuICAgICAgICAnc3JjJyxcclxuICAgICAgICAndGltZXN0YW1wJyxcclxuICAgICAgICAnYmVnaW5Hcm91cCcsXHJcbiAgICAgICAgJ2Nsb3NlTWVudU9uQ2xpY2snLFxyXG4gICAgICAgICdpdGVtcycsXHJcbiAgICAgICAgJ3NlbGVjdGFibGUnLFxyXG4gICAgICAgICdzZWxlY3RlZCcsXHJcbiAgICAgICAgJ2NvbFNwYW4nLFxyXG4gICAgICAgICdjc3NDbGFzcycsXHJcbiAgICAgICAgJ2RhdGFGaWVsZCcsXHJcbiAgICAgICAgJ2VkaXRvck9wdGlvbnMnLFxyXG4gICAgICAgICdlZGl0b3JUeXBlJyxcclxuICAgICAgICAnaGVscFRleHQnLFxyXG4gICAgICAgICdpc1JlcXVpcmVkJyxcclxuICAgICAgICAnaXRlbVR5cGUnLFxyXG4gICAgICAgICdsYWJlbCcsXHJcbiAgICAgICAgJ25hbWUnLFxyXG4gICAgICAgICd2YWxpZGF0aW9uUnVsZXMnLFxyXG4gICAgICAgICd2aXNpYmxlSW5kZXgnLFxyXG4gICAgICAgICdhbGlnbkl0ZW1MYWJlbHMnLFxyXG4gICAgICAgICdjYXB0aW9uJyxcclxuICAgICAgICAnY2FwdGlvblRlbXBsYXRlJyxcclxuICAgICAgICAnY29sQ291bnQnLFxyXG4gICAgICAgICdjb2xDb3VudEJ5U2NyZWVuJyxcclxuICAgICAgICAndGFiUGFuZWxPcHRpb25zJyxcclxuICAgICAgICAndGFicycsXHJcbiAgICAgICAgJ2JhZGdlJyxcclxuICAgICAgICAndGFiVGVtcGxhdGUnLFxyXG4gICAgICAgICdidXR0b25PcHRpb25zJyxcclxuICAgICAgICAnaG9yaXpvbnRhbEFsaWdubWVudCcsXHJcbiAgICAgICAgJ3ZlcnRpY2FsQWxpZ25tZW50JyxcclxuICAgICAgICAnbG9jYXRlSW5NZW51JyxcclxuICAgICAgICAnbG9jYXRpb24nLFxyXG4gICAgICAgICdtZW51SXRlbVRlbXBsYXRlJyxcclxuICAgICAgICAnb3B0aW9ucycsXHJcbiAgICAgICAgJ3Nob3dUZXh0JyxcclxuICAgICAgICAnd2lkZ2V0JyxcclxuICAgICAgICAnaGVpZ2h0JyxcclxuICAgICAgICAnd2lkdGgnLFxyXG4gICAgICAgICdpbWFnZUFsdCcsXHJcbiAgICAgICAgJ2ltYWdlU3JjJyxcclxuICAgICAgICAnYWNjZXB0ZWRWYWx1ZXMnLFxyXG4gICAgICAgICdjb21tYW5kcycsXHJcbiAgICAgICAgJ2tleScsXHJcbiAgICAgICAgJ3Nob3dDaGV2cm9uJyxcclxuICAgICAgICAnbGlua0F0dHInLFxyXG4gICAgICAgICd1cmwnLFxyXG4gICAgICAgICdjb2xsYXBzZWQnLFxyXG4gICAgICAgICdjb2xsYXBzZWRTaXplJyxcclxuICAgICAgICAnY29sbGFwc2libGUnLFxyXG4gICAgICAgICdtYXhTaXplJyxcclxuICAgICAgICAnbWluU2l6ZScsXHJcbiAgICAgICAgJ3Jlc2l6YWJsZScsXHJcbiAgICAgICAgJ3NpemUnLFxyXG4gICAgICAgICdzcGxpdHRlcicsXHJcbiAgICAgICAgJ2hlaWdodFJhdGlvJyxcclxuICAgICAgICAnd2lkdGhSYXRpbycsXHJcbiAgICAgICAgJ2V4cGFuZGVkJyxcclxuICAgICAgICAnaGFzSXRlbXMnLFxyXG4gICAgICAgICdwYXJlbnRJZCdcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIER4aUl0ZW1Db21wb25lbnQgZXh0ZW5kcyBEeGlCdXR0b25Hcm91cEl0ZW0gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LFxyXG4gICAgSUR4VGVtcGxhdGVIb3N0IHtcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oUFJPUEVSVFlfVE9LRU5faXRlbXMpXHJcbiAgICBzZXQgX2l0ZW1zQ29udGVudENoaWxkcmVuKHZhbHVlOiBRdWVyeUxpc3Q8Q29sbGVjdGlvbk5lc3RlZE9wdGlvbj4pIHtcclxuICAgICAgICB0aGlzLnNldENoaWxkcmVuKCdpdGVtcycsIHZhbHVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihQUk9QRVJUWV9UT0tFTl92YWxpZGF0aW9uUnVsZXMpXHJcbiAgICBzZXQgX3ZhbGlkYXRpb25SdWxlc0NvbnRlbnRDaGlsZHJlbih2YWx1ZTogUXVlcnlMaXN0PENvbGxlY3Rpb25OZXN0ZWRPcHRpb24+KSB7XHJcbiAgICAgICAgdGhpcy5zZXRDaGlsZHJlbigndmFsaWRhdGlvblJ1bGVzJywgdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAQ29udGVudENoaWxkcmVuKFBST1BFUlRZX1RPS0VOX3RhYnMpXHJcbiAgICBzZXQgX3RhYnNDb250ZW50Q2hpbGRyZW4odmFsdWU6IFF1ZXJ5TGlzdDxDb2xsZWN0aW9uTmVzdGVkT3B0aW9uPikge1xyXG4gICAgICAgIHRoaXMuc2V0Q2hpbGRyZW4oJ3RhYnMnLCB2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBDb250ZW50Q2hpbGRyZW4oUFJPUEVSVFlfVE9LRU5fY29tbWFuZHMpXHJcbiAgICBzZXQgX2NvbW1hbmRzQ29udGVudENoaWxkcmVuKHZhbHVlOiBRdWVyeUxpc3Q8Q29sbGVjdGlvbk5lc3RlZE9wdGlvbj4pIHtcclxuICAgICAgICB0aGlzLnNldENoaWxkcmVuKCdjb21tYW5kcycsIHZhbHVlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihQUk9QRVJUWV9UT0tFTl9sb2NhdGlvbilcclxuICAgIHNldCBfbG9jYXRpb25Db250ZW50Q2hpbGRyZW4odmFsdWU6IFF1ZXJ5TGlzdDxDb2xsZWN0aW9uTmVzdGVkT3B0aW9uPikge1xyXG4gICAgICAgIHRoaXMuc2V0Q2hpbGRyZW4oJ2xvY2F0aW9uJywgdmFsdWUpO1xyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldCBfb3B0aW9uUGF0aCgpIHtcclxuICAgICAgICByZXR1cm4gJ2l0ZW1zJztcclxuICAgIH1cclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IoQFNraXBTZWxmKCkgQEhvc3QoKSBwYXJlbnRPcHRpb25Ib3N0OiBOZXN0ZWRPcHRpb25Ib3N0LFxyXG4gICAgICAgICAgICBASG9zdCgpIG9wdGlvbkhvc3Q6IE5lc3RlZE9wdGlvbkhvc3QsXHJcbiAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55LFxyXG4gICAgICAgICAgICBASG9zdCgpIHRlbXBsYXRlSG9zdDogRHhUZW1wbGF0ZUhvc3QsXHJcbiAgICAgICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgcGFyZW50T3B0aW9uSG9zdC5zZXROZXN0ZWRPcHRpb24odGhpcyk7XHJcbiAgICAgICAgb3B0aW9uSG9zdC5zZXRIb3N0KHRoaXMsIHRoaXMuX2Z1bGxPcHRpb25QYXRoLmJpbmQodGhpcykpO1xyXG4gICAgICAgIHRlbXBsYXRlSG9zdC5zZXRIb3N0KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRlbXBsYXRlKHRlbXBsYXRlOiBEeFRlbXBsYXRlRGlyZWN0aXZlKSB7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZSA9IHRlbXBsYXRlO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIGV4dHJhY3RUZW1wbGF0ZSh0aGlzLCB0aGlzLmVsZW1lbnQsIHRoaXMucmVuZGVyZXIsIHRoaXMuZG9jdW1lbnQpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fZGVsZXRlUmVtb3ZlZE9wdGlvbnModGhpcy5fZnVsbE9wdGlvblBhdGgoKSk7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIER4aUl0ZW1Db21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIER4aUl0ZW1Db21wb25lbnRcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHhpSXRlbU1vZHVsZSB7IH1cclxuIl19