UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

103 lines 13.2 kB
import { Injectable } from '@angular/core'; import { PetriNetResourceService } from '../petri-net-resource.service'; import { map } from 'rxjs/operators'; import { HttpParams } from '@angular/common/http'; import * as i0 from "@angular/core"; import * as i1 from "../../resource-provider.service"; import * as i2 from "../../../configuration/configuration.service"; export class PublicPetriNetResourceService extends PetriNetResourceService { provider; _configService; constructor(provider, _configService) { super(provider, _configService); this.provider = provider; this._configService = _configService; } /** * get One Net by ID * * **Request Type:** GET * * **Request URL:** {{baseUrl}}/api/public/petrinet/{id} */ getOneById(netId, params) { return this.provider.get$('public/petrinet/' + netId, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } /** * get One Net * * **Request Type:** GET * * **Request URL:** {{baseUrl}}/api/public/petrinet/{identifier}/{version} */ getOne(identifier, version, params) { return this.provider.get$('public/petrinet/' + btoa(identifier) + '/' + version, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, 'petriNetReferences'))); } /** * search PetriNets * * **Request Type:** POST * * **Request URL:** {{baseUrl}}/api/petrinet/search */ searchPetriNets(body, params) { return this._resourceProvider.post$('public/petrinet/search', this.SERVER_URL, body, params) // .pipe(map(r => this.getResourcePage<PetriNetReference>(r, 'petriNetReferences'))); .pipe(map(r => this.mapToPage(r))); } /** * Get Roles References Using * * **Request Type:** GET * * **Request URL:** {{baseUrl}}/api/petrinet/{id}/roles */ getPetriNetRoles(netId, params) { return this._resourceProvider.get$('public/petrinet/' + netId + '/roles', this.SERVER_URL, params) .pipe(map(r => this.changeType(r, 'processRoles'))); } /** * Get Transaction References Using * * **Request Type:** GET * * **Request URL:** {{baseUrl}}/api/petrinet/{id}/transactions */ getPetriNetTransactions(netId, params) { return this._resourceProvider.get$('public/petrinet/' + netId + '/transactions', this.SERVER_URL, params) .pipe(map(r => this.changeType(r, 'transactions'))); } /** * Get Data Field References Using * * **Request Type:** POST * * **Request URL:** {{baseUrl}}/api/petrinet/data */ getDataPetriNet(body) { return this._resourceProvider.post$('public/petrinet/data', this.SERVER_URL, body) .pipe(map(r => this.changeType(r, undefined))); } /** * Get Transition References Using * * **Request Type:** GET * * **Request URL:** {{baseUrl}}/api/petrinet/transitions */ getPetriNetTransitions(netId) { return this._resourceProvider.get$('public/petrinet/transitions', this.SERVER_URL, new HttpParams().set('ids', netId)) .pipe(map(r => this.changeType(r, 'transitionReferences'))); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PublicPetriNetResourceService, deps: [{ token: i1.ResourceProvider }, { token: i2.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PublicPetriNetResourceService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PublicPetriNetResourceService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.ResourceProvider }, { type: i2.ConfigurationService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXBldHJpLW5ldC1yZXNvdXJjZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9yZXNvdXJjZXMvZW5naW5lLWVuZHBvaW50L3B1YmxpYy9wdWJsaWMtcGV0cmktbmV0LXJlc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQU10RSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLbkMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBTWhELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSx1QkFBdUI7SUFFaEQ7SUFBc0M7SUFBNUQsWUFBc0IsUUFBMEIsRUFBWSxjQUFvQztRQUM1RixLQUFLLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBRGQsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFBWSxtQkFBYyxHQUFkLGNBQWMsQ0FBc0I7SUFFaEcsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLFVBQVUsQ0FBQyxLQUFhLEVBQUUsTUFBZTtRQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQzthQUN6RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsVUFBa0IsRUFBRSxPQUFlLEVBQUUsTUFBZTtRQUM5RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO2FBQ3BHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZSxDQUFDLElBQXlCLEVBQUUsTUFBZTtRQUM3RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO1lBQ3hGLHFGQUFxRjthQUNwRixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsTUFBZTtRQUNsRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxHQUFHLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQzthQUM3RixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1QkFBdUIsQ0FBQyxLQUFhLEVBQUUsTUFBZTtRQUN6RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxHQUFHLGVBQWUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQzthQUNwRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxlQUFlLENBQUMsSUFBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7YUFDN0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCLENBQUMsS0FBYTtRQUN2QyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDakgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7d0dBekZRLDZCQUE2Qjs0R0FBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BldHJpTmV0UmVzb3VyY2VTZXJ2aWNlfSBmcm9tICcuLi9wZXRyaS1uZXQtcmVzb3VyY2Uuc2VydmljZSc7XG5pbXBvcnQge1BhcmFtcywgUmVzb3VyY2VQcm92aWRlcn0gZnJvbSAnLi4vLi4vcmVzb3VyY2UtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtQZXRyaU5ldH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3BldHJpLW5ldCc7XG5pbXBvcnQge1BldHJpTmV0UmVmZXJlbmNlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvcGV0cmktbmV0LXJlZmVyZW5jZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQZXRyaU5ldFJlcXVlc3RCb2R5fSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvcGV0cmktbmV0LXJlcXVlc3QtYm9keSc7XG5pbXBvcnQge1BhZ2V9IGZyb20gJy4uLy4uL2ludGVyZmFjZS9wYWdlJztcbmltcG9ydCBUcmFuc2FjdGlvbiBmcm9tICcuLi8uLi8uLi9wcm9jZXNzL3RyYW5zYWN0aW9uJztcbmltcG9ydCBUcmFuc2l0aW9uIGZyb20gJy4uLy4uLy4uL3Byb2Nlc3MvdHJhbnNpdGlvbic7XG5pbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCBSb2xlc0FuZFBlcm1pc3Npb25zIGZyb20gJy4uLy4uLy4uL3Byb2Nlc3Mvcm9sZXNBbmRQZXJtaXNzaW9ucyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFB1YmxpY1BldHJpTmV0UmVzb3VyY2VTZXJ2aWNlIGV4dGVuZHMgUGV0cmlOZXRSZXNvdXJjZVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHByb3ZpZGVyOiBSZXNvdXJjZVByb3ZpZGVyLCBwcm90ZWN0ZWQgX2NvbmZpZ1NlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHByb3ZpZGVyLCBfY29uZmlnU2VydmljZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZ2V0IE9uZSBOZXQgYnkgSURcbiAgICAgKlxuICAgICAqICoqUmVxdWVzdCBUeXBlOioqIEdFVFxuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFVSTDoqKiB7e2Jhc2VVcmx9fS9hcGkvcHVibGljL3BldHJpbmV0L3tpZH1cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T25lQnlJZChuZXRJZDogc3RyaW5nLCBwYXJhbXM/OiBQYXJhbXMpOiBPYnNlcnZhYmxlPFBldHJpTmV0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3ZpZGVyLmdldCQoJ3B1YmxpYy9wZXRyaW5ldC8nICsgbmV0SWQsIHRoaXMuU0VSVkVSX1VSTCwgcGFyYW1zKVxuICAgICAgICAgICAgLnBpcGUobWFwKHIgPT4gdGhpcy5jaGFuZ2VUeXBlKHIsIHVuZGVmaW5lZCkpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgT25lIE5ldFxuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFR5cGU6KiogR0VUXG4gICAgICpcbiAgICAgKiAqKlJlcXVlc3QgVVJMOioqIHt7YmFzZVVybH19L2FwaS9wdWJsaWMvcGV0cmluZXQve2lkZW50aWZpZXJ9L3t2ZXJzaW9ufVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRPbmUoaWRlbnRpZmllcjogc3RyaW5nLCB2ZXJzaW9uOiBzdHJpbmcsIHBhcmFtcz86IFBhcmFtcyk6IE9ic2VydmFibGU8UGV0cmlOZXRSZWZlcmVuY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdmlkZXIuZ2V0JCgncHVibGljL3BldHJpbmV0LycgKyBidG9hKGlkZW50aWZpZXIpICsgJy8nICsgdmVyc2lvbiwgdGhpcy5TRVJWRVJfVVJMLCBwYXJhbXMpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgJ3BldHJpTmV0UmVmZXJlbmNlcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2VhcmNoIFBldHJpTmV0c1xuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFR5cGU6KiogUE9TVFxuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFVSTDoqKiB7e2Jhc2VVcmx9fS9hcGkvcGV0cmluZXQvc2VhcmNoXG4gICAgICovXG4gICAgcHVibGljIHNlYXJjaFBldHJpTmV0cyhib2R5OiBQZXRyaU5ldFJlcXVlc3RCb2R5LCBwYXJhbXM/OiBQYXJhbXMpOiBPYnNlcnZhYmxlPFBhZ2U8UGV0cmlOZXRSZWZlcmVuY2U+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3QkKCdwdWJsaWMvcGV0cmluZXQvc2VhcmNoJywgdGhpcy5TRVJWRVJfVVJMLCBib2R5LCBwYXJhbXMpXG4gICAgICAgICAgICAvLyAucGlwZShtYXAociA9PiB0aGlzLmdldFJlc291cmNlUGFnZTxQZXRyaU5ldFJlZmVyZW5jZT4ociwgJ3BldHJpTmV0UmVmZXJlbmNlcycpKSk7XG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLm1hcFRvUGFnZTxQZXRyaU5ldFJlZmVyZW5jZT4ocikpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgUm9sZXMgUmVmZXJlbmNlcyBVc2luZ1xuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFR5cGU6KiogR0VUXG4gICAgICpcbiAgICAgKiAqKlJlcXVlc3QgVVJMOioqIHt7YmFzZVVybH19L2FwaS9wZXRyaW5ldC97aWR9L3JvbGVzXG4gICAgICovXG4gICAgcHVibGljIGdldFBldHJpTmV0Um9sZXMobmV0SWQ6IHN0cmluZywgcGFyYW1zPzogUGFyYW1zKTogT2JzZXJ2YWJsZTxSb2xlc0FuZFBlcm1pc3Npb25zPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3B1YmxpYy9wZXRyaW5ldC8nICsgbmV0SWQgKyAnL3JvbGVzJywgdGhpcy5TRVJWRVJfVVJMLCBwYXJhbXMpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgJ3Byb2Nlc3NSb2xlcycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IFRyYW5zYWN0aW9uIFJlZmVyZW5jZXMgVXNpbmdcbiAgICAgKlxuICAgICAqICoqUmVxdWVzdCBUeXBlOioqIEdFVFxuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFVSTDoqKiB7e2Jhc2VVcmx9fS9hcGkvcGV0cmluZXQve2lkfS90cmFuc2FjdGlvbnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGV0cmlOZXRUcmFuc2FjdGlvbnMobmV0SWQ6IHN0cmluZywgcGFyYW1zPzogUGFyYW1zKTogT2JzZXJ2YWJsZTxBcnJheTxUcmFuc2FjdGlvbj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlUHJvdmlkZXIuZ2V0JCgncHVibGljL3BldHJpbmV0LycgKyBuZXRJZCArICcvdHJhbnNhY3Rpb25zJywgdGhpcy5TRVJWRVJfVVJMLCBwYXJhbXMpXG4gICAgICAgICAgICAucGlwZShtYXAociA9PiB0aGlzLmNoYW5nZVR5cGUociwgJ3RyYW5zYWN0aW9ucycpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IERhdGEgRmllbGQgUmVmZXJlbmNlcyBVc2luZ1xuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFR5cGU6KiogUE9TVFxuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFVSTDoqKiB7e2Jhc2VVcmx9fS9hcGkvcGV0cmluZXQvZGF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREYXRhUGV0cmlOZXQoYm9keTogb2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHsgIC8vIFRPRE86IHJlc3BvbnNlXG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLnBvc3QkKCdwdWJsaWMvcGV0cmluZXQvZGF0YScsIHRoaXMuU0VSVkVSX1VSTCwgYm9keSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCB1bmRlZmluZWQpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IFRyYW5zaXRpb24gUmVmZXJlbmNlcyBVc2luZ1xuICAgICAqXG4gICAgICogKipSZXF1ZXN0IFR5cGU6KiogR0VUXG4gICAgICpcbiAgICAgKiAqKlJlcXVlc3QgVVJMOioqIHt7YmFzZVVybH19L2FwaS9wZXRyaW5ldC90cmFuc2l0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQZXRyaU5ldFRyYW5zaXRpb25zKG5ldElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFycmF5PFRyYW5zaXRpb24+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZVByb3ZpZGVyLmdldCQoJ3B1YmxpYy9wZXRyaW5ldC90cmFuc2l0aW9ucycsIHRoaXMuU0VSVkVSX1VSTCwgbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkcycsIG5ldElkKSlcbiAgICAgICAgICAgIC5waXBlKG1hcChyID0+IHRoaXMuY2hhbmdlVHlwZShyLCAndHJhbnNpdGlvblJlZmVyZW5jZXMnKSkpO1xuICAgIH1cbn1cbiJdfQ==