@ieeesa-npm/events-and-meetings 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -471,7 +471,7 @@
471
471
  ]
472
472
  },
473
473
  "routeConfigPath": {
474
- "createEventMeeting": "events-meetings/create-event-meeting"
474
+ "createEventMeeting": "create-event-meeting"
475
475
  },
476
476
  "errors": {
477
477
  "4001": "Event Name is required.",
@@ -5,7 +5,7 @@ export const EVENTS_MEETINGS_ROUTES = [
5
5
  component: EventsAndMeetingsComponent,
6
6
  },
7
7
  {
8
- path: 'create-event-meeting',
8
+ path: 'events-meetings/create-event-meeting',
9
9
  loadComponent: () => import('./components/create-modify-event-or-meeting/create-modify-event-or-meeting.component').then((m) => m.CreateModifyEventOrMeetingComponent),
10
10
  },
11
11
  {
@@ -17,4 +17,4 @@ export const EVENTS_MEETINGS_ROUTES = [
17
17
  loadComponent: () => import('./components/create-modify-event/create-modify-event.component').then((m) => m.CreateOrModifyEventComponent),
18
18
  },
19
19
  ];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWFuZC1tZWV0aW5ncy1yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ldmVudHMtYW5kLW1lZXRpbmdzL3NyYy9saWIvZXZlbnRzLWFuZC1tZWV0aW5ncy1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQVc7SUFDNUM7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSwwQkFBMEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQ0osc0ZBQXNGLENBQ3ZGLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUM7S0FDdkQ7SUFDRDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUMsSUFBSSxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUM3QjtLQUNKO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FDSixnRUFBZ0UsQ0FDakUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztLQUNoRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBFdmVudHNBbmRNZWV0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vZXZlbnRzLWFuZC1tZWV0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgY29uc3QgRVZFTlRTX01FRVRJTkdTX1JPVVRFUzogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBFdmVudHNBbmRNZWV0aW5nc0NvbXBvbmVudCxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhdGg6ICdjcmVhdGUtZXZlbnQtbWVldGluZycsXHJcbiAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxyXG4gICAgICBpbXBvcnQoXHJcbiAgICAgICAgJy4vY29tcG9uZW50cy9jcmVhdGUtbW9kaWZ5LWV2ZW50LW9yLW1lZXRpbmcvY3JlYXRlLW1vZGlmeS1ldmVudC1vci1tZWV0aW5nLmNvbXBvbmVudCdcclxuICAgICAgKS50aGVuKChtKSA9PiBtLkNyZWF0ZU1vZGlmeUV2ZW50T3JNZWV0aW5nQ29tcG9uZW50KSxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhdGg6ICdlZGl0LW1lZXRpbmcnLFxyXG4gICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgaW1wb3J0KCcuL2NvbXBvbmVudHMvYWRkLW1lZXRpbmcvYWRkLW1lZXRpbmcuY29tcG9uZW50JykudGhlbihcclxuICAgICAgICAobSkgPT4gbS5BZGRNZWV0aW5nQ29tcG9uZW50XHJcbiAgICAgICksXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXRoOiAnZWRpdC1ldmVudCcsXHJcbiAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxyXG4gICAgICBpbXBvcnQoXHJcbiAgICAgICAgJy4vY29tcG9uZW50cy9jcmVhdGUtbW9kaWZ5LWV2ZW50L2NyZWF0ZS1tb2RpZnktZXZlbnQuY29tcG9uZW50J1xyXG4gICAgICApLnRoZW4oKG0pID0+IG0uQ3JlYXRlT3JNb2RpZnlFdmVudENvbXBvbmVudCksXHJcbiAgfSxcclxuXTtcclxuIl19
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWFuZC1tZWV0aW5ncy1yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ldmVudHMtYW5kLW1lZXRpbmdzL3NyYy9saWIvZXZlbnRzLWFuZC1tZWV0aW5ncy1yb3V0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0UsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQVc7SUFDNUM7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLFNBQVMsRUFBRSwwQkFBMEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxzQ0FBc0M7UUFDNUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQ0osc0ZBQXNGLENBQ3ZGLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUM7S0FDdkQ7SUFDRDtRQUNFLElBQUksRUFBRSxjQUFjO1FBQ3BCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLGdEQUFnRCxDQUFDLENBQUMsSUFBSSxDQUMzRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUM3QjtLQUNKO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsWUFBWTtRQUNsQixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FDSixnRUFBZ0UsQ0FDakUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQztLQUNoRDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBFdmVudHNBbmRNZWV0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vZXZlbnRzLWFuZC1tZWV0aW5ncy5jb21wb25lbnQnO1xyXG5leHBvcnQgY29uc3QgRVZFTlRTX01FRVRJTkdTX1JPVVRFUzogUm91dGVzID0gW1xyXG4gIHtcclxuICAgIHBhdGg6ICcnLFxyXG4gICAgY29tcG9uZW50OiBFdmVudHNBbmRNZWV0aW5nc0NvbXBvbmVudCxcclxuICB9LFxyXG4gIHtcclxuICAgIHBhdGg6ICdldmVudHMtbWVldGluZ3MvY3JlYXRlLWV2ZW50LW1lZXRpbmcnLFxyXG4gICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgaW1wb3J0KFxyXG4gICAgICAgICcuL2NvbXBvbmVudHMvY3JlYXRlLW1vZGlmeS1ldmVudC1vci1tZWV0aW5nL2NyZWF0ZS1tb2RpZnktZXZlbnQtb3ItbWVldGluZy5jb21wb25lbnQnXHJcbiAgICAgICkudGhlbigobSkgPT4gbS5DcmVhdGVNb2RpZnlFdmVudE9yTWVldGluZ0NvbXBvbmVudCksXHJcbiAgfSxcclxuICB7XHJcbiAgICBwYXRoOiAnZWRpdC1tZWV0aW5nJyxcclxuICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XHJcbiAgICAgIGltcG9ydCgnLi9jb21wb25lbnRzL2FkZC1tZWV0aW5nL2FkZC1tZWV0aW5nLmNvbXBvbmVudCcpLnRoZW4oXHJcbiAgICAgICAgKG0pID0+IG0uQWRkTWVldGluZ0NvbXBvbmVudFxyXG4gICAgICApLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgcGF0aDogJ2VkaXQtZXZlbnQnLFxyXG4gICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgaW1wb3J0KFxyXG4gICAgICAgICcuL2NvbXBvbmVudHMvY3JlYXRlLW1vZGlmeS1ldmVudC9jcmVhdGUtbW9kaWZ5LWV2ZW50LmNvbXBvbmVudCdcclxuICAgICAgKS50aGVuKChtKSA9PiBtLkNyZWF0ZU9yTW9kaWZ5RXZlbnRDb21wb25lbnQpLFxyXG4gIH0sXHJcbl07XHJcbiJdfQ==
@@ -389,4 +389,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
389
389
  providedIn: 'root',
390
390
  }]
391
391
  }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i1.AlertsService }, { type: i1.GlobalErrorHandlerService }]; } });
392
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWFuZC1tZWV0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy1hbmQtbWVldGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sS0FBSyxXQUFXLE1BQU0sMEJBQTBCLENBQUM7QUFLeEQsT0FBTyxFQUNMLFNBQVMsR0FJVixNQUFNLHFCQUFxQixDQUFDO0FBSTdCLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBWWpGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7O0FBYTVCOzs7R0FHRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFlbkM7SUFDRSwwQ0FBMEM7SUFDbEMsV0FBd0I7SUFDaEMsMENBQTBDO0lBQ2xDLFlBQTJCO0lBQ25DLDBDQUEwQztJQUNsQyx5QkFBb0QsQ0FBQyw2Q0FBNkM7O1FBSmxHLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRXhCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRTNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFwQjlELDhEQUE4RDtRQUM5RCxjQUFTLEdBQVEsV0FBVyxDQUFDO1FBQzdCLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFPdkMsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLHdCQUFtQixHQUFHLElBQUksQ0FBQztJQVd4QixDQUFDO0lBQ0osOERBQThEO0lBQzlELFlBQVksQ0FBQyxVQUFrQixFQUFF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d0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlTWVldGluZ1BheWxvYWQsXHJcbiAgQ3JlYXRlTWVldGluZ1Jlc3BvbnNlLFxyXG59IGZyb20gJy4uL21vZGVscy9jcmVhdGUtbWVldGluZy5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgQWxlcnRUeXBlLFxyXG4gIEFsZXJ0c1NlcnZpY2UsXHJcbiAgR2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICBIdHRwU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgTWVldGluZ1R5cGVSZXNwb25zZSB9IGZyb20gJy4uL21vZGVscy9tZWV0aW5nLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRUeXBlUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvZXZlbnQtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFdmVudHNBbmRNZWV0aW5nc1ZhbGlkYXRpb25QYXR0ZXJucyB9IGZyb20gJy4uL2Fzc2V0cy9mb3JtLXZhbGlkYXRpb25zJztcclxuaW1wb3J0IHsgR2V0R3JvdXBSZXNwb25zZSwgR3JvdXBJbmZvIH0gZnJvbSAnLi4vbW9kZWxzL2dyb3VwLXJlc3BvbnNlLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uLCBDaGVja2JveE9wdGlvbiwgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZUV2ZW50UGF5bG9hZCxcclxuICBDcmVhdGVFdmVudFJlc3BvbnNlLFxyXG59IGZyb20gJy4uL21vZGVscy9jcmVhdGUtZXZlbnQubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIEdldE1lZXRpbmdzQnlFdmVudElkUGF5bG9hZCxcclxuICBHZXRNZWV0aW5nc0J5RXZlbnRJZFJlc3BvbnNlLFxyXG4gIE1lZXRpbmcsXHJcbn0gZnJvbSAnLi4vbW9kZWxzL21lZXRpbmdzLXVuZGVyLWV2ZW50cy5tb2RlbCc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7XHJcbiAgR2V0RXZlbnRzQW5kTWVldGluZ3NMaXN0UGF5bG9hZCxcclxuICBHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RSZXNwb25zZSxcclxufSBmcm9tICcuLi9tb2RlbHMvZXZlbnRzLWFuZC1tZWV0aW5ncy1saXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnREZXRhaWxzUmVzcG9uc2UgfSBmcm9tICdAZXZlbnRzLWFuZC1tZWV0aW5ncy9tb2RlbHMvdmlldy1ldmVudC5tb2RlbCc7XHJcbmltcG9ydCB7IE1lZXRpbmdEZXRhaWxzUmVzcG9uc2UgfSBmcm9tICdAZXZlbnRzLWFuZC1tZWV0aW5ncy9tb2RlbHMvdmlldy1tZWV0aW5nLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRBbmRNZWV0aW5nRnVuY3Rpb25UeXBlIH0gZnJvbSAnQGV2ZW50cy1hbmQtbWVldGluZ3MvbW9kZWxzL2V2ZW50LW1lZXRpbmctZnVuY3Rpb24tdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIE1lZXRpbmdQZXJtaXNzaW9ucyxcclxuICBVc2VyUGVybWlzc2lvbixcclxufSBmcm9tICcuLi9tb2RlbHMvbWVldGluZy1wZXJtaXNzaW9ucy5tb2RlbCc7XHJcblxyXG4vKipcclxuICogRXZlbnRzIGFuZCBNZWV0aW5ncyBzZXJ2aWNlIGlzIGFuIGFic3RyYWN0IGxheWVyIGFuZCByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgbWVldGluZ3MgYW5kIGV2ZW50cyBBUEkgY2FsbHMgYW5kIG1haW50YWluZWQgdGhlIHJldXNhYmxlIGxvZ2ljcy5cclxuICogQGNsYXNzIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZSB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG4gIGVycm9yTWVzc2FnZXMgPSB0aGlzLmNvbnN0YW50cz8uZXJyb3JzO1xyXG4gIGFwaUJhc2VVcmwhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRFdmVudElkITogc3RyaW5nO1xyXG4gIHNlbGVjdGVkTWVldGluZ0lkITogc3RyaW5nO1xyXG4gIGFjdGlvblR5cGUhOiBFdmVudEFuZE1lZXRpbmdGdW5jdGlvblR5cGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICB1c2VyUGVybWlzc2lvbiE6IFVzZXJQZXJtaXNzaW9uW107XHJcbiAgaXNFdmVudE9yTWVldGluZ0Zvcm1DaGFuZ2VkID0gZmFsc2U7XHJcbiAgaXNTdGFuZGFsb25lTWVldGluZyA9IHRydWU7XHJcbiAgZ3JvdXBzITogR3JvdXBJbmZvW107XHJcbiAgdXNlck1lZXRpbmdQZXJtaXNzaW9ucyE6IE1lZXRpbmdQZXJtaXNzaW9uc1tdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2U6IEdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0QXBwQ29uZmlnKGFwaUJhc2VVcmw6IHN0cmluZywgdXNlclBlcm1pc3Npb246IGFueVtdKSB7XHJcbiAgICB0aGlzLmFwaUJhc2VVcmwgPSBhcGlCYXNlVXJsO1xyXG4gICAgdGhpcy51c2VyUGVybWlzc2lvbiA9IHVzZXJQZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbHMgY3JlYXRlIG1lZXRpbmcgQVBJIGFsb25nIHdpdGggcGFzc2VkIENyZWF0ZU1lZXRpbmdQYXlsb2FkIHVzaW5nIEh0dHBTZXJ2aWNlIHBvc3REYXRhLlxyXG4gICAqIEBwYXJhbSB7Q3JlYXRlTWVldGluZ1BheWxvYWR9IGNyZWF0ZU1lZXRpbmdQYXlsb2FkIC1jcmVhdGUgbWVldGluZyBmb3JtIGRhdGFcclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxDcmVhdGVNZWV0aW5nUmVzcG9uc2U+fSAtcmV0dXJucyBjcmVhdGUgbWVldGluZyBBUEkgcmVzcG9uc2UgKHN1Y2Nlc3Mgb3IgZXJyb3IpIGFzIGFuIG9ic2VydmFibGUuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGNyZWF0ZU1lZXRpbmcoXHJcbiAgICBjcmVhdGVNZWV0aW5nUGF5bG9hZDogQ3JlYXRlTWVldGluZ1BheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPENyZWF0ZU1lZXRpbmdSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLnBvc3REYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vbWVldGluZ3MvY3JlYXRlYCwgY3JlYXRlTWVldGluZ1BheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgbWVldGluZyB0eXBlcyBmcm9tIHNlcnZlciBhbmQgcmV0dXJucyBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TWVldGluZ1R5cGVSZXNwb25zZT59IC0gcmV0dXJucyBtZWV0aW5nIHR5cGVzIHN1Y2Nlc3Mgb3IgZXJyb3IgcmVzcG9uc2UuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldE1lZXRpbmdUeXBlcygpOiBPYnNlcnZhYmxlPE1lZXRpbmdUeXBlUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvY29uZmlnL21lZXRpbmdfdHlwZWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgZXZlbnQgdHlwZXMgZnJvbSBzZXJ2ZXIgYW5kIHJldHVybnMgYXMgYW4gb2JzZXJ2YWJsZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV2ZW50VHlwZVJlc3BvbnNlPn0gLSByZXR1cm5zIGV2ZW50IHR5cGVzIHN1Y2Nlc3Mgb3IgZXJyb3IgcmVzcG9uc2UuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50VHlwZXMoKTogT2JzZXJ2YWJsZTxFdmVudFR5cGVSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLmdldERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9jb25maWd1cmF0aW9ucy9jb25maWcvZXZlbnRfdHlwZWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2Qgd2lsbCBwYXJzZSB0aGUgZXJyb3IgY29kZXMgYW5kIHJldHVybiB0aGUgcmVzcGVjdGl2ZSBlcnJvciBtZXNzYWdlIGZvciBlYWNoIGNvZGUuXHJcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gZXJyb3JDb2Rlc1xyXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfSBlcnJvck1lc3NhZ2VcclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgcGFyc2VFcnJvck1lc3NhZ2UoZXJyb3JDb2Rlczogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IGVycm9yTWVzc2FnZTogc3RyaW5nW10gPSBbXTtcclxuICAgIGVycm9yQ29kZXM/LmZvckVhY2goKGl0ZW06IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2VLZXkgPSBlcnJvckNvZGVzW1xyXG4gICAgICAgIGluZGV4XHJcbiAgICAgIF0gYXMga2V5b2YgdHlwZW9mIHRoaXMuZXJyb3JNZXNzYWdlcztcclxuICAgICAgZXJyb3JNZXNzYWdlLnB1c2goXHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzW2Vycm9yTWVzc2FnZUtleV0gPz8gdGhpcy5lcnJvck1lc3NhZ2VzPy5kZWZhdWx0XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgZXZlbnQgb3IgbWVldGluZyBmb3JtIGNoYW5nZSBzdGF0dXNcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzQ2hhbmdlZFxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRFdmVudE9yTWVldGluZ0Zvcm1DaGFuZ2VTdGF0dXMoaXNDaGFuZ2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlZCA9IGlzQ2hhbmdlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBldmVudCBvciBtZWV0aW5nIGZvcm0gY2hhbmdlIHN0YXR1c1xyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzRXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgSVAgQWRkcmVzcyBSYW5nZSBmb3JtIGZpZWxkIGN1c3RvbSB2YWxpZGF0b3IuXHJcbiAgICogQHJldHVybiB7VmFsaWRhdG9yRm59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGlwQWRkcmVzc1JhbmdlVmFsaWRhdG9yKGlwQWRkcmVzc1JhbmdlTWF4Q291bnQ6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIWZvcm1Db250cm9sPy52YWx1ZSAmJlxyXG4gICAgICAgIChmb3JtQ29udHJvbD8udmFsdWU/Lmxlbmd0aCA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgICBmb3JtQ29udHJvbD8udmFsdWU/Lmxlbmd0aCA9PT0gMClcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICBlbHNlIGlmICghZm9ybUNvbnRyb2w/LnZhbHVlPy50cmltKCkgJiYgZm9ybUNvbnRyb2w/LnZhbHVlPy5sZW5ndGggPiAwKVxyXG4gICAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcclxuICAgICAgY29uc3QgaXBBZGRyZXNzUmFuZ2U6IHN0cmluZ1tdID0gZm9ybUNvbnRyb2w/LnZhbHVlPy5zcGxpdCgnLCcpO1xyXG4gICAgICBsZXQgaXNWYWxpZElwQWRkcmVzcyA9IHRydWU7XHJcbiAgICAgIGlwQWRkcmVzc1JhbmdlPy5mb3JFYWNoKChpcEFkZHJlc3MpID0+IHtcclxuICAgICAgICBpcEFkZHJlc3M/LnNwbGl0KCcvJyk/LmZvckVhY2goKGlwLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBpc1ZhbGlkSXBBZGRyZXNzICYmXHJcbiAgICAgICAgICAgIEV2ZW50c0FuZE1lZXRpbmdzVmFsaWRhdGlvblBhdHRlcm5zLmlwQWRkcmVzc1JhbmdlLnRlc3QoXHJcbiAgICAgICAgICAgICAgaXA/LnRyaW0oKVxyXG4gICAgICAgICAgICApICYmXHJcbiAgICAgICAgICAgIGluZGV4IDwgMiAmJlxyXG4gICAgICAgICAgICBOdW1iZXIoaXA/LnRyaW0oKT8uc3BsaXQoJy4nKT8uWzNdKSA8IDI1N1xyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgICBpc1ZhbGlkSXBBZGRyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgIGVsc2UgaXNWYWxpZElwQWRkcmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGlzVmFsaWRJcEFkZHJlc3MgJiYgaXBBZGRyZXNzUmFuZ2U/Lmxlbmd0aCA+IGlwQWRkcmVzc1JhbmdlTWF4Q291bnQpXHJcbiAgICAgICAgcmV0dXJuIHsgbWF4OiB0cnVlIH07XHJcbiAgICAgIGVsc2UgaWYgKFxyXG4gICAgICAgIGlzVmFsaWRJcEFkZHJlc3MgJiZcclxuICAgICAgICBpcEFkZHJlc3NSYW5nZT8ubGVuZ3RoIDw9IGlwQWRkcmVzc1JhbmdlTWF4Q291bnRcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XHJcbiAgICB9O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHJvb3QgZ3JvdXBzIG9mIHNwZWNpZmllZCBhcHBsaWNhdGlvbiBmcm9tIEFQSSBhbmQgcmV0dXJucyBHZXRHcm91cFJlc3BvbnNlIGFzIGFuIG9ic2VydmFibGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZXRHcm91cFJlc3BvbnNlPn0gLSByZXR1cm5zIGxpc3Qgb2YgZ3JvdXBzIHdoZW4gc3VjY2VzcyBlbHNlIGFzc29jaWF0ZWQgZXJyb3IuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEdyb3VwcygpOiBPYnNlcnZhYmxlPEdldEdyb3VwUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vZ3JvdXBzL2FsbEdyb3Vwc09mVXNlcmApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBzID0gcmVzcG9uc2U/LmJvZHk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFV0aWxpdHkgZnVuY3Rpb24gdG8gc29ydCB0aGUgZHJvcGRvd24gb3B0aW9ucyBpbiBhc2NlbmRpbmcgb3JkZXIuXHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb25bXX0gbGlzdFxyXG4gICAqIEByZXR1cm4ge1NlbGVjdE9wdGlvbltdfS5cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgc29ydE9wdGlvbnMobGlzdDogU2VsZWN0T3B0aW9uW10pOiBTZWxlY3RPcHRpb25bXSB7XHJcbiAgICBjb25zdCBjbG9uZWRWYWx1ZSA9IFsuLi5saXN0XTtcclxuICAgIGNvbnN0IHNvcnQgPSBjbG9uZWRWYWx1ZS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmIChhLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYi5uYW1lLnRvTG93ZXJDYXNlKCkpIHJldHVybiAwO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhbGwnKSByZXR1cm4gLTE7XHJcbiAgICAgIGlmIChiLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2FsbCcpIHJldHVybiAxO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPCBiLm5hbWUudG9Mb3dlckNhc2UoKSkgcmV0dXJuIC0xO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPiBiLm5hbWUudG9Mb3dlckNhc2UoKSkgcmV0dXJuIDE7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc29ydDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc3RzIGNyZWF0ZSBldmVudCBmb3JtIGRhdGEgdG8gc2VydmVyIHVzaW5nIEh0dHBTZXJ2aWNlIGZvciBjcmVhdGluZyBuZXcgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtDcmVhdGVFdmVudFBheWxvYWR9IGNyZWF0ZUV2ZW50UGF5bG9hZCAtY3JlYXRlIGV2ZW50IGZvcm0gZGF0YVxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPENyZWF0ZUV2ZW50UmVzcG9uc2U+fSAtcmV0dXJucyBjcmVhdGUgZXZlbnQgQVBJIHJlc3BvbnNlIChzdWNjZXNzIG9yIGVycm9yKSBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBjcmVhdGVFdmVudChcclxuICAgIGNyZWF0ZUV2ZW50UGF5bG9hZDogQ3JlYXRlRXZlbnRQYXlsb2FkXHJcbiAgKTogT2JzZXJ2YWJsZTxDcmVhdGVFdmVudFJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucG9zdERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9tZWV0aW5ncy9ldmVudC9jcmVhdGVgLCBjcmVhdGVFdmVudFBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgbWVldGluZyBjcmVhdGVkIHVuZGVyIGV2ZW50cyBmcm9tIEFQSSBhbmQgcmV0dXJucyBpdCBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2V0TWVldGluZ3NCeUV2ZW50SWRSZXNwb25zZT59IC1JdCByZXR1cm5zIG1lZXRpbmdzIGlmIHN1Y2Nlc3MgZWxzZSBlcnJvci5cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0TWVldGluZ3NCeUV2ZW50SWQoXHJcbiAgICBwYXlsb2FkOiBHZXRNZWV0aW5nc0J5RXZlbnRJZFBheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPEdldE1lZXRpbmdzQnlFdmVudElkUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5wb3N0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L21lZXRpbmdzL21lZXRpbmdzRGV0YWlsc2AsIHBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJlc3BvbnNlLmJvZHk/Lm1lZXRpbmdzPy5tYXAoXHJcbiAgICAgICAgICAgIChtZWV0aW5nOiBNZWV0aW5nKSA9PlxyXG4gICAgICAgICAgICAgIChtZWV0aW5nLmdyb3VwTmFtZSA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3Vwcz8uZmluZCgoZ3JvdXApID0+IGdyb3VwLmdyb3VwSWQgPT09IG1lZXRpbmcuZ3JvdXBJZClcclxuICAgICAgICAgICAgICAgICAgPy5ncm91cE5hbWUgPz8gJycpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzZWxlY3RlZCBldmVudCBpZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRJZFxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRTZWxlY3RlZEV2ZW50SWQoZXZlbnRJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRXZlbnRJZCA9IGV2ZW50SWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHNlbGVjdGVkIGV2ZW50IGlkLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0U2VsZWN0ZWRFdmVudElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEV2ZW50SWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciB0aGUgZHJvcGRvd24gb3B0aW9ucyBvbiB0aGUgYmFzaXMgb2Ygc2VhcmNoIHRlcm0uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3sgc2VhcmNoRXZlbnQ6IEV2ZW50OyBjb250cm9sTmFtZTogc3RyaW5nIH19IHNlYXJjaFRlcm1cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbltdfSBkZWZhdWx0T3B0aW9uc1xyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IGZpbHRlcmVkT3B0aW9uc1xyXG4gICAqIEByZXR1cm4geyp9IFNlbGVjdE9wdGlvbltdXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGZpbHRlck9wdGlvbnMoXHJcbiAgICBzZWFyY2hUZXJtOiB7IHNlYXJjaEV2ZW50OiBFdmVudDsgY29udHJvbE5hbWU6IHN0cmluZyB9LFxyXG4gICAgZGVmYXVsdE9wdGlvbnM6IFNlbGVjdE9wdGlvbltdLFxyXG4gICAgZmlsdGVyZWRPcHRpb25zOiBTZWxlY3RPcHRpb25bXVxyXG4gICk6IFNlbGVjdE9wdGlvbltdIHtcclxuICAgIGlmICghc2VhcmNoVGVybS5zZWFyY2hFdmVudCkge1xyXG4gICAgICBmaWx0ZXJlZE9wdGlvbnMgPSBkZWZhdWx0T3B0aW9ucztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbHRlcmVkT3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zLmZpbHRlcihcclxuICAgICAgICAob3B0aW9uKSA9PlxyXG4gICAgICAgICAgb3B0aW9uLm5hbWVcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLmluZGV4T2Yoc2VhcmNoVGVybS5zZWFyY2hFdmVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpID4gLTFcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJlZE9wdGlvbnM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgZHJvcGRvd24gb3B0aW9ucyBvZiBldmVudCB0eXBlcyBhbmQgcmVsYXRlZCBncm91cCBmb3JtIGZpZWxkcy5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybUNvbnRyb2xOYW1lXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZvcm1Db250cm9sSW5wdXRQcm9wZXJ0eVxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IG9wdGlvbnNcclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlT3JNb2RpZnlFdmVudENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHVwZGF0ZUZvcm1Db250cm9sT3B0aW9ucyhcclxuICAgIGZvcm1Db250cm9sTmFtZTogc3RyaW5nLFxyXG4gICAgZm9ybUNvbnRyb2xJbnB1dFByb3BlcnR5OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBTZWxlY3RPcHRpb25bXSB8IENoZWNrYm94T3B0aW9uW10sXHJcbiAgICBkeW5hbWljRm9ybUNvbXBvbmVudDogRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSBkeW5hbWljRm9ybUNvbXBvbmVudD8uZm9ybUZpZWxkcz8udG9BcnJheSgpO1xyXG4gICAgZm9ybUZpZWxkcz8uZm9yRWFjaCgoZm9ybUZpZWxkKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBmb3JtRmllbGQ/LmNvbXBvbmVudD8uaW5zdGFuY2U/LmNvbmZpZz8uY29udHJvbE5hbWUgPT09XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWUgJiZcclxuICAgICAgICBmb3JtRmllbGQ/LmNvbXBvbmVudD8uaW5zdGFuY2U/Lltmb3JtQ29udHJvbElucHV0UHJvcGVydHldXHJcbiAgICAgIClcclxuICAgICAgICBmb3JtRmllbGQuY29tcG9uZW50Lmluc3RhbmNlW2Zvcm1Db250cm9sSW5wdXRQcm9wZXJ0eV0gPSBvcHRpb25zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIGN1c3RvbSBlcnJvcnNcclxuICAgKiBAcGFyYW0geyp9IGVycm9yXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgaGFuZGxlRXJyb3JzKGVycm9yOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVycm9yQ29kZXMgPSBlcnJvcj8uZXJyb3I/LmJvZHk/LmVycm9yQ29kZXM7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShlcnJvckNvZGVzKSAmJiAhZXJyb3I/LmVycm9yPy5zdGF0dXMpIHtcclxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gdGhpcy5wYXJzZUVycm9yTWVzc2FnZShlcnJvckNvZGVzKTtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2U/LnNob3dNZXNzYWdlKHtcclxuICAgICAgICBzdGF0dXM6ICdjdXN0b20nLFxyXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yTWVzc2FnZSxcclxuICAgICAgICBhbGVydFR5cGU6IEFsZXJ0VHlwZS5FUlJPUixcclxuICAgICAgICBpc0Nsb3NlTmVlZGVkOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3IgJiYgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICB0aGlzLmdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBkYXRlIHRpbWUgdG8gVVRDIGZvcm1hdFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRlVGltZVxyXG4gICAqIEByZXR1cm4geyp9ICB7KHN0cmluZyB8IG51bGwpfVxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBjb252ZXJ0RGF0ZVRpbWVUb1VUQyhkYXRlVGltZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChkYXRlVGltZSkge1xyXG4gICAgICByZXR1cm4gbW9tZW50KGRhdGVUaW1lKS51dGModHJ1ZSkuZm9ybWF0KCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0ZVRpbWU7XHJcbiAgfVxyXG4gIC8qIEdldCB0aGUgZXZlbnQgZGV0YWlscyBmb3IgdGhlIGdpdmVuIGV2ZW50IGlkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudElkXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxFdmVudERldGFpbHNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50RGV0YWlscyhldmVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50RGV0YWlsc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L21lZXRpbmdzL2V2ZW50LyR7ZXZlbnRJZH1gKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIG1lZXRpbmcgZGV0YWlscyBmb3IgdGhlIGdpdmVuIG1lZXRpbmcgaWQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lZXRpbmdJZFxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TWVldGluZ0RldGFpbHNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldE1lZXRpbmdEZXRhaWxzKG1lZXRpbmdJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZWV0aW5nRGV0YWlsc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L21lZXRpbmdzL21lZXRpbmcvJHttZWV0aW5nSWR9YClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgc2VsZWN0ZWQgbWVldGluZyBpZCBmcm9tIHRoZSBldmVudHMgYW5kIG1lZXRpbmcgZGV0YWlscyBwYWdlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZWV0aW5nSWRcclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2V0U2VsZWN0ZWRNZWV0aW5nSWQobWVldGluZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRNZWV0aW5nSWQgPSBtZWV0aW5nSWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aGUgc2VsZWN0ZWQgbWVldGluZyBpZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0U2VsZWN0ZWRNZWV0aW5nSWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE1lZXRpbmdJZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyBpc1N0YW5kYWxvbmVNZWV0aW5nIGZsYWcgc3RhdHVzXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBpc1N0YW5kYWxvbmVNZWV0aW5nXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIHNldFN0YW5kYWxvbmVNZWV0aW5nU3RhdHVzKGlzU3RhbmRhbG9uZU1lZXRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNTdGFuZGFsb25lTWVldGluZyA9IGlzU3RhbmRhbG9uZU1lZXRpbmc7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgaXNTdGFuZGFsb25lTWVldGluZyBmbGFnIHN0YXR1c1xyXG4gICAqIEByZXR1cm4geyp9ICB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0U3RhbmRhbG9uZU1lZXRpbmdTdGF0dXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1N0YW5kYWxvbmVNZWV0aW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyBFdmVudCBhbmQgTWVldGluZyBMaXN0IGZyb20gQVBJIGFuZCByZXR1cm5zIGl0IGFzIGFuIG9ic2VydmFibGUuXHJcbiAgICogQHBhcmFtIHtHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RQYXlsb2FkfSBwYXlsb2FkIHRvIGdldCBldmVudCBhbmQgbWVldGluZyBsaXN0XHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RSZXNwb25zZT59IC1JdCByZXR1cm5zIExpc3Qgb2YgZXZlbnRzIGFuZCBtZWV0aW5ncyBpZiBzdWNjZXNzIGVsc2UgZXJyb3IuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50QW5kTWVldGluZ0xpc3QoXHJcbiAgICBwYXlsb2FkOiBHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RQYXlsb2FkXHJcbiAgKTogT2JzZXJ2YWJsZTxHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLnBvc3REYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vbWVldGluZ3MvZXZlbnRzQW5kTWVldGluZ3NgLCBwYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB1c2VyIG1lZXRpbmcgcGVybWlzc2lvbnNcclxuICAgKiBAcGFyYW0ge0dyb3VwUGVybWlzc2lvbltdfSB1c2VyR3JvdXBQZXJtaXNzaW9uc1xyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2V0VXNlck1lZXRpbmdQZXJtaXNzaW9ucyh1c2VyR3JvdXBQZXJtaXNzaW9uczogTWVldGluZ1Blcm1pc3Npb25zW10pIHtcclxuICAgIHRoaXMudXNlck1lZXRpbmdQZXJtaXNzaW9ucyA9IHVzZXJHcm91cFBlcm1pc3Npb25zO1xyXG4gIH1cclxufVxyXG4iXX0=
392
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLWFuZC1tZWV0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXZlbnRzLWFuZC1tZWV0aW5ncy9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy1hbmQtbWVldGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sS0FBSyxXQUFXLE1BQU0sMEJBQTBCLENBQUM7QUFLeEQsT0FBTyxFQUNMLFNBQVMsR0FJVixNQUFNLHFCQUFxQixDQUFDO0FBSTdCLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBWWpGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7O0FBYTVCOzs7R0FHRztBQUlILE1BQU0sT0FBTyx3QkFBd0I7SUFlbkM7SUFDRSwwQ0FBMEM7SUFDbEMsV0FBd0I7SUFDaEMsMENBQTBDO0lBQ2xDLFlBQTJCO0lBQ25DLDBDQUEwQztJQUNsQyx5QkFBb0QsQ0FBQyw2Q0FBNkM7O1FBSmxHLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRXhCLGlCQUFZLEdBQVosWUFBWSxDQUFlO1FBRTNCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFwQjlELDhEQUE4RDtRQUM5RCxjQUFTLEdBQVEsV0FBVyxDQUFDO1FBQzdCLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFPdkMsZ0NBQTJCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLHdCQUFtQixHQUFHLElBQUksQ0FBQztJQVd4QixDQUFDO0lBQ0osOERBQThEO0lBQzlELFlBQVksQ0FBQyxVQUFrQixFQUFF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d0IsY0FGdkIsTUFBTTs7NEZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7XHJcbiAgQ3JlYXRlTWVldGluZ1BheWxvYWQsXHJcbiAgQ3JlYXRlTWVldGluZ1Jlc3BvbnNlLFxyXG59IGZyb20gJy4uL21vZGVscy9jcmVhdGUtbWVldGluZy5tb2RlbCc7XHJcbmltcG9ydCB7XHJcbiAgQWxlcnRUeXBlLFxyXG4gIEFsZXJ0c1NlcnZpY2UsXHJcbiAgR2xvYmFsRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICBIdHRwU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgTWVldGluZ1R5cGVSZXNwb25zZSB9IGZyb20gJy4uL21vZGVscy9tZWV0aW5nLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRUeXBlUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvZXZlbnQtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFdmVudHNBbmRNZWV0aW5nc1ZhbGlkYXRpb25QYXR0ZXJucyB9IGZyb20gJy4uL2Fzc2V0cy9mb3JtLXZhbGlkYXRpb25zJztcclxuaW1wb3J0IHsgR2V0R3JvdXBSZXNwb25zZSwgR3JvdXBJbmZvIH0gZnJvbSAnLi4vbW9kZWxzL2dyb3VwLXJlc3BvbnNlLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uLCBDaGVja2JveE9wdGlvbiwgRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICdAaWVlZXNhLW5wbS9wcmVzZW50YXRpb24nO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZUV2ZW50UGF5bG9hZCxcclxuICBDcmVhdGVFdmVudFJlc3BvbnNlLFxyXG59IGZyb20gJy4uL21vZGVscy9jcmVhdGUtZXZlbnQubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIEdldE1lZXRpbmdzQnlFdmVudElkUGF5bG9hZCxcclxuICBHZXRNZWV0aW5nc0J5RXZlbnRJZFJlc3BvbnNlLFxyXG4gIE1lZXRpbmcsXHJcbn0gZnJvbSAnLi4vbW9kZWxzL21lZXRpbmdzLXVuZGVyLWV2ZW50cy5tb2RlbCc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7XHJcbiAgR2V0RXZlbnRzQW5kTWVldGluZ3NMaXN0UGF5bG9hZCxcclxuICBHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RSZXNwb25zZSxcclxufSBmcm9tICcuLi9tb2RlbHMvZXZlbnRzLWFuZC1tZWV0aW5ncy1saXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnREZXRhaWxzUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvdmlldy1ldmVudC5tb2RlbCc7XHJcbmltcG9ydCB7IE1lZXRpbmdEZXRhaWxzUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvdmlldy1tZWV0aW5nLm1vZGVsJztcclxuaW1wb3J0IHsgRXZlbnRBbmRNZWV0aW5nRnVuY3Rpb25UeXBlIH0gZnJvbSAnLi4vbW9kZWxzL2V2ZW50LW1lZXRpbmctZnVuY3Rpb24tdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIE1lZXRpbmdQZXJtaXNzaW9ucyxcclxuICBVc2VyUGVybWlzc2lvbixcclxufSBmcm9tICcuLi9tb2RlbHMvbWVldGluZy1wZXJtaXNzaW9ucy5tb2RlbCc7XHJcblxyXG4vKipcclxuICogRXZlbnRzIGFuZCBNZWV0aW5ncyBzZXJ2aWNlIGlzIGFuIGFic3RyYWN0IGxheWVyIGFuZCByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgbWVldGluZ3MgYW5kIGV2ZW50cyBBUEkgY2FsbHMgYW5kIG1haW50YWluZWQgdGhlIHJldXNhYmxlIGxvZ2ljcy5cclxuICogQGNsYXNzIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZSB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG4gIGVycm9yTWVzc2FnZXMgPSB0aGlzLmNvbnN0YW50cz8uZXJyb3JzO1xyXG4gIGFwaUJhc2VVcmwhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRFdmVudElkITogc3RyaW5nO1xyXG4gIHNlbGVjdGVkTWVldGluZ0lkITogc3RyaW5nO1xyXG4gIGFjdGlvblR5cGUhOiBFdmVudEFuZE1lZXRpbmdGdW5jdGlvblR5cGU7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICB1c2VyUGVybWlzc2lvbiE6IFVzZXJQZXJtaXNzaW9uW107XHJcbiAgaXNFdmVudE9yTWVldGluZ0Zvcm1DaGFuZ2VkID0gZmFsc2U7XHJcbiAgaXNTdGFuZGFsb25lTWVldGluZyA9IHRydWU7XHJcbiAgZ3JvdXBzITogR3JvdXBJbmZvW107XHJcbiAgdXNlck1lZXRpbmdQZXJtaXNzaW9ucyE6IE1lZXRpbmdQZXJtaXNzaW9uc1tdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgYWxlcnRTZXJ2aWNlOiBBbGVydHNTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2U6IEdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0QXBwQ29uZmlnKGFwaUJhc2VVcmw6IHN0cmluZywgdXNlclBlcm1pc3Npb246IGFueVtdKSB7XHJcbiAgICB0aGlzLmFwaUJhc2VVcmwgPSBhcGlCYXNlVXJsO1xyXG4gICAgdGhpcy51c2VyUGVybWlzc2lvbiA9IHVzZXJQZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsbHMgY3JlYXRlIG1lZXRpbmcgQVBJIGFsb25nIHdpdGggcGFzc2VkIENyZWF0ZU1lZXRpbmdQYXlsb2FkIHVzaW5nIEh0dHBTZXJ2aWNlIHBvc3REYXRhLlxyXG4gICAqIEBwYXJhbSB7Q3JlYXRlTWVldGluZ1BheWxvYWR9IGNyZWF0ZU1lZXRpbmdQYXlsb2FkIC1jcmVhdGUgbWVldGluZyBmb3JtIGRhdGFcclxuICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxDcmVhdGVNZWV0aW5nUmVzcG9uc2U+fSAtcmV0dXJucyBjcmVhdGUgbWVldGluZyBBUEkgcmVzcG9uc2UgKHN1Y2Nlc3Mgb3IgZXJyb3IpIGFzIGFuIG9ic2VydmFibGUuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGNyZWF0ZU1lZXRpbmcoXHJcbiAgICBjcmVhdGVNZWV0aW5nUGF5bG9hZDogQ3JlYXRlTWVldGluZ1BheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPENyZWF0ZU1lZXRpbmdSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLnBvc3REYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vbWVldGluZ3MvY3JlYXRlYCwgY3JlYXRlTWVldGluZ1BheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgbWVldGluZyB0eXBlcyBmcm9tIHNlcnZlciBhbmQgcmV0dXJucyBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TWVldGluZ1R5cGVSZXNwb25zZT59IC0gcmV0dXJucyBtZWV0aW5nIHR5cGVzIHN1Y2Nlc3Mgb3IgZXJyb3IgcmVzcG9uc2UuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldE1lZXRpbmdUeXBlcygpOiBPYnNlcnZhYmxlPE1lZXRpbmdUeXBlUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vY29uZmlndXJhdGlvbnMvY29uZmlnL21lZXRpbmdfdHlwZWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgZXZlbnQgdHlwZXMgZnJvbSBzZXJ2ZXIgYW5kIHJldHVybnMgYXMgYW4gb2JzZXJ2YWJsZS5cclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlPEV2ZW50VHlwZVJlc3BvbnNlPn0gLSByZXR1cm5zIGV2ZW50IHR5cGVzIHN1Y2Nlc3Mgb3IgZXJyb3IgcmVzcG9uc2UuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50VHlwZXMoKTogT2JzZXJ2YWJsZTxFdmVudFR5cGVSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLmdldERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9jb25maWd1cmF0aW9ucy9jb25maWcvZXZlbnRfdHlwZWApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVGhpcyBtZXRob2Qgd2lsbCBwYXJzZSB0aGUgZXJyb3IgY29kZXMgYW5kIHJldHVybiB0aGUgcmVzcGVjdGl2ZSBlcnJvciBtZXNzYWdlIGZvciBlYWNoIGNvZGUuXHJcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gZXJyb3JDb2Rlc1xyXG4gICAqIEByZXR1cm4ge3N0cmluZ1tdfSBlcnJvck1lc3NhZ2VcclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgcGFyc2VFcnJvck1lc3NhZ2UoZXJyb3JDb2Rlczogc3RyaW5nW10pIHtcclxuICAgIGNvbnN0IGVycm9yTWVzc2FnZTogc3RyaW5nW10gPSBbXTtcclxuICAgIGVycm9yQ29kZXM/LmZvckVhY2goKGl0ZW06IHN0cmluZywgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2VLZXkgPSBlcnJvckNvZGVzW1xyXG4gICAgICAgIGluZGV4XHJcbiAgICAgIF0gYXMga2V5b2YgdHlwZW9mIHRoaXMuZXJyb3JNZXNzYWdlcztcclxuICAgICAgZXJyb3JNZXNzYWdlLnB1c2goXHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VzW2Vycm9yTWVzc2FnZUtleV0gPz8gdGhpcy5lcnJvck1lc3NhZ2VzPy5kZWZhdWx0XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBlcnJvck1lc3NhZ2U7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgZXZlbnQgb3IgbWVldGluZyBmb3JtIGNoYW5nZSBzdGF0dXNcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGlzQ2hhbmdlZFxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRFdmVudE9yTWVldGluZ0Zvcm1DaGFuZ2VTdGF0dXMoaXNDaGFuZ2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlZCA9IGlzQ2hhbmdlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBldmVudCBvciBtZWV0aW5nIGZvcm0gY2hhbmdlIHN0YXR1c1xyXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50T3JNZWV0aW5nRm9ybUNoYW5nZVN0YXR1cygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzRXZlbnRPck1lZXRpbmdGb3JtQ2hhbmdlZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgSVAgQWRkcmVzcyBSYW5nZSBmb3JtIGZpZWxkIGN1c3RvbSB2YWxpZGF0b3IuXHJcbiAgICogQHJldHVybiB7VmFsaWRhdG9yRm59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGlwQWRkcmVzc1JhbmdlVmFsaWRhdG9yKGlwQWRkcmVzc1JhbmdlTWF4Q291bnQ6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIWZvcm1Db250cm9sPy52YWx1ZSAmJlxyXG4gICAgICAgIChmb3JtQ29udHJvbD8udmFsdWU/Lmxlbmd0aCA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgICBmb3JtQ29udHJvbD8udmFsdWU/Lmxlbmd0aCA9PT0gMClcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICBlbHNlIGlmICghZm9ybUNvbnRyb2w/LnZhbHVlPy50cmltKCkgJiYgZm9ybUNvbnRyb2w/LnZhbHVlPy5sZW5ndGggPiAwKVxyXG4gICAgICAgIHJldHVybiB7IHBhdHRlcm46IHRydWUgfTtcclxuICAgICAgY29uc3QgaXBBZGRyZXNzUmFuZ2U6IHN0cmluZ1tdID0gZm9ybUNvbnRyb2w/LnZhbHVlPy5zcGxpdCgnLCcpO1xyXG4gICAgICBsZXQgaXNWYWxpZElwQWRkcmVzcyA9IHRydWU7XHJcbiAgICAgIGlwQWRkcmVzc1JhbmdlPy5mb3JFYWNoKChpcEFkZHJlc3MpID0+IHtcclxuICAgICAgICBpcEFkZHJlc3M/LnNwbGl0KCcvJyk/LmZvckVhY2goKGlwLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBpc1ZhbGlkSXBBZGRyZXNzICYmXHJcbiAgICAgICAgICAgIEV2ZW50c0FuZE1lZXRpbmdzVmFsaWRhdGlvblBhdHRlcm5zLmlwQWRkcmVzc1JhbmdlLnRlc3QoXHJcbiAgICAgICAgICAgICAgaXA/LnRyaW0oKVxyXG4gICAgICAgICAgICApICYmXHJcbiAgICAgICAgICAgIGluZGV4IDwgMiAmJlxyXG4gICAgICAgICAgICBOdW1iZXIoaXA/LnRyaW0oKT8uc3BsaXQoJy4nKT8uWzNdKSA8IDI1N1xyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgICBpc1ZhbGlkSXBBZGRyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgIGVsc2UgaXNWYWxpZElwQWRkcmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGlzVmFsaWRJcEFkZHJlc3MgJiYgaXBBZGRyZXNzUmFuZ2U/Lmxlbmd0aCA+IGlwQWRkcmVzc1JhbmdlTWF4Q291bnQpXHJcbiAgICAgICAgcmV0dXJuIHsgbWF4OiB0cnVlIH07XHJcbiAgICAgIGVsc2UgaWYgKFxyXG4gICAgICAgIGlzVmFsaWRJcEFkZHJlc3MgJiZcclxuICAgICAgICBpcEFkZHJlc3NSYW5nZT8ubGVuZ3RoIDw9IGlwQWRkcmVzc1JhbmdlTWF4Q291bnRcclxuICAgICAgKVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICByZXR1cm4geyBwYXR0ZXJuOiB0cnVlIH07XHJcbiAgICB9O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHJvb3QgZ3JvdXBzIG9mIHNwZWNpZmllZCBhcHBsaWNhdGlvbiBmcm9tIEFQSSBhbmQgcmV0dXJucyBHZXRHcm91cFJlc3BvbnNlIGFzIGFuIG9ic2VydmFibGUuXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZXRHcm91cFJlc3BvbnNlPn0gLSByZXR1cm5zIGxpc3Qgb2YgZ3JvdXBzIHdoZW4gc3VjY2VzcyBlbHNlIGFzc29jaWF0ZWQgZXJyb3IuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEdyb3VwcygpOiBPYnNlcnZhYmxlPEdldEdyb3VwUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5nZXREYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vZ3JvdXBzL2FsbEdyb3Vwc09mVXNlcmApXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXBzID0gcmVzcG9uc2U/LmJvZHk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXMpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yUmVzO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFV0aWxpdHkgZnVuY3Rpb24gdG8gc29ydCB0aGUgZHJvcGRvd24gb3B0aW9ucyBpbiBhc2NlbmRpbmcgb3JkZXIuXHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb25bXX0gbGlzdFxyXG4gICAqIEByZXR1cm4ge1NlbGVjdE9wdGlvbltdfS5cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgc29ydE9wdGlvbnMobGlzdDogU2VsZWN0T3B0aW9uW10pOiBTZWxlY3RPcHRpb25bXSB7XHJcbiAgICBjb25zdCBjbG9uZWRWYWx1ZSA9IFsuLi5saXN0XTtcclxuICAgIGNvbnN0IHNvcnQgPSBjbG9uZWRWYWx1ZS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmIChhLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYi5uYW1lLnRvTG93ZXJDYXNlKCkpIHJldHVybiAwO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdhbGwnKSByZXR1cm4gLTE7XHJcbiAgICAgIGlmIChiLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2FsbCcpIHJldHVybiAxO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPCBiLm5hbWUudG9Mb3dlckNhc2UoKSkgcmV0dXJuIC0xO1xyXG4gICAgICBpZiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPiBiLm5hbWUudG9Mb3dlckNhc2UoKSkgcmV0dXJuIDE7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc29ydDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc3RzIGNyZWF0ZSBldmVudCBmb3JtIGRhdGEgdG8gc2VydmVyIHVzaW5nIEh0dHBTZXJ2aWNlIGZvciBjcmVhdGluZyBuZXcgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtDcmVhdGVFdmVudFBheWxvYWR9IGNyZWF0ZUV2ZW50UGF5bG9hZCAtY3JlYXRlIGV2ZW50IGZvcm0gZGF0YVxyXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPENyZWF0ZUV2ZW50UmVzcG9uc2U+fSAtcmV0dXJucyBjcmVhdGUgZXZlbnQgQVBJIHJlc3BvbnNlIChzdWNjZXNzIG9yIGVycm9yKSBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBjcmVhdGVFdmVudChcclxuICAgIGNyZWF0ZUV2ZW50UGF5bG9hZDogQ3JlYXRlRXZlbnRQYXlsb2FkXHJcbiAgKTogT2JzZXJ2YWJsZTxDcmVhdGVFdmVudFJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAucG9zdERhdGEoYCR7dGhpcy5hcGlCYXNlVXJsfS9tZWV0aW5ncy9ldmVudC9jcmVhdGVgLCBjcmVhdGVFdmVudFBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJldHVybiByZXNwb25zZTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgbWVldGluZyBjcmVhdGVkIHVuZGVyIGV2ZW50cyBmcm9tIEFQSSBhbmQgcmV0dXJucyBpdCBhcyBhbiBvYnNlcnZhYmxlLlxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8R2V0TWVldGluZ3NCeUV2ZW50SWRSZXNwb25zZT59IC1JdCByZXR1cm5zIG1lZXRpbmdzIGlmIHN1Y2Nlc3MgZWxzZSBlcnJvci5cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0TWVldGluZ3NCeUV2ZW50SWQoXHJcbiAgICBwYXlsb2FkOiBHZXRNZWV0aW5nc0J5RXZlbnRJZFBheWxvYWRcclxuICApOiBPYnNlcnZhYmxlPEdldE1lZXRpbmdzQnlFdmVudElkUmVzcG9uc2U+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlXHJcbiAgICAgIC5wb3N0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L21lZXRpbmdzL21lZXRpbmdzRGV0YWlsc2AsIHBheWxvYWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHJlc3BvbnNlLmJvZHk/Lm1lZXRpbmdzPy5tYXAoXHJcbiAgICAgICAgICAgIChtZWV0aW5nOiBNZWV0aW5nKSA9PlxyXG4gICAgICAgICAgICAgIChtZWV0aW5nLmdyb3VwTmFtZSA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyb3Vwcz8uZmluZCgoZ3JvdXApID0+IGdyb3VwLmdyb3VwSWQgPT09IG1lZXRpbmcuZ3JvdXBJZClcclxuICAgICAgICAgICAgICAgICAgPy5ncm91cE5hbWUgPz8gJycpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzZWxlY3RlZCBldmVudCBpZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRJZFxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBzZXRTZWxlY3RlZEV2ZW50SWQoZXZlbnRJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRXZlbnRJZCA9IGV2ZW50SWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHNlbGVjdGVkIGV2ZW50IGlkLlxyXG4gICAqIEByZXR1cm4ge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0U2VsZWN0ZWRFdmVudElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEV2ZW50SWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEZpbHRlciB0aGUgZHJvcGRvd24gb3B0aW9ucyBvbiB0aGUgYmFzaXMgb2Ygc2VhcmNoIHRlcm0uXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge3sgc2VhcmNoRXZlbnQ6IEV2ZW50OyBjb250cm9sTmFtZTogc3RyaW5nIH19IHNlYXJjaFRlcm1cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbltdfSBkZWZhdWx0T3B0aW9uc1xyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IGZpbHRlcmVkT3B0aW9uc1xyXG4gICAqIEByZXR1cm4geyp9IFNlbGVjdE9wdGlvbltdXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGZpbHRlck9wdGlvbnMoXHJcbiAgICBzZWFyY2hUZXJtOiB7IHNlYXJjaEV2ZW50OiBFdmVudDsgY29udHJvbE5hbWU6IHN0cmluZyB9LFxyXG4gICAgZGVmYXVsdE9wdGlvbnM6IFNlbGVjdE9wdGlvbltdLFxyXG4gICAgZmlsdGVyZWRPcHRpb25zOiBTZWxlY3RPcHRpb25bXVxyXG4gICk6IFNlbGVjdE9wdGlvbltdIHtcclxuICAgIGlmICghc2VhcmNoVGVybS5zZWFyY2hFdmVudCkge1xyXG4gICAgICBmaWx0ZXJlZE9wdGlvbnMgPSBkZWZhdWx0T3B0aW9ucztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZpbHRlcmVkT3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zLmZpbHRlcihcclxuICAgICAgICAob3B0aW9uKSA9PlxyXG4gICAgICAgICAgb3B0aW9uLm5hbWVcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLmluZGV4T2Yoc2VhcmNoVGVybS5zZWFyY2hFdmVudC50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkpID4gLTFcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJlZE9wdGlvbnM7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZSB0aGUgZHJvcGRvd24gb3B0aW9ucyBvZiBldmVudCB0eXBlcyBhbmQgcmVsYXRlZCBncm91cCBmb3JtIGZpZWxkcy5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybUNvbnRyb2xOYW1lXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGZvcm1Db250cm9sSW5wdXRQcm9wZXJ0eVxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IG9wdGlvbnNcclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlT3JNb2RpZnlFdmVudENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHVwZGF0ZUZvcm1Db250cm9sT3B0aW9ucyhcclxuICAgIGZvcm1Db250cm9sTmFtZTogc3RyaW5nLFxyXG4gICAgZm9ybUNvbnRyb2xJbnB1dFByb3BlcnR5OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBTZWxlY3RPcHRpb25bXSB8IENoZWNrYm94T3B0aW9uW10sXHJcbiAgICBkeW5hbWljRm9ybUNvbXBvbmVudDogRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICApOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvcm1GaWVsZHMgPSBkeW5hbWljRm9ybUNvbXBvbmVudD8uZm9ybUZpZWxkcz8udG9BcnJheSgpO1xyXG4gICAgZm9ybUZpZWxkcz8uZm9yRWFjaCgoZm9ybUZpZWxkKSA9PiB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBmb3JtRmllbGQ/LmNvbXBvbmVudD8uaW5zdGFuY2U/LmNvbmZpZz8uY29udHJvbE5hbWUgPT09XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWUgJiZcclxuICAgICAgICBmb3JtRmllbGQ/LmNvbXBvbmVudD8uaW5zdGFuY2U/Lltmb3JtQ29udHJvbElucHV0UHJvcGVydHldXHJcbiAgICAgIClcclxuICAgICAgICBmb3JtRmllbGQuY29tcG9uZW50Lmluc3RhbmNlW2Zvcm1Db250cm9sSW5wdXRQcm9wZXJ0eV0gPSBvcHRpb25zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIGN1c3RvbSBlcnJvcnNcclxuICAgKiBAcGFyYW0geyp9IGVycm9yXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgaGFuZGxlRXJyb3JzKGVycm9yOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IGVycm9yQ29kZXMgPSBlcnJvcj8uZXJyb3I/LmJvZHk/LmVycm9yQ29kZXM7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShlcnJvckNvZGVzKSAmJiAhZXJyb3I/LmVycm9yPy5zdGF0dXMpIHtcclxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gdGhpcy5wYXJzZUVycm9yTWVzc2FnZShlcnJvckNvZGVzKTtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2U/LnNob3dNZXNzYWdlKHtcclxuICAgICAgICBzdGF0dXM6ICdjdXN0b20nLFxyXG4gICAgICAgIG1lc3NhZ2U6IGVycm9yTWVzc2FnZSxcclxuICAgICAgICBhbGVydFR5cGU6IEFsZXJ0VHlwZS5FUlJPUixcclxuICAgICAgICBpc0Nsb3NlTmVlZGVkOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoZXJyb3IgJiYgZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICB0aGlzLmdsb2JhbEVycm9ySGFuZGxlclNlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBkYXRlIHRpbWUgdG8gVVRDIGZvcm1hdFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkYXRlVGltZVxyXG4gICAqIEByZXR1cm4geyp9ICB7KHN0cmluZyB8IG51bGwpfVxyXG4gICAqIEBtZW1iZXJvZiBFdmVudHNBbmRNZWV0aW5nc1NlcnZpY2VcclxuICAgKi9cclxuICBjb252ZXJ0RGF0ZVRpbWVUb1VUQyhkYXRlVGltZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChkYXRlVGltZSkge1xyXG4gICAgICByZXR1cm4gbW9tZW50KGRhdGVUaW1lKS51dGModHJ1ZSkuZm9ybWF0KCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0ZVRpbWU7XHJcbiAgfVxyXG4gIC8qIEdldCB0aGUgZXZlbnQgZGV0YWlscyBmb3IgdGhlIGdpdmVuIGV2ZW50IGlkLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudElkXHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxFdmVudERldGFpbHNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50RGV0YWlscyhldmVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV2ZW50RGV0YWlsc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L21lZXRpbmdzL2V2ZW50LyR7ZXZlbnRJZH1gKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgdGhlIG1lZXRpbmcgZGV0YWlscyBmb3IgdGhlIGdpdmVuIG1lZXRpbmcgaWQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lZXRpbmdJZFxyXG4gICAqIEByZXR1cm4ge09ic2VydmFibGU8TWVldGluZ0RldGFpbHNSZXNwb25zZT59XHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldE1lZXRpbmdEZXRhaWxzKG1lZXRpbmdJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxNZWV0aW5nRGV0YWlsc1Jlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZVxyXG4gICAgICAuZ2V0RGF0YShgJHt0aGlzLmFwaUJhc2VVcmx9L21lZXRpbmdzL21lZXRpbmcvJHttZWV0aW5nSWR9YClcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgc2VsZWN0ZWQgbWVldGluZyBpZCBmcm9tIHRoZSBldmVudHMgYW5kIG1lZXRpbmcgZGV0YWlscyBwYWdlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZWV0aW5nSWRcclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2V0U2VsZWN0ZWRNZWV0aW5nSWQobWVldGluZ0lkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRNZWV0aW5nSWQgPSBtZWV0aW5nSWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybiB0aGUgc2VsZWN0ZWQgbWVldGluZyBpZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0U2VsZWN0ZWRNZWV0aW5nSWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE1lZXRpbmdJZDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2V0cyBpc1N0YW5kYWxvbmVNZWV0aW5nIGZsYWcgc3RhdHVzXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBpc1N0YW5kYWxvbmVNZWV0aW5nXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIHNldFN0YW5kYWxvbmVNZWV0aW5nU3RhdHVzKGlzU3RhbmRhbG9uZU1lZXRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuaXNTdGFuZGFsb25lTWVldGluZyA9IGlzU3RhbmRhbG9uZU1lZXRpbmc7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgaXNTdGFuZGFsb25lTWVldGluZyBmbGFnIHN0YXR1c1xyXG4gICAqIEByZXR1cm4geyp9ICB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgRXZlbnRzQW5kTWVldGluZ3NTZXJ2aWNlXHJcbiAgICovXHJcbiAgZ2V0U3RhbmRhbG9uZU1lZXRpbmdTdGF0dXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc1N0YW5kYWxvbmVNZWV0aW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyBFdmVudCBhbmQgTWVldGluZyBMaXN0IGZyb20gQVBJIGFuZCByZXR1cm5zIGl0IGFzIGFuIG9ic2VydmFibGUuXHJcbiAgICogQHBhcmFtIHtHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RQYXlsb2FkfSBwYXlsb2FkIHRvIGdldCBldmVudCBhbmQgbWVldGluZyBsaXN0XHJcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZTxHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RSZXNwb25zZT59IC1JdCByZXR1cm5zIExpc3Qgb2YgZXZlbnRzIGFuZCBtZWV0aW5ncyBpZiBzdWNjZXNzIGVsc2UgZXJyb3IuXHJcbiAgICogQG1lbWJlcm9mIEV2ZW50c0FuZE1lZXRpbmdzU2VydmljZVxyXG4gICAqL1xyXG4gIGdldEV2ZW50QW5kTWVldGluZ0xpc3QoXHJcbiAgICBwYXlsb2FkOiBHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RQYXlsb2FkXHJcbiAgKTogT2JzZXJ2YWJsZTxHZXRFdmVudHNBbmRNZWV0aW5nc0xpc3RSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2VcclxuICAgICAgLnBvc3REYXRhKGAke3RoaXMuYXBpQmFzZVVybH0vbWVldGluZ3MvZXZlbnRzQW5kTWVldGluZ3NgLCBwYXlsb2FkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB1c2VyIG1lZXRpbmcgcGVybWlzc2lvbnNcclxuICAgKiBAcGFyYW0ge0dyb3VwUGVybWlzc2lvbltdfSB1c2VyR3JvdXBQZXJtaXNzaW9uc1xyXG4gICAqIEBtZW1iZXJvZiBHcm91cHNTZXJ2aWNlXHJcbiAgICovXHJcbiAgc2V0VXNlck1lZXRpbmdQZXJtaXNzaW9ucyh1c2VyR3JvdXBQZXJtaXNzaW9uczogTWVldGluZ1Blcm1pc3Npb25zW10pIHtcclxuICAgIHRoaXMudXNlck1lZXRpbmdQZXJtaXNzaW9ucyA9IHVzZXJHcm91cFBlcm1pc3Npb25zO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -506,7 +506,7 @@ var viewEventsAndMeetings = {
506
506
  ]
507
507
  };
508
508
  var routeConfigPath = {
509
- createEventMeeting: "events-meetings/create-event-meeting"
509
+ createEventMeeting: "create-event-meeting"
510
510
  };
511
511
  var errors = {
512
512
  "4001": "Event Name is required.",
@@ -3377,7 +3377,7 @@ const EVENTS_MEETINGS_ROUTES = [
3377
3377
  component: EventsAndMeetingsComponent,
3378
3378
  },
3379
3379
  {
3380
- path: 'create-event-meeting',
3380
+ path: 'events-meetings/create-event-meeting',
3381
3381
  loadComponent: () => Promise.resolve().then(function () { return createModifyEventOrMeeting_component; }).then((m) => m.CreateModifyEventOrMeetingComponent),
3382
3382
  },
3383
3383
  {