UNPKG

@linid-dm/directory-manager-client-core

Version:

Core package by providing a set of angular components for the Directory Manager app.

95 lines 14.1 kB
/** * Copyright (C) 2020-2024 Linagora * * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version, provided you comply with the Additional Terms applicable for * LinID Directory Manager software by LINAGORA pursuant to Section 7 of the GNU * Affero General Public License, subsections (b), (c), and (e), pursuant to * which these Appropriate Legal Notices must notably (i) retain the display of * the "LinID™" trademark/logo at the top of the interface window, the display * of the “You are using the Open Source and free version of LinID™, powered by * Linagora © 2009–2013. Contribute to LinID R&D by subscribing to an Enterprise * offer!” infobox and in the e-mails sent with the Program, notice appended to * any type of outbound messages (e.g. e-mail and meeting requests) as well as * in the LinID Directory Manager user interface, (ii) retain all hypertext * links between LinID Directory Manager and https://linid.org/, as well as * between LINAGORA and LINAGORA.com, and (iii) refrain from infringing LINAGORA * intellectual property rights over its trademarks and commercial brands. Other * Additional Terms apply, see <http://www.linagora.com/licenses/> for more * details. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License and * its applicable Additional Terms for LinID Directory Manager along with this * program. If not, see <http://www.gnu.org/licenses/> for the GNU Affero * General Public License version 3 and <http://www.linagora.com/licenses/> for * the Additional Terms applicable to the LinID Directory Manager software. */ import { Injectable } from '@angular/core'; import { ReplaySubject, Subject } from 'rxjs'; import * as Error from '../states/error/error.actions'; import * as i0 from "@angular/core"; import * as i1 from "@ngxs/store"; export class InteractionsService { constructor(_store$) { this._store$ = _store$; this._processingRequest = new Subject(); this._cancelRequest = new Subject(); this._displayedDataTree = new ReplaySubject(); this._displayedDataList = new ReplaySubject(); this._updateTreeNodeName = new Subject(); this._updateListItemName = new Subject(); this._updateExternalId = new Subject(); this._updateFilteredDetailAttributes = new Subject(); this.processingRequest$ = this._processingRequest.asObservable(); this.cancelRequest$ = this._cancelRequest.asObservable(); this.displayedDataTree$ = this._displayedDataTree.asObservable(); this.displayedDataList$ = this._displayedDataList.asObservable(); this.updateTreeNodeName$ = this._updateTreeNodeName.asObservable(); this.updateListItemName$ = this._updateListItemName.asObservable(); this.updateExternalId$ = this._updateExternalId.asObservable(); this.updateFilteredDetailAttributes$ = this._updateFilteredDetailAttributes.asObservable(); } isProcessingRequest(processing) { if (processing) { this._store$.dispatch(new Error.ResetLastError()); } this._processingRequest.next(processing); } displayDataTree(dataTree) { this._displayedDataTree.next(dataTree); } displayDataList(dataList) { this._displayedDataList.next(dataList); } updateTreeNodeName(newNodeName) { this._updateTreeNodeName.next(newNodeName); } updateListItemName(newItemName) { this._updateListItemName.next(newItemName); } updateExternalId(newExternalId) { this._updateExternalId.next(newExternalId); } updateFilteredDetailAttributes(isMatchingAdvancedSearchChips) { this._updateFilteredDetailAttributes.next(isMatchingAdvancedSearchChips); } cancelRequest() { this._cancelRequest.next(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: InteractionsService, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: InteractionsService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: InteractionsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: () => [{ type: i1.Store }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9saWJzL2NsaWVudC1jb3JlL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2ludGVyYWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUQsT0FBTyxLQUFLLEtBQUssTUFBTSwrQkFBK0IsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFtQzlCLFlBQW9CLE9BQWM7UUFBZCxZQUFPLEdBQVAsT0FBTyxDQUFPO1FBbEMxQix1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzVDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyQyx1QkFBa0IsR0FBRyxJQUFJLGFBQWEsRUFBZSxDQUFDO1FBQ3RELHVCQUFrQixHQUFHLElBQUksYUFBYSxFQUFlLENBQUM7UUFFdEQsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUM1Qyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQzVDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDMUMsb0NBQStCLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUUxRCx1QkFBa0IsR0FDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxDLG1CQUFjLEdBQXFCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFdEUsdUJBQWtCLEdBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVsQyx1QkFBa0IsR0FDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxDLHdCQUFtQixHQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFbkMsd0JBQW1CLEdBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuQyxzQkFBaUIsR0FDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWpDLG9DQUErQixHQUNwQyxJQUFJLENBQUMsK0JBQStCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakIsQ0FBQztJQUV0QyxtQkFBbUIsQ0FBQyxVQUFtQjtRQUNyQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFFBQXFCO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGVBQWUsQ0FBQyxRQUFxQjtRQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxXQUFtQjtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxXQUFtQjtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUFxQjtRQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCw4QkFBOEIsQ0FBQyw2QkFBc0M7UUFDbkUsSUFBSSxDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXRFVSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMjAtMjAyNCBMaW5hZ29yYVxuICpcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyXG4gKiB0aGUgdGVybXMgb2YgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWVcbiAqIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55XG4gKiBsYXRlciB2ZXJzaW9uLCBwcm92aWRlZCB5b3UgY29tcGx5IHdpdGggdGhlIEFkZGl0aW9uYWwgVGVybXMgYXBwbGljYWJsZSBmb3JcbiAqIExpbklEIERpcmVjdG9yeSBNYW5hZ2VyIHNvZnR3YXJlIGJ5IExJTkFHT1JBIHB1cnN1YW50IHRvIFNlY3Rpb24gNyBvZiB0aGUgR05VXG4gKiBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgc3Vic2VjdGlvbnMgKGIpLCAoYyksIGFuZCAoZSksIHB1cnN1YW50IHRvXG4gKiB3aGljaCB0aGVzZSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzIG11c3Qgbm90YWJseSAoaSkgcmV0YWluIHRoZSBkaXNwbGF5IG9mXG4gKiB0aGUgXCJMaW5JROKEolwiIHRyYWRlbWFyay9sb2dvIGF0IHRoZSB0b3Agb2YgdGhlIGludGVyZmFjZSB3aW5kb3csIHRoZSBkaXNwbGF5XG4gKiBvZiB0aGUg4oCcWW91IGFyZSB1c2luZyB0aGUgT3BlbiBTb3VyY2UgYW5kIGZyZWUgdmVyc2lvbiBvZiBMaW5JROKEoiwgcG93ZXJlZCBieVxuICogTGluYWdvcmEgwqkgMjAwOeKAkzIwMTMuIENvbnRyaWJ1dGUgdG8gTGluSUQgUiZEIGJ5IHN1YnNjcmliaW5nIHRvIGFuIEVudGVycHJpc2VcbiAqIG9mZmVyIeKAnSBpbmZvYm94IGFuZCBpbiB0aGUgZS1tYWlscyBzZW50IHdpdGggdGhlIFByb2dyYW0sIG5vdGljZSBhcHBlbmRlZCB0b1xuICogYW55IHR5cGUgb2Ygb3V0Ym91bmQgbWVzc2FnZXMgKGUuZy4gZS1tYWlsIGFuZCBtZWV0aW5nIHJlcXVlc3RzKSBhcyB3ZWxsIGFzXG4gKiBpbiB0aGUgTGluSUQgRGlyZWN0b3J5IE1hbmFnZXIgdXNlciBpbnRlcmZhY2UsIChpaSkgcmV0YWluIGFsbCBoeXBlcnRleHRcbiAqIGxpbmtzIGJldHdlZW4gTGluSUQgRGlyZWN0b3J5IE1hbmFnZXIgYW5kIGh0dHBzOi8vbGluaWQub3JnLywgYXMgd2VsbCBhc1xuICogYmV0d2VlbiBMSU5BR09SQSBhbmQgTElOQUdPUkEuY29tLCBhbmQgKGlpaSkgcmVmcmFpbiBmcm9tIGluZnJpbmdpbmcgTElOQUdPUkFcbiAqIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgb3ZlciBpdHMgdHJhZGVtYXJrcyBhbmQgY29tbWVyY2lhbCBicmFuZHMuIE90aGVyXG4gKiBBZGRpdGlvbmFsIFRlcm1zIGFwcGx5LCBzZWUgPGh0dHA6Ly93d3cubGluYWdvcmEuY29tL2xpY2Vuc2VzLz4gZm9yIG1vcmVcbiAqIGRldGFpbHMuXG4gKlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUXG4gKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTU1xuICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBBZmZlcm8gR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZVxuICogZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYW5kXG4gKiBpdHMgYXBwbGljYWJsZSBBZGRpdGlvbmFsIFRlcm1zIGZvciBMaW5JRCBEaXJlY3RvcnkgTWFuYWdlciBhbG9uZyB3aXRoIHRoaXNcbiAqIHByb2dyYW0uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPiBmb3IgdGhlIEdOVSBBZmZlcm9cbiAqIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzIGFuZCA8aHR0cDovL3d3dy5saW5hZ29yYS5jb20vbGljZW5zZXMvPiBmb3JcbiAqIHRoZSBBZGRpdGlvbmFsIFRlcm1zIGFwcGxpY2FibGUgdG8gdGhlIExpbklEIERpcmVjdG9yeSBNYW5hZ2VyIHNvZnR3YXJlLlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSURhdGFJdGVtLCBJRGF0YU5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RhdGEuaW50ZXJmYWNlJztcbmltcG9ydCAqIGFzIEVycm9yIGZyb20gJy4uL3N0YXRlcy9lcnJvci9lcnJvci5hY3Rpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIF9wcm9jZXNzaW5nUmVxdWVzdCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gIHByaXZhdGUgX2NhbmNlbFJlcXVlc3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2Rpc3BsYXllZERhdGFUcmVlID0gbmV3IFJlcGxheVN1YmplY3Q8SURhdGFOb2RlW10+KCk7XG4gIHByaXZhdGUgX2Rpc3BsYXllZERhdGFMaXN0ID0gbmV3IFJlcGxheVN1YmplY3Q8SURhdGFJdGVtW10+KCk7XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVHJlZU5vZGVOYW1lID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xuICBwcml2YXRlIF91cGRhdGVMaXN0SXRlbU5hbWUgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX3VwZGF0ZUV4dGVybmFsSWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHByaXZhdGUgX3VwZGF0ZUZpbHRlcmVkRGV0YWlsQXR0cmlidXRlcyA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcHVibGljIHByb2Nlc3NpbmdSZXF1ZXN0JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9XG4gICAgdGhpcy5fcHJvY2Vzc2luZ1JlcXVlc3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGNhbmNlbFJlcXVlc3QkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5fY2FuY2VsUmVxdWVzdC5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgZGlzcGxheWVkRGF0YVRyZWUkOiBPYnNlcnZhYmxlPElEYXRhTm9kZVtdPiA9XG4gICAgdGhpcy5fZGlzcGxheWVkRGF0YVRyZWUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIGRpc3BsYXllZERhdGFMaXN0JDogT2JzZXJ2YWJsZTxJRGF0YUl0ZW1bXT4gPVxuICAgIHRoaXMuX2Rpc3BsYXllZERhdGFMaXN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHB1YmxpYyB1cGRhdGVUcmVlTm9kZU5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz4gPVxuICAgIHRoaXMuX3VwZGF0ZVRyZWVOb2RlTmFtZS5hc09ic2VydmFibGUoKTtcblxuICBwdWJsaWMgdXBkYXRlTGlzdEl0ZW1OYW1lJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID1cbiAgICB0aGlzLl91cGRhdGVMaXN0SXRlbU5hbWUuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIHVwZGF0ZUV4dGVybmFsSWQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPVxuICAgIHRoaXMuX3VwZGF0ZUV4dGVybmFsSWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHVibGljIHVwZGF0ZUZpbHRlcmVkRGV0YWlsQXR0cmlidXRlcyQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPVxuICAgIHRoaXMuX3VwZGF0ZUZpbHRlcmVkRGV0YWlsQXR0cmlidXRlcy5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdG9yZSQ6IFN0b3JlKSB7fVxuXG4gIGlzUHJvY2Vzc2luZ1JlcXVlc3QocHJvY2Vzc2luZzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmIChwcm9jZXNzaW5nKSB7XG4gICAgICB0aGlzLl9zdG9yZSQuZGlzcGF0Y2gobmV3IEVycm9yLlJlc2V0TGFzdEVycm9yKCkpO1xuICAgIH1cbiAgICB0aGlzLl9wcm9jZXNzaW5nUmVxdWVzdC5uZXh0KHByb2Nlc3NpbmcpO1xuICB9XG5cbiAgZGlzcGxheURhdGFUcmVlKGRhdGFUcmVlOiBJRGF0YU5vZGVbXSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BsYXllZERhdGFUcmVlLm5leHQoZGF0YVRyZWUpO1xuICB9XG5cbiAgZGlzcGxheURhdGFMaXN0KGRhdGFMaXN0OiBJRGF0YUl0ZW1bXSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3BsYXllZERhdGFMaXN0Lm5leHQoZGF0YUxpc3QpO1xuICB9XG5cbiAgdXBkYXRlVHJlZU5vZGVOYW1lKG5ld05vZGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVUcmVlTm9kZU5hbWUubmV4dChuZXdOb2RlTmFtZSk7XG4gIH1cblxuICB1cGRhdGVMaXN0SXRlbU5hbWUobmV3SXRlbU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUxpc3RJdGVtTmFtZS5uZXh0KG5ld0l0ZW1OYW1lKTtcbiAgfVxuXG4gIHVwZGF0ZUV4dGVybmFsSWQobmV3RXh0ZXJuYWxJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRXh0ZXJuYWxJZC5uZXh0KG5ld0V4dGVybmFsSWQpO1xuICB9XG5cbiAgdXBkYXRlRmlsdGVyZWREZXRhaWxBdHRyaWJ1dGVzKGlzTWF0Y2hpbmdBZHZhbmNlZFNlYXJjaENoaXBzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyZWREZXRhaWxBdHRyaWJ1dGVzLm5leHQoaXNNYXRjaGluZ0FkdmFuY2VkU2VhcmNoQ2hpcHMpO1xuICB9XG5cbiAgY2FuY2VsUmVxdWVzdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jYW5jZWxSZXF1ZXN0Lm5leHQoKTtcbiAgfVxufVxuIl19